/* =========================================================
   24samc — S Animal Medical Center content hub
   Native de-Elementor theme. Accent #FE8451, Roboto + Roboto Slab + Noto Sans KR.
   ========================================================= */

:root{
	--accent:#FE8451;
	--accent-d:#f2703a;
	--accent-2:#FFBC7D;
	--ink:#1b1b1b;
	--ink-2:#3a3a3a;
	--muted:#8a8a8a;
	--line:#ededed;
	--bg:#fff;
	--soft:#f7f6f4;
	--footer:#1c1f24;
	--sans:"Noto Sans KR","Roboto",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
	--latin:"Roboto","Noto Sans KR",sans-serif;
	--slab:"Roboto Slab","Noto Sans KR",serif;
	--wrap:1200px;
	--h:76px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);
	line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.3;font-weight:700}
p{margin:0}

.samc-container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.samc-eyebrow{font-family:var(--latin);letter-spacing:.16em;font-size:12px;font-weight:500;color:var(--accent);text-transform:uppercase;margin-bottom:10px}

/* ---------- Header ---------- */
.samc-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.samc-header__inner{display:flex;align-items:center;gap:24px;height:var(--h)}
.samc-logo img{height:34px;width:auto}
.samc-nav{margin-left:auto}
.samc-menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.samc-menu__item{position:relative}
.samc-menu__link{
	display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;
	font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink-2);
	padding:10px 14px;border-radius:8px;transition:color .15s,background .15s;
}
.samc-menu__link:hover,.samc-menu__link.is-current{color:var(--accent)}
.samc-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.samc-submenu{
	position:absolute;top:100%;left:0;min-width:230px;list-style:none;margin:6px 0 0;padding:8px;
	background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.1);
	opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;
}
.samc-menu__item.has-sub:hover .samc-submenu,.samc-menu__item.is-open .samc-submenu{opacity:1;visibility:visible;transform:none}
.samc-submenu a{display:block;padding:11px 14px;border-radius:8px;font-size:14.5px;color:var(--ink-2)}
.samc-submenu a:hover{background:var(--soft);color:var(--accent)}

/* mega menu (병원 소개) — full-width band under the header, like the Elementor mega menu */
.samc-menu__item.has-sub{position:static;height:var(--h);display:flex;align-items:center}
.samc-submenu--mega{
	left:0;right:0;top:100%;width:auto;min-width:0;margin:0;display:flex;justify-content:center;align-items:stretch;
	gap:20px;padding:30px 24px 34px;border:0;border-top:1px solid var(--line);border-radius:0 0 18px 18px;
	box-shadow:0 30px 50px rgba(0,0,0,.1);
}
.samc-submenu--mega li{display:flex}
.samc-submenu--mega a{padding:0;border-radius:0}
.samc-submenu--mega .samc-mega{display:flex;flex-direction:column;min-width:280px;padding:22px 26px;border-radius:12px;background:var(--soft);transition:background .15s}
.samc-mega:hover{background:#f0eeea}
.samc-mega__main{display:block}
.samc-mega em{display:block;font-style:normal;font-family:var(--latin);font-size:13px;font-weight:500;color:var(--ink);letter-spacing:.02em}
.samc-mega em i{font-style:normal;font-weight:800;font-size:20px;color:var(--accent)}
.samc-mega em i.samc-mega__alt{color:#b19040}
.samc-mega strong{display:block;font-size:18px;font-weight:700;color:var(--ink);margin-top:5px;line-height:1.3}
.samc-mega__main:hover strong,a.samc-mega:hover strong{color:var(--accent-d)}
.samc-mega__branches{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;margin-top:3px}
.samc-mega__branches a:hover{color:var(--accent-d);text-decoration:underline;text-underline-offset:2px}

.samc-header__actions{display:flex;align-items:center;gap:12px}
.samc-search-toggle{background:none;border:0;color:var(--ink-2);cursor:pointer;padding:6px;display:inline-flex;border-radius:8px}
.samc-search-toggle:hover{color:var(--accent)}
.samc-cta{
	display:inline-flex;align-items:center;background:var(--accent);color:#fff;font-weight:700;font-size:14.5px;
	padding:11px 20px;border-radius:999px;transition:background .15s,transform .15s;white-space:nowrap;
}
.samc-cta:hover{background:var(--accent-d);transform:translateY(-1px)}
.samc-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.samc-burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}

.samc-searchbar{max-height:0;overflow:hidden;transition:max-height .25s ease;border-top:0 solid var(--line)}
.samc-searchbar.is-open{max-height:80px;border-top:1px solid var(--line)}
.samc-searchbar form,.samc-searchbar{display:flex}
.samc-searchbar{display:flex;justify-content:center;gap:8px;padding:0 24px}
.samc-searchbar.is-open{padding:14px 24px}
.samc-searchbar input{flex:1;max-width:640px;border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-family:var(--sans);font-size:15px}
.samc-searchbar button{border:0;background:var(--ink);color:#fff;border-radius:10px;padding:0 22px;font-weight:600;cursor:pointer}

/* ---------- Hero ---------- */
.samc-hero{position:relative;background:#fbeee4;padding:0 0 56px}
.samc-hero__visual{margin:0;line-height:0}
.samc-hero__img{display:block;width:100%;height:auto}
.samc-hero__card{
	position:relative;z-index:3;max-width:992px;width:calc(100% - 48px);margin:-75px auto 0;
	background:#fff;border-radius:22px;padding:26px 28px;border:1px solid rgba(221,127,77,.14);
	box-shadow:0 26px 60px -22px rgba(150,86,44,.45),0 4px 14px rgba(150,86,44,.10);
}
.samc-hero__card-head{display:flex;align-items:center;gap:9px;margin-bottom:16px}
.samc-hero__card-title{font-size:19px;font-weight:800;color:#3f352e;letter-spacing:-.4px}
.samc-hero__form{display:flex;gap:12px}
.samc-hero__form input{
	flex:1;min-width:0;padding:16px 20px;border:1.5px solid #ecd9c9;border-radius:12px;
	font-family:var(--sans);font-size:15.5px;color:#463b34;background:#fdfaf7;outline:none;
	transition:border-color .15s,background .15s;
}
.samc-hero__form input::placeholder{color:#b9a795}
.samc-hero__form input:focus{border-color:#dd7f4d;background:#fff}
.samc-hero__form button{
	display:flex;align-items:center;gap:8px;padding:0 30px;border:0;border-radius:12px;
	background:linear-gradient(135deg,#eb9264,#dd7f4d);color:#fff;font-family:var(--sans);
	font-size:16px;font-weight:700;cursor:pointer;white-space:nowrap;
	box-shadow:0 6px 16px rgba(221,127,77,.32);transition:transform .15s,box-shadow .15s;
}
.samc-hero__form button:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(221,127,77,.4)}
.samc-hero__popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px}
.samc-hero__popular-label{font-size:12.5px;color:#a99a8d;font-weight:600}
.samc-hero__term{
	padding:5px 13px;border:1px solid #eeddce;border-radius:999px;background:#fff;
	font-size:12.5px;font-weight:600;color:#8a6f5c;transition:background .15s,border-color .15s;
}
.samc-hero__term:hover{background:#fdf1e7;border-color:#e6bd9c}

/* ---------- 진료 카테고리 (design handoff dept cards) ---------- */
.samc-catnav{padding:66px 24px 0}
.samc-catnav__head{display:flex;align-items:baseline;gap:11px;margin-bottom:26px}
.samc-catnav__head h2{font-size:26px;font-weight:800;color:#3f352e;letter-spacing:-.7px}
.samc-catnav__head span{font-size:13px;color:#ad9c8d;font-weight:600}
.samc-catnav__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.samc-catcard{
	display:flex;align-items:center;gap:18px;padding:26px 28px;
	background:#fff;border:1px solid #f2e7dc;border-radius:16px;
	box-shadow:0 4px 14px rgba(150,86,44,.05);
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
a.samc-catcard:hover{
	transform:translateY(-3px);border-color:#eb9264;
	box-shadow:0 14px 30px -14px rgba(221,127,77,.5);
}
.samc-catcard--soon{border-color:#efe6dd;opacity:.72}
.samc-catcard.is-active{
	border-color:#dd7f4d;transform:translateY(-2px);
	box-shadow:0 0 0 1px #dd7f4d,0 14px 30px -14px rgba(221,127,77,.5);
}
.samc-catcard__circle{
	width:56px;height:56px;flex-shrink:0;border-radius:50%;background:#f6e3da;
	display:flex;align-items:center;justify-content:center;
}
.samc-catcard__circle img{display:block;width:34px;height:auto;max-height:34px;object-fit:contain}
.samc-catcard__body{flex:1;min-width:0}
.samc-catcard__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.samc-catcard__name{font-size:16px;font-weight:800;color:#3f352e;letter-spacing:-.4px}
.samc-catcard__count{
	padding:2px 9px;border-radius:999px;background:#fbeadd;color:#c9773f;
	font-size:11px;font-weight:700;
}
.samc-catcard__count--soon{background:#efe9e3;color:#a08e7f}
.samc-catcard__detail{display:block;font-size:13px;color:#9a8677;margin-top:5px;line-height:1.5}

/* ---------- Cases / grid ---------- */
.samc-cases{padding:76px 24px 90px}
.samc-cases__head{text-align:center;margin-bottom:34px}
.samc-cases__title{font-size:32px;font-weight:700;letter-spacing:-.01em}
.samc-cases__lead{color:var(--muted);margin-top:12px;font-size:15px}

.samc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:40px}
.samc-chip{
	display:inline-flex;align-items:center;padding:9px 18px;border:1px solid var(--line);border-radius:999px;
	font-size:14px;font-weight:500;color:var(--ink-2);background:#fff;transition:.15s;
}
.samc-chip--soon{opacity:.45;cursor:default}

.samc-grid.is-loading{opacity:.45;pointer-events:none}
.samc-loadmore{display:flex;justify-content:center;margin-top:40px}
.samc-loadmore__btn{
	padding:13px 46px;border:1.5px solid #ecd9c9;border-radius:999px;background:#fff;
	color:#8a6f5c;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;
	transition:border-color .15s,color .15s,background .15s;
}
.samc-loadmore__btn:hover{border-color:#dd7f4d;color:#c9773f;background:#fdf1e7}
.samc-loadmore__btn[hidden]{display:none}
.samc-loadmore__btn:disabled{opacity:.55;cursor:wait}
.samc-chip:hover{border-color:var(--accent);color:var(--accent)}
.samc-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}

/* search-results search bar — slim version of the hero card form */
.samc-research{display:flex;gap:10px;max-width:560px;margin:0 auto 40px}
.samc-research input{
	flex:1;min-width:0;padding:13px 18px;border:1.5px solid #ecd9c9;border-radius:11px;
	font-family:var(--sans);font-size:15px;color:#463b34;background:#fdfaf7;outline:none;
	transition:border-color .15s,background .15s;
}
.samc-research input:focus{border-color:#dd7f4d;background:#fff}
.samc-research button{
	padding:0 26px;border:0;border-radius:11px;background:linear-gradient(135deg,#eb9264,#dd7f4d);
	color:#fff;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;
	box-shadow:0 5px 14px rgba(221,127,77,.28);
}

.samc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}

.samc-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.samc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.09)}
.samc-card__link{display:flex;flex-direction:column;height:100%}
.samc-card__media{position:relative;aspect-ratio:1/1;background:var(--soft);overflow:hidden}
.samc-card__img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.samc-card:hover .samc-card__img{transform:scale(1.05)}
.samc-card__img--empty{display:block}
.samc-card__badge{
	position:absolute;left:14px;top:14px;background:rgba(28,31,36,.82);color:#fff;
	font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(2px);
}
.samc-card__body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.samc-card__title{
	font-size:17px;font-weight:600;line-height:1.5;color:var(--ink);
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.samc-card:hover .samc-card__title{color:var(--accent-d)}
.samc-card__meta{margin-top:auto;color:var(--muted);font-size:13px;font-family:var(--latin)}

/* ---------- Pagination ---------- */
.samc-pagination{display:flex;justify-content:center;gap:8px;margin-top:56px;font-family:var(--slab)}
.samc-pagination .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 10px;
	border-radius:10px;color:var(--ink-2);font-size:15px;transition:.15s;
}
.samc-pagination a.page-numbers:hover{color:var(--accent)}
.samc-pagination .page-numbers.current{color:var(--accent);font-weight:700}
.samc-pagination .page-numbers.dots{min-width:auto}

/* ---------- Single ---------- */
.samc-single{padding:0 0 20px}
.samc-single__band{background:var(--accent);padding:56px 24px;text-align:center}
.samc-single__title{max-width:900px;margin:0 auto;font-size:32px;font-weight:700;line-height:1.5;letter-spacing:-.01em;color:#fff}
.samc-single__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start;padding-top:44px}
.samc-single__meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}
.samc-single__meta a:hover{color:var(--accent)}
.samc-single__hero{margin:24px 0 0}
.samc-single__hero img{width:100%;border-radius:18px}

/* sidebar (더 보기) */
.samc-sidebar__card{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:26px 22px}
.samc-sidebar__title{font-size:18px;font-weight:700;padding-bottom:12px;border-bottom:2px solid var(--accent);margin-bottom:18px}
.samc-sidebar__cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.samc-sidebar__cats a{padding:7px 14px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:500;color:var(--ink-2);transition:.15s}
.samc-sidebar__cats a:hover{color:var(--accent);border-color:var(--accent)}
.samc-sidebar__posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.samc-sidebar__post{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:box-shadow .15s}
.samc-sidebar__post:hover{box-shadow:0 8px 22px rgba(0,0,0,.07)}
.samc-sidebar__post a{display:flex;align-items:center;gap:14px;padding:12px}
.samc-sidebar__thumb{width:92px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--line)}
.samc-sidebar__ptitle{font-size:14px;line-height:1.5;font-weight:500;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.samc-sidebar__post a:hover .samc-sidebar__ptitle{color:var(--accent-d)}

/* entry typography */
.samc-entry{font-size:17px;line-height:1.85;color:var(--ink-2);margin-top:40px}
.samc-entry > *{margin:0 0 22px}
.samc-entry h2{font-size:25px;font-weight:700;color:var(--ink);margin:48px 0 18px;padding-bottom:12px;border-bottom:2px solid var(--line);line-height:1.4}
.samc-entry h3{font-size:20px;font-weight:700;color:var(--ink);margin:36px 0 14px}
.samc-entry h4{font-size:17px;font-weight:700;color:var(--ink);margin:28px 0 12px}
.samc-entry img{border-radius:12px;margin:8px auto}
.samc-entry figure{margin:24px 0}
.samc-entry figcaption{text-align:center;color:var(--muted);font-size:13px;margin-top:8px}
.samc-entry a{color:var(--accent-d);text-decoration:underline;text-underline-offset:2px}
.samc-entry ul,.samc-entry ol{padding-left:1.3em}
.samc-entry li{margin:0 0 8px}
.samc-entry blockquote{margin:24px 0;padding:18px 22px;background:var(--soft);border-left:4px solid var(--accent);border-radius:8px;color:var(--ink)}
.samc-entry table{width:100%;border-collapse:collapse;font-size:15px;margin:24px 0;display:block;overflow-x:auto}
.samc-entry th,.samc-entry td{border:1px solid var(--line);padding:11px 14px;text-align:left}
.samc-entry th{background:var(--soft);font-weight:600}
.samc-entry hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.samc-entry iframe{max-width:100%;border-radius:12px}

.samc-single__cta{margin:52px 0 10px;padding:34px;background:var(--soft);border-radius:18px;text-align:center}
.samc-single__cta p{font-size:18px;font-weight:600;margin-bottom:18px}

.samc-related{padding:64px 24px 90px;border-top:1px solid var(--line);margin-top:56px}

.samc-empty{text-align:center;color:var(--muted);padding:60px 0}

/* ---------- Footer ---------- */
.samc-footer{background:var(--footer);color:#c9ccd1;margin-top:0}
.samc-footer__inner{display:grid;grid-template-columns:1fr 2fr;gap:56px;padding-top:64px;padding-bottom:56px}
.samc-footer__brand img{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.92}
.samc-footer__tag{margin:20px 0 22px;font-size:14px;line-height:1.7;color:#9aa0a8}
.samc-footer__kakao{display:inline-flex;align-items:center;background:#FEE500;color:#3a1d1d;font-weight:700;font-size:14px;padding:11px 20px;border-radius:10px}
.samc-footer__hours{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.samc-hours__title{font-size:16px;font-weight:700;color:#fff;margin-bottom:12px}
.samc-hours__note{font-size:12.5px;color:#8b9098;line-height:1.6;margin-bottom:14px}
.samc-hours__list{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}
.samc-hours__list dt{color:#9aa0a8;white-space:nowrap}
.samc-hours__list dd{margin:0;color:#dfe2e6}
.samc-footer__bar{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;font-size:12.5px;color:#7d828a}

/* ---------- Floating reserve ---------- */
.samc-float{
	position:fixed;right:22px;bottom:22px;z-index:90;width:56px;height:56px;border-radius:50%;
	background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
	box-shadow:0 10px 26px rgba(254,132,81,.45);transition:transform .15s;
}
.samc-float:hover{transform:translateY(-3px)}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
	.samc-grid{grid-template-columns:repeat(2,1fr);gap:22px}
	.samc-catnav__grid{grid-template-columns:repeat(2,1fr)}
	.samc-single__layout{grid-template-columns:1fr;gap:44px}
	.samc-footer__inner{grid-template-columns:1fr;gap:40px}
}
@media(max-width:767px){
	body{font-size:15px}
	.samc-nav,.samc-cta{display:none}
	.samc-burger{display:flex}
	.samc-header__actions{gap:6px;margin-left:auto}
	.samc-nav.is-open{
		display:block;position:absolute;top:var(--h);left:0;right:0;background:#fff;
		border-bottom:1px solid var(--line);padding:10px 16px 18px;box-shadow:0 20px 40px rgba(0,0,0,.08)
	}
	.samc-nav.is-open .samc-menu{flex-direction:column;align-items:stretch;gap:2px}
	.samc-nav.is-open .samc-submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 4px 12px}
	.samc-menu__item.has-sub{height:auto;display:block}
	.samc-nav.is-open .samc-submenu--mega{position:static;flex-direction:column;width:auto;gap:8px;padding:8px 0 8px 12px;box-shadow:none;border:0}
	.samc-nav.is-open .samc-submenu--mega li{display:block}
	.samc-nav.is-open .samc-mega{min-width:0;padding:14px 16px}
	.samc-hero{padding:0 0 40px}
	.samc-hero__img{height:175px;object-fit:cover}
	.samc-hero__card{width:calc(100% - 32px);margin-top:-46px;padding:20px 18px;border-radius:18px}
	.samc-hero__card-title{font-size:16.5px}
	.samc-hero__form{flex-direction:column;gap:10px}
	.samc-hero__form input{padding:13px 16px;font-size:15px}
	.samc-hero__form button{justify-content:center;padding:13px 0}
	.samc-cases{padding:44px 20px 60px}
	.samc-cases__title{font-size:24px}
	.samc-catnav{padding:44px 20px 0}
	.samc-catnav__head{flex-direction:column;gap:5px;margin-bottom:18px}
	.samc-catnav__head h2{font-size:22px}
	.samc-catnav__grid{grid-template-columns:repeat(3,1fr);gap:10px}
	.samc-catcard{flex-direction:column;gap:10px;padding:16px 8px 14px;text-align:center}
	.samc-catcard__circle{width:46px;height:46px}
	.samc-catcard__circle img{width:26px;max-height:26px}
	.samc-catcard__row{flex-direction:column;align-items:center;gap:5px}
	.samc-catcard__name{font-size:13.5px;letter-spacing:-.3px}
	.samc-catcard__count{font-size:10px;padding:2px 8px}
	.samc-catcard__detail{display:none}
	.samc-grid{grid-template-columns:1fr;gap:20px}
	.samc-chips{margin-bottom:28px;gap:8px}
	.samc-chip{padding:8px 15px;font-size:13px}
	.samc-single__band{padding:34px 20px}
	.samc-single__title{font-size:22px}
	.samc-single__layout{padding-top:30px;gap:36px}
	.samc-entry{font-size:16px}
	.samc-entry h2{font-size:21px}
	.samc-footer__hours{grid-template-columns:1fr;gap:28px}
}
