@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@500;600;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');

:root{
  --ink:#201c14;
  --paper:#eef1e7;
  --paper-2:#e2e7d6;
  --paper-3:#dbe1cd;
  --pine:#1f3a2e;
  --pine-2:#16281f;
  --sage:#6b8068;
  --sage-text:#4c5f49; /* darker sage for small/body text — passes WCAG AA contrast on paper backgrounds */
  --amber:#b8752e;
  --amber-deep:#8f5a1f;
  --line: rgba(32,28,20,0.16);
  --line-strong: rgba(32,28,20,0.32);
  --serif: 'Noto Serif KR', serif;
  --sans: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.75;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
  overflow-wrap:break-word;
}
h1,h2,h3,h4,p,li{word-break:keep-all; text-wrap:pretty;}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}

.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
@media(max-width:640px){.wrap{padding:0 44px;}}
.prose{max-width:640px;}

h1,h2,h3,h4{font-family:var(--serif); font-weight:600; color:var(--pine-2); letter-spacing:-0.01em;}
h1{font-size:clamp(2.1rem, 4.6vw, 3.2rem); line-height:1.28;}
h2{font-size:clamp(1.6rem, 3vw, 2.2rem); line-height:1.36;}
h3{font-size:1.28rem; line-height:1.42;}
h4{font-size:1.05rem; font-weight:600;}
p{color:#3a352a;}

/* ---------- divider mark ---------- */
.mark-divider{
  display:flex; align-items:center; gap:14px; margin:0 0 20px;
}
.mark-divider .line{flex:1; height:1px; background:var(--line-strong);}
.mark-divider .dot{width:6px; height:6px; border-radius:50%; background:var(--amber);}
.kicker{
  font-size:0.82rem; color:var(--sage-text); font-weight:600; letter-spacing:0.05em; margin-bottom:10px;
  display:inline-flex; align-items:center; gap:8px;
}
.kicker::before{content:''; width:16px; height:1px; background:var(--amber);}

/* ---------- header / nav ---------- */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(238,241,231,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease;
}
header.is-scrolled{box-shadow:0 8px 24px rgba(22,40,31,0.10);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0; position:relative;}
.brand{font-family:var(--serif); font-weight:700; font-size:1.1rem; color:var(--pine-2); display:inline-flex; align-items:center;}
.brand span{color:var(--amber);}
.brand-img{height:48px; width:auto; display:block;}
footer .brand-img{height:44px;}
@media(max-width:900px){.brand-img{height:38px;} footer .brand-img{height:38px;}}
.nav-links{display:flex; align-items:center; gap:18px; font-size:0.88rem;}
.nav-links > li{position:relative;}
.nav-links a.top-link{
  padding:6px 0; color:#3a352a; transition:color .2s ease; display:inline-block; position:relative;
}
.nav-links a.top-link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--pine);
  transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
.nav-links a.top-link:hover::after, .nav-links li.active > a.top-link::after{transform:scaleX(1);}
.nav-links li.active > a.top-link{color:var(--pine-2);}

.has-dropdown > .top-link::before{
  content:""; display:inline-block; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor;
  transform:rotate(45deg); margin-left:6px; position:relative; top:-2px;
}
.dropdown{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(6px);
  background:var(--paper); border:1px solid var(--line); min-width:190px;
  box-shadow:0 12px 28px rgba(22,40,31,0.12);
  opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
  padding:8px 0;
}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{
  opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.dropdown a{display:block; padding:11px 20px; font-size:0.92rem; color:#3a352a; transition:background .15s ease, color .15s ease;}
.dropdown a:hover{background:var(--paper-2); color:var(--pine-2);}

.nav-cta{
  border:1px solid var(--pine-2); padding:9px 18px; border-radius:2px; font-size:0.9rem;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; white-space:nowrap;
}
.nav-cta:hover{background:var(--pine-2); color:var(--paper); box-shadow:0 8px 18px rgba(22,40,31,0.22); transform:translateY(-1px);}
.menu-btn{display:none; background:none; border:none; font-size:1.4rem; color:var(--pine-2); cursor:pointer;}

@media (max-width: 900px){
  .nav-links{
    position:fixed; inset:64px 0 0 0; background:var(--paper);
    flex-direction:column; align-items:flex-start; gap:0; overflow-y:auto;
    padding:10px 28px 40px; transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav-links.open{opacity:1; transform:translateY(0); pointer-events:auto;}
  .nav-links > li{width:100%;}
  .nav-links a.top-link{width:100%; padding:16px 0; border-bottom:1px solid var(--line);}
  .dropdown{
    position:static; opacity:1; pointer-events:auto; transform:none; border:none; box-shadow:none;
    display:none; padding:0 0 8px 14px; background:transparent;
  }
  .has-dropdown.open .dropdown{display:block;}
  .dropdown a{padding:12px 0; border-bottom:none;}
  .nav-cta{display:none;}
  .menu-btn{display:block;}
}

/* ---------- buttons ---------- */
.btn-primary, .btn-ghost, .btn-naver, .btn-kakao{
  padding:14px 26px; font-size:0.95rem; border-radius:2px; display:inline-block;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--pine-2); color:var(--paper); border:1px solid var(--pine-2);}
.btn-primary:hover{background:var(--amber-deep); border-color:var(--amber-deep);}
.btn-ghost{border:1px solid var(--line-strong); color:var(--ink);}
.btn-ghost:hover{border-color:var(--pine-2); color:var(--pine-2);}
.btn-naver{background:#03C75A; color:#fff; border:1px solid #03C75A;}
.btn-naver:hover{background:#02a94c; border-color:#02a94c;}
.btn-kakao{background:#F5B301; color:#fff; border:1px solid #F5B301;}
.btn-kakao:hover{background:#dd9f00; border-color:#dd9f00;}

/* ---------- page banner (for subpages) ---------- */
.page-banner{
  padding:64px 0 52px; border-bottom:1px solid var(--line); background:var(--paper-2);
  position:relative; overflow:hidden;
}
.page-banner::after{
  content:''; position:absolute; top:50%; right:16%; transform:translateY(-50%);
  width:200px; height:200px; background:url('assets/logo-stamp.png') no-repeat center/contain;
  opacity:0.07; pointer-events:none;
}
@media(max-width:1200px){.page-banner::after{right:10%; width:170px; height:170px;}}
@media(max-width:700px){.page-banner::after{width:112px; height:112px; right:4%; opacity:.06;}}
.page-banner .kicker{margin-bottom:14px;}
.page-banner p.lead{max-width:600px; margin-top:16px; font-size:1.02rem;}
.crumb{font-size:0.85rem; color:var(--sage-text); margin-bottom:18px;}
.crumb a{color:var(--sage-text);}
.crumb a:hover{color:var(--pine);}

/* ---------- section shell ---------- */
section{padding:80px 0;}
.section-head{max-width:600px; margin-bottom:46px;}
.section-head p{margin-top:14px; font-size:1.02rem;}
.alt{background:var(--paper-2);}

/* ---------- home hero ---------- */
.hero{padding:92px 0 78px; display:grid; grid-template-columns:1.02fr 0.98fr; gap:64px; align-items:center;}
.hero h1 span.hl{color:var(--amber);}
.hero-title span{display:block;}
.hero-title em{font-style:normal; color:var(--amber);}
.hero-title{letter-spacing:-0.035em;}
.hero p.lead{font-size:1.05rem; color:#4a4536; margin-top:22px; max-width:520px;}
.hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
.hero-visual{min-width:0;}
.hero-image-wrap{position:relative; aspect-ratio:1.12/1; overflow:hidden; border:1px solid var(--line-strong); background:var(--paper-2); box-shadow:18px 18px 0 rgba(31,58,46,.07);}
.hero-image-wrap img{width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.86) contrast(.98);}
.hero-image-wrap::after{content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.48); pointer-events:none;}
.hero-image-caption{position:absolute; left:24px; bottom:22px; z-index:2; color:#fff; text-shadow:0 2px 14px rgba(0,0,0,.28);}
.hero-image-caption span{display:block; font-size:.68rem; letter-spacing:.2em; margin-bottom:5px; opacity:.9;}
.hero-image-caption strong{font-family:var(--serif); font-size:1rem; font-weight:600;}
@media (max-width: 820px){
  .hero{grid-template-columns:1fr; padding:58px 0 50px; gap:42px;}
  .hero-image-wrap{max-width:520px; margin:0 auto;}
}
.reveal{opacity:0; transform:translateY(14px); animation:rise .8s ease forwards;}
.reveal.d1{animation-delay:.12s;}
.reveal.d2{animation-delay:.26s;}
@keyframes rise{to{opacity:1; transform:translateY(0);}}

/* ---------- trust band ---------- */
.trust{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:40px 0;}
.trust .wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.trust-item h4{margin-bottom:8px;}
.trust-item p{font-size:0.94rem;}
@media (max-width:720px){.trust .wrap{grid-template-columns:1fr; gap:26px;}}

/* ---------- clinic cards on home ---------- */
.clinic-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-strong); border:1px solid var(--line-strong);}
.clinic-card{background:var(--paper); padding:34px 30px; transition:background .2s ease, transform .28s ease, box-shadow .28s ease;}
.clinic-card:hover{background:var(--paper-2); transform:translateY(-5px); box-shadow:0 18px 34px rgba(22,40,31,0.12);}
.clinic-card .num{font-family:var(--serif); color:var(--amber); font-size:0.95rem; margin-bottom:14px; display:block;}
.clinic-card svg{width:34px; height:34px; stroke:var(--pine); fill:none; stroke-width:1.4; margin-bottom:16px;}
.clinic-card h3{font-size:1.15rem; margin-bottom:10px;}
.clinic-card p{font-size:0.9rem; margin-bottom:16px;}
.clinic-card .goto{font-size:0.86rem; color:var(--pine); border-bottom:1px solid var(--pine); padding-bottom:2px;}
@media (max-width:860px){.clinic-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.clinic-grid{grid-template-columns:1fr;}}

/* ---------- 진단 장비 (초음파·비내시경·혈액검사·맥진) ---------- */
.diag-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-strong); border:1px solid var(--line-strong);}
.diag-card{background:var(--paper); display:flex; flex-direction:column; margin:0;}
.diag-card .diag-img-wrap{position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--paper-3);}
.diag-card .diag-img-wrap img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.diag-card:hover .diag-img-wrap img{transform:scale(1.045);}
.diag-card .diag-tag{position:absolute; left:12px; top:12px; background:rgba(22,40,31,0.82); color:var(--paper); font-size:.72rem; font-weight:600; letter-spacing:.02em; padding:5px 10px; border-radius:2px;}
.diag-card figcaption{padding:22px 22px 28px; flex:1;}
.diag-card h4{font-size:1.02rem; margin-bottom:8px; color:var(--pine-2);}
.diag-card p{font-size:.85rem; line-height:1.7; color:#4a4536; margin:0;}
@media (max-width:860px){.diag-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.diag-grid{grid-template-columns:1fr;}}

/* ---------- clinic detail page ---------- */
.detail-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.detail-icon{width:88px; height:88px; padding:18px; box-sizing:border-box; border-radius:50%; background:var(--paper); border:1px solid var(--line); stroke:var(--pine); fill:none; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; margin-bottom:22px;}
.symptom-list li{padding:8px 0 8px 18px; position:relative; font-size:0.97rem; border-bottom:1px dashed var(--line);}
.symptom-list li::before{content:"·"; position:absolute; left:0; color:var(--amber); font-weight:700;}
.cause-block{border-left:2px solid var(--pine); padding-left:22px;}
.cause-block h4{margin-bottom:10px;}
.cause-block p{font-size:0.96rem; margin-bottom:20px;}
@media (max-width:820px){.detail-grid{grid-template-columns:1fr;}}

.mini-faq .faq-item{border-top:1px solid var(--line); padding:24px 0;}
.mini-faq .faq-item:last-child{border-bottom:1px solid var(--line);}
.mini-faq h4{margin-bottom:8px; font-family:var(--sans); color:var(--pine-2);}
.mini-faq p{font-size:0.94rem;}

.other-clinics{display:flex; gap:14px; flex-wrap:wrap;}
.other-clinics a{
  border:1px solid var(--line-strong); padding:10px 18px; font-size:0.88rem; border-radius:2px;
  transition:border-color .18s ease, color .18s ease;
}
.other-clinics a:hover{border-color:var(--pine-2); color:var(--pine-2);}

/* ---------- process ---------- */
.process-list{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
.step{border-top:2px solid var(--pine-2); padding-top:18px;}
.step .num{font-family:var(--serif); font-size:1.6rem; color:var(--amber); display:block; margin-bottom:10px;}
.step h4{margin-bottom:8px;}
.step p{font-size:0.92rem;}
@media (max-width:860px){.process-list{grid-template-columns:1fr 1fr; row-gap:36px;}}
@media (max-width:520px){.process-list{grid-template-columns:1fr;}}

/* ---------- director page ---------- */
.director{display:grid; grid-template-columns:0.7fr 1.3fr; gap:56px; align-items:start;}
.director-mark{
  aspect-ratio:3/4; border:1px solid var(--line-strong); background:var(--paper-2);
  display:flex; align-items:center; justify-content:center;
}
.director-mark svg{width:44%; stroke:var(--pine); fill:none; stroke-width:1.1;}
.director .prose p{margin-bottom:16px;}
.philosophy-list{margin-top:10px;}
.philosophy-list li{padding:16px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:120px 1fr; gap:20px;}
.philosophy-list li:last-child{border-bottom:1px solid var(--line);}
.philosophy-list .t{font-weight:600; color:var(--pine-2); font-size:0.95rem;}
.philosophy-list .d{font-size:0.94rem;}
@media (max-width:820px){.director{grid-template-columns:1fr;} .director-mark{max-width:240px;} .philosophy-list li{grid-template-columns:1fr; gap:6px;}}

/* ---------- faq ---------- */
.faq-item{border-top:1px solid var(--line); padding:26px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item h4{font-size:1.05rem; margin-bottom:10px; color:var(--pine-2);}
.faq-item p{font-size:0.95rem;}

/* ---------- visit ---------- */
.visit{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.visit-actions{display:flex; gap:12px; margin-bottom:8px;}
.visit-actions a{
  flex:1 1 0; text-align:center; white-space:normal; line-height:1.3;
  padding:16px 10px; font-size:0.92rem;
}
@media (max-width:640px){
  .visit-actions{gap:7px;}
  .visit-actions a{padding:12px 5px; font-size:0.74rem;}
}
@media (max-width:360px){
  .visit-actions a{padding:10px 3px; font-size:0.68rem;}
}
.info-row{display:flex; gap:18px; padding:16px 0; border-top:1px solid var(--line);}
.info-row:last-child{border-bottom:1px solid var(--line);}
.info-row .k{width:76px; flex-shrink:0; font-size:0.88rem; color:var(--sage-text); font-weight:600; padding-top:2px;}
.info-row .v{font-size:0.96rem;}
.map-box{
  border:1px solid var(--line-strong); background:var(--paper-2); min-height:280px;
  display:flex; align-items:center; justify-content:center; font-size:0.9rem; color:#5c5646;
  text-align:center; padding:20px;
}
@media (max-width:820px){.visit{grid-template-columns:1fr;}}

/* ---------- journal (처방일지) ---------- */
.journal-toolbar{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
.filter-btn{
  border:1px solid var(--line-strong); padding:8px 16px; font-size:0.86rem; border-radius:20px;
  background:transparent; cursor:pointer; transition:background .18s ease, color .18s ease, border-color .18s ease;
  color:var(--ink); font-family:var(--sans);
}
.filter-btn.active, .filter-btn:hover{background:var(--pine-2); color:var(--paper); border-color:var(--pine-2);}

.journal-list{border-top:1px solid var(--line-strong);}
.journal-entry{border-bottom:1px solid var(--line); padding:28px 0; cursor:pointer;}
.journal-entry-head{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap;}
.journal-entry-head .meta{display:flex; align-items:center; gap:12px; font-size:0.82rem; color:var(--sage-text); font-weight:600;}
.journal-entry-head .tag{
  border:1px solid var(--sage); color:var(--sage-text); padding:3px 10px; border-radius:20px; font-size:0.76rem;
}
.journal-entry h3{font-size:1.1rem; margin-top:10px; transition:color .15s ease;}
.journal-entry:hover h3{color:var(--amber-deep);}
.journal-entry .excerpt{font-size:0.94rem; margin-top:8px; color:#4a4536;}
.journal-entry .full{
  display:none; margin-top:20px; padding-top:20px; border-top:1px dashed var(--line); font-size:0.95rem;
}
.journal-entry .full dl{display:grid; grid-template-columns:110px 1fr; row-gap:12px; column-gap:16px; margin-bottom:16px;}
.journal-entry .full dt{color:var(--sage-text); font-weight:600; font-size:0.88rem;}
.journal-entry .full dd{font-size:0.94rem;}
.journal-entry.open .full{display:block;}
.journal-entry .toggle-label{font-size:0.85rem; color:var(--pine); margin-top:14px; display:inline-block;}
.journal-empty{padding:60px 0; text-align:center; color:var(--sage-text);}
.journal-note{
  border:1px solid var(--line-strong); background:var(--paper-2); padding:20px 24px; font-size:0.88rem;
  color:#4a4536; margin-bottom:40px;
}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-strong); padding:44px 0; background:var(--pine-2); color:var(--paper);}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px;}
footer .brand{color:var(--paper);}
footer .brand span{color:#d9a969;}
footer p{color:rgba(238,241,231,0.7); font-size:0.86rem;}
.tel-nowrap{white-space:nowrap;}
footer .footer-slogan{margin-top:12px; font-family:var(--serif); font-style:italic; font-size:0.92rem; color:#d9a969; line-height:1.7; max-width:420px;}
footer .foot-links{display:flex; gap:18px; font-size:0.86rem; flex-wrap:wrap;}
footer .foot-links a{color:rgba(238,241,231,0.85); transition:color .15s ease;}
footer .foot-links a:hover{color:#d9a969;}

/* ---------- clinic navigation: individual top-level menus ---------- */
.nav-links{gap:12px;}
.nav-links > li > a.top-link{white-space:nowrap;}
.hero-art{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;}
.hero-art-label{font-size:.72rem; letter-spacing:.18em; color:var(--sage-text); font-weight:600;}
.hero-art svg{width:min(88%,360px); height:auto; overflow:visible;}
.hero-ring{fill:none; stroke:var(--line-strong); stroke-width:1;}
.hero-line{fill:none; stroke:var(--pine); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round;}
.hero-accent{fill:none; stroke:var(--amber); stroke-width:1.2; stroke-linecap:round;}
.hero-node{fill:var(--amber); opacity:.9;}
.hero-connection{fill:none; stroke:var(--sage); stroke-width:1; stroke-dasharray:3 5;}
.hero-art p{font-size:.78rem; color:var(--sage-text); letter-spacing:.02em;}
.career-box{margin-top:28px; border:1px solid var(--line-strong); background:var(--paper-2); padding:24px 26px;}
.career-box h3{margin-bottom:14px;}
.career-box ul{display:grid; gap:9px;}
.career-box li{position:relative; padding-left:16px; color:#3a352a;}
.career-box li::before{content:""; position:absolute; left:0; top:.78em; width:5px; height:5px; border-radius:50%; background:var(--amber);}
@media (max-width:1050px){.nav-links{gap:9px; font-size:.9rem;}}
@media (max-width:900px){.nav-links{gap:0;}.hero-art svg{width:75%;}}


/* ---------- refined brand system ---------- */
::selection{background:var(--pine); color:var(--paper);}
.nav{min-height:72px;}
.nav-links > li > a.top-link{letter-spacing:-.025em;}
section{padding:88px 0;}
.section-head{max-width:700px;}
.clinic-card{min-height:238px; padding:36px 32px;}
.clinic-card h3{letter-spacing:-.03em;}

/* ---------- director gallery ---------- */
.director-page{grid-template-columns:1.02fr .98fr; gap:70px; align-items:start;}
/* 원장 소개 · 사진을 위아래로 크게 배치 */
.director-gallery{display:flex;flex-direction:column;gap:34px;align-items:stretch;max-width:900px;}
.director-gallery figure{margin:0;background:var(--paper-2);border:1px solid var(--line-strong);overflow:hidden;}
.director-profile-card,.director-news-card{margin:0 !important;}
.director-gallery img{width:100%;height:auto;display:block;object-fit:contain;object-position:center;background:#fff;}
.director-profile-card img{aspect-ratio:auto;max-height:none;}
.director-news-card img{aspect-ratio:auto;max-height:none;}
.director-gallery figcaption{padding:13px 16px 15px;font-size:.78rem;color:var(--sage-text);letter-spacing:.01em;line-height:1.6;}
.director-name-row{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--line-strong);}
.director-name{font-size:1.5rem; margin:0;}
.director-role{font-size:.85rem; color:var(--sage-text); letter-spacing:.02em;}
@media(max-width:820px){.director-gallery{max-width:100%;gap:24px;}.director-gallery img{width:100%;height:auto;}.director-profile-card img,.director-news-card img{aspect-ratio:auto;object-fit:contain;}}
/* 원장 소개 모바일 버그 수정: .director-page가 .director보다 CSS에서 나중에 선언되어
   모바일에서도 2단 그리드(1.02fr .98fr)가 그대로 유지되며 글자/사진이 눌리는 문제가 있었음.
   아래에서 명시적으로 1단으로 재정의. */
@media(max-width:820px){
  .director-page{grid-template-columns:1fr; gap:36px;}
  .director-copy{max-width:100%;}
}
@media(max-width:480px){
  .director-gallery figcaption{font-size:.74rem; padding:11px 14px 13px;}
}

/* 처방일지 · 블로그형 */
.journal-intro-blog{align-items:flex-end;padding-bottom:10px;border-bottom:1px solid var(--line);}
.journal-subtitle{font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin:0 0 7px;}
.journal-subcopy{font-size:.88rem;color:var(--sage-text);margin:0;}
.journal-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 34px;flex-wrap:wrap;}
.journal-tools .journal-toolbar{margin:0;}
.journal-search{display:flex;align-items:center;gap:10px;color:var(--sage-text);font-size:.78rem;font-weight:600;}
.journal-search input{width:230px;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:8px 2px;font:inherit;color:var(--ink);outline:none;}
.journal-search input:focus{border-color:var(--pine);}
.journal-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px;}
.journal-blog-card{display:block;color:inherit;text-decoration:none;background:var(--paper);border:1px solid var(--line);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;min-width:0;overflow:hidden;}
.journal-blog-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(22,40,31,.09);border-color:var(--pine);}
.journal-blog-image{position:relative;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;}
.journal-blog-image img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .35s ease;}
.journal-blog-card:hover .journal-blog-image img{transform:scale(1.025);}
.journal-image-label{position:absolute;left:16px;bottom:15px;padding:7px 11px;background:rgba(25,39,32,.86);color:#fff;font-family:var(--serif);font-size:.92rem;letter-spacing:.02em;}
.journal-no-image{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--sage-text);font-family:var(--serif);letter-spacing:.08em;line-height:1.8;font-size:.82rem;}
.journal-blog-body{padding:18px 19px 22px;}
.journal-blog-body h2{font-family:var(--serif);font-size:1.22rem;line-height:1.5;margin:10px 0 8px;}
.journal-blog-body>p{font-size:.88rem;color:#575145;line-height:1.75;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.journal-read{display:inline-block;margin-top:17px;color:var(--pine);font-size:.72rem;letter-spacing:.1em;font-weight:700;}
.journal-read span{margin-left:5px;transition:margin .2s ease;}
.journal-blog-card:hover .journal-read span{margin-left:9px;}

/* 개별 글 */
.post-article{max-width:900px;}
.post-content{font-size:1rem;line-height:2;color:#3e392f;}
.post-content>p{margin:0 0 1.35em;}
.post-content h3{font-family:var(--serif);font-size:1.45rem;line-height:1.5;margin:1.8em 0 .7em;color:var(--ink);}
.post-figure{margin:0 0 34px;}
.post-image-wrap{position:relative;display:block;overflow:hidden;background:var(--paper-2);}
.post-image-wrap img{width:100%;height:auto;display:block;max-height:720px;object-fit:contain;}
.post-image-wrap figcaption{position:absolute;left:18px;bottom:18px;background:rgba(25,39,32,.88);color:#fff;padding:8px 13px;font-family:var(--serif);font-size:1rem;line-height:1.3;}
.post-bottom{margin-top:60px;padding-top:24px;border-top:1px solid var(--line);}
.post-bottom a{color:var(--pine);font-size:.9rem;}

/* 관리자 글쓰기 */
.admin-blog-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:48px;align-items:start;}
.admin-blog-form{gap:16px;}
.field-note{font-weight:400;color:var(--sage-text);font-size:.75rem;margin-left:5px;}
.editor-label{font-size:.9rem;color:var(--sage-text);font-weight:600;margin-top:4px;}
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-top:-8px;}
.editor-toolbar button{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);padding:8px 11px;cursor:pointer;font-family:var(--sans);font-size:.8rem;}
.editor-toolbar button:hover{border-color:var(--pine);color:var(--pine);}
.rich-editor{min-height:460px;border:1px solid var(--line-strong);background:var(--paper);padding:24px;outline:none;font-size:1rem;line-height:1.9;color:#3e392f;}
.rich-editor:empty:before{content:attr(data-placeholder);color:#aaa394;pointer-events:none;}
.rich-editor:focus{border-color:var(--pine);box-shadow:0 0 0 2px rgba(31,58,46,.07);}
.rich-editor p{margin:0 0 1em;}
.rich-editor h3{font-family:var(--serif);font-size:1.3rem;margin:1.2em 0 .5em;}
.editor-figure{margin:22px 0;}
.editor-image-wrap{position:relative;display:inline-block;max-width:100%;background:var(--paper-2);}
.editor-image-wrap img{display:block;max-width:100%;height:auto;}
.editor-image-label{position:absolute;left:12px;bottom:12px;background:rgba(25,39,32,.88);color:#fff;padding:6px 10px;font-family:var(--serif);font-size:.88rem;line-height:1.2;}
.image-guide{background:var(--paper-2);border-left:3px solid var(--pine);padding:13px 16px;color:#5a5448;font-size:.82rem;line-height:1.7;}
.sample-writing{border:1px solid var(--line-strong);background:var(--paper);padding:18px;margin:18px 0 22px;}
.sample-photo{height:150px;background:linear-gradient(135deg,#d8d1c0,#a7b0a4);display:flex;align-items:flex-end;padding:12px;color:#fff;font-family:var(--serif);font-size:1rem;position:relative;}
.sample-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.3));}
.sample-photo{isolation:isolate;}
.sample-photo::first-line{position:relative;z-index:2;}
.sample-writing h4{font-family:var(--serif);font-size:1.08rem;line-height:1.5;margin:16px 0 8px;}
.sample-writing p{font-size:.83rem;line-height:1.75;color:#5a5448;margin:0 0 9px;}

@media(max-width:980px){.journal-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-blog-layout{grid-template-columns:1fr;}.admin-help{position:static;}}
@media(max-width:600px){.journal-blog-grid{grid-template-columns:1fr;}.journal-tools{align-items:stretch;}.journal-search{width:100%;}.journal-search input{width:100%;}.journal-subcopy{line-height:1.7;}.rich-editor{min-height:360px;padding:18px;}.post-content{font-size:.94rem;}.post-image-wrap figcaption{left:12px;bottom:12px;font-size:.9rem;}}


@media (max-width:700px){.map-heading{padding:20px 20px 15px}.kakao-map-footer{padding:9px 12px}.parking-note{padding:12px 15px 14px}}

/* ---------- mobile: always-visible navigation ---------- */
@media (max-width: 900px){
  header .nav{
    flex-wrap:wrap;
    align-items:center;
    padding-top:12px;
    padding-bottom:0;
  }
  header .brand{padding-bottom:10px;}
  header .nav-links{
    order:3;
    flex:0 0 100%;
    position:static;
    inset:auto;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
    gap:0;
    width:100%;
    max-height:none;
    overflow:visible;
    padding:5px 0 9px;
    margin:0;
    background:transparent;
    transform:none;
    opacity:1;
    pointer-events:auto;
    transition:none;
  }
  header .nav-links.open{transform:none;opacity:1;pointer-events:auto;}
  header .nav-links > li{width:auto;min-width:0;}
  header .nav-links a.top-link{
    width:100%;
    display:block;
    padding:7px 2px;
    border-bottom:0;
    text-align:center;
    font-size:.76rem;
    line-height:1.35;
    white-space:nowrap;
  }
  header .nav-links a.top-link::after{bottom:2px;left:15%;right:15%;}
  header .nav-cta,
  header .reserve-menu,
  header .menu-btn{display:none !important;}
}
/* v13 editor / post images */
.editor-figure,.post-figure{margin:24px 0}.editor-image-wrap,.post-image-wrap{position:relative;display:block;max-width:100%;}.editor-image-wrap img,.post-image-wrap img{display:block;width:100%;height:auto;border-radius:4px}.editor-image-label,.post-image-wrap figcaption{position:absolute;left:16px;top:16px;background:rgba(31,58,46,.88);color:#fff;padding:6px 11px;border-radius:4px;font-size:.82rem;font-weight:600;letter-spacing:.01em}.post-image-wrap figcaption{display:inline-block;bottom:auto}.admin-status{padding:14px 18px;border:1px solid var(--line-strong);margin-bottom:20px}.admin-status.success{background:#eef6f0;color:#315d4d}.admin-status.error{background:#fff3f0;color:#8a3b2d}


/* ---------- 처방일지 사진 위 문구 ---------- */
.editor-image-wrap,
.post-image-wrap{position:relative; overflow:hidden;}
.editor-image-wrap img,
.post-image-wrap img{display:block; width:100%; height:auto;}
.editor-image-label,
.post-image-wrap figcaption{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  text-align:center;
  color:#fff;
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(2rem,5vw,4.6rem);
  line-height:1.2;
  letter-spacing:-.04em;
  text-shadow:
    0 2px 3px rgba(0,0,0,.9),
    0 5px 18px rgba(0,0,0,.72),
    1px 0 0 rgba(0,0,0,.5),
    -1px 0 0 rgba(0,0,0,.5);
  padding:0 5%;
  pointer-events:none;
}
.editor-image-label:empty,
.post-image-wrap figcaption:empty{display:none;}
.editor-figure{margin:24px 0;}
.post-figure{margin:0 0 38px;}
.post-image-wrap{background:#111;}
.post-image-wrap img{max-height:780px; object-fit:contain; margin:auto;}
.post-content .post-image-wrap figcaption{font-size:clamp(2rem,6vw,5.2rem);}

@media (max-width:600px){
  .editor-image-label,
  .post-image-wrap figcaption{
    font-size:clamp(1.65rem,8.5vw,3.2rem);
    padding:0 4%;
  }
}


/* 처방일지 사진 위 문구 - 최종 디자인 */
.editor-image-label,
.post-image-wrap figcaption{
  position:absolute !important;
  left:0 !important; right:0 !important; top:50% !important; bottom:auto !important;
  transform:translateY(-50%) !important;
  margin:0 !important; padding:0 4% !important;
  background:transparent !important;
  border:0 !important; border-radius:0 !important;
  color:#ff6a00 !important;
  font-family:Arial,"Noto Sans KR",sans-serif !important;
  font-size:clamp(2.8rem,7vw,7rem) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  letter-spacing:-0.055em !important;
  text-align:center !important;
  text-shadow:none !important;
  box-shadow:none !important;
  z-index:5 !important;
  pointer-events:none !important;
  white-space:normal !important;
}
@media(max-width:600px){
 .editor-image-label,.post-image-wrap figcaption{font-size:clamp(2.15rem,10.5vw,4.2rem) !important; padding:0 3% !important;}
}

/* v16 처방일지 선택형 상세 항목 */
.journal-detail-fields{margin:22px 0 8px;padding:18px;border:1px solid var(--line);background:#fafcfb;border-radius:10px}
.journal-detail-fields textarea{width:100%;min-height:90px;resize:vertical;margin-top:7px;padding:12px;border:1px solid var(--line-strong);border-radius:6px;font:inherit}
.journal-detail-fields label{display:block;margin:0 0 16px}
.journal-detail-fields label:last-child{margin-bottom:0}
.post-details{margin:0 0 32px}
.post-detail{margin:0 0 16px;padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:#fafcfb}
.post-detail h2{margin:0 0 9px;font-size:18px;color:var(--green);letter-spacing:-.03em}
.post-detail div{color:var(--ink);white-space:normal}
@media(max-width:600px){.post-detail{padding:18px}.post-detail h2{font-size:17px}}

/* ---------- 예약 드롭다운 (전화문의 / 네이버예약) ---------- */
.reserve-menu{position:relative;}
.reserve-trigger{
  border:1px solid var(--pine-2); padding:9px 18px; border-radius:2px; font-size:0.9rem;
  background:none; color:var(--ink); font-family:var(--sans); cursor:pointer; white-space:nowrap;
  display:inline-flex; align-items:center; gap:7px; transition:background .2s ease, color .2s ease;
}
.reserve-trigger:hover, .reserve-menu.open .reserve-trigger{background:var(--pine-2); color:var(--paper); box-shadow:0 8px 18px rgba(22,40,31,0.22);}
.reserve-trigger .arrow{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .18s ease;flex-shrink:0;}
.reserve-menu.open .reserve-trigger .arrow{transform:rotate(-135deg);}
.reserve-dropdown{
  position:absolute; top:calc(100% + 10px); right:0; background:var(--paper); border:1px solid var(--line);
  min-width:230px; box-shadow:0 14px 30px rgba(22,40,31,0.16); padding:8px 0; z-index:90;
  opacity:0; pointer-events:none; transform:translateY(6px); transition:opacity .16s ease, transform .16s ease;
}
.reserve-menu.open .reserve-dropdown{opacity:1; pointer-events:auto; transform:translateY(0);}
.reserve-dropdown a{display:flex; flex-direction:column; gap:2px; padding:12px 20px; font-size:.92rem; color:#3a352a; transition:background .15s ease;}
.reserve-dropdown a:hover{background:var(--paper-2); color:var(--pine-2);}
.reserve-dropdown a .sub{font-size:.74rem; color:var(--sage-text); font-weight:400;}
@media(max-width:900px){
  .reserve-trigger{padding:7px 13px; font-size:.8rem;}
  .reserve-dropdown{left:0; right:auto; min-width:210px;}
}

/* ---------- 카카오톡 채널 플로팅 버튼 ---------- */
.kakao-float{
  position:fixed; right:22px; bottom:26px; z-index:150;
  display:flex; align-items:center; gap:9px;
  background:#FEE500; color:#391B1B; border-radius:999px;
  padding:13px 20px 13px 14px; box-shadow:0 10px 24px rgba(57,27,27,0.28);
  font-family:var(--sans); font-weight:600; font-size:.88rem; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.kakao-float:hover{transform:translateY(-2px); box-shadow:0 14px 30px rgba(57,27,27,0.32);}
.kakao-float svg{width:24px;height:24px;flex-shrink:0;}
.kakao-float .label{white-space:nowrap;}
@media(max-width:640px){
  .kakao-float{right:14px; bottom:16px; padding:11px 16px 11px 11px; font-size:.82rem;}
  .kakao-float svg{width:21px;height:21px;}
}
@media(max-width:400px){
  .kakao-float{right:12px; bottom:14px; padding:10px 14px 10px 10px; font-size:.76rem; gap:6px;}
  .kakao-float svg{width:19px;height:19px;}
}

/* ---------- 네이버 블로그: 카카오 버튼과 같은 스타일의 플로팅 버튼(녹색) ---------- */
.naver-float{
  position:fixed; right:22px; bottom:88px; z-index:150;
  display:flex; align-items:center; gap:9px;
  background:#03C75A; color:#fff; border-radius:999px;
  padding:13px 20px 13px 14px; box-shadow:0 10px 24px rgba(3,60,26,0.32);
  font-family:var(--sans); font-weight:600; font-size:.88rem; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
.naver-float:hover{transform:translateY(-2px); box-shadow:0 14px 30px rgba(3,60,26,0.38);}
.naver-float svg{width:24px;height:24px;flex-shrink:0;}
.naver-float .label{white-space:nowrap;}
@media(max-width:640px){
  .naver-float{right:14px; bottom:74px; padding:11px 16px 11px 11px; font-size:.82rem;}
  .naver-float svg{width:21px;height:21px;}
}
@media(max-width:400px){
  .naver-float{right:12px; bottom:66px; padding:10px 14px 10px 10px; font-size:.76rem; gap:6px;}
  .naver-float svg{width:19px;height:19px;}
}

/* ---------- 헤더 상단 우측: 항상 보이는 사이트 내 검색창 ---------- */
.nav-right-cluster{display:flex; align-items:center; gap:14px;}
.header-search{position:relative; width:188px; flex-shrink:0;}
/* 클릭/포커스 시에도 너비가 늘어나지 않도록 고정폭으로 둠 (옆 예약 메뉴를 절대 침범하지 않음).
   결과 목록은 아래로 펼쳐지는 드롭다운(.header-search-dropdown)으로만 표시됨. */
.header-search-box{
  display:flex; align-items:center; gap:8px; cursor:text;
  background:var(--paper); border:1px solid var(--line-strong); border-radius:999px;
  padding:8px 14px; width:188px; transition:border-color .18s ease, box-shadow .18s ease;
}
.header-search-box:focus-within{
  border-color:var(--pine); box-shadow:0 0 0 2px rgba(31,58,46,.09);
}
.header-search-box svg{width:16px; height:16px; stroke:var(--sage); stroke-width:1.9; fill:none; flex-shrink:0;}
.header-search-box .hs-input{
  flex:1; min-width:0; border:none; background:none; outline:none; font-family:var(--sans);
  font-size:.85rem; color:var(--ink);
}
.header-search-box .hs-input::placeholder{color:#8a8570;}
.header-search-dropdown{
  position:absolute; top:calc(100% + 10px); right:0; width:300px; max-width:80vw; max-height:60vh;
  background:var(--paper); border:1px solid var(--line-strong); border-radius:6px; overflow-y:auto;
  box-shadow:0 20px 45px rgba(10,14,8,0.22); opacity:0; pointer-events:none;
  transform:translateY(-6px); transition:opacity .16s ease, transform .16s ease; z-index:200;
}
.header-search-dropdown.open{opacity:1; pointer-events:auto; transform:translateY(0);}
.header-search-dropdown li{border-bottom:1px solid var(--line);}
.header-search-dropdown li:last-child{border-bottom:none;}
.header-search-dropdown a{display:block; padding:12px 16px; transition:background .15s ease;}
.header-search-dropdown a:hover, .header-search-dropdown a:focus{background:var(--paper-2);}
.header-search-dropdown .sr-title{display:block; font-weight:600; color:var(--pine-2); font-size:.9rem; margin-bottom:2px;}
.header-search-dropdown .sr-desc{display:block; font-size:.78rem; color:#5a5448; line-height:1.55;}
.header-search-dropdown .sr-empty{display:block; padding:14px 16px; font-size:.82rem; color:#5a5448; text-align:center;}
.header-search-dropdown .sr-viewall{text-align:center; font-weight:600; color:var(--pine-2); background:var(--paper-2);}
.header-search-dropdown .sr-viewall:hover{background:var(--paper-3);}
@media(max-width:900px){
  .nav-right-cluster{width:100%; order:2; gap:8px; margin:8px 0 2px;}
  .header-search{width:100%;}
  .header-search-box{width:100%; padding:9px 14px; gap:8px; border-radius:999px;}
  .header-search-box svg{width:16px; height:16px;}
  .header-search-box .hs-input{font-size:.85rem;}
  .header-search-dropdown{left:0; right:0; width:auto; max-width:none;}
}

/* ---------- 네이버 블로그 푸터 링크 ---------- */
.foot-links a.blog-link{color:inherit;}

/* ---------- 처방일지 관리자: 폼/목록 (v2) ---------- */
.admin-form{display:flex; flex-direction:column; gap:18px;}
.admin-form h2{margin-bottom:4px;}
.admin-field{display:flex; flex-direction:column; gap:7px;}
.admin-field .lbl{font-size:.86rem; font-weight:600; color:var(--pine-2);}
.admin-field .lbl .field-note{margin-left:6px;}
.admin-field input[type=text], .admin-field input[type=password], .admin-field select, .admin-field textarea{
  width:100%; border:1px solid var(--line-strong); background:var(--paper); padding:11px 13px;
  font:inherit; font-size:.94rem; color:var(--ink); border-radius:4px;
}
.admin-field textarea{min-height:90px; resize:vertical; line-height:1.7;}
.admin-field textarea.story{min-height:220px;}
.admin-field input:focus, .admin-field select:focus, .admin-field textarea:focus{
  outline:none; border-color:var(--pine); box-shadow:0 0 0 2px rgba(31,58,46,.08);
}
.admin-field .hint{font-size:.78rem; color:var(--sage-text); line-height:1.6;}
.admin-diagnostic{border:1px solid #c98b3a; background:#fff6e9; color:#7a4d16; padding:16px 20px; margin-bottom:26px; font-size:.88rem; line-height:1.7;}
.admin-diagnostic b{display:block; margin-bottom:4px;}

.photo-picker{border:1px dashed var(--line-strong); background:var(--paper-2); padding:16px; border-radius:6px;}
.photo-picker-btn{border:1px solid var(--line-strong); background:var(--paper); padding:9px 16px; font-size:.86rem; cursor:pointer; font-family:var(--sans);}
.photo-picker-btn:hover{border-color:var(--pine); color:var(--pine);}
.photo-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin-top:14px;}
.photo-item{position:relative; background:var(--paper); border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.photo-item img{width:100%; height:100px; object-fit:cover; display:block; background:#e4e4e4;}
.photo-item input{width:100%; border:none; border-top:1px solid var(--line); padding:7px 9px; font-size:.76rem; font:inherit;}
.photo-item input:focus{outline:none; background:var(--paper-2);}
.photo-item .rm{position:absolute; top:5px; right:5px; width:22px; height:22px; border-radius:50%; background:rgba(30,25,15,.72); color:#fff; border:none; cursor:pointer; font-size:.85rem; line-height:1;}
.photo-item .uploading{position:absolute; inset:0; background:rgba(255,255,255,.82); display:flex; align-items:center; justify-content:center; font-size:.72rem; color:var(--sage-text);}

.admin-actions-row{display:flex; gap:12px; align-items:center; flex-wrap:wrap;}
.btn-cancel-edit{font-size:.84rem; color:var(--sage-text); text-decoration:underline; text-underline-offset:3px;}

.admin-post-list{border-top:1px solid var(--line-strong); margin-top:6px;}
.admin-post-row{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
.admin-post-row .info b{display:block; font-size:.96rem; margin-bottom:3px;}
.admin-post-row .info small{color:var(--sage-text); font-size:.78rem;}
.admin-post-row .actions{display:flex; gap:8px; flex-shrink:0;}
.btn-tiny{border:1px solid var(--line-strong); background:var(--paper); padding:6px 12px; font-size:.78rem; cursor:pointer; font-family:var(--sans); white-space:nowrap;}
.btn-tiny:hover{border-color:var(--pine); color:var(--pine);}
.btn-tiny-danger{border:1px solid rgba(140,50,35,.4); background:var(--paper); color:#8a3b2d; padding:6px 12px; font-size:.78rem; cursor:pointer; font-family:var(--sans);}
.btn-tiny-danger:hover{background:#fff3f0; border-color:#8a3b2d;}

.rx-callout{border-left:3px solid var(--amber); background:#fbf3e7; padding:16px 20px 16px 64px; margin:0 0 16px; border-radius:0 6px 6px 0; position:relative;}
.rx-callout::before{content:''; position:absolute; left:16px; top:50%; transform:translateY(-50%); width:34px; height:34px; background:url('assets/logo-stamp.png') no-repeat center/contain;}
.rx-callout .rx-label{font-size:.76rem; font-weight:700; color:var(--amber-deep); letter-spacing:.03em; margin-bottom:5px;}
@media(max-width:480px){.rx-callout{padding-left:20px;} .rx-callout::before{display:none;}}
.post-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin:24px 0;}
.post-gallery figure{margin:0; background:var(--paper-2); border:1px solid var(--line); overflow:hidden;}
.post-gallery img{width:100%; height:180px; object-fit:cover; display:block;}
.post-gallery figcaption{padding:9px 12px; font-size:.78rem; color:var(--sage-text);}
@media(max-width:600px){.admin-post-row{flex-direction:column;} .admin-post-row .actions{width:100%;}}

/* ---------- 통합 검색결과 페이지 (search.php) ---------- */
.search-hero-box{display:flex; gap:10px; margin-top:26px; max-width:560px;}
.search-hero-box input{
  flex:1; min-width:0; border:1px solid var(--line-strong); background:var(--paper); padding:13px 16px;
  font-family:var(--sans); font-size:.95rem; color:var(--ink); border-radius:3px; outline:none;
  transition:border-color .18s ease;
}
.search-hero-box input:focus{border-color:var(--pine);}
.search-hero-box button{
  border:1px solid var(--pine-2); background:var(--pine-2); color:var(--paper); padding:0 24px;
  font-family:var(--sans); font-size:.92rem; font-weight:600; border-radius:3px; cursor:pointer;
  transition:background .18s ease, border-color .18s ease;
}
.search-hero-box button:hover{background:var(--amber-deep); border-color:var(--amber-deep);}
@media(max-width:560px){.search-hero-box{flex-direction:column;}}

.search-summary{font-size:.85rem; color:var(--sage-text); margin:28px 0 18px;}
.search-results-list{display:flex; flex-direction:column; gap:14px;}
.search-result-item{
  display:block; padding:20px 22px; background:var(--paper); border:1px solid var(--line);
  text-decoration:none; color:inherit; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.search-result-item:hover{border-color:var(--pine); box-shadow:0 14px 30px rgba(22,40,31,.08); transform:translateY(-2px);}
.search-result-item .sr-badge{
  display:inline-block; font-size:.72rem; font-weight:600; color:var(--pine); background:var(--paper-2);
  border:1px solid var(--line); border-radius:999px; padding:3px 11px; margin-bottom:10px;
}
.search-result-item h3{font-family:var(--serif); font-size:1.08rem; font-weight:600; color:var(--pine-2); margin:0 0 8px;}
.search-result-item p{font-size:.88rem; color:#575145; line-height:1.7; margin:0;}
.search-result-item mark{background:#f4dfa1; color:inherit; padding:0 2px; border-radius:2px;}

.search-pagination{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:36px;}
.pager-btn{
  min-width:38px; height:38px; padding:0 12px; border:1px solid var(--line-strong); background:var(--paper);
  font-family:var(--sans); font-size:.85rem; color:var(--ink); cursor:pointer; border-radius:3px;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.pager-btn:hover:not(:disabled){border-color:var(--pine); color:var(--pine-2);}
.pager-btn.active{background:var(--pine-2); border-color:var(--pine-2); color:var(--paper);}
.pager-btn:disabled{opacity:.4; cursor:not-allowed;}

/* ---------- desktop: 2-row header (로고·메뉴 여백 확보, v14) ---------- */
@media (min-width: 901px){
  header .nav{
    flex-wrap:wrap;
    row-gap:12px;
    padding:16px 0 14px;
  }
  header .brand{order:1;}
  header .nav-right-cluster{order:2;}
  header .nav-links{
    order:3;
    flex:0 0 100%;
    width:100%;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 26px;
    padding-top:12px;
    border-top:1px solid var(--line);
  }
  header .menu-btn{display:none;}
  header .brand-img{height:52px;}
}
