
:root{--bg:#f7f3ee;--card:#fff;--line:#e5d9cc;--text:#302a24;--muted:#76695e;--p:#8f6a4e;--pd:#735139;--g:#486c47;--r:#9b5148;--a:#f4eadf;--shadow:0 12px 34px rgba(67,46,27,.1);--max:430px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif;background:linear-gradient(180deg,#fbf8f4,#f1ebe4)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.page{min-height:100vh;display:flex;justify-content:center;padding:14px 14px 112px}.phone{width:100%;max-width:var(--max);display:grid;gap:16px}
.header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 4px;background:rgba(247,243,238,.82);border-bottom:1px solid rgba(141,111,82,.08);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(180deg,#c8aa8f,var(--p));box-shadow:var(--shadow)}
.brand-copy{display:grid;gap:2px;min-width:0}.brand-copy strong{font-size:16px;letter-spacing:-.04em}.brand-copy span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-btn{min-height:40px;padding:0 12px;border-radius:999px;border:0;background:var(--card);box-shadow:var(--shadow);font-size:13px;font-weight:900;cursor:pointer}.header-btn.primary{background:linear-gradient(180deg,#a98566,var(--p));color:#fff}.icon-btn{width:40px}
.drawer{display:none;margin-top:-8px;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.drawer.open{display:block}.drawer a,.drawer button{width:100%;display:flex;justify-content:space-between;padding:15px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;font-weight:900}.drawer a:last-child,.drawer button:last-child{border-bottom:0}
.hero,.card{border:1px solid var(--line);background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.hero{overflow:hidden;border-radius:32px}.card{border-radius:22px}
.hero-visual{min-height:230px;position:relative;padding:18px;background:linear-gradient(180deg,rgba(31,20,11,.04),rgba(31,20,11,.25)),radial-gradient(circle at 24% 18%,rgba(255,255,255,.95),transparent 30%),linear-gradient(135deg,#ded0c1,#b79579 46%,#846047)}
.hero-visual.hanok{background:linear-gradient(180deg,rgba(31,20,11,.05),rgba(31,20,11,.28)),radial-gradient(circle at 24% 18%,rgba(255,255,255,.95),transparent 30%),linear-gradient(135deg,#d7c4a7,#a8875f 45%,#765335)}
.hero-tag,.breadcrumb,.chip{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--pd);font-size:11px;font-weight:900}.hero-tags{position:absolute;left:18px;bottom:18px;display:flex;flex-wrap:wrap;gap:8px;max-width:82%}
.hero-body{padding:20px 18px 18px;display:grid;gap:14px}.eyebrow{width:fit-content;padding:8px 12px;border-radius:999px;background:var(--a);color:var(--pd);font-size:12px;font-weight:900}
h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.16;letter-spacing:-.06em}.lead,.muted{color:var(--muted);font-size:14px;line-height:1.72}.muted{font-size:13px;line-height:1.6}
.btn{min-height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;font-size:14px;font-weight:900;cursor:pointer}.btn-primary{color:#fff;background:linear-gradient(180deg,#a98566,var(--p));box-shadow:var(--shadow)}.btn-secondary{background:#fff;border-color:var(--line)}.btn-kakao{background:linear-gradient(135deg,#fff5b8,#ffe866)}
.cta-grid,.dual-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.section{display:grid;gap:12px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 4px}.section-head h2{font-size:22px;letter-spacing:-.05em}.section-head p{margin-top:5px;color:var(--muted);font-size:13px}.section-head a,.section-head button{color:var(--p);border:0;background:transparent;font-weight:900}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-item{padding:12px 8px;text-align:center;border-radius:16px;background:#fff;border:1px solid var(--line)}.summary-item strong{display:block}.summary-item span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.service-grid,.gallery-grid,.dashboard-grid,.component-grid,.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-card,.component-card,.quick-card,.dash-card{min-height:136px;padding:16px;display:grid;gap:12px;align-content:space-between}.wide{grid-column:1/-1}.service-icon,.component-icon,.quick-icon,.dash-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:var(--a);font-size:20px}
.list,.field-list,.form-grid,.notice-list,.benefit-list{display:grid;gap:10px}.product-card,.promo-card,.branch-card,.reservation-card,.brand-card,.row-card,.form-card,.notice-card,.privacy-card,.inquiry-card,.edit-card{padding:17px}.chip{background:var(--a);margin-bottom:10px}.chip.green{background:rgba(72,108,71,.14);color:var(--g)}.chip.red{background:rgba(155,81,72,.12);color:var(--r)}
.meta-row{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 14px}.meta{padding:6px 9px;border-radius:999px;background:var(--a);color:var(--muted);font-size:11px;font-weight:800}.meta.on{background:rgba(72,108,71,.12);color:var(--g)}.meta.off{background:rgba(155,81,72,.12);color:var(--r)}
.visual,.gallery-item,.media-card{min-height:156px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,#eadccc,#b9977b);position:relative;overflow:hidden}.visual.hanok{background:linear-gradient(135deg,#d7c4a7,#765335)}.visual.branch{background:linear-gradient(135deg,#ded0c1,#846047)}
.visual-label,.gallery-label,.media-label{position:absolute;left:12px;bottom:12px;z-index:1;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.86);font-size:12px;font-weight:900}
.tabs,.gallery-tabs,.branch-filter,.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 4px 2px;scrollbar-width:none}.tab,.gallery-tab,.filter-pill{flex:0 0 auto;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:900;box-shadow:var(--shadow);cursor:pointer}.active{color:#fff!important;border-color:var(--p)!important;background:var(--p)!important}
.field{display:grid;gap:6px}.field label{color:var(--muted);font-size:12px;font-weight:800}.field-box,.input,.select,.textarea{min-height:48px;border-radius:14px;padding:13px 14px;border:1px solid rgba(141,111,82,.1);background:#fff;color:#a59485;font-size:13px;width:100%}.textarea{min-height:100px;color:var(--text)}
.status{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;background:var(--a);white-space:nowrap}.status.new{background:rgba(73,107,138,.13);color:#496b8a}.status.done{background:rgba(72,108,71,.14);color:var(--g)}.status.hold{background:rgba(155,81,72,.12);color:var(--r)}
.row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.row-top small{color:var(--muted);font-size:12px}.mini-btn{width:30px;height:30px;border-radius:10px;border:0;background:#fff;color:var(--pd);font-weight:900}.panel{display:none;gap:12px}.panel.active{display:grid}
.footer{padding:18px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg,#f4eee7,#f1e9e0);display:grid;gap:10px}.footer p{color:var(--muted);font-size:12px;line-height:1.7}.footer-links{display:flex;flex-wrap:wrap;gap:10px 14px}.footer-links a{color:var(--p);font-size:12px;font-weight:900}
.bottom-nav,.bottom-cta{position:fixed;left:50%;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:80;width:calc(100% - 24px);max-width:calc(var(--max) + 8px);border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(67,46,27,.15)}
.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.bottom-nav a,.bottom-nav button{min-height:66px;display:grid;place-items:center;gap:4px;padding:9px 4px;border:0;border-right:1px solid var(--line);background:transparent;font-size:11px;font-weight:900;color:var(--muted)}.nav-icon{font-size:18px}
.bottom-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}.bottom-cta a{min-height:54px;border-radius:16px;display:grid;place-items:center;font-size:13px;font-weight:900;background:var(--a);color:var(--pd)}.bottom-cta a.primary{background:linear-gradient(180deg,#a98566,var(--p));color:#fff}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:100;width:calc(100% - 48px);max-width:390px;padding:13px 16px;border-radius:16px;background:rgba(48,42,36,.92);color:#fff;font-size:13px;font-weight:800;text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.2);opacity:0;transition:opacity .18s ease,bottom .18s ease;pointer-events:none}.toast.show{opacity:1;bottom:108px}

/* v2.0 화면/구조 개선 */
.kicker-row{display:flex;flex-wrap:wrap;gap:8px}
.kicker{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--pd);font-size:11px;font-weight:900;box-shadow:var(--shadow)}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-card{min-height:118px;padding:16px;align-content:space-between}
.quick-card strong{font-size:15px;letter-spacing:-.04em}.quick-card span{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trust-item{padding:12px 8px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center}
.trust-item strong{display:block;font-size:13px}.trust-item span{display:block;margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.35}
.flow-list{display:grid;gap:10px}
.flow-item{display:flex;gap:11px;align-items:flex-start;padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.flow-num{width:34px;height:34px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;background:linear-gradient(180deg,#a98566,var(--p));color:#fff;font-size:12px;font-weight:900}
.flow-item strong{font-size:14px}.flow-item span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55}
.faq-list{display:grid;gap:10px}
.faq-item{padding:16px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.faq-item strong{display:block;font-size:14px;letter-spacing:-.03em}.faq-item p{margin-top:7px;color:var(--muted);font-size:12.5px;line-height:1.65}
.guide-card{padding:17px;background:linear-gradient(180deg,#fff,#f8f0e8)}
.guide-table{display:grid;gap:8px;margin-top:12px}
.guide-row{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:11px 12px;border-radius:14px;background:#fff;border:1px solid rgba(141,111,82,.12)}
.guide-row b{font-size:12px;color:var(--pd)}.guide-row span{font-size:12px;color:var(--muted);line-height:1.5}
.notice-soft{padding:14px;border-radius:18px;background:rgba(72,108,71,.10);border:1px solid rgba(72,108,71,.14);color:var(--g);font-size:12px;line-height:1.6}
.seo-copy{padding:17px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.seo-copy h3{font-size:16px}.seo-copy p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.72}
.version-note{padding:12px 14px;border-radius:16px;background:rgba(73,107,138,.10);border:1px solid rgba(73,107,138,.14);font-size:12px;color:#496b8a;line-height:1.55}
@media (min-width:760px){:root{--max:520px}.page{padding-top:20px}.hero-body{padding:24px}.section-head h2{font-size:24px}}


/* v2.1 Firebase Auth 관리자 로그인 UI */
.firebase-protected{display:none}
html.firebase-auth-ready .firebase-protected{display:flex}
html.firebase-auth-ready .admin-auth-gate{display:none}
html.firebase-auth-required .admin-auth-gate{display:grid}
.admin-auth-gate{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:radial-gradient(circle at top right,rgba(231,211,190,.72),transparent 28%),linear-gradient(180deg,#fbf8f4,#f1ebe4);
  padding:24px;
}
.admin-auth-card{
  width:100%;max-width:430px;border-radius:30px;background:#fff;border:1px solid rgba(141,111,82,.18);
  box-shadow:0 24px 70px rgba(67,46,27,.18);padding:22px;display:grid;gap:15px;
}
.admin-auth-card h1{font-size:26px;line-height:1.18;letter-spacing:-.06em;margin:0;color:#302a24}
.admin-auth-card p{font-size:13px;line-height:1.68;color:#786b60;margin:0}
.admin-auth-input{
  width:100%;min-height:52px;border-radius:16px;border:1px solid rgba(141,111,82,.18);
  padding:0 14px;font-size:14px;color:#302a24;background:#fff;
}
.admin-auth-button{
  min-height:52px;border:0;border-radius:16px;background:linear-gradient(180deg,#a98566,#8f6a4e);
  color:#fff;font-weight:900;font-size:14px;cursor:pointer;
}
.admin-auth-button:disabled{opacity:.55;cursor:not-allowed}
.admin-auth-status{
  border-radius:16px;background:#f4eadf;color:#735139;padding:12px;font-size:12px;line-height:1.55;
}
.admin-auth-status[data-type="success"]{background:rgba(72,108,71,.12);color:#486c47}
.admin-auth-status[data-type="error"]{background:rgba(155,81,72,.12);color:#9b5148}
.admin-auth-allowed{display:grid;gap:6px;padding:12px;border-radius:16px;background:#faf6f0;border:1px solid rgba(141,111,82,.12)}
.admin-auth-allowed strong{font-size:12px;color:#735139}
.admin-auth-allowed span{font-size:12px;color:#786b60}
.admin-auth-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
}
.admin-auth-bar span{font-size:12px;color:var(--muted);line-height:1.45}
.admin-auth-bar strong{display:block;color:var(--text);font-size:13px;margin-top:2px}
.admin-logout-btn{
  min-height:38px;padding:0 12px;border:0;border-radius:999px;background:var(--a);color:var(--pd);
  font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer;
}


/* v2.1.1 관리자 인증 UI 캐시 방지 보강 */
html.firebase-auth-ready .admin-auth-gate{display:none!important}
html.firebase-auth-required .admin-auth-gate{display:grid!important}
html.firebase-auth-ready .firebase-protected{display:flex!important}
html.firebase-auth-required .firebase-protected{display:none!important}


/* v2.2 관리자 CMS Firestore 연결 */
.cms-status{
  padding:14px 16px;border-radius:18px;background:rgba(73,107,138,.10);
  border:1px solid rgba(73,107,138,.16);color:#496b8a;font-size:12.5px;line-height:1.6;
}
.cms-status[data-type="success"]{background:rgba(72,108,71,.12);border-color:rgba(72,108,71,.18);color:#486c47}
.cms-status[data-type="error"]{background:rgba(155,81,72,.12);border-color:rgba(155,81,72,.18);color:#9b5148}
.cms-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cms-section-row{display:grid;gap:12px}
.cms-input,.cms-select{
  width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(141,111,82,.18);
  background:#fff;padding:0 12px;font-size:13px;color:var(--text);
}
.field-label{display:grid;gap:6px;font-size:12px;font-weight:900;color:var(--pd)}
.cms-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.toggle-row{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:14px;background:#faf6f0;border:1px solid rgba(141,111,82,.12);font-size:12px;font-weight:900;color:var(--pd)}
.toggle-row input{width:16px;height:16px}
.row-actions{display:flex;gap:6px}
.empty-state{padding:18px;border-radius:18px;background:#faf6f0;border:1px dashed rgba(141,111,82,.26);font-size:12.5px;line-height:1.65;color:var(--muted)}
.top-gap{margin-top:12px}
.guide-table.compact{margin-top:12px;gap:6px}
.guide-table.compact .guide-row{grid-template-columns:74px 1fr;padding:9px 10px}
.inquiry-card .status.assigned{background:rgba(73,107,138,.12);color:#496b8a}
.inquiry-card .status.done{background:rgba(72,108,71,.12);color:#486c47}
.inquiry-card .status.archived{background:#eee;color:#777}


/* v2.3 샘플 데이터 입력 */
.seed-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.seed-count{padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.seed-count strong{display:block;font-size:22px;color:var(--pd);line-height:1}
.seed-count span{display:block;margin-top:6px;font-size:11px;color:var(--muted);font-weight:900}
@media (min-width:760px){.seed-summary{grid-template-columns:repeat(5,1fr)}}


/* v2.4 샘플 데이터 수정 관리자 UI */
.editor-collection-tabs{display:grid;gap:10px;max-width:100%;overflow:hidden;padding-bottom:4px}
.editor-tab-groups,.editor-tab-submenu{display:flex;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.editor-tab-groups{padding-bottom:8px;border-bottom:1px solid rgba(141,111,82,.12)}
.editor-tab-submenu{flex-wrap:wrap;overflow-x:visible;padding-top:2px}
.editor-tab-submenu-single{border-bottom:0;padding-bottom:2px}
.editor-group-tab{
  border:1px solid rgba(141,111,82,.16);background:rgba(255,255,255,.78);border-radius:999px;padding:9px 11px;
  font-size:12px;font-weight:900;color:var(--pd);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  box-shadow:0 8px 18px rgba(70,48,32,.06);
}
.editor-group-tab small{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 6px;border-radius:999px;background:rgba(93,107,101,.08);font-size:10px;color:var(--muted);font-weight:1000}
.editor-group-tab.active{background:var(--p);border-color:var(--p);color:#fff}
.editor-group-tab.active small{background:rgba(255,255,255,.18);color:#fff}
.pill-tab{
  border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;
  font-size:12px;font-weight:900;color:var(--pd);white-space:nowrap;cursor:pointer;
}
.pill-tab.active{background:var(--p);border-color:var(--p);color:#fff}
@media (max-width:759px){
  .editor-tab-submenu{flex-wrap:nowrap;overflow-x:auto}
  .editor-group-tab,.pill-tab{font-size:11.5px;padding:9px 11px}
}
.editor-layout{display:grid;gap:12px}
.editor-doc-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:3px}
.editor-doc-item{
  width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;
  padding:12px;cursor:pointer;box-shadow:var(--shadow);
}
.editor-doc-item.active{border-color:var(--p);box-shadow:0 0 0 2px rgba(143,106,78,.18)}
.editor-doc-item strong{display:block;font-size:13px;color:var(--text);letter-spacing:-.03em}
.editor-doc-item span{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.45}
.editor-form{border-radius:22px;background:#faf6f0;border:1px solid rgba(141,111,82,.14);padding:14px}
.editor-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.editor-form-head h3{font-size:18px;margin-top:6px;word-break:break-all}
.editor-grid{display:grid;gap:11px}
.cms-textarea{
  width:100%;min-height:92px;border-radius:14px;border:1px solid rgba(141,111,82,.18);
  background:#fff;padding:12px;font-size:13px;color:var(--text);line-height:1.55;resize:vertical;
}
.editor-toggle{width:max-content}
@media (min-width:760px){
  .editor-layout{grid-template-columns:230px 1fr;align-items:start}
  .editor-doc-list{max-height:640px}
  .editor-grid{grid-template-columns:1fr 1fr}
  .editor-grid .field-label:has(.cms-textarea){grid-column:1/-1}
}


/* v2.5 안전 삭제 기능 */
.editor-head-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.btn-danger{
  background:rgba(155,81,72,.12)!important;
  color:#9b5148!important;
  border:1px solid rgba(155,81,72,.22)!important;
}
.btn-danger:hover{
  background:rgba(155,81,72,.18)!important;
}
.editor-delete-note{
  display:grid;
  gap:4px;
  margin-bottom:14px;
  padding:12px 13px;
  border-radius:16px;
  background:rgba(155,81,72,.08);
  border:1px solid rgba(155,81,72,.14);
}
.editor-delete-note strong{
  color:#9b5148;
  font-size:12px;
}
.editor-delete-note span{
  color:#786b60;
  font-size:12px;
  line-height:1.55;
}
@media (max-width:520px){
  .editor-head-actions{justify-content:stretch}
  .editor-head-actions .btn{flex:1 1 auto}
}


/* v2.6 패키지 그룹 + 세부 패키지 상품 구조 */
.editor-doc-item em{
  display:inline-flex;
  margin-left:6px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(143,106,78,.11);
  color:var(--pd);
  font-style:normal;
  font-size:10px;
  vertical-align:middle;
}


/* v2.7 복합 패키지 구성표 입력 */
.field-help{
  display:block;
  margin-top:-2px;
  font-weight:500;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
.component-rows-textarea{
  min-height:220px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:12px;
}
.full-span{
  grid-column:1/-1;
}


/* v2.8 실제 패키지 상품 데이터 */
.price-variants-textarea{
  min-height:90px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:12px;
}


/* v2.9 고객 상품 페이지 Firestore 연결 */
.product-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.package-code{
  flex:0 0 auto;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(143,106,78,.10);
  color:var(--pd);
  font-size:10px;
  font-weight:900;
}
.product-price{
  margin:13px 0 10px;
  padding:14px 15px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(143,106,78,.14),rgba(248,240,232,.85));
  border:1px solid rgba(143,106,78,.12);
}
.product-price span{
  display:block;
  font-size:23px;
  font-weight:900;
  color:var(--pd);
  letter-spacing:-.04em;
}
.price-variants{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:13px 0 10px;
}
.price-variants span{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  color:var(--pd);
  font-size:18px;
  font-weight:900;
}
.price-variants b{
  color:var(--muted);
  font-size:11px;
}
.package-component-table{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.package-component-row{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:10px;
  padding:11px 12px;
  border-radius:15px;
  background:#fff;
  border:1px solid rgba(141,111,82,.12);
}
.component-label b{
  display:block;
  color:var(--pd);
  font-size:12px;
  line-height:1.35;
}
.component-label em{
  display:inline-flex;
  margin-top:5px;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(72,108,71,.12);
  color:var(--g);
  font-style:normal;
  font-size:10px;
  font-weight:900;
}
.component-items{
  display:grid;
  gap:5px;
}
.component-items span{
  color:var(--text);
  font-size:12px;
  line-height:1.45;
}
.empty-state{
  padding:16px;
  border-radius:18px;
  background:#faf6f0;
  border:1px dashed rgba(141,111,82,.26);
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.top-gap{margin-top:12px}
@media (max-width:430px){
  .package-component-row{grid-template-columns:74px 1fr}
  .price-variants{grid-template-columns:1fr}
}


/* v3.0 고객 상품 표시 UX 개선 */
.product-group-intro{
  margin-top:12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:17px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#f8f0e8);
  border:1px solid rgba(141,111,82,.14);
  box-shadow:var(--shadow);
}
.product-group-intro h3{
  font-size:20px;
  letter-spacing:-.06em;
  margin-top:4px;
}
.product-group-intro p{
  margin-top:6px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.65;
}
.product-eyebrow{
  display:inline-flex;
  color:var(--pd);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.group-count-card{
  flex:0 0 74px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:12px 8px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
}
.group-count-card strong{
  display:block;
  color:var(--pd);
  font-size:21px;
  line-height:1;
}
.group-count-card span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
}
#groupTabs{
  scroll-behavior:smooth;
  scroll-snap-type:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
}
#groupTabs .tab{
  display:grid;
  gap:3px;
  min-width:146px;
  text-align:left;
  scroll-snap-align:start;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
#groupTabs .tab.active{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(67,46,27,.12);
}
#groupTabs .tab strong{
  font-size:13px;
}
#groupTabs .tab small{
  font-size:10px;
  opacity:.72;
}
#packageTabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
  scroll-behavior:smooth;
  scroll-snap-type:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
}
.package-chip{
  flex:0 0 auto;
  min-width:146px;
  max-width:210px;
  display:grid;
  gap:5px;
  text-align:left;
  padding:12px 13px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  cursor:pointer;
  scroll-snap-align:start;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
.package-chip.active{
  background:var(--p);
  color:#fff;
  border-color:var(--p);
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(143,106,78,.24);
}
.package-chip span{
  font-size:12.5px;
  font-weight:900;
  letter-spacing:-.035em;
}
.package-chip small{
  font-size:11px;
  color:var(--muted);
}
.package-chip.active small{
  color:rgba(255,255,255,.8);
}
#groupTabs,
#packageTabs{
  -webkit-overflow-scrolling:touch;
}
#groupTabs.is-dragging-tabs,
#packageTabs.is-dragging-tabs{
  scroll-behavior:auto;
  cursor:grabbing;
}
#groupTabs.is-dragging-tabs .tab.active,
#packageTabs.is-dragging-tabs .package-chip.active{
  transform:none;
  box-shadow:var(--shadow);
}
.product-swap-enter{
  --product-enter-x:0px;
  animation:productSwapEnter .26s ease both;
}
.product-swap-enter.from-next{
  --product-enter-x:26px;
}
.product-swap-enter.from-prev{
  --product-enter-x:-26px;
}
.product-swap-enter.from-neutral{
  --product-enter-x:0px;
}
.public-package-card{
  border-radius:28px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 18px 48px rgba(67,46,27,.10);
  padding:18px;
}
.product-title-row.improved{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(141,111,82,.10);
}
.product-title-row.improved h3{
  margin-top:5px;
  font-size:23px;
  letter-spacing:-.065em;
}
.product-price.improved{
  margin:14px 0 10px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(143,106,78,.14),#fff);
  border:1px solid rgba(143,106,78,.13);
}
.product-price.improved small{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  margin-bottom:5px;
}
.product-price.improved span{
  display:block;
  font-size:25px;
  font-weight:950;
  color:var(--pd);
  letter-spacing:-.055em;
}
.price-variants.improved{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:14px 0 8px;
}
.price-variants.improved span{
  display:grid;
  gap:7px;
  padding:15px;
  border-radius:21px;
  background:linear-gradient(180deg,#fff,#faf6f0);
  border:1px solid rgba(141,111,82,.14);
  box-shadow:var(--shadow);
}
.price-variants.improved b{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(72,108,71,.12);
  color:var(--g);
  font-size:11px;
}
.price-variants.improved em{
  color:var(--pd);
  font-style:normal;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.04em;
}
.price-note{
  margin:0 0 12px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.5;
}
.component-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-top:16px;
  margin-bottom:9px;
}
.component-section-head h4{
  margin-top:3px;
  font-size:17px;
}
.component-count{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#faf6f0;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
}
.package-component-table{
  display:grid;
  gap:8px;
}
.package-component-table.collapsed{
  position:relative;
}
.package-component-row{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:10px;
  padding:12px;
  border-radius:17px;
  background:#fff;
  border:1px solid rgba(141,111,82,.12);
}
.component-label b{
  display:block;
  color:var(--pd);
  font-size:12px;
  line-height:1.35;
}
.component-label em{
  display:inline-flex;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(72,108,71,.12);
  color:var(--g);
  font-style:normal;
  font-size:10px;
  font-weight:900;
}
.component-items{
  display:grid;
  gap:5px;
}
.component-items span{
  color:var(--text);
  font-size:12.2px;
  line-height:1.5;
}
.detail-toggle{
  width:100%;
  min-height:48px;
  margin-top:10px;
  border:1px solid rgba(143,106,78,.16);
  border-radius:17px;
  background:#faf6f0;
  color:var(--pd);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.product-actions{
  position:sticky;
  bottom:74px;
  z-index:8;
  padding:8px;
  margin-left:-8px;
  margin-right:-8px;
  border-radius:22px;
  background:#fff;
  backdrop-filter:blur(10px);
  border:1px solid rgba(141,111,82,.10);
  box-shadow:0 14px 34px rgba(67,46,27,.14);
}
.selected-product-notice{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:17px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#f8f0e8);
  border:1px solid rgba(141,111,82,.14);
  box-shadow:var(--shadow);
}
.selected-product-notice h3{
  font-size:18px;
  margin-top:4px;
}
.selected-product-notice p{
  margin-top:5px;
  color:var(--muted);
  font-size:12.5px;
}
@keyframes productSwapEnter{
  from{
    opacity:.24;
    transform:translate3d(var(--product-enter-x),0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}
@media (prefers-reduced-motion:reduce){
  #packageTabs,
  #groupTabs{
    scroll-behavior:auto;
  }
  .product-swap-enter{
    animation:none;
  }
}
@media (max-width:430px){
  .product-group-intro{align-items:stretch}
  .group-count-card{flex-basis:68px}
  .price-variants.improved{grid-template-columns:1fr}
  .package-component-row{grid-template-columns:76px 1fr}
}


/* v3.1 예약 문의 Firestore 저장 */
.reservation-consent{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:13px 14px;
  border-radius:17px;
  background:#faf6f0;
  border:1px solid rgba(141,111,82,.14);
  color:var(--text);
  font-size:12px;
  line-height:1.55;
  margin-top:10px;
}
.reservation-consent input{
  margin-top:2px;
  width:16px;
  height:16px;
  flex:0 0 auto;
}
.reservation-submit-status{
  margin-top:12px;
}
.reservation-submit-status[data-type="success"]{
  background:rgba(72,108,71,.12);
  color:#486c47;
  border-color:rgba(72,108,71,.18);
}
.reservation-submit-status[data-type="error"]{
  background:rgba(155,81,72,.12);
  color:#9b5148;
  border-color:rgba(155,81,72,.18);
}
button:disabled,
.btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}


/* v3.1.1 예약 문의 저장 보정 */
#reservationSubmitStatus{
  word-break:break-word;
}


/* v3.1.2 예약 문의 실제 저장 연결 표시 */
#reservationSubmitStatus[data-type="info"]::before{
  content:"";
}


/* v3.1.3 예약 문의/관리자 문의 표시 보정 */
.inquiry-card .inquiry-head-name,
.inquiry-card .row-top h3{
  color:var(--text)!important;
  font-weight:900;
  letter-spacing:-.04em;
}
.inquiry-card .guide-row b{
  min-width:72px;
}
.inquiry-card .guide-row span{
  color:var(--text)!important;
  word-break:break-word;
}
.reservation-consent b{
  color:#9b5148;
  font-weight:900;
}
.reservation-consent.missing,
.reservation-consent:has(input:required:not(:checked)){
  border-color:rgba(155,81,72,.22);
}


/* v3.1.4 문의 접수번호 문자화 및 관리자 표시 보정 */
.inquiry-card .guide-row b{
  min-width:74px;
}
.inquiry-card .guide-row span{
  color:var(--text)!important;
  word-break:break-word;
}
.inquiry-head-name{
  color:var(--text)!important;
  font-weight:900;
}


/* v3.1.5 관리자 문의 조회 보정 */
.inquiry-loading-state,
.inquiry-empty-state,
.error-state{
  line-height:1.7;
}
.error-state{
  color:#9b5148!important;
  border-color:rgba(155,81,72,.24)!important;
  background:rgba(155,81,72,.08)!important;
}
.inquiry-card .guide-row b{
  min-width:74px;
}
.inquiry-card .guide-row span{
  color:var(--text)!important;
  word-break:break-word;
}
.inquiry-head-name{
  color:var(--text)!important;
  font-weight:900;
}


/* v3.1.6 관리자 문의 전용 로더 */
.cms-toolbar-note{
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(72,108,71,.10);
  color:#486c47;
  font-size:11px;
  font-weight:900;
}
.inquiry-loading-state,
.inquiry-empty-state,
.error-state{
  line-height:1.7;
}
.error-state{
  color:#9b5148!important;
  border-color:rgba(155,81,72,.24)!important;
  background:rgba(155,81,72,.08)!important;
}
.inquiry-card .guide-row b{
  min-width:74px;
}
.inquiry-card .guide-row span{
  color:var(--text)!important;
  word-break:break-word;
}
.inquiry-head-name{
  color:var(--text)!important;
  font-weight:900;
}


/* v3.2 고객 공개 페이지 Firestore 연결 */
.public-card-list{
  display:grid;
  gap:10px;
}
.public-linked-card{
  display:grid;
  gap:8px;
  text-decoration:none;
  color:inherit;
}
.public-linked-card h3{
  font-size:18px;
  letter-spacing:-.05em;
}
.public-linked-card:hover{
  transform:translateY(-1px);
}
#tabs .tab{
  white-space:nowrap;
}
.info-card .btn{
  margin-top:8px;
}

/* v3.3 예약 문의 선택값 Firestore 연결 */
.reservation-options-status{margin-bottom:12px;}
.reservation-context-card{display:block;}
.context-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.context-chip-list span{display:grid;gap:4px;padding:9px 11px;border-radius:15px;background:#fff;border:1px solid var(--line);color:var(--text);font-size:12px;}
.context-chip-list b{color:var(--muted);font-size:10px;}
#branchSelect,#serviceSelect{min-height:46px;}


/* v3.3.2 예약 문의 선택값 권한 오류 최종 보정 */
.reservation-options-status{
  margin-bottom:12px;
}
.context-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.context-chip-list span{
  display:grid;
  gap:4px;
  padding:9px 11px;
  border-radius:15px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--text);
  font-size:12px;
}
.context-chip-list b{
  color:var(--muted);
  font-size:10px;
}


/* v3.4 관리자 문의 관리 UX 보강 */
.inquiry-manager-toolbar{
  display:grid;
  gap:10px;
  padding:14px;
  margin:0 0 12px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.inquiry-search-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.inquiry-status-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.filter-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 11px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.filter-chip b{
  min-width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#f5eee6;
  color:var(--pd);
  font-size:10px;
}
.filter-chip.active{
  background:var(--p);
  color:#fff;
  border-color:var(--p);
}
.filter-chip.active b{
  background:rgba(255,255,255,.22);
  color:#fff;
}
.inquiry-manager-summary{
  padding:10px 12px;
  border-radius:15px;
  background:#faf6f0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.inquiry-card .guide-row b{
  min-width:74px;
}
.inquiry-card .guide-row span{
  color:var(--text)!important;
  word-break:break-word;
}
.inquiry-head-name{
  color:var(--text)!important;
  font-weight:900;
}
@media (max-width:430px){
  .inquiry-search-row{
    grid-template-columns:1fr;
  }
}


/* v3.5 개인정보 처리방침 */
.privacy-page{display:grid;gap:16px;padding:14px 0 92px}
.privacy-title-card{padding:24px 20px;border-radius:28px;background:linear-gradient(135deg,#fff,#f8f0e8);border:1px solid var(--line);box-shadow:var(--shadow)}
.privacy-title-card h1{margin-top:8px;font-size:28px;letter-spacing:-.065em;line-height:1.18}
.privacy-title-card p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.75}
.privacy-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.privacy-meta span{padding:7px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--pd);font-size:11px;font-weight:900}
.privacy-article{padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.privacy-article pre{white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;margin:0;color:var(--text);font-family:inherit;font-size:12.5px;line-height:1.78}
.privacy-footer{padding:18px;margin-bottom:84px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.footer-links a,.policy-link-card{text-decoration:none;color:inherit}
.footer-links a{display:inline-flex;padding:7px 9px;border-radius:999px;background:#faf6f0;color:var(--pd);font-size:11px;font-weight:900}
.mini-policy-link{margin-top:18px}
.policy-link-card{display:grid;gap:5px;padding:15px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.policy-link-card strong{color:var(--pd);font-size:14px}
.policy-link-card span{color:var(--muted);font-size:12px}
.reservation-consent a{color:var(--pd);font-weight:900;text-decoration:underline}
@media (max-width:430px){.privacy-title-card h1{font-size:25px}.privacy-article{padding:16px}.privacy-article pre{font-size:12px}}


/* v3.5.1 개인정보 처리방침 Word 문서 표 구조 반영 */
.privacy-page{display:grid;gap:16px;padding:14px 0 92px}
.privacy-title-card{padding:24px 20px;border-radius:28px;background:linear-gradient(135deg,#fff,#f8f0e8);border:1px solid var(--line);box-shadow:var(--shadow)}
.privacy-title-card h1{margin-top:8px;font-size:28px;letter-spacing:-.065em;line-height:1.18}
.privacy-title-card p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.75}
.privacy-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.privacy-meta span{padding:7px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--pd);font-size:11px;font-weight:900}
.privacy-article.structured{display:grid;gap:14px;padding:0;background:transparent;border:0;box-shadow:none}
.privacy-section{padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.privacy-section h2{font-size:18px;letter-spacing:-.05em;line-height:1.38;margin-bottom:12px;color:var(--text)}
.privacy-section p{color:var(--text);font-size:12.5px;line-height:1.78;margin:7px 0}
.privacy-bullet{padding-left:10px;border-left:3px solid #ead8c7}
.privacy-table-wrap{width:100%;overflow:auto;margin:12px 0;border-radius:16px;border:1px solid var(--line);background:#fff}
.privacy-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}
.privacy-table th,.privacy-table td{padding:10px 11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;font-size:11.5px;line-height:1.6;text-align:left}
.privacy-table th{background:#f8f0e8;color:var(--pd);font-weight:900;white-space:nowrap}
.privacy-table td{color:var(--text)}
.privacy-table tr:last-child td{border-bottom:0}
.privacy-table th:last-child,.privacy-table td:last-child{border-right:0}
.privacy-footer{padding:18px;margin-bottom:84px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.footer-links a,.policy-link-card{text-decoration:none;color:inherit}
.footer-links a{display:inline-flex;padding:7px 9px;border-radius:999px;background:#faf6f0;color:var(--pd);font-size:11px;font-weight:900}
.mini-policy-link{margin-top:18px}
.policy-link-card{display:grid;gap:5px;padding:15px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.policy-link-card strong{color:var(--pd);font-size:14px}
.policy-link-card span{color:var(--muted);font-size:12px}
.reservation-consent a{color:var(--pd);font-weight:900;text-decoration:underline}
@media (max-width:430px){
  .privacy-title-card h1{font-size:25px}
  .privacy-section{padding:15px}
  .privacy-section p{font-size:12px}
  .privacy-table{min-width:720px}
  .privacy-table th,.privacy-table td{font-size:11px;padding:9px}
}


/* v3.5.2 개인정보 처리방침 Word 표 병합 구조 정밀 반영 */
.privacy-page{display:grid;gap:16px;padding:14px 0 92px}
.privacy-title-card{padding:24px 20px;border-radius:28px;background:linear-gradient(135deg,#fff,#f8f0e8);border:1px solid var(--line);box-shadow:var(--shadow)}
.privacy-title-card h1{margin-top:8px;font-size:28px;letter-spacing:-.065em;line-height:1.18}
.privacy-title-card p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.75}
.privacy-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.privacy-meta span{padding:7px 9px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--pd);font-size:11px;font-weight:900}
.privacy-toc{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.privacy-toc a{display:inline-flex;padding:8px 10px;border-radius:999px;background:#faf6f0;color:var(--pd);font-size:11px;font-weight:900;text-decoration:none}
.privacy-article.structured{display:grid;gap:14px;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.privacy-section{padding:18px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.privacy-section h2{font-size:18px;letter-spacing:-.05em;line-height:1.38;margin-bottom:12px;color:var(--text)}
.privacy-section p{color:var(--text);font-size:12.5px;line-height:1.78;margin:7px 0}
.privacy-bullet{padding-left:10px;border-left:3px solid #ead8c7}
.precise-table-wrap{width:100%;overflow:auto;margin:14px 0;border-radius:16px;border:1px solid #d9c9ba;background:#fff;-webkit-overflow-scrolling:touch}
.precise-privacy-table{width:100%;border-collapse:collapse;background:#fff;table-layout:auto}
.precise-privacy-table th,.precise-privacy-table td{padding:9px 10px;border-right:1px solid #d9c9ba;border-bottom:1px solid #d9c9ba;vertical-align:middle;font-size:11.2px;line-height:1.55;text-align:left;word-break:keep-all;overflow-wrap:anywhere}
.precise-privacy-table th{background:#f2e5d8;color:#6d4f3d;font-weight:900;text-align:center}
.precise-privacy-table td{color:#2b2521}
.precise-privacy-table tr:first-child td{background:#f2e5d8;color:#6d4f3d;font-weight:900;text-align:center}
.precise-privacy-table th:last-child,.precise-privacy-table td:last-child{border-right:0}
.precise-privacy-table tr:last-child th,.precise-privacy-table tr:last-child td{border-bottom:0}
.privacy-table-1{min-width:920px!important}
.privacy-table-2{min-width:980px!important}
.privacy-table-3{min-width:620px!important}
.privacy-table-4{min-width:1180px!important}
.privacy-table-5{min-width:820px!important}
.privacy-footer{padding:18px;margin-bottom:84px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.footer-links a,.policy-link-card{text-decoration:none;color:inherit}
.footer-links a{display:inline-flex;padding:7px 9px;border-radius:999px;background:#faf6f0;color:var(--pd);font-size:11px;font-weight:900}
.mini-policy-link{margin-top:18px}
.policy-link-card{display:grid;gap:5px;padding:15px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.policy-link-card strong{color:var(--pd);font-size:14px}
.policy-link-card span{color:var(--muted);font-size:12px}
.reservation-consent a{color:var(--pd);font-weight:900;text-decoration:underline}
@media (max-width:430px){
  .privacy-title-card h1{font-size:25px}
  .privacy-section{padding:15px}
  .privacy-section p{font-size:12px}
  .precise-privacy-table th,.precise-privacy-table td{font-size:10.8px;padding:8px}
}


/* v3.5.3 개인정보 처리방침 모바일 가독성 개선 */
.privacy-mobile-guide{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px 14px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.privacy-mobile-guide strong{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#f2e5d8;
  color:var(--pd);
  font-size:11px;
  font-weight:900;
}
.privacy-mobile-guide span{
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.privacy-controls{
  display:flex;
  gap:8px;
  padding:10px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.privacy-controls button{
  flex:1;
  min-height:38px;
  border:0;
  border-radius:15px;
  background:#f5eee6;
  color:var(--pd);
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}
.privacy-controls button:first-child{
  background:var(--p);
  color:#fff;
}
.privacy-details{
  padding:0!important;
}
.privacy-details summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px;
  cursor:pointer;
  background:#fff;
}
.privacy-details summary::-webkit-details-marker{
  display:none;
}
.privacy-details summary span{
  font-size:17px;
  line-height:1.38;
  font-weight:900;
  letter-spacing:-.05em;
  color:var(--text);
}
.privacy-details summary em{
  flex:0 0 auto;
  padding:7px 9px;
  border-radius:999px;
  background:#faf6f0;
  color:var(--pd);
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.privacy-details[open] summary{
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fff,#fbf7f2);
}
.privacy-details[open] summary em::before{
  content:"접기";
  font-size:11px;
}
.privacy-details[open] summary em{
  font-size:0;
}
.privacy-detail-body{
  padding:16px 18px 18px;
}
.privacy-table-helper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:15px 0 0;
  padding:10px 12px;
  border-radius:16px 16px 0 0;
  background:#6d4f3d;
  color:#fff;
}
.privacy-table-helper strong{
  font-size:12px;
  line-height:1.4;
  font-weight:900;
}
.privacy-table-helper span{
  flex:0 0 auto;
  font-size:10.5px;
  color:rgba(255,255,255,.82);
}
.privacy-table-helper.is-read span{
  opacity:.45;
}
.privacy-table-helper + .precise-table-wrap{
  margin-top:0;
  border-radius:0 0 16px 16px;
}
.precise-table-wrap{
  position:relative;
}
.precise-table-wrap::after{
  content:"→";
  position:sticky;
  right:8px;
  float:right;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-top:-36px;
  margin-right:8px;
  border-radius:999px;
  background:rgba(109,79,61,.9);
  color:#fff;
  font-weight:900;
  pointer-events:none;
}
.privacy-toc{
  max-height:140px;
  overflow:auto;
}
.privacy-toc a{
  white-space:nowrap;
}
@media (max-width:430px){
  .privacy-title-card{
    padding:21px 18px;
  }
  .privacy-title-card h1{
    font-size:24px;
  }
  .privacy-mobile-guide{
    display:grid;
  }
  .privacy-controls{
    position:sticky;
    top:6px;
    z-index:5;
  }
  .privacy-details summary{
    padding:15px;
  }
  .privacy-details summary span{
    font-size:15.5px;
  }
  .privacy-detail-body{
    padding:14px 15px 16px;
  }
  .privacy-section p{
    font-size:12.2px;
    line-height:1.72;
  }
  .privacy-table-helper{
    display:grid;
    gap:4px;
    padding:9px 10px;
  }
  .privacy-table-helper span{
    font-size:10px;
  }
  .precise-privacy-table th,
  .precise-privacy-table td{
    font-size:10.5px;
    line-height:1.5;
  }
}


/* v3.5.4 개인정보 처리방침 원문 레퍼런스형 시인성 개선 */
.privacy-title-card{
  position:relative;
  overflow:hidden;
  padding:28px 22px 24px!important;
  background:
    radial-gradient(circle at 88% 8%, rgba(168,128,93,.16), transparent 32%),
    linear-gradient(135deg,#fff,#fbf4ed 72%,#f4e7d8)!important;
}
.privacy-title-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#a77b58,#d8b997);
}
.privacy-title-card h1{
  color:#251d18!important;
  font-size:30px!important;
  line-height:1.16!important;
  letter-spacing:-.075em!important;
}
.privacy-title-card p{
  max-width:760px;
  color:#6c5a4e!important;
}
.privacy-meta span{
  background:#fffaf5!important;
  border-color:#ead8c7!important;
}
.privacy-readable-note{
  border-left:5px solid #a77b58!important;
}
.privacy-controls{
  padding:8px!important;
  background:#fffaf5!important;
}
.privacy-controls button{
  min-height:36px!important;
}
.privacy-toc{
  align-items:flex-start;
  max-height:unset!important;
  overflow:visible!important;
  gap:7px!important;
  padding:15px!important;
}
.privacy-toc-title{
  width:100%;
  margin:0 0 4px;
  color:#7a543c;
  font-size:15px;
  letter-spacing:-.04em;
}
.privacy-toc a{
  border:1px solid #ead8c7;
  background:#fffaf5!important;
  color:#7a543c!important;
}
.privacy-toc a:hover{
  background:#a77b58!important;
  color:#fff!important;
}
.privacy-details{
  border-radius:26px!important;
}
.privacy-details summary{
  padding:20px 20px 18px!important;
  align-items:flex-start!important;
  background:#fff!important;
}
.privacy-details summary::before{
  content:"";
  align-self:stretch;
  width:5px;
  min-height:42px;
  border-radius:999px;
  background:#a77b58;
  flex:0 0 auto;
}
.privacy-summary-title{
  display:grid!important;
  gap:4px;
  flex:1 1 auto;
}
.privacy-section-num{
  color:#a77b58;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
}
.privacy-section-title-text{
  color:#241c17;
  font-size:20px;
  line-height:1.34;
  font-weight:900;
  letter-spacing:-.06em;
}
.privacy-details summary em{
  margin-top:2px;
  background:#f5eee6!important;
  color:#7a543c!important;
  border:1px solid #ead8c7;
}
.privacy-details[open] summary{
  background:linear-gradient(135deg,#fff,#fff8f1)!important;
  border-bottom:1px solid #ead8c7!important;
}
.privacy-detail-body{
  padding:18px 22px 22px!important;
}
.privacy-section p{
  max-width:960px;
  color:#312823!important;
  font-size:13.2px!important;
  line-height:1.88!important;
  margin:8px 0!important;
  word-break:keep-all;
}
.privacy-bullet{
  position:relative;
  padding:8px 10px 8px 16px!important;
  border-left:0!important;
  background:#fffaf5;
  border-radius:12px;
  color:#4b3c32!important;
}
.privacy-bullet::before{
  content:"";
  position:absolute;
  left:7px;
  top:18px;
  width:4px;
  height:4px;
  border-radius:999px;
  background:#a77b58;
}
.privacy-table-helper{
  background:#f3e5d8!important;
  color:#5b3f2e!important;
  border:1px solid #ead8c7;
  border-bottom:0;
}
.privacy-table-helper strong{
  font-size:13px!important;
  letter-spacing:-.03em;
}
.privacy-table-helper span{
  color:#8c705f!important;
}
.privacy-table-helper + .precise-table-wrap{
  border-color:#ead8c7!important;
}
.precise-privacy-table th,
.precise-privacy-table td{
  border-color:#ead8c7!important;
  padding:11px 12px!important;
  line-height:1.66!important;
}
.precise-privacy-table th,
.precise-privacy-table tr:first-child td{
  background:#f9efe5!important;
  color:#5f432f!important;
  font-size:12px!important;
}
.precise-privacy-table td{
  background:#fff;
  font-size:11.8px!important;
}
.precise-privacy-table tbody tr:nth-child(even) td{
  background:#fffdf9;
}
.precise-table-wrap::after{
  background:rgba(167,123,88,.92)!important;
}
@media (min-width:900px){
  .privacy-page{
    gap:18px!important;
  }
  .privacy-details summary em{
    display:none;
  }
  .privacy-detail-body{
    padding-top:20px!important;
  }
}
@media (max-width:430px){
  .privacy-title-card{
    padding:24px 18px 21px!important;
  }
  .privacy-title-card h1{
    font-size:25px!important;
  }
  .privacy-toc{
    max-height:168px!important;
    overflow:auto!important;
  }
  .privacy-details summary{
    padding:17px 15px!important;
  }
  .privacy-details summary::before{
    width:4px;
    min-height:38px;
  }
  .privacy-section-title-text{
    font-size:16.5px;
  }
  .privacy-section-num{
    font-size:12px;
  }
  .privacy-detail-body{
    padding:15px 15px 18px!important;
  }
  .privacy-section p{
    font-size:12.4px!important;
    line-height:1.78!important;
  }
  .privacy-table-helper strong{
    font-size:12px!important;
  }
  .precise-privacy-table th,
  .precise-privacy-table td{
    padding:9px 10px!important;
    font-size:10.8px!important;
    line-height:1.56!important;
  }
}


/* v3.5.5 조항 제목/글머리 기호 복원 */
.privacy-details summary{
  display:flex!important;
  color:#241c17!important;
}
.privacy-summary-title{
  display:grid!important;
  gap:4px!important;
  flex:1 1 auto!important;
}
.privacy-section-num{
  display:block!important;
  color:#0e6685!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.privacy-section-title-text{
  display:block!important;
  color:#0d4f6e!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
.privacy-details summary::before{
  background:#0e6685!important;
}
.privacy-body-heading{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 14px!important;
  padding:0 0 10px;
  border-bottom:1px solid #e4d6ca;
  color:#0d4f6e;
}
.privacy-body-heading::before{
  content:"";
  width:5px;
  min-height:28px;
  border-radius:999px;
  background:#0e6685;
  flex:0 0 auto;
  margin-top:2px;
}
.privacy-body-heading span{
  color:#0e6685;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.privacy-body-heading strong{
  color:#0d4f6e;
  font-size:18px;
  line-height:1.42;
  font-weight:900;
  letter-spacing:-.045em;
}
.privacy-bullet-list{
  display:grid;
  gap:7px;
  margin:10px 0 12px!important;
  padding-left:24px!important;
  list-style:disc outside!important;
}
.privacy-bullet-list li{
  display:list-item!important;
  list-style:disc outside!important;
  color:#2d2621!important;
  font-size:13.2px!important;
  line-height:1.82!important;
  padding-left:2px;
  word-break:keep-all;
}
.privacy-bullet-list li::marker{
  color:#2b2b2b;
  font-size:1em;
}
.privacy-bullet-list .privacy-bullet-list{
  margin-top:6px!important;
  list-style:circle outside!important;
}
.privacy-bullet-list.single{
  margin:8px 0!important;
}
.privacy-bullet{
  display:list-item!important;
  list-style:disc outside!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
}
.privacy-bullet::before{
  display:none!important;
}
.privacy-detail-body > p{
  margin:8px 0!important;
}
@media (min-width:900px){
  .privacy-details summary{
    display:none!important;
  }
  .privacy-details{
    padding:18px 22px 22px!important;
  }
  .privacy-detail-body{
    padding:0!important;
  }
}
@media (max-width:430px){
  .privacy-section-title-text{
    font-size:16.5px!important;
  }
  .privacy-section-num{
    font-size:12.5px!important;
  }
  .privacy-body-heading{
    display:none;
  }
  .privacy-bullet-list{
    padding-left:21px!important;
  }
  .privacy-bullet-list li{
    font-size:12.3px!important;
    line-height:1.72!important;
  }
}


/* v3.5.6 개인정보 처리방침 조항 제목/목록 구조 재정리 */
.privacy-page{
  display:grid;
  gap:16px;
  padding:14px 0 92px;
}
.privacy-title-card{
  position:relative;
  overflow:hidden;
  padding:28px 22px 24px!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 88% 8%, rgba(168,128,93,.16), transparent 32%),
    linear-gradient(135deg,#fff,#fbf4ed 72%,#f4e7d8)!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow)!important;
}
.privacy-title-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#a77b58,#d8b997);
}
.privacy-title-card h1{
  margin-top:8px;
  color:#251d18!important;
  font-size:30px!important;
  line-height:1.16!important;
  letter-spacing:-.075em!important;
}
.privacy-title-card p{
  max-width:760px;
  margin-top:12px;
  color:#6c5a4e!important;
  font-size:13px;
  line-height:1.75;
}
.privacy-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.privacy-meta span{
  padding:7px 9px;
  border-radius:999px;
  background:#fffaf5!important;
  border:1px solid #ead8c7!important;
  color:#7a543c!important;
  font-size:11px;
  font-weight:900;
}
.privacy-mobile-guide{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px 14px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid #0e6685;
  box-shadow:var(--shadow);
}
.privacy-mobile-guide strong{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#e8f3f6;
  color:#0e6685;
  font-size:11px;
  font-weight:900;
}
.privacy-mobile-guide span{
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.privacy-controls{
  display:flex;
  gap:8px;
  padding:8px;
  border-radius:20px;
  background:#fffaf5;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.privacy-controls button{
  flex:1;
  min-height:36px;
  border:0;
  border-radius:15px;
  background:#f5eee6;
  color:#7a543c;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}
.privacy-controls button:first-child{
  background:#a77b58;
  color:#fff;
}
.privacy-toc{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:flex-start;
  padding:15px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.privacy-toc-title{
  width:100%;
  margin:0 0 4px;
  color:#7a543c;
  font-size:15px;
  letter-spacing:-.04em;
}
.privacy-toc a{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.privacy-article.structured{
  display:grid;
  gap:14px;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.privacy-section{
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.privacy-intro{
  padding:18px 22px;
}
.privacy-p{
  color:#312823;
  font-size:13.2px;
  line-height:1.86;
  margin:8px 0;
  word-break:keep-all;
}
.privacy-details summary{
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  cursor:pointer;
  background:linear-gradient(135deg,#fff,#fff8f1);
  border-bottom:1px solid #ead8c7;
}
.privacy-details summary::-webkit-details-marker{
  display:none;
}
.privacy-details summary::before{
  content:"";
  align-self:stretch;
  width:5px;
  min-height:42px;
  border-radius:999px;
  background:#0e6685;
  flex:0 0 auto;
}
.privacy-summary-title{
  display:grid;
  gap:3px;
  flex:1 1 auto;
}
.privacy-section-num{
  color:#0e6685;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.02em;
}
.privacy-section-title-text{
  color:#0d4f6e;
  font-size:20px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.055em;
}
.privacy-details summary em{
  flex:0 0 auto;
  margin-top:2px;
  padding:7px 9px;
  border-radius:999px;
  background:#f5eee6;
  color:#7a543c;
  border:1px solid #ead8c7;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.privacy-detail-body{
  padding:18px 22px 22px;
}
.privacy-article-heading{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:0 0 15px!important;
  padding:0 0 11px;
  border-bottom:1px solid #e4d6ca;
}
.privacy-article-heading::before{
  content:"";
  width:5px;
  min-height:30px;
  border-radius:999px;
  background:#0e6685;
  flex:0 0 auto;
  margin-top:2px;
}
.privacy-article-heading span{
  color:#0e6685;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.privacy-article-heading strong{
  color:#0d4f6e;
  font-size:18px;
  line-height:1.42;
  font-weight:900;
  letter-spacing:-.045em;
}
.privacy-doc-list{
  margin:9px 0 12px!important;
  padding-left:24px!important;
}
.privacy-doc-list li{
  color:#2d2621;
  font-size:13.2px;
  line-height:1.82;
  margin:4px 0;
  padding-left:2px;
  word-break:keep-all;
}
.privacy-doc-list-ul{
  list-style:disc outside!important;
}
.privacy-doc-list-ul.level-1{
  list-style:circle outside!important;
  margin-left:16px!important;
}
.privacy-doc-list-ul.level-2,
.privacy-doc-list-ul.level-3{
  list-style:square outside!important;
  margin-left:32px!important;
}
.privacy-doc-list-ol{
  list-style:decimal outside!important;
}
.privacy-doc-list-ol.level-1{
  list-style:lower-alpha outside!important;
  margin-left:16px!important;
}
.privacy-doc-list-ol.level-2{
  list-style:lower-roman outside!important;
  margin-left:32px!important;
}
.privacy-doc-list li::marker{
  color:#2b2b2b;
}
.privacy-table-helper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:15px 0 0;
  padding:10px 12px;
  border-radius:16px 16px 0 0;
  background:#f3e5d8;
  color:#5b3f2e;
  border:1px solid #ead8c7;
  border-bottom:0;
}
.privacy-table-helper strong{
  font-size:13px;
  letter-spacing:-.03em;
  font-weight:900;
}
.privacy-table-helper span{
  flex:0 0 auto;
  font-size:10.5px;
  color:#8c705f;
}
.precise-table-wrap{
  width:100%;
  overflow:auto;
  margin:0 0 14px;
  border-radius:0 0 16px 16px;
  border:1px solid #ead8c7;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.precise-table-wrap::after{
  content:"→";
  position:sticky;
  right:8px;
  float:right;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-top:-36px;
  margin-right:8px;
  border-radius:999px;
  background:rgba(167,123,88,.92);
  color:#fff;
  font-weight:900;
  pointer-events:none;
}
.precise-privacy-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  table-layout:auto;
}
.precise-privacy-table th,
.precise-privacy-table td{
  padding:11px 12px;
  border-right:1px solid #ead8c7;
  border-bottom:1px solid #ead8c7;
  vertical-align:middle;
  text-align:left;
  word-break:keep-all;
  overflow-wrap:anywhere;
  line-height:1.66;
}
.precise-privacy-table th,
.precise-privacy-table tr:first-child td{
  background:#f9efe5;
  color:#5f432f;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.precise-privacy-table td{
  color:#2b2521;
  background:#fff;
  font-size:11.8px;
}
.precise-privacy-table tbody tr:nth-child(even) td{
  background:#fffdf9;
}
.privacy-table-1{min-width:920px!important}
.privacy-table-2{min-width:980px!important}
.privacy-table-3{min-width:620px!important}
.privacy-table-4{min-width:1180px!important}
.privacy-table-5{min-width:820px!important}
.privacy-footer{
  padding:18px;
  margin-bottom:84px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.footer-links a{
  display:inline-flex;
  padding:7px 9px;
  border-radius:999px;
  background:#faf6f0;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
@media (min-width:900px){
  .privacy-details summary{
    display:none!important;
  }
  .privacy-detail-body{
    padding:20px 24px 24px;
  }
}
@media (max-width:430px){
  .privacy-title-card{
    padding:24px 18px 21px!important;
  }
  .privacy-title-card h1{
    font-size:25px!important;
  }
  .privacy-toc{
    max-height:168px;
    overflow:auto;
  }
  .privacy-mobile-guide{
    display:grid;
  }
  .privacy-controls{
    position:sticky;
    top:6px;
    z-index:5;
  }
  .privacy-details summary{
    padding:16px 15px;
  }
  .privacy-details summary::before{
    width:4px;
    min-height:38px;
  }
  .privacy-section-num{
    font-size:12.5px;
  }
  .privacy-section-title-text{
    font-size:16.5px;
  }
  .privacy-detail-body{
    padding:15px 15px 18px;
  }
  .privacy-article-heading{
    display:none;
  }
  .privacy-p,
  .privacy-doc-list li{
    font-size:12.3px;
    line-height:1.72;
  }
  .privacy-doc-list{
    padding-left:21px!important;
  }
  .privacy-table-helper{
    display:grid;
    gap:4px;
    padding:9px 10px;
  }
  .privacy-table-helper strong{
    font-size:12px;
  }
  .privacy-table-helper span{
    font-size:10px;
  }
  .precise-privacy-table th,
  .precise-privacy-table td{
    padding:9px 10px;
    font-size:10.8px;
    line-height:1.56;
  }
}


/* v3.6 공개 페이지 공통 푸터/운영 정보 정리 */
.bps-common-footer{
  margin:24px 0 92px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#fbf6f0);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.footer-brand-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  padding-bottom:12px;
  border-bottom:1px solid #ead8c7;
}
.footer-brand-row strong{
  color:#241c17;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.05em;
}
.footer-brand-row span{
  color:#a77b58;
  font-size:11px;
  font-weight:900;
}
.footer-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.footer-info-grid div,
.footer-info-grid .footer-info-call-card{
  display:grid;
  gap:4px;
  padding:11px;
  border-radius:16px;
  background:#fff;
  border:1px solid #f0dfcf;
}
.footer-info-grid b{
  color:#7a543c;
  font-size:11px;
  font-weight:900;
}
.footer-info-grid span{
  color:#3c312a;
  font-size:12px;
  line-height:1.55;
}
.footer-link-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.footer-link-row a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:999px;
  background:#f5eee6;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
  border:1px solid #ead8c7;
}
.footer-link-row a:first-child{
  background:#7a543c;
  color:#fff;
  border-color:#7a543c;
}
.footer-copy{
  margin-top:13px;
  color:#9a8778;
  font-size:10.5px;
  line-height:1.5;
}
@media (max-width:430px){
  .bps-common-footer{
    margin-top:20px;
    padding:16px;
  }
  .footer-brand-row{
    display:grid;
    align-items:start;
  }
  .footer-info-grid{
    grid-template-columns:1fr;
  }
  .footer-link-row a{
    flex:1 1 calc(50% - 8px);
  }
}


/* v3.7 메인 홈 공개 화면 정리 */
.home-main{
  display:grid;
  gap:16px;
}
.home-hero{
  border-radius:34px;
}
.home-visual{
  min-height:218px;
}
.home-quick-section{
  margin-top:2px;
}
.home-package-grid{
  display:grid;
  gap:10px;
}
.public-card-list{
  display:grid;
  gap:10px;
}
.public-linked-card{
  padding:17px;
  display:grid;
  gap:8px;
}
.home-branch-card{
  display:grid;
  gap:14px;
}
.home-call-box{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.home-call-box strong{
  color:#7a543c;
  font-size:24px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.home-call-box span{
  color:#76695e;
  font-size:12px;
  line-height:1.45;
}
.home-reservation-card{
  display:grid;
  gap:12px;
  background:linear-gradient(135deg,#fff,#fbf4ed);
}
.home-reservation-card h2{
  font-size:22px;
  line-height:1.32;
  letter-spacing:-.055em;
}
.home-info-section,
.home-faq-section{
  margin-top:2px;
}
.bps-common-footer{
  margin-bottom:84px;
}
@media (min-width:760px){
  .home-package-grid{
    grid-template-columns:1fr;
  }
  .public-card-list{
    grid-template-columns:1fr;
  }
}
@media (max-width:430px){
  .home-visual{
    min-height:210px;
  }
  .home-call-box strong{
    font-size:22px;
  }
}


/* v3.8 하단 고정 메뉴/CTA 링크 정합성 점검 */
.bottom-nav[aria-label="하단 고정 메뉴"]{
  grid-template-columns:repeat(4,1fr);
}
.bottom-nav[aria-label="하단 고정 메뉴"] a{
  text-decoration:none;
}
.bottom-nav[aria-label="하단 고정 메뉴"] a:last-child{
  border-right:0;
}
.bottom-nav[aria-label="하단 고정 메뉴"] .active{
  color:#fff!important;
  border-color:var(--p)!important;
  background:var(--p)!important;
}


/* v3.9 공개 상세 페이지 UX 정리 */
.public-detail-main{
  display:grid;
  gap:16px;
}
.detail-hero{
  border-radius:32px;
}
.detail-hero .hero-visual{
  min-height:210px;
}
.detail-tabs{
  padding-bottom:4px;
}
.detail-info-card,
.detail-cta-card,
.reservation-form-card{
  display:grid;
  gap:12px;
}
.detail-cta-card h3{
  font-size:20px;
  line-height:1.35;
  letter-spacing:-.05em;
}
.refined-gallery .gallery-item{
  min-height:138px;
}
.refined-product-card{
  padding:0;
  overflow:hidden;
}
.product-tabs .tab,
.package-tabs .tab{
  display:grid;
  gap:3px;
}
.product-tabs .tab small,
.package-tabs .tab small{
  font-size:10px;
  opacity:.72;
}
.reservation-form-card .form-grid{
  display:grid;
  gap:12px;
}
.reservation-submit-status,
#reservationOptionsStatus{
  line-height:1.55;
}
.selected-product-notice.reservation-context-card{
  padding:16px;
  border-radius:20px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.context-chip-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.context-chip-list span{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid #f0dfcf;
  color:#3c312a;
  font-size:12px;
  line-height:1.45;
}
.context-chip-list b{
  color:#7a543c;
  font-size:11px;
}
.info-card .field-box{
  color:#3c312a;
}
.benefit-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:13px;
  border-radius:16px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.benefit-item strong{
  display:block;
  font-size:14px;
  line-height:1.45;
}
.benefit-item span{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.empty-state{
  padding:18px;
  border-radius:16px;
  background:#fffaf5;
  color:#7a543c;
  font-size:13px;
  line-height:1.6;
  border:1px solid #ead8c7;
}
.top-gap{
  margin-top:12px;
}
.bottom-nav[aria-label="하단 고정 메뉴"]{
  grid-template-columns:repeat(4,1fr);
}
.bottom-nav[aria-label="하단 고정 메뉴"] a{
  text-decoration:none;
}
.bottom-nav[aria-label="하단 고정 메뉴"] a:last-child{
  border-right:0;
}
.bottom-nav[aria-label="하단 고정 메뉴"] .active{
  color:#fff!important;
  border-color:var(--p)!important;
  background:var(--p)!important;
}
@media (max-width:430px){
  .detail-hero .hero-visual{
    min-height:196px;
  }
  .detail-cta-card h3{
    font-size:18px;
  }
  .refined-gallery .gallery-item{
    min-height:126px;
  }
}


/* v3.9.1 /services 페이지 시각 완성도 개선 */
.service-visual{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  min-height:236px!important;
  padding:20px!important;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.55), transparent 18%),
    radial-gradient(circle at 72% 32%, rgba(255,242,225,.22), transparent 26%),
    linear-gradient(135deg,#c9aa8e 0%,#9e7556 48%,#7a543c 100%)!important;
}
.service-visual::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:26px;
  pointer-events:none;
}
.service-visual .breadcrumb{
  align-self:flex-start;
  z-index:1;
}
.service-visual-copy{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  max-width:82%;
  margin-top:auto;
  color:#fff;
}
.service-visual-copy span{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  color:#fff8ef;
  font-size:10.5px;
  font-weight:900;
}
.service-visual-copy strong{
  color:#fff;
  font-size:23px;
  line-height:1.22;
  letter-spacing:-.065em;
  text-shadow:0 6px 20px rgba(53,34,21,.22);
}
.service-visual-copy p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:12px;
  line-height:1.58;
  word-break:keep-all;
}
.service-visual-tags{
  position:relative;
  z-index:1;
  margin-top:0;
}
.service-mood-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.mood-card{
  position:relative;
  min-height:132px;
  display:grid;
  align-content:end;
  gap:6px;
  padding:15px;
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.82), transparent 24%),
    linear-gradient(135deg,#fff8f0,#d6b89d);
  border:1px solid #ead8c7;
  box-shadow:0 14px 30px rgba(97,67,44,.08);
}
.mood-card::before{
  content:"";
  position:absolute;
  right:-22px;
  top:-22px;
  width:78px;
  height:78px;
  border-radius:999px;
  background:rgba(167,123,88,.12);
}
.mood-card span{
  position:absolute;
  left:14px;
  top:13px;
  color:#a77b58;
  font-size:11px;
  font-weight:900;
}
.mood-card strong{
  position:relative;
  color:#241c17;
  font-size:15px;
  line-height:1.28;
  letter-spacing:-.045em;
}
.mood-card p{
  position:relative;
  margin:0;
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.55;
  word-break:keep-all;
}
.product-mini-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.product-mini-head span{
  color:#a77b58;
  font-size:11px;
  font-weight:900;
}
.service-product-points{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0 2px;
}
.service-product-points span{
  padding:6px 8px;
  border-radius:999px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  color:#7a543c;
  font-size:10.5px;
  font-weight:900;
}
.detail-info-card .guide-table{
  margin-top:4px;
}
.detail-cta-card .field-box{
  background:#fffaf5;
  border-color:#ead8c7;
  color:#7a543c;
  font-weight:900;
}
@media (max-width:430px){
  .service-visual{
    min-height:226px!important;
    padding:18px!important;
  }
  .service-visual-copy{
    max-width:92%;
  }
  .service-visual-copy strong{
    font-size:21px;
  }
  .service-mood-grid{
    gap:9px;
  }
  .mood-card{
    min-height:126px;
    padding:14px;
  }
  .mood-card strong{
    font-size:14px;
  }
  .mood-card p{
    font-size:11px;
  }
}


/* v3.9.2 /services 레이아웃 정렬 보정 */
.service-visual{
  min-height:214px!important;
  padding:22px!important;
  justify-content:flex-start!important;
  gap:14px!important;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.38), transparent 18%),
    radial-gradient(circle at 78% 24%, rgba(255,242,225,.16), transparent 28%),
    linear-gradient(135deg,#c4a083 0%,#9b7355 50%,#7a543c 100%)!important;
}
.service-visual::after{
  display:none!important;
}
.service-visual .breadcrumb{
  margin-bottom:auto;
}
.service-visual-copy{
  max-width:94%!important;
  margin-top:24px!important;
  align-self:stretch;
  gap:8px!important;
}
.service-visual-copy span{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  min-height:28px;
}
.service-visual-copy strong{
  max-width:440px;
  font-size:22px!important;
  line-height:1.28!important;
  letter-spacing:-.062em!important;
}
.service-visual-copy p{
  max-width:440px;
  line-height:1.62!important;
}
.service-visual-tags{
  margin-top:4px!important;
  gap:7px!important;
}
.service-visual-tags .hero-tag{
  min-height:30px;
  display:inline-flex;
  align-items:center;
}
.detail-hero .hero-body{
  padding-top:22px!important;
}
.detail-hero .summary-grid{
  gap:8px!important;
}
.detail-hero .summary-item{
  min-height:74px;
  display:grid;
  align-content:center;
  justify-items:center;
}
.service-guide-card{
  padding:20px!important;
  display:grid!important;
  gap:12px!important;
  overflow:hidden;
}
.service-guide-card > .chip{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  justify-self:start!important;
  align-self:start!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#f5eee6!important;
  color:#7a543c!important;
}
.service-guide-card h3{
  margin:0!important;
  font-size:20px!important;
  line-height:1.35!important;
  letter-spacing:-.055em!important;
}
.service-guide-card > .muted{
  margin:0!important;
  max-width:92%;
  line-height:1.72!important;
}
.service-guide-card .guide-table{
  display:grid;
  gap:8px!important;
  margin-top:4px!important;
}
.service-guide-card .guide-row{
  display:grid!important;
  grid-template-columns:86px 1fr!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #ead8c7!important;
}
.service-guide-card .guide-row b{
  color:#7a543c!important;
  font-size:12px!important;
  line-height:1.35!important;
  white-space:nowrap;
}
.service-guide-card .guide-row span{
  color:#4c4038!important;
  font-size:12.2px!important;
  line-height:1.5!important;
}
.service-mood-section .section-head{
  margin-bottom:8px;
}
.service-mood-grid{
  gap:9px!important;
}
.mood-card{
  min-height:118px!important;
  align-content:end!important;
}
.product-mini-head{
  margin-bottom:2px;
}
.service-product-points{
  margin:8px 0 4px!important;
}
.service-reservation-card{
  padding:20px!important;
}
.service-reservation-card > .chip{
  display:inline-flex!important;
  width:max-content!important;
  justify-self:start!important;
  padding:7px 10px!important;
}
.service-reservation-card h3{
  margin:0!important;
  font-size:20px!important;
  line-height:1.35!important;
  letter-spacing:-.055em!important;
}
.service-reservation-card .field{
  margin-top:2px;
}
.service-reservation-card .field-box{
  min-height:46px;
  display:flex;
  align-items:center;
}
@media (max-width:430px){
  .service-visual{
    min-height:202px!important;
    padding:18px!important;
  }
  .service-visual-copy{
    max-width:96%!important;
    margin-top:18px!important;
  }
  .service-visual-copy strong{
    font-size:20px!important;
    line-height:1.3!important;
  }
  .service-visual-copy p{
    font-size:11.5px!important;
  }
  .service-visual-tags{
    gap:6px!important;
  }
  .detail-hero .summary-item{
    min-height:68px;
  }
  .service-guide-card{
    padding:18px!important;
  }
  .service-guide-card h3,
  .service-reservation-card h3{
    font-size:18px!important;
  }
  .service-guide-card > .muted{
    max-width:100%;
  }
  .service-guide-card .guide-row{
    grid-template-columns:74px 1fr!important;
    min-height:46px!important;
    padding:10px 12px!important;
  }
  .service-guide-card .guide-row b,
  .service-guide-card .guide-row span{
    font-size:11.5px!important;
  }
  .mood-card{
    min-height:112px!important;
  }
}


/* v3.9.4: v3.9.2 /services 디자인 유지 + 지점 주소/연락처 정보만 반영 */


/* v3.9.5 지점 정보 표시란 디자인 개선 */
.info-card{
  padding:0!important;
  overflow:hidden;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.branch-info-panel{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#fffaf5);
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.branch-info-head{
  display:grid;
  gap:7px;
  padding-bottom:12px;
  border-bottom:1px solid #ead8c7;
}
.branch-info-head .chip{
  width:max-content;
  justify-self:start;
}
.branch-info-head h3{
  margin:0;
  color:#241c17;
  font-size:21px;
  line-height:1.32;
  letter-spacing:-.055em;
}
.branch-info-head p{
  margin:0;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.55;
}
.branch-info-list{
  display:grid;
  gap:10px;
}
.branch-info-item{
  display:grid;
  gap:7px;
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid #f0dfcf;
}
.branch-info-item span{
  color:#7a543c;
  font-size:11px;
  font-weight:900;
}
.branch-info-item strong{
  color:#2b2521;
  font-size:14px;
  line-height:1.62;
  font-weight:800;
  word-break:keep-all;
}
.branch-info-item.phone strong{
  color:#7a543c;
  font-size:20px;
  letter-spacing:-.025em;
}
.postal-inline{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:4px 7px;
  border-radius:999px;
  background:#f5eee6;
  border:1px solid #ead8c7;
  color:#7a543c;
  font-size:10.5px;
  font-weight:900;
  white-space:nowrap;
  vertical-align:middle;
}
.branch-info-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
@media (max-width:430px){
  .branch-info-panel{
    padding:16px;
  }
  .branch-info-head h3{
    font-size:19px;
  }
  .branch-info-item{
    padding:13px;
  }
  .branch-info-item strong{
    font-size:13px;
  }
  .branch-info-item.phone strong{
    font-size:18px;
  }
  .postal-inline{
    margin-left:0;
    margin-top:5px;
    width:max-content;
    display:inline-flex;
  }
}


/* v3.10 관리자 지점 갱신 / 고객 문구 / 갤러리 */
.admin-mini-guide{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.admin-mini-guide span{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:14px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  color:#4c4038;
  font-size:12px;
  line-height:1.5;
}
.admin-mini-guide b{
  color:#7a543c;
  font-size:11px;
}
.gallery-visual{
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.42), transparent 18%),
    radial-gradient(circle at 80% 30%, rgba(255,235,208,.18), transparent 30%),
    linear-gradient(135deg,#c8a98d,#9c7356 52%,#775139)!important;
}
.gallery-page .hero-tags{
  margin-top:auto;
}
.gallery-sub-tabs{
  margin-top:10px;
}
.photo-gallery-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.gallery-photo-card{
  position:relative;
  min-height:210px;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.gallery-photo-card img{
  width:100%;
  height:168px;
  object-fit:cover;
  display:block;
  background:#f5eee6;
}
.gallery-photo-card.is-placeholder{
  display:grid;
  align-content:end;
  min-height:220px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.82), transparent 24%),
    linear-gradient(135deg,#fff8f0,#d4b49a);
}
.gallery-placeholder-mark{
  position:absolute;
  left:14px;
  top:14px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.55);
}
.gallery-photo-caption{
  display:grid;
  gap:5px;
  padding:13px;
  background:rgba(255,255,255,.94);
}
.gallery-photo-card.is-placeholder .gallery-photo-caption{
  background:transparent;
}
.gallery-photo-caption span{
  color:#a77b58;
  font-size:10.5px;
  font-weight:900;
}
.gallery-photo-caption strong{
  color:#241c17;
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.04em;
}
.gallery-photo-caption p{
  margin:0;
  color:#6c5a4e;
  font-size:11.2px;
  line-height:1.55;
  word-break:keep-all;
}
@media (max-width:430px){
  .photo-gallery-grid{
    gap:9px;
  }
  .gallery-photo-card{
    min-height:196px;
  }
  .gallery-photo-card img{
    height:150px;
  }
  .gallery-photo-card.is-placeholder{
    min-height:204px;
  }
  .gallery-photo-caption{
    padding:12px;
  }
}


/* v3.10.117 갤러리 정사각형 표시 / 서비스 연동 갤러리 / 관리자 갤러리 정렬 */
.photo-gallery-grid{
  align-items:start;
}
.gallery-photo-card{
  min-height:0!important;
}
.gallery-photo-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1;
  object-fit:contain!important;
  background:#f7efe7;
}
.gallery-photo-card.is-placeholder{
  min-height:0!important;
  aspect-ratio:1/1;
}
.gallery-photo-card.is-placeholder .gallery-photo-caption{
  align-self:end;
}
.service-linked-gallery-section{
  margin-top:2px;
}
.service-linked-gallery-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.service-gallery-card{
  display:grid;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
  text-decoration:none;
}
.service-gallery-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#f7efe7;
  display:block;
}
.service-gallery-card span{
  margin:12px 12px 0;
  color:#a77b58;
  font-size:10.5px;
  font-weight:900;
}
.service-gallery-card strong{
  margin:5px 12px 13px;
  color:#241c17;
  font-size:13.5px;
  line-height:1.35;
  letter-spacing:-.04em;
}
.editor-doc-item em{
  display:inline-flex;
  align-items:center;
  margin-left:4px;
  padding:3px 6px;
  border-radius:999px;
  background:#f5eee6;
  color:#7a543c;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  vertical-align:middle;
}
@media (max-width:430px){
  .service-linked-gallery-grid{
    gap:9px;
  }
  .service-gallery-card strong{
    font-size:12.5px;
  }
}


/* v3.10.117 갤러리 캡션 노출/SEO 설명 분리 */
.service-gallery-card p{
  margin:0 12px 13px;
  color:#6c5a4e;
  font-size:11px;
  line-height:1.55;
  word-break:keep-all;
}
.gallery-photo-caption p{
  display:block;
}


/* v3.10.117 갤러리 새 데이터 추가 드롭다운 모달 */
.admin-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(42,31,24,.38);
  backdrop-filter:blur(8px);
}
.admin-modal-card{
  width:min(520px,100%);
  display:grid;
  gap:16px;
  padding:18px;
  border-radius:28px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  box-shadow:0 24px 80px rgba(67,45,31,.28);
}
.admin-modal-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.admin-modal-head h3{
  margin:8px 0 6px;
  color:#241c17;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.055em;
}
.admin-modal-head p{
  margin:0;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.55;
}
.admin-modal-close{
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#7a543c;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(97,67,44,.08);
}
.admin-modal-body{
  display:grid;
  gap:12px;
}
.admin-modal-preview{
  display:grid;
  gap:5px;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
}
.admin-modal-preview b{
  color:#7a543c;
  font-size:11px;
}
.admin-modal-preview span{
  color:#4c4038;
  font-size:12px;
  line-height:1.5;
}
.admin-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media (max-width:430px){
  .admin-modal-card{
    padding:16px;
    border-radius:24px;
  }
  .admin-modal-head h3{
    font-size:19px;
  }
}


/* v3.10.117 이미지 URL 로드 실패 대응 / 관리자 URL 미리보기 */
.image-load-fallback{
  width:100%;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:18px;
  text-align:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.86), transparent 24%),
    linear-gradient(135deg,#fff8f0,#dfc4ad);
  color:#6c5a4e;
}
.image-load-fallback .gallery-placeholder-mark{
  position:static!important;
  width:44px;
  height:44px;
}
.image-load-fallback strong{
  color:#241c17;
  font-size:14px;
  line-height:1.35;
}
.image-load-fallback span{
  max-width:220px;
  color:#6c5a4e;
  font-size:11px;
  line-height:1.55;
}
.image-load-fallback a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #ead8c7;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.image-load-fallback.compact{
  min-height:160px;
  gap:6px;
}
.gallery-url-preview{
  display:grid;
  gap:10px;
  margin:-2px 0 8px;
}
.gallery-url-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 2px;
}
.gallery-url-preview-head b{
  color:#7a543c;
  font-size:12px;
}
.gallery-url-preview-head a{
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.gallery-url-preview-frame{
  position:relative;
  overflow:hidden;
  min-height:180px;
  border-radius:18px;
  border:1px solid #ead8c7;
  background:#f7efe7;
}
.gallery-url-preview-frame img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  background:#f7efe7;
}
.gallery-url-preview-error{
  display:none;
  min-height:180px;
  place-items:center;
  align-content:center;
  gap:6px;
  padding:16px;
  text-align:center;
  color:#7a543c;
}
.gallery-url-preview-error strong{
  color:#241c17;
  font-size:13px;
}
.gallery-url-preview-error span{
  font-size:11px;
  line-height:1.55;
}
.gallery-url-preview-frame.is-error img{
  display:none;
}
.gallery-url-preview-frame.is-error .gallery-url-preview-error{
  display:grid;
}


/* v3.10.117 Firebase Storage 직접 업로드 */
.gallery-storage-upload{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.gallery-storage-upload-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.gallery-storage-upload-head b{
  display:block;
  color:#7a543c;
  font-size:13px;
}
.gallery-storage-upload-head span{
  display:block;
  margin-top:4px;
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.5;
}
.storage-file-drop{
  display:grid;
  place-items:center;
  gap:5px;
  min-height:106px;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px dashed #c7a68c;
  cursor:pointer;
  text-align:center;
}
.storage-file-drop input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:1px;
  height:1px;
}
.storage-file-drop span{
  color:#241c17;
  font-size:15px;
  font-weight:900;
}
.storage-file-drop em{
  color:#8c7768;
  font-size:11px;
  font-style:normal;
  line-height:1.4;
}
.upload-progress{
  display:grid;
  gap:7px;
}
.upload-progress div{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#f0dfcf;
}
.upload-progress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#a77b58;
  transition:width .2s ease;
}
.upload-progress p{
  margin:0;
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.5;
}
.storage-upload-note{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.55;
}
.storage-upload-note b{
  color:#7a543c;
}


/* v3.10.117 Storage 업로드 UI 표시 보정 */
#galleryStorageUploadBox,
#galleryImageUrlPreview{
  grid-column:1 / -1;
}
.gallery-storage-upload{
  margin-top:-2px;
}


/* v3.10.117 갤러리 분류별 목록 / 드래그&드롭 / WebP 업로드 */
.gallery-list-filter{
  position:sticky;
  top:0;
  z-index:2;
  padding:0 0 8px;
  background:linear-gradient(180deg,#f8f0e8 0%,rgba(248,240,232,.92) 100%);
}
.gallery-list-group-title{
  margin:12px 0 6px;
  padding:6px 8px;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  border-radius:999px;
  background:#f5eee6;
  border:1px solid #ead8c7;
}
.gallery-doc-item{
  grid-template-columns:48px 1fr;
  align-items:center;
  gap:10px;
}
.gallery-doc-thumb{
  width:48px;
  height:48px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#f5eee6;
  border:1px solid #ead8c7;
}
.gallery-doc-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-doc-thumb span{
  font-size:18px;
}
.storage-file-drop.is-dragover{
  background:#fff7ef;
  border-color:#a77b58;
  box-shadow:0 0 0 4px rgba(167,123,88,.12);
}
.storage-file-drop.is-dragover span{
  color:#7a543c;
}


/* v3.10.117 갤러리 상세 이미지 / 모달 */
.storage-upload-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.storage-upload-panel{
  display:grid;
  gap:8px;
}
.storage-upload-panel > strong{
  color:#7a543c;
  font-size:12px;
}
.storage-file-drop.detail{
  background:#fffdf9;
}
.gallery-url-preview-frame.detail{
  max-height:360px;
  overflow:auto;
}
.gallery-url-preview-frame.detail img{
  height:auto;
  max-height:none;
  aspect-ratio:auto;
}
.gallery-photo-card.has-detail-image,
.service-gallery-card.has-detail-image{
  cursor:pointer;
}
.gallery-photo-card.has-detail-image:after,
.service-gallery-card.has-detail-image:after{
  content:"상세 보기";
  position:absolute;
  right:10px;
  top:10px;
  z-index:2;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#7a543c;
  border:1px solid rgba(234,216,199,.78);
  font-size:10px;
  font-weight:900;
  backdrop-filter:blur(6px);
}
.service-gallery-card{
  position:relative;
}
.gallery-detail-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  background:rgba(20,16,13,.78);
  overscroll-behavior:contain;
}
.gallery-detail-modal.is-open{
  display:block;
}
.gallery-detail-modal-scroll{
  width:100%;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:26px 14px 42px;
  box-sizing:border-box;
}
.gallery-detail-modal-scroll img{
  display:block;
  width:min(100%,760px);
  height:auto;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 80px rgba(0,0,0,.35);
}
.gallery-modal-open{
  overflow:hidden;
}
.gallery-detail-modal-scroll-locked{
  overflow:hidden;
}
.service-page-modal-scroll-locked,
.branch-gallery-modal-scroll-locked,
.company-info-modal-scroll-locked{
  overflow:hidden;
}
@media (max-width:430px){
  .storage-upload-split{
    grid-template-columns:1fr;
  }
  .gallery-detail-modal-scroll{
    padding:14px 10px 34px;
  }
  .gallery-detail-modal-scroll img{
    width:100%;
    border-radius:14px;
  }
}


/* v3.10.117 상세 이미지 모달 UX 안정화 */
.gallery-photo-card.has-detail-image:after,
.service-gallery-card.has-detail-image:after{
  content:none!important;
  display:none!important;
}
.gallery-photo-meta,
.service-gallery-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
.gallery-photo-meta span,
.service-gallery-meta span{
  min-width:0;
  margin:0!important;
  color:#a77b58;
  font-size:10.5px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gallery-photo-meta em,
.service-gallery-meta em{
  flex:0 0 auto;
  color:#9a7358;
  font-size:10px;
  font-weight:900;
  font-style:normal;
  letter-spacing:-.03em;
}
.service-gallery-meta{
  margin:12px 12px 0;
}
.service-gallery-card strong{
  margin-top:5px;
}
.gallery-detail-modal{
  touch-action:pan-x pan-y;
}
.gallery-detail-loading,
.gallery-detail-error{
  position:fixed;
  left:50%;
  top:50%;
  z-index:2;
  transform:translate(-50%,-50%);
  width:min(280px,calc(100% - 48px));
  display:none;
  place-items:center;
  gap:10px;
  padding:18px;
  border-radius:22px;
  background:rgba(255,250,245,.94);
  color:#4c4038;
  text-align:center;
  box-shadow:0 18px 60px rgba(0,0,0,.28);
}
.gallery-detail-loading span{
  width:28px;
  height:28px;
  border-radius:999px;
  border:3px solid rgba(167,123,88,.22);
  border-top-color:#a77b58;
  animation:gallerySpin .8s linear infinite;
}
.gallery-detail-loading strong,
.gallery-detail-error strong{
  color:#241c17;
  font-size:14px;
  line-height:1.4;
}
.gallery-detail-error span{
  color:#6c5a4e;
  font-size:12px;
  line-height:1.5;
}
.gallery-detail-modal.is-loading .gallery-detail-loading{
  display:grid;
}
.gallery-detail-modal.is-error .gallery-detail-error{
  display:grid;
}
.gallery-detail-modal .gallery-detail-modal-scroll img{
  opacity:0;
  transition:opacity .18s ease;
}
.gallery-detail-modal.is-loaded .gallery-detail-modal-scroll img{
  opacity:1;
}
.gallery-detail-modal.is-error .gallery-detail-modal-scroll img,
.gallery-detail-modal.is-loading .gallery-detail-modal-scroll img{
  opacity:0;
}
@keyframes gallerySpin{
  to{ transform:rotate(360deg); }
}


/* v3.10.117 지점 액션/사이버투어/지도 모달/지점 갤러리 */
.branch-info-item.phone{
  cursor:pointer;
}
.branch-info-actions{
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
}
.branch-info-actions button.btn{
  width:100%;
  border:1px solid #ead8c7;
  background:#fff;
  color:#7a543c;
  cursor:pointer;
}
.branch-iframe-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  padding:18px;
  background:rgba(22,17,14,.68);
  backdrop-filter:blur(8px);
}
.branch-iframe-modal.is-open{
  display:grid;
  place-items:center;
}
.branch-iframe-card{
  width:min(960px,100%);
  height:min(78vh,720px);
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow:hidden;
  border-radius:24px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  box-shadow:0 24px 90px rgba(0,0,0,.32);
}
.branch-iframe-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #ead8c7;
}
.branch-iframe-head strong{
  color:#241c17;
  font-size:16px;
}
.branch-iframe-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#7a543c;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.branch-iframe-body{
  min-height:0;
  background:#f5eee6;
}
.branch-iframe-body iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  background:#fff;
}
.branch-iframe-actions{
  padding:10px 12px 12px;
  border-top:1px solid #ead8c7;
  background:#fffaf5;
}
.branch-modal-open{
  overflow:hidden;
}
.branch-gallery-section{
  margin-top:2px;
}
.branch-gallery-tabs{
  margin-bottom:10px;
}
.branch-gallery-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.branch-gallery-card{
  position:relative;
  display:grid;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.branch-gallery-card.has-detail-image{
  cursor:pointer;
}
.branch-gallery-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  background:#f7efe7;
}
.branch-gallery-caption{
  display:grid;
  gap:5px;
  padding:12px;
}
.branch-gallery-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.branch-gallery-meta span{
  color:#a77b58;
  font-size:10.5px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.branch-gallery-meta em{
  color:#9a7358;
  font-size:10px;
  font-weight:900;
  font-style:normal;
}
.branch-gallery-caption strong{
  color:#241c17;
  font-size:13.5px;
  line-height:1.35;
  letter-spacing:-.04em;
}
.branch-gallery-caption p{
  margin:0;
  color:#6c5a4e;
  font-size:11px;
  line-height:1.55;
  word-break:keep-all;
}
@media (max-width:430px){
  .branch-iframe-modal{
    padding:10px;
  }
  .branch-iframe-card{
    height:82vh;
    border-radius:20px;
  }
  .branch-gallery-grid{
    gap:9px;
  }
}


/* v3.10.117 지점 갤러리 관리 UX / 외부 링크 안정화 / 원주 정리 */
.branch-gallery-manager{
  grid-column:1 / -1;
  display:grid;
  gap:14px;
  margin-top:12px;
  padding:16px;
  border-radius:22px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-gallery-manager-head h3{
  margin:8px 0 5px;
  color:#241c17;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.045em;
}
.branch-gallery-manager-head p{
  margin:0;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.55;
}
.branch-gallery-manager-body{
  display:grid;
  gap:12px;
}
.branch-gallery-controls{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.branch-gallery-add-group{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.branch-gallery-drop{
  grid-column:1 / -1;
}
.branch-gallery-existing{
  display:grid;
  gap:10px;
}
.branch-gallery-existing > strong{
  color:#7a543c;
  font-size:13px;
}
.branch-gallery-admin-list{
  display:grid;
  gap:8px;
}
.branch-gallery-admin-item{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:10px;
  align-items:center;
  padding:8px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
}
.branch-gallery-admin-item img,
.branch-gallery-admin-item > span{
  width:58px;
  height:58px;
  border-radius:14px;
  object-fit:cover;
  background:#f5eee6;
  display:grid;
  place-items:center;
}
.branch-gallery-admin-item b{
  display:block;
  color:#241c17;
  font-size:13px;
  line-height:1.35;
}
.branch-gallery-admin-item small{
  display:block;
  margin:3px 0 7px;
  color:#7a6a5f;
  font-size:11px;
}
.branch-gallery-admin-item .btn{
  min-height:30px;
  padding:6px 10px;
  font-size:11px;
}
#cleanupWonjuDataBtn{
  border-color:#f0c9c3;
  color:#9a3f34;
  background:#fff7f5;
}
@media (max-width:430px){
  .branch-gallery-controls,
  .branch-gallery-add-group{
    grid-template-columns:1fr;
  }
}


/* v3.10.117 Google Maps Embed 좌표 기반 지도 */
.branch-google-map-modal .branch-iframe-card{
  height:min(72vh,680px);
}
.branch-google-map-modal .branch-iframe-body{
  min-height:360px;
}
.branch-google-map-modal .branch-iframe-body iframe{
  width:100%;
  height:100%;
  border:0;
}


/* v3.10.117 상품 CTA/지점 갤러리 관리 보정 */
.product-actions{
  background:#fff!important;
  box-shadow:0 14px 34px rgba(67,46,27,.14);
  isolation:isolate;
}
.branch-gallery-existing-note{
  margin:-4px 0 0;
  color:#7a6a5f;
  font-size:11px;
  line-height:1.55;
}
.branch-gallery-drop input[multiple]{
  cursor:pointer;
}
.branch-gallery-admin-list{
  max-height:520px;
  overflow:auto;
  padding-right:2px;
}
.branch-gallery-admin-list::-webkit-scrollbar{
  width:6px;
}
.branch-gallery-admin-list::-webkit-scrollbar-thumb{
  background:#dac5b3;
  border-radius:999px;
}


/* v3.10.117 상품 CTA/지점 갤러리 관리 보정 */
.product-actions{
  background:#fff!important;
  box-shadow:0 14px 34px rgba(67,46,27,.14);
  isolation:isolate;
}
.branch-gallery-existing-note{
  margin:-4px 0 0;
  color:#7a6a5f;
  font-size:11px;
  line-height:1.55;
}
.branch-gallery-drop input[multiple]{
  cursor:pointer;
}
.branch-gallery-admin-list{
  max-height:520px;
  overflow:auto;
  padding-right:2px;
}
.branch-gallery-admin-list::-webkit-scrollbar{
  width:6px;
}
.branch-gallery-admin-list::-webkit-scrollbar-thumb{
  background:#dac5b3;
  border-radius:999px;
}


/* v3.10.117 CTA 비침/지점 분류/Google 지도 내부 버튼 보정 */
.product-actions{
  position:sticky;
  background:#fff!important;
  z-index:80;
  isolation:isolate;
  overflow:visible;
}
.product-actions::before{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  top:-18px;
  bottom:-10px;
  z-index:-1;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 40px rgba(67,46,27,.13);
}
.product-actions::after{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  top:-22px;
  height:22px;
  z-index:-2;
  background:#fff;
}
.branch-google-map-body{
  position:relative;
}
.branch-google-map-frame-wrap{
  position:relative;
  width:100%;
  height:100%;
  min-height:360px;
  overflow:hidden;
  background:#f5eee6;
}
.branch-google-map-frame-wrap iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.branch-google-map-corner-cover{
  position:absolute;
  top:0;
  left:0;
  width:184px;
  height:54px;
  z-index:3;
  display:flex;
  align-items:center;
  padding-left:14px;
  pointer-events:auto;
  background:linear-gradient(90deg,#fffaf5 0%,#fffaf5 72%,rgba(255,250,245,.78) 100%);
  border-bottom-right-radius:16px;
  box-shadow:0 6px 18px rgba(67,46,27,.08);
}
.branch-google-map-corner-cover span{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#f1e6dc;
  color:#7a543c;
  font-size:12px;
  font-weight:900;
}
.branch-gallery-add-group .cms-input::placeholder{
  color:#9b8778;
}


/* v3.10.117 지점 서비스 체크박스 / 지점 이벤트 모달 */
.service-checkbox-field{
  display:grid;
  gap:9px;
  padding:12px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.service-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.service-check-item{
  display:flex;
  gap:9px;
  align-items:center;
  padding:10px;
  border-radius:15px;
  background:#fff;
  border:1px solid #ead8c7;
  cursor:pointer;
}
.service-check-item input{
  width:17px;
  height:17px;
  flex:0 0 auto;
}
.service-check-item strong{
  display:block;
  font-size:12px;
  color:#241c17;
}
.service-check-item em{
  display:block;
  margin-top:2px;
  font-style:normal;
  font-size:10px;
  color:#8d6f52;
}
.service-check-item:has(input:checked),
.service-check-item.checked{
  border-color:#a77b59;
  background:#f5eee6;
}
.branch-event-open{
  overflow:hidden;
}
.branch-event-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(35,25,18,.48);
  backdrop-filter:blur(5px);
}
.branch-event-modal.is-open{
  display:flex;
}
.branch-event-card{
  position:relative;
  width:min(430px,100%);
  max-height:min(86vh,780px);
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
  border-radius:26px;
  background:#fffaf5;
  box-shadow:0 28px 80px rgba(35,25,18,.34);
  border:1px solid rgba(255,255,255,.54);
}
.branch-event-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#241c17;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(35,25,18,.13);
}
.branch-event-scroll{
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:#f5eee6;
}
.branch-event-image-wrap img{
  display:block;
  width:100%;
  height:auto;
}
.branch-event-image-wrap a{
  display:block;
}
.branch-event-actions{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:8px;
  padding:12px;
  background:#fff;
  border-top:1px solid #ead8c7;
}
.branch-event-today,
.branch-event-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:14px;
  font-weight:900;
  font-size:13px;
  text-decoration:none;
}
.branch-event-today{
  border:1px solid #ead8c7;
  background:#fffaf5;
  color:#7a543c;
}
.branch-event-cta{
  border:0;
  background:#a77b59;
  color:#fff;
}
@media (max-width:430px){
  .service-checkbox-grid{
    grid-template-columns:1fr;
  }
  .branch-event-modal{
    padding:12px;
  }
  .branch-event-card{
    max-height:84vh;
  }
}


/* v3.10.117 지점 종속 이벤트 관리 / 공통 적용 지점 */
.branch-checkbox-field,
.branch-event-targets{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-checkbox-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.branch-check-item{
  display:flex;
  gap:9px;
  align-items:center;
  padding:10px;
  border-radius:15px;
  background:#fff;
  border:1px solid #ead8c7;
  cursor:pointer;
}
.branch-check-item input{
  width:17px;
  height:17px;
  flex:0 0 auto;
}
.branch-check-item strong{
  display:block;
  font-size:12px;
  color:#241c17;
}
.branch-check-item em{
  display:block;
  margin-top:2px;
  font-style:normal;
  font-size:10px;
  color:#8d6f52;
}
.branch-check-item:has(input:checked),
.branch-check-item.checked{
  border-color:#a77b59;
  background:#f5eee6;
}
.branch-event-manager{
  margin-top:18px;
  padding:14px;
  border-radius:24px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-event-manager-head h3{
  margin:8px 0 4px;
  font-size:18px;
}
.branch-event-manager-head p,
.branch-event-targets p{
  margin:4px 0 0;
  color:#7a6a5f;
  font-size:12px;
  line-height:1.55;
}
.branch-event-manager-body{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.branch-event-editor-card,
.branch-event-existing{
  display:grid;
  gap:12px;
  padding:12px;
  border-radius:20px;
  background:#fff;
  border:1px solid #ead8c7;
}
.branch-event-editor-head,
.branch-event-actions-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.branch-event-admin-list{
  display:grid;
  gap:9px;
}
.branch-event-admin-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:17px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-event-admin-item img{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:14px;
}
.branch-event-admin-item b{
  display:block;
  font-size:13px;
}
.branch-event-admin-item small{
  display:block;
  margin-top:3px;
  color:#7a6a5f;
  font-size:10px;
  line-height:1.45;
}
.branch-event-admin-actions{
  display:flex;
  gap:6px;
  margin-top:7px;
  flex-wrap:wrap;
}
@media (max-width:430px){
  .branch-checkbox-grid{
    grid-template-columns:1fr;
  }
  .branch-event-admin-item{
    grid-template-columns:58px 1fr;
  }
  .branch-event-admin-item img{
    width:58px;
    height:58px;
  }
}


/* v3.10.117 지점 이벤트 이미지 업로드 / 지도 미리보기 표시 제거 */
.branch-google-map-corner-cover{
  display:none!important;
}
.branch-google-map-click-shield{
  position:absolute;
  top:0;
  left:0;
  width:184px;
  height:54px;
  z-index:3;
  pointer-events:auto;
  background:transparent;
}
.branch-event-image-uploader{
  display:grid;
  gap:10px;
}
.branch-event-drop{
  margin-top:4px;
}
.branch-event-drop.is-dragover{
  border-color:#a77b59;
  background:#f5eee6;
}
.branch-event-image-preview{
  display:grid;
  gap:8px;
}
.branch-event-image-preview.has-image{
  padding:10px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-event-image-preview img{
  width:100%;
  max-height:360px;
  object-fit:contain;
  border-radius:14px;
  background:#f5eee6;
}
.branch-event-image-preview p{
  margin:0;
  color:#7a6a5f;
  font-size:12px;
  line-height:1.5;
}


/* v3.10.117 지점별 복수 사이버 투어 관리 */
.branch-tour-manager{
  margin-top:18px;
  padding:14px;
  border-radius:24px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-tour-manager-head h3{
  margin:8px 0 4px;
  font-size:18px;
}
.branch-tour-manager-head p{
  margin:4px 0 0;
  color:#7a6a5f;
  font-size:12px;
  line-height:1.55;
}
.branch-tour-manager-body{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.branch-tour-editor-card,
.branch-tour-existing{
  display:grid;
  gap:12px;
  padding:12px;
  border-radius:20px;
  background:#fff;
  border:1px solid #ead8c7;
}
.branch-tour-editor-head,
.branch-tour-actions-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.branch-tour-admin-list{
  display:grid;
  gap:9px;
}
.branch-tour-admin-item{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:17px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.branch-tour-admin-item > span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:14px;
  background:#f1e6dc;
}
.branch-tour-admin-item b{
  display:block;
  font-size:13px;
}
.branch-tour-admin-item small{
  display:block;
  margin-top:3px;
  color:#7a6a5f;
  font-size:10px;
  line-height:1.45;
}
.branch-tour-admin-actions{
  display:flex;
  gap:6px;
  margin-top:7px;
  flex-wrap:wrap;
}
.branch-tour-open{
  overflow:hidden;
}
.branch-tour-modal{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(35,25,18,.48);
  backdrop-filter:blur(5px);
}
.branch-tour-modal.is-open{
  display:flex;
}
.branch-tour-card{
  width:min(430px,100%);
  max-height:min(82vh,680px);
  overflow:hidden;
  border-radius:26px;
  background:#fffaf5;
  box-shadow:0 28px 80px rgba(35,25,18,.34);
  border:1px solid rgba(255,255,255,.54);
}
.branch-tour-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:18px;
  border-bottom:1px solid #ead8c7;
  background:#fff;
}
.branch-tour-head strong{
  display:block;
  font-size:18px;
}
.branch-tour-head p{
  margin:4px 0 0;
  color:#7a6a5f;
  font-size:12px;
}
.branch-tour-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#fffaf5;
  color:#241c17;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.branch-tour-list{
  display:grid;
  gap:8px;
  max-height:58vh;
  overflow:auto;
  padding:14px;
}
.branch-tour-option{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:center;
  width:100%;
  min-height:64px;
  border:1px solid #ead8c7;
  border-radius:18px;
  background:#fff;
  text-align:left;
  padding:10px;
  cursor:pointer;
}
.branch-tour-option span{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#f1e6dc;
}
.branch-tour-option strong{
  display:block;
  font-size:14px;
  color:#241c17;
}
.branch-tour-option em{
  display:block;
  margin-top:3px;
  color:#7a6a5f;
  font-style:normal;
  font-size:11px;
  line-height:1.45;
}


/* v3.10.117 관리자 시인성 / URL 공유 구조 보정 */
.firebase-protected .panel.active{
  display:grid!important;
  background:transparent!important;
  color:var(--text)!important;
  border-color:transparent!important;
}
.firebase-protected .panel,
.firebase-protected .panel h1,
.firebase-protected .panel h2,
.firebase-protected .panel h3,
.firebase-protected .panel h4,
.firebase-protected .panel strong,
.firebase-protected .editor-form,
.firebase-protected .editor-form h3,
.firebase-protected .editor-form strong,
.firebase-protected .editor-doc-item strong,
.firebase-protected .branch-tour-manager h3,
.firebase-protected .branch-event-manager h3,
.firebase-protected .branch-gallery-manager h3{
  color:#241c17!important;
}
.firebase-protected .panel p,
.firebase-protected .panel .muted,
.firebase-protected .editor-form p,
.firebase-protected .editor-form small,
.firebase-protected .editor-doc-item span,
.firebase-protected .field-help,
.firebase-protected .branch-tour-manager p,
.firebase-protected .branch-event-manager p,
.firebase-protected .branch-gallery-manager p{
  color:#5f5046!important;
}
.firebase-protected .cms-input,
.firebase-protected .cms-select,
.firebase-protected .cms-textarea,
.firebase-protected input,
.firebase-protected select,
.firebase-protected textarea{
  color:#241c17!important;
  background:#fff!important;
}
.firebase-protected .cms-input::placeholder,
.firebase-protected .cms-textarea::placeholder,
.firebase-protected input::placeholder,
.firebase-protected textarea::placeholder{
  color:#8a796b!important;
  opacity:1;
}
.firebase-protected .editor-doc-item.active strong,
.firebase-protected .editor-doc-item.active span,
.firebase-protected .editor-doc-item.active em{
  color:#fff!important;
}
.firebase-protected .editor-collection-tabs .tab.active,
.firebase-protected .admin-tabs .tab.active,
.firebase-protected .tab.active{
  color:#fff!important;
}
.firebase-protected .chip,
.firebase-protected .eyebrow,
.firebase-protected .meta{
  color:#735139!important;
}
.firebase-protected .chip.green,
.firebase-protected .meta.on{
  color:#2f653a!important;
}
.firebase-protected .btn-primary,
.firebase-protected .header-btn.primary{
  color:#fff!important;
}
.branch-gallery-card:target,
.gallery-card:target{
  outline:3px solid rgba(143,106,78,.34);
  outline-offset:4px;
}


/* v3.10.117 관리자 선택 항목 시인성 / 상품 CTA 중첩 정리 */
.firebase-protected .editor-doc-item.active{
  background:#9a7356!important;
  border-color:#8c684f!important;
  box-shadow:0 10px 24px rgba(67,46,27,.18)!important;
}
.firebase-protected .editor-doc-item.active > strong{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.firebase-protected .editor-doc-item.active small{
  color:rgba(255,255,255,.86)!important;
}
.firebase-protected .editor-doc-item.active em{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  margin-left:5px;
  padding:3px 8px;
  border-radius:999px;
  background:#fff!important;
  color:#7a543c!important;
  border:1px solid rgba(255,255,255,.78)!important;
  text-shadow:none!important;
  font-size:10px;
  font-weight:900;
  line-height:1;
}
.product-card .dual-actions.product-actions,
.product-card .product-actions{
  position:sticky;
  bottom:74px;
  z-index:40!important;
  margin:16px 0 0!important;
  padding:8px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(141,111,82,.14)!important;
  box-shadow:0 16px 34px rgba(67,46,27,.14)!important;
  overflow:hidden!important;
  isolation:auto!important;
  backdrop-filter:none!important;
}
.product-card .product-actions::before,
.product-card .product-actions::after,
.product-actions::before,
.product-actions::after{
  content:none!important;
  display:none!important;
}
.product-card{
  overflow:hidden;
}


/* v3.10.117 상품 카드 이중 테두리/CTA 레이어 보정 + 관리자 상품 편집 안정 기준 복구 */
#packageCard.card.product-card.refined-product-card,
#packageCard.product-card,
#packageCard.refined-product-card{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#packageCard .public-package-card{
  position:relative;
  margin:0!important;
  padding:18px 18px 22px!important;
  border:1px solid rgba(141,111,82,.22)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(67,46,27,.09)!important;
  overflow:hidden!important;
}
#packageCard .public-package-card::before,
#packageCard .public-package-card::after{
  content:none!important;
  display:none!important;
}
#packageCard .product-actions,
#packageCard .dual-actions.product-actions,
.public-package-card .product-actions,
.product-card .product-actions,
.product-actions{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:8px!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:1!important;
  margin:18px 0 0!important;
  padding:8px!important;
  border-radius:22px!important;
  border:1px solid rgba(141,111,82,.14)!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
  backdrop-filter:none!important;
}
#packageCard .product-actions::before,
#packageCard .product-actions::after,
#packageCard .dual-actions.product-actions::before,
#packageCard .dual-actions.product-actions::after,
.public-package-card .product-actions::before,
.public-package-card .product-actions::after,
.product-card .product-actions::before,
.product-card .product-actions::after,
.product-actions::before,
.product-actions::after{
  content:none!important;
  display:none!important;
  position:static!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
#packageCard .product-actions .btn{
  position:relative!important;
  z-index:2!important;
  min-height:50px;
}
#packageCard .notice-soft + .product-actions{
  margin-top:16px!important;
}
#packageCard .price-note,
#packageCard .notice-soft{
  position:relative;
  z-index:1;
}


/* v3.10.117 패키지 구성 편집기 / 구성품 이미지 모달 */
.package-component-manager{
  grid-column:1 / -1;
  display:grid;
  gap:14px;
  margin-top:18px;
  padding:16px;
  border-radius:24px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.package-component-manager-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.package-component-manager-head h3{
  margin:6px 0 4px;
  color:#241c17;
  font-size:18px;
  line-height:1.35;
}
.package-component-manager-head p,
.package-component-manager-note{
  color:#6c5a4e;
  font-size:12px;
  line-height:1.6;
}
.package-component-manager-note{
  display:grid;
  gap:3px;
  padding:12px;
  border-radius:18px;
  background:#fff;
  border:1px solid #ead8c7;
}
.package-component-admin-list{
  display:grid;
  gap:12px;
}
.package-component-admin-card{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:0 10px 24px rgba(67,46,27,.06);
}
.package-component-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
.package-component-admin-head strong{
  display:block;
  color:#241c17;
  font-size:15px;
}
.package-component-admin-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.package-component-admin-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.package-component-admin-grid .full-span{
  grid-column:1 / -1;
}
.component-items-editor{
  min-height:96px;
}
.component-description-editor{
  min-height:86px;
}
.package-component-upload-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:10px;
  align-items:stretch;
}
.package-component-drop{
  min-height:136px;
}
.package-component-image-preview{
  display:grid;
  place-items:center;
  min-height:136px;
  overflow:hidden;
  border-radius:18px;
  background:#f5eee6;
  border:1px dashed #d9c3b1;
  color:#7a6a5f;
  font-size:12px;
  text-align:center;
}
.package-component-image-preview img{
  width:100%;
  height:100%;
  max-height:220px;
  object-fit:contain;
  display:block;
  background:#fff;
}
.package-component-progress{
  margin-top:-2px;
}
.package-component-clear-image{
  justify-self:start;
}
.package-component-save-row{
  display:flex;
  justify-content:flex-end;
}
.package-component-modal-open{
  overflow:hidden;
}
.package-component-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(35,25,18,.54);
  backdrop-filter:blur(6px);
}
.package-component-modal.is-open{
  display:flex;
}
.package-component-modal-card{
  width:min(760px,100%);
  max-height:min(86vh,840px);
  display:grid;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  border-radius:28px;
  background:#fffaf5;
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 28px 80px rgba(35,25,18,.34);
}
.package-component-modal-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:18px;
  background:#fff;
  border-bottom:1px solid #ead8c7;
}
.package-component-modal-head strong{
  display:block;
  color:#241c17;
  font-size:19px;
  letter-spacing:-.05em;
}
.package-component-modal-head p{
  margin:5px 0 0;
  color:#6c5a4e;
  font-size:12px;
}
.package-component-modal-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#fffaf5;
  color:#241c17;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.package-component-modal-list{
  display:grid;
  gap:12px;
  overflow:auto;
  padding:14px;
}
.package-component-modal-item{
  display:grid;
  grid-template-columns:minmax(160px,42%) 1fr;
  gap:14px;
  padding:12px;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
}
.package-component-modal-media{
  display:grid;
  place-items:center;
  min-height:170px;
  overflow:hidden;
  border-radius:18px;
  background:#f5eee6;
}
.package-component-modal-media img{
  width:100%;
  height:100%;
  max-height:340px;
  object-fit:contain;
  display:block;
  background:#fff;
}
.package-component-modal-media span{
  color:#8a796b;
  font-size:12px;
  font-weight:900;
}
.package-component-modal-body{
  align-self:center;
}
.package-component-modal-body span{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  background:#f1e6dc;
  color:#7a543c;
  font-size:11px;
  font-weight:900;
}
.package-component-modal-body strong{
  display:block;
  color:#241c17;
  font-size:17px;
  line-height:1.35;
}
.package-component-modal-body p{
  margin:8px 0 0;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.6;
  white-space:pre-line;
}
.package-component-modal-body ul{
  display:grid;
  gap:4px;
  margin:10px 0 0;
  padding-left:16px;
  color:#3a302a;
  font-size:12px;
  line-height:1.5;
}
@media (max-width:560px){
  .package-component-admin-grid,
  .package-component-upload-row,
  .package-component-modal-item{
    grid-template-columns:1fr;
  }
  .package-component-image-preview,
  .package-component-modal-media{
    min-height:190px;
  }
}


/* v3.10.117 구성품 보기 모달 표시 보정 */
.package-component-modal-guide{
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.6;
}


/* v3.10.117 패키지 구성 항목명 자동 번호 / 모달 노출 제어 */
.package-component-visibility-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.package-component-visibility-row .toggle-row{
  margin:0;
}


/* v3.10.117 /products 구성품 보기 모달 클릭 보정 */
.package-component-modal-guide{
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.6;
}




/* v3.10.117 갤러리 카테고리 상단 메뉴 노출 힌트 개선 */
#galleryCategoryTabs{
  position:relative;
  scroll-behavior:smooth;
  scroll-snap-type:none;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
  padding-right:34px;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 42px),rgba(0,0,0,.18) 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 42px),rgba(0,0,0,.18) 100%);
}
#galleryCategoryTabs .tab{
  flex:0 0 clamp(96px,27vw,108px);
  min-width:0;
  padding:10px 12px;
  text-align:center;
  white-space:nowrap;
  scroll-snap-align:start;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
#galleryCategoryTabs.is-dragging-tabs{
  scroll-behavior:auto;
  cursor:grabbing;
}
#galleryCategoryTabs.is-dragging-tabs .tab.active{
  transform:none;
  box-shadow:var(--shadow);
}
@media (max-width:430px){
  #galleryCategoryTabs .tab{
    flex-basis:clamp(92px,26.5vw,104px);
    padding-left:10px;
    padding-right:10px;
  }
}

/* v3.10.117 상품/갤러리 좌우 스와이프 전환 */
#groupIntro,
#packageCard,
#galleryGrid{
  touch-action:pan-y;
}
#groupTabs,
#packageTabs,
#galleryCategoryTabs{
  touch-action:pan-x pan-y;
}


/* v3.10.117 홈 화면 문구/상품 링크 정리 */
.section-head > div{
  min-width:0;
}
.section-head a,
.section-head button{
  white-space:nowrap;
  flex:0 0 auto;
}


/* v3.10.117 관리자 상품 그룹 필터 및 세부 패키지 드래그 정렬 */
.package-list-toolbar{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  margin-bottom:10px;
}
.package-filter-head{
  display:grid;
  gap:4px;
}
.package-filter-head strong{
  color:#3c312a;
  font-size:13px;
  font-weight:900;
}
.package-filter-head span{
  color:#806f61;
  font-size:11.5px;
  line-height:1.45;
}
.package-group-filter{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
}
.package-group-filter-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid #ead8c7;
  background:#fff;
  color:#6c5a4e;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(67,46,27,.06);
}
.package-group-filter-btn small{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:10px;
  font-weight:900;
}
.package-group-filter-btn.active{
  background:#8f6a4e;
  border-color:#8f6a4e;
  color:#fff;
}
.package-group-filter-btn.active small{
  background:rgba(255,255,255,.22);
  color:#fff;
}
.package-sort-guide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#f8f1ea;
  border:1px solid #ead8c7;
  margin-bottom:10px;
}
.package-sort-guide.disabled{
  display:grid;
  background:#fff;
}
.package-sort-guide strong{
  display:block;
  color:#3c312a;
  font-size:12.5px;
  font-weight:900;
}
.package-sort-guide span{
  display:block;
  margin-top:4px;
  color:#806f61;
  font-size:11px;
  line-height:1.45;
}
.package-sort-save-btn{
  flex:0 0 auto;
  min-height:36px;
  padding:9px 12px;
  font-size:12px;
}
.package-sort-save-btn:disabled{
  opacity:.45;
}
.package-sort-list{
  display:grid;
  gap:8px;
}
.package-list-group-title{
  margin:12px 2px 2px;
  color:#8f6a4e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.editor-doc-item.package-doc-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  text-align:left;
}
.editor-doc-item.package-doc-item.is-sortable{
  cursor:grab;
}
.editor-doc-item.package-doc-item.dragging{
  opacity:.48;
  transform:scale(.985);
  border-color:#8f6a4e;
}
.editor-doc-item.package-doc-item.drag-over{
  box-shadow:0 0 0 2px rgba(143,106,78,.18), 0 10px 24px rgba(67,46,27,.08);
}
.package-drag-handle{
  flex:0 0 28px;
  display:grid;
  place-items:center;
  width:28px;
  height:34px;
  border-radius:12px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:15px;
  font-weight:900;
}
.package-doc-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.package-doc-copy strong,
.package-doc-copy small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:430px){
  .package-sort-guide{
    align-items:stretch;
    display:grid;
  }
  .package-sort-save-btn{
    width:100%;
  }
}


/* v3.10.117 푸터 전화번호 카드 tel 링크 디자인 복구 */
.footer-info-grid .footer-info-call-card{
  color:inherit;
  text-decoration:none;
  transition:background-color .18s ease, transform .18s ease, border-color .18s ease;
}
.footer-info-grid .footer-info-call-card:hover,
.footer-info-grid .footer-info-call-card:focus-visible{
  background:#fff;
  border-color:#e3cdb9;
}
.footer-info-grid .footer-info-call-card:active{
  transform:scale(.99);
}


/* v3.10.117 홈 화면 관리 통합 UX */
.home-manager-root{
  display:block;
}
.home-manager-layout{
  display:grid;
  gap:12px;
}
.home-manager-sidebar{
  display:grid;
  gap:10px;
}
.home-manager-guide{
  display:grid;
  gap:5px;
  padding:12px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.home-manager-guide strong{
  color:#3c312a;
  font-size:13px;
  font-weight:900;
}
.home-manager-guide span{
  color:#806f61;
  font-size:11.5px;
  line-height:1.45;
}
.home-section-nav-list{
  display:grid;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding-right:2px;
}
.home-section-nav-item{
  width:100%;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:3px 8px;
  align-items:center;
  text-align:left;
  padding:11px;
  border-radius:16px;
  border:1px solid #ead8c7;
  background:#fff;
  color:#3c312a;
  box-shadow:var(--shadow);
  cursor:pointer;
}
.home-section-nav-item span{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:11px;
  font-weight:900;
}
.home-section-nav-item b{
  font-size:12.5px;
  font-weight:900;
  letter-spacing:-.03em;
}
.home-section-nav-item small{
  color:#806f61;
  font-size:10.5px;
  line-height:1.35;
}
.home-section-nav-item.active{
  border-color:#8f6a4e;
  background:#8f6a4e;
  color:#fff;
}
.home-section-nav-item.active span{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.home-section-nav-item.active small{
  color:rgba(255,255,255,.78);
}
.home-manager-editor{
  min-width:0;
}
.home-section-edit-card{
  display:grid;
  gap:12px;
}
.home-section-field-grid{
  margin-top:2px;
}
.home-text-manager{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.home-text-manager-head{
  display:grid;
  gap:4px;
}
.home-text-manager-head strong{
  color:#3c312a;
  font-size:13px;
  font-weight:900;
}
.home-text-manager-head span{
  color:#806f61;
  font-size:11.5px;
  line-height:1.45;
}
.home-text-field{
  padding:10px;
  border-radius:15px;
  background:#fff;
  border:1px solid #f0dfcf;
}
.home-text-field > span{
  display:block;
  color:#7a543c;
  font-size:12px;
  font-weight:900;
}
.home-text-field > small{
  display:block;
  margin:4px 0 8px;
  color:#9a8778;
  font-size:10px;
  line-height:1.35;
  word-break:break-all;
}
.cms-textarea.compact{
  min-height:78px;
}
.empty-state.mini{
  padding:10px;
  border-radius:14px;
  font-size:11.5px;
}
@media (min-width:760px){
  .home-manager-layout{
    grid-template-columns:240px 1fr;
    align-items:start;
  }
}


/* v3.10.117 관리자 CMS PC 업무형 레이아웃 */
body.admin-page{
  background:linear-gradient(180deg,#fbf8f4,#f1ebe4);
}
@media (min-width:960px){
  body.admin-page .page.firebase-protected{
    display:block;
    padding:24px 32px 56px;
  }
  body.admin-page .phone{
    width:min(1440px,100%);
    max-width:1440px;
    margin:0 auto;
    gap:20px;
  }
  body.admin-page .header{
    border-radius:24px;
    padding:16px 20px;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(141,111,82,.12);
    box-shadow:var(--shadow);
  }
  body.admin-page .hero{
    grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);
    align-items:stretch;
  }
  body.admin-page .hero-visual{
    min-height:210px;
  }
  body.admin-page .admin-tabs{
    justify-content:flex-start;
    gap:8px;
  }
  body.admin-page main{
    gap:20px!important;
  }
  body.admin-page .panel.active{
    display:block;
  }
  body.admin-page .bottom-nav{
    display:none;
  }
}

/* v3.10.117 홈 화면 관리 3단 구조 */
@media (min-width:1180px){
  body.admin-page .home-manager-layout{
    grid-template-columns:260px minmax(520px,1fr) 390px;
    align-items:start;
    gap:16px;
  }
  body.admin-page .home-manager-sidebar,
  body.admin-page .home-manager-preview{
    position:sticky;
    top:92px;
  }
  body.admin-page .home-section-nav-list{
    max-height:calc(100vh - 260px);
  }
}
@media (min-width:960px) and (max-width:1179px){
  body.admin-page .home-manager-layout{
    grid-template-columns:250px minmax(480px,1fr);
    align-items:start;
  }
  body.admin-page .home-manager-preview{
    grid-column:1 / -1;
  }
}
.home-search-box{
  display:grid;
  gap:7px;
  padding:12px;
  border-radius:18px;
  background:#fff;
  border:1px solid #ead8c7;
}
.home-search-box span{
  color:#7a543c;
  font-size:12px;
  font-weight:900;
}
.home-editor-group{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:20px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.home-editor-group + .home-editor-group{
  margin-top:12px;
}
.home-editor-group-head{
  display:grid;
  gap:4px;
}
.home-editor-group-head strong{
  color:#3c312a;
  font-size:14px;
  font-weight:900;
}
.home-editor-group-head span{
  color:#806f61;
  font-size:12px;
  line-height:1.45;
}
.home-editor-grid{
  display:grid;
  gap:10px;
}
@media (min-width:760px){
  .home-editor-grid.two{grid-template-columns:repeat(2,1fr)}
  .home-editor-grid.three{grid-template-columns:repeat(3,1fr)}
  .home-editor-grid.four{grid-template-columns:repeat(4,1fr)}
  .home-editor-grid .wide{grid-column:1/-1}
}
.home-text-field em{
  display:block;
  margin:3px 0 7px;
  color:#9a8778;
  font-size:11px;
  font-style:normal;
  line-height:1.35;
}
.home-tech-info{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed #ead8c7;
}
.home-tech-info summary{
  color:#8f6a4e;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.home-tech-info code{
  display:block;
  margin-top:6px;
  padding:6px 8px;
  border-radius:10px;
  background:#f6efe8;
  color:#806f61;
  font-size:10.5px;
  line-height:1.35;
  word-break:break-all;
}

/* v3.10.117 홈 모바일 미리보기 */
.home-manager-preview{
  display:grid;
  gap:10px;
}
.home-preview-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.home-preview-head strong{
  color:#3c312a;
  font-size:14px;
  font-weight:900;
}
.home-preview-head span{
  color:#806f61;
  font-size:11px;
  font-weight:800;
}
.home-preview-phone{
  width:100%;
  max-width:390px;
  margin:0 auto;
  padding:12px;
  border-radius:30px;
  background:#f5efe8;
  border:1px solid #e7d7c8;
  box-shadow:0 20px 50px rgba(67,46,27,.12);
}
.home-preview-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 8px 14px;
}
.home-preview-header .brand-mark{
  flex:0 0 42px;
}
.home-preview-header div:nth-child(2){
  display:grid;
  gap:2px;
  min-width:0;
}
.home-preview-header b{
  color:#1f1b17;
  font-size:15px;
  font-weight:900;
}
.home-preview-header span{
  color:#806f61;
  font-size:11px;
}
.home-preview-header button{
  margin-left:auto;
  min-height:32px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:#9a7252;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.home-preview-hero{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid #e7d7c8;
}
.home-preview-visual{
  min-height:188px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.55),transparent 26%),
    linear-gradient(135deg,#c8aa8f,#8f6a4e 68%,#77543d);
}
.home-preview-visual > span,
.home-preview-visual em{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  width:max-content;
  max-width:100%;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#6f4d38;
  font-size:11px;
  font-weight:900;
  font-style:normal;
  box-shadow:0 8px 24px rgba(67,46,27,.1);
}
.home-preview-visual div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.home-preview-body{
  display:grid;
  gap:13px;
  padding:22px 18px;
}
.home-preview-eyebrow{
  width:max-content;
  max-width:100%;
  margin:0;
  padding:7px 12px;
  border-radius:999px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:12px;
  font-weight:900;
}
.home-preview-body h2{
  margin:0;
  font-size:27px;
  line-height:1.12;
  letter-spacing:-.07em;
}
.home-preview-body > p:not(.home-preview-eyebrow){
  margin:0;
  color:#806f61;
  font-size:13px;
  line-height:1.55;
}
.home-preview-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.home-preview-actions b{
  display:grid;
  place-items:center;
  min-height:44px;
  border-radius:16px;
  border:1px solid #e7d7c8;
  color:#6f4d38;
  font-size:12px;
  font-weight:900;
}
.home-preview-actions b:first-child{
  background:#9a7252;
  border-color:#9a7252;
  color:#fff;
}
.home-preview-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.home-preview-summary span{
  display:grid;
  place-items:center;
  gap:3px;
  min-height:58px;
  border-radius:16px;
  border:1px solid #e7d7c8;
}
.home-preview-summary strong{
  font-size:16px;
  font-weight:900;
}
.home-preview-summary small{
  color:#806f61;
  font-size:10px;
  font-weight:800;
}


/* v3.10.117 관리자 홈 화면 관리 저장 안정화 및 미리보기 보강 */
.home-save-state{
  display:inline-flex;
  width:max-content;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  margin-top:4px;
}
.home-save-state[data-state="clean"]{
  background:#eaf3e7;
  color:#486c47;
}
.home-save-state[data-state="dirty"]{
  background:#fff1df;
  color:#9a6d36;
}
.home-save-state[data-state="saving"]{
  background:#e8f0f7;
  color:#496b8a;
}
#saveHomeSectionsBtn:disabled,
#adminGlobalSaveBtn[aria-disabled="true"]{
  opacity:.6;
  pointer-events:none;
}
.site-text-home-notice{
  display:grid;
  gap:6px;
  padding:12px;
  margin-bottom:10px;
  border-radius:18px;
  background:#fffaf5;
  border:1px solid #ead8c7;
}
.site-text-home-notice strong{
  color:#3c312a;
  font-size:12.5px;
  font-weight:900;
}
.site-text-home-notice span{
  color:#806f61;
  font-size:11.5px;
  line-height:1.45;
}
.site-text-home-notice button{
  justify-self:start;
  min-height:32px;
  padding:0 11px;
  border:0;
  border-radius:999px;
  background:#8f6a4e;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.home-preview-section{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:26px;
  background:#fff;
  border:1px solid #e7d7c8;
}
.home-preview-section h3{
  margin:0;
  color:#201b17;
  font-size:23px;
  line-height:1.15;
  letter-spacing:-.06em;
}
.home-preview-section > p{
  margin:0;
  color:#806f61;
  font-size:13px;
  line-height:1.55;
}
.home-preview-card-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.home-preview-card-grid article,
.home-preview-stack article{
  display:grid;
  gap:7px;
  padding:13px;
  border-radius:18px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:0 8px 20px rgba(67,46,27,.06);
}
.home-preview-card-grid i{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:13px;
  background:#f4ebe3;
  font-style:normal;
  font-size:18px;
}
.home-preview-card-grid strong,
.home-preview-stack strong{
  color:#201b17;
  font-size:13px;
  font-weight:900;
  line-height:1.3;
}
.home-preview-card-grid span,
.home-preview-stack span{
  color:#806f61;
  font-size:11px;
  line-height:1.45;
}
.home-preview-stack{
  display:grid;
  gap:9px;
}
.home-preview-stack em{
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.home-preview-stack b{
  color:#8f6a4e;
  font-size:16px;
  font-weight:900;
}
.home-preview-actions.small{
  margin-top:4px;
}
.home-preview-flow{
  display:grid;
  gap:8px;
}
.home-preview-flow span{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:2px 10px;
  align-items:start;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
}
.home-preview-flow b{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:#9a7252;
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.home-preview-flow strong{
  color:#201b17;
  font-size:12px;
  font-weight:900;
}
.home-preview-flow em{
  color:#806f61;
  font-size:11px;
  line-height:1.45;
  font-style:normal;
}


/* v3.10.117 지점 이벤트 확장형 바텀 시트 */
.branch-event-modal.branch-event-sheet{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:0;
  background:transparent;
  pointer-events:none;
}
.branch-event-modal.branch-event-sheet.is-open{
  display:flex;
}
.branch-event-backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,25,18,.3);
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:auto;
}
.branch-event-modal.is-open .branch-event-backdrop{
  opacity:1;
}
.branch-event-modal.branch-event-sheet .branch-event-card{
  position:relative;
  width:min(100%,var(--max));
  max-height:72vh;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  overflow:hidden;
  border-radius:28px 28px 0 0;
  background:#fffaf5;
  box-shadow:0 -20px 70px rgba(35,25,18,.28);
  border:1px solid #ead8c7;
  border-bottom:0;
  transform:translateY(102%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),max-height .28s ease;
  pointer-events:auto;
}
.branch-event-modal.branch-event-sheet.is-open .branch-event-card{
  transform:translateY(0);
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-card{
  max-height:92vh;
}
.branch-event-modal.branch-event-sheet.is-collapsed .branch-event-card{
  max-height:56vh;
}
.branch-event-handle{
  width:100%;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  cursor:grab;
}
.branch-event-handle span{
  width:48px;
  height:5px;
  border-radius:999px;
  background:#d2c9c1;
}
.branch-event-sheet-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:0 18px 12px;
}
.branch-event-sheet-head strong{
  display:block;
  color:#241c17;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.04em;
}
.branch-event-sheet-head span{
  display:block;
  margin-top:3px;
  color:#8d6f52;
  font-size:12px;
  font-weight:800;
}
.branch-event-modal.branch-event-sheet .branch-event-close{
  position:static;
  width:34px;
  height:34px;
  border:1px solid #ead8c7;
  border-radius:999px;
  background:#fff;
  color:#7a543c;
  font-size:20px;
  line-height:1;
  box-shadow:none;
}
.branch-event-modal.branch-event-sheet .branch-event-scroll{
  overflow:auto;
  min-height:0;
  padding:0 18px 14px;
}
.branch-event-modal.branch-event-sheet .branch-event-image-wrap{
  overflow:hidden;
  border-radius:22px;
  background:#f1e6dc;
  border:1px solid #ead8c7;
}
.branch-event-modal.branch-event-sheet .branch-event-image-wrap img{
  display:block;
  width:100%;
  height:auto;
  max-height:62vh;
  object-fit:contain;
  background:#fff;
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-image-wrap img{
  max-height:78vh;
}
.branch-event-fallback{
  min-height:220px;
  display:grid;
  place-items:center;
  gap:8px;
  padding:28px;
  text-align:center;
  color:#7a543c;
}
.branch-event-fallback strong{
  color:#241c17;
  font-size:20px;
  font-weight:900;
}
.branch-event-fallback span{
  color:#8d6f52;
  font-size:13px;
}
.branch-event-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  min-height:22px;
  padding:0 18px 8px;
}
.branch-event-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#d8cec5;
}
.branch-event-dots button.active{
  width:18px;
  background:#8f6a4e;
}
.branch-event-modal.branch-event-sheet .branch-event-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));
  border-top:1px solid #ead8c7;
  background:#fffaf5;
}
.branch-event-modal.branch-event-sheet .branch-event-today,
.branch-event-modal.branch-event-sheet .branch-event-cta{
  display:grid;
  place-items:center;
  min-height:44px;
  border-radius:16px;
  border:1px solid #ead8c7;
  font-size:13px;
  font-weight:900;
}
.branch-event-modal.branch-event-sheet .branch-event-today{
  background:#fff;
  color:#7a543c;
}
.branch-event-modal.branch-event-sheet .branch-event-cta{
  background:#8f6a4e;
  color:#fff;
  border-color:#8f6a4e;
}
@media (min-width:720px){
  .branch-event-modal.branch-event-sheet .branch-event-card{
    width:min(520px,calc(100% - 32px));
    border-radius:30px 30px 0 0;
  }
}


/* v3.10.117 지점 이벤트 바텀시트 제스처/이미지 표시 보정 */
.branch-event-modal.branch-event-sheet .branch-event-card{
  height:70dvh;
  max-height:calc(100dvh - 96px);
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
}
@supports not (height: 100dvh){
  .branch-event-modal.branch-event-sheet .branch-event-card{
    height:70vh;
    max-height:calc(100vh - 96px);
  }
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-card{
  height:86dvh;
  max-height:calc(100dvh - 88px);
}
@supports not (height: 100dvh){
  .branch-event-modal.branch-event-sheet.is-expanded .branch-event-card{
    height:86vh;
    max-height:calc(100vh - 88px);
  }
}
.branch-event-modal.branch-event-sheet.is-collapsed .branch-event-card{
  height:58dvh;
  max-height:calc(100dvh - 140px);
}
@supports not (height: 100dvh){
  .branch-event-modal.branch-event-sheet.is-collapsed .branch-event-card{
    height:58vh;
    max-height:calc(100vh - 140px);
  }
}
.branch-event-modal.branch-event-sheet.is-dragging .branch-event-card{
  transition:none;
}
.branch-event-handle{
  touch-action:none;
  cursor:grab;
  flex:0 0 auto;
}
.branch-event-handle:active{
  cursor:grabbing;
}
.branch-event-modal.branch-event-sheet .branch-event-scroll{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  min-height:0;
}
.branch-event-modal.branch-event-sheet .branch-event-image-wrap{
  overflow:visible;
  background:#fff;
}
.branch-event-modal.branch-event-sheet .branch-event-image-wrap img{
  display:block;
  width:100%;
  height:auto;
  max-height:none!important;
  object-fit:initial!important;
  background:#fff;
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-image-wrap img{
  max-height:none!important;
}
.branch-event-sheet-head,
.branch-event-dots,
.branch-event-actions{
  flex:0 0 auto;
}
@media (max-width:430px){
  .branch-event-modal.branch-event-sheet .branch-event-card{
    height:70dvh;
    max-height:calc(100dvh - 92px);
  }
  .branch-event-modal.branch-event-sheet.is-expanded .branch-event-card{
    height:84dvh;
    max-height:calc(100dvh - 86px);
  }
}


/* v3.10.117 지점 이벤트 진입 경로/캐시 안정화 및 이전 모달 fallback */
.branch-event-modal.is-open:not(.branch-event-sheet),
.branch-event-modal.is-open.branch-event-sheet{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0;
  background:transparent;
  pointer-events:none;
}
.branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-card,
.branch-event-modal.is-open.branch-event-sheet .branch-event-card{
  position:relative;
  width:min(100%,var(--max));
  height:70dvh;
  max-height:calc(100dvh - 96px);
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto auto;
  overflow:hidden;
  border-radius:28px 28px 0 0;
  background:#fffaf5;
  box-shadow:0 -20px 70px rgba(35,25,18,.28);
  border:1px solid #ead8c7;
  border-bottom:0;
  pointer-events:auto;
}
@supports not (height:100dvh){
  .branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-card,
  .branch-event-modal.is-open.branch-event-sheet .branch-event-card{
    height:70vh;
    max-height:calc(100vh - 96px);
  }
}
.branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-backdrop,
.branch-event-modal.is-open.branch-event-sheet .branch-event-backdrop{
  position:absolute;
  inset:0;
  background:rgba(35,25,18,.3);
  pointer-events:auto;
}
.branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-scroll,
.branch-event-modal.is-open.branch-event-sheet .branch-event-scroll{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  min-height:0;
}
.branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-image-wrap img,
.branch-event-modal.is-open.branch-event-sheet .branch-event-image-wrap img{
  width:100%;
  height:auto;
  max-height:none!important;
  object-fit:initial!important;
}
.branch-event-modal[data-branch-event-version="3.10.62"] .branch-event-handle{
  touch-action:none;
}


/* v3.10.117 지점 이벤트 바텀시트 스크롤 초기화/확장 애니메이션 보강 */
.branch-event-modal.branch-event-sheet .branch-event-card,
.branch-event-modal.is-open:not(.branch-event-sheet) .branch-event-card{
  transition:
    height .34s cubic-bezier(.22,.8,.22,1),
    max-height .34s cubic-bezier(.22,.8,.22,1),
    transform .34s cubic-bezier(.22,.8,.22,1),
    border-radius .34s cubic-bezier(.22,.8,.22,1),
    box-shadow .34s ease;
  will-change:height,max-height,transform;
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-card{
  box-shadow:0 -28px 90px rgba(35,25,18,.34);
}
.branch-event-modal.branch-event-sheet.is-collapsing .branch-event-card{
  transform:translateY(8px);
}
.branch-event-modal.branch-event-sheet.is-expanded .branch-event-handle span{
  width:56px;
  background:#a9907b;
}
.branch-event-modal.branch-event-sheet.is-dragging .branch-event-handle span{
  width:64px;
  background:#8f6a4e;
}
.branch-event-modal.branch-event-sheet .branch-event-scroll{
  scroll-behavior:auto;
}


/* v3.10.117 지점 이벤트 바텀시트 실시간 드래그/스냅 UX */
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-card{
  transition:
    height .34s cubic-bezier(.22,.8,.22,1),
    max-height .34s cubic-bezier(.22,.8,.22,1),
    transform .34s cubic-bezier(.22,.8,.22,1),
    box-shadow .34s ease,
    border-radius .34s ease;
  will-change:height,max-height,transform;
}
.branch-event-modal[data-branch-event-version="3.10.66"].is-dragging .branch-event-card{
  transition:none!important;
}
.branch-event-modal[data-branch-event-version="3.10.66"].is-expanded .branch-event-card{
  box-shadow:0 -30px 90px rgba(35,25,18,.34);
}
.branch-event-modal[data-branch-event-version="3.10.66"].is-collapsing .branch-event-card{
  transform:translateY(8px);
}
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-handle{
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
}
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-handle span{
  transition:width .24s ease, background .24s ease, transform .24s ease;
}
.branch-event-modal[data-branch-event-version="3.10.66"].is-dragging .branch-event-handle span{
  width:68px;
  background:#8f6a4e;
  transform:scaleY(1.08);
}
.branch-event-modal[data-branch-event-version="3.10.66"].is-expanded .branch-event-handle span{
  width:56px;
  background:#a9907b;
}
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-scroll{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}


/* v3.10.117 촬영 선택 스와이프 전환 보강 */
.public-detail-main{
  touch-action:pan-y;
}
.service-linked-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:760px){
  .service-linked-gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* v3.10.117 서비스 스와이프 위치 유지 및 바텀시트 UI 정리 */
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-sheet-head{
  padding-right:18px;
}
.branch-event-modal[data-branch-event-version="3.10.66"] .branch-event-sheet-head > div{
  min-width:0;
}


/* v3.10.117 이모지 UI 라인 아이콘 전환 */
.line-icon,
.nav-icon[data-line-icon],
.service-icon [data-line-icon],
.quick-icon [data-line-icon],
.gallery-placeholder-mark [data-line-icon]{
  display:inline-grid;
  place-items:center;
}
.bp-line-icon{
  display:block;
  width:1.35em;
  height:1.35em;
  color:currentColor;
  stroke:currentColor;
  fill:none;
}
.nav-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin:0 auto 3px;
  font-size:22px;
  line-height:1;
}
.nav-icon .bp-line-icon{
  width:22px;
  height:22px;
  stroke-width:1.9;
}
.bottom-nav .active .nav-icon .bp-line-icon{
  color:#fff;
}
.service-icon,
.component-icon,
.quick-icon,
.dash-icon{
  color:var(--pd);
  font-size:22px;
}
.service-icon .bp-line-icon,
.component-icon .bp-line-icon,
.quick-icon .bp-line-icon,
.dash-icon .bp-line-icon{
  width:24px;
  height:24px;
}
.quick-card .service-icon,
.service-card .service-icon{
  background:#f4ebe3;
  color:#8f6a4e;
}
.gallery-placeholder-mark{
  color:#8f6a4e;
  font-size:20px;
}
.gallery-placeholder-mark .bp-line-icon{
  width:22px;
  height:22px;
}
.benefit-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#f4ebe3;
  color:#8f6a4e;
}
.benefit-icon .bp-line-icon{
  width:20px;
  height:20px;
}
.branch-tour-option .line-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  background:#f4ebe3;
  color:#8f6a4e;
}
.branch-tour-option .line-icon .bp-line-icon{
  width:21px;
  height:21px;
}
.image-load-fallback .gallery-placeholder-mark{
  position:static;
  margin:0 auto 8px;
}


/* v3.10.117 라인 아이콘 문구 충돌 보정 및 서비스 카드 정렬 개선 */
.quick-card .service-icon{
  overflow:hidden;
}
.quick-card .service-icon .line-icon,
.quick-card .service-icon i[data-line-icon]{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-style:normal;
  line-height:1;
  color:#8f6a4e;
}
.quick-card .service-icon .bp-line-icon{
  width:24px;
  height:24px;
}
.home-main .service-grid .service-card{
  display:grid;
  grid-template-rows:56px 46px auto;
  align-content:start;
}
.home-main .service-grid .service-card .service-icon{
  align-self:start;
}
.home-main .service-grid .service-card h3{
  min-height:46px;
  margin:0;
  display:flex;
  align-items:flex-start;
  line-height:1.28;
}
.home-main .service-grid .service-card p{
  margin:0;
}
@media (max-width:430px){
  .home-main .service-grid .service-card{
    grid-template-rows:56px 44px auto;
  }
  .home-main .service-grid .service-card h3{
    min-height:44px;
  }
}


/* v3.10.117 예약 문의 문구 정리 및 개인정보 동의 모달 */
.reservation-submit-status[hidden]{
  display:none!important;
}
.reservation-notice-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.reservation-notice-modal.is-open{
  display:flex;
}
.reservation-notice-backdrop{
  position:absolute;
  inset:0;
  background:rgba(37,29,23,.34);
  backdrop-filter:blur(5px);
}
.reservation-notice-card{
  position:relative;
  z-index:1;
  width:min(100%,360px);
  display:grid;
  gap:13px;
  padding:22px;
  border-radius:24px;
  background:#fffaf5;
  border:1px solid #ead8c7;
  box-shadow:0 22px 70px rgba(35,25,18,.24);
}
.reservation-notice-card strong{
  color:#241c17;
  font-size:19px;
  line-height:1.35;
  letter-spacing:-.045em;
}
.reservation-notice-card p{
  margin:0;
  color:#6c5a4e;
  font-size:13px;
  line-height:1.65;
  word-break:keep-all;
}
body.reservation-modal-open{
  overflow:hidden;
}


/* v3.10.117 예약 문의 필수값 검증 및 하단 여백 정리 */
.reservation-main .bps-common-footer{
  margin-bottom:58px;
}
.reservation-main .flow-list{
  margin-bottom:0;
}
.reservation-main .reservation-form-card{
  margin-bottom:0;
}
@media (max-width:430px){
  .reservation-main .bps-common-footer{
    margin-bottom:54px;
  }
}


/* v3.10.117 모바일 메뉴 바텀 액션 시트 및 푸터 하단 여백 추가 보정 */
.drawer{
  display:none!important;
}
.menu-action-sheet{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:flex-end;
  justify-content:center;
}
.menu-action-sheet.is-open{
  display:flex;
}
.menu-sheet-backdrop{
  position:absolute;
  inset:0;
  background:rgba(22,18,15,.36);
  backdrop-filter:blur(5px);
}
.menu-sheet-panel{
  position:relative;
  z-index:1;
  width:calc(100% - 28px);
  max-width:440px;
  margin:0 auto max(12px,env(safe-area-inset-bottom,0px));
  display:grid;
  gap:15px;
  padding:10px 16px 18px;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,244,238,.98));
  border:1px solid rgba(234,216,199,.92);
  box-shadow:0 30px 90px rgba(35,25,18,.28);
  transform:translateY(24px);
  opacity:0;
  transition:transform .28s cubic-bezier(.22,.8,.22,1),opacity .22s ease;
}
.menu-action-sheet.is-open .menu-sheet-panel{
  transform:translateY(0);
  opacity:1;
}
.menu-action-sheet.is-dragging .menu-sheet-panel{
  transition:none!important;
}
.menu-sheet-handle{
  justify-self:center;
  width:88px;
  height:25px;
  display:grid;
  place-items:center;
  border:0;
  background:transparent;
  cursor:pointer;
  touch-action:none;
}
.menu-sheet-handle span{
  width:46px;
  height:5px;
  border-radius:999px;
  background:#c9bcb1;
  transition:width .2s ease,background .2s ease;
}
.menu-action-sheet.is-dragging .menu-sheet-handle span{
  width:62px;
  background:#8f6a4e;
}
.menu-sheet-head{
  display:grid;
  gap:5px;
  padding:0 4px 2px;
}
.menu-sheet-head strong{
  color:#241c17;
  font-size:21px;
  font-weight:900;
  letter-spacing:-.055em;
}
.menu-sheet-head p{
  color:#6c5a4e;
  font-size:13px;
  line-height:1.45;
}
.menu-sheet-primary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.menu-sheet-card{
  min-height:118px;
  display:grid;
  align-content:start;
  gap:8px;
  padding:15px;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:0 12px 30px rgba(67,46,27,.08);
  color:#241c17;
  text-decoration:none;
}
.menu-sheet-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f4ebe3;
  color:#8f6a4e;
}
.menu-sheet-icon .bp-line-icon{
  width:23px;
  height:23px;
}
.menu-sheet-card strong{
  font-size:15px;
  line-height:1.25;
  letter-spacing:-.045em;
}
.menu-sheet-card em{
  color:#7b6a5e;
  font-size:11.5px;
  font-style:normal;
  line-height:1.4;
}
.menu-sheet-secondary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.menu-sheet-mini{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 8px;
  border-radius:18px;
  background:#f5eee6;
  border:1px solid #ead8c7;
  color:#7a543c;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.menu-sheet-mini span{
  display:grid;
  place-items:center;
}
.menu-sheet-mini .bp-line-icon{
  width:18px;
  height:18px;
}
body.menu-sheet-open{
  overflow:hidden;
}
.page{
  padding-bottom:96px;
}
.bps-common-footer{
  margin-bottom:14px!important;
}
.reservation-main .bps-common-footer{
  margin-bottom:14px!important;
}
@media (max-width:430px){
  .page{
    padding-bottom:92px;
  }
  .bps-common-footer,
  .reservation-main .bps-common-footer{
    margin-bottom:10px!important;
  }
  .menu-sheet-panel{
    width:calc(100% - 24px);
    border-radius:28px;
  }
  .menu-sheet-card{
    min-height:112px;
    padding:14px;
  }
}


/* v3.10.117 우측 상단 앵커형 2열 카드 메뉴 개선 */
.menu-action-sheet.menu-anchor-popover{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:flex-start;
  justify-content:flex-end;
  padding-top:64px;
  padding-right:max(14px,calc((100vw - var(--max)) / 2 + 14px));
  padding-left:14px;
  pointer-events:none;
}
.menu-action-sheet.menu-anchor-popover.is-open{
  display:flex;
}
.menu-anchor-popover .menu-sheet-backdrop{
  position:fixed;
  inset:0;
  background:rgba(28,22,18,.18);
  backdrop-filter:blur(2px);
  pointer-events:auto;
}
.menu-anchor-popover .menu-sheet-panel{
  position:relative;
  z-index:1;
  width:min(318px,calc(100vw - 28px));
  display:grid;
  gap:9px;
  padding:12px;
  border-radius:24px;
  background:rgba(255,250,245,.98);
  border:1px solid rgba(234,216,199,.96);
  box-shadow:0 22px 70px rgba(35,25,18,.22);
  transform-origin:top right;
  transform:translateY(-8px) scale(.96);
  opacity:0;
  transition:transform .2s cubic-bezier(.22,.8,.22,1),opacity .18s ease;
  pointer-events:auto;
}
.menu-anchor-popover.is-open .menu-sheet-panel{
  transform:translateY(0) scale(1);
  opacity:1;
}
.menu-anchor-popover .menu-sheet-panel::before{
  content:"";
  position:absolute;
  top:-8px;
  right:18px;
  width:16px;
  height:16px;
  transform:rotate(45deg);
  background:rgba(255,250,245,.98);
  border-left:1px solid rgba(234,216,199,.96);
  border-top:1px solid rgba(234,216,199,.96);
}
.menu-anchor-popover .menu-pop-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.menu-anchor-popover .menu-pop-grid.top{
  padding-bottom:9px;
  border-bottom:1px solid #ead8c7;
}
.menu-pop-card{
  min-height:78px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  padding:10px 8px;
  border-radius:19px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:0 10px 24px rgba(67,46,27,.07);
  color:#241c17;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  text-align:center;
  letter-spacing:-.03em;
}
.menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
  min-height:84px;
  background:linear-gradient(135deg,#fff,#f8efe7);
  border-color:#e5cdb7;
}
.menu-pop-card:active{
  transform:scale(.98);
}
.menu-pop-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#f4ebe3;
  color:#8f6a4e;
}
.menu-pop-icon .bp-line-icon{
  width:21px;
  height:21px;
}
.menu-pop-card b{
  font-size:12.5px;
  line-height:1.2;
}
.menu-pop-wide{
  display:grid;
}
.menu-pop-card.is-wide{
  min-height:48px;
  grid-template-columns:auto auto;
  justify-content:center;
  align-content:center;
  display:grid;
  gap:8px;
  border-radius:17px;
  background:#f5eee6;
  color:#7a543c;
}
.menu-pop-card.is-wide .menu-pop-icon{
  width:28px;
  height:28px;
  border-radius:11px;
  background:#fffaf5;
}
.menu-pop-card.is-wide .menu-pop-icon .bp-line-icon{
  width:17px;
  height:17px;
}
.menu-pop-card.is-wide b{
  align-self:center;
}
.menu-anchor-popover .menu-sheet-head,
.menu-anchor-popover .menu-sheet-handle,
.menu-anchor-popover .menu-sheet-secondary,
.menu-anchor-popover .menu-sheet-primary{
  display:none!important;
}
body.menu-sheet-open{
  overflow:hidden;
}
@media (max-width:430px){
  .menu-action-sheet.menu-anchor-popover{
    padding-top:62px;
    padding-right:14px;
  }
  .menu-anchor-popover .menu-sheet-panel{
    width:min(304px,calc(100vw - 28px));
    border-radius:23px;
    padding:11px;
  }
  .menu-pop-card{
    min-height:75px;
  }
  .menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
    min-height:80px;
  }
}


/* v3.10.117 홈 화면 앱형 비주얼 구조 1차 개선 */
.home-hero-v2{
  overflow:hidden;
  padding:0;
  border-radius:34px;
  background:#fffaf5;
}
.home-hero-v2 .home-visual-photo{
  position:relative;
  min-height:330px;
  overflow:hidden;
  border-radius:34px 34px 0 0;
  background:#ead8c7;
}
.home-hero-v2 .home-hero-image{
  width:100%;
  height:100%;
  min-height:330px;
  display:block;
  object-fit:cover;
}
.home-hero-v2 .home-visual-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:20px;
  pointer-events:none;
}
.home-hero-v2 .hero-tag{
  align-self:flex-start;
  color:#7a543c;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 10px 28px rgba(53,35,22,.08);
}
.home-hero-v2 .hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.home-hero-v2 .hero-body{
  padding:22px 20px 24px;
}
.home-hero-v2 .eyebrow{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:8px 13px;
  border-radius:999px;
  background:#f4ebe3;
  color:#8f6a4e;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.03em;
}
.home-hero-v2 h1{
  margin-top:12px;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.07em;
}
.home-hero-v2 .lead{
  margin-top:12px;
  max-width:92%;
  font-size:14px;
  line-height:1.72;
}
.home-quick-section .quick-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.home-quick-section .quick-card{
  min-height:134px;
  display:grid;
  align-content:start;
  gap:12px;
  padding:18px;
  border-radius:24px;
}
.home-quick-section .quick-card .service-icon{
  width:48px;
  height:48px;
  border-radius:18px;
}
.home-quick-section .quick-card strong{
  display:block;
  font-size:18px;
  line-height:1.25;
  letter-spacing:-.055em;
}
.home-quick-section .quick-card span{
  display:block;
  margin-top:7px;
  font-size:12.5px;
  line-height:1.45;
  color:#6c5a4e;
  word-break:keep-all;
}
.home-gallery-feature{
  padding-top:2px;
}
.home-gallery-feature .section-head{
  align-items:end;
}
.home-gallery-feature .section-head h2{
  max-width:280px;
  line-height:1.14;
}
.home-gallery-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:82%;
  gap:14px;
  overflow-x:auto;
  padding:2px 3px 12px;
  margin:0 -3px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.home-gallery-rail::-webkit-scrollbar{
  display:none;
}
.home-gallery-feature-card{
  position:relative;
  min-height:360px;
  display:block;
  overflow:hidden;
  border-radius:30px;
  background:#d8c2b0;
  text-decoration:none;
  color:#fff;
  scroll-snap-align:start;
  box-shadow:0 18px 44px rgba(67,46,27,.14);
}
.home-gallery-feature-card.large{
  grid-column:auto;
}
.home-gallery-feature-img{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
}
.home-gallery-feature-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 18%,rgba(30,20,14,.72) 100%);
}
.home-gallery-feature-card > div{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:1;
  display:grid;
  gap:8px;
}
.home-gallery-feature-card span{
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#7a543c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
}
.home-gallery-feature-card strong{
  color:#fff;
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.06em;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}
.home-gallery-feature-card em{
  color:rgba(255,255,255,.86);
  font-size:12.5px;
  font-style:normal;
  font-weight:800;
}
.home-preview-visual.image-preview{
  background-size:cover;
  background-position:center;
}
.home-preview-gallery-strip{
  display:grid;
  gap:8px;
}
.home-preview-gallery-strip article{
  min-height:116px;
  display:grid;
  align-content:end;
  gap:4px;
  padding:12px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  position:relative;
  color:#fff;
}
.home-preview-gallery-strip article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55));
}
.home-preview-gallery-strip article strong,
.home-preview-gallery-strip article span{
  position:relative;
  z-index:1;
}
.home-preview-gallery-strip article strong{
  font-size:13px;
  line-height:1.35;
}
.home-preview-gallery-strip article span{
  font-size:11px;
  opacity:.86;
}
@media (min-width:760px){
  .home-gallery-rail{
    grid-auto-columns:44%;
  }
}
@media (max-width:430px){
  .home-hero-v2 .home-visual-photo,
  .home-hero-v2 .home-hero-image{
    min-height:318px;
  }
  .home-hero-v2 h1{
    font-size:31px;
  }
  .home-quick-section .quick-card{
    min-height:128px;
    padding:16px;
  }
  .home-gallery-rail{
    grid-auto-columns:86%;
  }
  .home-gallery-feature-card,
  .home-gallery-feature-img{
    min-height:342px;
  }
}


/* v3.10.117 홈 히어로 슬라이드 업로드형 구조 개선 */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.home-hero-slider-wrap{
  padding:0;
  overflow:hidden;
  border-radius:34px;
  background:#1d1713;
  box-shadow:0 22px 60px rgba(55,37,22,.16);
}
.home-hero-slider{
  position:relative;
  min-height:min(76dvh,720px);
  height:min(76dvh,720px);
  overflow:hidden;
  border-radius:34px;
  isolation:isolate;
  background:#d8c2b0;
  touch-action:pan-y;
}
.home-hero-slides,
.home-hero-slide{
  position:absolute;
  inset:0;
  margin:0;
}
.home-hero-slide{
  opacity:0;
  transform:scale(1.015);
  transition:opacity .55s ease,transform 1.2s ease;
}
.home-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
  z-index:1;
}
.home-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.home-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(23,16,12,.55));
  pointer-events:none;
}
.home-hero-actions{
  position:absolute;
  left:20px;
  right:20px;
  bottom:42px;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.home-hero-actions .btn{
  min-height:52px;
  border-radius:17px;
  box-shadow:0 14px 34px rgba(24,15,9,.18);
}
.home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
}
.home-hero-indicators{
  position:absolute;
  left:0;
  right:0;
  bottom:18px;
  z-index:4;
  display:flex;
  justify-content:center;
  gap:7px;
}
.home-hero-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.52);
  cursor:pointer;
  transition:width .22s ease,background .22s ease;
}
.home-hero-dot.is-active{
  width:24px;
  background:#fff;
}
.home-hero-slide-manager .home-editor-group-head span{
  line-height:1.55;
}
.home-hero-slide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.home-hero-slide-upload-card{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:22px;
  border:1px solid #ead8c7;
  background:#fffaf5;
}
.home-hero-slide-thumb{
  height:180px;
  overflow:hidden;
  border-radius:18px;
  background:#ead8c7;
  border:1px solid #ead8c7;
}
.home-hero-slide-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.home-hero-slide-meta{
  display:grid;
  gap:4px;
}
.home-hero-slide-meta strong{
  color:#241c17;
  font-size:14px;
  font-weight:900;
}
.home-hero-slide-meta span{
  color:#7b6a5e;
  font-size:11.5px;
  line-height:1.45;
}
.home-hero-drop-zone{
  min-height:86px;
  display:grid;
  place-items:center;
  gap:5px;
  padding:13px;
  border:1.5px dashed #d8bdA7;
  border-radius:18px;
  background:#f7efe8;
  color:#7a543c;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.home-hero-drop-zone input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.home-hero-drop-zone b{
  font-size:13px;
  font-weight:900;
}
.home-hero-drop-zone em{
  color:#8d7a6b;
  font-size:11px;
  font-style:normal;
}
.home-hero-drop-zone.is-dragover{
  border-color:#8f6a4e;
  background:#efe0d3;
  transform:translateY(-1px);
}
.home-hero-upload-progress{
  display:grid;
  gap:6px;
}
.home-hero-upload-progress[hidden]{
  display:none!important;
}
.home-hero-upload-progress div{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#ead8c7;
}
.home-hero-upload-progress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#8f6a4e;
  transition:width .2s ease;
}
.home-hero-upload-progress p{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.45;
}
.home-preview-hero.hero-slider-preview{
  overflow:hidden;
}
.home-preview-slider{
  position:relative;
  height:290px;
  overflow:hidden;
  border-radius:26px;
  background:#ead8c7;
}
.home-preview-slider > span{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
}
.home-preview-slider > span.is-active{
  opacity:1;
}
.home-preview-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(31,20,14,.55));
}
.home-preview-slider .home-preview-actions{
  position:absolute;
  left:12px;
  right:12px;
  bottom:13px;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.home-preview-slider .home-preview-actions b{
  display:grid;
  place-items:center;
  min-height:38px;
  border-radius:14px;
  background:#8f6a4e;
  color:#fff;
  font-size:12px;
}
.home-preview-slider .home-preview-actions b:nth-child(2){
  background:rgba(255,255,255,.9);
  color:#7a543c;
}
@media (max-width:430px){
  .home-hero-slider{
    min-height:min(78dvh,680px);
    height:min(78dvh,680px);
  }
  .home-hero-actions{
    left:16px;
    right:16px;
    bottom:40px;
  }
  .home-hero-actions .btn{
    min-height:50px;
  }
  .home-hero-slide-grid{
    grid-template-columns:1fr;
  }
  .home-hero-slide-thumb{
    height:210px;
  }
}


/* v3.10.117 홈 히어로 통합 헤더 및 업로드 경로 보정 */
.home-page .page{
  padding-top:0;
}
.home-page .phone{
  position:relative;
  gap:0;
}
.home-page .header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:90;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:18px 14px 0;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .header .brand{
  max-width:min(58vw,270px);
  padding:8px 12px 8px 8px;
  border-radius:23px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 14px 36px rgba(30,20,14,.13);
  backdrop-filter:blur(16px);
}
.home-page .header .brand-mark{
  width:42px;
  height:42px;
  border-radius:17px;
  box-shadow:none;
}
.home-page .header .brand-copy strong{
  color:#241c17;
  text-shadow:0 1px 8px rgba(255,255,255,.32);
}
.home-page .header .brand-copy span{
  color:#7b6a5e;
}
.home-page .header .header-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.home-page .header .header-btn{
  min-height:42px;
  box-shadow:0 14px 36px rgba(30,20,14,.13);
}
.home-page .header .header-btn.primary{
  padding:0 14px;
  background:linear-gradient(180deg,#a98566,var(--p));
  border:1px solid rgba(255,255,255,.36);
  color:#fff;
}
.home-page .header .icon-btn{
  width:46px;
  height:46px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.82);
  color:#241c17;
  backdrop-filter:blur(16px);
}
.home-page .home-main{
  gap:16px;
}
.home-page .home-main > .section{
  margin-left:14px;
  margin-right:14px;
}
.home-page .home-hero-slider-wrap{
  margin:0;
  border:0;
  border-radius:0 0 36px 36px;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
}
.home-page .home-hero-slider{
  min-height:min(86dvh,780px);
  height:min(86dvh,780px);
  border-radius:0 0 36px 36px;
}
.home-page .home-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0));
}
.home-page .home-hero-actions{
  bottom:48px;
}
.home-page .home-hero-indicators{
  bottom:23px;
}
.home-hero-slide.is-image-error{
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.7),transparent 35%),
    linear-gradient(145deg,#ead8c7,#b99678 58%,#6e5442);
}
.home-hero-slide.is-image-error::before{
  content:"이미지를 불러오지 못했습니다";
  position:absolute;
  left:24px;
  right:24px;
  bottom:120px;
  z-index:3;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  color:#7a543c;
  font-size:13px;
  font-weight:900;
  text-align:center;
  backdrop-filter:blur(8px);
}
.home-hero-upload-guide{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  background:#f7efe8;
  border:1px solid #ead8c7;
  color:#6c5a4e;
}
.home-hero-upload-guide strong{
  color:#7a543c;
  font-size:13px;
  font-weight:900;
}
.home-hero-upload-guide ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:5px;
  font-size:12px;
  line-height:1.45;
}
@media (max-width:430px){
  .home-page .header{
    padding:16px 13px 0;
  }
  .home-page .header .brand{
    max-width:55vw;
    padding:7px 10px 7px 7px;
  }
  .home-page .header .brand-mark{
    width:40px;
    height:40px;
  }
  .home-page .header .brand-copy strong{
    font-size:15px;
  }
  .home-page .header .brand-copy span{
    font-size:11px;
  }
  .home-page .header .header-actions{
    gap:7px;
  }
  .home-page .header .header-btn.primary{
    min-height:38px;
    padding:0 12px;
    font-size:12.5px;
  }
  .home-page .header .icon-btn{
    width:44px;
    height:44px;
  }
  .home-page .home-hero-slider{
    min-height:min(87dvh,730px);
    height:min(87dvh,730px);
  }
  .home-page .home-hero-actions{
    left:16px;
    right:16px;
    bottom:46px;
  }
  .home-page .home-hero-indicators{
    bottom:21px;
  }
  .home-hero-slide.is-image-error::before{
    bottom:114px;
  }
}


/* v3.10.117 홈 히어로 풀블리드 + 상단 로고/메뉴 정리 */
.home-page .page{
  display:block;
  padding:0 0 112px;
}
.home-page .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.home-page .header{
  padding:18px 22px 0;
}
.home-page .header .brand{
  display:flex;
  align-items:center;
  max-width:52vw;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.home-page .brand-image-link{
  min-width:0;
}
.home-page .brand-logo-image{
  display:block;
  width:auto;
  max-width:min(230px,52vw);
  height:58px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.22));
}
.home-page .header .brand-mark,
.home-page .header .brand-copy{
  display:none!important;
}
.home-page .header .header-actions{
  margin-left:auto;
}
.home-page .header .header-btn.primary{
  display:none!important;
}
.home-page .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  color:#fffaf5;
}
.home-page .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:3px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 2px 10px rgba(0,0,0,.42),0 0 1px rgba(0,0,0,.7);
}
.home-page .header .menu-line-btn span[aria-hidden="true"] + span[aria-hidden="true"]{
  margin-top:6px;
}
.home-page .home-hero-slider-wrap{
  width:100%;
  margin:0;
  border:0;
  border-radius:0 0 30px 30px;
}
.home-page .home-hero-slider{
  border-radius:0 0 30px 30px;
}
.home-page .home-main > .section{
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
  width:calc(100% - 28px);
}
.home-logo-upload-manager .home-editor-group-head span{
  line-height:1.55;
}
.home-logo-upload-guide{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  background:#f7efe8;
  border:1px solid #ead8c7;
  color:#6c5a4e;
}
.home-logo-upload-guide strong{
  color:#7a543c;
  font-size:13px;
  font-weight:900;
}
.home-logo-upload-guide ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:5px;
  font-size:12px;
  line-height:1.45;
}
.home-logo-upload-card{
  display:grid;
  gap:12px;
  padding:12px;
  border-radius:22px;
  border:1px solid #ead8c7;
  background:#fffaf5;
}
.home-logo-preview-box{
  min-height:116px;
  display:grid;
  place-items:center;
  padding:18px;
  border-radius:18px;
  background:
    linear-gradient(45deg,rgba(234,216,199,.45) 25%,transparent 25%),
    linear-gradient(-45deg,rgba(234,216,199,.45) 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,rgba(234,216,199,.45) 75%),
    linear-gradient(-45deg,transparent 75%,rgba(234,216,199,.45) 75%);
  background-size:22px 22px;
  background-position:0 0,0 11px,11px -11px,-11px 0;
  border:1px solid #ead8c7;
}
.home-logo-preview-box img{
  max-width:100%;
  max-height:90px;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.12));
}
.home-logo-drop-zone{
  min-height:86px;
  display:grid;
  place-items:center;
  gap:5px;
  padding:13px;
  border:1.5px dashed #d8bda7;
  border-radius:18px;
  background:#f7efe8;
  color:#7a543c;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.home-logo-drop-zone input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.home-logo-drop-zone b{
  font-size:13px;
  font-weight:900;
}
.home-logo-drop-zone em{
  color:#8d7a6b;
  font-size:11px;
  font-style:normal;
}
.home-logo-drop-zone.is-dragover{
  border-color:#8f6a4e;
  background:#efe0d3;
  transform:translateY(-1px);
}
.home-logo-upload-progress{
  display:grid;
  gap:6px;
}
.home-logo-upload-progress[hidden]{
  display:none!important;
}
.home-logo-upload-progress div{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#ead8c7;
}
.home-logo-upload-progress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#8f6a4e;
  transition:width .2s ease;
}
.home-logo-upload-progress p{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.45;
}
.home-preview-logo-image{
  position:absolute;
  z-index:2;
  top:14px;
  left:14px;
  width:auto;
  max-width:138px;
  height:38px;
  object-fit:contain;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.22));
}
@media (max-width:430px){
  .home-page .header{
    padding:18px 18px 0;
  }
  .home-page .brand-logo-image{
    max-width:min(220px,54vw);
    height:56px;
  }
  .home-page .header .menu-line-btn{
    width:44px;
    height:44px;
    min-height:44px;
  }
  .home-page .header .menu-line-btn span[aria-hidden="true"]{
    width:28px;
  }
}


/* v3.10.117 홈 히어로 디테일 보정: 햄버거/그라데이션/글래스 CTA */
.home-page .header .menu-line-btn{
  color:#fffaf5;
}
.home-page .header .menu-line-btn span[aria-hidden="true"]{
  width:28px;
  height:3px;
  box-shadow:0 2px 8px rgba(0,0,0,.48),0 0 1px rgba(0,0,0,.75);
}
.home-page .header .menu-line-btn span[aria-hidden="true"] + span[aria-hidden="true"]{
  margin-top:4px;
}
.home-page .home-hero-slider-wrap{
  position:relative;
  overflow:visible;
  margin-bottom:18px;
}
.home-page .home-hero-slider-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:72px;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(244,238,231,0) 0%,rgba(244,238,231,.42) 44%,var(--bg) 100%);
  border-radius:0 0 30px 30px;
}
.home-page .home-hero-slider::after{
  height:42%;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.18) 52%,rgba(23,16,12,.38) 100%);
}
.home-page .home-hero-actions{
  z-index:5;
  bottom:56px;
}
.home-page .home-hero-actions .btn{
  min-height:54px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.58);
  background:rgba(255,255,255,.24);
  color:#fff;
  box-shadow:0 16px 36px rgba(18,12,8,.18);
  backdrop-filter:blur(16px) saturate(1.12);
  -webkit-backdrop-filter:blur(16px) saturate(1.12);
  text-shadow:0 2px 9px rgba(0,0,0,.34);
}
.home-page .home-hero-actions .btn-primary,
.home-page .home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.24);
  color:#fff;
  border-color:rgba(255,255,255,.6);
}
.home-page .home-hero-actions .btn:active{
  transform:translateY(1px);
  background:rgba(255,255,255,.32);
}
.home-page .home-hero-indicators{
  z-index:5;
  bottom:30px;
}
@media (max-width:430px){
  .home-page .header .menu-line-btn span[aria-hidden="true"]{
    width:27px;
    height:3px;
  }
  .home-page .header .menu-line-btn span[aria-hidden="true"] + span[aria-hidden="true"]{
    margin-top:4px;
  }
  .home-page .home-hero-slider-wrap{
    margin-bottom:16px;
  }
  .home-page .home-hero-slider-wrap::after{
    height:66px;
  }
  .home-page .home-hero-actions{
    bottom:54px;
  }
  .home-page .home-hero-indicators{
    bottom:28px;
  }
}


/* v3.10.117 홈 히어로 하단 완성도 보정 */
.home-page .header .menu-line-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
}
.home-page .header .menu-line-btn span[aria-hidden="true"]{
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.home-page .header .menu-line-btn span[aria-hidden="true"] + span[aria-hidden="true"]{
  margin-top:0!important;
}
.home-page .home-hero-slider-wrap{
  margin-bottom:28px;
}
.home-page .home-hero-slider-wrap::after{
  bottom:-24px;
  height:154px;
  z-index:4;
  background:linear-gradient(
    180deg,
    rgba(244,238,231,0) 0%,
    rgba(244,238,231,.12) 28%,
    rgba(244,238,231,.38) 58%,
    rgba(244,238,231,.74) 82%,
    var(--bg) 100%
  );
  border-radius:0 0 30px 30px;
}
.home-page .home-hero-slider::after{
  height:52%;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 0%,
    rgba(23,16,12,.08) 45%,
    rgba(23,16,12,.18) 72%,
    rgba(23,16,12,.26) 100%
  );
}
.home-page .home-hero-actions{
  bottom:72px;
}
.home-page .home-hero-actions .btn{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.42);
  box-shadow:0 14px 32px rgba(18,12,8,.12);
  backdrop-filter:blur(14px) saturate(1.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
  text-shadow:0 2px 10px rgba(0,0,0,.44);
}
.home-page .home-hero-actions .btn-primary,
.home-page .home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.42);
  color:#fff;
}
.home-page .home-hero-actions .btn:active{
  background:rgba(255,255,255,.2);
}
.home-page .home-hero-indicators{
  bottom:46px;
}
@media (max-width:430px){
  .home-page .header .menu-line-btn{
    gap:4px;
  }
  .home-page .header .menu-line-btn span[aria-hidden="true"]{
    width:30px;
    height:4px;
    margin:0!important;
  }
  .home-page .home-hero-slider-wrap{
    margin-bottom:26px;
  }
  .home-page .home-hero-slider-wrap::after{
    bottom:-22px;
    height:142px;
  }
  .home-page .home-hero-actions{
    bottom:70px;
  }
  .home-page .home-hero-indicators{
    bottom:44px;
  }
}


/* v3.10.117 히어로 하단 이중 경계 제거 및 CTA 위치 보정 */
.home-page .home-hero-slider-wrap{
  margin-bottom:18px;
}
.home-page .home-hero-slider-wrap::after{
  content:none!important;
  display:none!important;
  height:0!important;
  background:none!important;
  border-radius:0!important;
}
.home-page .home-hero-slider::after{
  height:50%;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 0%,
    rgba(23,16,12,.05) 42%,
    rgba(23,16,12,.12) 68%,
    rgba(244,238,231,.10) 86%,
    rgba(244,238,231,.28) 100%
  );
}
.home-page .home-hero-actions{
  bottom:56px;
}
.home-page .home-hero-indicators{
  bottom:30px;
}
@media (max-width:430px){
  .home-page .home-hero-slider-wrap{
    margin-bottom:16px;
  }
  .home-page .home-hero-actions{
    bottom:54px;
  }
  .home-page .home-hero-indicators{
    bottom:28px;
  }
}


/* v3.10.117 메뉴/하단 네비 글래스 톤 통합 + 히어로 슬라이드 관리 */
.menu-anchor-popover .menu-sheet-backdrop{
  background:rgba(24,18,14,.22);
  backdrop-filter:blur(7px) saturate(1.02);
  -webkit-backdrop-filter:blur(7px) saturate(1.02);
}
.menu-anchor-popover .menu-sheet-panel{
  background:linear-gradient(180deg,rgba(255,250,245,.72),rgba(247,238,230,.64));
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 26px 76px rgba(35,25,18,.2);
  backdrop-filter:blur(22px) saturate(1.14);
  -webkit-backdrop-filter:blur(22px) saturate(1.14);
}
.menu-anchor-popover .menu-sheet-panel::before{
  background:rgba(255,250,245,.72);
  border-left:1px solid rgba(255,255,255,.56);
  border-top:1px solid rgba(255,255,255,.56);
  backdrop-filter:blur(22px);
}
.menu-anchor-popover .menu-pop-grid.top{
  border-bottom:1px solid rgba(255,255,255,.38);
}
.menu-pop-card,
.menu-anchor-popover .menu-pop-grid.top .menu-pop-card,
.menu-pop-card.is-wide{
  background:rgba(255,255,255,.28);
  border-color:rgba(255,255,255,.5);
  box-shadow:0 12px 28px rgba(67,46,27,.08);
  backdrop-filter:blur(14px) saturate(1.08);
  -webkit-backdrop-filter:blur(14px) saturate(1.08);
}
.menu-pop-card{
  color:#241c17;
}
.menu-pop-card.is-wide{
  color:#7a543c;
}
.menu-pop-icon,
.menu-pop-card.is-wide .menu-pop-icon{
  background:rgba(255,250,245,.45);
  color:#8f6a4e;
  border:1px solid rgba(255,255,255,.42);
}
.bottom-nav{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.68);
  backdrop-filter:blur(22px) saturate(1.14);
  -webkit-backdrop-filter:blur(22px) saturate(1.14);
  box-shadow:0 18px 48px rgba(67,46,27,.16);
}
.bottom-nav a,
.bottom-nav button{
  border-right:1px solid rgba(143,106,78,.12);
  color:#75675c;
}
.bottom-nav a:last-child,
.bottom-nav button:last-child{
  border-right:0;
}
.bottom-nav .active{
  background:linear-gradient(180deg,rgba(169,133,102,.9),rgba(143,106,78,.86))!important;
  border-color:rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24);
}
.bottom-nav .active span{
  color:#fff!important;
}
.home-hero-slide-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.62);
  border:1px solid #ead8c7;
}
.home-hero-slide-toolbar span{
  color:#6c5a4e;
  font-size:12px;
  font-weight:900;
}
.mini-btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid #d8bda7;
  background:#fffaf5;
  color:#7a543c;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.mini-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.mini-btn.danger{
  border-color:rgba(164,84,74,.3);
  color:#a4544a;
  background:rgba(164,84,74,.06);
}
.home-hero-slide-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.home-hero-slide-card-head strong{
  color:#241c17;
  font-size:14px;
  font-weight:900;
}
.home-hero-slide-thumb.is-empty{
  min-height:138px;
  display:grid;
  place-items:center;
  border:1px dashed #d8bda7;
  background:#f7efe8;
  color:#8d7a6b;
  font-size:12px;
  font-weight:900;
}


/* v3.10.117 관리자 슬라이드 버튼 UI + 메뉴 다크 글래스 컴팩트화 */
.home-hero-slide-toolbar{
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:20px;
  background:rgba(255,250,245,.78);
}
.home-hero-slide-toolbar span{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
}
.home-hero-slide-toolbar .mini-btn{
  flex:0 0 auto;
  width:auto!important;
  min-width:118px;
  height:auto!important;
  min-height:38px;
  white-space:nowrap;
  padding:0 16px;
  border-radius:999px;
}
.home-hero-slide-toolbar .mini-btn:disabled{
  min-width:156px;
}
.home-hero-slide-upload-card{
  position:relative;
}
.home-hero-slide-card-head{
  min-height:34px;
  align-items:center;
}
.home-hero-slide-card-head .mini-btn.danger{
  width:auto!important;
  min-width:58px;
  height:auto!important;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  white-space:nowrap;
  line-height:1;
  word-break:keep-all;
}
.home-hero-slide-card-head .mini-btn.danger:disabled{
  min-width:58px;
}
.home-hero-slide-card-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:900px){
  .home-hero-slide-grid{
    grid-template-columns:1fr;
  }
  .home-hero-slide-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .home-hero-slide-toolbar .mini-btn{
    width:100%!important;
  }
}

/* 홈 우측 상단 메뉴: 다크 글래스 + 컴팩트 */
.menu-action-sheet.menu-anchor-popover{
  padding-top:58px;
}
.menu-anchor-popover .menu-sheet-backdrop{
  background:rgba(14,12,10,.28);
  backdrop-filter:blur(9px) saturate(.96);
  -webkit-backdrop-filter:blur(9px) saturate(.96);
}
.menu-anchor-popover .menu-sheet-panel{
  width:min(284px,calc(100vw - 28px));
  gap:7px;
  padding:10px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(32,26,21,.56),rgba(30,24,19,.44));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 24px 72px rgba(0,0,0,.32);
  color:#fffaf5;
  backdrop-filter:blur(24px) saturate(1.06);
  -webkit-backdrop-filter:blur(24px) saturate(1.06);
}
.menu-anchor-popover .menu-sheet-panel::before{
  top:-7px;
  right:20px;
  width:14px;
  height:14px;
  background:rgba(32,26,21,.56);
  border-left:1px solid rgba(255,255,255,.22);
  border-top:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(24px);
}
.menu-anchor-popover .menu-pop-grid{
  gap:7px;
}
.menu-anchor-popover .menu-pop-grid.top{
  padding-bottom:7px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.menu-pop-card,
.menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
  min-height:56px;
  grid-template-columns:auto 1fr;
  justify-items:start;
  place-items:center start;
  align-content:center;
  gap:9px;
  padding:8px 10px;
  border-radius:17px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  color:#fffaf5;
  text-align:left;
  backdrop-filter:blur(12px) saturate(1.02);
  -webkit-backdrop-filter:blur(12px) saturate(1.02);
}
.menu-pop-card b{
  color:#fffaf5;
  font-size:12.5px;
  line-height:1.15;
  text-shadow:0 2px 8px rgba(0,0,0,.34);
}
.menu-pop-icon{
  width:30px;
  height:30px;
  border-radius:12px;
  background:rgba(255,255,255,.13);
  color:#fffaf5;
  border:1px solid rgba(255,255,255,.18);
}
.menu-pop-icon .bp-line-icon{
  width:18px;
  height:18px;
  stroke-width:2;
}
.menu-pop-card.is-wide{
  min-height:40px;
  grid-template-columns:auto auto;
  justify-content:center;
  justify-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  color:#fffaf5;
}
.menu-pop-card.is-wide .menu-pop-icon{
  width:26px;
  height:26px;
  border-radius:10px;
  background:rgba(255,255,255,.14);
  color:#fffaf5;
}
.menu-pop-card.is-wide .menu-pop-icon .bp-line-icon{
  width:16px;
  height:16px;
}
.menu-pop-card:active{
  transform:scale(.985);
  background:rgba(255,255,255,.17);
}
@media (max-width:430px){
  .menu-action-sheet.menu-anchor-popover{
    padding-top:56px;
    padding-right:14px;
  }
  .menu-anchor-popover .menu-sheet-panel{
    width:min(292px,calc(100vw - 28px));
    gap:7px;
    padding:10px;
    border-radius:21px;
  }
  .menu-pop-card,
  .menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
    min-height:54px;
    padding:8px 10px;
  }
  .menu-pop-card.is-wide{
    min-height:39px;
  }
}


/* v3.10.117 햄버거 메뉴 소프트 다크 글래스 + 우측 정렬 보정 */
.menu-action-sheet.menu-anchor-popover{
  padding-top:58px;
  padding-right:max(24px,calc((100vw - var(--max)) / 2 + 24px));
}
.menu-anchor-popover .menu-sheet-backdrop{
  background:rgba(18,15,12,.20);
  backdrop-filter:blur(8px) saturate(.98);
  -webkit-backdrop-filter:blur(8px) saturate(.98);
}
.menu-anchor-popover .menu-sheet-panel{
  width:min(282px,calc(100vw - 48px));
  gap:6px;
  padding:9px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(54,43,35,.34),rgba(48,38,31,.24));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 68px rgba(0,0,0,.24);
  color:#fffaf5;
  backdrop-filter:blur(24px) saturate(1.08);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
}
.menu-anchor-popover .menu-sheet-panel::before{
  top:-7px;
  right:8px;
  width:14px;
  height:14px;
  background:rgba(54,43,35,.34);
  border-left:1px solid rgba(255,255,255,.18);
  border-top:1px solid rgba(255,255,255,.18);
}
.menu-anchor-popover .menu-pop-grid{
  gap:6px;
}
.menu-anchor-popover .menu-pop-grid.top{
  padding-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.menu-pop-card,
.menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
  min-height:50px;
  gap:7px;
  padding:7px 9px;
  border-radius:15px;
  background:rgba(255,255,255,.085);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 8px 22px rgba(0,0,0,.10);
  color:#fffaf5;
}
.menu-pop-card b{
  color:#fffaf5;
  font-size:12px;
  line-height:1.12;
  text-shadow:0 2px 8px rgba(0,0,0,.30);
}
.menu-pop-icon{
  width:28px;
  height:28px;
  border-radius:11px;
  background:rgba(255,255,255,.10);
  color:#fffaf5;
  border-color:rgba(255,255,255,.15);
}
.menu-pop-icon .bp-line-icon{
  width:17px;
  height:17px;
}
.menu-pop-card.is-wide{
  min-height:36px;
  gap:7px;
  padding:6px 9px;
  border-radius:15px;
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.14);
  color:#fffaf5;
}
.menu-pop-card.is-wide .menu-pop-icon{
  width:24px;
  height:24px;
  border-radius:9px;
  background:rgba(255,255,255,.10);
  color:#fffaf5;
  border-color:rgba(255,255,255,.14);
}
.menu-pop-card.is-wide .menu-pop-icon .bp-line-icon{
  width:15px;
  height:15px;
}
.menu-pop-card:active{
  background:rgba(255,255,255,.14);
}
@media (max-width:430px){
  .menu-action-sheet.menu-anchor-popover{
    padding-top:56px;
    padding-right:24px;
  }
  .menu-anchor-popover .menu-sheet-panel{
    width:min(282px,calc(100vw - 48px));
    gap:6px;
    padding:9px;
    border-radius:20px;
  }
  .menu-anchor-popover .menu-sheet-panel::before{
    right:8px;
  }
  .menu-pop-card,
  .menu-anchor-popover .menu-pop-grid.top .menu-pop-card{
    min-height:50px;
    padding:7px 9px;
  }
  .menu-pop-card.is-wide{
    min-height:36px;
  }
}


/* v3.10.117 햄버거 메뉴 실제 버튼 좌표 앵커 보정 */
.menu-action-sheet.menu-anchor-popover{
  padding:0!important;
  align-items:initial!important;
  justify-content:initial!important;
}
.menu-anchor-popover .menu-sheet-panel{
  position:fixed!important;
  left:var(--menu-panel-left, auto)!important;
  top:var(--menu-panel-top, 62px)!important;
  right:auto!important;
  transform-origin:calc(var(--menu-arrow-left, 250px) + 7px) top!important;
}
.menu-anchor-popover .menu-sheet-panel::before{
  left:var(--menu-arrow-left, 248px)!important;
  right:auto!important;
}
@media (max-width:430px){
  .menu-action-sheet.menu-anchor-popover{
    padding:0!important;
  }
  .menu-anchor-popover .menu-sheet-panel{
    left:var(--menu-panel-left, auto)!important;
    top:var(--menu-panel-top, 62px)!important;
    right:auto!important;
  }
  .menu-anchor-popover .menu-sheet-panel::before{
    left:var(--menu-arrow-left, 248px)!important;
    right:auto!important;
  }
}


/* v3.10.117 홈 콘텐츠 구조 2차: 상황별 추천/프로모션 배너/상품 축소 */
.home-recommend-section{
  gap:14px;
}
.home-recommend-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(208px,72%);
  gap:12px;
  overflow-x:auto;
  padding:2px 4px 10px;
  margin:0 -4px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.home-recommend-rail::-webkit-scrollbar{
  display:none;
}
.home-recommend-card{
  scroll-snap-align:start;
  min-height:210px;
  display:grid;
  align-content:start;
  gap:9px;
  padding:17px;
  border-radius:24px;
  border:1px solid rgba(234,216,199,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,244,238,.88));
  color:#241c17;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(67,46,27,.08);
}
.recommend-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(244,235,227,.9);
  color:#8f6a4e;
}
.recommend-icon .bp-line-icon{
  width:23px;
  height:23px;
}
.home-recommend-card > span{
  color:#8f6a4e;
  font-size:11.5px;
  font-weight:900;
  letter-spacing:-.03em;
}
.home-recommend-card > strong{
  font-size:18px;
  line-height:1.22;
  letter-spacing:-.055em;
}
.home-recommend-card > p{
  color:#6c5a4e;
  font-size:12.5px;
  line-height:1.56;
}
.home-recommend-card > em{
  width:max-content;
  margin-top:auto;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(143,106,78,.1);
  color:#7a543c;
  font-size:11.5px;
  font-style:normal;
  font-weight:900;
}
.home-promo-banner{
  position:relative;
  min-height:156px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  overflow:hidden;
  padding:20px;
  border-radius:28px;
  border:1px solid rgba(234,216,199,.86);
  background:
    radial-gradient(circle at 92% 15%,rgba(255,255,255,.62),transparent 28%),
    linear-gradient(135deg,#ead8c7 0%,#b99678 52%,#7f5d44 100%);
  color:#fffaf5;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(67,46,27,.14);
}
.home-promo-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(35,24,17,.28),rgba(35,24,17,.05));
  pointer-events:none;
}
.promo-banner-copy{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
}
.home-promo-banner .chip{
  width:max-content;
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.32);
}
.home-promo-banner strong{
  color:#fff;
  font-size:22px;
  line-height:1.18;
  letter-spacing:-.06em;
}
.home-promo-banner p{
  max-width:260px;
  color:rgba(255,255,255,.86);
  font-size:13px;
  line-height:1.55;
}
.home-promo-banner em{
  width:max-content;
  margin-top:2px;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.promo-banner-visual{
  position:relative;
  z-index:1;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  backdrop-filter:blur(12px);
}
.promo-banner-visual .bp-line-icon{
  width:38px;
  height:38px;
}
.home-products .section-head.compact{
  align-items:flex-start;
}
.home-products-compact-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(234,216,199,.9);
  background:rgba(255,250,245,.9);
  color:#241c17;
  text-decoration:none;
  box-shadow:0 12px 32px rgba(67,46,27,.07);
}
.home-products-compact-card div{
  display:grid;
  gap:5px;
  min-width:0;
}
.home-products-compact-card span{
  color:#8f6a4e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
}
.home-products-compact-card strong{
  font-size:16px;
  line-height:1.32;
  letter-spacing:-.045em;
}
.home-products-compact-card p{
  color:#6c5a4e;
  font-size:12.5px;
  line-height:1.5;
}
.home-products-compact-card em{
  flex:0 0 auto;
  padding:10px 12px;
  border-radius:999px;
  background:var(--p);
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  box-shadow:0 10px 26px rgba(143,106,78,.18);
}
.home-preview-recommend-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.home-preview-recommend-grid article{
  min-height:96px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid #ead8c7;
}
.home-preview-recommend-grid em{
  color:#8f6a4e;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.home-preview-recommend-grid strong{
  display:block;
  margin-top:4px;
  font-size:12px;
}
.home-preview-recommend-grid span{
  display:block;
  margin-top:5px;
  color:#7b6a5e;
  font-size:10.5px;
  line-height:1.35;
}
.home-preview-promo-banner{
  display:grid;
  gap:6px;
  min-height:118px;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(135deg,#d4b99c,#8f6a4e);
  color:#fff;
}
.home-preview-promo-banner em{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-size:10px;
  font-style:normal;
  font-weight:900;
}
.home-preview-promo-banner strong{
  font-size:17px;
  letter-spacing:-.05em;
}
.home-preview-promo-banner span{
  color:rgba(255,255,255,.86);
  font-size:11px;
  line-height:1.45;
}
@media (max-width:430px){
  .home-recommend-rail{
    grid-auto-columns:minmax(206px,76%);
  }
  .home-promo-banner{
    min-height:150px;
    padding:18px;
  }
  .promo-banner-visual{
    width:64px;
    height:64px;
    border-radius:22px;
  }
  .home-products-compact-card{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v3.10.117 상황별 촬영 추천 카드 CMS 고도화 */
.home-recommend-card{
  position:relative;
  overflow:hidden;
}
.home-recommend-card.has-bg{
  min-height:238px;
  align-content:end;
  background-image:var(--recommend-bg);
  background-size:cover;
  background-position:center;
  color:#fff;
  border-color:rgba(255,255,255,.28);
  box-shadow:0 18px 42px rgba(38,25,16,.18);
}
.home-recommend-card.has-bg .recommend-card-shade{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.22) 42%,rgba(0,0,0,.56) 100%);
  pointer-events:none;
}
.home-recommend-card.has-bg > *:not(.recommend-card-shade){
  position:relative;
  z-index:1;
}
.home-recommend-card.has-bg > span,
.home-recommend-card.has-bg > strong,
.home-recommend-card.has-bg > p{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.34);
}
.home-recommend-card.has-bg > p{
  color:rgba(255,255,255,.86);
}
.home-recommend-card > em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.16);
  color:#fff;
  box-shadow:0 10px 24px rgba(18,12,8,.12);
  backdrop-filter:blur(12px) saturate(1.08);
  -webkit-backdrop-filter:blur(12px) saturate(1.08);
  text-shadow:0 2px 8px rgba(0,0,0,.28);
}
.home-recommend-card:not(.has-bg) > em{
  border-color:rgba(143,106,78,.18);
  background:rgba(143,106,78,.1);
  color:#7a543c;
  text-shadow:none;
  backdrop-filter:blur(8px);
}
.recommend-icon.uploaded{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
}
.recommend-icon.uploaded img{
  width:24px;
  height:24px;
  object-fit:contain;
}
.home-recommend-card.has-bg .recommend-icon{
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(10px);
}

.recommend-admin-manager{
  display:grid;
  gap:14px;
}
.recommend-admin-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:20px;
  border:1px solid #ead8c7;
  background:rgba(255,250,245,.78);
}
.recommend-admin-toolbar span{
  color:#6c5a4e;
  font-size:12px;
  font-weight:900;
}
.recommend-admin-guide{
  display:grid;
  gap:8px;
  padding:14px;
  border-radius:18px;
  background:#f7efe8;
  border:1px solid #ead8c7;
  color:#6c5a4e;
}
.recommend-admin-guide strong{
  color:#7a543c;
  font-size:13px;
  font-weight:900;
}
.recommend-admin-guide ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:5px;
  font-size:12px;
  line-height:1.45;
}
.recommend-admin-list{
  display:grid;
  gap:14px;
}
.recommend-admin-card{
  display:grid;
  gap:14px;
  padding:14px;
  border-radius:24px;
  border:1px solid #ead8c7;
  background:#fffaf5;
  box-shadow:0 12px 30px rgba(67,46,27,.06);
}
.recommend-admin-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.recommend-admin-card-head strong{
  display:block;
  color:#241c17;
  font-size:15px;
  font-weight:900;
}
.recommend-admin-card-head span{
  display:block;
  margin-top:4px;
  color:#7b6a5e;
  font-size:12px;
}
.recommend-admin-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.recommend-admin-actions .mini-btn{
  width:auto!important;
  min-width:38px;
  height:auto!important;
  min-height:30px;
  white-space:nowrap;
}
.recommend-admin-actions .mini-btn.danger{
  min-width:58px;
}
.recommend-admin-preview{
  position:relative;
  min-height:210px;
  overflow:hidden;
  display:grid;
  align-items:end;
  border-radius:22px;
  border:1px solid #ead8c7;
  background:linear-gradient(180deg,#f7efe8,#ead8c7);
  background-size:cover;
  background-position:center;
}
.recommend-admin-preview.has-bg{
  color:#fff;
}
.recommend-admin-preview-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.54) 100%);
  opacity:0;
}
.recommend-admin-preview.has-bg .recommend-admin-preview-shade{
  opacity:1;
}
.recommend-admin-preview-content{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  padding:16px;
}
.recommend-admin-preview-content > img,
.recommend-admin-preview-content .bp-line-icon{
  width:34px;
  height:34px;
  object-fit:contain;
}
.recommend-admin-preview-content em{
  color:#8f6a4e;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.recommend-admin-preview.has-bg .recommend-admin-preview-content em,
.recommend-admin-preview.has-bg .recommend-admin-preview-content strong,
.recommend-admin-preview.has-bg .recommend-admin-preview-content span{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}
.recommend-admin-preview-content strong{
  font-size:20px;
  line-height:1.2;
  letter-spacing:-.055em;
}
.recommend-admin-preview-content span{
  color:#6c5a4e;
  font-size:12px;
  line-height:1.45;
}
.recommend-admin-preview-content b{
  width:max-content;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:11.5px;
  box-shadow:0 10px 24px rgba(18,12,8,.12);
  backdrop-filter:blur(12px);
}
.recommend-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.recommend-admin-grid .wide,
.recommend-icon-visible{
  grid-column:1 / -1;
}
.recommend-upload-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.recommend-upload-box{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:20px;
  border:1px solid #ead8c7;
  background:#fff;
}
.recommend-upload-head{
  display:grid;
  gap:4px;
}
.recommend-upload-head strong{
  color:#241c17;
  font-size:13px;
  font-weight:900;
}
.recommend-upload-head span{
  color:#7b6a5e;
  font-size:11px;
  line-height:1.4;
}
.recommend-drop-zone{
  min-height:84px;
  display:grid;
  place-items:center;
  gap:5px;
  padding:12px;
  border:1.5px dashed #d8bda7;
  border-radius:17px;
  background:#f7efe8;
  color:#7a543c;
  text-align:center;
  cursor:pointer;
}
.recommend-drop-zone input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.recommend-drop-zone b{
  font-size:12.5px;
  font-weight:900;
}
.recommend-drop-zone em{
  color:#8d7a6b;
  font-size:11px;
  font-style:normal;
}
.recommend-drop-zone.is-dragover{
  border-color:#8f6a4e;
  background:#efe0d3;
}
.recommend-upload-progress{
  display:grid;
  gap:6px;
}
.recommend-upload-progress[hidden]{
  display:none!important;
}
.recommend-upload-progress div{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#ead8c7;
}
.recommend-upload-progress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#8f6a4e;
  transition:width .2s ease;
}
.recommend-upload-progress p{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.45;
}
.recommend-admin-icon-off{
  width:max-content;
  padding:6px 8px;
  border-radius:999px;
  background:rgba(143,106,78,.1);
  color:#7a543c;
  font-size:11px;
  font-weight:900;
}
.home-preview-recommend-grid article.has-bg{
  position:relative;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  color:#fff;
}
.home-preview-recommend-grid article.has-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.58));
}
.home-preview-recommend-grid article.has-bg > *{
  position:relative;
  z-index:1;
  color:#fff;
}
@media (max-width:900px){
  .recommend-admin-grid,
  .recommend-upload-grid{
    grid-template-columns:1fr;
  }
  .recommend-admin-card-head{
    flex-direction:column;
  }
  .recommend-admin-actions{
    justify-content:flex-start;
  }
}


/* v3.10.117 홈 추천/히어로 안정화 보정 */
.home-hero-slide,
.home-hero-slide-thumb{
  color:transparent;
}
.home-hero-slide-img{
  opacity:0;
  transition:opacity .32s ease;
}
.home-hero-slide-img.is-loaded,
.home-hero-slide-img.is-error{
  opacity:1;
}
.home-recommend-card{
  overflow:hidden;
}
.home-recommend-card > p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-recommend-card.has-bg > p{
  -webkit-line-clamp:2;
}
.recommend-admin-toolbar{
  flex-wrap:wrap;
}
.recommend-admin-toolbar .mini-btn,
.recommend-admin-toolbar [data-recommend-add]{
  width:auto!important;
  min-width:132px;
  max-width:none;
  padding:9px 14px;
  white-space:nowrap;
  flex:0 0 auto;
}
.home-preview-recommend-section{
  overflow:hidden;
}
.home-preview-recommend-section .section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  margin-bottom:10px;
}
.home-preview-recommend-section h3{
  margin:0;
}
.home-preview-recommend-section p{
  margin:6px 0 0;
}
.home-preview-recommend-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(178px,76%);
  gap:10px;
  overflow-x:auto;
  padding:2px 2px 8px;
  margin:0 -2px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.home-preview-recommend-rail::-webkit-scrollbar{
  display:none;
}
.home-preview-recommend-card{
  position:relative;
  scroll-snap-align:start;
  min-height:194px;
  display:grid;
  align-content:start;
  gap:7px;
  overflow:hidden;
  padding:14px;
  border-radius:22px;
  border:1px solid #ead8c7;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,244,238,.9));
  color:#241c17;
}
.home-preview-recommend-card.has-bg{
  align-content:end;
  background-image:var(--recommend-bg);
  background-size:cover;
  background-position:center;
  color:#fff;
  border-color:rgba(255,255,255,.28);
}
.home-preview-recommend-card > *:not(.recommend-card-shade){
  position:relative;
  z-index:1;
}
.home-preview-recommend-card .recommend-card-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.2) 46%,rgba(0,0,0,.56));
}
.home-preview-recommend-card .recommend-admin-icon-off{
  color:#7a543c;
}
.home-preview-recommend-card > img,
.home-preview-recommend-card .bp-line-icon{
  width:30px;
  height:30px;
  object-fit:contain;
}
.home-preview-recommend-card em{
  color:#8f6a4e;
  font-size:10.5px;
  font-style:normal;
  font-weight:900;
}
.home-preview-recommend-card strong{
  font-size:17px;
  line-height:1.22;
  letter-spacing:-.055em;
}
.home-preview-recommend-card span{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-preview-recommend-card b{
  width:max-content;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  margin-top:auto;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:11px;
  box-shadow:0 10px 24px rgba(18,12,8,.12);
  backdrop-filter:blur(12px);
}
.home-preview-recommend-card:not(.has-bg) b{
  border-color:rgba(143,106,78,.18);
  background:rgba(143,106,78,.1);
  color:#7a543c;
}
.home-preview-recommend-card.has-bg em,
.home-preview-recommend-card.has-bg strong,
.home-preview-recommend-card.has-bg span{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}
.home-preview-recommend-card.has-bg span{
  -webkit-line-clamp:2;
}
@media (max-width:900px){
  .recommend-admin-toolbar{
    align-items:stretch;
  }
  .recommend-admin-toolbar .mini-btn,
  .recommend-admin-toolbar [data-recommend-add]{
    width:100%!important;
    min-width:0;
  }
}


/* v3.10.117 홈 히어로 슬라이드 관리 고도화 + 관리자 UI 안정화 */
.home-manager-layout,
.home-manager-sidebar,
.home-manager-guide,
.home-save-state,
.home-section-nav-list,
.home-manager-editor{
  min-width:0;
}
.home-manager-sidebar{
  overflow:hidden;
}
.home-save-state{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow-wrap:anywhere;
}
.home-manager-guide span{
  max-width:100%;
  overflow-wrap:anywhere;
}
.home-hero-slide-toolbar{
  flex-wrap:wrap;
}
.home-hero-slide-toolbar .hero-add-btn{
  width:auto!important;
  min-width:126px;
  white-space:nowrap;
}
.home-hero-slide-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.home-hero-slide-upload-card.advanced{
  min-width:0;
}
.home-hero-slide-card-head{
  align-items:flex-start;
}
.home-hero-slide-card-head > div:first-child{
  min-width:0;
}
.home-hero-slide-card-head span{
  display:block;
  margin-top:4px;
  color:#7b6a5e;
  font-size:11px;
  font-weight:800;
}
.hero-slide-card-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.hero-slide-card-actions .mini-btn{
  min-width:34px;
  height:30px;
  min-height:30px;
  padding:0 10px;
}
.hero-slide-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.hero-slide-field-grid .wide{
  grid-column:1 / -1;
}
.home-hero-progress-indicator{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:96px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.home-hero-progress-indicator span{
  position:relative;
  width:48px;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.38);
}
.home-hero-progress-indicator i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#fff;
  transition:width .22s ease;
}
.home-hero-progress-indicator b{
  color:#fff;
  font-size:10px;
  line-height:1;
  text-shadow:0 1px 5px rgba(0,0,0,.26);
}
.home-hero-slide[data-href]{
  cursor:pointer;
}
.home-hero-upload-guide li{
  line-height:1.5;
}
@media (max-width:900px){
  .home-hero-slide-list{
    grid-template-columns:1fr;
  }
  .hero-slide-field-grid{
    grid-template-columns:1fr;
  }
  .home-hero-slide-toolbar .hero-add-btn{
    width:100%!important;
  }
}


/* v3.10.117 히어로 링크/스와이프/미리보기 정합성 보정 */
.home-hero-slider{
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.home-hero-slide[data-href]{
  cursor:pointer;
}
.home-page .home-hero-actions{
  bottom:70px;
}
.home-page .home-hero-indicators{
  bottom:30px;
}
.home-hero-indicators{
  z-index:8;
}
.home-hero-actions{
  z-index:9;
}
@media (max-width:430px){
  .home-page .home-hero-actions{
    bottom:68px;
  }
  .home-page .home-hero-indicators{
    bottom:29px;
  }
}
.home-preview-phone.is-hero-mode{
  padding:0;
  overflow:hidden;
  background:#f4eee8;
}
.home-preview-phone.is-hero-mode .home-preview-hero{
  border:0;
  border-radius:0;
  background:transparent;
}
.home-preview-phone.is-hero-mode .home-preview-slider{
  height:420px;
  border-radius:0 0 30px 30px;
  border:0;
  background:#ead8c7;
  box-shadow:0 16px 38px rgba(55,37,22,.14);
}
.home-preview-slide-layer,
.home-preview-slide-layer > span{
  position:absolute;
  inset:0;
}
.home-preview-slide-layer > span{
  background-size:cover;
  background-position:center;
  opacity:0;
  transition:opacity .22s ease;
}
.home-preview-slide-layer > span.is-active{
  opacity:1;
}
.home-preview-phone.is-hero-mode .home-preview-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:30%;
  z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,0));
  pointer-events:none;
}
.home-preview-phone.is-hero-mode .home-preview-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(31,20,14,.46) 70%,rgba(244,238,232,.72));
  pointer-events:none;
}
.home-preview-phone.is-hero-mode .home-preview-logo-image{
  position:absolute;
  top:18px;
  left:16px;
  z-index:4;
  width:112px;
  max-height:54px;
  object-fit:contain;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.18));
}
.home-preview-menu-lines{
  position:absolute;
  top:18px;
  right:18px;
  z-index:4;
  width:34px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  display:grid;
  align-content:center;
  gap:4px;
}
.home-preview-menu-lines i{
  display:block;
  height:4px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.28);
}
.home-preview-phone.is-hero-mode .home-preview-actions{
  position:absolute;
  left:16px;
  right:16px;
  bottom:70px;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.home-preview-phone.is-hero-mode .home-preview-actions b{
  min-height:44px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.46);
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-shadow:0 2px 8px rgba(0,0,0,.26);
  box-shadow:0 12px 30px rgba(22,14,8,.12);
  backdrop-filter:blur(14px) saturate(1.06);
  -webkit-backdrop-filter:blur(14px) saturate(1.06);
}
.home-preview-phone.is-hero-mode .home-preview-actions b:first-child{
  background:rgba(143,106,78,.44);
  border-color:rgba(255,255,255,.38);
}
.home-preview-indicators{
  position:absolute;
  left:0;
  right:0;
  bottom:34px;
  z-index:5;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
}
.home-preview-indicators > span:not(.preview-progress){
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
}
.home-preview-indicators > span.is-active{
  width:22px;
  background:#fff;
}
.home-preview-indicators .preview-progress{
  width:44px;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.38);
}
.home-preview-indicators .preview-progress i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#fff;
}
.home-preview-indicators em{
  color:#fff;
  font-size:9px;
  font-style:normal;
  font-weight:900;
  text-shadow:0 1px 5px rgba(0,0,0,.28);
}


/* v3.10.117 관리자 메인 비주얼 미리보기 비율 및 추천 카드 업로드 보정 */
.home-preview-phone.is-hero-mode{
  max-width:390px;
}
.home-preview-phone.is-hero-mode .home-preview-slider{
  height:auto;
  aspect-ratio:9 / 16;
  min-height:560px;
  border-radius:0 0 34px 34px;
}
.home-preview-phone.is-hero-mode .home-preview-actions{
  bottom:72px;
}
.home-preview-phone.is-hero-mode .home-preview-indicators{
  bottom:36px;
}
@media (max-width:1200px){
  .home-preview-phone.is-hero-mode .home-preview-slider{
    min-height:520px;
  }
}
@media (max-width:900px){
  .home-preview-phone.is-hero-mode .home-preview-slider{
    min-height:480px;
  }
}
.recommend-upload-progress{
  display:grid;
  gap:6px;
}
.recommend-upload-progress[hidden]{
  display:none!important;
}
.recommend-upload-progress div{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#ead8c7;
}
.recommend-upload-progress span{
  display:block;
  width:0%;
  height:100%;
  border-radius:999px;
  background:#8f6a4e;
  transition:width .2s ease;
}
.recommend-upload-progress p{
  margin:0;
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.45;
}
.recommend-admin-preview{
  background-image:var(--recommend-bg);
}
.recommend-admin-preview:not(.has-bg){
  background-image:none!important;
}


/* v3.10.117 대표 갤러리 CMS 고도화 및 Animated WebP 업로드 지원 */
.home-gallery-feature .section-head h2,
.home-gallery-feature-preview-title{
  white-space:nowrap;
  word-break:keep-all;
  max-width:none;
}
@media (max-width:430px){
  .home-gallery-feature .section-head h2{
    font-size:clamp(28px,8.2vw,34px);
    letter-spacing:-.07em;
  }
}
.gallery-feature-admin-manager,
.gallery-feature-card-list{
  display:grid;
  gap:14px;
}
.gallery-feature-admin-card{
  display:grid;
  gap:14px;
  padding:14px;
  border-radius:24px;
  border:1px solid #ead8c7;
  background:#fffaf5;
  box-shadow:0 12px 30px rgba(67,46,27,.06);
}
.gallery-feature-admin-preview{
  position:relative;
  min-height:240px;
  overflow:hidden;
  display:grid;
  align-items:end;
  border-radius:24px;
  border:1px solid #ead8c7;
  background:linear-gradient(180deg,#f7efe8,#ead8c7);
  background-size:cover;
  background-position:center;
  background-image:var(--gallery-feature-bg);
  color:#fff;
}
.gallery-feature-admin-preview:not(.has-bg){
  color:#241c17;
  background-image:none!important;
}
.gallery-feature-admin-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 12%,rgba(0,0,0,.62) 100%);
  opacity:1;
}
.gallery-feature-admin-preview:not(.has-bg)::after{
  opacity:0;
}
.gallery-feature-admin-preview > div{
  position:relative;
  z-index:1;
  display:grid;
  gap:8px;
  padding:18px;
}
.gallery-feature-admin-preview em{
  width:max-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#7a543c;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.gallery-feature-admin-preview strong{
  color:inherit;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.055em;
}
.gallery-feature-admin-preview span{
  color:rgba(255,255,255,.86);
  font-size:12px;
  font-weight:800;
}
.gallery-feature-admin-preview:not(.has-bg) span{
  color:#7b6a5e;
}
.recommend-upload-grid.single{
  grid-template-columns:1fr;
}
.gallery-feature-drop-zone{
  min-height:96px;
}
.home-preview-gallery-strip{
  overflow:hidden;
}
.home-preview-gallery-strip article{
  background-image:var(--gallery-feature-bg);
}


/* v3.10.117 대표 갤러리 모바일 오버플로우 보정 */
html,
body{
  overflow-x:hidden;
}
.home-gallery-feature{
  overflow-x:hidden;
  max-width:100%;
}
.home-gallery-feature .section-head{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  min-width:0;
  overflow:hidden;
}
.home-gallery-feature .section-head > div{
  min-width:0;
  overflow:hidden;
}
.home-gallery-feature .section-head h2{
  white-space:nowrap;
  word-break:keep-all;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
  line-height:1.08;
}
.home-gallery-feature .section-head p{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.home-gallery-feature .section-head > a{
  justify-self:end;
  align-self:center;
  margin-top:-2px;
  white-space:nowrap;
}
.home-gallery-rail{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.home-gallery-feature-card{
  flex:0 0 min(86vw, 520px);
  min-width:0;
}
.home-gallery-feature-card.large{
  flex-basis:min(86vw, 620px);
}
@media (max-width:430px){
  .home-gallery-feature .section-head h2{
    font-size:clamp(25px,7.2vw,31px);
    letter-spacing:-.075em;
  }
  .home-gallery-feature .section-head > a{
    font-size:15px;
    padding-right:2px;
  }
}


/* v3.10.117 문의 관리 삭제/엑셀 다운로드 UI */
.inquiry-toolbar{
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.inquiry-toolbar .danger,
.inquiry-card .danger{
  border-color:#ead0ca;
  background:#fff6f3;
  color:#a24a38;
}
.inquiry-privacy-note{
  margin:10px 0 12px;
  padding:12px 14px;
  border:1px solid #ead8c7;
  border-radius:16px;
  background:#fffaf5;
  color:#6c5a4e;
  font-size:13px;
  line-height:1.55;
}
.inquiry-bulk-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:16px;
  background:#f4eee8;
  color:#4a392f;
  font-size:13px;
  font-weight:800;
}
.inquiry-bulk-bar label{
  display:flex;
  align-items:center;
  gap:7px;
}
.inquiry-select-line{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f7efe8;
  color:#755b46;
  font-size:12px;
  font-weight:900;
}
.inquiry-select-line input,
.inquiry-bulk-bar input{
  accent-color:#9b7456;
}
.status.deleted{
  background:#f1e5df;
  color:#8d594c;
}


/* v3.10.117 대표 갤러리 헤더 정렬 + 문의 체크박스 표시 보정 */
.home-gallery-feature .section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-width:0;
  max-width:100%;
  overflow:visible!important;
}
.home-gallery-feature .section-head > div{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
}
.home-gallery-feature .section-head h2{
  font-size:22px!important;
  line-height:1.18!important;
  letter-spacing:-.05em!important;
  white-space:nowrap!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.home-gallery-feature .section-head p{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.home-gallery-feature .section-head > a{
  flex:0 0 auto;
  align-self:flex-end!important;
  justify-self:auto!important;
  margin:0 0 2px 8px!important;
  padding-right:0!important;
  line-height:1.45;
}
@media (max-width:430px){
  .home-gallery-feature .section-head h2{
    font-size:22px!important;
    letter-spacing:-.055em!important;
  }
  .home-gallery-feature .section-head > a{
    font-size:16px!important;
  }
}
.inquiry-checkbox{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  position:relative!important;
  display:inline-block!important;
  flex:0 0 auto;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  accent-color:#9b7456;
  cursor:pointer;
}
.inquiry-bulk-bar label,
.inquiry-select-line{
  cursor:pointer;
  user-select:none;
}
.inquiry-select-line{
  min-height:34px;
}
.inquiry-select-line span{
  display:inline-block;
  line-height:1;
}


/* v3.10.117 문의 선택 UI 완전 보정 */
.inquiry-select-wrap{
  display:flex;
  align-items:center;
  width:max-content;
  margin-bottom:8px;
}
.inquiry-checkbox-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.inquiry-select-button,
.inquiry-select-all-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #ead8c7;
  background:#fffaf5;
  color:#755b46;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
}
.inquiry-select-all-btn{
  background:#fff;
}
.inquiry-check-visual{
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  display:inline-grid;
  place-items:center;
  border-radius:6px;
  border:2px solid #b9977d;
  background:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.72);
}
.inquiry-select-button.is-selected,
.inquiry-select-all-btn.is-selected{
  border-color:#9b7456;
  background:#f1e6dc;
  color:#4a392f;
}
.inquiry-select-button.is-selected .inquiry-check-visual,
.inquiry-select-all-btn.is-selected .inquiry-check-visual{
  border-color:#9b7456;
  background:#9b7456;
}
.inquiry-select-button.is-selected .inquiry-check-visual::after,
.inquiry-select-all-btn.is-selected .inquiry-check-visual::after{
  content:"";
  width:8px;
  height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}
.inquiry-select-all-btn.is-partial .inquiry-check-visual{
  border-color:#9b7456;
  background:#9b7456;
}
.inquiry-select-all-btn.is-partial .inquiry-check-visual::after{
  content:"";
  width:9px;
  height:2px;
  border-radius:999px;
  background:#fff;
}
.inquiry-select-all-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* v3.10.459 관리자 문의 선택 체크박스 표시 동기화 보정 */
.inquiry-select-wrap.is-selected .inquiry-select-button,
.inquiry-checkbox-native:checked + .inquiry-select-button{
  border-color:#9b7456;
  background:#f1e6dc;
  color:#4a392f;
}
.inquiry-select-wrap.is-selected .inquiry-check-visual,
.inquiry-checkbox-native:checked + .inquiry-select-button .inquiry-check-visual{
  border-color:#9b7456;
  background:#9b7456;
}
.inquiry-select-wrap.is-selected .inquiry-check-visual::after,
.inquiry-checkbox-native:checked + .inquiry-select-button .inquiry-check-visual::after{
  content:"";
  width:8px;
  height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}


/* v3.10.117 지점 갤러리 분류/삭제 관리 개선 */
.branch-gallery-group-manager{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:20px;
  border:1px solid #ead8c7;
  background:#fffaf5;
}
.branch-gallery-group-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-end;
}
.branch-gallery-group-head strong{
  font-size:15px;
  color:#241c17;
}
.branch-gallery-group-head span{
  color:#8d6f52;
  font-size:12px;
  line-height:1.45;
}
.branch-gallery-group-list{
  display:grid;
  gap:8px;
}
.branch-gallery-group-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid #ead8c7;
  border-radius:16px;
  background:#fff;
}
.branch-gallery-group-item b{
  display:block;
  color:#241c17;
  font-size:13px;
}
.branch-gallery-group-item small{
  display:block;
  margin-top:3px;
  color:#8d6f52;
  font-size:11px;
}
.branch-gallery-group-actions,
.branch-gallery-item-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.branch-gallery-admin-item .branch-gallery-item-actions{
  margin-top:8px;
}
.branch-gallery-group-actions .btn,
.branch-gallery-item-actions .btn{
  min-height:32px;
  padding:0 10px;
  font-size:11px;
}
@media (max-width:760px){
  .branch-gallery-group-item{
    align-items:flex-start;
    flex-direction:column;
  }
  .branch-gallery-group-actions{
    width:100%;
  }
}


/* v3.10.117 상황별 촬영 추천 이미지 텍스트형 카드 */
.home-recommend-card.copy-hidden{
  align-content:end;
}
.home-recommend-card.copy-hidden .recommend-tag,
.home-recommend-card.copy-hidden .recommend-title,
.home-recommend-card.copy-hidden .recommend-description{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.home-recommend-card.copy-hidden > em{
  margin-top:auto;
}
.home-recommend-card.copy-hidden.has-bg{
  min-height:238px;
}
.home-recommend-card.copy-hidden.has-bg .recommend-card-shade{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.34) 100%);
}
.home-recommend-card.copy-hidden .recommend-icon{
  margin-bottom:auto;
}
.recommend-admin-preview.copy-hidden .recommend-admin-copy{
  display:none!important;
}
.recommend-admin-preview.copy-hidden .recommend-admin-preview-content{
  align-content:end;
}
.recommend-admin-preview.copy-hidden .recommend-admin-preview-content b{
  margin-top:auto;
}
.recommend-copy-visible{
  grid-column:1 / -1;
}


/* v3.10.117 관리자 모바일 미리보기 추천 카드 텍스트 숨김 */
.home-preview-recommend-card.copy-hidden .recommend-admin-copy{
  display:none!important;
}
.home-preview-recommend-card.copy-hidden{
  align-content:end;
}
.home-preview-recommend-card.copy-hidden b{
  margin-top:auto;
}

/* v3.10.117 추천 카드 SEO 전용 숨김 텍스트 */
.recommend-seo-copy{pointer-events:none;}


/* v3.10.117 촬영서비스 상세 1:1 히어로 슬라이드 */
.detail-hero{
  display:grid;
  gap:14px;
}
.service-hero-slider{
  position:relative;
  display:grid;
  gap:10px;
  padding:14px;
  background:linear-gradient(180deg,#fffaf5,#f2e6dc);
  border-top:1px solid rgba(234,216,199,.78);
}
.service-hero-slider.is-empty{
  display:none;
}
.service-hero-slide-stage{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  overflow:hidden;
  border-radius:26px;
  background:#ead8c7;
  box-shadow:0 16px 38px rgba(81,56,37,.12);
}
.service-hero-slide-card{
  position:absolute;
  inset:0;
  margin:0;
}
.service-hero-slide-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.service-hero-slide-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 45%,rgba(0,0,0,.18) 100%);
  pointer-events:none;
}
.service-hero-indicators{
  position:absolute;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  z-index:2;
}
.service-hero-indicators button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.service-hero-indicators button.active{
  width:24px;
  background:#fff;
}

/* v3.10.117 촬영서비스 히어로 슬라이드 CMS */
.service-hero-slide-manager{
  display:grid;
  gap:14px;
  padding:16px;
  border-radius:24px;
  border:1px solid #ead8c7;
  background:#fffaf5;
}
.service-hero-guide{
  padding:14px;
  border-radius:18px;
  border:1px solid #ead8c7;
  background:#fff;
}
.service-hero-guide strong{
  display:block;
  margin-bottom:7px;
  color:#241c17;
  font-size:14px;
}
.service-hero-guide ul{
  margin:0;
  padding-left:18px;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.75;
}
.service-hero-slide-body,
.service-hero-admin-list{
  display:grid;
  gap:14px;
}
.service-hero-slide-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.service-hero-slide-toolbar span{
  color:#7a543c;
  font-size:12px;
  font-weight:900;
}
.service-hero-admin-card{
  display:grid;
  gap:14px;
  padding:14px;
  border-radius:22px;
  border:1px solid #ead8c7;
  background:#fff;
}
.service-hero-admin-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.service-hero-admin-head strong{
  display:block;
  color:#241c17;
  font-size:15px;
}
.service-hero-admin-head span{
  display:block;
  margin-top:3px;
  color:#8d6f52;
  font-size:12px;
  line-height:1.45;
}
.service-hero-admin-actions,
.service-hero-admin-save{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.service-hero-admin-actions .btn{
  min-height:32px;
  padding:0 10px;
  font-size:11px;
}
.service-hero-admin-grid{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:14px;
}
.service-hero-admin-preview{
  aspect-ratio:1/1;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:20px;
  border:1px solid #ead8c7;
  background:linear-gradient(135deg,#f8efe7,#d7bea8);
}
.service-hero-admin-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.service-hero-admin-placeholder{
  color:#9b7456;
  font-size:24px;
  font-weight:900;
}
.service-hero-admin-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.service-hero-admin-fields .wide{
  grid-column:1/-1;
}
.service-hero-drop{
  min-height:92px;
}
@media (max-width:760px){
  .service-hero-admin-grid{
    grid-template-columns:1fr;
  }
  .service-hero-admin-preview{
    max-width:240px;
  }
  .service-hero-admin-head{
    flex-direction:column;
  }
}


/* v3.10.117 촬영서비스 히어로 홈슬라이드 통합형 */
.services-page .page{
  display:block;
  padding:0 0 112px;
}
.services-page .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.services-page .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  backdrop-filter:none;
}
.services-page .header .brand{
  display:flex;
  align-items:center;
  max-width:52vw;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.services-page .brand-image-link{
  min-width:0;
}
.services-page .brand-logo-image{
  display:block;
  width:auto;
  max-width:min(230px,52vw);
  height:58px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.22));
}
.services-page .header .brand-mark,
.services-page .header .brand-copy{
  display:none!important;
}
.services-page .header .header-actions{
  margin-left:auto;
}
.services-page .header .header-btn.primary{
  display:none!important;
}
.services-page .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.services-page .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.services-page .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.services-page .public-detail-main{
  display:grid;
  gap:16px;
}
.services-page .detail-hero{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.services-page .service-visual{
  display:none!important;
}
.services-page .service-hero-slider{
  position:relative;
  display:block;
  min-height:min(86dvh,780px);
  height:min(86dvh,780px);
  margin:0 0 16px;
  padding:0;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.services-page .service-hero-slider.is-empty{
  display:none!important;
}
.services-page .service-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0));
}
.services-page .service-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 0%,
    rgba(23,16,12,.05) 42%,
    rgba(23,16,12,.12) 68%,
    rgba(244,238,231,.10) 86%,
    rgba(244,238,231,.28) 100%
  );
}
.services-page .service-hero-slide-stage,
.services-page .service-hero-slide-card{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.services-page .service-hero-slide-stage{
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.services-page .service-hero-slide-card{
  display:block;
  margin:0;
  text-decoration:none;
}
.services-page .service-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.services-page .service-hero-indicators{
  position:absolute;
  left:0;
  right:0;
  bottom:30px;
  z-index:5;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
}
.services-page .service-hero-dot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.52);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  cursor:pointer;
  transition:width .22s ease,background .22s ease;
}
.services-page .service-hero-dot.is-active{
  width:24px;
  background:#fff;
}
.services-page .service-hero-seo{
  pointer-events:none;
}
.services-page .detail-hero .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
@media (max-width:430px){
  .services-page .header{
    padding:18px 18px 0;
  }
  .services-page .brand-logo-image{
    max-width:min(220px,54vw);
    height:56px;
  }
  .services-page .header .menu-line-btn{
    width:44px;
    height:44px;
    min-height:44px;
    gap:4px;
  }
  .services-page .header .menu-line-btn span[aria-hidden="true"]{
    width:30px;
    height:4px;
  }
  .services-page .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .services-page .service-hero-slider{
    min-height:min(87dvh,730px);
    height:min(87dvh,730px);
    margin-bottom:14px;
  }
  .services-page .service-hero-indicators{
    bottom:28px;
  }
}


/* v3.10.117 촬영서비스 히어로 1:1 프레임 + 오버레이 안정화 */
.services-page .header{
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  transform:none;
  width:calc(100% - 28px);
  max-width:var(--max);
  margin:14px auto 8px;
  z-index:26;
  padding:12px 14px;
  border-radius:24px;
  border:1px solid rgba(234,216,199,.72);
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 34px rgba(81,56,37,.10);
  backdrop-filter:blur(16px);
}
.services-page.service-hero-has-slider .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  margin:0;
  padding:18px 22px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.services-page.service-hero-empty .header .brand{
  max-width:62vw;
}
.services-page.service-hero-empty .brand-logo-image{
  filter:none;
}
.services-page.service-hero-empty .header .menu-line-btn span[aria-hidden="true"]{
  background:#746052;
  box-shadow:none;
}
.services-page .service-hero-slider{
  width:100%;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:1/1;
  max-height:none;
  margin:0 0 18px;
  border-radius:0 0 30px 30px;
}
.services-page .service-hero-slider.is-empty{
  display:none!important;
}
.services-page .service-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  border-radius:0 0 30px 30px;
}
.services-page .service-hero-slide-card{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.services-page .service-hero-slide-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.services-page .service-hero-indicators{
  left:50%!important;
  right:auto!important;
  bottom:24px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  padding:0;
  justify-content:center;
  z-index:6;
}
.services-page .service-hero-dot{
  flex:0 0 auto;
}
.services-page .service-hero-dot.is-active{
  width:24px;
}
.services-page.service-hero-has-slider .detail-hero .hero-body{
  margin-top:0;
}
.services-page.service-hero-empty .detail-hero{
  padding-top:0;
}
@media (max-width:430px){
  .services-page .header{
    width:calc(100% - 24px);
    margin-top:12px;
  }
  .services-page.service-hero-has-slider .header{
    width:100%;
    padding:18px 18px 0;
    margin:0;
  }
  .services-page .service-hero-slider{
    aspect-ratio:1/1;
    min-height:0!important;
    height:auto!important;
    margin-bottom:16px;
  }
  .services-page .service-hero-indicators{
    bottom:22px;
  }
}


/* v3.10.117 촬영서비스 본문 여백 복구 + 숫자형 indicator + 전환 안정화 */
.services-page .public-detail-main > .section,
.services-page .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
.services-page .public-detail-main > .detail-hero{
  width:100%;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
.services-page .service-hero-slide-stage{
  background:#d8c2b0;
}
.services-page .service-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.services-page .service-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.services-page .service-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.services-page .service-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.services-page .service-hero-layer img{
  transform:translateZ(0);
  backface-visibility:hidden;
}
.services-page .service-hero-indicators{
  left:50%!important;
  right:auto!important;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  padding:0;
  justify-content:center;
  z-index:7;
}
.services-page .service-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.services-page .brand-image-link .brand-logo-image{
  display:block!important;
}
.services-page.service-hero-has-slider .brand-image-link{
  background:transparent!important;
}
.services-page.service-hero-has-slider .brand-logo-image{
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.28));
}
.services-page.service-hero-has-slider .header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,0));
}
@media (max-width:430px){
  .services-page .public-detail-main > .section,
  .services-page .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .services-page .service-hero-indicators{
    bottom:20px;
  }
  .services-page .service-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}

/* v3.10.117 홈 섹션 숨김 상태 */
.is-home-section-hidden{display:none!important;}


/* v3.10.117 서브 히어로 로고 미노출 + 갤러리 히어로 슬라이드 */
.home-products .section-head.compact{
  align-items:flex-end;
}
.services-page.service-hero-has-slider .header .brand,
.gallery-page-body .header .brand{
  display:none!important;
}
.services-page.service-hero-has-slider .header .header-actions,
.gallery-page-body .header .header-actions{
  margin-left:auto;
}
.gallery-page-body .page{
  display:block;
  padding:0 0 112px;
}
.gallery-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.gallery-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.gallery-page-body .header .header-btn.primary{
  display:none!important;
}
.gallery-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.gallery-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.gallery-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.gallery-page-body .public-detail-main{
  display:grid;
  gap:16px;
}
.gallery-page-body .gallery-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.gallery-page-body .gallery-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.gallery-page-body .gallery-hero-slider.is-empty{
  display:none!important;
}
.gallery-page-body .gallery-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));
}
.gallery-page-body .gallery-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.05) 42%,rgba(23,16,12,.12) 68%,rgba(244,238,231,.10) 86%,rgba(244,238,231,.28) 100%);
}
.gallery-page-body .gallery-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.gallery-page-body .gallery-hero-slide-card,
.gallery-page-body .gallery-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.gallery-page-body .gallery-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.gallery-page-body .gallery-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.gallery-page-body .gallery-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.gallery-page-body .gallery-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.gallery-page-body .gallery-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:7;
}
.gallery-page-body .gallery-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.gallery-page-body .gallery-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.gallery-page-body .public-detail-main > .section,
.gallery-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:430px){
  .gallery-page-body .header{
    padding:18px 18px 0;
  }
  .gallery-page-body .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .gallery-page-body .gallery-hero-detail .hero-body,
  .gallery-page-body .public-detail-main > .section,
  .gallery-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .gallery-page-body .gallery-hero-slider{
    margin-bottom:16px;
  }
  .gallery-page-body .gallery-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}


/* v3.10.117 상황별 추천 줄바꿈 + 지점 히어로 슬라이드 */
.home-recommend-card > p,
.home-recommend-card .recommend-description{
  white-space:pre-line;
}
.branches-page-body .page{
  display:block;
  padding:0 0 112px;
}
.branches-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.branches-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.branches-page-body .header .brand{
  display:none!important;
}
.branches-page-body .header .header-actions{
  margin-left:auto;
}
.branches-page-body .header .header-btn.primary{
  display:none!important;
}
.branches-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.branches-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.branches-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.branches-page-body .public-detail-main{
  display:grid;
  gap:16px;
}
.branches-page-body .branch-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.branches-page-body .branch-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.branches-page-body .branch-hero-slider.is-empty{
  display:none!important;
}
.branches-page-body .branch-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));
}
.branches-page-body .branch-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.05) 42%,rgba(23,16,12,.12) 68%,rgba(244,238,231,.10) 86%,rgba(244,238,231,.28) 100%);
}
.branches-page-body .branch-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.branches-page-body .branch-hero-slide-card,
.branches-page-body .branch-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.branches-page-body .branch-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.branches-page-body .branch-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.branches-page-body .branch-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.branches-page-body .branch-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.branches-page-body .branch-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:7;
}
.branches-page-body .branch-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.branches-page-body .branch-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.branches-page-body .public-detail-main > .section,
.branches-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:430px){
  .branches-page-body .header{
    padding:18px 18px 0;
  }
  .branches-page-body .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .branches-page-body .branch-hero-detail .hero-body,
  .branches-page-body .public-detail-main > .section,
  .branches-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .branches-page-body .branch-hero-slider{
    margin-bottom:16px;
  }
  .branches-page-body .branch-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}


/* v3.10.117 상품안내 히어로 슬라이드 */
.products-page-body .page{
  display:block;
  padding:0 0 112px;
}
.products-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.products-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.products-page-body .header .brand{
  display:none!important;
}
.products-page-body .header .header-actions{
  margin-left:auto;
}
.products-page-body .header .header-btn.primary{
  display:none!important;
}
.products-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.products-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.products-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.products-page-body .public-detail-main{
  display:grid;
  gap:16px;
}
.products-page-body .product-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.products-page-body .product-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.products-page-body .product-hero-slider.is-empty{
  display:none!important;
}
.products-page-body .product-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));
}
.products-page-body .product-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.05) 42%,rgba(23,16,12,.12) 68%,rgba(244,238,231,.10) 86%,rgba(244,238,231,.28) 100%);
}
.products-page-body .product-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.products-page-body .product-hero-slide-card,
.products-page-body .product-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.products-page-body .product-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.products-page-body .product-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.products-page-body .product-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.products-page-body .product-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.products-page-body .product-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:7;
}
.products-page-body .product-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.products-page-body .product-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.products-page-body .public-detail-main > .section,
.products-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:430px){
  .products-page-body .header{
    padding:18px 18px 0;
  }
  .products-page-body .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .products-page-body .product-hero-detail .hero-body,
  .products-page-body .public-detail-main > .section,
  .products-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .products-page-body .product-hero-slider{
    margin-bottom:16px;
  }
  .products-page-body .product-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}


/* v3.10.117 예약 문의 히어로 슬라이드 */
.reservation-page-body .page{
  display:block;
  padding:0 0 112px;
}
.reservation-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.reservation-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.reservation-page-body .header .brand{
  display:none!important;
}
.reservation-page-body .header .header-actions{
  margin-left:auto;
}
.reservation-page-body .header .header-btn.primary{
  display:none!important;
}
.reservation-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.reservation-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.reservation-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.reservation-page-body .public-detail-main{
  display:grid;
  gap:16px;
}
.reservation-page-body .reservation-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.reservation-page-body .reservation-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.reservation-page-body .reservation-hero-slider.is-empty{
  display:none!important;
}
.reservation-page-body .reservation-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));
}
.reservation-page-body .reservation-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.05) 42%,rgba(23,16,12,.12) 68%,rgba(244,238,231,.10) 86%,rgba(244,238,231,.28) 100%);
}
.reservation-page-body .reservation-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.reservation-page-body .reservation-hero-slide-card,
.reservation-page-body .reservation-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.reservation-page-body .reservation-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.reservation-page-body .reservation-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.reservation-page-body .reservation-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.reservation-page-body .reservation-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.reservation-page-body .reservation-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:7;
}
.reservation-page-body .reservation-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.reservation-page-body .reservation-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.reservation-page-body .public-detail-main > .section,
.reservation-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:430px){
  .reservation-page-body .header{
    padding:18px 18px 0;
  }
  .reservation-page-body .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .reservation-page-body .reservation-hero-detail .hero-body,
  .reservation-page-body .public-detail-main > .section,
  .reservation-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .reservation-page-body .reservation-hero-slider{
    margin-bottom:16px;
  }
  .reservation-page-body .reservation-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}


/* v3.10.117 지점 갤러리 분류 스와이프 + 프로모션 히어로 슬라이드 */
.branch-gallery-grid{
  touch-action:pan-y;
}
.branch-gallery-section[data-active-group] .branch-gallery-grid{
  scroll-margin-top:18px;
}
.promotions-page-body .page{
  display:block;
  padding:0 0 112px;
}
.promotions-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0;
}
.promotions-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.promotions-page-body .header .brand{
  display:none!important;
}
.promotions-page-body .header .header-actions{
  margin-left:auto;
}
.promotions-page-body .header .header-btn.primary{
  display:none!important;
}
.promotions-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.promotions-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px;
  height:4px;
  margin:0!important;
  border-radius:999px;
  background:#fffaf5;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72);
}
.promotions-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.promotions-page-body .public-detail-main{
  display:grid;
  gap:16px;
}
.promotions-page-body .promotion-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.promotions-page-body .promotion-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.promotions-page-body .promotion-hero-slider.is-empty{
  display:none!important;
}
.promotions-page-body .promotion-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,0));
}
.promotions-page-body .promotion-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(23,16,12,.05) 42%,rgba(23,16,12,.12) 68%,rgba(244,238,231,.10) 86%,rgba(244,238,231,.28) 100%);
}
.promotions-page-body .promotion-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.promotions-page-body .promotion-hero-slide-card,
.promotions-page-body .promotion-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
}
.promotions-page-body .promotion-hero-layer.is-active{
  opacity:1;
  z-index:2;
}
.promotions-page-body .promotion-hero-layer.is-next{
  opacity:0;
  z-index:3;
}
.promotions-page-body .promotion-hero-layer.is-leaving{
  opacity:0;
  z-index:1;
}
.promotions-page-body .promotion-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.promotions-page-body .promotion-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:7;
}
.promotions-page-body .promotion-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.promotions-page-body .promotion-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.promotions-page-body .public-detail-main > .section,
.promotions-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:430px){
  .promotions-page-body .header{
    padding:18px 18px 0;
  }
  .promotions-page-body .drawer{
    top:72px;
    left:14px;
    right:14px;
    max-width:calc(var(--max) - 28px);
  }
  .promotions-page-body .promotion-hero-detail .hero-body,
  .promotions-page-body .public-detail-main > .section,
  .promotions-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .promotions-page-body .promotion-hero-slider{
    margin-bottom:16px;
  }
  .promotions-page-body .promotion-hero-counter{
    min-width:52px;
    height:23px;
    font-size:10.5px;
  }
}


/* v3.10.117 상세 페이지 히어로 초기 자리 고정
   - Firestore 이미지 로드 전 .is-empty 상태에서도 히어로 영역을 숨기지 않습니다.
   - 스크롤/URL 보정 없이 레이아웃 점프를 줄이기 위한 고정 placeholder입니다. */
.service-hero-slider.is-empty{
  display:grid!important;
}
.products-page-body .product-hero-slider.is-empty,
.gallery-page-body .gallery-hero-slider.is-empty,
.branches-page-body .branch-hero-slider.is-empty,
.reservation-page-body .reservation-hero-slider.is-empty,
.promotions-page-body .promotion-hero-slider.is-empty{
  display:block!important;
}
.service-hero-slider.is-empty .service-hero-slide-stage,
.products-page-body .product-hero-slider.is-empty .product-hero-slide-stage,
.gallery-page-body .gallery-hero-slider.is-empty .gallery-hero-slide-stage,
.branches-page-body .branch-hero-slider.is-empty .branch-hero-slide-stage,
.reservation-page-body .reservation-hero-slider.is-empty .reservation-hero-slide-stage,
.promotions-page-body .promotion-hero-slider.is-empty .promotion-hero-slide-stage{
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.58),transparent 28%),
    linear-gradient(135deg,#efe3d8 0%,#dcc7b5 46%,#b99678 100%);
}
.service-hero-slider.is-empty .service-hero-slide-stage::before,
.products-page-body .product-hero-slider.is-empty .product-hero-slide-stage::before,
.gallery-page-body .gallery-hero-slider.is-empty .gallery-hero-slide-stage::before,
.branches-page-body .branch-hero-slider.is-empty .branch-hero-slide-stage::before,
.reservation-page-body .reservation-hero-slider.is-empty .reservation-hero-slide-stage::before,
.promotions-page-body .promotion-hero-slider.is-empty .promotion-hero-slide-stage::before{
  content:"";
  position:absolute;
  inset:16%;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.16));
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 22px 64px rgba(80,55,36,.12);
  pointer-events:none;
}
.service-hero-slider.is-empty .service-hero-slide-stage::after,
.products-page-body .product-hero-slider.is-empty .product-hero-slide-stage::after,
.gallery-page-body .gallery-hero-slider.is-empty .gallery-hero-slide-stage::after,
.branches-page-body .branch-hero-slider.is-empty .branch-hero-slide-stage::after,
.reservation-page-body .reservation-hero-slider.is-empty .reservation-hero-slide-stage::after,
.promotions-page-body .promotion-hero-slider.is-empty .promotion-hero-slide-stage::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:22px;
  width:56px;
  height:24px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 8px 22px rgba(55,37,22,.10);
  pointer-events:none;
}
.service-hero-slider.is-empty .service-hero-indicators,
.products-page-body .product-hero-slider.is-empty .product-hero-indicators,
.gallery-page-body .gallery-hero-slider.is-empty .gallery-hero-indicators,
.branches-page-body .branch-hero-slider.is-empty .branch-hero-indicators,
.reservation-page-body .reservation-hero-slider.is-empty .reservation-hero-indicators,
.promotions-page-body .promotion-hero-slider.is-empty .promotion-hero-indicators{
  display:none!important;
}

/* v3.10.117 히어로 기본 배경 전용 CMS UI */
.hero-background-slot-nav{
  display:grid;
  gap:8px;
}
.hero-background-slot-nav > strong{
  color:#241c17;
  font-size:13px;
}
.hero-background-slot-nav > span{
  color:#8d6f52;
  font-size:11.5px;
  line-height:1.5;
}
.hero-bg-nav-item small{
  display:block;
  margin-top:4px;
  color:#8d6f52;
  font-size:11px;
}
.hero-bg-nav-item.has-image{
  border-color:rgba(74,112,76,.28);
  background:#fbfff7;
}
.hero-bg-manager{
  display:grid;
  gap:14px;
}
.hero-bg-manager-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.hero-bg-manager-head h3{
  margin:6px 0 0;
  font-size:20px;
  letter-spacing:-.04em;
}
.hero-bg-manager-head p{
  margin:6px 0 0;
  color:#6c5a4e;
  font-size:12.5px;
  line-height:1.55;
}
.hero-bg-guide{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid #ead8c7;
}
.hero-bg-guide strong{
  color:#7a543c;
  font-size:12px;
}
.hero-bg-guide span{
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.55;
}
.hero-bg-grid{
  display:grid;
  gap:14px;
}
.hero-bg-card{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid #ead8c7;
  box-shadow:0 10px 28px rgba(81,56,37,.06);
}
.hero-bg-card-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.hero-bg-card-head h3{
  margin:6px 0 0;
  color:#241c17;
  font-size:17px;
  letter-spacing:-.04em;
}
.hero-bg-card-head p{
  margin:5px 0 0;
  color:#8d6f52;
  font-size:12px;
  line-height:1.45;
}
.hero-bg-preview{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
  border-radius:18px;
  border:1px solid #ead8c7;
  background:linear-gradient(135deg,#f8efe7,#d7bea8);
}
.hero-bg-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-bg-empty-preview{
  height:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  color:#9b7456;
  text-align:center;
}
.hero-bg-empty-preview b{
  font-size:18px;
}
.hero-bg-empty-preview span{
  font-size:12px;
}
.hero-bg-meta{
  display:grid;
  gap:5px;
  color:#6c5a4e;
  font-size:11.5px;
  line-height:1.55;
}
.hero-bg-meta b{
  color:#7a543c;
}
.hero-bg-drop{
  min-height:92px;
}
.hero-bg-progress[hidden]{
  display:none;
}
@media (min-width:920px){
  .hero-bg-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .hero-bg-card-head{
    flex-direction:column;
  }
}



/* v3.10.157 홈 히어로 초기 샘플 슬라이드 노출 차단
   - index.html의 sample.svg 슬라이드는 제거하고 CMS 슬라이드 로드 전에는 고정 Storage 기본 배경만 표시
   - 슬라이드 컨테이너가 비어 있어도 버튼/indicator 레이어는 유지 */
.home-hero-slider.is-awaiting-cms-slides .home-hero-slides:empty{
  display:none;
}
.home-hero-slides:empty + .home-hero-actions + .home-hero-indicators{
  display:none;
}

/* v3.10.157 공개 페이지 히어로 기본 배경 즉시 표시
   - v3.10.117의 PC/모바일 레이아웃 구조는 변경하지 않음
   - 관리자 CMS가 고정 Storage 경로에 업로드한 SVG 또는 WebP를 첫 렌더 단계에서 바로 요청
   - Firestore 조회/JS 실행 전에도 배경색보다 기본 배경 이미지가 먼저 표시되도록 background-image만 지정 */
.home-page .home-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fhome.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fhome.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.services-page .service-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fservice-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fservice-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.products-page-body .product-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fproduct-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fproduct-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.gallery-page-body .gallery-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fgallery-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fgallery-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.branches-page-body .branch-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fbranch-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fbranch-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.promotions-page-body .promotion-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fpromotion-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fpromotion-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.reservation-page-body .reservation-hero-slider{
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Freservation.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Freservation.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.service-hero-slider.is-empty,
.products-page-body .product-hero-slider.is-empty,
.gallery-page-body .gallery-hero-slider.is-empty,
.branches-page-body .branch-hero-slider.is-empty,
.reservation-page-body .reservation-hero-slider.is-empty,
.promotions-page-body .promotion-hero-slider.is-empty{
  background-color:#d8c2b0;
}

/* v3.10.157 branch gallery manager UX */
.branch-manager-only-head{align-items:flex-start}.branch-gallery-manager-v2 .branch-gallery-tabs-wrap{margin-bottom:12px}.branch-gallery-manager-v2 .branch-gallery-controls.compact{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}.branch-gallery-editor-card{border:1px solid rgba(120,92,64,.18);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 14px 34px rgba(70,48,32,.08);padding:16px;margin:14px 0}.branch-gallery-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.branch-gallery-editor-grid{grid-template-columns:1fr 1fr}.branch-gallery-upload-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.branch-gallery-upload-panel{border:1px solid rgba(120,92,64,.14);border-radius:18px;background:rgba(255,250,245,.66);padding:12px;display:grid;gap:10px}.branch-gallery-detail-preview{display:grid;gap:10px}.branch-gallery-detail-thumb{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;border:1px solid rgba(120,92,64,.13);border-radius:14px;background:#fff;padding:8px}.branch-gallery-detail-thumb img{width:82px;height:82px;object-fit:cover;border-radius:12px;background:#f5efe8}.branch-gallery-detail-thumb div{display:flex;flex-wrap:wrap;gap:6px}.branch-gallery-actions-row{display:flex;justify-content:flex-end;margin-top:12px}.branch-gallery-admin-list-v2 .branch-gallery-admin-item small{display:block;margin-top:3px;color:#8a7667}.branch-gallery-group-manager.compact{margin-top:14px}.branch-gallery-existing-note{font-size:12px;color:#8a7667;margin:4px 0 10px}@media (min-width:760px){.branch-gallery-upload-grid{grid-template-columns:1fr 1fr}.branch-gallery-manager-v2 .branch-gallery-controls.compact{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}

/* v3.10.157 branch gallery category-scoped list + drag sort */
.branch-gallery-existing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0 10px}.branch-gallery-existing-head>div{min-width:0}.branch-gallery-admin-list-v2[data-branch-gallery-sort-list]{display:grid;gap:10px}.branch-gallery-sort-item{position:relative;cursor:grab;user-select:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease}.branch-gallery-sort-item:active{cursor:grabbing}.branch-gallery-sort-item.is-dragging{opacity:.62;transform:scale(.985);box-shadow:0 16px 38px rgba(70,48,32,.16);border-color:rgba(120,92,64,.32)}.branch-gallery-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(120,92,64,.1);color:#7d6656;font-weight:800;flex:0 0 auto;margin-right:2px}.branch-gallery-admin-item .branch-gallery-drag-handle+img{margin-left:0}.branch-gallery-admin-list-v2[data-dirty="true"]{outline:2px dashed rgba(166,122,76,.32);outline-offset:4px;border-radius:18px}.branch-gallery-admin-list-v2[data-dirty="true"]+.branch-gallery-sort-hint{display:block}@media (max-width:640px){.branch-gallery-existing-head{display:grid}.branch-gallery-existing-head .btn{width:100%}.branch-gallery-drag-handle{width:24px;height:24px}}

/* v3.10.157 branch gallery compact operator list */
.branch-gallery-compact-list[data-branch-gallery-sort-list]{
  display:grid;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding:8px;
  border:1px dashed rgba(166,122,76,.22);
  border-radius:18px;
  background:rgba(255,252,248,.72);
}
.branch-gallery-compact-list .branch-gallery-compact-item{
  display:grid;
  grid-template-columns:34px 34px 72px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:86px;
  padding:9px 10px;
  border-radius:16px;
  border:1px solid rgba(120,92,64,.15);
  background:#fff;
  box-shadow:0 6px 16px rgba(70,48,32,.045);
}
.branch-gallery-compact-list .branch-gallery-compact-item:hover{
  border-color:rgba(120,92,64,.28);
  box-shadow:0 10px 24px rgba(70,48,32,.08);
}
.branch-gallery-compact-list .branch-gallery-compact-handle{
  width:34px;
  height:34px;
  margin:0;
  font-size:16px;
  cursor:grab;
}
.branch-gallery-order-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(166,122,76,.1);
  color:#8a6448;
  font-size:12px;
  font-weight:800;
}
.branch-gallery-compact-list .branch-gallery-compact-thumb,
.branch-gallery-compact-list img.branch-gallery-compact-thumb{
  width:72px;
  height:72px;
  border-radius:14px;
  object-fit:cover;
  background:#f5eee6;
  display:grid;
  place-items:center;
  font-size:20px;
}
.branch-gallery-compact-main{
  min-width:0;
  display:grid;
  gap:7px;
}
.branch-gallery-compact-main b{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#211a15;
  font-size:14px;
  line-height:1.35;
}
.branch-gallery-compact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.branch-gallery-compact-meta span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(120,92,64,.07);
  color:#7c6a5c;
  font-size:11px;
  font-weight:700;
}
.branch-gallery-compact-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  margin:0!important;
  white-space:nowrap;
}
.branch-gallery-compact-actions .btn{
  min-height:32px;
  padding:0 10px;
}
.branch-gallery-compact-list[data-dirty="true"]{
  outline:2px dashed rgba(166,122,76,.38);
  outline-offset:3px;
}
.branch-gallery-existing-head #branchGallerySortSaveBtn:not(:disabled){
  background:#9f7655;
  color:#fff;
  border-color:#9f7655;
  box-shadow:0 8px 18px rgba(120,92,64,.18);
}
@media (max-width:760px){
  .branch-gallery-compact-list .branch-gallery-compact-item{
    grid-template-columns:30px 30px 62px minmax(0,1fr);
    gap:8px;
  }
  .branch-gallery-compact-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
    flex-wrap:wrap;
    padding-left:70px;
  }
  .branch-gallery-compact-list .branch-gallery-compact-thumb,
  .branch-gallery-compact-list img.branch-gallery-compact-thumb{
    width:62px;
    height:62px;
  }
}

/* v3.10.157 지점 갤러리 상세 보기 다중 이미지 표시 */
.gallery-detail-images{
  display:grid;
  gap:18px;
  width:100%;
}
.gallery-detail-images img{
  display:block;
  width:min(100%,760px);
  height:auto;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 80px rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .18s ease;
}
.gallery-detail-modal.is-loaded .gallery-detail-images img{
  opacity:1;
}
.gallery-detail-modal.is-loading .gallery-detail-images img,
.gallery-detail-modal.is-error .gallery-detail-images img{
  opacity:0;
}
@media (max-width:430px){
  .gallery-detail-images{
    gap:12px;
  }
  .gallery-detail-images img{
    width:100%;
    border-radius:14px;
  }
}

/* v3.10.157 관리자 계정 관리 */
.admin-account-manager .form-grid.two{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-account-manager label{
  display:grid;
  gap:6px;
  font-size:13px;
  color:#4f4036;
  font-weight:700;
}
.admin-account-manager input,
.admin-account-manager select{
  width:100%;
  border:1px solid rgba(92,69,52,.16);
  border-radius:14px;
  padding:11px 12px;
  background:#fff;
  color:#2e241d;
  font:inherit;
}
.admin-account-manager .toggle-label{
  display:flex;
  align-items:center;
  gap:8px;
  align-self:end;
  min-height:44px;
}
.admin-account-manager .toggle-label input,
.admin-account-permissions input,
.admin-account-branch-option input{
  width:auto;
}
.admin-account-section{
  border:1px solid rgba(92,69,52,.12);
  border-radius:18px;
  background:#fffaf5;
  padding:14px;
}
.admin-account-branch-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
.admin-account-branch-option{
  display:flex!important;
  align-items:center;
  gap:7px!important;
  min-height:38px;
  padding:8px 10px;
  border:1px solid rgba(92,69,52,.12);
  border-radius:12px;
  background:#fff;
  font-weight:600!important;
}
.admin-account-branch-option.checked{
  border-color:rgba(116,84,60,.38);
  background:#f4ebe2;
}
.admin-account-permissions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.admin-account-permissions label{
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 11px;
  border:1px solid rgba(92,69,52,.12);
  border-radius:999px;
  background:#fff;
}
.admin-account-columns{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:14px;
}
.admin-account-columns h4{
  margin:0 0 10px;
  font-size:15px;
}
.admin-account-list,
.admin-account-request-list{
  display:grid;
  gap:8px;
}
.admin-account-empty{
  padding:14px;
  border:1px dashed rgba(92,69,52,.22);
  border-radius:14px;
  color:#7a6a5d;
  background:#fff;
}
.admin-account-row,
.admin-account-request-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(92,69,52,.12);
  border-radius:16px;
  background:#fff;
}
.admin-account-row.is-disabled{
  opacity:.66;
  background:#f7f3ee;
}
.admin-account-main{
  display:grid;
  gap:3px;
  min-width:0;
}
.admin-account-main strong,
.admin-account-main span,
.admin-account-main small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-account-main span,
.admin-account-main small,
.admin-account-request-row span{
  color:#7a6a5d;
  font-size:12px;
}
.admin-account-state{
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
.admin-account-state.on{
  background:#e8f5ec;
  color:#237243;
}
.admin-account-state.off{
  background:#f2e8e4;
  color:#9b3e2d;
}
.admin-account-state.pending{
  background:#f3f0e8;
  color:#7b6b4f;
}
.admin-account-error{
  color:#a6452f !important;
  white-space:normal !important;
}
.admin-account-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-account-request-row{
  grid-template-columns:minmax(0,1fr) auto auto;
}

.admin-account-access{
  color:#4f685e!important;
}
.admin-access-log-modal[hidden]{
  display:none!important;
}
.admin-access-log-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:24px;
}
.admin-access-log-backdrop{
  position:absolute;
  inset:0;
  background:rgba(36,28,22,.38);
  backdrop-filter:blur(5px);
}
.admin-access-log-panel{
  position:relative;
  width:min(920px,100%);
  max-height:min(720px,88vh);
  overflow:auto;
  border:1px solid rgba(92,69,52,.16);
  border-radius:24px;
  background:#fffaf5;
  box-shadow:0 24px 70px rgba(63,45,30,.24);
  padding:20px;
}
.admin-access-log-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.admin-access-log-head h3{
  margin:8px 0 4px;
  font-size:22px;
}
.admin-access-log-head p{
  margin:0;
  color:#7a6a5d;
}
.admin-access-log-summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:16px 0;
  padding:13px 14px;
  border:1px solid rgba(92,69,52,.12);
  border-radius:16px;
  background:#fff;
}
.admin-access-log-summary span{
  color:#4f685e;
  font-weight:800;
}
.admin-access-log-table{
  display:grid;
  gap:6px;
}
.admin-access-log-row{
  display:grid;
  grid-template-columns:150px 110px 90px minmax(0,1fr) 70px;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(92,69,52,.1);
  border-radius:13px;
  background:#fff;
  font-size:12px;
  color:#5d5148;
}
.admin-access-log-row span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-access-log-row.is-head{
  background:#f3eee7;
  color:#3b3029;
  font-weight:900;
}
@media (max-width:760px){
  .admin-account-manager .form-grid.two,
  .admin-account-columns,
  .admin-account-row,
  .admin-account-request-row{
    grid-template-columns:1fr;
  }
  .admin-account-branch-grid{
    grid-template-columns:1fr;
  }
  .admin-account-actions{
    justify-content:flex-start;
  }
}


@media (max-width:760px){
  .admin-access-log-modal{
    padding:14px;
  }
  .admin-access-log-panel{
    border-radius:20px;
    padding:16px;
  }
  .admin-access-log-head,
  .admin-access-log-summary{
    display:grid;
  }
  .admin-access-log-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .admin-access-log-row.is-head{
    display:none;
  }
}

/* v3.10.157 지점 상세 모바일 구조 정리: Branch Detail/대형 서비스 섹션 제거, 지점 정보 카드 통합 */
.branches-page-body .branch-info-panel-compact{
  gap:16px;
  padding:20px 18px;
}
.branches-page-body .branch-info-list-compact{
  display:grid;
  gap:12px;
}
.branches-page-body .branch-info-line{
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:start;
  gap:10px;
  color:#4d4037;
}
.branches-page-body .branch-info-line-icon{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  color:#9a7357;
  background:#f8eee6;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
.branches-page-body .branch-info-line strong{
  min-width:0;
  color:#332922;
  font-size:13px;
  line-height:1.65;
  font-weight:800;
  word-break:keep-all;
}
.branches-page-body .branch-info-line.phone{
  cursor:pointer;
}
.branches-page-body .branch-info-line.phone strong{
  color:#7a543c;
  font-size:14px;
  letter-spacing:-.015em;
}
.branches-page-body .branch-info-actions-inline{
  display:grid;
  gap:8px;
  padding-top:2px;
}
.branches-page-body .branch-info-actions-inline.action-count-1{
  grid-template-columns:1fr;
}
.branches-page-body .branch-info-actions-inline.action-count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.branches-page-body .branch-info-actions-inline.action-count-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.branches-page-body .branch-info-actions-inline .btn,
.branches-page-body .branch-info-actions-inline button.btn,
.branches-page-body .branch-info-actions-inline a.btn{
  min-height:42px;
  padding:10px 8px;
  width:100%;
  justify-content:center;
  border:1px solid #ead8c7;
  background:#fff;
  color:#7a543c;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.branches-page-body .branch-service-summary{
  display:grid;
  gap:10px;
  padding-top:14px;
  border-top:1px solid #ead8c7;
}
.branches-page-body .branch-service-summary > strong{
  color:#2c241f;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.035em;
}
.branches-page-body .branch-service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.branches-page-body .branch-service-tags.is-empty span,
.branches-page-body .branch-service-tag{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #ead8c7;
  background:#fffaf6;
  color:#4a3a30;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.035em;
  box-shadow:0 8px 20px rgba(67,46,27,.06);
}
.branches-page-body .branch-service-tag i{
  width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#f3e5d8;
  color:#9a7357;
  font-style:normal;
  font-size:11px;
  line-height:1;
}
@media (max-width:380px){
  .branches-page-body .branch-info-actions-inline.action-count-3{
    gap:6px;
  }
  .branches-page-body .branch-info-actions-inline .btn,
  .branches-page-body .branch-info-actions-inline button.btn,
  .branches-page-body .branch-info-actions-inline a.btn{
    min-height:40px;
    padding:9px 5px;
    font-size:11px;
  }
  .branches-page-body .branch-service-tag{
    padding:7px 10px;
    font-size:11.5px;
  }
}

/* v3.10.157 지점 정보 카드 시안형 간결화: 안내 문구 제거, 운영시간/휴무/설명/액션 버튼 통합 */
.branches-page-body .section-head-minimal{
  margin-bottom:12px;
}
.branches-page-body .section-head-minimal h2{
  margin-bottom:0;
}
.branches-page-body .branch-info-panel-visual{
  padding:26px 22px 22px;
  gap:18px;
  border-radius:26px;
}
.branches-page-body .branch-info-head-visual{
  display:grid;
  gap:14px;
  margin-bottom:2px;
}
.branches-page-body .branch-info-head-visual h3{
  margin:0;
  color:#241b16;
  font-size:25px;
  line-height:1.22;
  font-weight:950;
  letter-spacing:-.075em;
  word-break:keep-all;
}
.branches-page-body .branch-info-head-visual .branch-service-tags{
  margin-top:0;
}
.branches-page-body .branch-info-panel-visual .branch-service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.branches-page-body .branch-info-panel-visual .branch-service-tags.is-empty span,
.branches-page-body .branch-info-panel-visual .branch-service-tag{
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  border:0;
  background:#f3e6dc;
  color:#3b2b22;
  box-shadow:none;
  font-size:13px;
  font-weight:950;
  letter-spacing:-.04em;
}
.branches-page-body .branch-info-panel-visual .branch-service-tag i{
  width:auto;
  height:auto;
  background:transparent;
  color:#9a7357;
  font-size:15px;
  font-weight:950;
}
.branches-page-body .branch-info-list-visual{
  gap:12px;
  padding-top:4px;
}
.branches-page-body .branch-info-list-visual .branch-info-line{
  grid-template-columns:26px 1fr;
  gap:12px;
  align-items:center;
}
.branches-page-body .branch-info-list-visual .branch-info-line-icon{
  width:26px;
  height:26px;
  background:transparent;
  color:#8a6a55;
  font-size:20px;
  border-radius:0;
}
.branches-page-body .branch-info-list-visual .branch-info-line strong{
  color:#332922;
  font-size:15px;
  line-height:1.55;
  font-weight:850;
  letter-spacing:-.05em;
}
.branches-page-body .branch-info-notice{
  margin:0 0 0 38px;
  padding:0;
  color:#8a6a55;
  font-size:12.5px;
  line-height:1.55;
  font-weight:750;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.branches-page-body .branch-info-actions-visual{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding-top:18px;
  border-top:1px solid #ead8c7;
}
.branches-page-body .branch-info-actions-visual.action-count-1{
  grid-template-columns:minmax(0,1fr);
}
.branches-page-body .branch-info-actions-visual.action-count-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.branches-page-body .branch-info-actions-visual.action-count-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.branches-page-body .branch-info-action-button{
  appearance:none;
  border:0;
  background:transparent;
  color:#2d211b;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:9px;
  min-width:0;
  padding:0;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
}
.branches-page-body .branch-info-action-button span{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid #ead8c7;
  background:#fffaf6;
  color:#7d5b45;
  font-size:25px;
  line-height:1;
  box-shadow:0 12px 26px rgba(67,46,27,.08);
}
.branches-page-body .branch-info-action-button.phone span{
  border-color:#7a5137;
  background:linear-gradient(135deg,#6e472d,#8f6545);
  color:#fff;
}
.branches-page-body .branch-info-action-button.kakao span{
  border-color:#e9a3ad;
  background:linear-gradient(135deg,#e66f86,#f29cab);
  color:#fff;
}
.branches-page-body .branch-info-action-button strong{
  min-width:0;
  color:#2d211b;
  font-size:12.5px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.055em;
  word-break:keep-all;
}
@media (max-width:420px){
  .branches-page-body .branch-info-panel-visual{
    padding:24px 18px 20px;
  }
  .branches-page-body .branch-info-head-visual h3{
    font-size:23px;
  }
  .branches-page-body .branch-info-actions-visual{
    gap:8px;
  }
  .branches-page-body .branch-info-action-button span{
    width:54px;
    height:54px;
    font-size:23px;
  }
  .branches-page-body .branch-info-action-button strong{
    font-size:12px;
  }
}
@media (max-width:360px){
  .branches-page-body .branch-info-action-button span{
    width:50px;
    height:50px;
    font-size:21px;
  }
  .branches-page-body .branch-info-action-button strong{
    font-size:11px;
  }
}

/* v3.10.157 지점 정보 카드 폰트/아이콘 정교화: 시안형 부드러운 텍스트 위계와 라인 아이콘 통일 */
.branches-page-body .branch-info-panel-visual{
  font-family:inherit;
}
.branches-page-body .branch-info-head-visual h3{
  font-size:24px;
  line-height:1.24;
  font-weight:760;
  letter-spacing:-.055em;
  color:#2b211c;
}
.branches-page-body .branch-info-panel-visual .branch-service-tag{
  min-height:32px;
  padding:7px 12px;
  font-size:12.5px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.025em;
  color:#4a382f;
  background:#f2e5dc;
}
.branches-page-body .branch-info-panel-visual .branch-service-tag i{
  font-size:14px;
  font-weight:700;
  color:#9b765c;
}
.branches-page-body .branch-info-list-visual{
  gap:13px;
}
.branches-page-body .branch-info-list-visual .branch-info-line{
  grid-template-columns:26px 1fr;
  gap:8px;
}
.branches-page-body .branch-info-list-visual .branch-info-line-icon{
  width:26px;
  height:30px;
  color:#8c6b55;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.branches-page-body .branch-info-list-visual .branch-info-line-icon svg{
  width:24px;
  height:24px;
  display:block;
  stroke:currentColor;
}
.branches-page-body .branch-info-list-visual .branch-info-line strong{
  color:#342923;
  font-size:15px;
  line-height:1.5;
  font-weight:560;
  letter-spacing:-.033em;
}
.branches-page-body .branch-info-list-visual .branch-info-line.hours strong{
  font-weight:600;
}
.branches-page-body .branch-info-list-visual .branch-info-line.hours strong em,
.branches-page-body .branch-info-list-visual .branch-info-line.hours strong .closed-days{
  color:#c66b78;
  font-style:normal;
  font-weight:650;
}
.branches-page-body .branch-info-notice{
  margin-left:34px;
  color:#826d60;
  font-size:12.5px;
  line-height:1.55;
  font-weight:450;
  letter-spacing:-.025em;
}
.branches-page-body .branch-info-actions-visual{
  gap:12px;
}
.branches-page-body .branch-info-action-button span{
  width:58px;
  height:58px;
  border:1px solid #ead9ca;
  background:#fffaf6;
  color:#7c5b45;
  font-size:0;
  box-shadow:0 12px 24px rgba(67,46,27,.075);
}
.branches-page-body .branch-info-action-button span svg{
  width:29px;
  height:29px;
  display:block;
  stroke:currentColor;
}
.branches-page-body .branch-info-action-button.phone span,
.branches-page-body .branch-info-action-button.kakao span{
  color:#fff;
}
.branches-page-body .branch-info-action-button.phone span{
  border-color:#7a5137;
  background:linear-gradient(135deg,#6a432b,#8b6243);
}
.branches-page-body .branch-info-action-button.kakao span{
  border-color:#e8a0aa;
  background:linear-gradient(135deg,#e86f84,#f19aa9);
}
.branches-page-body .branch-info-action-button strong{
  font-size:12.3px;
  line-height:1.16;
  font-weight:680;
  letter-spacing:-.035em;
  color:#32261f;
}
@media (max-width:420px){
  .branches-page-body .branch-info-head-visual h3{
    font-size:22.5px;
  }
  .branches-page-body .branch-info-list-visual .branch-info-line strong{
    font-size:14.5px;
  }
  .branches-page-body .branch-info-action-button span{
    width:54px;
    height:54px;
  }
  .branches-page-body .branch-info-action-button span svg{
    width:27px;
    height:27px;
  }
  .branches-page-body .branch-info-action-button strong{
    font-size:11.8px;
  }
}


/* v3.10.157 지점 정보 카드 아이콘-텍스트 간격 미세 조정 */
.branches-page-body .branch-info-list-visual .branch-info-line{
  grid-template-columns:26px minmax(0,1fr);
  column-gap:8px;
}
.branches-page-body .branch-info-list-visual .branch-info-line-icon{
  width:26px;
  min-width:26px;
}
.branches-page-body .branch-info-notice{
  margin-left:34px;
}
@media (max-width:420px){
  .branches-page-body .branch-info-list-visual .branch-info-line{
    grid-template-columns:25px minmax(0,1fr);
    column-gap:7px;
  }
  .branches-page-body .branch-info-list-visual .branch-info-line-icon{
    width:25px;
    min-width:25px;
  }
  .branches-page-body .branch-info-notice{
    margin-left:32px;
  }
}

/* v3.10.157 촬영 서비스 페이지 흐름 정리: 사진 감상 → 상품 확인 → 문의 전환 */
.services-page .public-detail-main{
  gap:18px;
}
.services-page .detail-hero .hero-body.service-summary-card{
  gap:12px;
  padding:18px!important;
  border-radius:24px!important;
}
.services-page .service-summary-card .eyebrow{
  margin-bottom:0;
}
.services-page .service-summary-card h1{
  margin:0;
  font-size:24px;
  line-height:1.22;
  letter-spacing:-.065em;
}
.services-page .service-summary-card .lead{
  margin:0;
  color:#5e5047;
  font-size:13px;
  line-height:1.68;
  word-break:keep-all;
}
.service-summary-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:4px;
}
.service-summary-actions .btn{
  min-height:48px;
  border-radius:18px;
  font-size:13px;
  font-weight:800;
}
.services-page .service-tabs-section{
  margin-top:0;
}
.services-page .service-tabs-section .section-head,
.services-page .service-tabs-section .compact-head{
  margin-bottom:8px;
}
.services-page .service-tabs-section .section-head h2{
  font-size:20px;
  letter-spacing:-.055em;
}
.services-page .detail-tabs{
  border-radius:999px;
  padding:6px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(234,216,199,.82);
  box-shadow:0 12px 28px rgba(81,56,37,.08);
}
.services-page .detail-tabs .tab{
  min-height:42px;
  border-radius:999px;
}
.service-gallery-priority-section{
  margin-top:0!important;
}
.service-gallery-priority-section .section-head h2{
  font-size:22px;
  letter-spacing:-.06em;
}
.service-gallery-priority-section .section-head p{
  margin-top:4px;
  font-size:12.5px;
  line-height:1.55;
}
.services-page .service-linked-gallery-grid{
  gap:10px;
}
.services-page .service-product-section .section-head h2,
.services-page .service-reservation-section .section-head h2,
.services-page .service-point-section .section-head h2{
  font-size:22px;
  letter-spacing:-.06em;
}
.services-page .service-product-section .product-card{
  padding:18px!important;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fffaf5);
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.services-page .product-card .product-mini-head{
  margin-bottom:8px;
}
.services-page .product-card h3{
  margin:0;
  font-size:19px;
  line-height:1.35;
  letter-spacing:-.055em;
}
.services-page .product-card .muted{
  margin:4px 0 0;
  color:#5e5047;
  font-size:13px;
  line-height:1.65;
}
.services-page .service-product-points{
  margin:12px 0 14px!important;
}
.services-page .service-product-points span{
  font-weight:700;
  color:#7a543c;
  background:#fff;
}
.service-product-single-action{
  display:grid;
  margin-top:8px;
}
.service-product-single-action .btn{
  min-height:50px;
  border-radius:18px;
  font-weight:850;
}
.services-page .service-reservation-card{
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fffaf5);
  border:1px solid #ead8c7;
  box-shadow:var(--shadow);
}
.services-page .service-reservation-card h3{
  font-size:20px!important;
  line-height:1.34!important;
}
.services-page .service-reservation-card .btn{
  min-height:50px;
  border-radius:18px;
  font-weight:850;
}
.services-page .service-point-section{
  margin-top:0;
}
.services-page .service-point-section .section-head{
  margin-bottom:10px;
}
.services-page .service-point-section .section-head p{
  margin-top:4px;
  font-size:12.5px;
  line-height:1.55;
}
.services-page .service-point-list{
  display:grid;
  grid-template-columns:1fr;
  gap:0!important;
  overflow:hidden;
  border-radius:24px;
  border:1px solid #ead8c7;
  background:#fff;
  box-shadow:var(--shadow);
}
.services-page .service-point-list .mood-card{
  min-height:0!important;
  display:grid;
  grid-template-columns:54px 1fr;
  align-items:center;
  align-content:center!important;
  gap:14px;
  padding:18px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.services-page .service-point-list .mood-card + .mood-card{
  border-top:1px solid #efe1d3!important;
}
.services-page .service-point-list .mood-card::before{
  display:none;
}
.services-page .service-point-list .mood-card span{
  position:static!important;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f4ebe2;
  color:#9a6e4f;
  font-size:12px;
  font-weight:850;
}
.services-page .service-point-list .mood-card strong{
  display:block;
  color:#241c17;
  font-size:15px;
  line-height:1.36;
  letter-spacing:-.045em;
}
.services-page .service-point-list .mood-card p{
  margin-top:4px;
  color:#6c5a4e;
  font-size:12px;
  line-height:1.58;
}
@media (max-width:430px){
  .services-page .detail-hero .hero-body.service-summary-card{
    padding:17px!important;
  }
  .services-page .service-summary-card h1{
    font-size:22px;
  }
  .services-page .service-summary-card .lead{
    font-size:12.5px;
  }
  .service-summary-actions{
    gap:8px;
  }
  .service-summary-actions .btn{
    min-height:46px;
    font-size:12.5px;
  }
  .services-page .service-linked-gallery-grid{
    gap:9px;
  }
  .services-page .service-point-list .mood-card{
    grid-template-columns:48px 1fr;
    gap:12px;
    padding:16px!important;
  }
  .services-page .service-point-list .mood-card span{
    width:42px;
    height:42px;
  }
}

/* v3.10.157 촬영 포인트 2x2 감성 카드 복원
   - v3.10.136 아이콘형 세로 리스트를 기존 카드형 구조로 재적용
   - 모바일에서 본문이 한 글자/한 단어 단위로 깨지지 않도록 텍스트 영역을 block 구조로 보정 */
.services-page .service-point-section{
  margin-top:0;
}
.services-page .service-point-section .section-head{
  margin-bottom:14px;
}
.services-page .service-point-section .section-head h2{
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.06em;
}
.services-page .service-point-section .section-head p{
  display:none;
}
.services-page .service-point-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.services-page .service-point-list .mood-card{
  position:relative;
  display:block!important;
  min-width:0;
  min-height:154px!important;
  padding:18px 16px 17px!important;
  border:1px solid rgba(214,188,165,.72)!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(255,248,240,.94) 48%,rgba(222,195,169,.62) 100%)!important;
  box-shadow:0 12px 30px rgba(121,83,55,.10)!important;
  overflow:hidden;
}
.services-page .service-point-list .mood-card + .mood-card{
  border-top:1px solid rgba(214,188,165,.72)!important;
}
.services-page .service-point-list .mood-card::before{
  content:"";
  display:block!important;
  position:absolute;
  right:-18px;
  top:-26px;
  width:92px;
  height:92px;
  border-radius:999px;
  background:rgba(194,154,121,.22);
  pointer-events:none;
}
.services-page .service-point-list .mood-card span{
  position:relative!important;
  z-index:1;
  width:auto!important;
  height:auto!important;
  display:block!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9b6d4b;
  font-size:13px;
  line-height:1;
  font-weight:850;
  letter-spacing:.02em;
  margin:0 0 24px;
}
.services-page .service-point-list .mood-card strong{
  position:relative;
  z-index:1;
  display:block;
  color:#241c17;
  font-size:17px;
  line-height:1.32;
  letter-spacing:-.055em;
  font-weight:780;
  word-break:keep-all;
  overflow-wrap:normal;
}
.services-page .service-point-list .mood-card p{
  position:relative;
  z-index:1;
  margin:10px 0 0;
  color:#6c5a4e;
  font-size:13.5px;
  line-height:1.62;
  font-weight:450;
  letter-spacing:-.035em;
  word-break:keep-all;
  overflow-wrap:break-word;
}
@media (max-width:430px){
  .services-page .service-point-list{
    gap:10px!important;
  }
  .services-page .service-point-list .mood-card{
    min-height:144px!important;
    padding:16px 14px 15px!important;
    border-radius:22px!important;
  }
  .services-page .service-point-list .mood-card span{
    margin-bottom:20px;
    font-size:12px;
  }
  .services-page .service-point-list .mood-card strong{
    font-size:16px;
  }
  .services-page .service-point-list .mood-card p{
    font-size:12.8px;
    line-height:1.58;
  }
}
@media (max-width:360px){
  .services-page .service-point-list{
    grid-template-columns:1fr;
  }
  .services-page .service-point-list .mood-card{
    min-height:0!important;
  }
}

/* v3.10.157 상품 패키지 공개 화면 간결화: 시스템성 문구 제거, CTA 중복 정리, 구성 UI 개선 */
.products-page-body .product-public-status[hidden]{
  display:none!important;
}
.products-page-body .product-public-status[data-type="error"]{
  display:block!important;
  margin-top:10px;
}
.products-page-body .compact-section-head{
  margin-bottom:6px;
}
.products-page-body .compact-section-head h2{
  margin:0;
}
.product-selection-section,
.product-package-section,
.product-helper-section{
  display:grid;
  gap:12px;
}
.product-choice-block{
  display:grid;
  gap:8px;
}
.product-choice-block .choice-label{
  color:var(--pd);
  font-size:12px;
  font-weight:850;
  letter-spacing:-.035em;
}
.products-page-body #groupTabs.top-gap{
  margin-top:0;
}
.products-page-body #groupIntro.product-group-intro{
  margin-top:2px;
  padding:14px 15px;
  border-radius:22px;
  background:linear-gradient(135deg,#fff,#fbf6ef);
  border:1px solid rgba(141,111,82,.14);
  box-shadow:0 10px 24px rgba(67,46,27,.06);
}
.products-page-body #groupIntro .product-eyebrow{
  font-size:10px;
}
.products-page-body #groupIntro h3{
  margin-top:3px;
  font-size:18px;
  letter-spacing:-.055em;
}
.products-page-body #groupIntro p{
  margin-top:5px;
  font-size:12px;
  line-height:1.5;
  color:var(--muted);
}
.products-page-body .group-count-card{
  min-width:58px;
  padding:10px 9px;
  border-radius:18px;
  box-shadow:none;
}
.products-page-body .detail-choice-block{
  margin-bottom:2px;
}
.products-page-body .component-section-head{
  align-items:center;
  margin-top:17px;
  margin-bottom:8px;
}
.products-page-body .component-section-head .product-eyebrow{
  font-size:10px;
}
.products-page-body .component-section-head h4{
  font-size:18px;
  letter-spacing:-.045em;
}
.products-page-body .package-component-table{
  gap:9px;
}
.products-page-body .package-component-row{
  grid-template-columns:74px 1fr;
  gap:12px;
  padding:13px 14px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#fffbf7);
  border:1px solid rgba(141,111,82,.13);
}
.products-page-body .component-label b{
  font-size:13px;
  font-weight:850;
  letter-spacing:-.035em;
}
.products-page-body .component-label em{
  margin-top:5px;
  font-size:9.5px;
  font-weight:800;
}
.products-page-body .component-items span{
  font-size:12.8px;
  line-height:1.55;
  color:#3f342d;
}
.product-helper-card{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:14px;
  padding:17px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#fff,#faf3eb)!important;
  border:1px solid rgba(141,111,82,.14)!important;
  box-shadow:0 14px 34px rgba(67,46,27,.08)!important;
}
.product-helper-card h3{
  margin:4px 0 0;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.05em;
}
.product-helper-card p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.55;
}
.selected-product-inline{
  display:inline-flex;
  width:auto;
  max-width:100%;
  margin-top:9px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(141,111,82,.14);
  color:var(--pd);
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.product-helper-card .btn{
  min-width:96px;
  min-height:44px;
  padding-inline:14px;
  white-space:nowrap;
}
@media (max-width:430px){
  .products-page-body .package-component-row{
    grid-template-columns:68px 1fr;
    gap:10px;
    padding:12px;
  }
  .product-helper-card{
    grid-template-columns:1fr;
  }
  .product-helper-card .btn{
    width:100%;
  }
}


/* v3.10.157 상품 패키지 문구 톤 정리: 상품 그룹 섹션 제목화, 영문 라벨 약화 */
.products-page-body .product-selection-section .compact-section-head{
  margin-bottom:2px;
}
.products-page-body .product-selection-section .compact-section-head h2{
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.055em;
}
.products-page-body .group-choice-block{
  gap:10px;
}
.products-page-body .choice-label{
  display:none;
}
.products-page-body .product-eyebrow-soft{
  letter-spacing:-.02em;
  font-size:10.5px;
  font-weight:800;
  color:#9b765a;
}
.products-page-body #groupIntro .product-eyebrow-soft,
.products-page-body .component-section-head .product-eyebrow-soft{
  letter-spacing:-.02em;
}
.product-helper-card .product-eyebrow{
  letter-spacing:-.02em;
}
.product-helper-card .btn{
  font-weight:850;
}


/* v3.10.157 상품 상세 코드 배지 위치 통일 + 홈 프로모션 이미지 카드 */
.product-title-row.improved{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}
.product-title-row.improved > div{
  min-width:0;
}
.product-title-row.improved .package-code{
  justify-self:end;
  align-self:start;
  white-space:nowrap;
}
@media (max-width:430px){
  .product-title-row.improved{
    grid-template-columns:minmax(0,1fr) auto;
  }
}

.home-promo-card-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(252px,82%);
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 12px;
  margin-inline:-2px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.home-promo-card-rail::-webkit-scrollbar{display:none}
.home-promo-image-card{
  scroll-snap-align:start;
  display:block;
  color:inherit;
  text-decoration:none;
}
.home-promo-image-frame{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(234,216,199,.86);
  background:linear-gradient(135deg,#f7eee5,#d9c0a8);
  box-shadow:0 14px 36px rgba(67,46,27,.12);
}
.home-promo-image-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-promo-image-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.34));
  pointer-events:none;
}
.home-promo-image-badge{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:1;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#74513a;
  font-size:11px;
  font-weight:800;
  backdrop-filter:blur(10px);
}
.home-promo-image-copy{
  display:grid;
  gap:4px;
  padding:10px 2px 0;
}
.home-promo-image-copy strong{
  font-size:16px;
  line-height:1.3;
  letter-spacing:-.045em;
}
.home-promo-image-copy p{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-promo-image-copy time{
  color:#8a7a6c;
  font-size:12px;
}
.home-promo-image-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:18px;
  color:#fffaf5;
  background:linear-gradient(135deg,#d8bfa7,#916a4f);
  font-weight:800;
  text-align:center;
}
.promotion-image-upload-field{
  display:grid;
  gap:10px;
  grid-column:1/-1;
}
.promotion-image-drop{
  display:grid;
  place-items:center;
  min-height:150px;
  padding:16px;
  border:1px dashed rgba(143,106,78,.34);
  border-radius:18px;
  background:#fffaf5;
  color:#7a6250;
  text-align:center;
  cursor:pointer;
}
.promotion-image-drop input{display:none}
.promotion-image-preview{
  display:block;
  width:100%;
  max-height:220px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(143,106,78,.14);
}
.promotion-image-progress{
  display:grid;
  gap:6px;
  font-size:12px;
  color:var(--muted);
}
.promotion-image-progress div{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(143,106,78,.12);
}
.promotion-image-progress span{
  display:block;
  width:0%;
  height:100%;
  background:#9b765b;
  transition:width .18s ease;
}
.home-promo-image-card > a{
  display:block;
  color:inherit;
  text-decoration:none;
}
.home-preview-promo-image-card{display:grid;gap:8px;margin-top:10px}.home-preview-promo-image-frame{min-height:108px;border-radius:20px;padding:14px;display:grid;align-content:end;gap:5px;background:linear-gradient(135deg,#dac2aa,#8f6a4e);color:#fff;overflow:hidden}.home-preview-promo-image-frame span{width:max-content;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.18);font-size:10px}.home-preview-promo-image-card b{font-size:13px}.home-preview-promo-image-card small{color:var(--muted);font-size:11px;line-height:1.45}

/* v3.10.157 홈 프로모션 16:9 배너형 카드 + 자동 스와이프 운영 설정 */
.home-promo-card-rail{
  grid-auto-columns:minmax(280px,84%);
  gap:14px;
  padding-bottom:14px;
  scroll-padding-inline:2px;
}
.home-promo-image-frame{
  aspect-ratio:16/9;
  border-radius:18px;
}
.home-promo-image-copy{
  padding-top:9px;
}
.home-promo-image-copy strong{
  font-size:15.5px;
  line-height:1.32;
}
.home-promo-image-copy p{
  margin-top:-1px;
  font-size:12px;
  line-height:1.42;
}
.home-promo-image-copy time{
  font-size:12px;
  line-height:1.35;
}
.home-promo-image-badge{
  left:10px;
  bottom:10px;
  padding:6px 9px;
  font-size:10.5px;
}
.home-promo-image-fallback{
  align-content:center;
  justify-items:start;
  padding:20px 22px;
  text-align:left;
  font-size:18px;
  line-height:1.35;
}
.promotion-image-drop{
  min-height:138px;
  aspect-ratio:16/9;
  align-content:center;
}
.promotion-image-upload-field .field-help{
  color:#7d6756;
}
.promotion-image-preview{
  aspect-ratio:16/9;
  max-height:none;
  object-fit:cover;
}
.home-preview-promo-image-frame{
  min-height:auto;
  aspect-ratio:16/9;
  align-content:end;
}
@media (max-width:430px){
  .home-promo-card-rail{
    grid-auto-columns:minmax(268px,84%);
    gap:12px;
  }
  .home-promo-image-frame{
    border-radius:17px;
  }
}

/* v3.10.157 홈 프로모션 배너 카드 크기/간격 보정: 예시 이미지처럼 더 큰 16:9 카드와 촘촘한 스와이프 간격 */
.home-promo-card-rail{
  grid-auto-columns:minmax(318px,92%);
  gap:10px;
  padding:2px 0 10px;
  margin-inline:0;
  scroll-padding-inline:0;
}
.home-promo-image-frame{
  border-radius:18px;
  box-shadow:0 10px 28px rgba(67,46,27,.10);
}
.home-promo-image-copy{
  padding:9px 0 0;
  gap:3px;
}
.home-promo-image-copy strong{
  font-size:16px;
  line-height:1.3;
}
.home-promo-image-copy p{
  font-size:12.5px;
  line-height:1.42;
}
.home-promo-image-copy time{
  font-size:12.5px;
}
@media (max-width:430px){
  .home-promo-card-rail{
    grid-auto-columns:minmax(318px,92vw);
    gap:10px;
  }
}
@media (max-width:360px){
  .home-promo-card-rail{
    grid-auto-columns:minmax(292px,92vw);
    gap:8px;
  }
}

/* v3.10.157 홈 프로모션 카드 정렬/밀도 보정 */
.home-promo-section .home-promo-card-rail{
  /* 다른 홈 섹션의 카드 좌측 라인과 맞추기 위해 섹션 내부 시작선을 기준으로 고정 */
  margin-left:-2px;
  margin-right:-2px;
  padding-left:2px;
  padding-right:2px;
  scroll-padding-left:2px;
}
.home-promo-section .home-promo-image-card{
  scroll-snap-align:start;
}
.home-promo-section .home-promo-image-copy{
  padding-top:7px;
  gap:2px;
}
.home-promo-section .home-promo-image-copy strong{
  font-size:15.5px;
  line-height:1.28;
  letter-spacing:-.048em;
}
.home-promo-section .home-promo-image-copy p{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:0;
  font-size:12px;
  line-height:1.36;
}
.home-promo-section .home-promo-image-copy time{
  margin-top:1px;
  font-size:12px;
  line-height:1.32;
}
@media (max-width:430px){
  .home-promo-section .home-promo-card-rail{
    grid-auto-columns:minmax(318px,92vw);
    margin-left:-2px;
    padding-left:2px;
  }
}
@media (max-width:360px){
  .home-promo-section .home-promo-card-rail{
    grid-auto-columns:minmax(292px,92vw);
  }
}

/* v3.10.157 홈 프로모션 카드 좌측 기준선/간격 실측 보정
   verified delta from v3.10.144:
   - card gap: 10px -> 8px
   - effective left shift: 0px -> -8px (margin-left -8px, padding-left 0)
*/
.home-promo-section .home-promo-card-rail{
  gap:8px;
  margin-left:-8px;
  margin-right:-8px;
  padding-left:0;
  padding-right:8px;
  scroll-padding-left:0;
}
@media (max-width:430px){
  .home-promo-section .home-promo-card-rail{
    gap:8px;
    margin-left:-8px;
    margin-right:-8px;
    padding-left:0;
    padding-right:8px;
    scroll-padding-left:0;
  }
}
@media (max-width:360px){
  .home-promo-section .home-promo-card-rail{
    gap:6px;
    margin-left:-6px;
    margin-right:-6px;
    padding-left:0;
    padding-right:6px;
    scroll-padding-left:0;
  }
}

/* v3.10.157 홈 가로 스와이프 레일 공통 정렬 검증 보정
   기준:
   - 홈 섹션의 실제 좌측 기준선은 .home-page .home-main > .section의 left edge
   - 대표 갤러리와 진행 중 프로모션의 첫 번째 카드는 동일 기준선에서 시작
   - 프로모션 카드 간격은 대표 갤러리 카드 간격과 동일하게 14px 적용
   - 기존 v3.10.145의 프로모션 음수 margin(-8px) 보정은 제거
*/
.home-page .home-gallery-feature .home-gallery-rail,
.home-page .home-promo-section .home-promo-card-rail{
  width:100%;
  max-width:100%;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  scroll-padding-left:0!important;
  scroll-padding-right:0!important;
  gap:14px!important;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
}
.home-page .home-gallery-feature .home-gallery-feature-card,
.home-page .home-promo-section .home-promo-image-card{
  scroll-snap-align:start;
  scroll-margin-left:0;
}
.home-page .home-gallery-feature .home-gallery-feature-img{
  transform:none!important;
}
.home-page .home-promo-section .home-promo-card-rail{
  grid-auto-columns:minmax(318px,92vw);
  padding-bottom:10px!important;
}
@media (max-width:430px){
  .home-page .home-gallery-feature .home-gallery-rail,
  .home-page .home-promo-section .home-promo-card-rail{
    gap:14px!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .home-page .home-gallery-feature .home-gallery-rail{
    grid-auto-columns:86%;
  }
  .home-page .home-promo-section .home-promo-card-rail{
    grid-auto-columns:minmax(318px,92vw);
  }
}
@media (max-width:360px){
  .home-page .home-gallery-feature .home-gallery-rail,
  .home-page .home-promo-section .home-promo-card-rail{
    gap:14px!important;
  }
  .home-page .home-promo-section .home-promo-card-rail{
    grid-auto-columns:minmax(292px,92vw);
  }
}

/* v3.10.157 홈 가로 레일 정렬 최종 보정
   기준: 사용자가 포토샵으로 제시한 목표 화면처럼 프로모션 첫 카드가 대표 갤러리 이미지 카드 기준선에 맞춰 시작되도록 처리.
   검증값:
   - 대표 갤러리/프로모션 카드 간격: 14px로 통일
   - 프로모션 레일은 텍스트 기준선보다 왼쪽으로 18px 확장
   - 프로모션 카드 폭은 과도하게 작아 보이지 않도록 clamp(292px, calc(100% - 116px), 330px) 적용
*/
.home-page .home-gallery-feature .home-gallery-rail{
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:14px!important;
  scroll-padding-inline:0!important;
}
.home-page .home-gallery-feature .home-gallery-feature-card{
  scroll-snap-align:start;
  scroll-margin-left:0!important;
}
.home-page .home-gallery-feature .home-gallery-feature-img{
  transform:none!important;
}
.home-page .home-promo-section .home-promo-card-rail{
  --home-promo-bleed-left:18px;
  width:calc(100% + var(--home-promo-bleed-left))!important;
  max-width:none!important;
  margin-left:calc(-1 * var(--home-promo-bleed-left))!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:14px!important;
  grid-auto-columns:clamp(292px, calc(100% - 116px), 330px)!important;
  scroll-padding-left:0!important;
  scroll-padding-right:0!important;
}
.home-page .home-promo-section .home-promo-image-card{
  scroll-snap-align:start;
  scroll-margin-left:0!important;
}
@media (max-width:430px){
  .home-page .home-gallery-feature .home-gallery-rail,
  .home-page .home-promo-section .home-promo-card-rail{
    gap:14px!important;
  }
  .home-page .home-promo-section .home-promo-card-rail{
    --home-promo-bleed-left:18px;
    grid-auto-columns:clamp(292px, calc(100% - 116px), 330px)!important;
  }
}
@media (max-width:360px){
  .home-page .home-promo-section .home-promo-card-rail{
    --home-promo-bleed-left:14px;
    gap:14px!important;
    grid-auto-columns:clamp(276px, calc(100% - 96px), 310px)!important;
  }
}

/* v3.10.157 홈 프로모션: 이미지 간격/텍스트 인셋 확정 보정 + 지점 이벤트 상태 표시
   기준:
   - 프로모션 이미지 카드 좌측 라인은 v3.10.147에서 맞춰진 위치를 유지
   - .public-linked-card의 기본 padding(17px)이 카드 이미지 간격을 크게 보이게 만들던 원인을 제거
   - 텍스트 영역은 이미지 좌측보다 14px 안쪽에서 시작
*/
.home-page .home-promo-section .home-promo-card-rail{
  --home-promo-bleed-left:1px;
  --home-promo-copy-inset:14px;
  width:calc(100% + var(--home-promo-bleed-left))!important;
  max-width:none!important;
  margin-left:calc(-1 * var(--home-promo-bleed-left))!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:14px!important;
  grid-auto-columns:clamp(258px, calc(100% - 150px), 296px)!important;
  scroll-padding-left:0!important;
  scroll-padding-right:0!important;
}
.home-page .home-promo-section .home-promo-image-card{
  padding:0!important;
  gap:0!important;
  scroll-snap-align:start;
  scroll-margin-left:0!important;
}
.home-page .home-promo-section .home-promo-image-card > a{
  display:block;
  width:100%;
  color:inherit;
  text-decoration:none;
}
.home-page .home-promo-section .home-promo-image-frame{
  width:100%;
}
.home-page .home-promo-section .home-promo-image-copy{
  padding:7px var(--home-promo-copy-inset) 0!important;
  gap:2px;
}
@media (max-width:430px){
  .home-page .home-promo-section .home-promo-card-rail{
    --home-promo-bleed-left:1px;
    grid-auto-columns:clamp(258px, calc(100% - 150px), 296px)!important;
    gap:14px!important;
  }
}
@media (max-width:360px){
  .home-page .home-promo-section .home-promo-card-rail{
    --home-promo-bleed-left:1px;
    grid-auto-columns:clamp(242px, calc(100% - 130px), 276px)!important;
    gap:14px!important;
  }
}
.branch-event-admin-item.is-hidden{
  opacity:.64;
  background:#f6efe9;
  border-style:dashed;
}
.branch-event-admin-item.is-hidden img{
  filter:grayscale(.35);
}
.branch-event-title-line{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.branch-event-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:850;
  line-height:1;
  color:#4f6f4f;
  background:rgba(84,128,84,.14);
  border:1px solid rgba(84,128,84,.18);
}
.branch-event-status-badge.is-hidden{
  color:#9b5148;
  background:rgba(155,81,72,.10);
  border-color:rgba(155,81,72,.18);
}
.branch-event-admin-item.is-hidden small::after{
  content:" · 사용자 화면 미노출";
  color:#9b5148;
  font-weight:800;
}

/* v3.10.157 홈 빠른 선택 카드: 밀리의 서재형 2x2 컬러 카드 */
.home-page .home-quick-section{
  margin-top:4px;
}
.home-page .home-quick-section .section-head{
  margin-bottom:12px;
}
.home-page .home-quick-section .quick-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.home-page .home-quick-section .quick-card{
  position:relative!important;
  min-height:172px!important;
  height:172px!important;
  padding:22px 18px 18px!important;
  border:0!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:0 16px 30px rgba(92,68,49,.14)!important;
  display:block!important;
  isolation:isolate;
  color:#fff!important;
  transform:translateZ(0);
}
.home-page .home-quick-section .quick-card::before,
.home-page .home-quick-section .quick-card::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  pointer-events:none;
  z-index:0;
}
.home-page .home-quick-section .quick-card::before{
  width:128px;
  height:128px;
  left:-34px;
  top:-28px;
}
.home-page .home-quick-section .quick-card::after{
  width:154px;
  height:154px;
  right:-48px;
  bottom:-52px;
  background:rgba(255,255,255,.15);
}
.home-page .home-quick-section .quick-card:nth-child(1){
  background:linear-gradient(135deg,#b93cc7 0%,#d86fb8 46%,#f2a092 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(2){
  background:linear-gradient(135deg,#5a45f2 0%,#786ff6 52%,#9fb4ff 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(3){
  background:linear-gradient(135deg,#22aeca 0%,#55ccd3 52%,#93e4c9 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(4){
  background:linear-gradient(135deg,#55c96c 0%,#8adf7d 48%,#c3ee8b 100%)!important;
}
.home-page .home-quick-section .quick-card .service-icon{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  width:74px!important;
  height:74px!important;
  border-radius:25px!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  opacity:.95;
  z-index:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.home-page .home-quick-section .quick-card .service-icon .line-icon,
.home-page .home-quick-section .quick-card .service-icon [data-line-icon],
.home-page .home-quick-section .quick-card .service-icon svg{
  color:#fff!important;
  stroke:#fff!important;
  width:34px!important;
  height:34px!important;
}
.home-page .home-quick-section .quick-card > div:not(.service-icon){
  position:relative;
  z-index:2;
  height:100%;
  min-height:126px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  max-width:calc(100% - 22px);
}
.home-page .home-quick-section .quick-card strong{
  display:block!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1.08!important;
  font-weight:900!important;
  letter-spacing:-.075em!important;
  text-shadow:0 1px 10px rgba(70,45,30,.08);
}
.home-page .home-quick-section .quick-card span{
  display:block!important;
  margin-top:0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
  word-break:keep-all;
  max-width:86px;
  min-height:38px;
  overflow:hidden;
}
.home-page .home-quick-section .quick-card:active{
  transform:scale(.985);
}
@media (max-width:430px){
  .home-page .home-quick-section .quick-links{
    gap:12px!important;
  }
  .home-page .home-quick-section .quick-card{
    min-height:160px!important;
    height:160px!important;
    padding:20px 16px 16px!important;
    border-radius:24px!important;
  }
  .home-page .home-quick-section .quick-card strong{
    font-size:23px!important;
  }
  .home-page .home-quick-section .quick-card span{
    font-size:12.5px!important;
    max-width:82px;
  }
  .home-page .home-quick-section .quick-card .service-icon{
    width:68px!important;
    height:68px!important;
    right:12px!important;
    bottom:12px!important;
  }
}
@media (max-width:360px){
  .home-page .home-quick-section .quick-card{
    min-height:148px!important;
    height:148px!important;
    padding:18px 14px 14px!important;
  }
  .home-page .home-quick-section .quick-card strong{
    font-size:21px!important;
  }
  .home-page .home-quick-section .quick-card .service-icon{
    width:60px!important;
    height:60px!important;
  }
}

/* v3.10.157 홈 빠른 선택 카드: 밀리 스타일 탁색 보정 + 흰색 텍스트 시인성 강화 */
.home-page .home-quick-section .quick-card{
  box-shadow:0 16px 30px rgba(62,47,38,.18)!important;
}
.home-page .home-quick-section .quick-card::before{
  background:rgba(255,255,255,.09)!important;
}
.home-page .home-quick-section .quick-card::after{
  background:rgba(255,255,255,.10)!important;
}
.home-page .home-quick-section .quick-card:nth-child(1){
  background:linear-gradient(135deg,#9f34ad 0%,#bf5ca3 48%,#dd837b 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(2){
  background:linear-gradient(135deg,#4e3ecf 0%,#665fdc 52%,#8498e8 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(3){
  background:linear-gradient(135deg,#1f97ac 0%,#45b9c2 52%,#7ccfbb 100%)!important;
}
.home-page .home-quick-section .quick-card:nth-child(4){
  background:linear-gradient(135deg,#449f58 0%,#72c66d 48%,#a8d47b 100%)!important;
}
.home-page .home-quick-section .quick-card .service-icon{
  background:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 10px 22px rgba(54,40,31,.10)!important;
}
.home-page .home-quick-section .quick-card strong{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(31,24,20,.22)!important;
}
.home-page .home-quick-section .quick-card span{
  color:rgba(255,255,255,.91)!important;
  text-shadow:0 1px 8px rgba(31,24,20,.20)!important;
}

/* v3.10.157 홈 빠른 선택 카드: 텍스트 볼드 완화 및 시인성 균형 조정
   - 카드 색상/구조는 직전 버전 유지
   - 제목과 설명의 폰트 무게를 낮춰 홈 사진 영역과의 이질감을 줄임 */
.home-page .home-quick-section .quick-card strong{
  font-weight:700!important;
  letter-spacing:-.06em!important;
  text-shadow:0 1px 7px rgba(31,24,20,.14)!important;
}
.home-page .home-quick-section .quick-card span{
  font-weight:500!important;
  color:rgba(255,255,255,.9)!important;
  text-shadow:0 1px 5px rgba(31,24,20,.12)!important;
}
@media (max-width:430px){
  .home-page .home-quick-section .quick-card strong{
    font-weight:700!important;
  }
  .home-page .home-quick-section .quick-card span{
    font-weight:500!important;
  }
}

/* v3.10.157 홈 여백/테마 정리: 빠른 선택 간격 축소 + Warm Neutral / Soft Charcoal 테마
   - 빠른 선택 설명문과 카드 그리드 사이의 중복 여백 제거
   - 사진/배너가 많은 홈 화면을 받쳐주는 웜 뉴트럴 배경과 소프트 차콜 포인트 적용 */
:root{
  --bg:#f7f3ed;
  --card:#fffdf9;
  --line:#e6ddd2;
  --text:#272320;
  --muted:#756e68;
  --p:#5f5650;
  --pd:#463d37;
  --g:#4f6f58;
  --r:#9a5a54;
  --a:#eee7de;
  --shadow:0 14px 38px rgba(39,35,32,.10);
}
body{
  color:var(--text);
  background:linear-gradient(180deg,#fbf8f3 0%,#f4efe8 100%);
}
.header{
  background:rgba(247,243,237,.86);
  border-bottom-color:rgba(39,35,32,.08);
}
.brand-mark,
.header-btn.primary,
.btn-primary,
.bottom-cta a.primary{
  background:linear-gradient(180deg,#7b716a 0%,#5f5650 100%)!important;
  color:#fff!important;
}
.btn-secondary,
.header-btn,
.card,
.hero,
.footer,
.bottom-nav,
.bottom-cta{
  border-color:var(--line);
}
.section-head a,
.section-head button,
.footer-links a{
  color:var(--p);
}
.active{
  background:var(--p)!important;
  border-color:var(--p)!important;
}
.bottom-nav .active,
.bottom-nav[aria-label="하단 고정 메뉴"] .active{
  background:linear-gradient(180deg,#756c65 0%,#5f5650 100%)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px rgba(39,35,32,.12);
}
.bottom-nav a,
.bottom-nav button{
  color:#6f6862;
  border-right-color:rgba(39,35,32,.08);
}
.eyebrow,
.chip,
.meta,
.status,
.home-call-box,
.field-box,
.input,
.select,
.textarea{
  background:#f3eee7;
}
.public-linked-card,
.product-card,
.promo-card,
.branch-card,
.reservation-card,
.brand-card,
.row-card,
.form-card,
.notice-card,
.privacy-card,
.inquiry-card,
.edit-card{
  background:rgba(255,253,249,.94);
}
.footer{
  background:linear-gradient(180deg,#fffdf9 0%,#f2ece5 100%);
}
.home-page .home-quick-section .section-head{
  margin-bottom:0!important;
}
.home-page .home-quick-section .quick-links{
  margin-top:0!important;
}


/* v3.10.157 뉴트럴 통합 테마 + 삼성식 히어로 화이트 글래스 UI
   - 브라운 중심 CTA/링크/푸터 포인트를 Soft Charcoal/Warm Ivory 체계로 흡수
   - 히어로 사진 위 버튼은 사진 색상과 충돌하지 않도록 White Glass로 분리
   - 빠른 선택 컬러 카드는 유지하고, 나머지 UI는 사진을 받쳐주는 뉴트럴 톤으로 정리 */
:root{
  --bg:#f7f4ef;
  --card:#fffefa;
  --line:#e4e1da;
  --text:#252725;
  --muted:#74746f;
  --p:#59615f;
  --pd:#343a38;
  --a:#f0eee9;
  --accent-soft:#ffffff;
  --accent-soft-dark:#f2f2ed;
  --shadow:0 14px 38px rgba(37,39,37,.09);
}
body:not(.admin-page){
  color:var(--text);
  background:linear-gradient(180deg,#fbfaf6 0%,#f4f1eb 100%);
}
body:not(.admin-page) .header{
  background:rgba(251,250,246,.88);
  border-bottom-color:rgba(37,39,37,.08);
}
body:not(.admin-page) .card,
body:not(.admin-page) .hero,
body:not(.admin-page) .btn-secondary,
body:not(.admin-page) .header-btn,
body:not(.admin-page) .bottom-nav,
body:not(.admin-page) .bottom-cta,
body:not(.admin-page) .bps-common-footer{
  border-color:var(--line)!important;
}
body:not(.admin-page) .btn-primary,
body:not(.admin-page) .bottom-cta a.primary,
body:not(.admin-page) .header-btn.primary,
body:not(.admin-page) .brand-mark{
  background:linear-gradient(180deg,#68706d 0%,#4f5755 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(37,39,37,.13)!important;
}
body:not(.admin-page) .home-reservation-section .btn-primary,
body:not(.admin-page) .service-reservation-section .btn-primary,
body:not(.admin-page) .reservation-page-body .btn-primary,
body:not(.admin-page) a[href*="reservation"].btn-primary{
  background:linear-gradient(180deg,#9a8088 0%,#7f666e 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(92,64,74,.13)!important;
}
body:not(.admin-page) .btn-secondary,
body:not(.admin-page) .bottom-cta a:not(.primary){
  background:rgba(255,254,250,.94)!important;
  color:#3c4140!important;
  border-color:#e4e1da!important;
}
body:not(.admin-page) .section-head a,
body:not(.admin-page) .section-head button,
body:not(.admin-page) .footer-links a,
body:not(.admin-page) .footer-link-row a,
body:not(.admin-page) .public-link,
body:not(.admin-page) .text-link{
  color:#59615f!important;
}
body:not(.admin-page) .active,
body:not(.admin-page) .tab.active,
body:not(.admin-page) .filter-chip.active,
body:not(.admin-page) .service-tab.active,
body:not(.admin-page) .gallery-filter.active{
  background:#59615f!important;
  border-color:#59615f!important;
  color:#fff!important;
}
body:not(.admin-page) .bottom-nav .active,
body:not(.admin-page) .bottom-nav[aria-label="하단 고정 메뉴"] .active{
  background:linear-gradient(180deg,#68706d 0%,#505856 100%)!important;
  border-color:rgba(255,255,255,.28)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 10px 22px rgba(37,39,37,.12)!important;
}
body:not(.admin-page) .bottom-nav a,
body:not(.admin-page) .bottom-nav button{
  color:#666b68!important;
  border-right-color:rgba(37,39,37,.08)!important;
}
body:not(.admin-page) .eyebrow,
body:not(.admin-page) .chip,
body:not(.admin-page) .meta,
body:not(.admin-page) .status,
body:not(.admin-page) .home-call-box,
body:not(.admin-page) .field-box,
body:not(.admin-page) .input,
body:not(.admin-page) .select,
body:not(.admin-page) .textarea{
  background:#f1eee9!important;
  color:#4b504e!important;
}
body:not(.admin-page) .public-linked-card,
body:not(.admin-page) .product-card,
body:not(.admin-page) .promo-card,
body:not(.admin-page) .branch-card,
body:not(.admin-page) .reservation-card,
body:not(.admin-page) .brand-card,
body:not(.admin-page) .row-card,
body:not(.admin-page) .form-card,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .privacy-card,
body:not(.admin-page) .inquiry-card,
body:not(.admin-page) .edit-card,
body:not(.admin-page) .home-products-compact-card{
  background:rgba(255,254,250,.94)!important;
  border-color:#e4e1da!important;
}
body:not(.admin-page) .home-call-box strong{
  color:#4b504e!important;
}
body:not(.admin-page) .home-call-box span{
  color:#777872!important;
}
body:not(.admin-page) .home-products-compact-card em,
body:not(.admin-page) .eyebrow,
body:not(.admin-page) .chip{
  color:#626866!important;
}
body:not(.admin-page) .home-reservation-card{
  background:linear-gradient(135deg,#fffefa 0%,#f4f1eb 100%)!important;
}

/* Hero: photo-first white glass controls */
.home-page .home-hero-slider-wrap{
  background:#111;
  box-shadow:0 22px 60px rgba(20,22,22,.15)!important;
}
.home-page .home-hero-slider::before{
  background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.08) 52%,rgba(0,0,0,0) 100%)!important;
}
.home-page .home-hero-slider::after{
  height:54%!important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.18) 46%,rgba(0,0,0,.46) 100%)!important;
}
.home-page .home-hero-actions .btn{
  min-height:52px;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.58)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}
.home-page .home-hero-actions .btn-primary{
  background:rgba(255,255,255,.88)!important;
  color:#232625!important;
  border-color:rgba(255,255,255,.78)!important;
}
.home-page .home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
}
.home-page .home-hero-indicators{
  gap:8px!important;
}
.home-page .home-hero-dot{
  height:3px!important;
  width:38px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.34)!important;
}
.home-page .home-hero-dot.is-active{
  width:48px!important;
  background:#fff!important;
}

/* Footer/company area: absorb into the same neutral system */
body:not(.admin-page) .footer,
body:not(.admin-page) .bps-common-footer{
  background:linear-gradient(180deg,#fffefa 0%,#f2f0eb 100%)!important;
  border-color:#e4e1da!important;
  box-shadow:0 14px 38px rgba(37,39,37,.09)!important;
}
body:not(.admin-page) .footer-brand-row{
  border-bottom-color:#e4e1da!important;
}
body:not(.admin-page) .footer-brand-row strong{
  color:#252725!important;
}
body:not(.admin-page) .footer-brand-row span{
  color:#6c7370!important;
}
body:not(.admin-page) .footer-info-grid div,
body:not(.admin-page) .footer-info-grid .footer-info-call-card{
  background:#fffefa!important;
  border-color:#e4e1da!important;
}
body:not(.admin-page) .footer-info-grid b{
  color:#5c6461!important;
}
body:not(.admin-page) .footer-info-grid span,
body:not(.admin-page) .footer-copy{
  color:#74746f!important;
}
body:not(.admin-page) .footer-link-row a,
body:not(.admin-page) .footer-links a{
  background:#f1eee9!important;
  color:#4f5755!important;
  border-color:#e4e1da!important;
}
body:not(.admin-page) .footer-link-row a:first-child{
  background:#59615f!important;
  color:#fff!important;
  border-color:#59615f!important;
}


/* v3.10.157 테마 잔여 브라운 제거 및 히어로 상단 정리
   - 히어로 상단 로고/햄버거의 불필요한 배경 박스 제거
   - 갤러리/프로모션/상품 라벨의 브라운 잔여색을 뉴트럴 계열로 통일
   - 상품 안내 CTA 텍스트 대비 복구 */
body:not(.admin-page){
  --neutral-ink:#252725;
  --neutral-strong:#3f4745;
  --neutral-point:#59615f;
  --neutral-point-dark:#454d4b;
  --neutral-muted:#74746f;
  --neutral-line:#e4e1da;
  --neutral-chip:#f1eee9;
  --neutral-chip-2:#e7ece5;
}

/* Hero top: logo/menu are floated directly on image, no glass box */
.home-page .header,
body:not(.admin-page).home-page .header{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home-page .header .brand,
.home-page .header .brand-image-link,
body:not(.admin-page).home-page .header .brand,
body:not(.admin-page).home-page .header .brand-image-link{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home-page .brand-logo-image{
  filter:drop-shadow(0 3px 10px rgba(0,0,0,.34))!important;
}
.home-page .header .menu-line-btn,
body:not(.admin-page).home-page .header .menu-line-btn,
.home-page .header .header-btn.menu-line-btn,
body:not(.admin-page).home-page .header .header-btn.menu-line-btn{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
}
.home-page .header .menu-line-btn span[aria-hidden="true"]{
  background:#fff!important;
  box-shadow:0 2px 9px rgba(0,0,0,.46),0 0 1px rgba(0,0,0,.72)!important;
}

/* Labels/chips: remove brown remnants from public cards */
body:not(.admin-page) .home-gallery-feature-card span{
  background:rgba(255,255,255,.92)!important;
  color:var(--neutral-point)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 8px 18px rgba(37,39,37,.12)!important;
}
body:not(.admin-page) .home-promo-image-badge,
body:not(.admin-page) .promo-status,
body:not(.admin-page) .promotion-status,
body:not(.admin-page) .status-badge,
body:not(.admin-page) .promo-card .chip,
body:not(.admin-page) .promotion-card .chip{
  background:rgba(231,236,229,.94)!important;
  color:var(--neutral-point-dark)!important;
  border:1px solid rgba(79,87,85,.10)!important;
  box-shadow:0 8px 18px rgba(37,39,37,.10)!important;
}
body:not(.admin-page) .home-promo-image-badge.is-closed,
body:not(.admin-page) .home-promo-image-badge.is-ended,
body:not(.admin-page) .home-promo-image-badge[data-status="closed"],
body:not(.admin-page) .home-promo-image-badge[data-status="ended"]{
  background:rgba(236,235,232,.95)!important;
  color:#737873!important;
}
body:not(.admin-page) .home-products-compact-card span,
body:not(.admin-page) .product-eyebrow-soft,
body:not(.admin-page) .product-detail-eyebrow,
body:not(.admin-page) .package-eyebrow,
body:not(.admin-page) .home-product-growth-badge{
  color:var(--neutral-point)!important;
}

/* Product CTA: restore contrast and remove muddy brown/low-contrast state */
body:not(.admin-page) .home-products-compact-card em,
body:not(.admin-page) .home-products-compact-card .btn,
body:not(.admin-page) .home-products-compact-card .btn-primary{
  background:linear-gradient(180deg,var(--neutral-point) 0%,var(--neutral-point-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--neutral-point-dark)!important;
  text-shadow:none!important;
  opacity:1!important;
  box-shadow:0 12px 26px rgba(37,39,37,.12)!important;
}
body:not(.admin-page) .home-products-compact-card em:hover,
body:not(.admin-page) .home-products-compact-card em:focus-visible{
  background:linear-gradient(180deg,#65706d 0%,#3f4745 100%)!important;
  color:#fff!important;
}

/* Remaining public footer/company buttons: keep neutral, not brown */
body:not(.admin-page) .footer-link-row a,
body:not(.admin-page) .footer-links a,
body:not(.admin-page) .branch-action-btn,
body:not(.admin-page) .home-branch-section .btn,
body:not(.admin-page) .branch-card .btn{
  background:#f1eee9!important;
  color:var(--neutral-strong)!important;
  border-color:var(--neutral-line)!important;
}
body:not(.admin-page) .footer-link-row a:first-child,
body:not(.admin-page) .home-branch-section .btn-primary,
body:not(.admin-page) .branch-card .btn-primary,
body:not(.admin-page) .home-branch-section a[href^="tel"],
body:not(.admin-page) .branch-card a[href^="tel"]{
  background:linear-gradient(180deg,var(--neutral-point) 0%,var(--neutral-point-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--neutral-point-dark)!important;
}

/* Main CTA hierarchy: readable neutral surfaces */
body:not(.admin-page) .section-head a,
body:not(.admin-page) .section-head button,
body:not(.admin-page) .public-link,
body:not(.admin-page) .text-link{
  color:var(--neutral-point)!important;
}
body:not(.admin-page) .btn-primary{
  background:linear-gradient(180deg,var(--neutral-point) 0%,var(--neutral-point-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--neutral-point-dark)!important;
}
body:not(.admin-page) .btn-secondary{
  background:rgba(255,254,250,.96)!important;
  color:var(--neutral-strong)!important;
  border-color:var(--neutral-line)!important;
}
/* Keep hero buttons independent from normal CTA rules */
.home-page .home-hero-actions .btn-primary{
  background:rgba(255,255,255,.88)!important;
  color:#232625!important;
  border-color:rgba(255,255,255,.78)!important;
}
.home-page .home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.62)!important;
}

/* v3.10.159 홈/공개페이지 색상 테마 완성 + 카드 표시 복구
   기준: v3.10.157 직접 수정
   - 히어로 CTA 외곽 패널/큰 테두리 제거, 개별 White Glass 버튼화
   - 상황별 촬영 추천 이미지 카드 표시 복구 및 카드 주변 배경 제거
   - 갤러리/상품/문의/지점/이벤트 모달의 브라운·핑크 잔여 컬러를 딥세이지 계열로 통일 */
body:not(.admin-page){
  --bg:#f7f7f2;
  --card:#fffefa;
  --line:#e2e4de;
  --text:#232625;
  --muted:#6f746f;
  --p:#59615f;
  --pd:#444c49;
  --g:#59615f;
  --r:#8d6266;
  --a:#eef1ed;
  --shadow:0 12px 34px rgba(37,39,37,.075);
  --bp-sage:#59615f;
  --bp-sage-dark:#414946;
  --bp-sage-soft:#eef2ed;
  --bp-sage-soft-2:#e6ebe5;
  --bp-ink:#232625;
  --bp-muted:#6f746f;
  --bp-line:#e2e4de;
  --bp-surface:#fffefa;
  background:linear-gradient(180deg,#fbfbf8 0%,#f1f2ec 100%)!important;
}

/* 1) 히어로 CTA: 큰 외곽 테두리 제거, 버튼별 White Glass 역할 분리 */
.home-page .home-hero-actions{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  gap:10px!important;
}
.home-page .home-hero-actions::before,
.home-page .home-hero-actions::after{
  content:none!important;
  display:none!important;
}
.home-page .home-hero-actions .btn{
  min-height:52px!important;
  border-radius:18px!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
}
.home-page .home-hero-actions .btn-primary{
  background:rgba(255,255,255,.94)!important;
  color:#202423!important;
  border:1px solid rgba(255,255,255,.86)!important;
  text-shadow:none!important;
}
.home-page .home-hero-actions .btn-secondary{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.72)!important;
  text-shadow:0 2px 10px rgba(0,0,0,.25)!important;
}
.home-page .home-hero-actions .btn-primary:hover,
.home-page .home-hero-actions .btn-primary:focus-visible{
  background:rgba(255,255,255,.98)!important;
}
.home-page .home-hero-actions .btn-secondary:hover,
.home-page .home-hero-actions .btn-secondary:focus-visible{
  background:rgba(255,255,255,.18)!important;
}

/* 2) 홈 사진/프로모션 카드 주변 배경 레이어 제거 */
.home-page .home-recommend-section,
.home-page .home-gallery-feature,
.home-page .home-promo-section,
.home-page .home-recommend-rail,
.home-page .home-gallery-rail,
.home-page .home-promo-card-rail{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.home-page .home-recommend-section::before,
.home-page .home-recommend-section::after,
.home-page .home-gallery-feature::before,
.home-page .home-gallery-feature::after,
.home-page .home-promo-section::before,
.home-page .home-promo-section::after{
  content:none!important;
  display:none!important;
}
.home-page .home-gallery-feature .home-gallery-feature-card,
.home-page .home-promo-section .home-promo-image-card,
.home-page .home-promo-section .home-promo-image-card.public-linked-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.home-page .home-promo-section .home-promo-image-card > a{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .home-promo-section .home-promo-image-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .home-promo-section .home-promo-image-frame{
  background:#eef1ed!important;
  border-color:rgba(226,228,222,.92)!important;
  box-shadow:0 10px 24px rgba(37,39,37,.08)!important;
}
.home-page .home-promo-section .home-promo-image-badge{
  background:rgba(255,255,255,.90)!important;
  color:var(--bp-sage-dark)!important;
  border-color:rgba(255,255,255,.76)!important;
}

/* 3) 상황별 촬영 추천: 이미지 카드가 카드 규격 안에서 정상 표시되도록 복구 */
.home-page .home-recommend-card{
  border-color:rgba(226,228,222,.86)!important;
  box-shadow:0 10px 24px rgba(37,39,37,.07)!important;
}
.home-page .home-recommend-card.has-bg,
.home-page .home-recommend-card.copy-hidden.has-bg{
  background-color:#1f2220!important;
  background-image:var(--recommend-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
  overflow:hidden!important;
  border:0!important;
  box-shadow:none!important;
}
.home-page .home-recommend-card.has-bg .recommend-card-shade{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.10) 48%,rgba(0,0,0,.44) 100%)!important;
}
.home-page .home-recommend-card .recommend-icon{
  color:#fff!important;
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
.home-page .home-recommend-card:not(.has-bg){
  background:rgba(255,254,250,.96)!important;
}
.home-page .home-recommend-card:not(.has-bg) .recommend-icon{
  color:var(--bp-sage-dark)!important;
  background:var(--bp-sage-soft)!important;
  border-color:var(--bp-line)!important;
}
.home-page .home-recommend-card:not(.has-bg) > span,
.home-page .home-recommend-card:not(.has-bg) .recommend-tag{
  color:var(--bp-sage)!important;
}
.home-page .home-recommend-card:not(.has-bg) > p,
.home-page .home-recommend-card:not(.has-bg) .recommend-description{
  color:var(--bp-muted)!important;
}
.home-page .home-recommend-card:not(.has-bg) > em{
  color:var(--bp-sage-dark)!important;
  background:var(--bp-sage-soft)!important;
  border-color:rgba(89,97,95,.16)!important;
}

/* 4) 공통 버튼/탭/번호 컬러를 딥세이지 중심으로 통일 */
body:not(.admin-page) .btn-primary,
body:not(.admin-page) .header-btn.primary,
body:not(.admin-page) .bottom-cta a.primary,
body:not(.admin-page) .tab.active,
body:not(.admin-page) .gallery-tab.active,
body:not(.admin-page) .filter-pill.active,
body:not(.admin-page) .active:not(.home-hero-dot){
  background:linear-gradient(180deg,var(--bp-sage) 0%,var(--bp-sage-dark) 100%)!important;
  border-color:var(--bp-sage-dark)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(37,39,37,.12)!important;
}
body:not(.admin-page) .btn-secondary,
body:not(.admin-page) .tab,
body:not(.admin-page) .gallery-tab,
body:not(.admin-page) .filter-pill{
  background:rgba(255,254,250,.96)!important;
  color:var(--bp-muted)!important;
  border-color:var(--bp-line)!important;
}
body:not(.admin-page) .flow-num{
  background:linear-gradient(180deg,var(--bp-sage) 0%,var(--bp-sage-dark) 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(37,39,37,.12)!important;
}
body:not(.admin-page) .flow-item{
  background:rgba(255,254,250,.96)!important;
  border-color:var(--bp-line)!important;
  box-shadow:0 10px 26px rgba(37,39,37,.06)!important;
}

/* 5) 갤러리/관련 상품의 브라운 텍스트 잔여 제거 */
body:not(.admin-page) .gallery-photo-caption span,
body:not(.admin-page) .gallery-photo-meta span,
body:not(.admin-page) .service-gallery-card span,
body:not(.admin-page) .service-gallery-meta span,
body:not(.admin-page) .branch-gallery-meta span,
body:not(.admin-page) .home-gallery-feature-card span,
body:not(.admin-page) .product-mini-head span,
body:not(.admin-page) .home-products-compact-card span,
body:not(.admin-page) .product-eyebrow,
body:not(.admin-page) .product-detail-eyebrow,
body:not(.admin-page) .package-eyebrow{
  color:var(--bp-sage)!important;
}
body:not(.admin-page) .gallery-photo-meta em,
body:not(.admin-page) .service-gallery-meta em,
body:not(.admin-page) .branch-gallery-meta em,
body:not(.admin-page) .gallery-photo-card.has-detail-image::after,
body:not(.admin-page) .service-gallery-card.has-detail-image::after{
  color:var(--bp-sage-dark)!important;
  border-color:rgba(89,97,95,.16)!important;
  background:rgba(255,255,255,.88)!important;
}
body:not(.admin-page) .gallery-photo-card,
body:not(.admin-page) .service-gallery-card,
body:not(.admin-page) .branch-gallery-card{
  border-color:var(--bp-line)!important;
}
body:not(.admin-page) .gallery-photo-card img,
body:not(.admin-page) .service-gallery-card img,
body:not(.admin-page) .branch-gallery-card img{
  background:#f2f4ef!important;
}
body:not(.admin-page) .service-product-points span{
  background:var(--bp-sage-soft)!important;
  color:var(--bp-sage-dark)!important;
  border-color:rgba(89,97,95,.16)!important;
}
body:not(.admin-page) .services-page .service-product-section .product-card,
body:not(.admin-page) .services-page .service-reservation-card{
  background:linear-gradient(180deg,#fffefa 0%,#f6f7f2 100%)!important;
  border-color:var(--bp-line)!important;
}

/* 6) 촬영 포인트 카드 장식/SVG성 백그라운드 톤 다운 */
.services-page .service-point-list .mood-card{
  background:linear-gradient(135deg,rgba(255,254,250,.98) 0%,rgba(248,249,245,.96) 52%,rgba(230,235,229,.72) 100%)!important;
  border-color:rgba(210,216,208,.92)!important;
  box-shadow:0 10px 24px rgba(37,39,37,.07)!important;
}
.services-page .service-point-list .mood-card::before{
  background:rgba(89,97,95,.10)!important;
}
.services-page .service-point-list .mood-card span{
  color:var(--bp-sage)!important;
}
.services-page .service-point-list .mood-card strong{
  color:var(--bp-ink)!important;
}
.services-page .service-point-list .mood-card p{
  color:var(--bp-muted)!important;
}

/* 7) 예약/문의 페이지 필수 표시와 단계 컬러 정리 */
.reservation-page-body .reservation-consent b,
body:not(.admin-page) .reservation-consent b{
  color:var(--bp-sage-dark)!important;
}
.reservation-page-body .reservation-consent a,
body:not(.admin-page) .reservation-consent a{
  color:var(--bp-sage-dark)!important;
  text-decoration-color:rgba(89,97,95,.38)!important;
}
.reservation-page-body .reservation-consent,
body:not(.admin-page) .reservation-consent{
  border-color:rgba(89,97,95,.16)!important;
  background:rgba(255,254,250,.94)!important;
}
.reservation-page-body .form-card,
.reservation-page-body .reservation-form-card{
  background:rgba(255,254,250,.96)!important;
  border-color:var(--bp-line)!important;
}

/* 8) 지점별 이벤트 모달 CTA 및 모달 색상 정리 */
.branch-event-modal .branch-event-card,
.branch-event-modal.branch-event-sheet .branch-event-card{
  background:#fffefa!important;
  border-color:var(--bp-line)!important;
  box-shadow:0 -20px 70px rgba(37,39,37,.18)!important;
}
.branch-event-modal .branch-event-scroll,
.branch-event-modal.branch-event-sheet .branch-event-scroll{
  background:#f4f5ef!important;
}
.branch-event-modal .branch-event-actions,
.branch-event-modal.branch-event-sheet .branch-event-actions{
  background:#fffefa!important;
  border-top-color:var(--bp-line)!important;
}
.branch-event-modal .branch-event-today,
.branch-event-modal.branch-event-sheet .branch-event-today{
  background:#fffefa!important;
  color:var(--bp-sage-dark)!important;
  border-color:var(--bp-line)!important;
}
.branch-event-modal .branch-event-cta,
.branch-event-modal.branch-event-sheet .branch-event-cta{
  background:linear-gradient(180deg,var(--bp-sage) 0%,var(--bp-sage-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--bp-sage-dark)!important;
}
.branch-event-modal.branch-event-sheet .branch-event-handle span,
.branch-event-handle span{
  background:#c9cec8!important;
}
.branch-event-dots button.active{
  background:var(--bp-sage)!important;
}

/* 9) 지점 정보 카드/액션 버튼/서비스 태그 테마 정리 */
.branches-page-body .branch-info-panel-visual,
.branches-page-body .branch-info-panel-compact{
  background:rgba(255,254,250,.96)!important;
  border-color:var(--bp-line)!important;
}
.branches-page-body .branch-info-head-visual h3,
.branches-page-body .branch-info-line strong,
.branches-page-body .branch-info-action-button strong{
  color:var(--bp-ink)!important;
}
.branches-page-body .branch-info-panel-visual .branch-service-tag,
.branches-page-body .branch-service-tag,
.branches-page-body .branch-service-tags.is-empty span{
  background:var(--bp-sage-soft)!important;
  color:var(--bp-sage-dark)!important;
  border-color:rgba(89,97,95,.14)!important;
}
.branches-page-body .branch-info-panel-visual .branch-service-tag i,
.branches-page-body .branch-service-tag i,
.branches-page-body .branch-info-line-icon,
.branches-page-body .branch-info-list-visual .branch-info-line-icon{
  color:var(--bp-sage)!important;
  background:transparent!important;
}
.branches-page-body .branch-info-list-visual .branch-info-line.hours strong em,
.branches-page-body .branch-info-list-visual .branch-info-line.hours strong .closed-days{
  color:#7f686a!important;
}
.branches-page-body .branch-info-notice{
  color:var(--bp-muted)!important;
}
.branches-page-body .branch-info-actions-visual{
  border-top-color:var(--bp-line)!important;
}
.branches-page-body .branch-info-action-button span{
  background:#fffefa!important;
  color:var(--bp-sage-dark)!important;
  border-color:var(--bp-line)!important;
  box-shadow:0 10px 22px rgba(37,39,37,.075)!important;
}
.branches-page-body .branch-info-action-button.phone span{
  background:linear-gradient(180deg,var(--bp-sage) 0%,var(--bp-sage-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--bp-sage-dark)!important;
}
.branches-page-body .branch-info-action-button.kakao span{
  background:linear-gradient(180deg,#67706d 0%,#4b5451 100%)!important;
  color:#fff!important;
  border-color:#4b5451!important;
}
.branches-page-body .branch-info-actions-inline .btn,
.branches-page-body .branch-info-actions-inline button.btn,
.branches-page-body .branch-info-actions-inline a.btn{
  color:var(--bp-sage-dark)!important;
  border-color:var(--bp-line)!important;
  background:#fffefa!important;
}

/* 10) 본사 접수 후 지점별 안내 카드 배경 정리 */
.branches-page-body .guide-card,
body:not(.admin-page) .guide-card{
  background:rgba(255,254,250,.96)!important;
  border-color:var(--bp-line)!important;
  box-shadow:0 10px 26px rgba(37,39,37,.06)!important;
}
.branches-page-body .guide-card .chip,
body:not(.admin-page) .guide-card .chip{
  background:var(--bp-sage-soft)!important;
  color:var(--bp-sage-dark)!important;
}
.branches-page-body .guide-row,
body:not(.admin-page) .guide-row{
  background:#fff!important;
  border-color:var(--bp-line)!important;
}
.branches-page-body .guide-row b,
body:not(.admin-page) .guide-row b{
  color:var(--bp-sage-dark)!important;
}
.branches-page-body .guide-row span,
body:not(.admin-page) .guide-row span{
  color:var(--bp-muted)!important;
}

/* 11) 기타 하드코딩 브라운 계열 잔여 정리 */
body:not(.admin-page) .chip,
body:not(.admin-page) .eyebrow,
body:not(.admin-page) .hero-tag,
body:not(.admin-page) .breadcrumb,
body:not(.admin-page) .meta,
body:not(.admin-page) .status{
  background:var(--bp-sage-soft)!important;
  color:var(--bp-sage-dark)!important;
  border-color:rgba(89,97,95,.14)!important;
}
body:not(.admin-page) .section-head a,
body:not(.admin-page) .section-head button,
body:not(.admin-page) .text-link,
body:not(.admin-page) .public-link{
  color:var(--bp-sage-dark)!important;
}
body:not(.admin-page) .field-box,
body:not(.admin-page) .input,
body:not(.admin-page) .select,
body:not(.admin-page) .textarea,
body:not(.admin-page) .detail-cta-card .field-box{
  border-color:var(--bp-line)!important;
  background:#fffefa!important;
  color:var(--bp-muted)!important;
}
body:not(.admin-page) .footer,
body:not(.admin-page) .bps-common-footer{
  background:linear-gradient(180deg,#fffefa 0%,#f2f4ef 100%)!important;
  border-color:var(--bp-line)!important;
}


/* v3.10.160 사용자 화면 보정 + CMS 지점 갤러리 분류 UX 후속 수정
   - 홈 히어로 CTA: 큰 외곽 묶음 테두리 제거, 두 버튼 모두 White Glass + #272522 텍스트로 통일
   - 지점 정보 카톡문의 버튼: 일반 CTA #5A554F 적용
   - 사이버 투어 선택 모달: 딥세이지/차콜/화이트 테마로 재정리
   - 지점 갤러리/모달 내부 브라운 잔여색 추가 정리 */
body:not(.admin-page){
  --bp-cta:#5A554F;
  --bp-cta-dark:#48443f;
  --bp-cta-text:#272522;
  --bp-white-glass:rgba(255,255,255,.92);
  --bp-white-glass-soft:rgba(255,255,255,.78);
}

/* 1) 홈 히어로 CTA: 묶음 박스는 완전히 제거하고, 버튼 자체만 White Glass로 표시 */
.home-page .home-hero-actions{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  column-gap:10px!important;
  row-gap:10px!important;
}
.home-page .home-hero-actions::before,
.home-page .home-hero-actions::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.home-page .home-hero-actions .btn,
.home-page .home-hero-actions .btn-primary,
.home-page .home-hero-actions .btn-secondary{
  background:var(--bp-white-glass)!important;
  color:var(--bp-cta-text)!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 12px 28px rgba(39,37,34,.14)!important;
  text-shadow:none!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
.home-page .home-hero-actions .btn-secondary{
  background:var(--bp-white-glass-soft)!important;
}
.home-page .home-hero-actions .btn:hover,
.home-page .home-hero-actions .btn:focus-visible,
.home-page .home-hero-actions .btn-primary:hover,
.home-page .home-hero-actions .btn-primary:focus-visible,
.home-page .home-hero-actions .btn-secondary:hover,
.home-page .home-hero-actions .btn-secondary:focus-visible{
  background:rgba(255,255,255,.98)!important;
  color:var(--bp-cta-text)!important;
  border-color:rgba(255,255,255,.94)!important;
}

/* 2) 지점 정보 카톡문의 버튼: 일반 CTA와 같은 #5A554F 계열로 통일 */
.branches-page-body .branch-info-action-button.kakao span,
.branches-page-body .branch-info-action-button.kakao:hover span,
.branches-page-body .branch-info-action-button.kakao:focus-visible span{
  background:linear-gradient(180deg,var(--bp-cta) 0%,var(--bp-cta-dark) 100%)!important;
  color:#fff!important;
  border-color:var(--bp-cta)!important;
  box-shadow:0 12px 26px rgba(39,37,34,.16)!important;
}
.branches-page-body .branch-info-action-button.phone span{
  background:linear-gradient(180deg,var(--bp-cta) 0%,var(--bp-cta-dark) 100%)!important;
  border-color:var(--bp-cta)!important;
}

/* 3) 사이버 투어 선택 모달 색상 테마 재정리 */
.branch-tour-open{
  overflow:hidden!important;
}
.branch-tour-modal{
  background:rgba(39,37,34,.46)!important;
  backdrop-filter:blur(8px) saturate(1.02)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.02)!important;
}
.branch-tour-card{
  background:#fffefa!important;
  border:1px solid rgba(226,228,222,.96)!important;
  box-shadow:0 28px 80px rgba(39,37,34,.26)!important;
}
.branch-tour-head{
  background:#fffefa!important;
  border-bottom:1px solid var(--bp-line,#e2e4de)!important;
}
.branch-tour-head strong{
  color:var(--bp-ink,#232625)!important;
}
.branch-tour-head p{
  color:var(--bp-muted,#6f746f)!important;
}
.branch-tour-close{
  background:var(--bp-sage-soft,#eef2ed)!important;
  color:var(--bp-cta-text,#272522)!important;
  box-shadow:none!important;
}
.branch-tour-list{
  background:#f7f7f2!important;
}
.branch-tour-option{
  background:#fffefa!important;
  border:1px solid var(--bp-line,#e2e4de)!important;
  box-shadow:0 10px 24px rgba(39,37,34,.06)!important;
}
.branch-tour-option span{
  background:var(--bp-sage-soft,#eef2ed)!important;
  color:var(--bp-cta,#5A554F)!important;
}
.branch-tour-option span svg,
.branch-tour-option span .line-icon svg{
  color:var(--bp-cta,#5A554F)!important;
  stroke:currentColor!important;
}
.branch-tour-option strong{
  color:var(--bp-ink,#232625)!important;
}
.branch-tour-option em{
  color:var(--bp-muted,#6f746f)!important;
}
.branch-tour-option:hover,
.branch-tour-option:focus-visible{
  border-color:rgba(90,85,79,.34)!important;
  box-shadow:0 12px 28px rgba(39,37,34,.10)!important;
}

/* 4) 지점 갤러리 카드/모달 쪽 브라운 잔여색 추가 정리 */
.branches-page-body .branch-gallery-meta span,
.branches-page-body .branch-gallery-meta em,
.branches-page-body .branch-gallery-caption span,
.branches-page-body .branch-gallery-caption em{
  color:var(--bp-cta,#5A554F)!important;
}
.branches-page-body .branch-gallery-tabs .tab.active,
.branches-page-body #branchGalleryTabs .tab.active{
  background:linear-gradient(180deg,var(--bp-cta) 0%,var(--bp-cta-dark) 100%)!important;
  border-color:var(--bp-cta)!important;
  color:#fff!important;
}

/* END v3.10.160 */

/* v3.10.160 관리자 CMS 지점 갤러리 분류 편집 UI */
.admin-page .branch-gallery-group-item-editable{
  display:grid!important;
  gap:10px!important;
}
.admin-page .branch-gallery-group-edit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.admin-page .branch-gallery-group-edit-row .cms-input.compact{
  min-height:38px;
  padding:8px 10px;
}
.admin-page .branch-gallery-controls.compact .field-help,
.admin-page .branch-gallery-editor-card .field-help{
  color:var(--muted,#6f746f);
}
@media (max-width:430px){
  .admin-page .branch-gallery-group-edit-row{
    grid-template-columns:1fr;
  }
}

/* END v3.10.160 ADMIN */


/* v3.10.161 VERIFIED HOTFIX
   목적
   1) 홈 히어로 CTA에서 #8C7078 계열을 확실히 차단하고, 버튼 2개 모두 White Glass + #272522 텍스트로 고정
   2) v3.10.157의 a[href*="reservation"].btn-primary !important 규칙보다 높은 특이도로 최종 우선 적용
   3) CTA 묶음 외곽 테두리/배경/그림자를 제거하고 개별 버튼만 표시 */
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  gap:10px!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions::before,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions::after,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]::before,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-primary,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-secondary,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-secondary[href*="services"],
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-primary,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-secondary,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-secondary[href*="services"]{
  background:rgba(255,255,255,.94)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.84) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 12px 26px rgba(39,37,34,.14)!important;
  text-shadow:none!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn:hover,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn:focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn:hover,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn:focus-visible{
  background:rgba(255,255,255,.98)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.9) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
  border-color:rgba(255,255,255,.96)!important;
}
/* #8C7078 계열 테마 변수가 히어로 CTA에 유입되지 않도록 히어로 범위에서만 중립화 */
html body.home-page:not(.admin-page) .home-hero{
  --accent-soft:#ffffff;
  --accent-soft-dark:#ffffff;
}
/* END v3.10.161 VERIFIED HOTFIX */

/* v3.10.162 VERIFIED FIX
   범위 분리 보정
   1) 홈 히어로 CTA: 예약 문의는 반투명 화이트 + #272522, 촬영 보기는 투명 Glass + 흰색 텍스트/라인
   2) 지점 정보 카톡문의 버튼: #5A554F 단색, 그라데이션 제거
   3) 지점·상품·문의·갤러리·촬영서비스 서브 히어로: 상단 흰색/반투명 헤더 레이어 제거, 햄버거만 유지
   4) 사이버 투어 선택 모달: 현재 뉴트럴 테마에 맞춰 배경/아이콘 정리
*/

/* 1) 홈 히어로 CTA - 공통 버튼으로 묶지 않고 버튼별 역할을 분리 */
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  gap:10px!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions::before,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions::after,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]::before,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"]::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn{
  min-height:52px!important;
  border-radius:18px!important;
  box-shadow:0 12px 26px rgba(39,37,34,.12)!important;
  text-shadow:none!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
}
/* 예약 문의: 1순위 CTA. 완전 불투명이 아닌 반투명 White Glass */
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-primary,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn[href*="reservation"],
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-primary,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn[href*="reservation"]{
  background:rgba(255,255,255,.86)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.78) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
  border:1px solid rgba(255,255,255,.62)!important;
}
/* 촬영 보기: 2순위 CTA. 이미지가 비치는 투명 Glass + 흰색 라인 */
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-secondary,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn[href*="services"],
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-secondary,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn[href*="services"]{
  background:rgba(255,255,255,.13)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 12px 26px rgba(39,37,34,.10), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-secondary:hover,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn.btn-secondary:focus-visible,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn[href*="services"]:hover,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider .home-hero-actions a.btn[href*="services"]:focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-secondary:hover,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn.btn-secondary:focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn[href*="services"]:hover,
html body.home-page:not(.admin-page) .home-hero-actions[aria-label="대표 행동 버튼"] a.btn[href*="services"]:focus-visible{
  background:rgba(255,255,255,.20)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:rgba(255,255,255,.88)!important;
}
html body.home-page:not(.admin-page) .home-hero{
  --accent-soft:#ffffff;
  --accent-soft-dark:#ffffff;
}

/* 2) 지점 정보 카톡문의: #5A554F 단색 고정, 그라데이션 완전 제거 */
html body.branches-page-body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-actions a.branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible span{
  background:#5A554F!important;
  background-image:none!important;
  border-color:#5A554F!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(39,37,34,.14)!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span .bp-line-icon,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover span svg,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible span svg{
  color:#fff!important;
  stroke:#fff!important;
}

/* 3) 서브 페이지 히어로 공통: 상단 헤더 배경판/블러 제거, 햄버거만 이미지 위에 표시 */
html body.branches-page-body:not(.admin-page) .header,
html body.products-page-body:not(.admin-page) .header,
html body.gallery-page-body:not(.admin-page) .header,
html body.reservation-page-body:not(.admin-page) .header,
html body.services-page.service-hero-has-slider:not(.admin-page) .header{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  max-width:var(--max)!important;
  margin:0!important;
  padding:18px 22px 0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body.branches-page-body:not(.admin-page) .header::before,
html body.branches-page-body:not(.admin-page) .header::after,
html body.products-page-body:not(.admin-page) .header::before,
html body.products-page-body:not(.admin-page) .header::after,
html body.gallery-page-body:not(.admin-page) .header::before,
html body.gallery-page-body:not(.admin-page) .header::after,
html body.reservation-page-body:not(.admin-page) .header::before,
html body.reservation-page-body:not(.admin-page) .header::after,
html body.services-page.service-hero-has-slider:not(.admin-page) .header::before,
html body.services-page.service-hero-has-slider:not(.admin-page) .header::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.branches-page-body:not(.admin-page) .header .brand,
html body.products-page-body:not(.admin-page) .header .brand,
html body.gallery-page-body:not(.admin-page) .header .brand,
html body.reservation-page-body:not(.admin-page) .header .brand{
  display:none!important;
}
html body.branches-page-body:not(.admin-page) .header .header-actions,
html body.products-page-body:not(.admin-page) .header .header-actions,
html body.gallery-page-body:not(.admin-page) .header .header-actions,
html body.reservation-page-body:not(.admin-page) .header .header-actions,
html body.services-page.service-hero-has-slider:not(.admin-page) .header .header-actions{
  margin-left:auto!important;
}
html body.branches-page-body:not(.admin-page) .header .header-btn.primary,
html body.products-page-body:not(.admin-page) .header .header-btn.primary,
html body.gallery-page-body:not(.admin-page) .header .header-btn.primary,
html body.reservation-page-body:not(.admin-page) .header .header-btn.primary,
html body.services-page.service-hero-has-slider:not(.admin-page) .header .header-btn.primary{
  display:none!important;
}
html body.branches-page-body:not(.admin-page) .header .menu-line-btn,
html body.products-page-body:not(.admin-page) .header .menu-line-btn,
html body.gallery-page-body:not(.admin-page) .header .menu-line-btn,
html body.reservation-page-body:not(.admin-page) .header .menu-line-btn,
html body.services-page.service-hero-has-slider:not(.admin-page) .header .menu-line-btn{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
}
html body.branches-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"],
html body.products-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"],
html body.gallery-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"],
html body.reservation-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"],
html body.services-page.service-hero-has-slider:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"]{
  width:30px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}
html body.branches-page-body:not(.admin-page) .branch-hero-slider,
html body.products-page-body:not(.admin-page) .product-hero-slider,
html body.gallery-page-body:not(.admin-page) .gallery-hero-slider,
html body.reservation-page-body:not(.admin-page) .reservation-hero-slider,
html body.services-page.service-hero-has-slider:not(.admin-page) .service-hero-slider{
  margin-top:0!important;
}

/* 4) 사이버 투어 선택 모달: 배경/아이콘을 #5A554F 중심 뉴트럴로 정리 */
html body.branches-page-body:not(.admin-page) .branch-tour-modal{
  background:rgba(39,37,34,.44)!important;
  backdrop-filter:blur(8px) saturate(1.02)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.02)!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-card{
  background:#fffefa!important;
  border:1px solid #e2e4de!important;
  box-shadow:0 28px 80px rgba(39,37,34,.24)!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-head,
html body.branches-page-body:not(.admin-page) .branch-tour-list{
  background:#fffefa!important;
  border-color:#e2e4de!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-close{
  background:rgba(90,85,79,.08)!important;
  color:#272522!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-option{
  background:#fffefa!important;
  border-color:#e2e4de!important;
  box-shadow:0 10px 24px rgba(39,37,34,.06)!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-option span{
  background:rgba(90,85,79,.10)!important;
  color:#5A554F!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-option span svg,
html body.branches-page-body:not(.admin-page) .branch-tour-option span .bp-line-icon{
  color:#5A554F!important;
  stroke:#5A554F!important;
}
html body.branches-page-body:not(.admin-page) .branch-tour-option:hover,
html body.branches-page-body:not(.admin-page) .branch-tour-option:focus-visible{
  border-color:rgba(90,85,79,.34)!important;
  box-shadow:0 12px 28px rgba(39,37,34,.10)!important;
}

/* END v3.10.162 VERIFIED FIX */

/* v3.10.163 HERO CTA PRECISE OVERRIDE */
/*
  목적: v3.10.161의 강한 공통 White Glass 규칙보다 높은 특이도로
  홈 히어로 CTA 2개를 실제 렌더링 기준으로 분리한다.
  - 1번째/예약 문의: 반투명 화이트 + #272522
  - 2번째/촬영 보기: 투명 Glass + 흰색 텍스트 + 흰색 라인
*/
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"]{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
}
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions::before,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions::after,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"]::before,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"]::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn{
  min-height:52px!important;
  border-radius:18px!important;
  box-shadow:0 12px 26px rgba(39,37,34,.10)!important;
  text-shadow:none!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
  transform:none;
}
/* 예약 문의: 첫 번째 CTA. 완전 흰색이 아니라 약간 비치는 White Glass */
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn:first-child,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]{
  background:rgba(255,255,255,.80)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.72) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 12px 26px rgba(39,37,34,.11), inset 0 1px 0 rgba(255,255,255,.42)!important;
}
/* 촬영 보기: 두 번째 CTA. v3.10.161의 a.btn.btn-secondary[href] 규칙보다 강한 선택자로 재정의 */
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-secondary[href*="services"],
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:nth-child(2),
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn.btn-secondary[href*="services"],
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn:nth-child(2),
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="secondary"]{
  background:rgba(255,255,255,.13)!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 12px 26px rgba(39,37,34,.09), inset 0 1px 0 rgba(255,255,255,.18)!important;
}
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child:hover,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"]:focus-visible,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child:focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]:focus-visible{
  background:rgba(255,255,255,.86)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.78) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
}
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-secondary[href*="services"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:nth-child(2):hover,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="secondary"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-secondary[href*="services"]:focus-visible,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:nth-child(2):focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="secondary"]:focus-visible{
  background:rgba(255,255,255,.20)!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:rgba(255,255,255,.88)!important;
}
/* END v3.10.163 HERO CTA PRECISE OVERRIDE */

/* v3.10.165 HOME HERO PRIMARY CTA OPACITY TUNE */
/*
  목적: v3.10.163에서 구조적으로 정상화된 홈 히어로 CTA 중
  예약 문의 버튼만 더 가볍게 보이도록 반투명도를 추천값으로 낮춘다.
  - 예약 문의: rgba(255,255,255,.75) 중심의 반투명 White Glass
  - 촬영 보기: v3.10.163 Glass 스타일 유지
*/
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child,
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn.btn-primary[href*="reservation"],
html body.home-page:not(.admin-page) .home-hero .home-hero-slider > .home-hero-actions[aria-label="대표 행동 버튼"] > a.btn:first-child,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]{
  background:rgba(255,255,255,.75)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.68) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
  border:1px solid rgba(255,255,255,.50)!important;
  box-shadow:0 10px 22px rgba(39,37,34,.09), inset 0 1px 0 rgba(255,255,255,.34)!important;
}
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child:hover,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]:hover,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn.btn-primary[href*="reservation"]:focus-visible,
html body.home-page:not(.admin-page) main.home-main section.home-hero.home-hero-slider-wrap .home-hero-slider > .home-hero-actions > a.btn:first-child:focus-visible,
html body.home-page:not(.admin-page) .home-hero-actions > a[data-hero-cta="primary"]:focus-visible{
  background:rgba(255,255,255,.80)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.72) 100%)!important;
  color:#272522!important;
  -webkit-text-fill-color:#272522!important;
}
/* END v3.10.165 HOME HERO PRIMARY CTA OPACITY TUNE */



/* v3.10.166 BRANCH KAKAO ACTION COLOR EXACT FIX */
/*
  목적: 지점 정보 카드의 '카톡문의' 원형 CTA를 일반 CTA 기준 색상 #5A554F 단색으로 고정한다.
  - 기존 그라데이션/배경 이미지 제거
  - 음영으로 인한 색상 오인 방지를 위해 원형 내부 box-shadow 제거
  - JS 렌더링 지연/우선순위 충돌에 대비해 data-branch-action 선택자까지 병행
*/
html body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span,
html body:not(.admin-page) .branch-info-actions a.branch-info-action-button.kakao span,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible span{
  background:#5A554F!important;
  background-color:#5A554F!important;
  background-image:none!important;
  border-color:#5A554F!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
html body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span svg,
html body:not(.admin-page) .branch-info-actions a.branch-info-action-button.kakao span svg,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span svg{
  color:#ffffff!important;
  stroke:#ffffff!important;
  fill:none!important;
}
/* END v3.10.166 BRANCH KAKAO ACTION COLOR EXACT FIX */

/* v3.10.167 BRANCH KAKAO ACTION COLOR TUNE */
/*
  목적: 지점 정보 카드의 '카톡문의' 원형 CTA 색상을 #7A746E 단색으로 변경한다.
  - v3.10.166의 #5A554F 단색 고정 규칙보다 뒤에서 적용한다.
  - 기존 그라데이션/배경 이미지 제거 상태를 유지한다.
*/
html body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span,
html body:not(.admin-page) .branch-info-actions a.branch-info-action-button.kakao span,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible span{
  background:#7A746E!important;
  background-color:#7A746E!important;
  background-image:none!important;
  border-color:#7A746E!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
html body:not(.admin-page) .branch-info-actions .branch-info-action-button.kakao span svg,
html body:not(.admin-page) .branch-info-actions a.branch-info-action-button.kakao span svg,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span svg{
  color:#ffffff!important;
  stroke:#ffffff!important;
  fill:none!important;
}
/* END v3.10.167 BRANCH KAKAO ACTION COLOR TUNE */



/* v3.10.168 — Home PASTEL PLAY YouTube section */
.home-play-section {
  margin-top: 6px;
  padding-bottom: 8px;
}
.home-play-section .section-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(90, 85, 79, .08);
  color: #5A554F;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
.home-play-head { align-items: flex-end; }
.home-play-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  margin: 12px -4px 18px;
  padding: 0 4px 4px;
  scrollbar-width: none;
}
.home-play-tabs::-webkit-scrollbar { display: none; }
.home-play-tabs button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(39, 37, 34, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: rgba(39, 37, 34, .72);
  font: inherit;
  font-weight: 900;
  box-shadow: 0 6px 18px rgba(39, 37, 34, .04);
}
.home-play-tabs button.is-active {
  border-color: #5A554F;
  background: #5A554F;
  color: #fff;
}
.home-play-viewport {
  margin: 0 -2px;
  overflow: hidden;
}
.home-play-rail {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 2px;
  padding: 2px 2px 6px;
  scrollbar-width: none;
}
.home-play-rail::-webkit-scrollbar { display: none; }
.home-play-card {
  flex: 0 0 min(86%, 330px);
  scroll-snap-align: start;
  border: 1px solid rgba(39, 37, 34, .08);
  border-radius: 24px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(39, 37, 34, .06);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.home-play-card:active { transform: scale(.99); }
.home-play-card.is-hidden { display: none; }
.home-play-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #111;
}
.home-play-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
}
.home-play-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.28));
  pointer-events: none;
}
.home-play-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: #3869ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -.01em;
}
.home-play-button {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 62px;
  height: 44px;
  border-radius: 14px;
  background: #ff0000;
  transform: translate(-50%, -50%);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.home-play-button::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 12px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid #fff;
}
.home-play-copy {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  padding: 16px 16px 18px;
  align-items: start;
}
.home-play-copy span {
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 6px;
  border-radius: 12px;
  background: rgba(90, 85, 79, .08);
  color: #5A554F;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}
.home-play-copy strong {
  color: #272522;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.32;
  letter-spacing: -.04em;
}
.home-play-copy p {
  margin: 0;
  color: rgba(39, 37, 34, .62);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}
.home-play-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  margin-top: 18px;
}
.home-play-controls button {
  width: 64px;
  height: 52px;
  border: 1px solid rgba(39,37,34,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.92);
  color: #272522;
  font-size: 32px;
  line-height: 1;
  font-weight: 700;
}
.home-play-controls span {
  min-width: 54px;
  text-align: center;
  color: #272522;
  font-size: 16px;
  font-weight: 900;
}
.home-play-modal[hidden] { display: none !important; }
.home-play-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
}
.home-play-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 15, 15, .72);
  backdrop-filter: blur(8px);
}
.home-play-modal-panel {
  position: relative;
  z-index: 1;
  width: min(94vw, 720px);
  border-radius: 22px;
  background: #111;
  overflow: hidden;
  box-shadow: 0 26px 80px rgba(0,0,0,.38);
}
.home-play-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #272522;
  font-size: 28px;
  line-height: 1;
}
.home-play-modal-frame {
  aspect-ratio: 16 / 9;
  width: 100%;
  background: #000;
}
.home-play-modal-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
@media (min-width: 680px) {
  .home-play-card { flex-basis: 310px; }
}


/* v3.10.169 — PASTEL PLAY cleanup + CMS manager */
.home-play-section .section-eyebrow,
.home-play-badge,
.home-play-controls{display:none!important;}
.home-play-head{margin-bottom:0!important;}
.home-play-tabs{margin-top:20px!important;margin-bottom:12px!important;}
.home-play-viewport{margin-top:0!important;}
.home-play-modal-panel{border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
.home-play-modal-frame{border-radius:0!important;overflow:visible!important;background:#000!important;}
.home-play-modal-frame iframe{border-radius:0!important;display:block!important;}
.home-play-modal-close{z-index:3;}
.home-play-admin-manager{display:grid;gap:12px;margin-top:14px;padding:14px;border-radius:20px;background:#f8f7f3;border:1px solid rgba(122,116,110,.18);}
.home-play-admin-list{display:grid;gap:12px;}
.home-play-admin-card{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;padding:12px;border-radius:18px;background:#fff;border:1px solid rgba(122,116,110,.18);}
.home-play-admin-thumb{aspect-ratio:16/9;border-radius:14px;background:#eee;overflow:hidden;display:grid;place-items:center;color:#777;font-size:12px;font-weight:800;text-align:center;}
.home-play-admin-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.home-play-admin-fields{display:grid;gap:10px;min-width:0;}
.compact-grid{grid-template-columns:1.4fr .8fr;}
.compact-toolbar{align-items:center;}
.cms-inline.between{justify-content:space-between;gap:10px;}
.mini-btn.danger{color:#9b3b3b;border-color:rgba(155,59,59,.28);}
@media (max-width:720px){
  .home-play-admin-card{grid-template-columns:1fr;}
  .compact-grid{grid-template-columns:1fr;}
}

/* v3.10.170 — PASTEL PLAY final polish + AEO/GEO video visibility */
.home-play-tabs{
  margin-top:18px!important;
  margin-bottom:6px!important;
}
.home-play-viewport{
  margin-top:0!important;
}
.home-play-rail{
  gap:16px!important;
  padding-top:0!important;
}
.home-play-card{
  flex-basis:min(84%, 330px)!important;
}
.home-play-copy p{
  white-space:pre-line!important;
}
.home-play-modal{
  padding:64px 20px 24px!important;
}
.home-play-modal-backdrop{
  background:rgba(15,15,15,.66)!important;
  backdrop-filter:blur(7px)!important;
}
.home-play-modal-panel{
  overflow:visible!important;
}
.home-play-modal-close{
  top:-54px!important;
  right:0!important;
  width:44px!important;
  height:44px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.16)!important;
}
.home-play-modal-frame,
.home-play-modal-frame iframe{
  border-radius:0!important;
}
.home-play-admin-fields .cms-textarea[data-home-play-field="description"]{
  min-height:86px;
  white-space:pre-wrap;
}



/* v3.10.171 — PASTEL PLAY spacing refinement + CMS category manager */
.home-play-section{
  margin-top:0!important;
  padding-top:26px!important;
  padding-bottom:8px!important;
}
.home-play-head{
  margin-bottom:0!important;
}
.home-play-tabs{
  margin-top:14px!important;
  margin-bottom:2px!important;
  gap:8px!important;
  padding-bottom:2px!important;
}
.home-play-tabs button{
  min-height:40px!important;
  padding-inline:16px!important;
}
.home-play-viewport{
  margin-top:0!important;
}
.home-play-rail{
  gap:14px!important;
  padding-top:0!important;
  padding-bottom:2px!important;
}
.home-play-card{
  flex-basis:min(83%, 326px)!important;
}
.home-play-category-manager{
  display:grid;
  gap:10px;
  margin:12px 0 14px;
  padding:12px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(122,116,110,.18);
}
.home-play-category-list{
  display:grid;
  gap:8px;
}
.home-play-category-card{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto auto auto;
  align-items:end;
  gap:10px;
  padding:10px;
  border-radius:14px;
  background:#f8f7f3;
  border:1px solid rgba(122,116,110,.14);
}
.home-play-category-meta{
  color:rgba(39,37,34,.62);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.home-play-category-card .mini-btn:disabled{
  opacity:.38;
  cursor:not-allowed;
}
.home-text-manager-head.slim{
  gap:3px;
}
@media (max-width:720px){
  .home-play-category-card{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .home-play-category-card .row-actions{
    justify-content:flex-start;
  }
}

/* v3.10.172 — PASTEL PLAY mobile density and video card balance refinement */
.home-play-section{
  padding-top:18px!important;
  padding-bottom:6px!important;
}
.home-play-head{
  margin-bottom:0!important;
}
.home-play-tabs{
  margin-top:10px!important;
  margin-bottom:0!important;
  gap:8px!important;
  padding-bottom:0!important;
}
.home-play-tabs button{
  min-height:38px!important;
  padding-inline:15px!important;
}
.home-play-viewport{
  margin-top:0!important;
}
.home-play-rail{
  gap:12px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  scroll-padding:2px!important;
}
.home-play-card{
  flex-basis:min(80%, 314px)!important;
  border-radius:22px!important;
  box-shadow:0 8px 22px rgba(39,37,34,.052)!important;
}
.home-play-copy{
  grid-template-columns:68px minmax(0,1fr)!important;
  gap:10px!important;
  padding:12px 14px 14px!important;
  align-items:center!important;
}
.home-play-copy span{
  min-height:58px!important;
  padding:7px 8px!important;
  border-radius:16px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.home-play-copy strong{
  font-size:17px!important;
  line-height:1.24!important;
  letter-spacing:-.045em!important;
}
.home-play-copy p{
  font-size:12.5px!important;
  line-height:1.36!important;
  margin-top:2px!important;
  white-space:pre-line!important;
}
@media (min-width:680px){
  .home-play-card{
    flex-basis:300px!important;
  }
}



/* v3.10.173 — PASTEL PLAY fixed info alignment and company legal info refinement */
.home-play-section{
  padding-top:14px!important;
  padding-bottom:4px!important;
  gap:5px!important;
}
.home-play-head{
  margin-bottom:0!important;
}
.home-play-head .section-head p,
.home-play-head p{
  margin-top:5px!important;
}
.home-play-tabs{
  margin-top:5px!important;
  margin-bottom:0!important;
  gap:8px!important;
  padding-bottom:0!important;
}
.home-play-viewport{
  margin-top:2px!important;
}
.home-play-rail{
  gap:12px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.home-play-card{
  flex-basis:min(79%, 306px)!important;
  border-radius:22px!important;
}
.home-play-copy{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  padding:10px 13px 12px!important;
}
.home-play-copy span{
  width:72px!important;
  min-height:64px!important;
  align-self:start!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px 9px!important;
  border-radius:17px!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.home-play-copy strong{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  font-size:16.5px!important;
  line-height:1.22!important;
  letter-spacing:-.045em!important;
}
.home-play-copy p{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  font-size:12.2px!important;
  line-height:1.32!important;
  margin-top:3px!important;
  white-space:pre-line!important;
}
.footer-operator-legal,
body:not(.admin-page) .footer-info-grid .footer-operator-legal{
  display:block!important;
  margin-top:4px!important;
  color:#74746f!important;
  font-size:10.8px!important;
  line-height:1.48!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}
.footer-info-grid div.footer-operator-card{
  align-content:start!important;
}
body:not(.admin-page) .footer-info-grid div.footer-operator-card span{
  color:#3f413f!important;
  font-weight:800!important;
}
.privacy-footer .footer-operator-legal,
.footer .footer-operator-legal{
  color:#74746f!important;
  font-size:11px!important;
  line-height:1.5!important;
  font-weight:700!important;
}
@media (min-width:680px){
  .home-play-card{
    flex-basis:292px!important;
  }
}


/* v3.10.174 — PASTEL PLAY title/description density and company legal visual hierarchy */
.home-play-copy strong{
  font-weight:700!important;
  margin:0 0 3px!important;
  line-height:1.2!important;
  letter-spacing:-.04em!important;
}
.home-play-copy p{
  margin-top:0!important;
  line-height:1.28!important;
  font-weight:600!important;
}
.footer-operator-legal,
body:not(.admin-page) .footer-info-grid .footer-operator-legal{
  display:block!important;
  margin-top:8px!important;
  color:#7A746E!important;
  font-size:11px!important;
  line-height:1.52!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
.footer-info-grid div.footer-operator-card{
  gap:3px!important;
}
body:not(.admin-page) .footer-info-grid div.footer-operator-card span{
  color:#2b2b28!important;
  font-weight:800!important;
}
.privacy-footer .footer-operator-legal,
.footer .footer-operator-legal{
  color:#7A746E!important;
  font-size:11px!important;
  line-height:1.52!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}

/* v3.10.175 — PASTEL PLAY visual density refinement only */
.home-play-section{
  padding-top:12px!important;
  padding-bottom:2px!important;
}
.home-play-head .section-head p,
.home-play-head p{
  margin-top:5px!important;
}
.home-play-tabs{
  margin-top:5px!important;
  margin-bottom:0!important;
  gap:7px!important;
}
.home-play-tabs button{
  min-height:42px!important;
  padding:0 17px!important;
  font-size:14.5px!important;
  line-height:1!important;
  font-weight:700!important;
  border-radius:999px!important;
}
.home-play-viewport{
  margin-top:0!important;
}
.home-play-rail{
  gap:12px!important;
  padding-top:0!important;
}
.home-play-card{
  flex-basis:min(77.5%, 296px)!important;
}
.home-play-copy{
  grid-template-columns:66px minmax(0,1fr)!important;
  gap:11px!important;
  padding:9px 12px 10px!important;
  align-items:start!important;
}
.home-play-copy span{
  width:66px!important;
  min-height:58px!important;
  padding:7px 8px!important;
  border-radius:16px!important;
  font-size:10.8px!important;
  line-height:1.16!important;
  align-self:start!important;
}
.home-play-copy strong{
  font-size:15.8px!important;
  font-weight:650!important;
  line-height:1.18!important;
  margin:0 0 2px!important;
  letter-spacing:-.038em!important;
}
.home-play-copy p{
  font-size:12px!important;
  line-height:1.24!important;
  margin-top:0!important;
  color:#7A746E!important;
  font-weight:600!important;
}
@media (min-width:680px){
  .home-play-card{
    flex-basis:286px!important;
  }
}


/* v3.10.176 — PASTEL PLAY title/description spacing tune */
.home-play-copy strong{
  line-height:1.16!important;
  margin:0 0 1px!important;
  font-weight:650!important;
}
.home-play-copy p{
  margin:0!important;
  line-height:1.24!important;
  color:#7A746E!important;
}


/* v3.10.177 프로모션 히어로 상단 화이트 오버레이 제거 + 프로모션 정렬 UI */
html body.promotions-page-body:not(.admin-page) .header{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  max-width:var(--max)!important;
  margin:0!important;
  padding:18px 22px 0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body.promotions-page-body:not(.admin-page) .header::before,
html body.promotions-page-body:not(.admin-page) .header::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body.promotions-page-body:not(.admin-page) .header .brand,
html body.promotions-page-body:not(.admin-page) .header .brand-image-link{
  display:none!important;
}
html body.promotions-page-body:not(.admin-page) .header .header-actions{
  margin-left:auto!important;
}
html body.promotions-page-body:not(.admin-page) .header .header-btn.primary{
  display:none!important;
}
html body.promotions-page-body:not(.admin-page) .header .menu-line-btn{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
}
html body.promotions-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"]{
  width:30px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-hero-slider::before{
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0))!important;
}

.promotion-sort-guide{
  display:grid;
  gap:10px;
  padding:12px;
  margin:0 0 12px;
  border:1px solid rgba(89,97,95,.16);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(37,39,37,.06);
}
.promotion-sort-guide>div{display:grid;gap:4px}
.promotion-sort-guide strong{font-size:13px;color:#252725}
.promotion-sort-guide span{font-size:12px;line-height:1.45;color:#74746f}
.promotion-sort-save-btn{width:100%;min-height:40px}
.promotion-sort-list{display:grid;gap:8px}
.editor-doc-item.promotion-doc-item{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  cursor:grab;
  user-select:none;
}
.editor-doc-item.promotion-doc-item:active{cursor:grabbing}
.promotion-doc-item.dragging{
  opacity:.62;
  transform:scale(.985);
  box-shadow:0 16px 38px rgba(37,39,37,.15);
}
.promotion-doc-item.drag-over{
  border-color:rgba(89,97,95,.38)!important;
  background:rgba(240,238,233,.82)!important;
}
.promotion-drag-handle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(89,97,95,.12);
  color:#59615f;
  font-weight:900;
}
.promotion-doc-copy{display:grid;gap:3px;min-width:0;text-align:left}
.promotion-doc-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promotion-doc-copy small{display:block;color:#74746f}
@media (min-width:760px){
  .promotion-sort-guide{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .promotion-sort-save-btn{width:auto;min-width:132px}
}

/* v3.10.178 프로모션 랜딩 요약 제거 + 혜택 카드 CMS 관리 보강 */
.promotions-page-body .promotion-hero-detail .summary-grid{
  display:none !important;
}
.promotions-page-body .benefit-list{
  gap:10px;
}
.promotions-page-body .benefit-item{
  background:#fffaf8;
  border-color:rgba(122,116,110,.18);
}
.promotions-page-body .benefit-item strong{
  color:#272522;
}
.promotions-page-body .benefit-item span{
  color:#7A746E;
}
.promotion-benefit-manager{
  display:block;
  padding:16px;
  border-radius:18px;
  background:#fffaf8;
  border:1px solid rgba(122,116,110,.16);
}
.promotion-benefit-manager-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.promotion-benefit-manager-head span{
  display:block;
  font-weight:800;
  color:#272522;
}
.promotion-benefit-manager-head small{
  display:block;
  margin-top:4px;
  color:#7A746E;
  font-size:12px;
  line-height:1.45;
}
.promotion-benefit-list{
  display:grid;
  gap:10px;
}
.promotion-benefit-row{
  display:grid;
  grid-template-columns:34px 1fr auto;
  gap:10px;
  align-items:start;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(122,116,110,.18);
}
.promotion-benefit-row.is-dragging{
  opacity:.62;
}
.promotion-benefit-drag{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f1eee9;
  color:#5A554F;
  cursor:grab;
  font-weight:800;
}
.promotion-benefit-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) 140px;
  gap:10px;
}
.promotion-benefit-fields .full-span{
  grid-column:1 / -1;
}
.field-label.mini{
  font-size:12px;
}
.promotion-benefit-toggle{
  align-self:center;
}
.promotion-benefit-actions{
  display:grid;
  gap:6px;
  min-width:74px;
}
.promotion-benefit-actions .btn{
  min-height:32px;
  padding:7px 10px;
  font-size:12px;
}
@media (max-width: 720px){
  .promotion-benefit-manager-head,
  .promotion-benefit-row{
    grid-template-columns:1fr;
    display:grid;
  }
  .promotion-benefit-manager-head{
    display:grid;
  }
  .promotion-benefit-fields{
    grid-template-columns:1fr;
  }
  .promotion-benefit-actions{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}


/* v3.10.181 프로모션 사용자 화면 밀도 + 관리자 편집 UX 보정 */
.promotions-page-body .benefit-list{
  gap:8px!important;
}
.promotions-page-body .benefit-item{
  gap:10px!important;
  align-items:center!important;
  padding:10px 12px!important;
  min-height:0!important;
  border-radius:14px!important;
}
.promotions-page-body .benefit-icon{
  flex-basis:32px!important;
  width:32px!important;
  height:32px!important;
  border-radius:11px!important;
}
.promotions-page-body .benefit-icon .bp-line-icon{
  width:17px!important;
  height:17px!important;
}
.promotions-page-body .benefit-item strong{
  font-size:13.5px!important;
  line-height:1.28!important;
}
.promotions-page-body .benefit-item span{
  margin-top:2px!important;
  font-size:11.5px!important;
  line-height:1.34!important;
}
.promotions-page-body .detail-cta-card .btn-primary,
.promotions-page-body .detail-cta-card a.btn-primary{
  background:#5A554F!important;
  background-image:linear-gradient(180deg,#6A655F 0%,#4F5855 100%)!important;
  border-color:#5A554F!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(42,50,47,.16)!important;
}
.promotion-editor-grid{
  display:grid!important;
  gap:12px!important;
}
.promotion-editor-section{
  grid-column:1 / -1;
  border:1px solid rgba(122,116,110,.16);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  overflow:hidden;
}
.promotion-editor-section summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  background:#fffaf8;
  border-bottom:1px solid rgba(122,116,110,.10);
}
.promotion-editor-section summary::-webkit-details-marker{display:none}
.promotion-editor-section summary::after{
  content:"열기";
  flex:0 0 auto;
  min-width:48px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1eee9;
  color:#5A554F;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.promotion-editor-section[open] summary::after{content:"접기"}
.promotion-editor-section summary span{
  display:block;
  font-weight:900;
  color:#272522;
}
.promotion-editor-section summary small{
  display:block;
  margin-top:3px;
  color:#7A746E;
  font-size:12px;
  line-height:1.35;
}
.promotion-editor-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:14px;
}
.promotion-editor-section-grid > .full-span,
.promotion-editor-section-grid > .promotion-image-upload-field,
.promotion-editor-section-grid > .promotion-benefit-manager{
  grid-column:1 / -1;
}
.promotion-publish-checklist{
  margin:12px 0;
  padding:13px 15px;
  border-radius:18px;
  border:1px solid rgba(89,97,95,.15);
  background:rgba(240,245,238,.72);
}
.promotion-publish-checklist-head{
  display:grid;
  gap:3px;
}
.promotion-publish-checklist-head strong{
  color:#272522;
  font-weight:900;
}
.promotion-publish-checklist-head span{
  color:#7A746E;
  font-size:12px;
}
.promotion-publish-checklist-items{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.promotion-publish-checklist-items span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:#fff;
  border:1px solid rgba(122,116,110,.14);
}
.promotion-publish-checklist-items .is-ok{color:#4F5855;background:rgba(89,97,95,.10)}
.promotion-publish-checklist-items .is-warn{color:#9A744F;background:rgba(154,116,79,.12)}
.promotion-publish-checklist-items .is-error{color:#9A554F;background:rgba(154,85,79,.12)}
.promotion-benefit-manager{
  padding:13px!important;
}
.promotion-benefit-manager-head{
  align-items:center!important;
}
.promotion-benefit-row-compact{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden;
}
.promotion-benefit-row-summary{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
}
.promotion-benefit-summary-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.promotion-benefit-summary-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#272522;
  font-size:13px;
  font-weight:900;
}
.promotion-benefit-summary-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7A746E;
  font-size:11.5px;
  line-height:1.35;
}
.promotion-benefit-summary-actions{
  display:flex;
  gap:5px;
  align-items:center;
}
.promotion-benefit-summary-actions .btn{
  min-height:30px;
  padding:6px 8px;
  font-size:11px;
}
.promotion-benefit-fields-panel{
  padding:0 10px 10px 54px;
}
.promotion-benefit-fields-panel[hidden]{display:none!important}
.promotion-benefit-row-compact .promotion-benefit-fields{
  padding-top:10px;
  border-top:1px dashed rgba(122,116,110,.16);
}
@media (max-width:720px){
  .promotion-editor-section-grid{grid-template-columns:1fr;padding:12px}
  .promotion-editor-section summary{display:grid;grid-template-columns:1fr auto}
  .promotion-benefit-row-summary{grid-template-columns:30px minmax(0,1fr);}
  .promotion-benefit-summary-actions{grid-column:1 / -1;justify-content:flex-end;}
  .promotion-benefit-fields-panel{padding:0 10px 10px;}
}


/* v3.10.181 프로모션 사용자 화면/관리자 CMS 마감 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-hero-detail .eyebrow,
html body.promotions-page-body:not(.admin-page) .notice-card .chip.green{
  font-weight:800!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-list{
  gap:6px!important;
}
html body.promotions-page-body:not(.admin-page) .notice-card{
  padding:14px!important;
  border-radius:18px!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-item{
  gap:9px!important;
  align-items:center!important;
  padding:8px 10px!important;
  min-height:42px!important;
  border-radius:12px!important;
  background:#fffaf8!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-icon{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-icon .bp-line-icon{
  width:15px!important;
  height:15px!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-item strong{
  font-size:13px!important;
  line-height:1.18!important;
  font-weight:800!important;
}
html body.promotions-page-body:not(.admin-page) .benefit-item span{
  display:block!important;
  margin-top:1px!important;
  font-size:11px!important;
  line-height:1.24!important;
  color:#7A746E!important;
}
html body.promotions-page-body:not(.admin-page) .detail-cta-card .btn.btn-primary,
html body.promotions-page-body:not(.admin-page) .detail-cta-card a.btn.btn-primary,
html body.promotions-page-body:not(.admin-page) .reservation-card.detail-cta-card > a.btn-primary{
  background:#5A554F!important;
  background-image:linear-gradient(180deg,#6A655F 0%,#4F5855 100%)!important;
  border-color:#5A554F!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(42,50,47,.16)!important;
}
.promotion-publish-checklist{
  border:1px solid rgba(79,88,85,.22)!important;
  background:linear-gradient(180deg,rgba(245,248,244,.96),rgba(255,255,255,.9))!important;
  box-shadow:0 10px 24px rgba(42,50,47,.08)!important;
}
.promotion-publish-checklist-head strong{
  color:#272522!important;
}
.promotion-publish-checklist-head span{
  color:#5A554F!important;
}
.promotion-inline-hero-section{
  margin-top:14px!important;
}
.promotion-inline-hero-grid{
  grid-template-columns:1fr!important;
}
.promotion-inline-hero-head{
  padding:0!important;
  box-shadow:none!important;
  border:0!important;
  background:transparent!important;
}
.promotion-inline-hero-head h3{
  font-size:16px!important;
}
.promotion-inline-hero-head p{
  margin-top:4px!important;
  font-size:12px!important;
  color:#7A746E!important;
}
@media (max-width:720px){
  html body.promotions-page-body:not(.admin-page) .benefit-item{
    padding:8px 9px!important;
  }
}


/* v3.10.181 프로모션 랜딩 카드 설명 CMS 연결 + 신청 CTA 색상 재보정 */
html body.promotions-page-body:not(.admin-page) .detail-cta-card .btn.btn-primary,
html body.promotions-page-body:not(.admin-page) .detail-cta-card a.btn.btn-primary,
html body.promotions-page-body:not(.admin-page) .reservation-card.detail-cta-card > a.btn-primary,
html body.promotions-page-body:not(.admin-page) a.btn.btn-primary[href*="reservation.html?source=promo"]{
  background:#5A554F!important;
  background-image:linear-gradient(180deg,#6A645E 0%,#5A554F 100%)!important;
  border-color:#5A554F!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(90,85,79,.18)!important;
}
html body.promotions-page-body:not(.admin-page) .detail-cta-card .btn.btn-primary:active,
html body.promotions-page-body:not(.admin-page) .detail-cta-card a.btn.btn-primary:active,
html body.promotions-page-body:not(.admin-page) .reservation-card.detail-cta-card > a.btn-primary:active,
html body.promotions-page-body:not(.admin-page) a.btn.btn-primary[href*="reservation.html?source=promo"]:active{
  background:#504B46!important;
  background-image:none!important;
}
.promotion-editor-grid [data-editor-field="landingDescription"]{
  min-height:72px;
}

/* v3.10.182 프로모션 선택 위치 조정 + 안내/혜택 카드 병합 */
html body.promotions-page-body:not(.admin-page) .promotion-hero-slider{
  margin-bottom:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-choice-section{
  margin-top:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-choice-head{
  margin-bottom:10px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-choice-head h2{
  font-size:22px!important;
  line-height:1.18!important;
  letter-spacing:-.055em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-choice-head p{
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:#7A746E!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-tabs{
  padding-bottom:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-section{
  margin-top:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.94)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
  display:grid!important;
  gap:8px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .eyebrow{
  width:max-content!important;
  margin:0!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(89,97,95,.10)!important;
  color:#5A554F!important;
  font-size:11.5px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
  margin:0!important;
  color:#272522!important;
  font-size:27px!important;
  line-height:1.15!important;
  letter-spacing:-.065em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .lead{
  margin:0!important;
  color:#6D6A65!important;
  font-size:14px!important;
  line-height:1.55!important;
  letter-spacing:-.035em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-top:2px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row .chip.green{
  margin:0!important;
  flex:0 0 auto!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row p{
  margin:0!important;
  color:#7A746E!important;
  font-size:11.5px!important;
  line-height:1.4!important;
  text-align:right!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
  margin-top:0!important;
}
@media (max-width:430px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
    padding:16px!important;
    gap:13px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
    font-size:25px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
    display:grid!important;
    justify-content:stretch!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row p{
    text-align:left!important;
  }
}

/* v3.10.183 프로모션 혜택 구성 2열 미니 카드 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
  display:block!important;
  padding-top:0!important;
  margin-top:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row .chip.green{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  margin:0 0 6px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(89,97,95,.09)!important;
  color:#5A554F!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row p{
  display:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:center!important;
  gap:5px 7px!important;
  min-height:74px!important;
  padding:10px!important;
  border-radius:14px!important;
  background:#fffaf8!important;
  border:1px solid rgba(202,181,163,.48)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
  grid-column:1!important;
  grid-row:1!important;
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
  border-radius:9px!important;
  background:#f3ece5!important;
  color:#9A765D!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon .bp-line-icon{
  width:14px!important;
  height:14px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item > div:last-child{
  min-width:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  display:block!important;
  font-size:12.5px!important;
  line-height:1.18!important;
  font-weight:800!important;
  color:#272522!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span{
  display:-webkit-box!important;
  grid-column:1 / -1!important;
  margin-top:0!important;
  color:#6F6A64!important;
  font-size:10.5px!important;
  line-height:1.28!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  grid-column:1 / -1!important;
  min-height:56px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  -webkit-line-clamp:1!important;
}
@media (max-width:360px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
    gap:7px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item{
    padding:9px!important;
    min-height:70px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
    font-size:12px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span{
    font-size:10px!important;
  }
}

/* v3.10.184 프로모션 혜택 이미지형 카드 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
  padding:18px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(250,247,242,.96) 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
  gap:7px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .lead{
  font-size:14px!important;
  line-height:1.48!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
  margin:4px 0 -2px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row .chip.green{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#272522!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:2px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  grid-column:auto!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:136px!important;
  padding:13px 10px 12px!important;
  border-radius:18px!important;
  text-align:center!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 76% 13%, rgba(255,255,255,.82) 0 17%, transparent 18%),
    linear-gradient(145deg, #fffaf7 0%, #f1e5dc 100%)!important;
  border:1px solid rgba(218,201,188,.72)!important;
  box-shadow:0 12px 24px rgba(90,85,79,.08), inset 0 1px 0 rgba(255,255,255,.74)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::before{
  content:""!important;
  position:absolute!important;
  inset:auto -18px -34px auto!important;
  width:88px!important;
  height:88px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.44)!important;
  pointer-events:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::after{
  content:""!important;
  position:absolute!important;
  inset:10px auto auto 10px!important;
  width:38px!important;
  height:38px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.35)!important;
  pointer-events:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="camera"]{
  background:
    radial-gradient(circle at 74% 16%, rgba(255,255,255,.84) 0 17%, transparent 18%),
    linear-gradient(145deg, #fff9f4 0%, #eaded5 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="frame"]{
  background:
    radial-gradient(circle at 72% 13%, rgba(255,255,255,.86) 0 17%, transparent 18%),
    linear-gradient(145deg, #fffaf6 0%, #eee1d4 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="file"]{
  background:
    radial-gradient(circle at 76% 13%, rgba(255,255,255,.84) 0 17%, transparent 18%),
    linear-gradient(145deg, #fbfaf4 0%, #e7e0d6 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="dress"]{
  background:
    radial-gradient(circle at 74% 13%, rgba(255,255,255,.86) 0 17%, transparent 18%),
    linear-gradient(145deg, #fff9f7 0%, #eadbd5 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="beauty"]{
  background:
    radial-gradient(circle at 74% 14%, rgba(255,255,255,.88) 0 17%, transparent 18%),
    linear-gradient(145deg, #fffaf5 0%, #ece1d7 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
  position:relative!important;
  z-index:1!important;
  flex:0 0 auto!important;
  width:54px!important;
  height:48px!important;
  margin:0 0 9px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.42)!important;
  color:#8E725F!important;
  box-shadow:0 10px 18px rgba(118,96,78,.08)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon .bp-line-icon{
  width:36px!important;
  height:36px!important;
  stroke-width:1.65!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-copy{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  min-width:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  display:block!important;
  margin:0!important;
  color:#272522!important;
  font-size:14px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  display:-webkit-box!important;
  margin-top:4px!important;
  color:#5F5B55!important;
  font-size:11.5px!important;
  line-height:1.28!important;
  letter-spacing:-.035em!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media (max-width:360px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
    padding:16px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
    gap:8px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
    min-height:126px!important;
    padding:12px 8px 11px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
    width:50px!important;
    height:44px!important;
    margin-bottom:8px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon .bp-line-icon{
    width:32px!important;
    height:32px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
    font-size:13px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span{
    font-size:10.8px!important;
  }
}

/* v3.10.185 프로모션 혜택 카드 상단 위계/텍스트 시인성 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
  position:relative!important;
  padding:18px!important;
  gap:12px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
  gap:6px!important;
  padding-top:2px!important;
  padding-right:90px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .eyebrow{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:86px!important;
  min-height:28px!important;
  margin:0!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(89,97,95,.09)!important;
  color:#5A554F!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
  margin:0!important;
  padding:0!important;
  font-size:25px!important;
  line-height:1.14!important;
  letter-spacing:-.065em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .lead{
  margin:2px 0 0!important;
  color:#5F5B55!important;
  font-size:13.5px!important;
  line-height:1.42!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
  margin:10px 0 4px!important;
  padding:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row .chip.green{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  min-height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#272522!important;
  font-size:15px!important;
  line-height:1.22!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
  gap:9px!important;
  margin-top:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  grid-column:auto!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-height:122px!important;
  padding:13px 12px 12px!important;
  text-align:left!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 82% 13%, rgba(255,255,255,.45) 0 14%, transparent 15%),
    linear-gradient(145deg, #fffaf7 0%, #f2e8df 100%)!important;
  border:1px solid rgba(208,189,174,.68)!important;
  box-shadow:0 8px 18px rgba(90,85,79,.065), inset 0 1px 0 rgba(255,255,255,.72)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  width:calc((100% - 9px) / 2)!important;
  justify-self:center!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::before{
  width:66px!important;
  height:66px!important;
  inset:auto -24px -30px auto!important;
  background:rgba(255,255,255,.24)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::after{
  width:30px!important;
  height:30px!important;
  inset:8px auto auto 8px!important;
  background:rgba(255,255,255,.18)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
  position:relative!important;
  z-index:1!important;
  width:40px!important;
  height:36px!important;
  margin:0 0 10px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.62)!important;
  color:#8B6D58!important;
  box-shadow:0 7px 14px rgba(118,96,78,.075)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon .bp-line-icon{
  width:24px!important;
  height:24px!important;
  stroke-width:1.8!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-copy{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  display:block!important;
  margin:0!important;
  color:#1F1E1B!important;
  font-size:14.5px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  display:-webkit-box!important;
  margin-top:4px!important;
  color:#4F4A45!important;
  font-size:12px!important;
  line-height:1.34!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media (max-width:360px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
    padding:16px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
    padding-right:82px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy .eyebrow{
    top:16px!important;
    right:16px!important;
    max-width:78px!important;
    padding:7px 9px!important;
    font-size:10.5px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
    font-size:23px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
    gap:8px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
    min-height:116px!important;
    padding:12px 10px 11px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
    width:calc((100% - 8px) / 2)!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
    width:38px!important;
    height:34px!important;
    margin-bottom:9px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon .bp-line-icon{
    width:22px!important;
    height:22px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
    font-size:13.5px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span{
    font-size:11.3px!important;
  }
}


/* v3.10.189 프로모션 혜택 카드 오브젝트형 디자인 재정리 */
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
  overflow:hidden!important;
  padding:18px!important;
  gap:16px!important;
  background:linear-gradient(145deg,#fffdfa 0%,#f8f3ec 100%)!important;
  border:1px solid rgba(218,206,194,.72)!important;
  box-shadow:0 18px 34px rgba(90,85,79,.08), inset 0 1px 0 rgba(255,255,255,.8)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card::before{
  content:"";
  position:absolute;
  inset:auto -40px -64px auto;
  width:170px;
  height:170px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(232,214,199,.34) 0%,rgba(232,214,199,0) 68%);
  pointer-events:none;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
  gap:6px!important;
  padding-top:0!important;
  padding-right:92px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .eyebrow{
  top:18px!important;
  right:18px!important;
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(218,206,194,.64)!important;
  color:#5A554F!important;
  box-shadow:0 8px 18px rgba(90,85,79,.045), inset 0 1px 0 rgba(255,255,255,.86)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
  font-size:25px!important;
  line-height:1.12!important;
  color:#272522!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-copy .lead{
  margin-top:2px!important;
  color:#625D57!important;
  font-size:13.4px!important;
  line-height:1.42!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-benefit-title-row{
  display:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:2px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  grid-column:auto!important;
  width:auto!important;
  justify-self:stretch!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:142px!important;
  padding:12px 9px 13px!important;
  text-align:center!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff9f4 0%,#f0dfd4 100%)!important;
  border:1px solid rgba(203,181,164,.58)!important;
  box-shadow:0 10px 20px rgba(90,85,79,.075), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:nth-child(odd):last-child{
  justify-self:start!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::before{
  content:"";
  position:absolute!important;
  z-index:0;
  width:74px!important;
  height:74px!important;
  inset:8px -18px auto auto!important;
  border-radius:999px;
  background:rgba(255,255,255,.34)!important;
  filter:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::after{
  content:"";
  position:absolute!important;
  z-index:0;
  width:44px!important;
  height:44px!important;
  inset:auto -14px -18px auto!important;
  border-radius:999px;
  background:rgba(255,255,255,.18)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="camera"]{
  background:linear-gradient(145deg,#fff8f3 0%,#ecd9cb 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="frame"]{
  background:linear-gradient(145deg,#fffaf5 0%,#eadccd 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="file"]{
  background:linear-gradient(145deg,#fffaf4 0%,#e8e0d7 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="dress"]{
  background:linear-gradient(145deg,#fff8f5 0%,#ead8d1 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="beauty"]{
  background:linear-gradient(145deg,#fff9f4 0%,#eadbd1 100%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-icon{
  display:none!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-object-wrap{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 8px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .promotion-benefit-object{
  width:92px!important;
  height:70px!important;
  display:block!important;
  overflow:visible!important;
  filter:drop-shadow(0 8px 10px rgba(90,85,79,.10));
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-copy{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  display:block!important;
  margin:0!important;
  color:#211F1C!important;
  font-size:14px!important;
  line-height:1.18!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  display:-webkit-box!important;
  margin-top:4px!important;
  color:#4F4A45!important;
  font-size:11.2px!important;
  line-height:1.26!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media (max-width:360px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
    padding:16px!important;
    gap:14px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy{
    padding-right:82px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-copy h1{
    font-size:23px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-list{
    gap:8px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
    min-height:132px!important;
    padding:10px 8px 12px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-object-wrap{
    height:52px!important;
    margin-bottom:7px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .promotion-benefit-object{
    width:82px!important;
    height:62px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
    font-size:13px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
    font-size:10.5px!important;
  }
}

/* v3.10.189 프로모션 혜택 오브젝트 카드 톤 통합 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card{
  background:linear-gradient(145deg,#fffefa 0%,#f8f5ef 46%,#f3f0ea 100%)!important;
  border:1px solid rgba(122,116,110,.16)!important;
  box-shadow:0 18px 34px rgba(90,85,79,.07), inset 0 1px 0 rgba(255,255,255,.86)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card::before{
  background:radial-gradient(circle,rgba(122,116,110,.075) 0%,rgba(122,116,110,0) 68%)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd),
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="camera"],
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="frame"],
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="file"],
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="dress"],
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item[data-benefit-visual="beauty"]{
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.62) 0 27%,transparent 28%),
    radial-gradient(circle at 92% 92%,rgba(122,116,110,.07) 0 25%,transparent 26%),
    linear-gradient(145deg,#fffbf7 0%,#f3eee7 100%)!important;
  border:1px solid rgba(122,116,110,.16)!important;
  box-shadow:0 10px 20px rgba(90,85,79,.065), inset 0 1px 0 rgba(255,255,255,.78)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::before{
  width:66px!important;
  height:66px!important;
  inset:8px -16px auto auto!important;
  background:rgba(255,255,255,.28)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item::after{
  width:38px!important;
  height:38px!important;
  inset:auto -12px -16px auto!important;
  background:rgba(122,116,110,.045)!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .promotion-benefit-object{
  filter:saturate(.82) sepia(.06) brightness(.98) drop-shadow(0 8px 10px rgba(90,85,79,.09))!important;
  opacity:.96!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  color:#272522!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  color:#5F5952!important;
}

/* v3.10.189 프로모션 혜택 카드 규격/타이포 보정 */
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:nth-child(odd):last-child,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
  grid-column:auto!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:142px!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.22!important;
  letter-spacing:-.045em!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
  margin-top:4px!important;
  font-size:12.8px!important;
  font-weight:500!important;
  line-height:1.34!important;
  letter-spacing:-.035em!important;
  color:#514B45!important;
}
html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-object-wrap{
  margin-bottom:7px!important;
}
@media (max-width:360px){
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:nth-child(odd):last-child,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd){
    min-height:132px!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item strong{
    font-size:13px!important;
    font-weight:700!important;
  }
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item span,
  html body.promotions-page-body:not(.admin-page) .promotion-info-benefit-card .benefit-item:last-child:nth-child(odd) span{
    font-size:12px!important;
    line-height:1.32!important;
  }
}

/* v3.10.190 gallery thumbnail square cover: list cards only, detail modal preserved */
.gallery-photo-card > img,
.service-gallery-card > img,
.branch-gallery-card > img{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:#f7f4ef!important;
}


.gallery-detail-modal .gallery-detail-modal-scroll img,
.gallery-url-preview-frame.detail img{
  aspect-ratio:auto!important;
  width:min(100%,760px)!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}

@media (max-width:430px){
  .gallery-detail-modal .gallery-detail-modal-scroll img{
    width:100%!important;
  }
}


/* v3.10.191 — 개인정보 처리방침 새 색상 테마 및 법적 정보 타이포 보정 */
body:not(.admin-page) .privacy-title-card{
  background:
    radial-gradient(circle at 88% 8%, rgba(122,116,110,.11), transparent 32%),
    linear-gradient(135deg,#fff,#fbfaf6 72%,#f3f0ea)!important;
  border-color:rgba(122,116,110,.14)!important;
}
body:not(.admin-page) .privacy-title-card::before{
  background:linear-gradient(90deg,#5A554F,#7A746E)!important;
}
body:not(.admin-page) .privacy-title-card h1{
  color:#272522!important;
}
body:not(.admin-page) .privacy-title-card p{
  color:#6F6962!important;
}
body:not(.admin-page) .privacy-meta span{
  background:#F8F6F1!important;
  border-color:rgba(122,116,110,.16)!important;
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-mobile-guide{
  border-color:rgba(122,116,110,.14)!important;
  border-left-color:#5A554F!important;
  background:#fff!important;
  box-shadow:0 12px 26px rgba(90,85,79,.07)!important;
}
body:not(.admin-page) .privacy-mobile-guide strong{
  background:#EEF2ED!important;
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-mobile-guide span{
  color:#6F6962!important;
}
body:not(.admin-page) .privacy-controls{
  background:#fff!important;
  border-color:rgba(122,116,110,.14)!important;
  box-shadow:0 12px 26px rgba(90,85,79,.07)!important;
}
body:not(.admin-page) .privacy-controls button{
  background:#F3F0EA!important;
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-controls button:first-child{
  background:#5A554F!important;
  color:#fff!important;
}
body:not(.admin-page) .privacy-toc{
  background:#fff!important;
  border-color:rgba(122,116,110,.14)!important;
  box-shadow:0 12px 26px rgba(90,85,79,.07)!important;
}
body:not(.admin-page) .privacy-toc-title{
  color:#3F4A45!important;
}
body:not(.admin-page) .privacy-toc a{
  background:#F8F6F1!important;
  border-color:rgba(122,116,110,.16)!important;
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-section{
  background:#fff!important;
  border-color:rgba(122,116,110,.14)!important;
  box-shadow:0 12px 26px rgba(90,85,79,.07)!important;
}
body:not(.admin-page) .privacy-details summary{
  background:linear-gradient(135deg,#fff,#FBFAF6)!important;
  border-bottom-color:rgba(122,116,110,.14)!important;
}
body:not(.admin-page) .privacy-details summary::before,
body:not(.admin-page) .privacy-article-heading::before{
  background:#5A554F!important;
}
body:not(.admin-page) .privacy-section-num,
body:not(.admin-page) .privacy-article-heading span{
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-section-title-text,
body:not(.admin-page) .privacy-article-heading strong{
  color:#272522!important;
}
body:not(.admin-page) .privacy-details summary em{
  background:#F3F0EA!important;
  color:#5A554F!important;
  border-color:rgba(122,116,110,.18)!important;
}
body:not(.admin-page) .privacy-article-heading{
  border-bottom-color:rgba(122,116,110,.14)!important;
}
body:not(.admin-page) .privacy-p,
body:not(.admin-page) .privacy-doc-list li,
body:not(.admin-page) .privacy-detail-body > p{
  color:#3A3732!important;
}
body:not(.admin-page) .privacy-doc-list li::marker{
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-bullet{
  border-left-color:rgba(90,85,79,.22)!important;
}
body:not(.admin-page) .privacy-bullet::before{
  background:#5A554F!important;
}
body:not(.admin-page) .privacy-table-helper{
  background:#EEF2ED!important;
  color:#4C554F!important;
  border-color:rgba(122,116,110,.16)!important;
}
body:not(.admin-page) .privacy-table-helper span{
  color:#7A746E!important;
}
body:not(.admin-page) .precise-table-wrap{
  border-color:rgba(122,116,110,.16)!important;
}
body:not(.admin-page) .precise-table-wrap::after{
  background:rgba(90,85,79,.92)!important;
}
body:not(.admin-page) .precise-privacy-table th,
body:not(.admin-page) .precise-privacy-table td{
  border-color:rgba(122,116,110,.16)!important;
}
body:not(.admin-page) .precise-privacy-table th,
body:not(.admin-page) .precise-privacy-table tr:first-child td{
  background:#F3F0EA!important;
  color:#4C554F!important;
}
body:not(.admin-page) .precise-privacy-table td{
  color:#3A3732!important;
}
body:not(.admin-page) .precise-privacy-table tbody tr:nth-child(even) td{
  background:#FBFAF6!important;
}
body:not(.admin-page) .privacy-footer{
  background:#fff!important;
  border-color:rgba(122,116,110,.14)!important;
  box-shadow:0 12px 26px rgba(90,85,79,.07)!important;
}
body:not(.admin-page) .privacy-footer p,
body:not(.admin-page) .privacy-footer .privacy-footer-contact,
body:not(.admin-page) .privacy-footer .footer-operator-legal{
  color:#7A746E!important;
  font-size:11px!important;
  line-height:1.52!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
body:not(.admin-page) .privacy-footer p strong{
  display:inline-block!important;
  color:#272522!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
  margin-bottom:3px!important;
}
body:not(.admin-page) .privacy-footer .footer-links a{
  background:#F3F0EA!important;
  color:#5A554F!important;
  border:1px solid rgba(122,116,110,.12)!important;
}
@media (max-width:430px){
  body:not(.admin-page) .privacy-section-title-text{
    font-size:19px!important;
  }
  body:not(.admin-page) .privacy-footer p,
  body:not(.admin-page) .privacy-footer .privacy-footer-contact,
  body:not(.admin-page) .privacy-footer .footer-operator-legal{
    font-size:10.8px!important;
  }
}

/* v3.10.193 — 개인정보 처리방침 상단 사용자 노출 정보 정리 */
body:not(.admin-page) .privacy-title-card{
  padding:24px 20px 22px!important;
}
body:not(.admin-page) .privacy-title-card .product-eyebrow{
  color:#7A746E!important;
}
body:not(.admin-page) .privacy-title-card h1{
  margin-top:9px!important;
}
body:not(.admin-page) .privacy-title-card p{
  margin-top:10px!important;
  font-size:13.2px!important;
  line-height:1.65!important;
}
body:not(.admin-page) .privacy-meta{
  margin-top:14px!important;
}
body:not(.admin-page) .privacy-meta span{
  padding:7px 11px!important;
  font-size:11.2px!important;
  font-weight:800!important;
}
body:not(.admin-page) .privacy-mobile-guide{
  align-items:center!important;
  padding:12px 14px!important;
  gap:9px!important;
}
body:not(.admin-page) .privacy-mobile-guide strong{
  padding:6px 10px!important;
  font-size:11.2px!important;
  font-weight:800!important;
}
body:not(.admin-page) .privacy-mobile-guide span{
  font-size:12.2px!important;
  line-height:1.56!important;
}
@media (max-width:430px){
  body:not(.admin-page) .privacy-title-card{
    padding:22px 18px 20px!important;
  }
  body:not(.admin-page) .privacy-title-card h1{
    font-size:25px!important;
  }
  body:not(.admin-page) .privacy-mobile-guide{
    display:flex!important;
  }
}


/* v3.10.193 — 개인정보 처리방침 마감 보정: 중복 메뉴 제거/상단 라인 완화/조항 제목 무게 조정 */
body:not(.admin-page) .privacy-page{
  padding-bottom:128px!important;
}
body:not(.admin-page) .privacy-title-card::before{
  height:2px!important;
  opacity:.58!important;
  background:linear-gradient(90deg,rgba(90,85,79,.68),rgba(122,116,110,.34))!important;
}
body:not(.admin-page) .privacy-mobile-guide{
  border-left-color:rgba(122,116,110,.18)!important;
  border-left-width:1px!important;
  box-shadow:0 10px 22px rgba(90,85,79,.055)!important;
}
body:not(.admin-page) .privacy-mobile-guide strong{
  background:#EEF2ED!important;
  color:#4F5A54!important;
}
body:not(.admin-page) .privacy-details summary{
  padding:16px 18px 15px!important;
}
body:not(.admin-page) .privacy-details summary::before{
  width:4px!important;
  min-height:38px!important;
  background:rgba(90,85,79,.72)!important;
}
body:not(.admin-page) .privacy-section-num{
  font-size:12.4px!important;
  font-weight:800!important;
  color:#5A554F!important;
}
body:not(.admin-page) .privacy-section-title-text{
  font-size:18px!important;
  line-height:1.36!important;
  font-weight:800!important;
  letter-spacing:-.052em!important;
  color:#272522!important;
}
body:not(.admin-page) .privacy-details summary em{
  padding:6px 8px!important;
  font-size:10.5px!important;
  font-weight:800!important;
}
body:not(.admin-page) .privacy-footer{
  margin-bottom:104px!important;
}
@media (max-width:430px){
  body:not(.admin-page) .privacy-title-card::before{
    height:2px!important;
  }
  body:not(.admin-page) .privacy-mobile-guide{
    border-left-width:1px!important;
  }
  body:not(.admin-page) .privacy-details summary{
    padding:15px 16px 14px!important;
  }
  body:not(.admin-page) .privacy-section-title-text{
    font-size:17px!important;
    line-height:1.38!important;
    font-weight:800!important;
  }
  body:not(.admin-page) .privacy-section-num{
    font-size:12px!important;
  }
}


/* v3.10.194 — 개인정보 처리방침 하단 간격/기업정보 버튼 정리
   - 조항 리스트와 기업정보 카드 사이 과도한 여백 축소
   - 하단 고정 내비 보호 여백은 기업정보 카드 아래쪽으로만 유지
   - 개인정보 처리방침 페이지 내 기업정보 카드의 중복 이동 버튼 제거 */
body:not(.admin-page) .privacy-page{
  padding-bottom:36px!important;
}
body:not(.admin-page) .privacy-article.structured{
  margin-bottom:0!important;
}
body:not(.admin-page) .privacy-article.structured > .privacy-section:last-child,
body:not(.admin-page) .privacy-article.structured > .privacy-details:last-child{
  margin-bottom:0!important;
}
body:not(.admin-page) .privacy-footer{
  margin-top:0!important;
  margin-bottom:calc(112px + env(safe-area-inset-bottom))!important;
}
body:not(.admin-page) .privacy-footer .footer-links{
  display:none!important;
}
@media (max-width:430px){
  body:not(.admin-page) .privacy-page{
    padding-bottom:32px!important;
  }
  body:not(.admin-page) .privacy-footer{
    margin-bottom:calc(108px + env(safe-area-inset-bottom))!important;
  }
}

/* v3.10.197 multilingual UI phase 1 */
.menu-language-block{
  margin-top:12px;
  padding:12px 12px 11px;
  border:1px solid rgba(122,116,110,.16);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,245,240,.86));
}
.menu-language-block>b{
  display:block;
  margin:0 0 8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7A746E;
}
.menu-language-selector{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.lang-chip{
  min-height:34px;
  border:1px solid rgba(122,116,110,.18);
  border-radius:999px;
  background:#fff;
  color:#5A554F;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
}
.lang-chip.is-active{
  border-color:#5A554F;
  background:#5A554F;
  color:#fff;
  box-shadow:0 8px 18px rgba(90,85,79,.15);
}
.lang-chip:active{transform:translateY(1px)}
html[data-lang="en"] body,
html[data-lang="zh-CN"] body,
html[data-lang="ja"] body{
  word-break:keep-all;
}
html[data-lang="en"] .bottom-nav a,
html[data-lang="zh-CN"] .bottom-nav a,
html[data-lang="ja"] .bottom-nav a{
  font-size:10.5px;
}
html[data-lang="en"] .menu-pop-card b,
html[data-lang="zh-CN"] .menu-pop-card b,
html[data-lang="ja"] .menu-pop-card b{
  font-size:12.5px;
  line-height:1.25;
}

/* v3.10.198 i18n 2-1: 관리자 다국어 입력 보조 UI */
.promotion-benefit-i18n{margin-top:10px;padding:12px;border:1px solid rgba(122,116,110,.16);border-radius:14px;background:#faf8f3;display:grid;gap:10px}.promotion-benefit-i18n>strong{font-size:13px;color:#272522}.promotion-benefit-i18n>small{margin-top:-6px;font-size:12px;color:#7a746e}.promotion-benefit-i18n-grid{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:start}.promotion-benefit-i18n-grid>span{font-size:12px;font-weight:800;color:#5a554f;padding-top:10px}.promotion-benefit-i18n-grid textarea{grid-column:2/3;min-height:54px}@media(max-width:640px){.promotion-benefit-i18n-grid{grid-template-columns:1fr}.promotion-benefit-i18n-grid textarea{grid-column:auto}.promotion-benefit-i18n-grid>span{padding-top:0}}

/* v3.10.203 CMS auto translation controls */
.cms-translate-btn{
  background:rgba(122,116,110,.10)!important;
  color:#4f5d57!important;
  border:1px solid rgba(122,116,110,.18)!important;
  box-shadow:none!important;
}
.cms-translate-btn.secondary{
  background:rgba(155,81,72,.08)!important;
  color:#7a514a!important;
  border-color:rgba(155,81,72,.18)!important;
}
.cms-translate-btn:disabled{
  opacity:.48;
  cursor:not-allowed;
}


/* v3.10.208 PC hamburger language chip click guard */
.menu-action-sheet.menu-anchor-popover .menu-sheet-panel{
  z-index:2;
  pointer-events:auto;
}
.menu-action-sheet.menu-anchor-popover .menu-language-block,
.menu-action-sheet.menu-anchor-popover .menu-language-selector,
.menu-action-sheet.menu-anchor-popover .lang-chip{
  position:relative;
  z-index:3;
  pointer-events:auto;
}

/* v3.10.217 admin home i18n expansion */
.admin-page .home-i18n-panel{
  grid-column:1 / -1;
  margin:6px 0 10px;
  border:1px solid rgba(80,68,58,.12);
  border-radius:14px;
  background:rgba(255,255,255,.62);
  overflow:hidden;
}
.admin-page .home-i18n-panel summary{
  cursor:pointer;
  padding:10px 12px;
  font-weight:800;
  color:#51463f;
  background:rgba(250,247,241,.78);
}
.admin-page .home-i18n-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:12px;
}
.admin-page .home-i18n-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));}
.admin-page .home-i18n-grid .field-label.mini{font-size:12px;gap:6px;margin:0;}
.admin-page .home-i18n-actions{
  margin:12px 0;
  padding:12px;
  border-radius:16px;
  background:rgba(246,241,233,.8);
}
@media (max-width:760px){
  .admin-page .home-i18n-grid,
  .admin-page .home-i18n-grid.compact{grid-template-columns:1fr;}
}

/* v3.10.218 package component multilingual editor */
.package-component-i18n-panel{
  margin-top:4px;
  padding:10px 12px;
  border-radius:18px;
  border:1px solid #ead8c7;
  background:#fffaf5;
}
.package-component-i18n-panel summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:#3b3028;
  font-weight:800;
}
.package-component-i18n-panel summary small{
  color:#8c7a70;
  font-size:11px;
  font-weight:600;
}
.package-component-i18n-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.package-component-i18n-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:#fff;
  border:1px solid #efe2d8;
}
.package-component-i18n-card > b,
.package-component-i18n-card .full-span{
  grid-column:1 / -1;
}
@media (max-width: 720px){
  .package-component-i18n-card{
    grid-template-columns:1fr;
  }
}

/* v3.10.219 branch gallery category i18n admin fields */
.branch-gallery-group-i18n-panel{
  grid-column:1 / -1;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid rgba(54,49,43,.10);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
.branch-gallery-group-i18n-panel summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:800;
}
.branch-gallery-group-i18n-panel summary small{
  color:#8a8177;
  font-weight:700;
}
.branch-gallery-group-i18n-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
@media (max-width:720px){
  .branch-gallery-group-i18n-grid{grid-template-columns:1fr;}
}


/* v3.10.224 reservation guide i18n / long-title wrap guard */
.reservation-page-body .reservation-hero-detail .hero-body h1,
.reservation-page-body .section-head h2,
.reservation-page-body .flow-item strong,
.reservation-page-body .flow-item span{
  overflow-wrap:anywhere;
  word-break:keep-all;
}

/* v3.10.240 비국문 페이지 전용 레이아웃 안정화
   원칙: 국문 페이지 구조/디자인은 유지하고, en/zh-CN/ja/vi/th에서만 긴 문구 잘림과 하단 네비 겹침을 보정합니다. */
html[data-lang="en"] body:not(.admin-page),
html[data-lang="zh-CN"] body:not(.admin-page),
html[data-lang="ja"] body:not(.admin-page),
html[data-lang="vi"] body:not(.admin-page),
html[data-lang="th"] body:not(.admin-page),
html[lang="en"] body:not(.admin-page),
html[lang="zh-CN"] body:not(.admin-page),
html[lang="ja"] body:not(.admin-page),
html[lang="vi"] body:not(.admin-page),
html[lang="th"] body:not(.admin-page){
  --i18n-title-scale:.94;
  --i18n-body-scale:.96;
  --i18n-bottom-safe:132px;
}
html[data-lang="vi"] body:not(.admin-page),
html[data-lang="th"] body:not(.admin-page),
html[lang="vi"] body:not(.admin-page),
html[lang="th"] body:not(.admin-page){
  --i18n-title-scale:.90;
  --i18n-body-scale:.94;
}
html[data-lang="en"] body:not(.admin-page) .phone main,
html[data-lang="zh-CN"] body:not(.admin-page) .phone main,
html[data-lang="ja"] body:not(.admin-page) .phone main,
html[data-lang="vi"] body:not(.admin-page) .phone main,
html[data-lang="th"] body:not(.admin-page) .phone main,
html[lang="en"] body:not(.admin-page) .phone main,
html[lang="zh-CN"] body:not(.admin-page) .phone main,
html[lang="ja"] body:not(.admin-page) .phone main,
html[lang="vi"] body:not(.admin-page) .phone main,
html[lang="th"] body:not(.admin-page) .phone main{
  padding-bottom:calc(var(--i18n-bottom-safe) + env(safe-area-inset-bottom,0px))!important;
}
html[data-lang="en"] body:not(.admin-page) .section-head h2,
html[data-lang="zh-CN"] body:not(.admin-page) .section-head h2,
html[data-lang="ja"] body:not(.admin-page) .section-head h2,
html[data-lang="vi"] body:not(.admin-page) .section-head h2,
html[data-lang="th"] body:not(.admin-page) .section-head h2,
html[lang="en"] body:not(.admin-page) .section-head h2,
html[lang="zh-CN"] body:not(.admin-page) .section-head h2,
html[lang="ja"] body:not(.admin-page) .section-head h2,
html[lang="vi"] body:not(.admin-page) .section-head h2,
html[lang="th"] body:not(.admin-page) .section-head h2{
  font-size:calc(22px * var(--i18n-title-scale));
  line-height:1.18;
  letter-spacing:-.045em;
  overflow-wrap:break-word;
}
html[data-lang="en"] body:not(.admin-page) .section-head p,
html[data-lang="zh-CN"] body:not(.admin-page) .section-head p,
html[data-lang="ja"] body:not(.admin-page) .section-head p,
html[data-lang="vi"] body:not(.admin-page) .section-head p,
html[data-lang="th"] body:not(.admin-page) .section-head p,
html[lang="en"] body:not(.admin-page) .section-head p,
html[lang="zh-CN"] body:not(.admin-page) .section-head p,
html[lang="ja"] body:not(.admin-page) .section-head p,
html[lang="vi"] body:not(.admin-page) .section-head p,
html[lang="th"] body:not(.admin-page) .section-head p{
  font-size:calc(13px * var(--i18n-body-scale));
  line-height:1.55;
  overflow-wrap:break-word;
}
html[data-lang="en"] body:not(.admin-page) .section-head a,
html[data-lang="zh-CN"] body:not(.admin-page) .section-head a,
html[data-lang="ja"] body:not(.admin-page) .section-head a,
html[data-lang="vi"] body:not(.admin-page) .section-head a,
html[data-lang="th"] body:not(.admin-page) .section-head a,
html[data-lang="en"] body:not(.admin-page) .section-head button,
html[data-lang="zh-CN"] body:not(.admin-page) .section-head button,
html[data-lang="ja"] body:not(.admin-page) .section-head button,
html[data-lang="vi"] body:not(.admin-page) .section-head button,
html[data-lang="th"] body:not(.admin-page) .section-head button,
html[lang="en"] body:not(.admin-page) .section-head a,
html[lang="zh-CN"] body:not(.admin-page) .section-head a,
html[lang="ja"] body:not(.admin-page) .section-head a,
html[lang="vi"] body:not(.admin-page) .section-head a,
html[lang="th"] body:not(.admin-page) .section-head a,
html[lang="en"] body:not(.admin-page) .section-head button,
html[lang="zh-CN"] body:not(.admin-page) .section-head button,
html[lang="ja"] body:not(.admin-page) .section-head button,
html[lang="vi"] body:not(.admin-page) .section-head button,
html[lang="th"] body:not(.admin-page) .section-head button{
  font-size:13px;
  line-height:1.2;
}
html[data-lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[data-lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[data-lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card,
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card{
  min-height:178px!important;
  height:178px!important;
  padding:19px 16px 16px!important;
}
html[data-lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[data-lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[data-lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon),
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card > div:not(.service-icon){
  justify-content:flex-start;
  gap:12px;
  max-width:100%;
}
html[data-lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[data-lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[data-lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong{
  font-size:21px!important;
  line-height:1.13!important;
  letter-spacing:-.045em!important;
  overflow-wrap:break-word;
}
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong,
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card strong{
  font-size:20px!important;
  line-height:1.16!important;
}
html[data-lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[data-lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[data-lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card span,
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card span{
  max-width:122px!important;
  min-height:auto!important;
  font-size:11.8px!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
html[data-lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[data-lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[data-lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[data-lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[data-lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[lang="en"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[lang="zh-CN"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[lang="ja"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[lang="vi"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon,
html[lang="th"] body:not(.admin-page) .home-page .home-quick-section .quick-card .service-icon{
  width:62px!important;
  height:62px!important;
  right:10px!important;
  bottom:10px!important;
  opacity:.72;
}
html[data-lang="en"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[data-lang="zh-CN"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[data-lang="ja"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[data-lang="vi"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[data-lang="th"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[lang="en"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[lang="zh-CN"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[lang="ja"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[lang="vi"] body:not(.admin-page) .home-gallery-feature .section-head h2,
html[lang="th"] body:not(.admin-page) .home-gallery-feature .section-head h2{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.16!important;
}
html[data-lang="en"] body:not(.admin-page) .home-recommend-card > p,
html[data-lang="zh-CN"] body:not(.admin-page) .home-recommend-card > p,
html[data-lang="ja"] body:not(.admin-page) .home-recommend-card > p,
html[data-lang="vi"] body:not(.admin-page) .home-recommend-card > p,
html[data-lang="th"] body:not(.admin-page) .home-recommend-card > p,
html[lang="en"] body:not(.admin-page) .home-recommend-card > p,
html[lang="zh-CN"] body:not(.admin-page) .home-recommend-card > p,
html[lang="ja"] body:not(.admin-page) .home-recommend-card > p,
html[lang="vi"] body:not(.admin-page) .home-recommend-card > p,
html[lang="th"] body:not(.admin-page) .home-recommend-card > p{
  -webkit-line-clamp:4;
  line-height:1.45;
}
html[data-lang="en"] body:not(.admin-page) .tab,
html[data-lang="zh-CN"] body:not(.admin-page) .tab,
html[data-lang="ja"] body:not(.admin-page) .tab,
html[data-lang="vi"] body:not(.admin-page) .tab,
html[data-lang="th"] body:not(.admin-page) .tab,
html[lang="en"] body:not(.admin-page) .tab,
html[lang="zh-CN"] body:not(.admin-page) .tab,
html[lang="ja"] body:not(.admin-page) .tab,
html[lang="vi"] body:not(.admin-page) .tab,
html[lang="th"] body:not(.admin-page) .tab{
  font-size:12px;
  line-height:1.15;
}
html[data-lang="en"] body:not(.admin-page) .bottom-nav a,
html[data-lang="zh-CN"] body:not(.admin-page) .bottom-nav a,
html[data-lang="ja"] body:not(.admin-page) .bottom-nav a,
html[data-lang="vi"] body:not(.admin-page) .bottom-nav a,
html[data-lang="th"] body:not(.admin-page) .bottom-nav a,
html[data-lang="en"] body:not(.admin-page) .bottom-nav button,
html[data-lang="zh-CN"] body:not(.admin-page) .bottom-nav button,
html[data-lang="ja"] body:not(.admin-page) .bottom-nav button,
html[data-lang="vi"] body:not(.admin-page) .bottom-nav button,
html[data-lang="th"] body:not(.admin-page) .bottom-nav button,
html[lang="en"] body:not(.admin-page) .bottom-nav a,
html[lang="zh-CN"] body:not(.admin-page) .bottom-nav a,
html[lang="ja"] body:not(.admin-page) .bottom-nav a,
html[lang="vi"] body:not(.admin-page) .bottom-nav a,
html[lang="th"] body:not(.admin-page) .bottom-nav a,
html[lang="en"] body:not(.admin-page) .bottom-nav button,
html[lang="zh-CN"] body:not(.admin-page) .bottom-nav button,
html[lang="ja"] body:not(.admin-page) .bottom-nav button,
html[lang="vi"] body:not(.admin-page) .bottom-nav button,
html[lang="th"] body:not(.admin-page) .bottom-nav button{
  font-size:10.5px!important;
  line-height:1.15;
  word-break:keep-all;
}
/* v3.10.241 일본어 페이지 전용 오버플로우 보정
   원칙: 국문 페이지 구조/디자인은 유지하고, 일본어(lang=ja/data-lang=ja)에서만
   섹션 우측 링크·2열 버튼·카드 내부 텍스트가 화면 밖으로 밀리는 문제를 보정합니다. */
html[data-lang="ja"] body:not(.admin-page) .section-head,
html[lang="ja"] body:not(.admin-page) .section-head,
html[data-lang="ja"] body:not(.admin-page) .compact-section-head,
html[lang="ja"] body:not(.admin-page) .compact-section-head{
  min-width:0;
  max-width:100%;
}

html[data-lang="ja"] body:not(.admin-page) .section-head > div,
html[lang="ja"] body:not(.admin-page) .section-head > div,
html[data-lang="ja"] body:not(.admin-page) .compact-section-head > div,
html[lang="ja"] body:not(.admin-page) .compact-section-head > div{
  min-width:0;
  flex:1 1 auto;
}

html[data-lang="ja"] body:not(.admin-page) .section-head > a,
html[lang="ja"] body:not(.admin-page) .section-head > a,
html[data-lang="ja"] body:not(.admin-page) .section-head > button,
html[lang="ja"] body:not(.admin-page) .section-head > button,
html[data-lang="ja"] body:not(.admin-page) .compact-section-head > a,
html[lang="ja"] body:not(.admin-page) .compact-section-head > a,
html[data-lang="ja"] body:not(.admin-page) .compact-section-head > button,
html[lang="ja"] body:not(.admin-page) .compact-section-head > button{
  flex:0 1 auto;
  max-width:42%;
  min-width:0;
  white-space:normal!important;
  text-align:right;
  line-height:1.18;
  overflow-wrap:anywhere;
  word-break:normal;
}

html[data-lang="ja"] body:not(.admin-page) .cta-grid,
html[lang="ja"] body:not(.admin-page) .cta-grid,
html[data-lang="ja"] body:not(.admin-page) .dual-actions,
html[lang="ja"] body:not(.admin-page) .dual-actions{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-width:0;
  max-width:100%;
}

html[data-lang="ja"] body:not(.admin-page) .cta-grid > *,
html[lang="ja"] body:not(.admin-page) .cta-grid > *,
html[data-lang="ja"] body:not(.admin-page) .dual-actions > *,
html[lang="ja"] body:not(.admin-page) .dual-actions > *{
  min-width:0;
  max-width:100%;
}

html[data-lang="ja"] body:not(.admin-page) .btn,
html[lang="ja"] body:not(.admin-page) .btn,
html[data-lang="ja"] body:not(.admin-page) a.btn,
html[lang="ja"] body:not(.admin-page) a.btn,
html[data-lang="ja"] body:not(.admin-page) button.btn,
html[lang="ja"] body:not(.admin-page) button.btn,
html[data-lang="ja"] body:not(.admin-page) .branch-info-action-button,
html[lang="ja"] body:not(.admin-page) .branch-info-action-button{
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.16;
  text-align:center;
}

html[data-lang="ja"] body:not(.admin-page) .detail-cta-card,
html[lang="ja"] body:not(.admin-page) .detail-cta-card,
html[data-lang="ja"] body:not(.admin-page) .reservation-card,
html[lang="ja"] body:not(.admin-page) .reservation-card,
html[data-lang="ja"] body:not(.admin-page) .branch-card,
html[lang="ja"] body:not(.admin-page) .branch-card,
html[data-lang="ja"] body:not(.admin-page) .home-branch-card,
html[lang="ja"] body:not(.admin-page) .home-branch-card,
html[data-lang="ja"] body:not(.admin-page) .brand-card,
html[lang="ja"] body:not(.admin-page) .brand-card,
html[data-lang="ja"] body:not(.admin-page) .row-card,
html[lang="ja"] body:not(.admin-page) .row-card,
html[data-lang="ja"] body:not(.admin-page) .notice-card,
html[lang="ja"] body:not(.admin-page) .notice-card,
html[data-lang="ja"] body:not(.admin-page) .form-card,
html[lang="ja"] body:not(.admin-page) .form-card{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

html[data-lang="ja"] body:not(.admin-page) .detail-cta-card h2,
html[lang="ja"] body:not(.admin-page) .detail-cta-card h2,
html[data-lang="ja"] body:not(.admin-page) .detail-cta-card h3,
html[lang="ja"] body:not(.admin-page) .detail-cta-card h3,
html[data-lang="ja"] body:not(.admin-page) .reservation-card h2,
html[lang="ja"] body:not(.admin-page) .reservation-card h2,
html[data-lang="ja"] body:not(.admin-page) .reservation-card h3,
html[lang="ja"] body:not(.admin-page) .reservation-card h3,
html[data-lang="ja"] body:not(.admin-page) .home-branch-card h2,
html[lang="ja"] body:not(.admin-page) .home-branch-card h2,
html[data-lang="ja"] body:not(.admin-page) .home-branch-card h3,
html[lang="ja"] body:not(.admin-page) .home-branch-card h3{
  overflow-wrap:anywhere;
  word-break:normal;
}

html[data-lang="ja"] body:not(.admin-page) .home-branch-card .dual-actions .btn,
html[lang="ja"] body:not(.admin-page) .home-branch-card .dual-actions .btn,
html[data-lang="ja"] body:not(.admin-page) .detail-cta-card .dual-actions .btn,
html[lang="ja"] body:not(.admin-page) .detail-cta-card .dual-actions .btn,
html[data-lang="ja"] body:not(.admin-page) .reservation-card .dual-actions .btn,
html[lang="ja"] body:not(.admin-page) .reservation-card .dual-actions .btn{
  padding-left:10px;
  padding-right:10px;
  font-size:13px;
}

html[data-lang="ja"] body:not(.admin-page) .home-branch-section,
html[lang="ja"] body:not(.admin-page) .home-branch-section,
html[data-lang="ja"] body:not(.admin-page) .home-video-section,
html[lang="ja"] body:not(.admin-page) .home-video-section,
html[data-lang="ja"] body:not(.admin-page) .service-video-section,
html[lang="ja"] body:not(.admin-page) .service-video-section{
  overflow-x:hidden;
}

html[data-lang="ja"] body:not(.admin-page) .home-call-box,
html[lang="ja"] body:not(.admin-page) .home-call-box{
  min-width:0;
  max-width:100%;
}

html[data-lang="ja"] body:not(.admin-page) .home-call-box span,
html[lang="ja"] body:not(.admin-page) .home-call-box span{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* 일본어 하단 네비게이션은 글자 수가 길어도 버튼 영역을 밀지 않게만 보정 */
html[data-lang="ja"] body:not(.admin-page) .bottom-nav,
html[lang="ja"] body:not(.admin-page) .bottom-nav{
  overflow:hidden;
}

html[data-lang="ja"] body:not(.admin-page) .bottom-nav a,
html[lang="ja"] body:not(.admin-page) .bottom-nav a,
html[data-lang="ja"] body:not(.admin-page) .bottom-nav button,
html[lang="ja"] body:not(.admin-page) .bottom-nav button{
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
/* v3.10.242 공개 이미지 다운로드 방지 보강
   목적: 공개 사용자 화면에서 이미지 길게 누르기/우클릭/드래그/복사 메뉴를 억제합니다.
   주의: 원본 파일 보호/스토리지 비공개/워터마크 등 별도 권장 항목은 포함하지 않습니다. */
body:not(.admin-page) [data-protected-media],
body:not(.admin-page) .protected-media,
body:not(.admin-page) img[data-protected-image="true"]{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
  user-drag:none;
}

body:not(.admin-page) [data-protected-media] img,
body:not(.admin-page) .protected-media img,
body:not(.admin-page) img[data-protected-image="true"]{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
  user-drag:none;
  pointer-events:none;
}

body:not(.admin-page) [data-protected-media],
body:not(.admin-page) .protected-media{
  -webkit-tap-highlight-color:transparent;
}

body:not(.admin-page) [data-protected-media]::selection,
body:not(.admin-page) .protected-media::selection,
body:not(.admin-page) img[data-protected-image="true"]::selection{
  background:transparent;
}

/* SVG/아이콘은 보호 대상에서 제외하지만, 사진 컨테이너 내부 아이콘이 선택되는 것은 방지 */
body:not(.admin-page) [data-protected-media] svg,
body:not(.admin-page) .protected-media svg{
  -webkit-user-select:none;
  user-select:none;
}


/* v3.10.251 Guide Pick / Guides page */
.section-kicker{
  display:inline-flex;align-items:center;width:max-content;margin-bottom:6px;padding:6px 10px;border-radius:999px;
  background:rgba(143,106,78,.10);color:var(--pd);font-size:10px;font-weight:900;letter-spacing:.08em;
}
.home-guide-pick-section,
.guides-feature-section,
.guides-tab-section,
.guide-quick-section,
.guides-popular-section,
.guide-content-section{position:relative;}
.home-guide-pick-head{align-items:flex-start!important;}
.home-guide-all-link{white-space:nowrap;align-self:flex-start;margin-top:10px;}
.guide-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 4px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.guide-tabs::-webkit-scrollbar,.guide-card-rail::-webkit-scrollbar{display:none;}
.guide-tab{flex:0 0 auto;min-height:38px;border:1px solid rgba(141,111,82,.16);border-radius:999px;background:#fff;color:var(--muted);padding:0 13px;font-size:12px;font-weight:900;box-shadow:0 8px 22px rgba(67,46,27,.06);cursor:pointer;}
.guide-tab.is-active{background:var(--p);border-color:var(--p);color:#fff;}
.guide-hero-card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;align-items:stretch;padding:13px;border-radius:26px;background:rgba(255,255,255,.94);border:1px solid rgba(141,111,82,.16);box-shadow:0 16px 36px rgba(67,46,27,.09);overflow:hidden;}
.guide-card-visual{position:relative;min-height:152px;border-radius:21px;overflow:hidden;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.88),transparent 26%),linear-gradient(135deg,#f4eadf 0%,#d9c3ad 54%,#9b795e 100%);}
.guide-card-visual::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.62);border-radius:17px;}
.guide-card-visual::after{content:"";position:absolute;right:-22px;bottom:-28px;width:92px;height:92px;border-radius:999px;background:rgba(255,255,255,.28);}
.guide-card-visual-title{position:absolute;left:12px;bottom:12px;z-index:1;max-width:calc(100% - 24px);padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.86);color:var(--pd);font-size:11px;font-weight:900;line-height:1.2;letter-spacing:-.02em;}
.guide-hero-copy{min-width:0;display:grid;gap:8px;align-content:center;}
.guide-hero-badge{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;background:var(--a);color:var(--pd);font-size:11px;font-weight:900;}
.guide-hero-copy strong{font-size:19px;line-height:1.28;letter-spacing:-.055em;}
.guide-hero-copy p{color:var(--muted);font-size:12.5px;line-height:1.58;}
.guide-meta-row{display:flex;flex-wrap:wrap;gap:6px;}
.guide-meta-row span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f7f1ea;color:#7a6a5e;font-size:10.5px;font-weight:900;}
.guide-hero-cta{min-height:42px;border-radius:14px;font-size:12.5px;margin-top:2px;}
.guide-small-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.guide-small-card{min-width:0;text-align:left;border:1px solid rgba(141,111,82,.14);background:#fff;border-radius:20px;padding:9px;box-shadow:0 10px 24px rgba(67,46,27,.07);cursor:pointer;display:grid;gap:7px;}
.guide-small-card .guide-card-visual{min-height:74px;border-radius:15px;}
.guide-small-card .guide-card-visual-title{font-size:9.5px;padding:5px 7px;left:8px;bottom:8px;}
.guide-small-card > span{font-size:10px;font-weight:900;color:var(--pd);}
.guide-small-card strong{font-size:11.5px;line-height:1.36;letter-spacing:-.04em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.guide-small-card em{font-style:normal;color:var(--muted);font-size:10px;font-weight:800;}
.guides-page .phone{gap:16px;}
.guides-page-hero{border:0;background:linear-gradient(135deg,#fff 0%,#f6eee6 52%,#ead8c8 100%);box-shadow:0 16px 36px rgba(67,46,27,.08);}
.guide-page-intro{padding:28px 22px 26px;display:grid;gap:12px;}
.guide-page-intro h1{font-size:31px;letter-spacing:-.065em;}
.guide-page-tabs{padding-left:0;padding-right:0;}
.guide-page-main-card{grid-template-columns:1fr;}
.guide-page-main-card .guide-card-visual{min-height:210px;}
.guide-page-main-card .guide-hero-copy{padding:2px 2px 4px;}
.guide-page-main-card .guide-hero-copy strong{font-size:23px;}
.guide-page-small-list{grid-template-columns:1fr;}
.guide-page-small-list .guide-small-card{grid-template-columns:92px 1fr;align-items:center;}
.guide-page-small-list .guide-small-card .guide-card-visual{min-height:76px;grid-row:1 / span 3;}
.guide-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.guide-quick-grid a{min-height:44px;border-radius:999px;border:1px solid rgba(141,111,82,.13);background:#fff;box-shadow:0 9px 20px rgba(67,46,27,.06);display:grid;place-items:center;color:var(--pd);font-size:12px;font-weight:900;}
.guide-card-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 4px 8px;margin:0 -4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.guide-rail-card{flex:0 0 72%;scroll-snap-align:start;border:1px solid rgba(141,111,82,.14);background:#fff;border-radius:22px;box-shadow:0 14px 30px rgba(67,46,27,.08);overflow:hidden;}
.guide-rail-card .guide-card-visual{min-height:132px;border-radius:0;}
.guide-rail-card div:not(.guide-card-visual){display:grid;gap:6px;padding:13px;}
.guide-rail-card span{font-size:10.5px;font-weight:900;color:var(--pd);}
.guide-rail-card strong{font-size:14px;line-height:1.35;letter-spacing:-.04em;}
.guide-rail-card p{color:var(--muted);font-size:11.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.guide-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.guide-topic-grid.compact{grid-template-columns:1fr 1fr;}
.guide-topic-card{min-height:126px;display:grid;align-content:space-between;gap:8px;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(141,111,82,.14);box-shadow:0 12px 28px rgba(67,46,27,.07);}
.guide-topic-card span{width:max-content;max-width:100%;padding:6px 9px;border-radius:999px;background:var(--a);color:var(--pd);font-size:10px;font-weight:900;}
.guide-topic-card strong{font-size:15px;line-height:1.4;letter-spacing:-.04em;}
.guide-topic-card p{color:var(--muted);font-size:12px;line-height:1.55;}
.guide-soft-cta-card{display:grid;gap:10px;padding:20px;border-radius:26px;background:linear-gradient(135deg,#fff,#f4eadf);border:1px solid rgba(141,111,82,.16);box-shadow:0 15px 34px rgba(67,46,27,.08);}
.guide-soft-cta-card span{color:var(--pd);font-size:12px;font-weight:900;}
.guide-soft-cta-card strong{font-size:21px;line-height:1.35;letter-spacing:-.05em;}
.guide-soft-cta-card p{color:var(--muted);font-size:13px;line-height:1.6;}
.guide-soft-cta-card .btn{margin-top:2px;}
@media (max-width:390px){
  .guide-hero-card{grid-template-columns:112px minmax(0,1fr);gap:11px;padding:11px;}
  .guide-hero-copy strong{font-size:17px;}
  .guide-small-list{grid-template-columns:1fr;}
  .guide-small-card{grid-template-columns:86px 1fr;align-items:center;}
  .guide-small-card .guide-card-visual{grid-row:1 / span 3;}
  .guide-quick-grid{grid-template-columns:repeat(2,1fr);}
  .guide-topic-grid,.guide-topic-grid.compact{grid-template-columns:1fr;}
}
@media (min-width:760px){
  .guide-hero-card{grid-template-columns:170px minmax(0,1fr);}
  .guide-page-main-card{grid-template-columns:220px minmax(0,1fr);}
  .guide-page-main-card .guide-card-visual{min-height:230px;}
  .guide-rail-card{flex-basis:245px;}
}

/* v3.10.251 Guide Pick image-led refinement */
.home-guide-pick-section{
  display:grid;
  gap:12px;
  padding-top:24px;
  padding-bottom:22px;
}
.home-guide-pick-head{
  align-items:center!important;
  gap:12px;
  margin-bottom:0!important;
}
.home-guide-pick-head .section-kicker{
  margin-bottom:5px;
  background:rgba(37,39,43,.07);
  color:#6d645d;
}
.home-guide-pick-head h2{
  margin:0;
  letter-spacing:-.06em;
}
.home-guide-pick-head p{
  margin-top:4px!important;
  max-width:230px;
  font-size:12px!important;
  line-height:1.4!important;
}
.home-guide-all-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border:1px solid rgba(37,39,43,.11);
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:#4b4743;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(28,24,20,.06);
}
.home-guide-tabs{
  margin:2px -2px 0;
  padding:0 2px 4px;
}
.home-guide-tabs .guide-tab{
  min-height:36px;
  padding:0 14px;
  background:rgba(255,255,255,.78);
  border-color:rgba(37,39,43,.09);
  box-shadow:0 7px 16px rgba(28,24,20,.045);
}
.home-guide-tabs .guide-tab.is-active{
  background:#25272b;
  border-color:#25272b;
  color:#fff;
}
.home-guide-hero-card{
  display:block!important;
  grid-template-columns:none!important;
  padding:0!important;
  min-height:0;
  border:0!important;
  border-radius:28px!important;
  background:transparent!important;
  box-shadow:0 18px 42px rgba(32,28,24,.10)!important;
  overflow:hidden;
}
.guide-home-hero-media{
  position:relative;
  display:block;
  min-height:304px;
  border-radius:28px;
  overflow:hidden;
  background:#ede6df;
  color:#fff;
  isolation:isolate;
}
.guide-home-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(16,15,14,0) 38%,rgba(16,15,14,.34) 68%,rgba(16,15,14,.68) 100%);
  pointer-events:none;
}
.guide-card-visual{
  margin:0;
  background:#efe6dc;
}
.guide-card-visual img{
  display:block;
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
}
.guide-card-visual::before,
.guide-card-visual::after{
  display:none!important;
}
.guide-home-hero-media .guide-card-visual{
  position:absolute;
  inset:0;
  z-index:0;
  min-height:100%;
  border-radius:0;
}
.guide-home-hero-media .guide-card-visual-title{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  max-width:calc(100% - 32px);
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#3a332e;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.02em;
  backdrop-filter:blur(10px);
}
.guide-home-hero-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:grid;
  gap:9px;
  padding:26px 20px 20px;
  color:#fff;
}
.guide-home-hero-overlay .guide-hero-badge{
  width:max-content;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#302b27;
  font-size:11px;
  font-weight:900;
  backdrop-filter:blur(12px);
}
.guide-home-hero-overlay strong{
  max-width:92%;
  font-size:25px;
  line-height:1.18;
  letter-spacing:-.07em;
  text-shadow:0 8px 22px rgba(0,0,0,.28);
}
.guide-home-hero-overlay em{
  width:max-content;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.home-guide-small-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:12px;
  overflow-x:auto;
  margin:1px -4px 0;
  padding:2px 4px 8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.home-guide-small-list::-webkit-scrollbar{display:none;}
.home-guide-thumb-card{
  flex:0 0 31%;
  min-width:112px;
  max-width:138px;
  display:grid!important;
  gap:8px!important;
  align-content:start;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  background:transparent!important;
  box-shadow:none!important;
  scroll-snap-align:start;
}
.home-guide-thumb-card .guide-card-visual{
  position:relative;
  min-height:108px!important;
  border-radius:20px!important;
  overflow:hidden;
  box-shadow:0 12px 24px rgba(32,28,24,.09);
}
.home-guide-thumb-card .guide-card-visual-title{
  left:8px!important;
  bottom:8px!important;
  max-width:calc(100% - 16px)!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  color:#4a4139!important;
  font-size:9px!important;
  line-height:1!important;
  backdrop-filter:blur(8px);
}
.home-guide-thumb-card strong{
  padding:0 2px;
  font-size:12px!important;
  line-height:1.38!important;
  letter-spacing:-.045em;
  color:#2d2925;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-guide-thumb-card.is-active .guide-card-visual,
.home-guide-thumb-card:focus-visible .guide-card-visual{
  outline:2px solid #25272b;
  outline-offset:2px;
}
.guides-page .guides-feature-section{
  display:grid;
  gap:12px;
}
.guide-page-main-card{
  padding:0!important;
  grid-template-columns:1fr!important;
  overflow:hidden;
}
.guide-page-main-card .guide-card-visual{
  min-height:236px!important;
  border-radius:0!important;
}
.guide-page-main-card .guide-card-visual-title{
  left:14px;
  bottom:14px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#443a33;
  backdrop-filter:blur(10px);
}
.guide-page-main-card .guide-hero-copy{
  padding:16px;
}
.guide-page-small-list .guide-small-card .guide-card-visual{
  overflow:hidden;
}
.guide-rail-card .guide-card-visual{
  overflow:hidden;
}
@media (max-width:390px){
  .guide-home-hero-media{min-height:284px;}
  .guide-home-hero-overlay strong{font-size:22px;}
  .home-guide-thumb-card{flex-basis:34%;min-width:104px;}
  .home-guide-thumb-card .guide-card-visual{min-height:98px!important;}
}
@media (min-width:760px){
  .guide-home-hero-media{min-height:420px;}
  .home-guide-thumb-card{flex-basis:150px;}
}
/* v3.10.251 fixed visual heights for image-led guide cards */
.home-guide-thumb-card .guide-card-visual{height:108px;}
.guide-home-hero-media .guide-card-visual{height:100%;}
.guide-page-main-card .guide-card-visual{height:236px;}
.guide-rail-card .guide-card-visual{height:132px;}
.guide-page-small-list .guide-small-card .guide-card-visual{height:76px;}
@media (max-width:390px){
  .home-guide-thumb-card .guide-card-visual{height:98px;}
}
@media (min-width:760px){
  .guide-page-main-card .guide-card-visual{height:260px;}
}


/* v3.10.252 Guides square hero refinement */
.home-guide-hero-card .guide-home-hero-media{
  aspect-ratio:1/1;
  min-height:0!important;
  height:auto!important;
}
.home-guide-hero-card .guide-home-hero-media .guide-card-visual{
  height:100%!important;
  min-height:0!important;
}

.guides-page-body .page{
  display:block;
  padding:0 0 112px;
}
.guides-page-body .phone{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  gap:0!important;
}
.guides-page-body .header{
  position:absolute;
  top:0;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:100%;
  max-width:var(--max);
  z-index:26;
  padding:18px 22px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.guides-page-body .header .brand{
  display:none!important;
}
.guides-page-body .header .header-actions{
  margin-left:auto;
}
.guides-page-body .header .header-btn.primary{
  display:none!important;
}
.guides-page-body .header .menu-line-btn{
  position:relative;
  width:46px;
  height:46px;
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fffaf5;
}
.guides-page-body .header .menu-line-btn span[aria-hidden="true"]{
  display:block;
  width:30px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}
.guides-page-body .drawer{
  position:absolute;
  z-index:30;
  top:74px;
  left:18px;
  right:18px;
  max-width:calc(var(--max) - 36px);
  margin:0 auto;
}
.guides-page-body .public-detail-main{
  display:grid;
  gap:16px;
  padding-bottom:112px;
}
.guides-page-body .guides-hero-detail{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.guides-page-body .guides-hero-slider{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  min-height:0;
  height:auto;
  margin:0 0 18px;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  isolation:isolate;
  background:#d8c2b0;
  background-image:url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fgallery-default.svg?alt=media"),url("https://firebasestorage.googleapis.com/v0/b/babypastel-homepage.firebasestorage.app/o/site%2Fhero-backgrounds%2Fgallery-default.webp?alt=media"),linear-gradient(145deg,#ead8c7,#d8c2b0 54%,#b99678);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 20px 58px rgba(55,37,22,.18);
  touch-action:pan-y;
}
.guides-page-body .guides-hero-slider.is-empty{
  display:none!important;
}
.guides-page-body .guides-hero-slider::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:30%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,0));
}
.guides-page-body .guides-hero-slider::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:64%;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(22,16,12,.10) 26%,rgba(22,16,12,.38) 65%,rgba(22,16,12,.70) 100%);
}
.guides-page-body .guides-hero-slide-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:0 0 30px 30px;
  background:#d8c2b0;
}
.guides-page-body .guides-hero-slide-card,
.guides-page-body .guides-hero-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  text-decoration:none;
  opacity:0;
  z-index:1;
  transition:opacity .42s ease;
  will-change:opacity;
  transform:translateZ(0);
  color:#fff;
}
.guides-page-body .guides-hero-layer.is-active{opacity:1;z-index:2;}
.guides-page-body .guides-hero-layer.is-next{opacity:0;z-index:3;}
.guides-page-body .guides-hero-layer.is-leaving{opacity:0;z-index:1;}
.guides-page-body .guides-hero-slide-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.guides-page-body .guides-hero-slide-copy{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:7;
  display:grid;
  gap:8px;
  padding:0 22px 54px;
  color:#fff;
}
.guides-page-body .guides-hero-eyebrow{
  width:max-content;
  max-width:calc(100% - 8px);
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.84);
  color:#463d36;
  font-size:11px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 22px rgba(0,0,0,.13);
  backdrop-filter:blur(12px);
}
.guides-page-body .guides-hero-badge{
  width:max-content;
  max-width:calc(100% - 8px);
  font-size:11px;
  font-weight:900;
  color:rgba(255,255,255,.86);
  text-shadow:0 6px 18px rgba(0,0,0,.28);
}
.guides-page-body .guides-hero-slide-copy strong{
  max-width:92%;
  font-size:27px;
  line-height:1.16;
  letter-spacing:-.075em;
  text-shadow:0 8px 24px rgba(0,0,0,.32);
}
.guides-page-body .guides-hero-slide-copy p{
  max-width:88%;
  margin:0;
  color:rgba(255,255,255,.90);
  font-size:13px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-shadow:0 5px 16px rgba(0,0,0,.25);
}
.guides-page-body .guides-hero-slide-copy em{
  width:max-content;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  backdrop-filter:blur(10px);
}
.guides-page-body .guides-hero-indicators{
  position:absolute;
  left:50%;
  right:auto;
  bottom:22px;
  width:auto;
  min-width:0;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0;
  z-index:8;
}
.guides-page-body .guides-hero-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.50);
  background:rgba(255,255,255,.62);
  color:#6f5b4a;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(55,37,22,.16);
  backdrop-filter:blur(12px);
}
.guides-page-body .guides-hero-detail .hero-body{
  width:calc(100% - 28px);
  margin:0 auto 4px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.guides-page-body .guides-hero-detail .hero-body h1{
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.07em;
}
.guides-page-body .guides-hero-detail .hero-body .lead{
  margin-top:7px;
  max-width:92%;
  font-size:13px;
  line-height:1.58;
}
.guides-page-body .public-detail-main > .section,
.guides-page-body .public-detail-main > .bps-common-footer{
  width:calc(100% - 28px);
  max-width:calc(var(--max) - 28px);
  margin-left:auto;
  margin-right:auto;
}
.guides-page-body .guides-page-hero{
  display:none!important;
}
.guides-page-body .guides-tab-section,
.guides-page-body .guides-feature-section,
.guides-page-body .guide-quick-section,
.guides-page-body .guides-popular-section,
.guides-page-body .guide-content-section{
  margin-top:0;
}
.guides-page-body .guide-page-main-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  border-radius:26px!important;
  overflow:hidden;
}
.guides-page-body .guide-page-main-card .guide-card-visual{
  aspect-ratio:1/1;
  height:auto!important;
  min-height:0!important;
  border-radius:0!important;
}
.guides-page-body .guide-page-main-card .guide-card-visual img{
  min-height:0!important;
}
.guides-page-body .guide-page-small-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:10px;
  overflow-x:auto;
  margin:0 -4px;
  padding:2px 4px 8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.guides-page-body .guide-page-small-list::-webkit-scrollbar{display:none;}
.guides-page-body .guide-page-small-list .guide-small-card{
  flex:0 0 72%;
  grid-template-columns:96px minmax(0,1fr);
  scroll-snap-align:start;
}
.guides-page-body .guide-topic-grid,
.guides-page-body .guide-topic-grid.compact{
  grid-template-columns:1fr;
}
.guides-page-body .guide-topic-card{
  min-height:104px;
  align-content:center;
}
@media (max-width:430px){
  .guides-page-body .header{padding:18px 18px 0;}
  .guides-page-body .drawer{top:72px;left:14px;right:14px;max-width:calc(var(--max) - 28px);}
  .guides-page-body .guides-hero-detail .hero-body,
  .guides-page-body .public-detail-main > .section,
  .guides-page-body .public-detail-main > .bps-common-footer{
    width:calc(100% - 24px);
    max-width:calc(var(--max) - 24px);
  }
  .guides-page-body .guides-hero-slider{margin-bottom:16px;}
  .guides-page-body .guides-hero-counter{min-width:52px;height:23px;font-size:10.5px;}
  .guides-page-body .guides-hero-slide-copy{padding:0 18px 50px;}
  .guides-page-body .guides-hero-slide-copy strong{font-size:24px;}
  .guides-page-body .guides-hero-slide-copy p{font-size:12px;}
  .guides-page-body .guide-page-small-list .guide-small-card{flex-basis:84%;}
}
@media (min-width:760px){
  .home-guide-hero-card .guide-home-hero-media{min-height:0!important;}
  .guides-page-body .guide-topic-grid,
  .guides-page-body .guide-topic-grid.compact{grid-template-columns:1fr 1fr;}
  .guides-page-body .guide-page-small-list .guide-small-card{flex-basis:245px;}
}

/* v3.10.253 Guide modal, CMS-ready image controls, and shared mobile bottom spacing refinement */
html body.guides-page-body:not(.admin-page) .header .menu-line-btn,
html body.guides-page-body:not(.admin-page) .header .header-btn.menu-line-btn,
html body.guides-page-body:not(.admin-page) .header .icon-btn.menu-line-btn{
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#fff!important;
  overflow:visible!important;
}
html body.guides-page-body:not(.admin-page) .header .menu-line-btn::before,
html body.guides-page-body:not(.admin-page) .header .menu-line-btn::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body.guides-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"]{
  width:30px!important;
  height:4px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}

.guide-home-hero-media,
.guide-page-main-open,
.guide-rail-card,
.guides-hero-slide-card{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  font:inherit;
  text-align:inherit;
  cursor:pointer;
}
.guide-home-hero-media{
  width:100%;
  display:block;
  color:inherit;
}
.guide-page-main-open{
  width:100%;
  display:block;
  background:transparent;
  border-radius:inherit;
}
.guides-page-body .guides-hero-slide-card{
  background:transparent;
}
.guide-rail-card{
  background:rgba(255,254,250,.94);
  border:1px solid var(--line);
  color:inherit;
}
.guide-hero-card button.btn,
.guide-detail-actions button.btn{
  cursor:pointer;
}

.guide-detail-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  background:rgba(20,16,13,.74);
  overscroll-behavior:contain;
}
.guide-detail-modal.is-open{display:block;}
.guide-modal-open{overflow:hidden!important;}
.guide-detail-modal-scroll{
  width:100%;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:22px 14px calc(36px + env(safe-area-inset-bottom,0px));
  box-sizing:border-box;
}
.guide-detail-sheet{
  position:relative;
  width:min(100%,var(--max));
  margin:0 auto;
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(180deg,#fffefa 0%,#f5f2ec 100%);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 24px 90px rgba(0,0,0,.35);
}
.guide-detail-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#303331;
  font-size:24px;
  font-weight:600;
  line-height:1;
  box-shadow:0 10px 28px rgba(37,39,37,.13);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
}
.guide-detail-visual{
  position:relative;
  margin:0;
  aspect-ratio:1/1;
  background:#eadfd4;
  overflow:hidden;
}
.guide-detail-visual::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.32));
  pointer-events:none;
}
.guide-detail-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.guide-detail-visual figcaption{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  max-width:calc(100% - 32px);
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#343a38;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}
.guide-detail-copy{
  display:grid;
  gap:16px;
  padding:22px 20px 24px;
}
.guide-detail-meta,
.guide-detail-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.guide-detail-meta span,
.guide-detail-meta em,
.guide-detail-tags span{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:#f1eee9;
  color:#4b504e;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.guide-detail-copy h2{
  margin:0;
  color:#252725;
  font-size:25px;
  line-height:1.22;
  letter-spacing:-.07em;
}
.guide-detail-lead{
  margin:0;
  color:#6d706b;
  font-size:13.2px;
  line-height:1.66;
}
.guide-detail-section{
  display:grid;
  gap:10px;
  padding:16px;
  border-radius:22px;
  border:1px solid #e4e1da;
  background:rgba(255,255,255,.76);
}
.guide-detail-section h3{
  margin:0;
  color:#252725;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.045em;
}
.guide-detail-section p{
  margin:0;
  color:#61645f;
  font-size:13px;
  line-height:1.68;
}
.guide-detail-section ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.guide-detail-section li{
  position:relative;
  padding-left:18px;
  color:#555b58;
  font-size:13px;
  line-height:1.58;
}
.guide-detail-section li::before{
  content:"";
  position:absolute;
  left:0;
  top:.64em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#59615f;
}
.guide-detail-faq details{
  border-top:1px solid #ece8e1;
  padding-top:10px;
}
.guide-detail-faq details:first-of-type{
  border-top:0;
  padding-top:0;
}
.guide-detail-faq summary{
  cursor:pointer;
  color:#333735;
  font-size:13px;
  font-weight:900;
  line-height:1.48;
}
.guide-detail-faq details p{
  margin-top:8px;
}
.guide-detail-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.guide-detail-actions .btn{
  min-height:46px;
  border-radius:15px;
}

body:not(.admin-page):not(.home-page) .page{
  padding-bottom:18px!important;
}
body:not(.admin-page):not(.home-page) .public-detail-main,
body:not(.admin-page).guides-page-body .public-detail-main{
  padding-bottom:0!important;
}
body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
body:not(.admin-page):not(.home-page) .bps-common-footer{
  margin-bottom:84px!important;
}
@media (max-width:430px){
  .guide-detail-modal-scroll{padding:12px 10px calc(28px + env(safe-area-inset-bottom,0px));}
  .guide-detail-sheet{border-radius:24px;}
  .guide-detail-copy{padding:19px 16px 22px;}
  .guide-detail-copy h2{font-size:22px;}
  .guide-detail-actions{grid-template-columns:1fr;}
  body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  body:not(.admin-page):not(.home-page) .bps-common-footer{
    margin-bottom:80px!important;
  }
}

/* v3.10.253 CMS guide content editor */
.guide-content-admin-manager{display:grid;gap:14px;margin-top:16px;}
.guide-content-admin-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:22px;background:rgba(255,254,250,.94);}
.guide-content-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.guide-content-admin-head strong{display:block;font-size:16px;letter-spacing:-.04em;}
.guide-content-admin-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;}
.guide-content-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.guide-content-admin-grid .wide{grid-column:1/-1;}
.guide-content-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.guide-content-upload-box{display:grid;gap:8px;padding:12px;border:1px dashed rgba(89,97,95,.26);border-radius:18px;background:#fbfaf6;}
.guide-content-upload-box img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;background:#eee7df;}
.guide-content-upload-progress{display:grid;gap:6px;}
.guide-content-upload-progress div{height:6px;border-radius:999px;background:#e9e5dd;overflow:hidden;}
.guide-content-upload-progress span{display:block;width:0;height:100%;background:#59615f;}
.guide-content-upload-progress p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;}
@media (max-width:760px){
  .guide-content-admin-grid,.guide-content-upload-grid{grid-template-columns:1fr;}
}


/* v3.10.254 Guides hero menu layer hard fix
   - The /guides hero uses a floating menu button above a 1:1 image.
   - Remove inherited header-btn/card/glass backgrounds from the button and every wrapper/pseudo layer.
   - Keep only the hamburger lines visible so no mismatched square layer appears on the hero image. */
html body.guides-page-body:not(.admin-page) .header,
html body.guides-page:not(.admin-page) .header{
  height:0!important;
  min-height:0!important;
  padding:18px 22px 0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none!important;
  overflow:visible!important;
}
html body.guides-page-body:not(.admin-page) .header::before,
html body.guides-page-body:not(.admin-page) .header::after,
html body.guides-page:not(.admin-page) .header::before,
html body.guides-page:not(.admin-page) .header::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body.guides-page-body:not(.admin-page) .header .header-actions,
html body.guides-page:not(.admin-page) .header .header-actions{
  margin-left:auto!important;
  width:auto!important;
  height:46px!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:auto!important;
  overflow:visible!important;
}
html body.guides-page-body:not(.admin-page) .header .header-actions::before,
html body.guides-page-body:not(.admin-page) .header .header-actions::after,
html body.guides-page:not(.admin-page) .header .header-actions::before,
html body.guides-page:not(.admin-page) .header .header-actions::after{
  content:none!important;
  display:none!important;
}
html body.guides-page-body:not(.admin-page) .header .guides-floating-menu-btn,
html body.guides-page-body:not(.admin-page) .header .menu-line-btn,
html body.guides-page:not(.admin-page) .header .guides-floating-menu-btn,
html body.guides-page:not(.admin-page) .header .menu-line-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  outline:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  color:#fff!important;
  pointer-events:auto!important;
  overflow:visible!important;
  isolation:auto!important;
}
html body.guides-page-body:not(.admin-page) .header .guides-floating-menu-btn::before,
html body.guides-page-body:not(.admin-page) .header .guides-floating-menu-btn::after,
html body.guides-page-body:not(.admin-page) .header .menu-line-btn::before,
html body.guides-page-body:not(.admin-page) .header .menu-line-btn::after,
html body.guides-page:not(.admin-page) .header .guides-floating-menu-btn::before,
html body.guides-page:not(.admin-page) .header .guides-floating-menu-btn::after,
html body.guides-page:not(.admin-page) .header .menu-line-btn::before,
html body.guides-page:not(.admin-page) .header .menu-line-btn::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body.guides-page-body:not(.admin-page) .header .guides-floating-menu-btn span[aria-hidden="true"],
html body.guides-page-body:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"],
html body.guides-page:not(.admin-page) .header .guides-floating-menu-btn span[aria-hidden="true"],
html body.guides-page:not(.admin-page) .header .menu-line-btn span[aria-hidden="true"]{
  display:block!important;
  flex:0 0 auto!important;
  width:30px!important;
  height:4px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}
@media (max-width:430px){
  html body.guides-page-body:not(.admin-page) .header,
  html body.guides-page:not(.admin-page) .header{
    padding:18px 18px 0!important;
  }
}

/* v3.10.256 Guides phase2 admin hotfix: guide filter state and detail image editor runtime stabilization */
.guide-more-card,
.guide-rail-more,
.guide-category-more{
  min-height:46px;
  border:1px solid rgba(89,97,95,.14);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  color:#343a38;
  font-size:12px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(67,46,27,.06);
  cursor:pointer;
}
.guide-more-card{padding:0 14px;text-align:center;}
.guide-rail-more{flex:0 0 45%;scroll-snap-align:start;align-self:stretch;padding:0 14px;}
.guide-category-more{width:100%;margin-top:9px;}
.guide-quick-grid a.is-active{background:#343a38;color:#fff;border-color:#343a38;}
.guide-filter-result-section[hidden]{display:none!important;}
.guide-filter-result-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.guide-filter-result-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:11px;align-items:center;padding:10px;border:1px solid rgba(141,111,82,.14);border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(67,46,27,.07);text-align:left;color:inherit;cursor:pointer;}
.guide-filter-result-card .guide-card-visual{min-height:86px;border-radius:17px;}
.guide-filter-result-card div:not(.guide-card-visual){display:grid;gap:5px;}
.guide-filter-result-card span{color:#8d6f52;font-size:10.5px;font-weight:900;}
.guide-filter-result-card strong{font-size:14px;line-height:1.35;letter-spacing:-.045em;}
.guide-filter-result-card p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.48;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.guide-topic-card[hidden]{display:none!important;}

.guide-detail-gallery{position:relative;aspect-ratio:1/1;background:#eadfd4;overflow:hidden;}
.guide-detail-gallery-track{position:absolute;inset:0;}
.guide-detail-gallery-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.018);transition:opacity .28s ease,transform .36s ease;pointer-events:none;}
.guide-detail-gallery-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;}
.guide-detail-gallery-slide::after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.34));pointer-events:none;}
.guide-detail-gallery-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;}
.guide-detail-gallery-slide figcaption{position:absolute;left:16px;bottom:14px;z-index:2;max-width:calc(100% - 32px);padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.86);color:#343a38;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.13);}
.guide-detail-gallery-nav{position:absolute;top:50%;z-index:4;width:38px;height:38px;margin-top:-19px;border:1px solid rgba(255,255,255,.64);border-radius:999px;background:rgba(255,255,255,.82);color:#343a38;font-size:28px;line-height:1;font-weight:600;box-shadow:0 10px 28px rgba(37,39,37,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;}
.guide-detail-gallery-nav.prev{left:12px;}.guide-detail-gallery-nav.next{right:12px;}
.guide-detail-gallery-count{position:absolute;right:14px;bottom:14px;z-index:5;min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.86);color:#343a38;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.13);}
.guide-related-list{display:grid;gap:8px;}
.guide-related-list button{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid #ece8e1;border-radius:16px;background:#fff;color:inherit;cursor:pointer;}
.guide-related-list span{color:#8d6f52;font-size:10.5px;font-weight:900;}.guide-related-list strong{font-size:13px;line-height:1.42;letter-spacing:-.035em;}

.guide-content-toolbar{grid-template-columns:auto minmax(160px,1fr) minmax(140px,auto) minmax(140px,auto);align-items:center;}
.guide-content-admin-list{display:grid;gap:10px;}
.guide-content-admin-card.compact-card{padding:0;overflow:hidden;}
.guide-content-admin-card.compact-card > summary{list-style:none;cursor:pointer;padding:14px 16px;background:rgba(255,254,250,.96);}
.guide-content-admin-card.compact-card > summary::-webkit-details-marker{display:none;}
.guide-content-summary-title{min-width:0;}
.guide-content-admin-body{display:grid;gap:12px;padding:14px 16px 16px;border-top:1px solid var(--line);}
.guide-editor-panel{border:1px solid rgba(89,97,95,.12);border-radius:18px;background:#fff;overflow:hidden;}
.guide-editor-panel > summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:900;color:#343a38;background:#faf8f2;}
.guide-editor-panel > summary::-webkit-details-marker{display:none;}
.guide-editor-panel > .guide-content-admin-grid,
.guide-editor-panel > .guide-content-upload-grid,
.guide-editor-panel > .guide-detail-images-editor,
.guide-editor-panel > .home-i18n-panel{margin:12px;}
.guide-content-status-row{padding:10px 0 0;}
.guide-dropzone{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;}
.guide-dropzone.is-dragover{border-color:#59615f!important;background:#f1eee8!important;box-shadow:0 0 0 3px rgba(89,97,95,.08);}
.guide-dropzone-help{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45;}
.guide-detail-images-editor{display:grid;gap:10px;}
.guide-detail-images-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.guide-detail-images-head strong{display:block;font-size:14px;}.guide-detail-images-head span{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.45;}
.guide-detail-images-drop{min-height:54px;display:grid;place-items:center;border:1px dashed rgba(89,97,95,.26);border-radius:16px;background:#fbfaf6;color:var(--muted);font-size:12px;font-weight:800;text-align:center;padding:10px;}
.guide-detail-images-list{display:grid;gap:9px;}
.guide-detail-image-item{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #e5e1d9;border-radius:16px;background:#fff;}
.guide-detail-image-item.is-dragging{opacity:.45;}
.guide-detail-image-item img{width:86px;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:#eee7df;}
.guide-detail-image-fields{display:grid;gap:7px;}.guide-detail-image-fields strong{font-size:12px;}.guide-detail-image-fields label{display:grid;gap:3px;color:var(--muted);font-size:10.5px;font-weight:800;}
@media (max-width:760px){
  .guide-content-toolbar{grid-template-columns:1fr;}
  .guide-content-admin-head{display:grid;grid-template-columns:1fr;}
  .guide-content-admin-head .row-actions{justify-content:flex-start;}
  .guide-detail-image-item{grid-template-columns:72px 1fr;}
  .guide-detail-image-item img{width:72px;}
  .guide-detail-image-item .mini-btn{grid-column:1/-1;}
}
.guide-content-toolbar{display:grid!important;}


/* v3.10.258 가이드 정규화 및 관리자 저장 안정화 핫픽스 */

/* v3.10.262 Guide Pick visual ratio and swipe refinement */
.home-guide-pick-head .section-kicker{
  display:none!important;
}
.home-guide-pick-head{
  align-items:flex-end!important;
}
.home-guide-pick-head .home-guide-all-link{
  align-self:flex-end!important;
  min-height:auto!important;
  height:auto!important;
  margin:0 4px 3px 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--p)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
.home-guide-pick-head .home-guide-all-link:focus-visible{
  outline:2px solid rgba(37,39,43,.28);
  outline-offset:4px;
  border-radius:8px!important;
}
.guide-card-visual{
  aspect-ratio:1/1;
  min-height:0!important;
  height:auto!important;
}
.guide-card-visual img{
  width:100%;
  height:100%!important;
  min-height:0!important;
  object-fit:cover;
  object-position:center center;
}
.guide-card-visual-title{
  display:none!important;
}
.home-guide-hero-card .guide-home-hero-media,
.guide-home-hero-media{
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
  touch-action:pan-y;
}
.guide-home-hero-media .guide-card-visual{
  height:100%!important;
  min-height:0!important;
}
.home-guide-thumb-card .guide-card-visual,
.guide-small-card .guide-card-visual,
.guide-page-small-list .guide-small-card .guide-card-visual,
.guide-rail-card .guide-card-visual,
.guide-filter-result-card .guide-card-visual,
.guides-page-body .guide-page-main-card .guide-card-visual{
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
}
.home-guide-thumb-card .guide-card-visual,
.guide-small-card .guide-card-visual{
  width:100%;
}
.guide-page-small-list .guide-small-card .guide-card-visual,
.guide-filter-result-card .guide-card-visual{
  width:100%;
  align-self:start;
}
.guide-rail-card .guide-card-visual{
  width:100%;
  border-radius:0!important;
}
.guides-page-body .guide-page-main-card .guide-card-visual{
  border-radius:0!important;
}
.guide-hero-card[data-guide-hero],
.guide-small-list[data-guide-list]{
  touch-action:pan-y;
}


/* v3.10.262 Menu alignment, guide swipe stability and varied 1:1 guide section cards */
.menu-pop-card.menu-pop-company-placeholder{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
  cursor:default;
  appearance:none;
  font-family:inherit;
}
.menu-pop-card.menu-pop-company-placeholder:active{transform:none;}
.menu-pop-card.menu-pop-company-placeholder .menu-pop-icon{
  background:rgba(255,255,255,.10);
  color:currentColor;
}
.guide-card-visual{
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
}
.guide-card-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.home-guide-pick-section .guide-card-visual-title{display:none!important;}
.home-guide-pick-head{align-items:flex-start!important;}
.home-guide-all-link{align-self:flex-start!important;margin-top:4px!important;line-height:1.2!important;}
.guide-home-hero-media .guide-card-visual{height:100%!important;}
.guide-page-main-card .guide-card-visual,
.guide-rail-card .guide-card-visual,
.guide-filter-result-card .guide-card-visual,
.guide-page-small-list .guide-small-card .guide-card-visual,
.home-guide-thumb-card .guide-card-visual{height:auto!important;}
.guide-topic-card{
  border:0;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  color:inherit;
}
.guide-topic-card:focus-visible{
  outline:2px solid #4f5d57;
  outline-offset:3px;
}
.guide-topic-card [data-guide-topic-media]{display:block;min-width:0;}
.guide-topic-card [data-guide-topic-media] .guide-card-visual{width:100%;border-radius:18px;}
.guide-topic-card [data-guide-topic-media] .guide-card-visual-title{display:none!important;}
.guide-topic-list-layout{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.guide-topic-card-list{
  min-height:0!important;
  grid-template-columns:92px minmax(0,1fr);
  grid-template-areas:"media label" "media title" "media desc";
  align-items:center;
  align-content:center!important;
  gap:6px 13px!important;
  padding:12px!important;
}
.guide-topic-card-list [data-guide-topic-media]{grid-area:media;}
.guide-topic-card-list span:not([data-guide-topic-media]){grid-area:label;}
.guide-topic-card-list strong{grid-area:title;}
.guide-topic-card-list p{grid-area:desc;}
.guide-topic-editorial-layout{
  display:flex!important;
  gap:13px!important;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding-bottom:4px;
}
.guide-topic-card-editorial{
  flex:0 0 min(78%, 286px);
  scroll-snap-align:start;
  min-height:0!important;
  padding:0 0 16px!important;
  overflow:hidden;
  align-content:start!important;
}
.guide-topic-card-editorial [data-guide-topic-media] .guide-card-visual{border-radius:22px 22px 0 0;}
.guide-topic-card-editorial span:not([data-guide-topic-media]),
.guide-topic-card-editorial strong,
.guide-topic-card-editorial p{margin-left:16px;margin-right:16px;}
.guide-topic-card-editorial span:not([data-guide-topic-media]){margin-top:14px;}
.guide-topic-curation-layout{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding-bottom:4px;
}
.guide-topic-card-curation{
  flex:0 0 42%;
  min-width:126px;
  min-height:0!important;
  align-content:start!important;
  padding:10px!important;
  scroll-snap-align:start;
}
.guide-topic-card-curation [data-guide-topic-media] .guide-card-visual{border-radius:16px;}
.guide-topic-card-curation strong{font-size:13px!important;}
.guide-topic-checklist-layout{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.guide-topic-card-feature{
  min-height:0!important;
  padding:0 0 16px!important;
  overflow:hidden;
  align-content:start!important;
}
.guide-topic-card-feature [data-guide-topic-media] .guide-card-visual{border-radius:22px 22px 0 0;}
.guide-topic-card-feature span:not([data-guide-topic-media]),
.guide-topic-card-feature strong,
.guide-topic-card-feature p{margin-left:16px;margin-right:16px;}
.guide-topic-card-feature span:not([data-guide-topic-media]){margin-top:14px;}
.guide-topic-card-mini-list{
  min-height:0!important;
  grid-template-columns:68px minmax(0,1fr);
  grid-template-areas:"media label" "media title";
  align-items:center;
  align-content:center!important;
  gap:6px 12px!important;
  padding:10px!important;
}
.guide-topic-card-mini-list [data-guide-topic-media]{grid-area:media;}
.guide-topic-card-mini-list span:not([data-guide-topic-media]){grid-area:label;}
.guide-topic-card-mini-list strong{grid-area:title;}
.guide-topic-card-mini-list .guide-card-visual{border-radius:14px!important;}
@media (max-width:390px){
  .guide-topic-card-list{grid-template-columns:82px minmax(0,1fr);}
  .guide-topic-card-curation{flex-basis:45%;min-width:118px;}
  .guide-topic-card-editorial{flex-basis:82%;}
}
/* v3.10.262 hotfix: keep image placeholder span from inheriting chip style */
.guide-topic-card [data-guide-topic-media]{
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
}


/* v3.10.262 Guide modal: gallery-style cardnews view with hidden AEO/GEO text retained */
.guide-detail-modal{
  background:rgba(14,13,12,.82)!important;
  z-index:10040!important;
}
.guide-detail-modal-scroll{
  display:block;
  padding:18px 14px calc(44px + env(safe-area-inset-bottom,0px))!important;
}
.guide-detail-sheet{
  width:min(100%,760px)!important;
  margin:0 auto!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.guide-detail-close{
  position:fixed!important;
  top:max(12px,env(safe-area-inset-top,0px))!important;
  right:12px!important;
  z-index:10044!important;
  width:44px!important;
  height:44px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  background:rgba(255,255,255,.88)!important;
  color:#282828!important;
  box-shadow:0 10px 34px rgba(0,0,0,.28)!important;
}
.guide-detail-content{
  display:grid;
  gap:12px;
}
.guide-gallery-modal-head{
  display:grid;
  gap:5px;
  padding:0 4px 2px;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.32);
}
.guide-gallery-modal-head span{
  width:max-content;
  max-width:calc(100% - 58px);
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:900;
  letter-spacing:-.02em;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.guide-gallery-modal-head strong{
  max-width:calc(100% - 58px);
  color:#fff;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.05em;
  font-weight:900;
}
.guide-detail-gallery-stack{
  display:grid;
  gap:12px;
}
.guide-detail-gallery-card{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#f8f3ec;
  box-shadow:0 20px 80px rgba(0,0,0,.35);
}
.guide-detail-gallery-card img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff;
}
.guide-detail-gallery-card figcaption{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  max-width:calc(100% - 28px);
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#343a38;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 22px rgba(0,0,0,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.guide-gallery-related{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 56px rgba(0,0,0,.22);
}
.guide-gallery-related h3{
  margin:0;
  color:#272927;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.045em;
}
.guide-gallery-related-list{
  display:grid;
  gap:8px;
}
.guide-gallery-related-list button{
  display:grid;
  gap:4px;
  width:100%;
  padding:12px;
  border:1px solid #ece8e1;
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.guide-gallery-related-list span{
  color:#8d6f52;
  font-size:10.5px;
  font-weight:900;
}
.guide-gallery-related-list strong{
  color:#272927;
  font-size:13px;
  line-height:1.42;
  letter-spacing:-.035em;
}
.guide-gallery-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:0 0 4px;
}
.guide-gallery-actions .btn{
  min-height:48px;
  border-radius:16px;
}
.guide-detail-copy,
.guide-detail-section,
.guide-detail-gallery,
.guide-related-list{
  /* legacy classes remain for older cached markup but are not used by v3.10.262 markup */
}
@media (max-width:430px){
  .guide-detail-modal-scroll{
    padding:12px 10px calc(36px + env(safe-area-inset-bottom,0px))!important;
  }
  .guide-detail-content,
  .guide-detail-gallery-stack{
    gap:10px;
  }
  .guide-detail-gallery-card{
    border-radius:14px;
  }
  .guide-gallery-modal-head strong{
    font-size:16px;
  }
  .guide-gallery-actions{
    grid-template-columns:1fr;
  }
}

/* v3.10.262 Admin guide detail image editor UX fix */
.guide-detail-images-head{
  align-items:flex-start;
}
.guide-detail-add-btn{
  flex:0 0 auto;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(89,97,95,.18);
  background:#fff;
  color:#343a38;
  font-size:12px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(67,46,27,.06);
}
.guide-detail-add-btn:focus-visible{
  outline:2px solid rgba(89,97,95,.34);
  outline-offset:2px;
}
.guide-detail-save-note{
  margin:0;
  padding:8px 10px;
  border-radius:12px;
  background:#f7f4ed;
  color:#6f6b64;
  font-size:11.5px;
  line-height:1.45;
}
.guide-detail-image-item{
  position:relative;
  grid-template-columns:90px minmax(0,1fr)!important;
  padding:12px 46px 12px 12px!important;
  align-items:start!important;
}
.guide-detail-image-item img{
  width:90px!important;
}
.guide-detail-drag-handle{
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.64);
  background:rgba(255,255,255,.86);
  color:#59615f;
  font-size:13px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(37,39,37,.12);
  cursor:grab;
  user-select:none;
}
.guide-detail-image-item.is-dragging .guide-detail-drag-handle{
  cursor:grabbing;
}
.guide-detail-image-remove{
  position:absolute;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(164,84,74,.24);
  background:rgba(164,84,74,.08);
  color:#9b3b3b;
  font-size:19px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.guide-detail-image-remove:hover,
.guide-detail-image-remove:focus-visible{
  background:rgba(164,84,74,.14);
  outline:none;
}
.guide-detail-image-fields{
  min-width:0;
}
@media (max-width:760px){
  .guide-detail-images-head{
    display:grid!important;
    grid-template-columns:1fr;
  }
  .guide-detail-add-btn{
    justify-self:start;
    width:auto;
  }
  .guide-detail-image-item{
    grid-template-columns:78px minmax(0,1fr)!important;
    padding:10px 42px 10px 10px!important;
  }
  .guide-detail-image-item img{
    width:78px!important;
  }
  .guide-detail-image-item .mini-btn{
    grid-column:auto!important;
  }
}

/* v3.10.263 Guide CMS category/image simplification + modal tap-close refinement */
.guide-detail-gallery-card figcaption{display:none!important;}
.guide-detail-gallery-card{cursor:pointer;}
.guide-detail-close{opacity:.72!important;transform:scale(.9);}
.guide-detail-close:hover,.guide-detail-close:focus-visible{opacity:1!important;}
.guide-content-upload-grid.single{grid-template-columns:minmax(0,1fr)!important;}
.guide-content-upload-box{cursor:pointer;}
.guide-content-upload-box .guide-upload-help{display:block;color:var(--muted);font-size:11.5px;line-height:1.45;font-weight:800;}
.guide-content-upload-box.is-dragover,.guide-detail-images-drop.is-dragover{border-color:rgba(89,97,95,.46)!important;background:#f5f0e8!important;box-shadow:inset 0 0 0 1px rgba(89,97,95,.08);}
.guide-category-admin-manager{display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid #e7e1d8;border-radius:22px;background:#fffaf4;}
.guide-category-admin-list{display:grid;gap:10px;}
.guide-category-admin-row{display:grid;gap:10px;padding:12px;border:1px solid #ebe6df;border-radius:18px;background:#fff;}
.guide-category-admin-main{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(130px,.7fr) minmax(180px,1.5fr);gap:10px;align-items:end;}
.guide-category-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.guide-category-admin-actions .mini-pill{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#f2eee7;color:#69645e;font-size:11px;font-weight:900;}
.toggle-row.mini{min-height:28px;padding:0 10px;border-radius:999px;background:#f8f6f1;font-size:11.5px;}
.cms-select.mini{min-height:30px;padding:0 9px;font-size:11.5px;}
.cms-toolbar-note.danger{color:#a24b43;font-weight:900;}
@media (max-width:860px){
  .guide-category-admin-main{grid-template-columns:1fr;}
  .guide-category-admin-actions{gap:6px;}
}

/* v3.10.267 Guide home Pick curation source controls */
.guide-home-curation-manager{
  display:grid;
  gap:12px;
  margin:18px 0;
  padding:16px;
  border:1px solid #e7e1d8;
  border-radius:22px;
  background:#fffaf4;
}
.guide-curation-list{display:grid;gap:10px;}
.guide-curation-row{
  display:grid;
  grid-template-columns:minmax(170px,.9fr) minmax(180px,1fr) minmax(280px,1.6fr) auto;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid #ebe6df;
  border-radius:18px;
  background:#fff;
}
.guide-curation-title{display:grid;gap:4px;align-self:center;}
.guide-curation-title strong{font-size:14px;font-weight:900;letter-spacing:-.035em;color:#272725;}
.guide-curation-title span{font-size:11.5px;line-height:1.45;color:#7a746c;}
.guide-curation-sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.guide-curation-actions{display:flex;align-items:end;justify-content:flex-end;}
@media (max-width:1080px){
  .guide-curation-row{grid-template-columns:1fr;align-items:stretch;}
  .guide-curation-sub-grid{grid-template-columns:1fr;}
  .guide-curation-actions{justify-content:flex-start;}
}

/* v3.10.267 Guide admin structure refinement */
.guide-admin-structure-note{
  margin:14px 0 16px;
  padding:12px 14px;
  border:1px solid #e6ded2;
  border-radius:18px;
  background:#f8f4ec;
  color:#5f5953;
  font-size:12px;
  line-height:1.55;
  font-weight:800;
}
.guide-admin-panels{display:grid;gap:14px;}
.guide-admin-panel{
  border:1px solid #e6ded2;
  border-radius:24px;
  background:#fffdf9;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(39,39,37,.04);
}
.guide-admin-panel>summary{
  list-style:none;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px 12px;
  align-items:center;
  padding:16px 18px;
  cursor:pointer;
  border-bottom:1px solid transparent;
}
.guide-admin-panel[open]>summary{border-bottom-color:#eee7dc;}
.guide-admin-panel>summary::-webkit-details-marker{display:none;}
.guide-admin-panel>summary span{
  grid-row:1 / span 2;
  width:34px;height:34px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#eee7dc;color:#756a60;font-weight:1000;font-size:12px;
}
.guide-admin-panel>summary strong{font-size:16px;font-weight:1000;letter-spacing:-.04em;color:#272725;}
.guide-admin-panel>summary em{font-style:normal;color:#8a8177;font-size:12px;font-weight:800;}
.guide-admin-panel>summary ~ *{margin-left:16px;margin-right:16px;}
.guide-admin-panel>summary ~ *:last-child{margin-bottom:16px;}
.guide-page-hero-manager,.guide-home-curation-manager,.guide-category-admin-manager{background:#fffaf4!important;}
.guide-page-settings-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) auto;gap:10px;align-items:end;}
.guide-hero-slot-table,.guide-curation-table,.guide-category-table{display:grid;gap:0;border:1px solid #ebe6df;border-radius:18px;overflow:hidden;background:#fff;}
.guide-hero-slot-head,.guide-curation-table-head,.guide-category-table-head{
  display:grid;gap:8px;align-items:center;padding:10px 12px;background:#f4efe7;color:#756d64;font-size:11px;font-weight:1000;text-transform:uppercase;
}
.guide-hero-slot-head{grid-template-columns:46px minmax(220px,1fr) 100px minmax(110px,.7fr);}
.guide-curation-table-head{grid-template-columns:minmax(120px,.8fr) minmax(180px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) 74px;}
.guide-category-table-head{grid-template-columns:44px minmax(120px,.8fr) minmax(110px,.7fr) minmax(200px,1.4fr) 74px 74px 132px;}
.guide-hero-slot-row,.guide-curation-table-row,.guide-category-table-row{
  display:grid;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #f0ebe3;background:#fff;
}
.guide-hero-slot-row{grid-template-columns:46px minmax(220px,1fr) 100px minmax(110px,.7fr);}
.guide-curation-table-row{grid-template-columns:minmax(120px,.8fr) minmax(180px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) 74px;}
.guide-category-table-row{grid-template-columns:44px minmax(120px,.8fr) minmax(110px,.7fr) minmax(200px,1.4fr) 74px 74px 132px;}
.guide-curation-category{display:grid;gap:3px;}
.guide-curation-category strong{font-size:13px;font-weight:1000;letter-spacing:-.035em;color:#272725;}
.guide-curation-category span,.slot-image-note{font-size:11px;color:#8a8177;font-weight:800;}
.slot-order,.guide-category-order{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f1ece4;color:#756d64;font-size:12px;font-weight:1000;}
.guide-category-table-row code{font-size:11px;padding:6px 8px;border-radius:10px;background:#f7f4ef;color:#6d655e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.guide-category-table-actions{display:flex;gap:5px;align-items:center;justify-content:flex-end;}
.guide-category-table .compact-description{min-width:0;}
@media (max-width:1080px){
  .guide-page-settings-grid,.guide-hero-slot-head,.guide-hero-slot-row,.guide-curation-table-head,.guide-curation-table-row,.guide-category-table-head,.guide-category-table-row{grid-template-columns:1fr;}
  .guide-curation-table-head,.guide-category-table-head,.guide-hero-slot-head{display:none;}
  .guide-hero-slot-row,.guide-curation-table-row,.guide-category-table-row{padding:12px;}
}

/* v3.10.267 Guide home Pick curation card UI + home category visibility */
.guide-home-curation-manager .guide-curation-table,
.guide-home-curation-manager .guide-curation-table-head,
.guide-home-curation-manager .guide-curation-table-row{display:none!important;}
.guide-curation-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 4px;}
.guide-curation-toolbar .mini-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#efe9df;color:#6d645b;font-size:11.5px;font-weight:900;}
.guide-curation-list{display:grid;gap:12px;overflow:visible!important;}
.guide-curation-card{display:grid;gap:12px;padding:14px;border:1px solid #ebe5dc;border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(39,39,37,.035);overflow:visible;position:relative;}
.guide-curation-card.is-disabled{opacity:.62;background:#faf8f3;}
.guide-curation-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;}
.guide-curation-visible{white-space:nowrap;align-self:center;}
.guide-curation-order-actions{display:flex;gap:5px;justify-content:flex-end;}
.guide-curation-card-body{display:grid;gap:10px;overflow:visible;}
.guide-curation-main{max-width:none;}
.guide-curation-main select,.guide-curation-sub-grid select{width:100%;min-width:0;}
.guide-curation-sub-grid{display:grid;grid-template-columns:1fr;gap:10px;overflow:visible;}
.guide-curation-card .field-label{min-width:0;}
.guide-curation-card .cms-select{max-width:100%;}
.guide-curation-actions{display:flex;justify-content:flex-end;}
@media (max-width:1080px){
  .guide-curation-card-head{grid-template-columns:1fr;align-items:stretch;}
  .guide-curation-order-actions,.guide-curation-actions{justify-content:flex-start;}
  .guide-curation-sub-grid{grid-template-columns:1fr;}
}

/* v3.10.269 Guide CMS compact action and category layout hardening */
.guide-admin-panel,
.guide-page-hero-manager,
.guide-home-curation-manager,
.guide-category-admin-manager,
.guide-content-admin-manager,
.guide-curation-card,
.guide-content-admin-card{
  overflow:visible!important;
}
.guide-admin-panel>summary ~ *{
  max-width:100%;
}
.guide-admin-panel .mini-btn{
  box-sizing:border-box;
  width:auto;
  min-width:38px;
  min-height:34px;
  padding:0 12px;
  white-space:nowrap;
  line-height:1;
  flex:0 0 auto;
}
.guide-admin-panel .mini-btn.icon-only{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
  border-radius:999px;
  font-size:14px;
  font-weight:1000;
}
.guide-admin-panel .guide-curation-actions .mini-btn{
  min-width:62px;
}
.guide-hero-slot-table{
  overflow:visible!important;
}
.guide-hero-slot-row{
  overflow:visible;
}
.guide-hero-slot-row .cms-select,
.guide-hero-slot-row .cms-input{
  width:100%;
  min-width:0;
}
.guide-hero-slot-row .slot-image-note{
  display:block;
  min-width:0;
  white-space:normal;
  word-break:keep-all;
  line-height:1.45;
}
.guide-page-hero-manager .compact-toolbar{
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.guide-page-hero-manager [data-guide-page-hero-reset]{
  min-width:50px;
}
.guide-category-card-list{
  display:grid;
  gap:10px;
  overflow:visible!important;
}
.guide-category-admin-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #ebe6df;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 20px rgba(39,39,37,.035);
  overflow:visible;
}
.guide-category-card-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.guide-category-card-title{
  display:grid;
  gap:4px;
  min-width:0;
}
.guide-category-card-title strong{
  font-size:14px;
  font-weight:1000;
  letter-spacing:-.035em;
  color:#272725;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.guide-category-card-title code{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:#f7f4ef;
  color:#6d655e;
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.guide-category-card-fields{
  display:grid;
  grid-template-columns:minmax(150px,.9fr) minmax(220px,1.4fr) auto;
  gap:10px;
  align-items:end;
}
.guide-category-card-fields .wide{
  min-width:0;
}
.guide-category-card-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.guide-category-table-actions{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:flex-end;
  min-width:max-content;
}
.guide-content-admin-head .row-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
}
.guide-content-admin-head .row-actions .mini-btn.icon-only{
  width:34px;
  min-width:34px;
  padding:0;
}
.guide-detail-image-remove,
.guide-content-admin-head .mini-btn.danger.icon-only,
.guide-category-table-actions .mini-btn.danger.icon-only{
  color:#a4544a;
  border-color:rgba(164,84,74,.32);
  background:rgba(164,84,74,.06);
}
@media (max-width:1080px){
  .guide-category-card-top,
  .guide-category-card-fields{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .guide-category-card-meta,
  .guide-category-table-actions{
    justify-content:flex-start;
  }
  .guide-hero-slot-row{
    grid-template-columns:1fr!important;
  }
}


/* v3.10.324 Guide category i18n field layout refinement */
.admin-page .guide-category-card-fields .guide-category-i18n-fields{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-width:0;
}
.admin-page .guide-category-card-fields .guide-category-card-meta{
  grid-column:1 / -1;
}
.admin-page .guide-category-i18n-fields .home-i18n-panel{
  margin:0;
  border-radius:16px;
  background:#fffdf9;
  border-color:rgba(80,68,58,.14);
}
.admin-page .guide-category-i18n-fields .home-i18n-panel summary{
  padding:12px 14px;
  font-size:13px;
  letter-spacing:-.03em;
}
.admin-page .guide-category-i18n-fields .home-i18n-grid,
.admin-page .guide-category-i18n-fields .home-i18n-grid.compact{
  grid-template-columns:repeat(2,minmax(240px,1fr));
  gap:12px 14px;
  padding:14px;
}
.admin-page .guide-category-i18n-fields .home-i18n-grid .field-label.mini{
  display:grid;
  gap:7px;
  min-width:0;
  font-size:12px;
  line-height:1.35;
  color:#5d554f;
}
.admin-page .guide-category-i18n-fields .cms-input,
.admin-page .guide-category-i18n-fields .cms-textarea{
  width:100%;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.45;
}
.admin-page .guide-category-i18n-fields .cms-input{
  min-height:42px;
  padding:10px 12px;
}
.admin-page .guide-category-i18n-fields .cms-textarea.compact{
  min-height:92px;
  padding:10px 12px;
  resize:vertical;
  overflow:auto;
  white-space:pre-wrap;
}
@media (max-width:900px){
  .admin-page .guide-category-i18n-fields .home-i18n-grid,
  .admin-page .guide-category-i18n-fields .home-i18n-grid.compact{
    grid-template-columns:1fr;
  }
}


/* v3.10.277 Guide card badge/read-time alignment and page banner swipe refinement */
.guide-kicker-row{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.guide-kicker-row .guide-hero-badge{
  margin:0;
}
.guide-read-time-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:#f7f1ea;
  color:#7a6a5e;
  font-size:11px;
  line-height:1.1;
  font-style:normal;
  font-weight:900;
  letter-spacing:-.03em;
}
.guide-main-kicker{
  margin-bottom:2px;
}
.guides-page-body .guide-page-main-card .guide-meta-row{
  display:none!important;
}
.guides-page-body .guide-page-small-list[data-guide-list]{
  touch-action:auto!important;
  overscroll-behavior-x:contain;
}
.guides-page-body .guide-page-small-list .guide-small-card{
  padding:10px!important;
  gap:8px!important;
  align-items:center!important;
}
.guides-page-body .guide-page-small-list .guide-small-card .guide-card-visual{
  align-self:center!important;
  margin:0!important;
}
.guide-small-kicker{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-width:0;
}
.guide-small-kicker span,
.guide-small-kicker em{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border-radius:999px;
  font-size:10.5px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.guide-small-kicker span{
  background:rgba(247,241,234,.95);
  color:var(--pd);
}
.guide-small-kicker em{
  background:#f7f1ea;
  color:#7a6a5e;
  font-style:normal;
}
.guides-page-body .guide-page-small-list .guide-small-card > span,
.guides-page-body .guide-page-small-list .guide-small-card > em{
  display:none!important;
}
.guides-page-body .guide-page-small-list .guide-small-card strong{
  font-size:14.5px!important;
  line-height:1.35!important;
  letter-spacing:-.045em!important;
}
@media (max-width:430px){
  .guides-page-body .guide-page-small-list .guide-small-card{
    grid-template-columns:96px minmax(0,1fr)!important;
    min-height:118px;
  }
  .guides-page-body .guide-page-small-list .guide-small-card strong{
    font-size:15px!important;
  }
}


/* v3.10.279 — company info SNS badges */
.footer-brand-copy{
  display:grid;
  gap:4px;
  min-width:0;
}
.footer-social-links{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-left:auto;
  flex:0 0 auto;
}
.footer-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  background:#f4f1eb;
  border:1px solid #e4e1da;
  color:#4f5755;
  text-decoration:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.footer-social-link svg{
  width:18px;
  height:18px;
  display:block;
}
.footer-social-instagram svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social-youtube svg path:first-child{
  fill:currentColor;
}
.footer-social-youtube .footer-social-youtube-play{
  fill:#fffefa;
}
.footer-social-link:hover,
.footer-social-link:focus-visible{
  transform:translateY(-1px);
  background:#59615f;
  border-color:#59615f;
  color:#fff;
  box-shadow:0 10px 22px rgba(37,39,37,.12);
  outline:none;
}
.footer-social-link:active{
  transform:scale(.96);
}
body:not(.admin-page) .footer-social-link{
  background:#f1eee9!important;
  border-color:#e4e1da!important;
  color:#4f5755!important;
}
body:not(.admin-page) .footer-social-link:hover,
body:not(.admin-page) .footer-social-link:focus-visible{
  background:#59615f!important;
  border-color:#59615f!important;
  color:#fff!important;
}
@media (max-width:430px){
  .footer-brand-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .footer-brand-copy{
    gap:3px;
  }
  .footer-social-link{
    width:37px;
    height:37px;
  }
}
@media (max-width:350px){
  .footer-brand-row{
    display:grid!important;
    align-items:start!important;
  }
  .footer-social-links{
    margin-left:0;
    justify-content:flex-start;
  }
}

/* v3.10.283 — 상세 이미지 모달 다중 이미지 여백 공통 보정 */
.gallery-detail-modal .gallery-detail-images{
  display:grid!important;
  gap:18px!important;
  width:100%!important;
}
.gallery-detail-modal .gallery-detail-images > img{
  display:block!important;
  width:min(100%,760px)!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:18px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.gallery-detail-modal .gallery-detail-modal-scroll > img + img{
  margin-top:18px!important;
}
@media (max-width:430px){
  .gallery-detail-modal .gallery-detail-images{
    gap:12px!important;
  }
  .gallery-detail-modal .gallery-detail-images > img{
    width:100%!important;
    border-radius:14px!important;
  }
  .gallery-detail-modal .gallery-detail-modal-scroll > img + img{
    margin-top:12px!important;
  }
}

/* v3.10.283 — 일반 갤러리 상세 이미지 관리자 보강 */
.gallery-detail-images-admin-manager{
  margin-top:18px;
  padding:18px;
  border:1px solid rgba(45,55,49,.1);
  border-radius:20px;
  background:rgba(255,255,255,.72);
}
.gallery-detail-images-admin-manager .gallery-detail-admin-list{
  margin-top:14px;
}
.gallery-detail-admin-thumb{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  align-items:center;
}
.gallery-detail-admin-thumb img{
  width:88px;
  height:64px;
  object-fit:cover;
  border-radius:12px;
  background:#f3f0ea;
}
.gallery-detail-admin-thumb div{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
@media (max-width:720px){
  .gallery-detail-admin-thumb{
    grid-template-columns:72px 1fr;
  }
  .gallery-detail-admin-thumb img{
    width:72px;
    height:54px;
  }
}


/* v3.10.284 — 지점 갤러리 레거시 상세 이미지 URL 문자열 호환 보강 */
.gallery-detail-modal .gallery-detail-images{
  gap:18px!important;
}
.gallery-detail-modal .gallery-detail-images > img + img{
  margin-top:0!important;
}
@media (max-width:430px){
  .gallery-detail-modal .gallery-detail-images{
    gap:12px!important;
  }
}

/* v3.10.291 Guide page section curation manager save verification */
.guide-page-section-manager{background:#fffaf4!important;display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid #e7e1d8;border-radius:22px;}
.guide-page-section-list{display:grid;gap:12px;overflow:visible!important;}
.guide-page-section-card{display:grid;gap:12px;padding:0;border:1px solid #ebe6df;border-radius:20px;background:#fff;box-shadow:0 8px 20px rgba(39,39,37,.035);overflow:visible;}
.guide-page-section-card>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;padding:14px 16px;cursor:pointer;border-bottom:1px solid transparent;}
.guide-page-section-card[open]>summary{border-bottom-color:#f0ebe3;}
.guide-page-section-card>summary::-webkit-details-marker{display:none;}
.guide-page-section-card>summary span{grid-row:1 / span 2;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#f1ece4;color:#756d64;font-size:12px;font-weight:1000;}
.guide-page-section-card>summary strong{font-size:14px;font-weight:1000;letter-spacing:-.035em;color:#272725;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.guide-page-section-card>summary em{font-style:normal;font-size:11.5px;font-weight:800;color:#8a8177;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.guide-page-section-card>summary~*{margin-left:14px;margin-right:14px;}
.guide-page-section-card>summary~*:last-child{margin-bottom:14px;}
.guide-page-section-guide-table{overflow:visible!important;}
.guide-section-guide-row{display:grid;grid-template-columns:46px minmax(240px,1fr) minmax(110px,.5fr) auto;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #f0ebe3;background:#fff;}
.guide-section-guide-row .cms-select{width:100%;min-width:0;}
.guide-section-guide-row .row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.guide-managed-sections{display:contents;}
.guide-managed-section[hidden]{display:none!important;}
.guide-managed-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 0 8px;}
.guide-managed-rail>.guide-rail-card{min-width:min(78vw,310px);scroll-snap-align:start;}
@media (max-width:1080px){
  .guide-section-guide-row{grid-template-columns:1fr;padding:12px;}
  .guide-section-guide-row .row-actions{justify-content:flex-start;}
  .guide-page-section-card>summary{grid-template-columns:1fr;}
  .guide-page-section-card>summary span{grid-row:auto;}
}


/* v3.10.291 Guide page settings independent save and action button hardening */
.guide-page-save-toolbar{align-items:center;gap:10px;flex-wrap:wrap;}
.guide-page-save-toolbar.bottom{padding-top:10px;border-top:1px solid #f0ebe3;}
.guide-page-section-card .cms-inline{align-items:center;gap:8px 10px;}
.guide-page-action-btn{width:auto!important;min-width:58px!important;max-width:100%;height:auto!important;min-height:34px;line-height:1.15!important;padding:8px 12px!important;white-space:nowrap;word-break:keep-all;}
.guide-page-add-guide-btn{min-width:92px!important;}
.guide-section-guide-row .row-actions .mini-btn{width:auto!important;min-width:42px!important;height:auto!important;padding:8px 10px!important;white-space:nowrap;}
@media (max-width:720px){
  .guide-page-save-toolbar .btn{width:100%;justify-content:center;}
  .guide-page-section-card .cms-inline{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
  .guide-page-section-card .cms-inline .toggle-row,
  .guide-page-section-card .cms-inline .cms-select{grid-column:1/-1;}
  .guide-page-action-btn{min-width:0!important;width:100%!important;}
}

/* v3.10.293: when guide page CMS sections are available, the legacy static guide sections must not occupy the visible page. */
.guides-page .guide-static-fallback-hidden,
.guides-page [data-static-guide-fallback="hidden"],
.guides-page .guides-popular-section[hidden],
.guides-page .guide-content-section[hidden]{
  display:none!important;
}
.guides-page #guideManagedSections{
  display:grid;
  gap:22px;
}

/* v3.10.293 — 일반 갤러리 상세 이미지 정렬 UI 보강 */
.gallery-detail-admin-thumb{
  grid-template-columns:34px 88px minmax(0,1fr);
  cursor:grab;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.gallery-detail-admin-thumb:active{
  cursor:grabbing;
}
.gallery-detail-admin-thumb.is-dragging{
  opacity:.58;
  transform:scale(.985);
}
.gallery-detail-admin-thumb.is-drop-target{
  border-color:rgba(65,78,70,.42);
  background:rgba(245,249,245,.96);
  box-shadow:0 8px 22px rgba(45,55,49,.12);
}
.gallery-detail-drag-handle{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6f786f;
  background:rgba(45,55,49,.07);
  font-weight:800;
  user-select:none;
  touch-action:none;
}
.gallery-detail-images-admin-manager[data-order-dirty="true"] .branch-gallery-existing-note::after{
  content:" · 순서 변경 후 저장 필요";
  color:#8b5d4a;
  font-weight:700;
}
@media (max-width:720px){
  .gallery-detail-admin-thumb{
    grid-template-columns:30px 72px minmax(0,1fr);
  }
  .gallery-detail-drag-handle{
    width:28px;
    height:28px;
  }
}

/* v3.10.297 Home Guide Pick clean visual card
   메인 가이드 이미지는 순수 비주얼로 표시하고, 제목/설명/카테고리/읽기 시간은
   aria-label, sr-only, JSON-LD 구조로 유지한다. */
.home-guide-hero-card .guide-home-hero-media-clean::after{
  display:none!important;
}
.home-guide-hero-card .guide-home-hero-media-clean .guide-home-hero-overlay{
  display:none!important;
}
.home-guide-hero-card .guide-home-hero-media-clean .guide-card-visual-title{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.home-guide-hero-card .guide-home-hero-media-clean:focus-visible{
  outline:3px solid rgba(37,39,43,.32);
  outline-offset:4px;
}

/* v3.10.301 Guide modal checklist/FAQ collapsed-by-default support */
.guide-gallery-support{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 56px rgba(0,0,0,.22);
}
.guide-gallery-support-block{
  border:1px solid #ece8e1;
  border-radius:15px;
  background:#fff;
  overflow:hidden;
}
.guide-gallery-support-block + .guide-gallery-support-block{margin-top:0;}
.guide-gallery-support-block > summary{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  color:#272927;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.04em;
  cursor:pointer;
  list-style:none;
}
.guide-gallery-support-block > summary::-webkit-details-marker{display:none;}
.guide-gallery-support-block > summary::after{
  content:'+';
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:999px;
  background:#f4f0ea;
  color:#6a6259;
  font-size:16px;
  line-height:1;
  font-weight:900;
}
.guide-gallery-support-block[open] > summary::after{content:'−';}

.guide-gallery-support-block:not([open]) .guide-gallery-checklist,
.guide-gallery-support-block:not([open]) .guide-gallery-faq-list{
  display:none;
}
.guide-gallery-checklist{
  display:grid;
  gap:8px;
  margin:0;
  padding:0 14px 14px;
  list-style:none;
}
.guide-gallery-checklist li{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:9px;
  align-items:start;
  color:#343a38;
  font-size:13px;
  line-height:1.55;
  letter-spacing:-.032em;
}
.guide-gallery-checklist li span{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f1ebe2;
  color:#8d6f52;
  font-size:11px;
  font-weight:900;
}
.guide-gallery-checklist li p{margin:1px 0 0;}
.guide-gallery-faq-list{
  display:grid;
  gap:8px;
  padding:0 14px 14px;
}
.guide-gallery-faq-item{
  border:1px solid #f0ece5;
  border-radius:13px;
  background:#fbfaf7;
  overflow:hidden;
}
.guide-gallery-faq-item summary{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  color:#343a38;
  font-size:13px;
  line-height:1.45;
  font-weight:900;
  letter-spacing:-.035em;
  cursor:pointer;
  list-style:none;
}
.guide-gallery-faq-item summary::-webkit-details-marker{display:none;}
.guide-gallery-faq-item p{
  margin:0;
  padding:0 12px 12px;
  color:#63635f;
  font-size:12.5px;
  line-height:1.62;
  letter-spacing:-.026em;
}
@media (max-width:430px){
  .guide-gallery-support{padding:12px;border-radius:16px;}
  .guide-gallery-support-block > summary{min-height:46px;padding:0 12px;font-size:13.5px;}
  .guide-gallery-checklist{padding:0 12px 12px;}
  .guide-gallery-faq-list{padding:0 12px 12px;}
}

/* v3.10.301 Guide Pick home/page-top exposure grouping */
.guide-pick-exposure-stack{display:grid;gap:14px;margin:0 16px 16px;}
.guide-admin-panel>summary~.guide-pick-exposure-stack{margin-top:16px;}
.guide-pick-exposure-card{overflow:visible;}
.guide-page-top-curation-manager .guide-curation-card{border-color:#e9e1d6;}
@media (max-width:720px){.guide-pick-exposure-stack{margin-left:12px;margin-right:12px;}}


/* v3.10.303 지점 정보 카드 공유하기 CTA: 갤러리 공유는 정보 카드 하단 원형 버튼에서 처리 */
.branches-page-body .branch-info-actions-visual.action-count-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.branches-page-body .branch-info-actions-visual.action-count-5{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.branches-page-body .branch-info-action-button.share span{
  border-color:#c8d3da;
  background:linear-gradient(135deg,#fbfdfe,#f1f6f8);
  color:#687d8d;
}
.branches-page-body .branch-info-action-button.share:active span{
  transform:translateY(1px);
  box-shadow:0 8px 18px rgba(49,70,83,.12);
}
@media (max-width:420px){
  .branches-page-body .branch-info-actions-visual.action-count-5{
    gap:7px;
  }
  .branches-page-body .branch-info-actions-visual.action-count-5 .branch-info-action-button span{
    width:52px;
    height:52px;
  }
  .branches-page-body .branch-info-actions-visual.action-count-5 .branch-info-action-button strong{
    font-size:11.6px;
  }
}
@media (max-width:360px){
  .branches-page-body .branch-info-actions-visual.action-count-5{
    gap:5px;
  }
  .branches-page-body .branch-info-actions-visual.action-count-5 .branch-info-action-button span{
    width:48px;
    height:48px;
  }
  .branches-page-body .branch-info-actions-visual.action-count-5 .branch-info-action-button span svg{
    width:25px;
    height:25px;
  }
  .branches-page-body .branch-info-actions-visual.action-count-5 .branch-info-action-button strong{
    font-size:10.8px;
  }
}


/* v3.10.304 지점 정보 카드 CTA 컬러/비주얼 개선
   - 5개 CTA 균등 배치 유지
   - 원형 라인 버튼의 테두리/아이콘 무게감 축소
   - 전화/카톡/지도/사이버투어/공유하기 기능별 차분한 컬러 적용 */
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual{
  display:grid!important;
  grid-template-columns:repeat(var(--branch-info-action-count, 5), minmax(0, 1fr))!important;
  gap:10px!important;
  align-items:start!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-1{--branch-info-action-count:1;}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-2{--branch-info-action-count:2;}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-3{--branch-info-action-count:3;}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-4{--branch-info-action-count:4;}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5{--branch-info-action-count:5;}
html body.branches-page-body:not(.admin-page) .branch-info-action-button{
  gap:8px!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual button.branch-info-action-button span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button:hover span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button:focus-visible span{
  width:56px!important;
  height:56px!important;
  border-width:1.25px!important;
  border-style:solid!important;
  background:#fffefd!important;
  background-color:#fffefd!important;
  background-image:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(250,248,244,.86) 100%)!important;
  box-shadow:0 8px 18px rgba(44,39,34,.055)!important;
  color:var(--branch-action-color, #57524d)!important;
  border-color:var(--branch-action-border, rgba(87,82,77,.34))!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button span svg{
  width:25px!important;
  height:25px!important;
  color:currentColor!important;
  stroke:currentColor!important;
  stroke-width:1.85!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-action-button strong{
  color:#2f2a25!important;
  font-size:12px!important;
  line-height:1.16!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.phone{--branch-action-color:#3f4347;--branch-action-border:#c6c8c9;--branch-action-focus:rgba(63,67,71,.18);}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao{--branch-action-color:#b79a61;--branch-action-border:#e0d1ad;--branch-action-focus:rgba(183,154,97,.2);}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.map{--branch-action-color:#78845a;--branch-action-border:#cfd5bd;--branch-action-focus:rgba(120,132,90,.2);}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.tour{--branch-action-color:#a97963;--branch-action-border:#dcc3b8;--branch-action-focus:rgba(169,121,99,.2);}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.share{--branch-action-color:#718797;--branch-action-border:#c8d4dc;--branch-action-focus:rgba(113,135,151,.2);}
html body.branches-page-body:not(.admin-page) .branch-info-action-button:active span{
  transform:translateY(1px)!important;
  box-shadow:0 5px 12px rgba(44,39,34,.07)!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-action-button:focus-visible span{
  outline:2px solid var(--branch-action-focus, rgba(87,82,77,.18))!important;
  outline-offset:3px!important;
}
@media (max-width:420px){
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5{
    gap:7px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button span{
    width:51px!important;
    height:51px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button span svg{
    width:23px!important;
    height:23px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button strong{
    font-size:11.3px!important;
    letter-spacing:-.055em!important;
  }
}
@media (max-width:360px){
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5{
    gap:5px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button span{
    width:47px!important;
    height:47px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button span svg{
    width:21.5px!important;
    height:21.5px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button strong{
    font-size:10.4px!important;
  }
}
/* END v3.10.304 지점 정보 카드 CTA 컬러/비주얼 개선 */

/* v3.10.305 관리자 CMS 지점 수정 아코디언/운영시간 드롭다운 + 카톡 CTA 라인형 보정 */
.branch-editor-accordion{
  grid-column:1/-1;
  border:1px solid rgba(141,111,82,.16);
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 26px rgba(68,48,32,.055);
  overflow:hidden;
}
.branch-editor-accordion + .branch-editor-accordion{
  margin-top:2px;
}
.branch-editor-accordion-toggle{
  width:100%;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:0;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,246,240,.72));
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.branch-editor-accordion-title{
  display:grid;
  gap:4px;
  min-width:0;
}
.branch-editor-accordion-title em{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(141,111,82,.1);
  color:#8d6f52;
  font-size:10.5px;
  font-style:normal;
  font-weight:900;
}
.branch-editor-accordion-title strong{
  font-size:15px;
  font-weight:900;
  letter-spacing:-.035em;
}
.branch-editor-accordion-title small{
  color:var(--muted);
  font-size:11.5px;
  line-height:1.45;
  font-weight:700;
}
.branch-editor-accordion-toggle > i{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#fff;
  border:1px solid rgba(141,111,82,.16);
  color:#8d6f52;
  font-size:18px;
  font-style:normal;
  line-height:1;
}
.branch-editor-accordion.is-open .branch-editor-accordion-toggle{
  border-bottom:1px solid rgba(141,111,82,.12);
}
.branch-editor-accordion-body{
  padding:14px;
}
.branch-editor-section-grid{
  display:grid;
  gap:11px;
}
.branch-operating-hours-field{
  padding:0;
}
.branch-operating-hours-selects{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.branch-operating-hours-selects label{
  display:grid;
  gap:5px;
}
.branch-operating-hours-selects small{
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
@media (min-width:760px){
  .branch-editor-section-grid{grid-template-columns:1fr 1fr;}
  .branch-editor-section-grid .field-label:has(.cms-textarea),
  .branch-editor-section-grid .full-span{grid-column:1/-1;}
}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:#d8c596!important;
  color:#b79a61!important;
  box-shadow:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao span svg,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] span svg{
  color:#b79a61!important;
  stroke:#b79a61!important;
  fill:none!important;
}
/* END v3.10.305 */


/* v3.10.306 지점 정보 카드 서비스 배지/카톡 CTA 최종 보정
   - 가능 촬영 서비스 배지는 한 줄 표시 우선, 텍스트 줄바꿈 방지
   - 카톡문의 CTA는 주변 버튼과 동일한 무채움 라인형 원형 버튼으로 통일 */
html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tags,
html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tags{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tags::-webkit-scrollbar,
html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tags::-webkit-scrollbar{
  display:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tag,
html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tag,
html body.branches-page-body:not(.admin-page) .branch-service-tags.is-empty span{
  flex:0 0 auto!important;
  min-height:31px!important;
  gap:4px!important;
  padding:6px 8px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tag i,
html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tag i{
  flex:0 0 auto!important;
  font-size:13px!important;
  line-height:1!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao > span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao > span,
html body.branches-page-body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible > span,
html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span{
  width:56px!important;
  height:56px!important;
  border-width:1.25px!important;
  border-style:solid!important;
  border-color:#d8c596!important;
  background:#fffefd!important;
  background-color:#fffefd!important;
  background-image:none!important;
  color:#b79a61!important;
  box-shadow:0 8px 18px rgba(44,39,34,.055)!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao > span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao > span svg,
html body.branches-page-body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span svg,
html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span svg{
  color:#b79a61!important;
  stroke:#b79a61!important;
  stroke-width:1.85!important;
  fill:none!important;
}
@media (max-width:420px){
  html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tags,
  html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tags{
    gap:5px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tag,
  html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tag{
    min-height:30px!important;
    padding:6px 7px!important;
    font-size:11.7px!important;
    letter-spacing:-.045em!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button.kakao > span{
    width:51px!important;
    height:51px!important;
  }
}
@media (max-width:360px){
  html body.branches-page-body:not(.admin-page) .branch-info-panel-visual .branch-service-tag,
  html body.branches-page-body:not(.admin-page) .branch-info-head-visual .branch-service-tag{
    padding:5px 6px!important;
    font-size:11.2px!important;
  }
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button.kakao > span{
    width:47px!important;
    height:47px!important;
  }
}
/* END v3.10.306 */

/* v3.10.310 home footer bottom spacing hotfix
   기준: v3.10.306 안정 버전. 폐기된 v3.10.307~v3.10.309 변경은 반영하지 않음.
   목적: 홈 화면에서 비국문 언어 선택 시 .phone main에 추가되던 i18n 하단 여백을 제거하고,
   한국어 홈 화면과 동일하게 .page의 하단 네비 보호 여백만 사용한다. */
body.home-page:not(.admin-page) .phone main.home-main,
html[data-lang="en"] body.home-page:not(.admin-page) .phone main.home-main,
html[data-lang="zh-CN"] body.home-page:not(.admin-page) .phone main.home-main,
html[data-lang="ja"] body.home-page:not(.admin-page) .phone main.home-main,
html[data-lang="vi"] body.home-page:not(.admin-page) .phone main.home-main,
html[data-lang="th"] body.home-page:not(.admin-page) .phone main.home-main,
html[lang="en"] body.home-page:not(.admin-page) .phone main.home-main,
html[lang="zh-CN"] body.home-page:not(.admin-page) .phone main.home-main,
html[lang="ja"] body.home-page:not(.admin-page) .phone main.home-main,
html[lang="vi"] body.home-page:not(.admin-page) .phone main.home-main,
html[lang="th"] body.home-page:not(.admin-page) .phone main.home-main{
  padding-bottom:0!important;
}
body.home-page:not(.admin-page) .page,
html[data-lang="en"] body.home-page:not(.admin-page) .page,
html[data-lang="zh-CN"] body.home-page:not(.admin-page) .page,
html[data-lang="ja"] body.home-page:not(.admin-page) .page,
html[data-lang="vi"] body.home-page:not(.admin-page) .page,
html[data-lang="th"] body.home-page:not(.admin-page) .page,
html[lang="en"] body.home-page:not(.admin-page) .page,
html[lang="zh-CN"] body.home-page:not(.admin-page) .page,
html[lang="ja"] body.home-page:not(.admin-page) .page,
html[lang="vi"] body.home-page:not(.admin-page) .page,
html[lang="th"] body.home-page:not(.admin-page) .page{
  padding-bottom:96px!important;
}
body.home-page:not(.admin-page) .bps-common-footer,
html[data-lang="en"] body.home-page:not(.admin-page) .bps-common-footer,
html[data-lang="zh-CN"] body.home-page:not(.admin-page) .bps-common-footer,
html[data-lang="ja"] body.home-page:not(.admin-page) .bps-common-footer,
html[data-lang="vi"] body.home-page:not(.admin-page) .bps-common-footer,
html[data-lang="th"] body.home-page:not(.admin-page) .bps-common-footer,
html[lang="en"] body.home-page:not(.admin-page) .bps-common-footer,
html[lang="zh-CN"] body.home-page:not(.admin-page) .bps-common-footer,
html[lang="ja"] body.home-page:not(.admin-page) .bps-common-footer,
html[lang="vi"] body.home-page:not(.admin-page) .bps-common-footer,
html[lang="th"] body.home-page:not(.admin-page) .bps-common-footer{
  margin-bottom:14px!important;
}
@media (max-width:430px){
  body.home-page:not(.admin-page) .page,
  html[data-lang="en"] body.home-page:not(.admin-page) .page,
  html[data-lang="zh-CN"] body.home-page:not(.admin-page) .page,
  html[data-lang="ja"] body.home-page:not(.admin-page) .page,
  html[data-lang="vi"] body.home-page:not(.admin-page) .page,
  html[data-lang="th"] body.home-page:not(.admin-page) .page,
  html[lang="en"] body.home-page:not(.admin-page) .page,
  html[lang="zh-CN"] body.home-page:not(.admin-page) .page,
  html[lang="ja"] body.home-page:not(.admin-page) .page,
  html[lang="vi"] body.home-page:not(.admin-page) .page,
  html[lang="th"] body.home-page:not(.admin-page) .page{
    padding-bottom:92px!important;
  }
  body.home-page:not(.admin-page) .bps-common-footer,
  html[data-lang="en"] body.home-page:not(.admin-page) .bps-common-footer,
  html[data-lang="zh-CN"] body.home-page:not(.admin-page) .bps-common-footer,
  html[data-lang="ja"] body.home-page:not(.admin-page) .bps-common-footer,
  html[data-lang="vi"] body.home-page:not(.admin-page) .bps-common-footer,
  html[data-lang="th"] body.home-page:not(.admin-page) .bps-common-footer,
  html[lang="en"] body.home-page:not(.admin-page) .bps-common-footer,
  html[lang="zh-CN"] body.home-page:not(.admin-page) .bps-common-footer,
  html[lang="ja"] body.home-page:not(.admin-page) .bps-common-footer,
  html[lang="vi"] body.home-page:not(.admin-page) .bps-common-footer,
  html[lang="th"] body.home-page:not(.admin-page) .bps-common-footer{
    margin-bottom:10px!important;
  }
}
/* END v3.10.310 */

/* v3.10.317 Guide content quick-menu exposure setting */
.guide-content-quick-menu-setting{display:grid;gap:10px;margin:12px;padding:12px;border:1px solid rgba(89,97,95,.12);border-radius:16px;background:#fbfaf6;}
.guide-content-quick-menu-head{display:grid;gap:3px;}
.guide-content-quick-menu-head strong{font-size:13px;font-weight:900;color:#343a38;}
.guide-content-quick-menu-head span{color:var(--muted);font-size:11.5px;line-height:1.45;}
.guide-content-quick-menu-options{display:flex;flex-wrap:wrap;gap:8px;}
.guide-content-quick-menu-options .toggle-row.compact{min-height:30px;padding:6px 10px;border-radius:999px;background:#fff;}
.guide-content-quick-menu-visible{width:max-content;background:#f3efe8;}
@media (max-width:760px){.guide-content-quick-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.guide-content-quick-menu-visible{width:auto;}}


/* v3.10.325 Guide content title/summary i18n field layout */
.admin-page .guide-content-i18n-fields{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-width:0;
}
.admin-page .guide-content-i18n-fields .home-i18n-panel{
  margin:0;
  border-radius:16px;
  background:#fffdf9;
  border-color:rgba(80,68,58,.14);
}
.admin-page .guide-content-i18n-fields .home-i18n-panel summary{
  padding:12px 14px;
  font-size:13px;
  letter-spacing:-.03em;
}
.admin-page .guide-content-i18n-fields .home-i18n-grid,
.admin-page .guide-content-i18n-fields .home-i18n-grid.compact{
  grid-template-columns:repeat(2,minmax(240px,1fr));
  gap:12px 14px;
  padding:14px;
}
.admin-page .guide-content-i18n-fields .home-i18n-grid .field-label.mini{
  display:grid;
  gap:7px;
  min-width:0;
  font-size:12px;
  line-height:1.35;
  color:#5d554f;
}
.admin-page .guide-content-i18n-fields .cms-input,
.admin-page .guide-content-i18n-fields .cms-textarea{
  width:100%;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.45;
}
.admin-page .guide-content-i18n-fields .cms-input{
  min-height:42px;
  padding:10px 12px;
}
.admin-page .guide-content-i18n-fields .cms-textarea.compact{
  min-height:104px;
  padding:10px 12px;
  resize:vertical;
  overflow:auto;
  white-space:pre-wrap;
}
@media (max-width:900px){
  .admin-page .guide-content-i18n-fields .home-i18n-grid,
  .admin-page .guide-content-i18n-fields .home-i18n-grid.compact{
    grid-template-columns:1fr;
  }
}


/* v3.10.332 Guide featured subcard modal + smoother native swipe */
.guides-page-body .guide-page-small-list[data-guide-list],
.home-guide-small-list[data-guide-list]{
  scroll-snap-type:x proximity!important;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y!important;
}
.guides-page-body .guide-page-small-list[data-guide-list] .guide-small-card,
.home-guide-small-list[data-guide-list] .guide-small-card{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
.guides-page-body .guide-page-small-list[data-guide-list]{
  scroll-padding-left:4px;
}


/* v3.10.333 Home Guide Pick group carousel */
/* v3.10.334 Home Guide Pick main card swipe fix */
/* v3.10.337 Home Guide Pick safe gap: keep rest-state width, reveal gap only while swiping */
.home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-hero-card[data-guide-group-mode="carousel"]{
  display:block!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.home-guide-group-carousel{
  --home-guide-group-gap:18px;
  position:relative;
  width:100%;
  overflow:hidden;
  margin-top:0;
}
.home-guide-group-track{
  display:flex;
  gap:0;
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:none;
}
.home-guide-group-track::-webkit-scrollbar{display:none;}
.home-guide-group-slide{
  flex:0 0 calc(100% + var(--home-guide-group-gap));
  width:calc(100% + var(--home-guide-group-gap));
  min-width:calc(100% + var(--home-guide-group-gap));
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:block;
  padding:0;
  box-sizing:border-box;
}
.home-guide-group-slide-inner{
  display:grid;
  gap:12px;
  align-content:start;
  width:calc(100% - var(--home-guide-group-gap));
  max-width:calc(100% - var(--home-guide-group-gap));
  min-width:0;
  padding:0 0 2px;
  box-sizing:border-box;
}
.home-guide-group-slide:not(.is-active){
  pointer-events:auto;
}
.home-guide-group-main{
  display:block;
  border-radius:28px;
  box-shadow:0 18px 42px rgba(32,28,24,.10);
  overflow:hidden;
}

.home-guide-group-main,
.home-guide-group-main .guide-home-hero-media,
.home-guide-group-main .guide-card-visual,
.home-guide-group-main .guide-card-visual img{
  touch-action:pan-x pan-y;
}
.home-guide-group-subcards.home-guide-small-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:12px;
  overflow:visible!important;
  margin:1px 0 0!important;
  padding:2px 0 8px!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:auto!important;
  touch-action:auto!important;
}
.home-guide-group-subcards .home-guide-thumb-card{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:none!important;
  scroll-snap-align:none!important;
}
.home-guide-pick-section[data-guide-group-carousel="true"] > .home-guide-small-list[data-guide-list][hidden]{
  display:none!important;
}
@media (max-width:390px){
  .home-guide-group-carousel{--home-guide-group-gap:14px;}
  .home-guide-group-slide-inner{gap:10px;}
  .home-guide-group-subcards.home-guide-small-list{gap:10px;}
}

/* v3.10.339 Guides page topic group carousel safe retry
   Keep /guides rest-state clipped inside its own viewport. The page carousel uses
   a dedicated track/slide set instead of reusing the home carousel selectors. */
.guides-main[data-guide-group-carousel="true"] .guide-page-main-card[data-guide-group-mode="carousel"]{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.guide-page-topic-group-carousel{
  --guide-page-topic-gap:18px;
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  box-sizing:border-box;
}
.guide-page-topic-group-track{
  display:flex;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  scrollbar-width:none;
  box-sizing:border-box;
}
.guide-page-topic-group-track::-webkit-scrollbar{display:none;}
.guide-page-topic-group-slide{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  margin-right:var(--guide-page-topic-gap);
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-sizing:border-box;
}
.guide-page-topic-group-slide:last-child{margin-right:0;}
.guide-page-topic-group-slide-inner{
  display:grid;
  gap:12px;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.guide-page-topic-group-main.guide-hero-card{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.guide-page-topic-group-main,
.guide-page-topic-group-main .guide-page-main-open,
.guide-page-topic-group-main .guide-card-visual,
.guide-page-topic-group-main .guide-card-visual img,
.guide-page-topic-group-subcards,
.guide-page-topic-group-subcards .guide-small-card{
  touch-action:pan-x pan-y;
}
.guide-page-topic-group-subcards.guide-page-small-list{
  display:flex!important;
  grid-template-columns:none!important;
  gap:10px;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible!important;
  margin:0!important;
  padding:2px 0 8px!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:auto!important;
  box-sizing:border-box;
}
.guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{
  flex:0 0 72%;
  min-width:0;
  scroll-snap-align:none!important;
}
.guides-main[data-guide-group-carousel="true"] .guide-page-small-list[data-guide-list][hidden]{
  display:none!important;
}
@media (max-width:430px){
  .guide-page-topic-group-carousel{--guide-page-topic-gap:14px;}
  .guide-page-topic-group-slide-inner{gap:10px;}
  .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{flex-basis:84%;}
}
@media (min-width:760px){
  .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{flex-basis:245px;}
}


/* v3.10.340 Guides topic subcard layout fix
   The /guides topic carousel already moves the whole category group.
   Keep the subcards inside each active slide as a fixed in-slide list so
   neighboring category subcards cannot bleed into the current viewport. */
.guide-page-topic-group-slide{
  overflow:hidden!important;
}
.guide-page-topic-group-slide-inner{
  overflow:hidden!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:2px 0 8px!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overscroll-behavior-x:auto!important;
  touch-action:pan-x pan-y!important;
  box-sizing:border-box!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto!important;
  align-content:start!important;
  align-items:start!important;
  flex:0 1 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  gap:7px!important;
  padding:8px!important;
  overflow:hidden!important;
  scroll-snap-align:none!important;
  box-sizing:border-box!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card .guide-card-visual{
  grid-column:1!important;
  grid-row:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  margin:0!important;
  align-self:auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card .guide-card-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-kicker{
  gap:4px!important;
  overflow:hidden!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-kicker span,
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-kicker em{
  max-width:100%!important;
  padding:3px 6px!important;
  font-size:10px!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-width:0!important;
  font-size:13px!important;
  line-height:1.32!important;
  letter-spacing:-.045em!important;
}
@media (max-width:430px){
  .guides-page-body .guide-page-topic-group-subcards.guide-page-small-list{
    gap:8px!important;
  }
  .guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:7px!important;
  }
  .guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card strong{
    font-size:12.5px!important;
  }
}
@media (min-width:760px){
  .guides-page-body .guide-page-topic-group-subcards.guide-page-small-list{
    grid-template-columns:repeat(3, minmax(0, 245px))!important;
    justify-content:start!important;
  }
}

/* v3.10.348 홈 지점 안내 — 레퍼런스형 쇼케이스 스택 컴포넌트 */
body:not(.admin-page) .home-branch-section{
  overflow:hidden;
}
body:not(.admin-page) .bp-branch-showcase-head{
  align-items:flex-end;
}
body:not(.admin-page) .bp-branch-showcase{
  --bp-branch-radius:32px;
  width:100%;
  max-width:820px;
  margin:22px auto 0;
  padding:0 2px 8px;
  box-sizing:border-box;
}
body:not(.admin-page) .bp-branch-showcase-stack{
  width:100%;
  display:block;
  filter:drop-shadow(0 22px 34px rgba(46,39,31,.09));
}
body:not(.admin-page) .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel{
  --region-bg:#f5f1e9;
  --region-border:rgba(89,78,63,.12);
  position:relative;
  width:100%;
  border:1px solid var(--region-border);
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.82), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, rgba(255,255,255,.2), rgba(255,255,255,0)),
    var(--region-bg);
  color:#2d2a25;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="capital"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="capital"]{--region-bg:#edf5ee;--region-border:rgba(104,137,117,.18);}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="chungcheong"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="chungcheong"]{--region-bg:#f9eded;--region-border:rgba(177,129,129,.16);}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="jeolla"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeolla"]{--region-bg:#fbf1d6;--region-border:rgba(169,135,72,.18);}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="gyeongsang"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gyeongsang"]{--region-bg:#f5f2e9;--region-border:rgba(137,126,102,.16);}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="gangwon"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gangwon"]{--region-bg:#f7e9a8;--region-border:rgba(168,141,59,.2);}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="jeju"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeju"]{--region-bg:#eaf5ef;--region-border:rgba(93,143,116,.18);}
body:not(.admin-page) .bp-branch-folded-layer{
  height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 70px;
  border-radius:30px;
  margin:0;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.7),
    0 12px 22px rgba(42,35,28,.055);
  cursor:pointer;
  font:inherit;
}
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-open-panel{
  margin-top:-15px;
}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(1){z-index:6;}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(2){z-index:5;}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(3){z-index:4;}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(4){z-index:3;}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(5){z-index:2;}
body:not(.admin-page) .bp-branch-folded-layer:nth-child(6){z-index:1;}
body:not(.admin-page) .bp-branch-folded-layer span,
body:not(.admin-page) .bp-branch-open-head span{
  display:block;
  white-space:nowrap;
  word-break:keep-all;
  text-align:center;
  font-size:clamp(19px, 4.8vw, 28px);
  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
}
body:not(.admin-page) .bp-branch-folded-layer i,
body:not(.admin-page) .bp-branch-open-head i{
  position:absolute;
  right:28px;
  top:50%;
  width:15px;
  height:15px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-58%) rotate(45deg);
  opacity:.46;
}
body:not(.admin-page) .bp-branch-open-panel{
  z-index:40!important;
  border-radius:34px;
  margin-top:-10px;
  padding:23px 18px 20px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 26px 52px rgba(42,35,28,.13);
  overflow:hidden;
}
body:not(.admin-page) .bp-branch-open-head{
  position:relative;
  width:100%;
  min-height:48px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 70px;
}
body:not(.admin-page) .bp-branch-open-head i{
  transform:translateY(-35%) rotate(-135deg);
  opacity:.68;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:16px;
  padding:16px;
  border-radius:28px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 14px 30px rgba(42,35,28,.06);
}
body:not(.admin-page) .bp-branch-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  grid-template-columns:minmax(0,1fr);
  max-width:260px;
}
body:not(.admin-page) .bp-branch-card{
  display:grid;
  gap:10px;
  padding:10px;
  min-width:0;
  border-radius:22px;
  background:rgba(255,255,255,.93);
  border:1px solid rgba(75,65,52,.08);
  box-shadow:0 12px 26px rgba(42,35,28,.055);
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease;
}
body:not(.admin-page) .bp-branch-card:active{transform:translateY(1px) scale(.992);}
body:not(.admin-page) .bp-branch-card-image{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  border-radius:17px;
  overflow:hidden;
  background:#f6efe7;
}
body:not(.admin-page) .bp-branch-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body:not(.admin-page) .bp-branch-card-copy{
  display:grid;
  gap:3px;
  padding:0 3px 2px;
}
body:not(.admin-page) .bp-branch-card-copy strong{
  font-size:15px;
  line-height:1.18;
  font-weight:850;
  letter-spacing:-.045em;
  word-break:keep-all;
}
body:not(.admin-page) .bp-branch-card-copy em{
  font-style:normal;
  font-size:11px;
  color:rgba(45,42,37,.58);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body:not(.admin-page) .bp-branch-card-copy b{
  margin-top:4px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  color:rgba(99,78,58,.76);
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-showcase{max-width:780px;margin-top:26px;}
  body:not(.admin-page) .bp-branch-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{grid-template-columns:minmax(0,220px);}
  body:not(.admin-page) .bp-branch-card-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,220px));}
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-showcase{margin-top:18px;padding-inline:0;}
  body:not(.admin-page) .bp-branch-folded-layer{height:62px;border-radius:28px;padding:0 56px;}
  body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-open-panel{margin-top:-14px;}
  body:not(.admin-page) .bp-branch-open-panel{border-radius:31px;padding:20px 14px 17px;}
  body:not(.admin-page) .bp-branch-open-head{padding:0 54px;}
  body:not(.admin-page) .bp-branch-folded-layer i,
  body:not(.admin-page) .bp-branch-open-head i{right:24px;width:13px;height:13px;}
  body:not(.admin-page) .bp-branch-display-panel{padding:12px;border-radius:24px;}
  body:not(.admin-page) .bp-branch-card-grid{gap:10px;}
  body:not(.admin-page) .bp-branch-card{padding:8px;border-radius:19px;}
  body:not(.admin-page) .bp-branch-card-image{border-radius:15px;}
  body:not(.admin-page) .bp-branch-card-copy strong{font-size:14px;}
}

/* v3.10.348 관리자 홈 지점 카드 이미지 관리 */
.admin-page .home-branch-card-image-manager{gap:14px;}
.admin-page .home-branch-admin-guide{
  display:grid;
  gap:5px;
  padding:13px 14px;
  border-radius:18px;
  background:#f8f3ed;
  border:1px solid #eadfd4;
  color:#6f6257;
  font-size:12px;
}
.admin-page .home-branch-admin-groups{display:grid;gap:10px;}
.admin-page .home-branch-admin-group{border:1px solid #eadfd4;border-radius:20px;background:#fffaf5;overflow:hidden;}
.admin-page .home-branch-admin-group summary{cursor:pointer;list-style:none;padding:15px 17px;font-weight:900;display:flex;justify-content:space-between;align-items:center;}
.admin-page .home-branch-admin-group summary::-webkit-details-marker{display:none;}
.admin-page .home-branch-admin-group summary small{color:#9b8370;}
.admin-page .home-branch-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px;}
.admin-page .home-branch-admin-card{display:grid;gap:10px;padding:12px;border-radius:18px;background:#fff;border:1px solid #eee4da;}
.admin-page .home-branch-admin-preview{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#f5eee8;}
.admin-page .home-branch-admin-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.admin-page .home-branch-admin-copy{display:grid;gap:3px;}
.admin-page .home-branch-admin-copy strong{font-size:14px;font-weight:900;}
.admin-page .home-branch-admin-copy span{font-size:11px;color:#8b7c70;}
.admin-page .home-branch-admin-copy code{font-size:10px;color:#9c8d80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-page .home-branch-admin-drop{display:grid;gap:4px;place-items:center;padding:10px;border:1px dashed #d5c5b6;border-radius:14px;background:#faf6f1;cursor:pointer;text-align:center;}
.admin-page .home-branch-admin-drop input{display:none;}
.admin-page .home-branch-admin-drop b{font-size:12px;}
.admin-page .home-branch-admin-drop em{font-size:10px;color:#8b7c70;font-style:normal;}
@media (max-width:900px){.admin-page .home-branch-admin-grid{grid-template-columns:1fr;}}

/* v3.10.350 홈 지점 안내 쇼케이스 디자인 보강
   - 열린 패널 헤더 좌측 정렬
   - 닫힌 레이어 높이/위계 조정
   - 지점 수별 카드 그리드 보정
   - 하단 고정 네비 겹침 완화 */
body:not(.admin-page) .home-branch-section{
  overflow:visible!important;
  padding-bottom:clamp(34px, 8vw, 82px)!important;
}
body:not(.admin-page) .bp-branch-showcase{
  --bp-branch-radius:30px;
  max-width:820px!important;
  margin-top:clamp(18px, 4vw, 26px)!important;
  padding:0 1px 18px!important;
}
body:not(.admin-page) .bp-branch-showcase-stack{
  filter:drop-shadow(0 18px 28px rgba(42,35,28,.075))!important;
  isolation:isolate;
}
body:not(.admin-page) .bp-branch-folded-layer{
  height:56px!important;
  min-height:56px!important;
  border-radius:27px!important;
  padding:0 60px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 8px 18px rgba(42,35,28,.045)!important;
  opacity:.94;
}
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-open-panel{
  margin-top:-12px!important;
}
body:not(.admin-page) .bp-branch-folded-layer span{
  font-size:clamp(18px, 4.3vw, 24px)!important;
  font-weight:820!important;
  letter-spacing:-.052em!important;
}
body:not(.admin-page) .bp-branch-folded-layer i{
  right:25px!important;
  width:12px!important;
  height:12px!important;
  border-width:1.8px!important;
  opacity:.44!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  z-index:50!important;
  border-radius:31px!important;
  margin-top:-8px!important;
  padding:20px 17px 18px!important;
  background:
    radial-gradient(circle at 13% 0%, rgba(255,255,255,.92), rgba(255,255,255,0) 36%),
    linear-gradient(135deg, rgba(255,255,255,.30), rgba(255,255,255,0)),
    var(--region-bg)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 24px 48px rgba(42,35,28,.125)!important;
}
body:not(.admin-page) .bp-branch-open-head{
  min-height:42px!important;
  justify-content:flex-start!important;
  padding:0 54px 0 4px!important;
}
body:not(.admin-page) .bp-branch-open-head span{
  text-align:left!important;
  font-size:clamp(22px, 5.3vw, 30px)!important;
  font-weight:860!important;
  letter-spacing:-.058em!important;
}
body:not(.admin-page) .bp-branch-open-head i{
  right:22px!important;
  width:13px!important;
  height:13px!important;
  border-width:2px!important;
  opacity:.62!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:14px!important;
  padding:15px!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 12px 26px rgba(42,35,28,.052)!important;
}
body:not(.admin-page) .bp-branch-card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%;
  align-items:stretch!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:min(100%, 360px)!important;
  margin-inline:auto!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="2"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:100%!important;
  margin-inline:auto!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="3"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body:not(.admin-page) .bp-branch-card{
  gap:11px!important;
  padding:11px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.955)!important;
  border:1px solid rgba(75,65,52,.075)!important;
  box-shadow:0 10px 24px rgba(42,35,28,.052)!important;
}
body:not(.admin-page) .bp-branch-card-image{
  aspect-ratio:16/10!important;
  border-radius:16px!important;
}
body:not(.admin-page) .bp-branch-card-copy{
  text-align:center!important;
  justify-items:center!important;
  gap:5px!important;
  padding:0 2px 3px!important;
}
body:not(.admin-page) .bp-branch-card-copy strong{
  font-size:clamp(15px, 3.8vw, 18px)!important;
  line-height:1.12!important;
  font-weight:850!important;
}
body:not(.admin-page) .bp-branch-card-copy em{
  font-size:12px!important;
  color:rgba(45,42,37,.60)!important;
}
body:not(.admin-page) .bp-branch-card-copy b{
  margin-top:2px!important;
  font-size:12.5px!important;
  color:rgba(95,76,58,.78)!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-showcase{max-width:780px!important;}
  body:not(.admin-page) .bp-branch-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{grid-template-columns:minmax(0,280px)!important;justify-content:center!important;}
  body:not(.admin-page) .bp-branch-card-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,250px))!important;justify-content:center!important;}
  body:not(.admin-page) .bp-branch-card-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-showcase{padding-bottom:14px!important;}
  body:not(.admin-page) .bp-branch-folded-layer{height:54px!important;min-height:54px!important;border-radius:26px!important;padding:0 52px!important;}
  body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-open-panel{margin-top:-11px!important;}
  body:not(.admin-page) .bp-branch-open-panel{border-radius:29px!important;padding:18px 13px 15px!important;}
  body:not(.admin-page) .bp-branch-open-head{padding:0 44px 0 4px!important;}
  body:not(.admin-page) .bp-branch-open-head i{right:20px!important;}
  body:not(.admin-page) .bp-branch-display-panel{padding:12px!important;border-radius:23px!important;}
  body:not(.admin-page) .bp-branch-card-grid{gap:10px!important;}
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{max-width:min(100%, 315px)!important;}
  body:not(.admin-page) .bp-branch-card{padding:9px!important;border-radius:20px!important;}
  body:not(.admin-page) .bp-branch-card-image{border-radius:15px!important;}
}


/* v3.10.351 홈 지점 안내 카드/이미지 보강
   - 지점 묶음 테두리 제거
   - 지점 카드를 지역 박스 내부에 직접 전시
   - 지점 이미지 1:1 정사각형 표시
   - 관리자 지점 이미지 드래그&드롭/12MB 안내 */
body:not(.admin-page) .bp-branch-open-panel{
  padding:20px 18px 22px!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:16px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body:not(.admin-page) .bp-branch-card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:min(100%, 378px)!important;
  justify-content:center!important;
  margin-inline:auto!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="2"]{
  max-width:100%!important;
}
body:not(.admin-page) .bp-branch-card{
  padding:10px 10px 13px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(70,62,52,.07)!important;
  box-shadow:0 16px 34px rgba(42,35,28,.07)!important;
}
body:not(.admin-page) .bp-branch-card-image{
  aspect-ratio:1/1!important;
  border-radius:19px!important;
  background:#f7f1eb!important;
}
body:not(.admin-page) .bp-branch-card-image img{
  object-fit:cover!important;
  object-position:center!important;
}
body:not(.admin-page) .bp-branch-card-copy{
  gap:6px!important;
  padding:0 4px 1px!important;
}
body:not(.admin-page) .bp-branch-card-copy strong{
  font-size:clamp(16px, 4.1vw, 19px)!important;
}
body:not(.admin-page) .bp-branch-card-copy em{
  font-size:12.5px!important;
}
body:not(.admin-page) .bp-branch-card-copy b{
  font-size:13px!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    grid-template-columns:minmax(0,320px)!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="2"]{
    grid-template-columns:repeat(2,minmax(0,280px))!important;
    justify-content:center!important;
  }
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-open-panel{
    padding:18px 14px 18px!important;
  }
  body:not(.admin-page) .bp-branch-display-panel{
    margin-top:14px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid{
    gap:12px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    max-width:min(100%, 340px)!important;
  }
  body:not(.admin-page) .bp-branch-card{
    padding:9px 9px 12px!important;
    border-radius:22px!important;
  }
  body:not(.admin-page) .bp-branch-card-image{
    border-radius:17px!important;
  }
}
.admin-page .home-branch-admin-preview{
  aspect-ratio:1/1!important;
}
.admin-page .home-branch-admin-drop{
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.admin-page .home-branch-admin-drop.is-dragover{
  border-color:#8e7561!important;
  background:#fff7ee!important;
  box-shadow:0 10px 24px rgba(88,69,52,.12)!important;
  transform:translateY(-1px);
}


/* v3.10.353 홈 지점 안내 스크롤 앵커 안전 보정
   - v3.10.351의 클릭/펼침 구조 유지
   - 긴 지역에서 다른 지역으로 전환할 때 선택 지역 위치만 보정
   - 닫힘 상태의 강제 하단 여백 추가 없음 */
body:not(.admin-page) .bp-branch-showcase,
body:not(.admin-page) .bp-branch-showcase-stack,
body:not(.admin-page) .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel{
  overflow-anchor:none!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  scroll-margin-top:16px!important;
}
body:not(.admin-page) .bp-branch-card-grid{
  padding-bottom:clamp(10px, 2.5vw, 20px)!important;
}


/* v3.10.354 홈 지점 안내 비주얼 폴리싱
   - 열린 지역 제목의 시각 무게를 소폭 완화
   - 단일 지점 카드 폭/내부 여백을 정돈해 쇼케이스 느낌 보강
   - 클릭/스크롤 앵커/하단 여백 로직은 변경하지 않음 */
body:not(.admin-page) .bp-branch-open-head{
  min-height:38px!important;
  padding:0 52px 0 4px!important;
}
body:not(.admin-page) .bp-branch-open-head span{
  font-size:clamp(21px, 5.05vw, 28px)!important;
  font-weight:820!important;
  letter-spacing:-.052em!important;
  line-height:1.1!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  padding-top:18px!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:13px!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  max-width:min(92%, 332px)!important;
  justify-content:center!important;
  justify-items:center!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card{
  width:100%!important;
  padding:10px 10px 15px!important;
  border-radius:23px!important;
  box-shadow:0 14px 30px rgba(42,35,28,.064)!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-image{
  border-radius:18px!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy{
  gap:5px!important;
  padding:2px 4px 0!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy strong{
  font-size:clamp(16px, 4vw, 18px)!important;
  line-height:1.14!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy em{
  margin-top:1px!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy b{
  margin-top:4px!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-open-head span{
    font-size:27px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    grid-template-columns:minmax(0, 310px)!important;
    max-width:310px!important;
  }
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-open-head{
    min-height:36px!important;
    padding:0 42px 0 3px!important;
  }
  body:not(.admin-page) .bp-branch-open-head span{
    font-size:clamp(20px, 5.3vw, 25px)!important;
    font-weight:810!important;
  }
  body:not(.admin-page) .bp-branch-open-panel{
    padding-top:16px!important;
  }
  body:not(.admin-page) .bp-branch-display-panel{
    margin-top:12px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    max-width:min(90%, 314px)!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card{
    padding:9px 9px 14px!important;
    border-radius:22px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy{
    padding-top:1px!important;
  }
}


/* v3.10.355 홈 지점 안내 밀도/타이포 정리
   - 권역명 체계 통일에 맞춰 카드 내부 중복 권역명 제거
   - 권역 패널/카드 간 여백을 줄여 개별 지점 카드의 시각 면적 확대
   - 권역 제목 및 지점명 볼드 무게 완화 */
body:not(.admin-page) .bp-branch-folded-layer span{
  font-weight:760!important;
  letter-spacing:-.045em!important;
}
body:not(.admin-page) .bp-branch-open-head span{
  font-size:clamp(20px, 4.9vw, 26px)!important;
  font-weight:760!important;
  letter-spacing:-.044em!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  padding:16px 10px 13px!important;
}
body:not(.admin-page) .bp-branch-open-head{
  min-height:34px!important;
  padding:0 48px 0 2px!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:10px!important;
  padding:8px!important;
  border-radius:22px!important;
}
body:not(.admin-page) .bp-branch-card-grid{
  gap:8px!important;
  padding-bottom:10px!important;
}
body:not(.admin-page) .bp-branch-card{
  padding:7px 7px 11px!important;
  border-radius:19px!important;
}
body:not(.admin-page) .bp-branch-card-image{
  border-radius:14px!important;
}
body:not(.admin-page) .bp-branch-card-copy{
  gap:0!important;
  padding:7px 2px 0!important;
}
body:not(.admin-page) .bp-branch-card-copy strong{
  font-size:clamp(15px, 3.65vw, 17px)!important;
  font-weight:720!important;
  line-height:1.16!important;
  letter-spacing:-.045em!important;
}
body:not(.admin-page) .bp-branch-card-copy em{
  display:none!important;
}
body:not(.admin-page) .bp-branch-card-copy b{
  margin-top:6px!important;
  font-size:clamp(12px, 3.25vw, 14px)!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  max-width:min(88%, 318px)!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card{
  padding:8px 8px 12px!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy{
  padding-top:8px!important;
}
body:not(.admin-page) .bp-branch-card-grid[data-count="1"] .bp-branch-card-copy strong{
  font-size:clamp(16px, 3.9vw, 18px)!important;
  font-weight:720!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-open-panel{
    padding:18px 14px 15px!important;
  }
  body:not(.admin-page) .bp-branch-display-panel{
    padding:10px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid{
    gap:10px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    grid-template-columns:minmax(0, 300px)!important;
    max-width:300px!important;
  }
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-folded-layer span{
    font-size:18px!important;
    font-weight:760!important;
  }
  body:not(.admin-page) .bp-branch-open-head span{
    font-size:clamp(19px, 5vw, 24px)!important;
    font-weight:750!important;
  }
  body:not(.admin-page) .bp-branch-open-panel{
    padding:15px 9px 12px!important;
  }
  body:not(.admin-page) .bp-branch-display-panel{
    margin-top:9px!important;
    padding:7px!important;
  }
  body:not(.admin-page) .bp-branch-card-grid{
    gap:7px!important;
  }
  body:not(.admin-page) .bp-branch-card{
    padding:6px 6px 10px!important;
    border-radius:18px!important;
  }
  body:not(.admin-page) .bp-branch-card-copy strong{
    font-size:clamp(14px, 3.8vw, 16px)!important;
  }
  body:not(.admin-page) .bp-branch-card-copy b{
    margin-top:5px!important;
    font-size:clamp(12px, 3.15vw, 13px)!important;
  }
  body:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
    max-width:min(86%, 304px)!important;
  }
}


/* v3.10.356 홈 지점 안내 세이지/아이보리 단일 톤 정리
   - 권역별 컬러 구분 제거
   - 닫힌 권역은 동일한 연세이지/아이보리 톤
   - 열린 권역만 한 단계 진한 같은 계열로 강조
   - 실제 지점 카드와 이미지가 주인공이 되도록 배경 채도 완화 */
body:not(.admin-page) .bp-branch-showcase{
  --bp-branch-folded-bg:#f3f6f2;
  --bp-branch-open-bg:#eef3ee;
  --bp-branch-border:#e3e8e1;
  --bp-branch-text:#2f2f2b;
  --bp-branch-muted:#7a776f;
  --bp-branch-arrow:#8b877f;
}
body:not(.admin-page) .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone]{
  --region-bg:var(--bp-branch-folded-bg)!important;
  --region-border:rgba(144,154,140,.22)!important;
  color:var(--bp-branch-text)!important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.86), rgba(255,255,255,0) 34%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0)),
    var(--bp-branch-folded-bg)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 10px 20px rgba(48,58,48,.045)!important;
}
body:not(.admin-page) .bp-branch-open-panel,
body:not(.admin-page) .bp-branch-open-panel[data-region-tone]{
  --region-bg:var(--bp-branch-open-bg)!important;
  --region-border:rgba(128,145,127,.26)!important;
  color:var(--bp-branch-text)!important;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.9), rgba(255,255,255,0) 36%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    var(--bp-branch-open-bg)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 22px 42px rgba(48,58,48,.09)!important;
}
body:not(.admin-page) .bp-branch-folded-layer i,
body:not(.admin-page) .bp-branch-open-head i{
  color:var(--bp-branch-arrow)!important;
  opacity:.72!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(227,232,225,.68)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.86),
    0 14px 30px rgba(58,62,52,.045)!important;
}
body:not(.admin-page) .bp-branch-card{
  background:#fff!important;
  border-color:rgba(232,228,218,.76)!important;
  box-shadow:0 10px 22px rgba(45,42,37,.045)!important;
}
body:not(.admin-page) .bp-branch-card-copy strong{
  color:var(--bp-branch-text)!important;
}
body:not(.admin-page) .bp-branch-card-copy b{
  color:#7c7266!important;
}

/* v3.10.357 Guides topic carousel height normalization
   Keep /guides category slides visually level while swiping by fixing the
   main-card text slot and sub-card slots instead of changing carousel logic. */
.guides-page-body .guide-page-topic-group-carousel{
  --guide-topic-copy-min:188px;
  --guide-topic-subcard-min:196px;
  --guide-topic-subcards-min:196px;
}
.guides-page-body .guide-page-topic-group-track{
  align-items:stretch!important;
}
.guides-page-body .guide-page-topic-group-slide{
  display:flex!important;
  align-items:stretch!important;
  align-self:stretch!important;
}
.guides-page-body .guide-page-topic-group-slide-inner{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(var(--guide-topic-subcards-min), auto)!important;
  align-content:start!important;
  align-items:stretch!important;
  height:100%!important;
}
.guides-page-body .guide-page-topic-group-main.guide-hero-card{
  display:grid!important;
  grid-template-rows:auto minmax(var(--guide-topic-copy-min), 1fr)!important;
  align-content:start!important;
  align-items:stretch!important;
}
.guides-page-body .guide-page-topic-group-main .guide-page-main-open{
  display:block!important;
  min-height:0!important;
}
.guides-page-body .guide-page-topic-group-main .guide-card-visual{
  width:100%!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  height:auto!important;
}
.guides-page-body .guide-page-topic-group-main .guide-hero-copy{
  min-height:var(--guide-topic-copy-min)!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0, 1fr) auto!important;
  align-content:stretch!important;
  align-items:start!important;
}
.guides-page-body .guide-page-topic-group-main .guide-hero-copy strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:calc(1.24em * 2)!important;
  line-height:1.24!important;
}
.guides-page-body .guide-page-topic-group-main .guide-hero-copy p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  min-height:calc(1.58em * 3)!important;
}
.guides-page-body .guide-page-topic-group-main .guide-hero-cta{
  align-self:end!important;
  width:100%!important;
  margin-top:12px!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list{
  min-height:var(--guide-topic-subcards-min)!important;
  align-items:stretch!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card{
  min-height:var(--guide-topic-subcard-min)!important;
  grid-template-rows:auto auto minmax(calc(1.32em * 2), 1fr)!important;
  align-content:start!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-kicker{
  min-height:25px!important;
  align-items:center!important;
}
.guides-page-body .guide-page-topic-group-subcards.guide-page-small-list .guide-small-card strong{
  min-height:calc(1.32em * 2)!important;
}
@media (max-width:430px){
  .guides-page-body .guide-page-topic-group-carousel{
    --guide-topic-copy-min:184px;
    --guide-topic-subcard-min:186px;
    --guide-topic-subcards-min:186px;
  }
  .guides-page-body .guide-page-topic-group-main .guide-hero-copy{
    padding:14px 16px 16px!important;
  }
}
@media (max-width:390px){
  .guides-page-body .guide-page-topic-group-carousel{
    --guide-topic-copy-min:178px;
    --guide-topic-subcard-min:178px;
    --guide-topic-subcards-min:178px;
  }
  .guides-page-body .guide-page-topic-group-main .guide-hero-copy strong{
    font-size:21px!important;
  }
}
@media (min-width:760px){
  .guides-page-body .guide-page-topic-group-carousel{
    --guide-topic-copy-min:178px;
    --guide-topic-subcard-min:198px;
    --guide-topic-subcards-min:198px;
  }
}


/* v3.10.358 홈 상황별 촬영 추천 카드 스케일 보강
   - 모바일에서 2열 고정처럼 보이던 추천 카드를 큰 프리뷰형 캐러셀로 조정
   - 한 장은 충분히 크게 보이고 다음 카드 일부가 노출되도록 폭/높이를 보강
   - 기존 클릭/이미지/CMS 로직은 변경하지 않음 */
@media (max-width:760px){
  .home-page .home-recommend-rail{
    display:flex!important;
    grid-auto-flow:initial!important;
    grid-auto-columns:initial!important;
    gap:14px!important;
    overflow-x:auto!important;
    padding:4px 18px 16px!important;
    margin:0 -18px!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:18px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .home-page .home-recommend-card{
    flex:0 0 clamp(286px,76vw,332px)!important;
    min-width:clamp(286px,76vw,332px)!important;
    min-height:292px!important;
    border-radius:28px!important;
    padding:20px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .home-page .home-recommend-card.has-bg,
  .home-page .home-recommend-card.copy-hidden.has-bg{
    min-height:292px!important;
  }
  .home-page .home-recommend-card .recommend-icon{
    width:48px!important;
    height:48px!important;
    border-radius:18px!important;
  }
  .home-page .home-recommend-card.copy-hidden > em,
  .home-page .home-recommend-card > em{
    min-height:38px!important;
    padding:9px 14px!important;
    font-size:12px!important;
  }
}
@media (max-width:390px){
  .home-page .home-recommend-card{
    flex-basis:clamp(278px,77vw,306px)!important;
    min-width:clamp(278px,77vw,306px)!important;
    min-height:282px!important;
  }
  .home-page .home-recommend-card.has-bg,
  .home-page .home-recommend-card.copy-hidden.has-bg{
    min-height:282px!important;
  }
}


/* v3.10.359 홈 상황별 촬영 추천 이미지 1:1 노출 정리
   - 홈 화면 카드 배경 이미지가 CMS 권장 규격과 일치하도록 1:1 정사각형 비율로 고정
   - 기존 캐러셀 폭/스와이프/클릭 로직은 유지
   - 관리자 미리보기 역시 동일한 1:1 기준으로 보정 */
.home-page .home-recommend-card.has-bg{
  aspect-ratio:1 / 1;
  min-height:unset;
  height:auto;
  background-size:cover;
  background-position:center;
}
.recommend-admin-preview.has-bg,
.home-preview-recommend-card.has-bg{
  aspect-ratio:1 / 1;
  min-height:unset;
  height:auto;
}
@media (max-width:760px){
  .home-page .home-recommend-card.has-bg,
  .home-page .home-recommend-card.copy-hidden.has-bg{
    aspect-ratio:1 / 1!important;
    min-height:unset!important;
    height:auto!important;
  }
}
@media (max-width:390px){
  .home-page .home-recommend-card.has-bg,
  .home-page .home-recommend-card.copy-hidden.has-bg{
    aspect-ratio:1 / 1!important;
    min-height:unset!important;
    height:auto!important;
  }
}


/* v3.10.360 촬영 서비스 active 탭 가시성 보정
   - 홈 추천 카드/URL 직접 진입 시 선택된 서비스 탭이 오른쪽 끝에 걸리지 않도록 여유 공간 확보
   - 마지막 탭도 scrollIntoView/scrollLeft 중앙 보정이 가능하도록 flex spacer 적용 */
.services-page .detail-tabs{
  scroll-padding-inline:20px 34px;
  padding-inline:8px 20px;
}
.services-page .detail-tabs::after{
  content:"";
  flex:0 0 18px;
  width:18px;
  height:1px;
}
.services-page .detail-tabs .tab{
  flex:0 0 auto;
  white-space:nowrap;
  max-width:none;
}
@media (max-width:390px){
  .services-page .detail-tabs{
    scroll-padding-inline:18px 32px;
    padding-inline:7px 18px;
  }
  .services-page .detail-tabs::after{
    flex-basis:16px;
    width:16px;
  }
}


/* v3.10.361 branch kakao CTA style/cache fix
   - 지점 상세 카드의 카톡문의 버튼을 무채움 라인형 골드 CTA로 최종 고정
   - 구형 진한 배경/그라디언트 규칙이 캐시 또는 선택자 우선순위로 남아도 이 규칙이 최종 승리하도록 범위를 넓힘 */
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao,
html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"],
html body.branches-page-body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"]{
  --branch-action-color:#b79a61!important;
  --branch-action-border:#d8c596!important;
  --branch-action-focus:rgba(183,154,97,.18)!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao > span,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span,
html body.branches-page-body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:hover > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:focus-visible > span,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao:active > span,
html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span{
  width:56px!important;
  height:56px!important;
  border:1.25px solid #d8c596!important;
  background:#fffefd!important;
  background-color:#fffefd!important;
  background-image:none!important;
  color:#b79a61!important;
  box-shadow:0 8px 18px rgba(44,39,34,.055)!important;
  filter:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual .branch-info-action-button.kakao > span svg,
html body.branches-page-body:not(.admin-page) .branch-info-actions-visual a.branch-info-action-button.kakao > span svg,
html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span svg,
html body.branches-page-body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span svg,
html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span svg,
html body:not(.admin-page) a.branch-info-action-button.kakao[data-branch-action="kakao"] > span svg{
  color:#b79a61!important;
  stroke:#b79a61!important;
  stroke-width:1.85!important;
  fill:none!important;
}
@media (max-width:420px){
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button.kakao > span,
  html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span,
  html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span{
    width:51px!important;
    height:51px!important;
  }
}
@media (max-width:360px){
  html body.branches-page-body:not(.admin-page) .branch-info-actions-visual.action-count-5 .branch-info-action-button.kakao > span,
  html body.branches-page-body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span,
  html body:not(.admin-page) .branch-info-action-button.kakao[data-branch-action="kakao"] > span{
    width:47px!important;
    height:47px!important;
  }
}
/* END v3.10.361 */

/* v3.10.362 branch gallery category swipe carousel */
body:not(.admin-page) .branch-gallery-grid.branch-gallery-carousel{
  --branch-gallery-slide-gap:18px;
  display:block!important;
  position:relative;
  overflow:hidden;
  touch-action:pan-y;
  transition:height .24s ease;
  will-change:height;
}
body:not(.admin-page) .branch-gallery-carousel-track{
  display:flex;
  align-items:flex-start;
  gap:0;
  width:100%;
  min-width:100%;
  transform:translate3d(0,0,0);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
body:not(.admin-page) .branch-gallery-carousel-track.is-dragging{
  transition:none!important;
}
body:not(.admin-page) .branch-gallery-slide{
  flex:0 0 calc(100% + var(--branch-gallery-slide-gap));
  width:calc(100% + var(--branch-gallery-slide-gap));
  min-width:calc(100% + var(--branch-gallery-slide-gap));
  max-width:calc(100% + var(--branch-gallery-slide-gap));
  box-sizing:border-box;
}
body:not(.admin-page) .branch-gallery-slide[aria-hidden="true"]{
  pointer-events:none;
}
body:not(.admin-page) .branch-gallery-slide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:calc(100% - var(--branch-gallery-slide-gap));
  max-width:calc(100% - var(--branch-gallery-slide-gap));
  min-width:0;
  box-sizing:border-box;
}
@media (max-width:430px){
  body:not(.admin-page) .branch-gallery-grid.branch-gallery-carousel{
    --branch-gallery-slide-gap:14px;
  }
  body:not(.admin-page) .branch-gallery-slide-grid{
    gap:9px;
  }
}
@media (prefers-reduced-motion:reduce){
  body:not(.admin-page) .branch-gallery-grid.branch-gallery-carousel,
  body:not(.admin-page) .branch-gallery-carousel-track{
    transition:none!important;
  }
}
/* END v3.10.362 */

/* v3.10.377 branch gallery slide gap follows Home Guide Pick carousel spacing */
body:not(.admin-page) .branch-gallery-grid.branch-gallery-carousel[data-active-group]{
  overflow:hidden;
}
/* END v3.10.377 */

/* v3.10.363 branch detail card swipe carousel */
html body.branches-page-body:not(.admin-page) .branch-info-carousel-card{
  display:block!important;
  overflow:hidden!important;
  touch-action:pan-y;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-carousel{
  position:relative;
  display:block;
  overflow:hidden;
  width:100%;
  touch-action:pan-y;
  transition:height .24s ease;
  will-change:height;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-track{
  display:flex;
  align-items:flex-start;
  width:100%;
  min-width:100%;
  transform:translate3d(0,0,0);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-carousel.is-dragging .branch-detail-card-track{
  transition:none!important;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-slide{
  flex:0 0 100%;
  min-width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:0 1px;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-slide[aria-hidden="true"]{
  pointer-events:none;
}
html body.branches-page-body:not(.admin-page) .branch-detail-card-slide .branch-info-panel-visual{
  margin:0;
}
@media (prefers-reduced-motion:reduce){
  html body.branches-page-body:not(.admin-page) .branch-detail-card-carousel,
  html body.branches-page-body:not(.admin-page) .branch-detail-card-track{
    transition:none!important;
  }
}
/* END v3.10.363 */

/* v3.10.364 상품 패키지: 앨범/액자 소개 카드 + 상세 이미지 모달 */
.package-feature-card-section{
  display:grid;
  gap:14px;
}
.package-feature-card-section[hidden]{
  display:none!important;
}
.package-feature-card{
  display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:18px!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#fff,#f5fbf7)!important;
  border:1px solid rgba(111,130,118,.16)!important;
  box-shadow:0 16px 38px rgba(48,58,52,.09)!important;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.package-feature-card:focus-visible{
  outline:3px solid rgba(60,72,67,.24);
  outline-offset:3px;
}
.package-feature-card:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 44px rgba(48,58,52,.12)!important;
}
.package-feature-card-media{
  display:block;
  overflow:hidden;
  border-radius:22px;
  aspect-ratio:1 / 1;
  background:#edf2ee;
  border:1px solid rgba(111,130,118,.12);
}
.package-feature-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.package-feature-card-media span{
  display:grid;
  place-items:center;
  height:100%;
  color:#7d877f;
  font-size:12px;
  font-weight:850;
}
.package-feature-card-copy{
  min-width:0;
  display:grid;
  gap:9px;
}
.package-feature-card-copy h3{
  margin:0;
  color:#222622;
  font-size:22px;
  line-height:1.28;
  letter-spacing:-.055em;
  font-weight:850;
}
.package-feature-card-copy p{
  margin:0;
  color:#686f68;
  font-size:13.2px;
  line-height:1.62;
  word-break:keep-all;
}
.package-feature-card-button{
  justify-self:start;
  min-width:132px;
  margin-top:5px;
  border-color:rgba(68,78,72,.46)!important;
  color:#303b35!important;
  background:rgba(255,255,255,.72)!important;
}
.package-feature-modal-open{
  overflow:hidden;
}
.package-feature-modal{
  position:fixed;
  inset:0;
  z-index:10030;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(31,36,32,.54);
  backdrop-filter:blur(6px);
}
.package-feature-modal.is-open{
  display:flex;
}
.package-feature-modal-card{
  width:min(820px,100%);
  max-height:min(88vh,860px);
  display:grid;
  grid-template-rows:auto 1fr;
  overflow:hidden;
  border-radius:30px;
  background:#f7faf6;
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 30px 90px rgba(25,32,28,.34);
}
.package-feature-modal-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  background:#fff;
  border-bottom:1px solid rgba(111,130,118,.16);
}
.package-feature-modal-head strong{
  display:block;
  color:#222622;
  font-size:20px;
  line-height:1.3;
  letter-spacing:-.055em;
  font-weight:850;
}
.package-feature-modal-head p{
  margin:6px 0 0;
  color:#687169;
  font-size:12.5px;
  line-height:1.55;
}
.package-feature-modal-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#f2f5f1;
  color:#303b35;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.package-feature-modal-list{
  display:grid;
  gap:12px;
  overflow:auto;
  padding:14px;
}
.package-feature-modal-item{
  display:grid;
  gap:12px;
  padding:12px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(111,130,118,.14);
}
.package-feature-modal-media{
  overflow:hidden;
  border-radius:20px;
  background:#eef3ef;
}
.package-feature-modal-media img{
  width:100%;
  max-height:70vh;
  display:block;
  object-fit:contain;
  background:#fff;
}
.package-feature-modal-copy{
  padding:2px 2px 4px;
}
.package-feature-modal-copy strong{
  display:block;
  color:#222622;
  font-size:16px;
  line-height:1.36;
  letter-spacing:-.04em;
  font-weight:850;
}
.package-feature-modal-copy p{
  margin:6px 0 0;
  color:#687169;
  font-size:12.5px;
  line-height:1.6;
  white-space:pre-line;
}
.package-feature-cover-field,
.package-feature-images-manager{
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:24px;
  background:#f7faf6;
  border:1px solid rgba(111,130,118,.18);
}
.package-feature-cover-preview{
  display:grid;
  place-items:center;
  min-height:190px;
  overflow:hidden;
  border-radius:20px;
  background:#eef3ef;
  border:1px dashed rgba(111,130,118,.28);
  color:#6d786f;
  font-size:12px;
  font-weight:850;
  text-align:center;
}
.package-feature-cover-preview img{
  width:100%;
  max-height:320px;
  object-fit:contain;
  background:#fff;
}
.package-feature-drop{
  min-height:118px;
}
.package-feature-image-list{
  display:grid;
  gap:12px;
}
.package-feature-image-admin-card{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(111,130,118,.18);
  box-shadow:0 10px 24px rgba(48,58,52,.06);
}
@media (max-width:560px){
  .package-feature-card{
    grid-template-columns:1fr 1.08fr;
    gap:14px;
    padding:16px!important;
  }
  .package-feature-card-copy h3{
    font-size:20px;
  }
  .package-feature-card-copy p{
    font-size:12.5px;
    line-height:1.56;
  }
  .package-feature-card-button{
    width:100%;
    min-width:0;
  }
}
@media (max-width:390px){
  .package-feature-card{
    grid-template-columns:1fr;
  }
  .package-feature-card-media{
    max-height:230px;
  }
}

/* v3.10.365 상품 패키지: 앨범/액자 카드 이미지풀 + 갤러리형 상세 모달 보강 */
.package-feature-card.package-feature-card-visual{
  position:relative!important;
  display:block!important;
  min-height:clamp(260px,56vw,360px)!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:28px!important;
  background:#eef3ef!important;
  border:1px solid rgba(111,130,118,.16)!important;
  box-shadow:0 16px 38px rgba(48,58,52,.09)!important;
  isolation:isolate;
}
.package-feature-card.package-feature-card-visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(17,23,20,.12) 0%,rgba(17,23,20,.02) 45%,rgba(17,23,20,.46) 100%);
  pointer-events:none;
}
.package-feature-card.package-feature-card-visual .package-feature-card-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:inherit!important;
  background:#eef3ef!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.001);
}
.package-feature-card.package-feature-card-visual .package-feature-card-copy{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:0!important;
  padding:18px!important;
  pointer-events:none;
}
.package-feature-card.package-feature-card-visual .product-eyebrow{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  color:#34403a!important;
  box-shadow:0 8px 20px rgba(28,34,30,.08)!important;
  backdrop-filter:blur(10px);
}
.package-feature-card.package-feature-card-visual .package-feature-card-button{
  align-self:flex-end!important;
  width:auto!important;
  min-width:148px!important;
  margin:0!important;
  pointer-events:auto;
  border-color:rgba(255,255,255,.62)!important;
  background:rgba(255,255,255,.82)!important;
  color:#303b35!important;
  box-shadow:0 14px 32px rgba(31,37,33,.14)!important;
  backdrop-filter:blur(10px);
}
.package-feature-card-seo{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.package-feature-card-seo img{
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}
.package-feature-gallery-modal.package-feature-modal{
  position:fixed!important;
  inset:0!important;
  z-index:10030!important;
  display:none!important;
  align-items:initial!important;
  justify-content:initial!important;
  padding:0!important;
  background:rgba(20,16,13,.78)!important;
  backdrop-filter:none!important;
  overscroll-behavior:contain!important;
}
.package-feature-gallery-modal.package-feature-modal.is-open{
  display:block!important;
}
.package-feature-gallery-modal .package-feature-modal-scroll{
  width:100%!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  padding:22px 14px 48px!important;
  box-sizing:border-box!important;
}
.package-feature-gallery-modal .package-feature-modal-toolbar{
  width:min(100%,760px);
  margin:0 auto 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  color:#fff;
}
.package-feature-gallery-modal .package-feature-modal-titlebox{
  min-width:0;
  display:grid;
  gap:5px;
}
.package-feature-gallery-modal .package-feature-modal-titlebox strong{
  color:#fff;
  font-size:20px;
  line-height:1.28;
  letter-spacing:-.04em;
  font-weight:850;
}
.package-feature-gallery-modal .package-feature-modal-titlebox p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:12.5px;
  line-height:1.5;
}
.package-feature-gallery-modal .package-feature-modal-close{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#26302b;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.package-feature-gallery-modal .package-feature-modal-list{
  display:grid!important;
  gap:18px!important;
  width:100%!important;
  padding:0!important;
  overflow:visible!important;
}
.package-feature-gallery-modal .package-feature-modal-item{
  display:block!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.package-feature-gallery-modal .package-feature-modal-media{
  width:100%!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
}
.package-feature-gallery-modal .package-feature-modal-media img{
  display:block!important;
  width:min(100%,760px)!important;
  max-width:100%!important;
  max-height:none!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:18px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  box-shadow:0 20px 80px rgba(0,0,0,.35)!important;
  opacity:1!important;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary{
  width:min(100%,760px);
  margin:18px auto 0;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  color:#303b35;
  box-shadow:0 16px 50px rgba(0,0,0,.22);
}
.package-feature-gallery-modal .package-feature-modal-alt-summary[hidden]{
  display:none!important;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary strong{
  display:block;
  margin-bottom:8px;
  color:#202622;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary p,
.package-feature-gallery-modal .package-feature-modal-alt-summary li{
  margin:0;
  color:#5f6861;
  font-size:12.5px;
  line-height:1.6;
  word-break:keep-all;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary ol{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:6px;
}
@media (max-width:560px){
  .package-feature-card.package-feature-card-visual{
    min-height:260px!important;
  }
  .package-feature-card.package-feature-card-visual .package-feature-card-copy{
    padding:16px!important;
  }
  .package-feature-card.package-feature-card-visual .package-feature-card-button{
    min-width:136px!important;
  }
  .package-feature-gallery-modal .package-feature-modal-scroll{
    padding:14px 10px 34px!important;
  }
  .package-feature-gallery-modal .package-feature-modal-toolbar{
    margin-bottom:12px;
  }
  .package-feature-gallery-modal .package-feature-modal-media img{
    width:100%!important;
    border-radius:14px!important;
  }
  .package-feature-gallery-modal .package-feature-modal-list{
    gap:12px!important;
  }
}


/* v3.10.366 상품 패키지: 앨범/액자 카드 16:9 노출 + 배지/CTA 선택 노출 + 오버레이 제거 */
.package-feature-card.package-feature-card-visual{
  min-height:auto!important;
  aspect-ratio:16 / 9!important;
  background:#fff!important;
}
.package-feature-card.package-feature-card-visual::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-media,
.package-feature-card.package-feature-card-visual .package-feature-card-media img{
  border-radius:inherit!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-media img{
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-copy{
  justify-content:space-between!important;
}
.package-feature-card.package-feature-card-visual .product-eyebrow{
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-button{
  background:rgba(255,255,255,.88)!important;
}
.package-feature-cover-preview{
  min-height:0!important;
  aspect-ratio:16 / 9!important;
  background:#fff!important;
}
.package-feature-cover-preview img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  background:#fff!important;
}
@media (max-width:560px){
  .package-feature-card.package-feature-card-visual{
    min-height:auto!important;
    aspect-ratio:16 / 9!important;
  }
}
/* END v3.10.366 */


/* v3.10.367 상품 패키지: 앨범/액자 모달 품질 안내 + 하단 간격 정리 */
.products-page-body .public-detail-main > .package-feature-card-section + .bps-common-footer{
  margin-top:0!important;
}
.package-feature-gallery-modal .package-feature-modal-scroll{
  padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary strong{
  font-size:12.8px;
  color:#303b35;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary p,
.package-feature-gallery-modal .package-feature-modal-alt-summary li{
  color:#4f5a53;
}
@media (max-width:560px){
  .package-feature-gallery-modal .package-feature-modal-scroll{
    padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;
  }
}
/* END v3.10.367 */


/* v3.10.368 상품 소개 보조 카드: 모달 설명 숨김 + 모바일 뒤로가기 대응 */
.package-feature-gallery-modal .package-feature-modal-alt-summary{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.package-feature-gallery-modal .package-feature-modal-alt-summary[hidden]{
  display:none!important;
}
/* END v3.10.368 */


/* v3.10.370 상품 소개 보조 카드: CTA 소형 글래스 버튼 우측 하단 정리 */
.package-feature-card.package-feature-card-visual .package-feature-card-copy{
  align-items:flex-end!important;
  justify-content:flex-end!important;
  padding:clamp(12px,2.4vw,18px)!important;
}
.package-feature-card.package-feature-card-visual .product-eyebrow{
  align-self:flex-start!important;
  margin-bottom:auto!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-button{
  align-self:flex-end!important;
  width:auto!important;
  min-width:0!important;
  max-width:min(52%,220px)!important;
  min-height:34px!important;
  height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  background:rgba(255,255,255,.72)!important;
  color:#2f3934!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  box-shadow:0 10px 24px rgba(31,37,33,.12)!important;
  backdrop-filter:blur(12px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.08)!important;
  text-shadow:none!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-button:hover,
.package-feature-card.package-feature-card-visual .package-feature-card-button:focus-visible{
  background:rgba(255,255,255,.86)!important;
  border-color:rgba(255,255,255,.86)!important;
  transform:translateY(-1px);
}
@media (max-width:560px){
  .package-feature-card.package-feature-card-visual .package-feature-card-copy{
    padding:12px!important;
  }
  .package-feature-card.package-feature-card-visual .package-feature-card-button{
    max-width:54%!important;
    height:34px!important;
    min-height:34px!important;
    padding:0 13px!important;
    font-size:12.8px!important;
    box-shadow:0 8px 18px rgba(31,37,33,.12)!important;
  }
}
/* END v3.10.370 */

/* v3.10.371 상품 소개 보조 카드: 다중 카드 간격 통일 + CTA 글래스 질감 보강 */
.package-feature-card-section{
  gap:clamp(18px,3.2vw,24px)!important;
}
.package-feature-card-section > .package-feature-card{
  margin:0!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-button{
  background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.34))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  color:#2f3934!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 9px 22px rgba(31,37,33,.13)!important;
  backdrop-filter:blur(14px) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.16)!important;
}
.package-feature-card.package-feature-card-visual .package-feature-card-button:hover,
.package-feature-card.package-feature-card-visual .package-feature-card-button:focus-visible{
  background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,255,255,.46))!important;
  border-color:rgba(255,255,255,.78)!important;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .package-feature-card.package-feature-card-visual .package-feature-card-button{
    background:rgba(255,255,255,.64)!important;
  }
}
/* END v3.10.371 */

/* v3.10.372 지점 소개 보조 카드: 상품 소개 보조 카드 디자인 재사용 */
.branch-feature-card-section{
  margin-top:0;
}
.branch-feature-card-section[hidden]{
  display:none!important;
}
.branch-feature-card-section > .branch-feature-card{
  margin:0!important;
}
.branch-feature-gallery-modal .package-feature-modal-titlebox strong{
  word-break:keep-all;
}
/* END v3.10.372 */


/* v3.10.374 촬영 서비스 보조 카드: 상품/지점 보조 카드 디자인 재사용 */
.service-feature-card-section{
  margin-top: 18px;
}
.service-feature-card-section[hidden]{
  display:none !important;
}
.service-feature-card-section > .service-feature-card{
  margin:0;
}
.service-feature-gallery-modal .package-feature-modal-titlebox strong{
  letter-spacing:-0.04em;
}

/* v3.10.376 촬영 서비스 카테고리 드래그 캐러셀 정리/복구 핫픽스 */
.services-page .public-detail-main{
  touch-action:pan-y;
}
.services-page .public-detail-main.is-service-carousel-snapshotting{
  visibility:hidden!important;
}
.services-page .public-detail-main.is-service-carousel-live-drag{
  opacity:0;
  pointer-events:none;
}
body.service-category-carousel-dragging{
  overscroll-behavior-x:contain;
  touch-action:none;
}
.service-category-carousel-preview{
  position:fixed;
  z-index:24;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint style;
  transform:translateZ(0);
  max-width:100vw;
  max-height:100dvh;
}
.service-category-carousel-track{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:100%;
  min-height:100%;
  will-change:transform;
  transform:translate3d(0,0,0);
}
.service-category-carousel-panel{
  position:absolute;
  top:0;
  width:100%;
  height:100%;
  min-height:100%;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.service-category-carousel-panel > .public-detail-main{
  width:100%;
  pointer-events:none;
}
.service-category-carousel-panel img{
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
}
@media (prefers-reduced-motion:reduce){
  .service-category-carousel-track{
    transition:none!important;
  }
}


/* v3.10.378 촬영 서비스 드래그 캐러셀 gap 보정 */
.service-category-carousel-preview{
  --service-category-slide-gap:18px;
  background:transparent;
}
.service-category-carousel-panel.is-next{
  filter:none;
}
@media (max-width:430px){
  .service-category-carousel-preview{
    --service-category-slide-gap:14px;
  }
}
/* END v3.10.378 */

/* v3.10.379 촬영 서비스 2열 갤러리 영역 카테고리 스와이프 허용 */
.services-page .service-linked-gallery-grid,
.services-page .service-gallery-card,
.services-page .service-gallery-card img{
  touch-action:pan-y;
}
.services-page .service-gallery-meta em{
  touch-action:manipulation;
}
/* END v3.10.379 */

/* v3.10.386 public gallery unit carousel expansion */
body:not(.admin-page) .public-gallery-unit-carousel{
  --public-gallery-unit-gap:18px;
  display:block!important;
  position:relative;
  overflow:hidden;
  touch-action:pan-y;
  transition:height .24s ease;
  will-change:height;
}
body:not(.admin-page) .public-gallery-unit-track{
  display:flex;
  align-items:flex-start;
  width:100%;
  min-width:100%;
  transform:translate3d(0,0,0);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
body:not(.admin-page) .public-gallery-unit-track.is-dragging,
body:not(.admin-page) .public-gallery-unit-carousel.is-dragging .public-gallery-unit-track{
  transition:none!important;
}
body:not(.admin-page) .public-gallery-unit-slide{
  flex:0 0 calc(100% + var(--public-gallery-unit-gap));
  width:calc(100% + var(--public-gallery-unit-gap));
  min-width:calc(100% + var(--public-gallery-unit-gap));
  max-width:calc(100% + var(--public-gallery-unit-gap));
  box-sizing:border-box;
}
body:not(.admin-page) .public-gallery-unit-slide[aria-hidden="true"]{
  pointer-events:none;
}
body:not(.admin-page) .public-gallery-unit-slide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:calc(100% - var(--public-gallery-unit-gap));
  max-width:calc(100% - var(--public-gallery-unit-gap));
  min-width:0;
  box-sizing:border-box;
}
@media (max-width:430px){
  body:not(.admin-page) .public-gallery-unit-carousel{
    --public-gallery-unit-gap:14px;
  }
  body:not(.admin-page) .public-gallery-unit-slide-grid{
    gap:9px;
  }
}
@media (prefers-reduced-motion:reduce){
  body:not(.admin-page) .public-gallery-unit-carousel,
  body:not(.admin-page) .public-gallery-unit-track{
    transition:none!important;
  }
}
/* END v3.10.386 */


/* v3.10.398 Home Guide Pick iOS carousel media width clamp
   Diagnostic v3.10.397 confirmed iOS calculated media/figure/img as the whole
   carousel track width (for example 2416px). Keep Android common rendering
   untouched and only replace the home Guide Pick carousel sizing chain on iOS. */
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"]{
  max-width:calc(100vw - 28px)!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-hero-card[data-guide-group-mode="carousel"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-carousel,
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-track{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-carousel{
  overflow:hidden!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-track{
  display:flex!important;
  gap:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-slide{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin-right:var(--home-guide-group-gap, 18px)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-slide:last-child{
  margin-right:0!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-slide-inner,
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-main,
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media,
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media .guide-card-visual{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-main,
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media{
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media{
  display:block!important;
  position:relative!important;
  padding:0!important;
  border:0!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media .guide-card-visual{
  position:absolute!important;
  inset:0!important;
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}
html.bps-ios body.home-page .home-guide-pick-section[data-guide-group-carousel="true"] .guide-home-hero-media .guide-card-visual img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
  box-sizing:border-box!important;
}

/* v3.10.400 — public i18n footer bottom spacing hotfix
   - Scope: non-Korean public detail pages only (guides/services/reservation/branches/gallery).
   - Fixes duplicated bottom reserve from v3.10.240 i18n main padding + fixed bottom navigation footer reserve.
   - Keeps Korean pages and the home page untouched.
   - Keeps the common company footer card design and v3.10.398 iOS Guide Pick width clamp untouched. */
:root{--bps-i18n-detail-footer-fix-version:"v3.10.400";}
html[data-lang="en"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="zh"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="ja"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="vi"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="th"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[data-lang="en"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="zh"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="ja"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="vi"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="th"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[data-lang="en"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="zh"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="ja"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="vi"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="th"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[data-lang="en"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="zh"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="ja"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="vi"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="th"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[data-lang="en"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[data-lang="zh"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[data-lang="ja"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[data-lang="vi"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[data-lang="th"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="en"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="zh"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="ja"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="vi"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="th"] body:not(.admin-page):not(.home-page).guides-page-body .phone > main.public-detail-main,
html[lang="en"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="zh"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="ja"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="vi"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="th"] body:not(.admin-page):not(.home-page).services-page .phone > main.public-detail-main,
html[lang="en"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="zh"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="ja"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="vi"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="th"] body:not(.admin-page):not(.home-page).reservation-page-body .phone > main.public-detail-main,
html[lang="en"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="zh"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="ja"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="vi"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="th"] body:not(.admin-page):not(.home-page).branches-page-body .phone > main.public-detail-main,
html[lang="en"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="zh"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="ja"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="vi"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main,
html[lang="th"] body:not(.admin-page):not(.home-page).gallery-page-body .phone > main.public-detail-main{
  padding-bottom:0!important;
}

html[data-lang="en"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[data-lang="zh"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[data-lang="ja"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[data-lang="vi"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[data-lang="th"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="en"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="zh"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="zh-CN"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="ja"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="vi"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
html[lang="th"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer{
  margin-bottom:84px!important;
}
@media (max-width:430px){
  html[data-lang="en"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[data-lang="zh"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[data-lang="zh-CN"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[data-lang="ja"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[data-lang="vi"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[data-lang="th"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="en"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="zh"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="zh-CN"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="ja"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="vi"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer,
  html[lang="th"] body:not(.admin-page):not(.home-page) .public-detail-main > .bps-common-footer{
    margin-bottom:80px!important;
  }
}


/* v3.10.401 Company page foundation */
.company-page .company-hero-visual {
  min-height: 360px;
  background:
    linear-gradient(180deg, rgba(41, 32, 28, .20), rgba(41, 32, 28, .44)),
    var(--company-hero-image, url("/assets/images/home-hero-slide-1-sample.svg"));
  background-size: cover;
  background-position: center;
}
.company-page .company-intro-card h1 { font-size: 2rem; line-height: 1.16; }
.company-overview-card { display: grid; gap: 18px; }
.company-overview-card h2 { margin: 0; font-size: 1.56rem; line-height: 1.28; letter-spacing: -0.045em; color: var(--text-strong, #2b2420); }
.company-overview-copy { display: grid; gap: 10px; color: var(--text-muted, #665a52); line-height: 1.72; }
.company-overview-copy p { margin: 0; }
.company-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.company-metric-card { min-height: 92px; padding: 16px; border-radius: 22px; background: rgba(255,255,255,.78); border: 1px solid rgba(208, 188, 168, .36); box-shadow: 0 14px 34px rgba(73, 54, 39, .07); display: grid; align-content: start; gap: 8px; }
.company-metric-card span { font-size: .75rem; color: var(--text-muted, #83766e); font-weight: 700; }
.company-metric-card strong { font-size: .98rem; line-height: 1.34; color: var(--text-strong, #2b2420); letter-spacing: -0.02em; }
.company-feature-grid, .company-editorial-grid { display: grid; gap: 16px; }
.company-feature-card { cursor: pointer; }
.company-editorial-card { overflow: hidden; padding: 0; }
.company-editorial-media { aspect-ratio: 16 / 9; background: #f3eee8; overflow: hidden; }
.company-editorial-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.company-editorial-copy { padding: 18px; display: grid; gap: 10px; }
.company-editorial-copy h3 { margin: 0; font-size: 1.08rem; line-height: 1.38; letter-spacing: -0.03em; }
.company-editorial-copy p { margin: 0; color: var(--text-muted, #665a52); line-height: 1.6; }
.company-editorial-copy small { color: var(--text-soft, #9a8a80); }
.company-faq-list { display: grid; gap: 10px; }
.company-faq-item { border-radius: 20px; background: rgba(255,255,255,.84); border: 1px solid rgba(208, 188, 168, .34); padding: 0 16px; box-shadow: 0 12px 26px rgba(73,54,39,.06); }
.company-faq-item summary { cursor: pointer; padding: 16px 0; font-weight: 800; color: var(--text-strong, #2b2420); }
.company-faq-item p { margin: 0; padding: 0 0 16px; color: var(--text-muted, #665a52); line-height: 1.62; }
.company-modal .gallery-detail-modal-scroll { max-width: 430px; }
.company-modal-image-list { display: grid; gap: 12px; padding: 0 16px 16px; }
.company-modal-image-list img { width: 100%; border-radius: 20px; display: block; }
.company-modal-body { padding: 0 18px 24px; display: grid; gap: 10px; color: var(--text-muted, #665a52); line-height: 1.7; }
.company-modal-body p { margin: 0; }
/* v3.10.464 company partnership privacy consent wording hotfix */
.company-partnership-form{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;align-items:start;gap:14px;width:100%;max-width:100%;box-sizing:border-box;padding:0 14px 22px;}
.company-partnership-form>*{width:100%;min-width:0;max-width:none;box-sizing:border-box;justify-self:stretch;}
.company-partnership-form-card{display:grid;gap:12px;width:100%;min-width:0;max-width:none;box-sizing:border-box;padding:14px;border-radius:22px;background:rgba(255,254,250,.90);border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 38px rgba(33,39,35,.12);backdrop-filter:blur(8px);}
.company-partnership-section-head{display:grid;gap:4px;}
.company-partnership-section-head h3{margin:0;color:#222622;font-size:15px;line-height:1.35;letter-spacing:-.04em;font-weight:1000;}
.company-partnership-section-head p{margin:0;color:#6f7772;font-size:12px;line-height:1.55;word-break:keep-all;}
.company-partnership-field-list{display:grid;gap:10px;}
.company-partnership-field-row{display:grid;grid-template-columns:minmax(74px,94px) minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin:0;color:#424a46;font-size:13px;font-weight:900;line-height:1.4;}
.company-partnership-field-row>span:first-child{display:flex;align-items:center;gap:3px;min-width:0;color:#38403c;white-space:nowrap;}
.company-partnership-field-row>span:first-child em{font-style:normal;color:#9b5148;font-weight:1000;}
.company-partnership-field-row .input,.company-partnership-field-row .select,.company-partnership-field-row .textarea{width:100%;min-width:0;margin:0;background:rgba(255,255,255,.94);border-color:rgba(89,97,95,.16);box-shadow:0 6px 16px rgba(33,39,35,.06);}
.company-partnership-field-row-textarea{grid-template-columns:1fr;align-items:start;gap:7px;}
.company-partnership-file-box{gap:10px;}
.company-partnership-file-drop{display:grid;gap:5px;place-items:center;min-height:78px;border:1px dashed rgba(89,97,95,.36);border-radius:18px;background:rgba(255,254,250,.88);padding:14px;text-align:center;cursor:pointer;color:#59615f;}
.company-partnership-file-drop input{display:none;}
.company-partnership-file-drop span{font-size:13px;font-weight:1000;color:#353b39;}
.company-partnership-file-drop em{font-style:normal;font-size:12px;line-height:1.45;color:#7a807c;word-break:keep-all;}
.company-partnership-material-link{margin-top:2px;}
.company-partnership-file-box>p{margin:0;color:#74746f;font-size:12px;line-height:1.55;overflow-wrap:anywhere;}
.company-partnership-upload-progress{margin-top:0;}
.company-partnership-upload-progress[hidden]{display:none!important;}
.company-partnership-bottom{gap:12px;}
.company-partnership-consent{margin:0;background:rgba(255,255,255,.94);}
.company-partnership-consent-copy{margin:-4px 2px 0;color:#6f7772;font-size:12px;line-height:1.58;word-break:keep-all;}
.company-partnership-status{font-size:12px;line-height:1.55;border-radius:14px;padding:10px 12px;}
.company-partnership-status[hidden]{display:none!important;}
.company-partnership-status[data-type="success"]{background:rgba(72,108,71,.12);color:#486c47;}
.company-partnership-status[data-type="error"]{background:rgba(155,81,72,.12);color:#9b5148;}
.company-partnership-status[data-type="info"]{background:rgba(73,107,138,.12);color:#496b8a;}
.company-partnership-submit{width:100%;min-height:52px;border-radius:18px;}
.company-modal .package-feature-modal-toolbar{position:relative;margin:0 14px 14px;padding:16px 64px 16px 16px;border-radius:24px;background:rgba(255,254,250,.88);border:1px solid rgba(255,255,255,.70);box-shadow:0 14px 38px rgba(33,39,35,.14);backdrop-filter:blur(8px);}
.company-modal .package-feature-modal-titlebox{display:grid;gap:5px;min-width:0;}
.company-modal .package-feature-modal-titlebox span{color:#3f4b45;font-size:13px;line-height:1.2;font-weight:900;letter-spacing:-.02em;}
.company-modal .package-feature-modal-titlebox h2{margin:0;color:#1f2622;font-size:22px;line-height:1.28;letter-spacing:-.055em;font-weight:1000;}
.company-modal .package-feature-modal-titlebox p{margin:0;color:#2f3934;font-size:14px;line-height:1.55;font-weight:700;word-break:keep-all;}
.company-modal .package-feature-modal-close{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,255,255,.96);color:#26302b;box-shadow:0 8px 22px rgba(33,39,35,.18);}
@media (max-width: 520px){
  .company-modal .gallery-detail-modal-scroll{max-width:min(430px,calc(100vw - 18px));}
  .company-partnership-form{padding:0 10px 22px;gap:12px;grid-template-columns:minmax(0,1fr);justify-items:stretch;}
  .company-partnership-form>*{width:100%;min-width:0;max-width:none;justify-self:stretch;}
  .company-partnership-form-card{border-radius:20px;padding:13px;}
  .company-partnership-field-row{grid-template-columns:1fr;gap:7px;}
  .company-modal .package-feature-modal-toolbar{margin:0 10px 12px;padding:14px 58px 14px 14px;border-radius:22px;}
  .company-modal .package-feature-modal-titlebox h2{font-size:21px;}
  .company-modal .package-feature-modal-titlebox p{font-size:13.5px;}
}
@media (max-width: 420px) { .company-metric-grid { grid-template-columns: 1fr; } .company-page .company-intro-card h1 { font-size: 1.72rem; } }


/* v3.10.402 Company page mobile card layout + fallback hotfix
   - Keeps v3.10.398 iOS Guide Pick clamp and v3.10.400 public footer spacing intact.
   - Limits the scope to the company page so existing Android/home/service/gallery layouts are not affected. */
.company-page,
.company-page .page,
.company-page .phone,
.company-page .company-main{
  max-width:100%!important;
  overflow-x:hidden!important;
}
.company-page .company-main,
.company-page .company-main *,
.company-page .company-main *::before,
.company-page .company-main *::after{
  box-sizing:border-box;
}
.company-page .company-main{
  width:100%!important;
  min-width:0!important;
}
.company-page .company-main > .section,
.company-page .company-main > .hero,
.company-page .company-main .card,
.company-page .company-overview-card,
.company-page .company-feature-section,
.company-page .company-feature-grid,
.company-page .company-editorial-grid,
.company-page .company-faq-list,
.company-page .company-editorial-card,
.company-page .company-faq-item{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-overview-card,
.company-page .company-editorial-card,
.company-page .company-faq-item,
.company-page .company-feature-card-content{
  overflow:hidden!important;
}
.company-page .company-overview-card h2,
.company-page .company-overview-copy,
.company-page .company-metric-card,
.company-page .company-editorial-copy,
.company-page .company-editorial-copy h3,
.company-page .company-editorial-copy p,
.company-page .company-faq-item summary,
.company-page .company-faq-item p,
.company-page .company-feature-card-copy,
.company-page .company-feature-card-copy h3,
.company-page .company-feature-card-copy p{
  max-width:100%!important;
  min-width:0!important;
  overflow-wrap:anywhere;
  word-break:keep-all;
}
.company-page .company-feature-grid{
  display:grid!important;
  gap:clamp(12px,3.2vw,16px)!important;
}
.company-page .company-feature-card-content{
  cursor:pointer;
  display:grid!important;
  grid-template-columns:minmax(0,104px) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:16px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,251,247,.92))!important;
  border:1px solid rgba(111,130,118,.16)!important;
  box-shadow:0 16px 38px rgba(48,58,52,.08)!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  transform:none!important;
}
.company-page .company-feature-card-content:hover{
  transform:translateY(-1px)!important;
}
.company-page .company-feature-card-content:focus-visible{
  outline:3px solid rgba(60,72,67,.22);
  outline-offset:3px;
}
.company-page .company-feature-card-content .company-feature-card-media{
  position:relative!important;
  width:100%!important;
  max-width:104px!important;
  min-width:0!important;
  aspect-ratio:1 / 1!important;
  border-radius:22px!important;
  overflow:hidden!important;
  border:1px solid rgba(111,130,118,.12)!important;
  background:linear-gradient(145deg,#edf4ef,#f8fbf8)!important;
  display:block!important;
}
.company-page .company-feature-card-content .company-feature-card-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.company-page .company-feature-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:10px;
  text-align:center;
  color:#56655d;
  font-size:12px;
  line-height:1.24;
  font-weight:900;
  letter-spacing:-.04em;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.78),rgba(255,255,255,0) 46%),
    linear-gradient(145deg,rgba(233,242,236,.96),rgba(248,250,247,.92));
}
.company-page .company-feature-card-content .company-feature-card-copy{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:grid!important;
  gap:8px!important;
  align-items:start!important;
  justify-content:start!important;
  padding:0!important;
  pointer-events:auto!important;
}
.company-page .company-feature-card-content .company-feature-card-copy .chip{
  justify-self:start!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  border-radius:999px!important;
  background:rgba(236,244,238,.92)!important;
  color:#4d5c54!important;
  border:1px solid rgba(111,130,118,.12)!important;
}
.company-page .company-feature-card-content .company-feature-card-copy h3{
  margin:0!important;
  color:#202521!important;
  font-size:clamp(18px,4.4vw,22px)!important;
  line-height:1.28!important;
  letter-spacing:-.055em!important;
  font-weight:900!important;
}
.company-page .company-feature-card-content .company-feature-card-copy p{
  margin:0!important;
  color:#626e66!important;
  font-size:13.2px!important;
  line-height:1.58!important;
}
.company-page .company-feature-card-content .company-feature-card-button{
  justify-self:start!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 13px!important;
  margin-top:2px!important;
  border-radius:999px!important;
  border:1px solid rgba(68,78,72,.28)!important;
  background:rgba(255,255,255,.78)!important;
  color:#303b35!important;
  font-size:12.8px!important;
  font-weight:850!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(31,37,33,.08)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.company-page .company-metric-grid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-editorial-copy .btn{
  max-width:100%!important;
  white-space:normal!important;
}
@media (max-width:430px){
  .company-page .company-feature-card-content{
    grid-template-columns:minmax(0,86px) minmax(0,1fr)!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:24px!important;
  }
  .company-page .company-feature-card-content .company-feature-card-media{
    max-width:86px!important;
    border-radius:20px!important;
  }
  .company-page .company-feature-card-content .company-feature-card-copy h3{
    font-size:18px!important;
  }
  .company-page .company-feature-card-content .company-feature-card-copy p{
    font-size:12.8px!important;
  }
}
@media (max-width:340px){
  .company-page .company-feature-card-content{
    grid-template-columns:1fr!important;
  }
  .company-page .company-feature-card-content .company-feature-card-media{
    max-width:100%!important;
    aspect-ratio:16 / 9!important;
  }
}
/* END v3.10.402 */


/* v3.10.403 Company page mobile overflow + typography polish
   - Fixes company header logo overflow on mobile.
   - Forces long Korean/English titles to wrap inside cards instead of clipping.
   - Keeps v3.10.398 iOS Guide Pick clamp, v3.10.400 i18n footer spacing, and other public pages untouched. */
:root{--bps-company-mobile-polish-version:"v3.10.403";}
.company-page .header{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  padding-left:clamp(10px,3.2vw,14px);
  padding-right:clamp(10px,3.2vw,14px);
  gap:10px;
  box-sizing:border-box;
}
.company-page .header .brand,
.company-page .brand-image-link{
  flex:1 1 auto;
  width:auto;
  max-width:calc(100% - 54px);
  min-width:0!important;
  overflow:hidden;
}
.company-page .brand-logo-image{
  display:block;
  width:auto!important;
  height:clamp(52px,15vw,74px)!important;
  max-width:100%!important;
  min-width:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.company-page .header .header-actions{
  flex:0 0 auto;
  min-width:44px;
  margin-left:auto;
}
.company-page .header .menu-line-btn{
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
}
.company-page .company-main,
.company-page .company-main > .hero,
.company-page .company-main > .section,
.company-page .company-main .card,
.company-page .company-overview-card,
.company-page .company-metric-grid,
.company-page .company-feature-grid,
.company-page .company-editorial-grid,
.company-page .company-faq-list,
.company-page .bps-common-footer,
.company-page .footer-info-grid,
.company-page .footer-link-row{
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-main{
  isolation:isolate;
}
.company-page .company-overview-card,
.company-page .company-intro-card,
.company-page .company-editorial-card,
.company-page .company-faq-item,
.company-page .company-feature-card-content,
.company-page .bps-common-footer{
  contain:layout paint;
}
.company-page [data-company-overview-title],
.company-page .company-overview-card h2,
.company-page .company-intro-card h1,
.company-page .company-visual-copy strong,
.company-page .company-editorial-copy h3,
.company-page .company-feature-card-copy h3,
.company-page .section-head h2,
.company-page .company-faq-item summary{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:keep-all!important;
  line-break:anywhere;
}
.company-page [data-company-overview-title],
.company-page .company-overview-card h2{
  font-size:clamp(24px,6.1vw,30px)!important;
  line-height:1.22!important;
  letter-spacing:-.06em!important;
}
.company-page .company-overview-copy,
.company-page .company-overview-copy p,
.company-page .company-metric-card,
.company-page .company-metric-card strong,
.company-page .company-editorial-copy,
.company-page .company-editorial-copy p,
.company-page .company-editorial-copy small,
.company-page .company-feature-card-copy,
.company-page .company-feature-card-copy p,
.company-page .company-faq-item p,
.company-page .footer-info-grid div,
.company-page .footer-info-grid a,
.company-page .footer-info-grid span,
.company-page .footer-info-grid small,
.company-page .footer-link-row a{
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
}
.company-page .company-overview-card{
  gap:clamp(14px,4vw,20px)!important;
}
.company-page .company-overview-copy{
  gap:12px!important;
  line-height:1.78!important;
}
.company-page .company-metric-card{
  padding:clamp(13px,3.8vw,16px)!important;
}
.company-page .company-metric-card strong{
  font-size:clamp(14px,3.65vw,16px)!important;
  line-height:1.42!important;
}
.company-page .company-editorial-copy{
  padding:clamp(15px,4.2vw,18px)!important;
}
.company-page .company-editorial-copy h3{
  font-size:clamp(17px,4.3vw,20px)!important;
  line-height:1.38!important;
}
.company-page .company-editorial-copy .btn,
.company-page .company-feature-card-button{
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.company-page .section-head{
  width:100%;
  max-width:100%;
  min-width:0;
  gap:12px;
}
.company-page .section-head > div{
  min-width:0;
  max-width:100%;
}
.company-page .company-hero-visual{
  overflow:hidden;
  border-radius:0 0 34px 34px;
}
.company-page .company-visual-copy,
.company-page .company-visual-copy p,
.company-page .company-visual-copy span,
.company-page .company-visual-copy strong{
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:keep-all!important;
}
@media (max-width:430px){
  .company-page .header{
    padding-top:12px;
    padding-bottom:10px;
  }
  .company-page .brand-logo-image{
    height:clamp(50px,14.5vw,64px)!important;
    max-width:min(250px,calc(100vw - 88px))!important;
  }
  .company-page [data-company-overview-title],
  .company-page .company-overview-card h2{
    font-size:clamp(23px,6.6vw,28px)!important;
  }
  .company-page .company-intro-card h1{
    font-size:clamp(26px,7.2vw,31px)!important;
  }
  .company-page .company-editorial-copy h3{
    font-size:clamp(16.5px,4.5vw,19px)!important;
  }
}
@media (max-width:360px){
  .company-page .brand-logo-image{
    max-width:calc(100vw - 92px)!important;
    height:50px!important;
  }
  .company-page [data-company-overview-title],
  .company-page .company-overview-card h2{
    font-size:22px!important;
  }
}
/* END v3.10.403 */

/* v3.10.405 Company page image-first redesign
   - Hero image area is image-only: no hero text is rendered/overlaid.
   - SEO/AEO/GEO text remains in intro, overview, FAQ, press/IR and structured data.
   - Image-first cards are scoped to company-page so other pages remain untouched. */
:root{--bps-company-image-first-version:"v3.10.405";}
.company-page .company-hero-image-only{
  gap:clamp(14px,3.8vw,20px)!important;
}
.company-page .company-hero-visual-image-only{
  min-height:clamp(300px,72vw,430px)!important;
  border-radius:0 0 34px 34px!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(30,24,21,.05),rgba(30,24,21,.22)),
    var(--company-hero-image,url("/assets/images/company-hero-fallback.svg"))!important;
  background-size:cover!important;
  background-position:center center!important;
  box-shadow:0 22px 48px rgba(73,54,39,.16)!important;
}
.company-page .company-hero-visual-image-only .breadcrumb,
.company-page .company-hero-visual-image-only .company-visual-copy,
.company-page .company-hero-visual-image-only .service-visual-copy{
  display:none!important;
}
.company-page .company-overview-visual-card{
  padding:0!important;
  display:grid!important;
  overflow:hidden!important;
  gap:0!important;
}
.company-page .company-overview-visual{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  aspect-ratio:4 / 3!important;
  border-radius:inherit!important;
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(41,32,28,.04),rgba(41,32,28,.20)),
    var(--company-overview-image,url("/assets/images/company-overview-fallback.svg"))!important;
  background-size:cover!important;
  background-position:center center!important;
}
.company-page .company-overview-content{
  padding:clamp(18px,4.7vw,24px)!important;
  display:grid!important;
  gap:clamp(14px,4vw,20px)!important;
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-overview-copy{
  font-size:clamp(14px,3.75vw,15.5px)!important;
  line-height:1.78!important;
}
.company-page .company-portfolio-section{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-portfolio-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  max-width:100%!important;
  min-width:0!important;
}
.company-page .company-portfolio-card{
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  display:grid!important;
  background:rgba(255,255,255,.9)!important;
  border:1px solid rgba(208,188,168,.30)!important;
  box-shadow:0 16px 34px rgba(73,54,39,.07)!important;
  min-width:0!important;
}
.company-page .company-portfolio-media{
  aspect-ratio:1 / 1!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,#edf4ef,#f7eee6)!important;
}
.company-page .company-portfolio-media img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}
.company-page .company-portfolio-media span{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#9e795c,#6e5440);
  font-weight:900;
  font-size:18px;
  letter-spacing:-.06em;
}
.company-page .company-portfolio-copy{
  padding:14px!important;
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
.company-page .company-portfolio-copy h3{
  margin:0!important;
  font-size:clamp(16px,4.1vw,19px)!important;
  line-height:1.25!important;
  letter-spacing:-.05em!important;
  color:#202521!important;
  overflow-wrap:break-word!important;
  word-break:keep-all!important;
}
.company-page .company-portfolio-copy p{
  margin:0!important;
  color:#647169!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
}
.company-page .company-feature-card-content{
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.94)!important;
}
.company-page .company-feature-card-content .company-feature-card-media{
  max-width:100%!important;
  width:100%!important;
  aspect-ratio:16 / 10!important;
  border-radius:0!important;
  border:0!important;
}
.company-page .company-feature-card-content .company-feature-card-copy{
  padding:clamp(16px,4.4vw,20px)!important;
  gap:10px!important;
}
.company-page .company-feature-card-content .company-feature-card-button{
  margin-top:4px!important;
}
.company-page .company-editorial-card{
  border-radius:26px!important;
  overflow:hidden!important;
}
.company-page .company-editorial-media{
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,#eef5ef,#f4eee8)!important;
}
.company-page .company-editorial-media span{
  width:68px;
  height:68px;
  border-radius:22px;
  display:grid;
  place-items:center;
  color:#5c655e;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(111,130,118,.16);
  font-weight:900;
  font-size:17px;
  letter-spacing:-.06em;
}
@media (max-width:430px){
  .company-page .company-hero-visual-image-only{min-height:clamp(300px,82vw,360px)!important;}
  .company-page .company-portfolio-grid{gap:10px!important;}
  .company-page .company-portfolio-copy{padding:12px!important;}
  .company-page .company-portfolio-copy p{font-size:12px!important;}
}
@media (max-width:360px){
  .company-page .company-portfolio-grid{grid-template-columns:1fr!important;}
  .company-page .company-portfolio-media{aspect-ratio:16 / 10!important;}
}
/* END v3.10.405 */


/* v3.10.406 Company page common hero alignment + values section
   - Aligns company hero with public detail pages: image-only hero at the top with menu overlay.
   - Keeps SEO/AEO/GEO text in intro, overview, FAQ, press/IR and structured data.
   - Reuses the existing portfolio card structure as "파스텔 기업 가치와 책임". */
:root{--bps-company-hero-values-version:"v3.10.406";}
.company-page .page{
  display:block!important;
  padding:0 0 112px!important;
}
.company-page .phone{
  width:100%!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
  gap:0!important;
}
.company-page .header{
  position:absolute!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:100%!important;
  max-width:var(--max)!important;
  z-index:30!important;
  padding:18px 22px 0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.company-page .header .brand{
  display:none!important;
}
.company-page .header .header-actions{
  margin-left:auto!important;
}
.company-page .header .header-btn.primary{
  display:none!important;
}
.company-page .header .menu-line-btn{
  position:relative!important;
  width:46px!important;
  height:46px!important;
  min-height:46px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fffaf5!important;
}
.company-page .header .menu-line-btn span[aria-hidden="true"]{
  display:block!important;
  width:30px!important;
  height:4px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fffaf5!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45),0 0 1px rgba(0,0,0,.72)!important;
}
.company-page .drawer{
  position:absolute!important;
  z-index:34!important;
  top:72px!important;
  left:14px!important;
  right:14px!important;
  max-width:calc(var(--max) - 28px)!important;
  margin:0 auto!important;
}
.company-page .public-detail-main{
  display:grid!important;
  gap:16px!important;
}
.company-page .public-detail-main > .detail-hero,
.company-page .company-main > .company-hero{
  width:100%!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.company-page .company-hero-image-only{
  display:grid!important;
  gap:0!important;
}
.company-page .company-hero-visual-image-only{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  margin:0 0 16px!important;
  border-radius:0 0 30px 30px!important;
  overflow:hidden!important;
  position:relative!important;
  isolation:isolate!important;
  box-shadow:0 20px 58px rgba(55,37,22,.18)!important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(23,16,12,.14)),
    var(--company-hero-image,url("/assets/images/company-hero-fallback.svg"))!important;
  background-size:cover!important;
  background-position:center center!important;
}
.company-page .company-hero-visual-image-only::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:28%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,0));
}
.company-page .company-hero-visual-image-only::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:48%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(23,16,12,.08) 62%,rgba(244,238,231,.25));
}
.company-page .company-hero-image-only .company-intro-card{
  width:calc(100% - 28px)!important;
  max-width:calc(var(--max) - 28px)!important;
  margin:0 auto 4px!important;
  padding:clamp(22px,5.8vw,30px)!important;
  border-radius:28px!important;
}
.company-page .company-portfolio-section .section-head h2,
.company-page [data-company-portfolio-title]{
  letter-spacing:-.055em!important;
}
.company-page .company-portfolio-copy .chip{
  text-transform:none!important;
}
@media (max-width:430px){
  .company-page .header{
    padding:18px 18px 0!important;
  }
  .company-page .header .menu-line-btn{
    width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  .company-page .company-hero-visual-image-only{
    aspect-ratio:1 / 1!important;
    margin-bottom:16px!important;
  }
  .company-page .company-hero-image-only .company-intro-card{
    width:calc(100% - 24px)!important;
    max-width:calc(var(--max) - 24px)!important;
  }
}
/* END v3.10.406 */

/* v3.10.410 Company page Guides-aligned mobile paint stability
   - Aligns /company with the already stable /guides public page shell.
   - Removes nested overflow scroll containers introduced by company-only clamps.
   - Removes company-only contain/isolation paint traps on long cards.
   - Keeps desktop visual direction, but uses a lighter Guides-style flow on mobile. */
:root{--bps-company-guides-align-version:"v3.10.410";}
body.company-page.company-page-body,
body.company-page.company-page-body .page,
body.company-page.company-page-body .phone,
body.company-page.company-page-body .company-main{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}
body.company-page.company-page-body .page{
  display:block!important;
  padding:0 0 112px!important;
}
body.company-page.company-page-body .phone{
  width:100%!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
  gap:0!important;
}
body.company-page.company-page-body .company-main{
  display:grid!important;
  gap:16px!important;
  width:100%!important;
  max-width:var(--max)!important;
  min-width:0!important;
  margin:0 auto!important;
  padding-bottom:0!important;
  isolation:auto!important;
  contain:none!important;
  touch-action:pan-y;
}
body.company-page.company-page-body .company-main,
body.company-page.company-page-body .company-main *,
body.company-page.company-page-body .company-main *::before,
body.company-page.company-page-body .company-main *::after{
  content-visibility:visible!important;
}
body.company-page.company-page-body .company-main > .detail-hero,
body.company-page.company-page-body .company-main > .company-hero{
  width:100%!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
}
body.company-page.company-page-body .company-main > .section,
body.company-page.company-page-body .company-main > .bps-common-footer{
  width:calc(100% - 28px)!important;
  max-width:calc(var(--max) - 28px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.company-page.company-page-body .company-overview-card,
body.company-page.company-page-body .company-intro-card,
body.company-page.company-page-body .company-editorial-card,
body.company-page.company-page-body .company-faq-item,
body.company-page.company-page-body .company-feature-card-content,
body.company-page.company-page-body .company-portfolio-card,
body.company-page.company-page-body .company-metric-card,
body.company-page.company-page-body .bps-common-footer{
  contain:none!important;
  isolation:auto!important;
  will-change:auto!important;
  transform:none!important;
}
body.company-page.company-page-body .company-overview-card,
body.company-page.company-page-body .company-editorial-card,
body.company-page.company-page-body .company-faq-item,
body.company-page.company-page-body .company-feature-card-content,
body.company-page.company-page-body .company-portfolio-card{
  box-shadow:0 12px 28px rgba(67,46,27,.07)!important;
}
body.company-page.company-page-body .company-main .card{
  max-width:100%!important;
  min-width:0!important;
}
body.company-page.company-page-body .company-overview-card{
  width:100%!important;
  overflow:hidden!important;
  border-radius:26px!important;
}
body.company-page.company-page-body .company-portfolio-grid,
body.company-page.company-page-body .company-feature-grid,
body.company-page.company-page-body .company-editorial-grid,
body.company-page.company-page-body .company-faq-list{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
body.company-page.company-page-body .company-portfolio-media,
body.company-page.company-page-body .company-feature-card-media,
body.company-page.company-page-body .company-editorial-media{
  background:#f3eee8!important;
}
body.company-page.company-page-body .company-portfolio-media span,
body.company-page.company-page-body .company-feature-placeholder,
body.company-page.company-page-body .company-editorial-media span{
  background:#fff7ef!important;
  border:1px solid rgba(141,111,82,.14)!important;
  color:#6f5b4a!important;
  box-shadow:none!important;
}
@media (max-width:430px){
  body.company-page.company-page-body .header{padding:18px 18px 0!important;}
  body.company-page.company-page-body .drawer{top:72px!important;left:14px!important;right:14px!important;max-width:calc(var(--max) - 28px)!important;}
  body.company-page.company-page-body .company-hero-image-only .company-intro-card,
  body.company-page.company-page-body .company-main > .section,
  body.company-page.company-page-body .company-main > .bps-common-footer{
    width:calc(100% - 24px)!important;
    max-width:calc(var(--max) - 24px)!important;
  }
  body.company-page.company-page-body .company-hero-visual-image-only{
    margin-bottom:16px!important;
    box-shadow:0 12px 26px rgba(55,37,22,.10)!important;
  }
  body.company-page.company-page-body .company-hero-visual-image-only::before,
  body.company-page.company-page-body .company-hero-visual-image-only::after{
    opacity:.72!important;
  }
  body.company-page.company-page-body .company-overview-card,
  body.company-page.company-page-body .company-editorial-card,
  body.company-page.company-page-body .company-faq-item,
  body.company-page.company-page-body .company-feature-card-content,
  body.company-page.company-page-body .company-portfolio-card,
  body.company-page.company-page-body .company-metric-card{
    box-shadow:0 8px 18px rgba(67,46,27,.055)!important;
  }
  body.company-page.company-page-body .company-overview-visual{
    aspect-ratio:16 / 10!important;
  }
  body.company-page.company-page-body .company-metric-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.company-page.company-page-body .company-metric-card{
    min-height:auto!important;
  }
  body.company-page.company-page-body .company-portfolio-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  body.company-page.company-page-body .company-portfolio-card{
    border-radius:22px!important;
  }
  body.company-page.company-page-body .company-portfolio-media{
    aspect-ratio:4 / 3!important;
  }
  body.company-page.company-page-body .company-feature-grid{
    gap:10px!important;
  }
  body.company-page.company-page-body .company-feature-card-content{
    grid-template-columns:112px minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:11px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.94)!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media{
    width:112px!important;
    max-width:112px!important;
    height:112px!important;
    aspect-ratio:1 / 1!important;
    border-radius:18px!important;
    border:1px solid rgba(141,111,82,.12)!important;
    overflow:hidden!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy{
    padding:0!important;
    align-content:center!important;
    gap:7px!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy h3{
    font-size:17px!important;
    line-height:1.28!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy p{
    font-size:12.5px!important;
    line-height:1.5!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
  }
  body.company-page.company-page-body .company-feature-card-button{
    min-height:38px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
  }
  body.company-page.company-page-body .company-editorial-media{
    aspect-ratio:16 / 8!important;
  }
  body.company-page.company-page-body .bottom-nav{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 10px 24px rgba(67,46,27,.10)!important;
  }
}
@media (max-width:360px){
  body.company-page.company-page-body .company-portfolio-grid{grid-template-columns:1fr!important;}
  body.company-page.company-page-body .company-feature-card-content{grid-template-columns:96px minmax(0,1fr)!important;}
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media{width:96px!important;max-width:96px!important;height:96px!important;}
}
/* END v3.10.410 */

/* v3.10.411 Company page cleanup after mobile paint fix
   - Removes diagnostic-only UI/classes from production flow.
   - Tightens the company footer/bottom-nav spacing.
   - Finalizes Pastel values copy and card text alignment. */
:root{--bps-company-cleanup-version:"v3.10.411";}
body.company-page.company-page-body .page{
  padding-bottom:0!important;
}
body.company-page.company-page-body .public-detail-main,
body.company-page.company-page-body .company-main{
  padding-bottom:0!important;
}
body.company-page.company-page-body .company-main > .bps-common-footer,
body.company-page.company-page-body .bps-common-footer{
  margin-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
}
body.company-page.company-page-body .company-portfolio-copy .chip{
  display:none!important;
}
body.company-page.company-page-body .company-portfolio-copy{
  grid-template-rows:minmax(26px,auto) 1fr!important;
  align-content:start!important;
  align-items:start!important;
}
body.company-page.company-page-body .company-portfolio-copy h3{
  min-height:26px!important;
  display:flex!important;
  align-items:flex-start!important;
}
body.company-page.company-page-body .company-portfolio-copy p{
  margin-top:0!important;
  align-self:start!important;
}
@media (max-width:430px){
  body.company-page.company-page-body .company-main > .bps-common-footer,
  body.company-page.company-page-body .bps-common-footer{
    margin-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;
  }
  body.company-page.company-page-body .company-portfolio-copy{
    min-height:136px!important;
  }
}
/* END v3.10.411 */


/* v3.10.412 Company page footer spacing aligned with public detail pages
   - Restores the same bottom gap pattern used by /services and other public pages.
   - Keeps v3.10.410 guides-aligned mobile paint stability and v3.10.411 value-card cleanup. */
:root{--bps-company-footer-align-version:"v3.10.412";}
body.company-page.company-page-body .page{
  padding-bottom:112px!important;
}
body.company-page.company-page-body .public-detail-main,
body.company-page.company-page-body .company-main{
  padding-bottom:0!important;
}
body.company-page.company-page-body .company-main > .bps-common-footer,
body.company-page.company-page-body .bps-common-footer{
  margin-bottom:0!important;
}
@media (max-width:430px){
  body.company-page.company-page-body .page{
    padding-bottom:112px!important;
  }
  body.company-page.company-page-body .company-main > .bps-common-footer,
  body.company-page.company-page-body .bps-common-footer{
    margin-bottom:0!important;
  }
}
/* END v3.10.412 */


/* v3.10.413 Company overview metric cards cleanup
   - Public /company keeps company facts in overview copy, press, IR, FAQ, and structured data.
   - Duplicated visual metric cards are hidden even if stale CMS/static markup remains. */
body.company-page.company-page-body .company-metric-grid,
.company-page .company-metric-grid[data-company-metrics]{
  display:none!important;
}
:root{ --bps-company-overview-metric-cleanup-version:"v3.10.413"; }

/* v3.10.414 Company basic settings dedicated CMS UI */
:root{ --bps-company-basic-settings-ui-version:"v3.10.414"; }
.company-settings-single-nav{display:grid;gap:10px;padding:10px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(141,111,82,.14)}
.company-settings-single-nav>strong{font-size:13px;color:var(--text);letter-spacing:-.03em}
.company-settings-single-nav>span{font-size:11.5px;line-height:1.55;color:var(--muted)}
.company-settings-preview-link{justify-content:center;text-decoration:none}.company-settings-form-head .muted{margin-top:6px;line-height:1.6}.company-settings-layout{display:grid;gap:14px}.company-settings-panel{display:grid;gap:12px;border:1px solid rgba(141,111,82,.14);border-radius:20px;background:rgba(255,255,255,.72);padding:14px;box-shadow:0 10px 24px rgba(70,48,32,.05)}
.company-settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(141,111,82,.1);padding-bottom:10px}.company-settings-panel-head h4{font-size:17px;letter-spacing:-.045em;margin:7px 0 4px;color:var(--text)}.company-settings-panel-head p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.company-settings-grid{display:grid;gap:11px}.company-settings-field .field-help,.company-value-card-editor .field-help{display:block;margin:4px 0 0;font-size:11px;line-height:1.5;color:var(--muted);font-weight:800}.company-settings-toggle{margin-top:6px}.company-value-card-editor-grid{display:grid;gap:12px}.company-value-card-editor{display:grid;gap:10px;border:1px solid rgba(141,111,82,.13);border-radius:18px;background:#fff;padding:12px}.company-value-card-editor-head{display:flex;align-items:center;gap:8px}.company-value-card-editor-head strong{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(93,107,101,.08);font-size:12px;color:var(--p);font-weight:1000}.company-value-card-editor-head span{font-size:14px;font-weight:1000;color:var(--text);letter-spacing:-.03em}.company-value-card-editor .cms-textarea{min-height:86px}@media (min-width:760px){.company-settings-grid{grid-template-columns:1fr 1fr}.company-settings-grid .field-label:has(.cms-textarea){grid-column:1/-1}.company-value-card-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-settings-panel{padding:16px}}

/* v3.10.415 — Company settings image upload UX and value-detail image ordering */
:root{--bps-company-cms-image-upload-version:"v3.10.415";}
.company-image-upload-field,
.company-value-main-image-wrap,
.company-value-detail-manager{
  display:grid;
  gap:10px;
}
.company-image-upload-preview,
.company-value-main-preview,
.company-value-detail-preview{
  width:100%;
  min-height:132px;
  border-radius:18px;
  border:1px solid rgba(141,111,82,.16);
  background:linear-gradient(135deg,rgba(247,244,239,.95),rgba(255,255,255,.9));
  display:grid;
  place-items:center;
  overflow:hidden;
  color:var(--muted,#84776d);
  font-size:12px;
  font-weight:800;
}
.company-image-upload-preview img,
.company-value-main-preview img,
.company-value-detail-preview img{
  width:100%;
  height:100%;
  max-height:240px;
  object-fit:cover;
  display:block;
}
.company-image-upload-actions{display:flex;justify-content:flex-end;gap:8px;}
.company-value-image-field{display:grid;gap:9px;}
.company-value-detail-manager{
  grid-column:1/-1;
  border:1px dashed rgba(141,111,82,.22);
  border-radius:18px;
  padding:12px;
  background:rgba(250,248,244,.72);
}
.company-value-detail-manager-head{align-items:flex-start;}
.company-value-detail-bulk-drop{min-height:86px;}
.company-value-detail-list{display:grid;gap:10px;}
.company-value-detail-image-card{
  display:grid;
  gap:10px;
  border:1px solid rgba(141,111,82,.16);
  border-radius:18px;
  background:#fff;
  padding:12px;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.company-value-detail-image-card.is-dragging{opacity:.58;transform:scale(.995);}
.company-value-detail-image-card.is-dragover{border-color:rgba(88,103,95,.55);box-shadow:0 0 0 3px rgba(88,103,95,.12);}
.company-value-detail-head{display:flex;align-items:center;gap:8px;justify-content:space-between;}
.company-value-detail-head strong{font-size:13px;color:var(--text,#2c2824);letter-spacing:-.03em;}
.company-value-drag-handle{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:rgba(93,107,101,.08);
  color:var(--p,#58675f);
  font-weight:1000;
  cursor:grab;
  user-select:none;
}
.company-value-detail-image-card:active .company-value-drag-handle{cursor:grabbing;}
.company-value-detail-grid{display:grid;gap:10px;grid-template-columns:1fr;}
.company-value-detail-grid .full-span{grid-column:1/-1;}
.company-modal-image-list figure{margin:0;display:grid;gap:8px;}
.company-modal-image-list figcaption{padding:0 4px;color:var(--text-muted,#665a52);font-size:13px;line-height:1.55;}
.company-portfolio-card.is-clickable{cursor:pointer;}
.company-portfolio-card.is-clickable:focus-visible{outline:3px solid rgba(88,103,95,.35);outline-offset:3px;}
@media (min-width:760px){
  .company-value-detail-grid{grid-template-columns:1fr 1fr;}
  .company-value-detail-image-card .package-component-upload-row{grid-template-columns:minmax(0,1fr) minmax(180px,240px);}
}

/* v3.10.416 — Company basic settings CMS operator-friendly section UX */
:root{--bps-company-basic-settings-ux-version:"v3.10.416";}
.company-settings-workspace{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,1fr);gap:16px;align-items:start;}
.company-settings-section-nav{position:sticky;top:86px;display:grid;gap:10px;padding:12px;border:1px solid rgba(141,111,82,.14);border-radius:20px;background:rgba(255,255,255,.8);box-shadow:0 12px 28px rgba(70,48,32,.06);}
.company-settings-section-nav>strong{font-size:14px;letter-spacing:-.04em;color:var(--text,#2c2824);}
.company-settings-section-nav>span{font-size:11.5px;line-height:1.55;color:var(--muted,#84776d);font-weight:750;}
.company-settings-section-nav-list{display:grid;gap:7px;}
.company-settings-section-nav-btn{appearance:none;border:1px solid rgba(141,111,82,.13);background:rgba(255,255,255,.72);border-radius:15px;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;text-align:left;cursor:pointer;color:var(--text,#2c2824);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.company-settings-section-nav-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(70,48,32,.06);}
.company-settings-section-nav-btn.active{background:linear-gradient(135deg,rgba(88,103,95,.98),rgba(58,68,63,.98));border-color:rgba(88,103,95,.45);color:#fff;box-shadow:0 12px 22px rgba(58,68,63,.18);}
.company-settings-section-nav-btn em{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:rgba(93,107,101,.08);font-style:normal;font-size:11px;font-weight:1000;}
.company-settings-section-nav-btn.active em{background:rgba(255,255,255,.18);}
.company-settings-section-nav-btn span{display:grid;gap:2px;min-width:0;}
.company-settings-section-nav-btn b{font-size:12.5px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.company-settings-section-nav-btn small{font-size:10.5px;line-height:1.35;color:var(--muted,#84776d);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.company-settings-section-nav-btn.active small{color:rgba(255,255,255,.72);}
.company-settings-nav-note{display:grid;gap:4px;margin-top:4px;padding:10px;border-radius:14px;background:rgba(247,244,239,.72);font-size:11px;line-height:1.48;color:var(--muted,#84776d);}
.company-settings-nav-note b{color:var(--text,#2c2824);}
.company-settings-section-content [data-company-settings-section]{display:none;}
.company-settings-section-content [data-company-settings-section].is-active{display:grid;}
.company-settings-grid-compact{grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:start;}
.company-settings-mini-fields{display:grid;gap:11px;}
.company-settings-panel-save{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid rgba(141,111,82,.08);}
.company-settings-sticky-save{position:sticky;bottom:14px;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border:1px solid rgba(141,111,82,.14);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 14px 30px rgba(70,48,32,.11);backdrop-filter:blur(10px);}
.company-settings-sticky-save span{font-weight:1000;color:var(--text,#2c2824);letter-spacing:-.035em;}
.company-value-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.company-value-tab{appearance:none;border:1px solid rgba(141,111,82,.14);border-radius:16px;background:rgba(255,255,255,.75);padding:10px;display:grid;gap:5px;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.company-value-tab:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(70,48,32,.06);}
.company-value-tab.active{background:rgba(88,103,95,.1);border-color:rgba(88,103,95,.32);box-shadow:0 0 0 3px rgba(88,103,95,.08);}
.company-value-tab em{font-style:normal;font-size:11px;font-weight:1000;color:var(--p,#58675f);}
.company-value-tab span{font-size:14px;font-weight:1000;color:var(--text,#2c2824);letter-spacing:-.04em;}
.company-value-card-editor-single{display:block;}
.company-value-card-editor-single .company-value-card-editor{display:none;}
.company-value-card-editor-single .company-value-card-editor.is-active{display:grid;}
.company-value-card-edit-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:14px;align-items:start;}
.company-value-card-text-fields{display:grid;gap:11px;}
.company-value-detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.company-value-detail-collapsible{display:grid;gap:10px;}
.company-value-detail-manager.is-collapsed .company-value-detail-collapsible{display:none;}
.company-value-detail-manager.is-collapsed{background:rgba(250,248,244,.5);}
.company-image-upload-field .company-image-upload-preview,.company-value-main-preview{min-height:96px;}
.company-image-upload-field .storage-file-drop,.company-value-main-image-wrap .storage-file-drop{min-height:72px;}
.company-value-detail-manager .package-component-manager-head{gap:10px;}
@media (max-width:980px){
  .company-settings-workspace{grid-template-columns:1fr;}
  .company-settings-section-nav{position:static;}
  .company-settings-section-nav-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .company-settings-grid-compact,.company-value-card-edit-main{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .company-settings-section-nav-list,.company-value-tabs{grid-template-columns:1fr;}
  .company-settings-sticky-save{bottom:8px;}
}

/* v3.10.417: 기업정보 피처 카드 고정 슬롯 전용 CMS UI */
.company-feature-admin-workspace{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,1fr);gap:16px;align-items:start;}
.company-feature-slot-tabs{display:grid;gap:7px;}
.company-feature-slot-tab{appearance:none;border:1px solid rgba(141,111,82,.13);background:rgba(255,255,255,.74);border-radius:15px;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;text-align:left;cursor:pointer;color:var(--text,#2c2824);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.company-feature-slot-tab:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(70,48,32,.06);}
.company-feature-slot-tab.active{background:linear-gradient(135deg,rgba(88,103,95,.98),rgba(58,68,63,.98));border-color:rgba(88,103,95,.45);color:#fff;box-shadow:0 12px 22px rgba(58,68,63,.18);}
.company-feature-slot-tab em{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:rgba(93,107,101,.08);font-style:normal;font-size:11px;font-weight:1000;}
.company-feature-slot-tab.active em{background:rgba(255,255,255,.18);}
.company-feature-slot-tab span{display:grid;gap:2px;min-width:0;}
.company-feature-slot-tab b{font-size:12.5px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.company-feature-slot-tab small{font-size:10.5px;line-height:1.35;color:var(--muted,#84776d);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.company-feature-slot-tab.active small{color:rgba(255,255,255,.72);}
.company-feature-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;align-items:start;}
.company-feature-main-fields,.company-feature-media-fields{display:grid;gap:11px;min-width:0;}
.company-feature-detail-images-panel{border:1px solid rgba(141,111,82,.14);border-radius:18px;background:rgba(255,255,255,.74);overflow:hidden;}
.company-feature-detail-images-panel>summary{list-style:none;display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;padding:12px 14px;font-weight:1000;color:var(--text,#2c2824);}
.company-feature-detail-images-panel>summary::-webkit-details-marker{display:none;}
.company-feature-detail-images-panel>summary span{font-size:11px;color:var(--muted,#84776d);font-weight:800;}
.company-feature-detail-images-panel[open]>summary{border-bottom:1px solid rgba(141,111,82,.1);}
.company-feature-detail-images-panel .package-feature-images-manager{border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;}
.package-feature-image-admin-card[draggable="true"]{cursor:grab;}
.package-feature-image-admin-card.is-dragging{opacity:.55;cursor:grabbing;}
.package-feature-image-admin-card.is-dragover{outline:2px dashed rgba(109,82,58,.38);outline-offset:4px;background:rgba(247,242,235,.9);}
.drag-sort-hint{display:block;margin-top:2px;font-size:10.5px;color:var(--muted,#84776d);font-weight:800;}
@media (max-width:900px){
  .company-feature-admin-workspace{grid-template-columns:1fr;}
  .company-feature-admin-grid{grid-template-columns:1fr;}
  .company-feature-slot-side{position:static;}
  .company-feature-slot-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){.company-feature-slot-tabs{grid-template-columns:1fr;}}
:root{--bps-company-feature-slots-cms-version:"v3.10.417";}

/* v3.10.420 Company value cards square-image layout polish
   - Keeps uploaded 1:1 value-card images visible inside a 1:1 public card frame.
   - Removes the mobile 4:3 override that cropped square artwork.
   - Tightens the lower text area so value cards do not look unnecessarily tall. */
:root{--bps-company-value-card-square-layout-version:"v3.10.420";}
body.company-page.company-page-body .company-portfolio-card,
.company-page .company-portfolio-card{
  grid-template-rows:auto auto!important;
}
body.company-page.company-page-body .company-portfolio-media,
.company-page .company-portfolio-media{
  aspect-ratio:1 / 1!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#f3eee8!important;
}
body.company-page.company-page-body .company-portfolio-media img,
.company-page .company-portfolio-media img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f3eee8!important;
}
body.company-page.company-page-body .company-portfolio-copy,
.company-page .company-portfolio-copy{
  min-height:0!important;
  padding:12px 12px 14px!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:6px!important;
  align-content:start!important;
  align-items:start!important;
}
body.company-page.company-page-body .company-portfolio-copy h3,
.company-page .company-portfolio-copy h3{
  min-height:0!important;
  margin:0!important;
  font-size:clamp(16px,4vw,18px)!important;
  line-height:1.24!important;
}
body.company-page.company-page-body .company-portfolio-copy p,
.company-page .company-portfolio-copy p{
  margin:0!important;
  font-size:12.25px!important;
  line-height:1.48!important;
  align-self:start!important;
}
@media (max-width:430px){
  body.company-page.company-page-body .company-portfolio-media,
  .company-page .company-portfolio-media{
    aspect-ratio:1 / 1!important;
  }
  body.company-page.company-page-body .company-portfolio-copy,
  .company-page .company-portfolio-copy{
    min-height:104px!important;
    padding:12px 12px 13px!important;
  }
}
@media (max-width:360px){
  body.company-page.company-page-body .company-portfolio-media,
  .company-page .company-portfolio-media{
    aspect-ratio:1 / 1!important;
  }
  body.company-page.company-page-body .company-portfolio-copy,
  .company-page .company-portfolio-copy{
    min-height:auto!important;
  }
}
/* END v3.10.420 */

/* v3.10.421 Company mobile feature compact action cards + value copy tightening
   - Keeps bottom navigation untouched.
   - Converts representative/history/partnership/careers cards into compact mobile action cards.
   - Replaces repeated CTA buttons with a lightweight arrow affordance on narrow screens.
   - Tightens value-card lower text area by a small 4–8px visual step. */
:root{--bps-company-mobile-feature-compact-version:"v3.10.421";}
body.company-page.company-page-body .company-portfolio-copy,
.company-page .company-portfolio-copy{
  padding:10px 12px 11px!important;
  gap:5px!important;
}
body.company-page.company-page-body .company-portfolio-copy p,
.company-page .company-portfolio-copy p{
  font-size:12.15px!important;
  line-height:1.44!important;
}
@media (max-width:430px){
  body.company-page.company-page-body .company-portfolio-copy,
  .company-page .company-portfolio-copy{
    min-height:98px!important;
    padding:10px 11px 11px!important;
  }
}
@media (max-width:760px){
  body.company-page.company-page-body .company-feature-grid,
  .company-page .company-feature-grid{
    display:grid!important;
    gap:10px!important;
  }
  body.company-page.company-page-body .company-feature-card-content,
  .company-page .company-feature-card-content{
    position:relative!important;
    display:grid!important;
    grid-template-columns:96px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    min-height:116px!important;
    padding:12px 40px 12px 12px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(249,247,242,.93))!important;
    border:1px solid rgba(208,188,168,.28)!important;
    box-shadow:0 8px 18px rgba(67,46,27,.055)!important;
    overflow:hidden!important;
  }
  body.company-page.company-page-body .company-feature-card-content::after,
  .company-page .company-feature-card-content::after{
    content:"›";
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    width:22px;
    height:22px;
    border-radius:999px;
    display:grid;
    place-items:center;
    color:#6f6258;
    background:rgba(255,255,255,.66);
    border:1px solid rgba(141,111,82,.12);
    font-size:22px;
    line-height:1;
    font-weight:700;
    pointer-events:none;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media,
  .company-page .company-feature-card-content .company-feature-card-media{
    width:96px!important;
    max-width:96px!important;
    height:96px!important;
    aspect-ratio:1 / 1!important;
    border-radius:18px!important;
    border:1px solid rgba(141,111,82,.12)!important;
    overflow:hidden!important;
    background:#f3eee8!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media img,
  .company-page .company-feature-card-content .company-feature-card-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy,
  .company-page .company-feature-card-content .company-feature-card-copy{
    display:grid!important;
    align-content:center!important;
    gap:5px!important;
    min-width:0!important;
    padding:0!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy .chip,
  .company-page .company-feature-card-content .company-feature-card-copy .chip{
    justify-self:start!important;
    padding:4px 8px!important;
    font-size:9.5px!important;
    line-height:1!important;
    border-radius:999px!important;
    color:#647169!important;
    background:rgba(239,246,240,.82)!important;
    border:1px solid rgba(111,130,118,.10)!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy h3,
  .company-page .company-feature-card-content .company-feature-card-copy h3{
    margin:0!important;
    font-size:16px!important;
    line-height:1.26!important;
    letter-spacing:-.045em!important;
    color:#202521!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy p,
  .company-page .company-feature-card-content .company-feature-card-copy p{
    margin:0!important;
    color:#67726a!important;
    font-size:12.15px!important;
    line-height:1.45!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.company-page.company-page-body .company-feature-card-button,
  .company-page .company-feature-card-button{
    display:none!important;
  }
}
@media (max-width:430px){
  body.company-page.company-page-body .company-feature-card-content,
  .company-page .company-feature-card-content{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:11px!important;
    min-height:108px!important;
    padding:11px 36px 11px 11px!important;
    border-radius:21px!important;
  }
  body.company-page.company-page-body .company-feature-card-content::after,
  .company-page .company-feature-card-content::after{
    right:12px;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media,
  .company-page .company-feature-card-content .company-feature-card-media{
    width:88px!important;
    max-width:88px!important;
    height:88px!important;
    border-radius:17px!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy h3,
  .company-page .company-feature-card-content .company-feature-card-copy h3{
    font-size:15.5px!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy p,
  .company-page .company-feature-card-content .company-feature-card-copy p{
    font-size:11.9px!important;
    line-height:1.43!important;
  }
}
@media (max-width:360px){
  body.company-page.company-page-body .company-feature-card-content,
  .company-page .company-feature-card-content{
    grid-template-columns:80px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:100px!important;
    padding:10px 34px 10px 10px!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-media,
  .company-page .company-feature-card-content .company-feature-card-media{
    width:80px!important;
    max-width:80px!important;
    height:80px!important;
    border-radius:16px!important;
  }
  body.company-page.company-page-body .company-feature-card-content .company-feature-card-copy .chip,
  .company-page .company-feature-card-content .company-feature-card-copy .chip{
    font-size:9px!important;
    padding:3px 7px!important;
  }
}
/* END v3.10.421 */

/* v3.10.422 Company press / IR / FAQ editor UX + placeholder cleanup */
:root{--bps-company-press-ir-faq-editor-ux-version:"v3.10.422";}
body.company-page.company-page-body .company-editorial-card.no-image,
.company-page .company-editorial-card.no-image{
  padding:0!important;
}
body.company-page.company-page-body .company-editorial-card.no-image .company-editorial-media,
.company-page .company-editorial-card.no-image .company-editorial-media{
  display:none!important;
}
body.company-page.company-page-body .company-editorial-card.no-image .company-editorial-copy,
.company-page .company-editorial-card.no-image .company-editorial-copy{
  padding-top:16px!important;
}
.company-editorial-doc-item{
  display:grid!important;
  grid-template-columns:28px 44px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  cursor:grab;
  user-select:none;
}
.company-editorial-doc-item:active{cursor:grabbing;}
.company-editorial-doc-item.dragging{
  opacity:.64;
  transform:scale(.985);
  box-shadow:0 16px 38px rgba(37,39,37,.14)!important;
}
.company-editorial-doc-item.drag-over{
  border-color:rgba(89,97,95,.38)!important;
  background:rgba(240,238,233,.82)!important;
}
.company-editorial-doc-thumb{
  width:44px;
  height:44px;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(244,239,233,.95),rgba(250,248,244,.95));
  border:1px solid rgba(141,111,82,.12);
  display:grid!important;
  place-items:center;
  margin:0!important;
  color:#7d6d61!important;
  font-size:11px!important;
  font-weight:900;
  line-height:1.1;
}
.company-editorial-doc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.company-editorial-doc-copy{display:grid!important;gap:4px;min-width:0;margin:0!important;}
.company-editorial-doc-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.company-editorial-doc-copy small{font-size:11px;color:var(--muted,#756b63);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.company-editorial-doc-actions{display:flex!important;gap:5px;margin:0!important;}
.company-editorial-doc-actions .btn{min-height:30px;padding:6px 8px;font-size:11px;border-radius:10px;}
.company-editorial-preview-card,
.company-editorial-editor-section,
.company-editorial-i18n-panel{
  grid-column:1/-1;
  border:1px solid rgba(141,111,82,.14);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  padding:13px;
  box-shadow:0 10px 26px rgba(70,48,32,.05);
}
.company-editorial-preview-head,
.company-editorial-editor-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
}
.company-editorial-preview-head small,
.company-editorial-editor-section-head span,
.company-editorial-i18n-panel summary span{
  color:var(--muted,#756b63);
  font-size:11px;
  line-height:1.45;
}
.company-editorial-editor-grid{grid-column:1/-1;display:grid;gap:12px;}
.company-editorial-editor-controls,
.company-editorial-editor-content,
.company-editorial-i18n-grid{
  display:grid;
  gap:11px;
}
.company-editorial-editor-content .field-label:has(.cms-textarea){grid-column:1/-1;}
.company-editorial-i18n-panel summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.company-editorial-i18n-tabs{display:grid;gap:8px;margin-top:12px;}
.company-editorial-i18n-tab{
  border:1px solid rgba(141,111,82,.12);
  border-radius:16px;
  background:rgba(250,248,244,.8);
  padding:0 11px 11px;
}
.company-editorial-i18n-tab summary{
  padding:11px 0;
  font-weight:900;
  color:var(--pd,#5a4b42);
}
.company-editorial-preview-card .company-editorial-card{
  box-shadow:none!important;
  border:1px solid rgba(208,188,168,.24)!important;
}
.company-editorial-preview-card .company-editorial-card.no-image .company-editorial-copy{
  padding:14px!important;
}
@media (min-width:760px){
  .company-editorial-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr));}
  .company-editorial-editor-content{grid-template-columns:repeat(2,minmax(0,1fr));}
  .company-editorial-i18n-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .company-editorial-i18n-grid .field-label:has(.cms-textarea){grid-column:1/-1;}
}
@media (max-width:520px){
  .company-editorial-doc-item{grid-template-columns:26px 40px minmax(0,1fr);}
  .company-editorial-doc-actions{grid-column:2/-1;justify-content:flex-end;}
  .company-editorial-preview-head,
  .company-editorial-editor-section-head,
  .company-editorial-i18n-panel summary{display:grid;}
}
/* END v3.10.422 */


/* v3.10.423 Company press editorial swipe cards */
:root{--bps-company-press-editorial-swipe-version:"v3.10.423";}
body.company-page.company-page-body .company-press-section .section-head{
  margin-bottom:14px!important;
}
body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail,
.company-page .company-press-section .company-editorial-grid.company-press-editorial-rail{
  display:flex!important;
  grid-template-columns:none!important;
  gap:14px!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0 -14px!important;
  padding:4px 14px 18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
}
body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail::-webkit-scrollbar,
.company-page .company-press-section .company-editorial-grid.company-press-editorial-rail::-webkit-scrollbar{display:none;}
body.company-page.company-page-body .company-press-editorial-card,
.company-page .company-press-editorial-card{
  flex:0 0 min(84%, 342px)!important;
  width:min(84%, 342px)!important;
  max-width:342px!important;
  min-width:0!important;
  scroll-snap-align:start!important;
  text-decoration:none!important;
  color:inherit!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 42px rgba(55,37,22,.09)!important;
  border:1px solid rgba(208,188,168,.22)!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
}
body.company-page.company-page-body .company-press-editorial-card:focus-visible,
.company-page .company-press-editorial-card:focus-visible{
  outline:3px solid rgba(111,130,118,.34)!important;
  outline-offset:3px!important;
}
body.company-page.company-page-body .company-press-editorial-media,
.company-page .company-press-editorial-media{
  aspect-ratio:1 / 1!important;
  background:#f3eee8!important;
}
body.company-page.company-page-body .company-press-editorial-media img,
.company-page .company-press-editorial-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.company-page.company-page-body .company-press-editorial-copy,
.company-page .company-press-editorial-copy{
  padding:18px 18px 20px!important;
  gap:11px!important;
}
body.company-page.company-page-body .company-press-editorial-copy .chip,
.company-page .company-press-editorial-copy .chip{
  width:max-content!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.company-page.company-page-body .company-press-editorial-copy h3,
.company-page .company-press-editorial-copy h3{
  font-size:clamp(20px,5.2vw,25px)!important;
  line-height:1.32!important;
  letter-spacing:-.055em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
}
body.company-page.company-page-body .company-press-editorial-copy p,
.company-page .company-press-editorial-copy p{
  color:#6f6259!important;
  font-size:clamp(14px,3.7vw,16px)!important;
  line-height:1.62!important;
  display:-webkit-box!important;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
}
body.company-page.company-page-body .company-press-editorial-copy small,
.company-page .company-press-editorial-copy small{
  color:#9b8b82!important;
  font-weight:700!important;
}
.company-press-card-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border-radius:16px!important;
  border:1px solid rgba(141,111,82,.16)!important;
  background:rgba(255,255,255,.74)!important;
  color:#574d47!important;
  font-weight:900!important;
  font-size:13px!important;
}
@media (min-width:760px){
  body.company-page.company-page-body .company-press-editorial-card,
  .company-page .company-press-editorial-card{
    flex-basis:min(31.5%, 360px)!important;
    width:min(31.5%, 360px)!important;
    max-width:360px!important;
  }
  body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail,
  .company-page .company-press-section .company-editorial-grid.company-press-editorial-rail{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
.company-press-cover-field{
  display:grid!important;
  gap:10px!important;
}
.company-press-cover-preview{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,rgba(244,239,233,.95),rgba(250,248,244,.95))!important;
  border:1px solid rgba(141,111,82,.14)!important;
  display:grid!important;
  place-items:center!important;
  color:#7d6d61!important;
  font-size:12px!important;
  font-weight:900!important;
}
.company-press-cover-preview img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.company-editorial-preview-card.is-press-preview .company-editorial-card.has-image .company-editorial-media{aspect-ratio:1 / 1!important;}
/* END v3.10.423 */

/* v3.10.424 Company press CMS editor completion */
:root{--bps-company-press-cms-editor-version:"v3.10.424";}
.company-press-cms-empty,
.company-press-cms-onboarding,
.company-press-cms-header{
  border:1px solid rgba(126,104,86,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,244,238,.92));
  border-radius:20px;
  padding:18px;
  box-shadow:0 12px 30px rgba(52,42,34,.06);
}
.company-press-cms-empty,
.company-press-cms-onboarding{display:grid;gap:10px;color:var(--text,#221f1c);}
.company-press-cms-empty strong,
.company-press-cms-onboarding h3{margin:0;font-size:18px;letter-spacing:-.04em;}
.company-press-cms-onboarding p,
.company-press-cms-empty span{margin:0;color:var(--muted,#736a62);line-height:1.55;}
.company-press-cms-empty-actions,
.company-press-cms-onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.company-press-cms-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.company-press-cms-header h3{margin:8px 0 4px;font-size:20px;letter-spacing:-.05em;}
.company-press-cms-header p{margin:0;color:var(--muted,#736a62);line-height:1.55;}
.company-press-cms-checklist{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:260px;}
.company-press-cms-checklist span{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;letter-spacing:-.02em;}
.company-press-cms-checklist .is-ok{background:#eef6ee;color:#41604d;border:1px solid rgba(65,96,77,.18);}
.company-press-cms-checklist .is-missing{background:#fff5ed;color:#92654c;border:1px solid rgba(146,101,76,.2);}
.company-press-cms-editor-grid .company-editorial-preview-card{border-color:rgba(86,96,86,.2);}
.company-press-cms-editor-grid .company-editorial-preview-head .chip::after{content:" · 사용자 카드와 유사";font-weight:700;color:rgba(65,75,65,.72);}
.company-editorial-sort-list.is-empty{display:block!important;}
.company-editorial-sort-list.is-empty .company-press-cms-empty{margin:0;}
.company-press-cover-field .field-help{display:block;margin-top:6px;line-height:1.5;}
.company-press-cover-drop{min-height:94px;}
.company-press-cover-preview:empty::before{content:"썸네일 미등록";display:grid;place-items:center;width:100%;height:100%;color:#95887e;font-weight:800;font-size:12px;}
@media (max-width: 720px){
  .company-press-cms-header{display:grid;}
  .company-press-cms-checklist{justify-content:flex-start;min-width:0;}
  .company-press-cms-empty-actions,
  .company-press-cms-onboarding-actions{display:grid;grid-template-columns:1fr;}
}
/* END v3.10.424 */

/* v3.10.425 Company press CMS density cleanup */
:root{--bps-company-press-cms-density-version:"v3.10.425";}
.company-press-cms-density-grid{
  gap:12px!important;
}
.company-press-cms-density-grid .company-press-cms-header{
  padding:14px 16px!important;
  border-radius:18px!important;
}
.company-press-cms-density-grid .company-press-cms-header h3{
  font-size:18px!important;
  margin:6px 0 2px!important;
}
.company-press-cms-density-grid .company-press-cms-header p{
  font-size:12px!important;
  line-height:1.45!important;
}
.company-press-cms-density-grid .company-press-cms-checklist{
  min-width:220px!important;
}
.company-press-cms-density-grid .company-press-cms-checklist span{
  padding:5px 8px!important;
  font-size:11px!important;
}
.company-press-cms-density-grid .company-editorial-preview-card,
.company-press-cms-density-grid .company-editorial-editor-section,
.company-press-cms-density-grid .company-editorial-i18n-panel{
  padding:12px!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(70,48,32,.045)!important;
}
.company-press-cms-density-grid .company-editorial-preview-head,
.company-press-cms-density-grid .company-editorial-editor-section-head,
.company-press-cms-density-grid .company-editorial-i18n-panel-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-bottom:9px!important;
}
.company-press-cms-density-grid .company-editorial-i18n-panel-head span,
.company-press-cms-density-grid .company-editorial-editor-section-head span,
.company-press-cms-density-grid .company-editorial-preview-head small{
  color:var(--muted,#756b63)!important;
  font-size:11px!important;
  line-height:1.42!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.has-image{
  display:grid!important;
  grid-template-columns:168px minmax(0,1fr)!important;
  grid-template-rows:none!important;
  max-width:560px!important;
  min-height:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.has-image .company-editorial-media{
  width:168px!important;
  height:126px!important;
  aspect-ratio:auto!important;
  min-height:0!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.has-image .company-editorial-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-copy{
  padding:12px 13px!important;
  gap:6px!important;
  align-content:start!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-copy .chip{
  font-size:10px!important;
  padding:4px 8px!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-copy h3{
  font-size:15px!important;
  line-height:1.32!important;
  letter-spacing:-.04em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-copy p{
  font-size:12px!important;
  line-height:1.45!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-copy .btn{
  min-height:30px!important;
  padding:6px 10px!important;
  font-size:11px!important;
  border-radius:11px!important;
  width:max-content!important;
  max-width:100%!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.no-image{
  max-width:560px!important;
}
.company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.no-image .company-editorial-copy{
  padding:12px 13px!important;
}
.company-press-cms-density-grid .company-editorial-editor-controls,
.company-press-cms-density-grid .company-editorial-editor-content,
.company-press-cms-density-grid .company-editorial-i18n-grid{
  gap:10px!important;
}
.company-press-cms-density-grid .company-press-cms-image-section .company-editorial-editor-media-control{
  display:block!important;
}
.company-press-cms-density-grid .company-press-cover-field{
  display:grid!important;
  grid-template-columns:178px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.company-press-cms-density-grid .company-press-cover-field > span:first-child,
.company-press-cms-density-grid .company-press-cover-field > .field-help,
.company-press-cms-density-grid .company-press-cover-field > input[type="hidden"],
.company-press-cms-density-grid .company-press-cover-field > .company-press-cover-progress{
  grid-column:1 / -1!important;
}
.company-press-cms-density-grid .company-press-cover-preview{
  width:178px!important;
  height:132px!important;
  aspect-ratio:auto!important;
  border-radius:16px!important;
}
.company-press-cms-density-grid .company-press-cover-drop{
  min-height:82px!important;
  height:82px!important;
  border-radius:16px!important;
  padding:12px!important;
  align-content:center!important;
}
.company-press-cms-density-grid .company-press-cover-drop span{
  font-size:13px!important;
}
.company-press-cms-density-grid .company-press-cover-drop em{
  font-size:11px!important;
}
.company-press-cms-density-grid .company-press-cover-field [data-company-press-cover-clear]{
  min-height:38px!important;
  white-space:nowrap!important;
}
.company-editorial-i18n-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.company-editorial-i18n-tab-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-bottom:10px!important;
}
.company-editorial-i18n-tab-button{
  border:1px solid rgba(141,111,82,.14)!important;
  background:rgba(255,255,255,.82)!important;
  border-radius:999px!important;
  min-height:32px!important;
  padding:7px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#6a5c52!important;
  cursor:pointer!important;
}
.company-editorial-i18n-tab-button.is-active{
  background:#5f6966!important;
  color:#fff!important;
  border-color:rgba(95,105,102,.78)!important;
  box-shadow:0 8px 18px rgba(48,58,55,.14)!important;
}
.company-editorial-i18n-tabs{
  margin-top:0!important;
  display:block!important;
}
.company-editorial-i18n-tab-panel[hidden]{display:none!important;}
.company-editorial-i18n-tab-panel.is-active{display:block!important;}
.company-editorial-i18n-tab-panel .company-editorial-i18n-grid{
  border:1px solid rgba(141,111,82,.10)!important;
  border-radius:16px!important;
  background:rgba(250,248,244,.72)!important;
  padding:10px!important;
}
@media (min-width:760px){
  .company-press-cms-density-grid .company-press-cms-basic-section .company-editorial-editor-controls{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .company-press-cms-density-grid .company-press-cms-state-section .company-editorial-editor-controls{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .company-press-cms-density-grid .company-press-cms-content-section .company-editorial-editor-content{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:720px){
  .company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.has-image{
    grid-template-columns:132px minmax(0,1fr)!important;
    max-width:none!important;
  }
  .company-press-cms-editor-grid .company-editorial-preview-card.is-press-preview .company-editorial-card.has-image .company-editorial-media{
    width:132px!important;
    height:110px!important;
  }
  .company-press-cms-density-grid .company-press-cover-field{
    grid-template-columns:128px minmax(0,1fr)!important;
  }
  .company-press-cms-density-grid .company-press-cover-preview{
    width:128px!important;
    height:104px!important;
  }
  .company-press-cms-density-grid .company-press-cover-field [data-company-press-cover-clear]{
    grid-column:1 / -1!important;
    width:100%!important;
  }
  .company-editorial-i18n-panel-head,
  .company-press-cms-density-grid .company-editorial-preview-head,
  .company-press-cms-density-grid .company-editorial-editor-section-head{
    display:grid!important;
  }
}
/* END v3.10.425 */

/* v3.10.426 Company press CMS list and sort UX refinement */
:root{--bps-company-press-cms-list-sort-version:"v3.10.426";}
.editor-doc-list.company-editorial-list-mode{
  gap:10px!important;
  padding-right:6px!important;
}
@media (min-width:760px){
  .editor-layout:has(.editor-doc-list.company-editorial-list-mode){
    grid-template-columns:minmax(310px, 350px) minmax(0,1fr)!important;
    align-items:start!important;
  }
  .editor-doc-list.company-editorial-list-mode{
    max-height:760px!important;
  }
}
.company-editorial-list-shell{
  display:grid!important;
  gap:8px!important;
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  padding:0 0 2px!important;
  background:linear-gradient(180deg,rgba(250,247,241,.98),rgba(250,247,241,.92))!important;
  backdrop-filter:blur(8px)!important;
}
.company-editorial-list-header{
  display:grid!important;
  gap:10px!important;
  padding:13px!important;
  border:1px solid rgba(141,111,82,.16)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 10px 24px rgba(70,48,32,.055)!important;
}
.company-editorial-list-title{
  display:grid!important;
  gap:3px!important;
}
.company-editorial-list-title strong{
  font-size:14px!important;
  letter-spacing:-.04em!important;
  color:var(--text,#221f1c)!important;
}
.company-editorial-list-title span{
  margin:0!important;
  font-size:11px!important;
  line-height:1.42!important;
  color:var(--muted,#756b63)!important;
}
.company-editorial-list-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:center!important;
}
.company-editorial-count-badge,
.company-editorial-sort-state{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.company-editorial-count-badge{
  color:#62564e!important;
  background:rgba(141,111,82,.08)!important;
  border:1px solid rgba(141,111,82,.12)!important;
}
.company-editorial-sort-state.is-clean{
  color:#68746e!important;
  background:rgba(92,116,104,.09)!important;
  border:1px solid rgba(92,116,104,.15)!important;
}
.company-editorial-sort-state.is-dirty{
  color:#9a684b!important;
  background:rgba(175,117,76,.12)!important;
  border:1px solid rgba(175,117,76,.2)!important;
}
.company-editorial-list-actions .promotion-sort-save-btn{
  min-height:30px!important;
  padding:7px 11px!important;
  font-size:11px!important;
  border-radius:999px!important;
}
.company-editorial-list-actions .promotion-sort-save-btn:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}
.company-editorial-list-help{
  display:grid!important;
  gap:3px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:rgba(239,244,238,.72)!important;
  border:1px solid rgba(92,116,104,.12)!important;
}
.company-editorial-list-help strong{
  font-size:11px!important;
  color:#53615a!important;
  letter-spacing:-.02em!important;
}
.company-editorial-list-help span{
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.45!important;
  color:#6f7a73!important;
}
.company-editorial-sort-list{
  display:grid!important;
  gap:8px!important;
}
.company-editorial-doc-row{
  grid-template-columns:18px 30px 58px minmax(0,1fr) 34px!important;
  gap:8px!important;
  padding:10px!important;
  min-height:82px!important;
  align-items:center!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 8px 18px rgba(70,48,32,.04)!important;
}
.company-editorial-doc-row.active{
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,242,235,.92))!important;
  border-color:rgba(95,105,102,.42)!important;
  box-shadow:0 0 0 2px rgba(95,105,102,.12),0 12px 24px rgba(70,48,32,.055)!important;
}
.company-editorial-doc-row.active::before{
  content:"";
  width:4px;
  align-self:stretch;
  border-radius:999px;
  background:#5f6966;
  grid-column:1;
  grid-row:1;
}
.company-editorial-doc-row.active .company-editorial-drag-handle{display:none!important;}
.company-editorial-doc-row .company-editorial-drag-handle{
  grid-column:1;
  color:#a4988f!important;
  font-size:13px!important;
  justify-self:center!important;
}
.company-editorial-doc-order{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  background:rgba(95,105,102,.08)!important;
  color:#65716b!important;
  font-size:11px!important;
  font-weight:1000!important;
  margin:0!important;
}
.company-editorial-doc-row .company-editorial-doc-thumb{
  width:58px!important;
  height:58px!important;
  border-radius:16px!important;
}
.company-editorial-doc-kicker{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  margin:0!important;
}
.company-editorial-doc-kicker b{
  display:inline-block!important;
  max-width:120px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
  color:#6d625a!important;
}
.company-editorial-doc-kicker em{
  display:inline-flex!important;
  align-items:center!important;
  min-height:20px!important;
  padding:3px 6px!important;
  border-radius:999px!important;
  font-style:normal!important;
  font-size:10px!important;
  font-weight:900!important;
}
.company-editorial-doc-kicker em.is-visible{
  background:rgba(83,126,96,.1)!important;
  color:#50745d!important;
}
.company-editorial-doc-kicker em.is-hidden{
  background:rgba(154,101,77,.11)!important;
  color:#956048!important;
}
.company-editorial-doc-row .company-editorial-doc-copy{
  gap:4px!important;
}
.company-editorial-doc-row .company-editorial-doc-copy strong{
  font-size:12.5px!important;
  line-height:1.34!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.company-editorial-doc-row .company-editorial-doc-copy small{
  font-size:10.5px!important;
  line-height:1.32!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.company-editorial-doc-row .company-editorial-doc-actions{
  display:grid!important;
  gap:4px!important;
  justify-items:stretch!important;
}
.company-editorial-doc-row .company-editorial-doc-actions .btn{
  min-height:25px!important;
  width:30px!important;
  padding:0!important;
  border-radius:10px!important;
  font-size:10px!important;
  line-height:1!important;
}
@media (max-width:960px){
  .company-editorial-doc-row{
    grid-template-columns:16px 28px 50px minmax(0,1fr)!important;
  }
  .company-editorial-doc-row .company-editorial-doc-thumb{
    width:50px!important;
    height:50px!important;
  }
  .company-editorial-doc-row .company-editorial-doc-actions{
    grid-column:3 / -1!important;
    display:flex!important;
    justify-content:flex-end!important;
  }
  .company-editorial-doc-row .company-editorial-doc-actions .btn{
    width:auto!important;
    min-width:34px!important;
    padding:0 8px!important;
  }
}
/* END v3.10.426 */


/* v3.10.427 Company press rail gutter alignment
   - Keeps the editorial swipe card UX from v3.10.423.
   - Removes the full-bleed rail offset only on /company press section.
   - Makes the first press card start on the same left guideline as section titles/cards, while preserving the right-side peek hint. */
:root{--bps-company-press-rail-gutter-version:"v3.10.427";}
body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail,
.company-page .company-press-section .company-editorial-grid.company-press-editorial-rail{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  scroll-padding-left:0!important;
  scroll-padding-right:0!important;
}
body.company-page.company-page-body .company-press-section .company-press-editorial-card,
.company-page .company-press-section .company-press-editorial-card{
  flex:0 0 min(86%, 342px)!important;
  width:min(86%, 342px)!important;
}
body.company-page.company-page-body .company-press-section .company-press-editorial-card:first-child,
.company-page .company-press-section .company-press-editorial-card:first-child{
  margin-left:0!important;
}
body.company-page.company-page-body .company-press-section .company-press-editorial-card:last-child,
.company-page .company-press-section .company-press-editorial-card:last-child{
  margin-right:0!important;
}
@media (max-width:480px){
  body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail,
  .company-page .company-press-section .company-editorial-grid.company-press-editorial-rail{
    gap:14px!important;
    padding-top:4px!important;
    padding-bottom:18px!important;
  }
  body.company-page.company-page-body .company-press-section .company-press-editorial-card,
  .company-page .company-press-section .company-press-editorial-card{
    flex-basis:min(86%, 342px)!important;
    width:min(86%, 342px)!important;
  }
}
@media (min-width:760px){
  body.company-page.company-page-body .company-press-section .company-editorial-grid.company-press-editorial-rail,
  .company-page .company-press-section .company-editorial-grid.company-press-editorial-rail{
    padding-left:0!important;
    padding-right:0!important;
  }
}
/* END v3.10.427 */

/* v3.10.441: branch/gallery OG share image CMS field */
.branch-gallery-og-image-field {
  gap: 12px;
}
.branch-gallery-og-preview {
  min-height: 180px;
  border: 1px solid rgba(126, 107, 88, 0.24);
  border-radius: 18px;
  background: rgba(255,255,255,0.74);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: rgba(52, 46, 40, 0.62);
  font-weight: 800;
}
.branch-gallery-og-preview img {
  width: 100%;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
  display: block;
}
.branch-gallery-og-drop {
  min-height: 108px;
}
.branch-gallery-og-image-field.is-dragover .branch-gallery-og-drop,
.branch-gallery-og-drop.is-dragover {
  border-color: rgba(96, 85, 75, 0.55);
  background: rgba(245, 241, 235, 0.92);
}
.branch-gallery-og-progress {
  margin-top: 4px;
}


/* v3.10.444: 지점 등록 분류별 OG 공유 이미지 편집기 축약 아코디언 */
.branch-gallery-group-item-with-og{
  gap:10px;
}
.branch-gallery-group-item-compact-og{
  padding:14px 16px;
}
.branch-gallery-group-compact-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.branch-gallery-group-compact-head b{
  display:block;
  font-size:14px;
}
.branch-gallery-group-compact-head small{
  display:block;
  margin-top:3px;
  color:rgba(52,46,40,.62);
  font-size:12px;
}
.branch-gallery-group-og-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(91,103,95,.1);
  color:#5b675f;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.branch-gallery-group-og-badge.has-custom{
  background:rgba(112,83,55,.13);
  color:#6f5338;
}
.branch-gallery-group-collapsed-tools{
  display:grid;
  gap:8px;
}
.branch-gallery-inline-og{
  margin-top:0;
  border:1px solid rgba(126,107,88,.18);
  border-radius:14px;
  background:rgba(255,255,255,.5);
  overflow:hidden;
}
.branch-gallery-inline-og-summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:9px 12px;
}
.branch-gallery-inline-og-summary::-webkit-details-marker{
  display:none;
}
.branch-gallery-inline-og-summary-main,
.branch-gallery-inline-og-summary-right{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.branch-gallery-inline-og-summary-main strong{
  font-size:13px;
  white-space:nowrap;
}
.branch-gallery-inline-og-status{
  display:inline-flex;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(91,103,95,.1);
  color:#5b675f;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.branch-gallery-inline-og.has-custom .branch-gallery-inline-og-status{
  background:rgba(112,83,55,.13);
  color:#6f5338;
}
.branch-gallery-inline-og-mini-thumb{
  width:58px;
  height:31px;
  border-radius:8px;
  border:1px solid rgba(126,107,88,.18);
  background:rgba(248,245,240,.78);
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(52,46,40,.55);
  font-size:11px;
  font-weight:900;
}
.branch-gallery-inline-og-mini-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.branch-gallery-inline-og-open-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(52,46,40,.06);
  color:rgba(52,46,40,.76);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.branch-gallery-inline-og[open] .branch-gallery-inline-og-open-label{
  background:rgba(52,46,40,.12);
  color:#34302b;
}
.branch-gallery-inline-og-panel{
  display:grid;
  gap:10px;
  padding:0 12px 12px;
}
.branch-gallery-inline-og-head,
.branch-gallery-inline-og-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.branch-gallery-inline-og-head strong{
  display:block;
  font-size:13px;
}
.branch-gallery-inline-og-head small{
  display:block;
  margin-top:3px;
  color:rgba(52,46,40,.62);
  font-size:12px;
  font-weight:800;
}
.branch-gallery-inline-og-preview{
  min-height:92px;
  border:1px dashed rgba(126,107,88,.24);
  border-radius:14px;
  background:rgba(248,245,240,.72);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:rgba(52,46,40,.6);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.branch-gallery-inline-og-preview img{
  width:100%;
  aspect-ratio:1200/630;
  object-fit:cover;
  display:block;
}
.branch-gallery-inline-og-drop{
  min-height:66px;
}
.branch-gallery-inline-og-drop.is-dragover{
  border-color:rgba(96,85,75,.56);
  background:rgba(245,241,235,.95);
}
.branch-gallery-inline-og-texts{
  display:grid;
  gap:8px;
}
.branch-gallery-inline-og-texts .cms-textarea.compact{
  min-height:66px;
}
.branch-gallery-inline-og-actions{
  justify-content:flex-end;
}
.branch-gallery-inline-og-progress{
  margin-top:0;
}
.branch-gallery-group-i18n-panel{
  margin-top:0;
}
.branch-gallery-group-i18n-panel summary{
  min-height:42px;
  padding:9px 12px;
  border-radius:14px;
}



/* v3.10.446 홈 지점 안내 권역 배너 이미지 표시 보정
   - 기준: v3.10.445
   - 권역별 이미지는 권역명/화살표 안전 여백이 포함된 완성형 배너 소스이므로 crop 금지
   - background-position:center right / background-size:cover 제거
   - pill 영역에 이미지 전체를 100% 100%로 표시하고 텍스트/화살표만 오버레이 */
body:not(.admin-page) .bp-branch-showcase{
  --bp-branch-region-image-version:"v3.10.446";
  max-width:820px!important;
  padding:0 0 18px!important;
}
body:not(.admin-page) .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel{
  --bp-region-image:none;
  --bp-region-header-base:#eef5f8;
  --bp-region-panel-bg:#f3f8fb;
  --bp-region-panel-border:rgba(110,132,148,.18);
  --bp-region-header-shadow:rgba(40,70,90,.12);
  --bp-region-title-color:#fff;
  --bp-region-arrow-color:rgba(255,255,255,.92);
  --region-bg:var(--bp-region-panel-bg)!important;
  --region-border:var(--bp-region-panel-border)!important;
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="capital"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="capital"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-capital.webp");
  --bp-region-header-base:#bfe7f3;
  --bp-region-panel-bg:#eef7fc;
  --bp-region-panel-border:rgba(92,151,177,.22);
  --bp-region-header-shadow:rgba(63,145,176,.20);
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="chungcheong"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="chungcheong"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-chungcheong.webp");
  --bp-region-header-base:#f8dcc4;
  --bp-region-panel-bg:#fbf0e6;
  --bp-region-panel-border:rgba(190,139,93,.22);
  --bp-region-header-shadow:rgba(185,128,81,.17);
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="jeolla"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeolla"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-jeolla.webp");
  --bp-region-header-base:#f8f0d7;
  --bp-region-panel-bg:#fbf6e8;
  --bp-region-panel-border:rgba(175,144,78,.20);
  --bp-region-header-shadow:rgba(159,128,70,.13);
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="gyeongsang"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gyeongsang"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-gyeongsang.webp");
  --bp-region-header-base:#cfeaf8;
  --bp-region-panel-bg:#eef6fb;
  --bp-region-panel-border:rgba(92,140,171,.20);
  --bp-region-header-shadow:rgba(69,128,166,.16);
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="gangwon"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gangwon"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-gangwon.webp");
  --bp-region-header-base:#f7ecd5;
  --bp-region-panel-bg:#faf3e8;
  --bp-region-panel-border:rgba(170,139,89,.19);
  --bp-region-header-shadow:rgba(149,119,76,.13);
}
body:not(.admin-page) .bp-branch-folded-layer[data-region-tone="jeju"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeju"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-jeju.webp");
  --bp-region-header-base:#f7ced8;
  --bp-region-panel-bg:#fdf1f3;
  --bp-region-panel-border:rgba(196,116,136,.20);
  --bp-region-header-shadow:rgba(182,95,118,.15);
}
body:not(.admin-page) .bp-branch-folded-layer{
  height:64px!important;
  min-height:64px!important;
  border-radius:31px!important;
  justify-content:flex-start!important;
  padding:0 58px 0 30px!important;
  color:var(--bp-region-title-color)!important;
  background:
    linear-gradient(90deg, rgba(31,38,36,.24) 0%, rgba(31,38,36,.12) 23%, rgba(31,38,36,.035) 42%, rgba(31,38,36,0) 64%),
    var(--bp-region-image) center center / 100% 100% no-repeat,
    var(--bp-region-header-base)!important;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 12px 24px var(--bp-region-header-shadow)!important;
  opacity:1!important;
}
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer,
body:not(.admin-page) .bp-branch-folded-layer + .bp-branch-open-panel{
  margin-top:-14px!important;
}
body:not(.admin-page) .bp-branch-folded-layer span{
  position:relative;
  z-index:2;
  text-align:left!important;
  font-size:clamp(19px, 4.8vw, 25px)!important;
  font-weight:850!important;
  letter-spacing:-.052em!important;
  text-shadow:0 1px 6px rgba(20,22,20,.16)!important;
}
body:not(.admin-page) .bp-branch-folded-layer i,
body:not(.admin-page) .bp-branch-open-head i{
  z-index:2;
  color:var(--bp-region-arrow-color)!important;
  border-color:currentColor!important;
  opacity:.92!important;
  width:15px!important;
  height:15px!important;
  right:29px!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  border-radius:32px!important;
  margin-top:-9px!important;
  padding:0 10px 16px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04)),
    var(--bp-region-panel-bg)!important;
  border-color:var(--bp-region-panel-border)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 24px 46px rgba(42,35,28,.12)!important;
  overflow:hidden!important;
}
body:not(.admin-page) .bp-branch-open-head{
  min-height:66px!important;
  width:calc(100% + 20px)!important;
  margin:0 -10px 0!important;
  border-radius:32px!important;
  justify-content:flex-start!important;
  padding:0 58px 0 30px!important;
  color:var(--bp-region-title-color)!important;
  background:
    linear-gradient(90deg, rgba(31,38,36,.24) 0%, rgba(31,38,36,.12) 23%, rgba(31,38,36,.035) 42%, rgba(31,38,36,0) 64%),
    var(--bp-region-image) center center / 100% 100% no-repeat,
    var(--bp-region-header-base)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)!important;
}
body:not(.admin-page) .bp-branch-open-head span{
  position:relative;
  z-index:2;
  text-align:left!important;
  font-size:clamp(20px, 5vw, 27px)!important;
  font-weight:850!important;
  letter-spacing:-.052em!important;
  color:inherit!important;
  text-shadow:0 1px 6px rgba(20,22,20,.16)!important;
}
body:not(.admin-page) .bp-branch-open-head i{
  transform:translateY(-35%) rotate(-135deg)!important;
}
body:not(.admin-page) .bp-branch-region-note{
  margin:12px 8px 9px!important;
  padding:0 4px!important;
  color:rgba(45,42,37,.62)!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
  letter-spacing:-.03em!important;
  word-break:keep-all;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:0!important;
  padding:8px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.64)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    0 12px 24px rgba(42,35,28,.045)!important;
}
body:not(.admin-page) .bp-branch-card{
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(72,64,54,.07)!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-open-head{
    min-height:72px!important;
    height:72px!important;
    padding-left:38px!important;
    padding-right:66px!important;
  }
  body:not(.admin-page) .bp-branch-open-head{width:calc(100% + 24px)!important;margin:0 -12px!important;}
  body:not(.admin-page) .bp-branch-open-panel{padding:0 12px 18px!important;}
  body:not(.admin-page) .bp-branch-folded-layer i,
  body:not(.admin-page) .bp-branch-open-head i{right:34px!important;}
  body:not(.admin-page) .bp-branch-region-note{margin:14px 10px 10px!important;font-size:13px!important;}
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-showcase{padding-bottom:14px!important;}
  body:not(.admin-page) .bp-branch-folded-layer,
  body:not(.admin-page) .bp-branch-open-head{
    min-height:62px!important;
    height:62px!important;
    border-radius:30px!important;
    padding-left:30px!important;
    padding-right:54px!important;
  }
  body:not(.admin-page) .bp-branch-open-panel{
    border-radius:30px!important;
    padding:0 8px 14px!important;
  }
  body:not(.admin-page) .bp-branch-open-head{
    width:calc(100% + 16px)!important;
    margin:0 -8px!important;
  }
  body:not(.admin-page) .bp-branch-folded-layer span,
  body:not(.admin-page) .bp-branch-open-head span{
    font-size:clamp(19px, 5vw, 24px)!important;
  }
  body:not(.admin-page) .bp-branch-folded-layer i,
  body:not(.admin-page) .bp-branch-open-head i{
    right:26px!important;
    width:14px!important;
    height:14px!important;
  }
  body:not(.admin-page) .bp-branch-region-note{
    margin:11px 7px 8px!important;
    font-size:12px!important;
  }
}

/* v3.10.447 홈 지점 안내 권역 배너 구조 통합 보정
   - 기준: v3.10.446
   - 접힌 상태와 펼친 상태가 동일한 .bp-branch-region-banner UI를 사용
   - 권역별 배경 이미지는 완성형 배너 소스이므로 crop 금지
   - 이미지 레이어는 100% 100%로 표시하고 권역명/화살표만 고정 오버레이
   - 열린 패널 주변의 겹침은 줄이고, 접힌 목록의 스택감만 약하게 유지 */
body:not(.admin-page) .bp-branch-showcase{
  --bp-branch-region-image-version:"v3.10.447";
  --bp-region-banner-aspect:1000 / 160;
  --bp-region-banner-height:clamp(66px, 15.5vw, 82px);
  --bp-region-banner-radius:999px;
  max-width:820px!important;
  padding:0 0 18px!important;
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="capital"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="capital"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-capital.webp");
  --bp-region-header-base:#bfe7f3;
  --bp-region-panel-bg:#eef7fc;
  --bp-region-panel-border:rgba(92,151,177,.22);
  --bp-region-header-shadow:rgba(63,145,176,.20);
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="chungcheong"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="chungcheong"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-chungcheong.webp");
  --bp-region-header-base:#f8dcc4;
  --bp-region-panel-bg:#fbf0e6;
  --bp-region-panel-border:rgba(190,139,93,.22);
  --bp-region-header-shadow:rgba(185,128,81,.17);
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="jeolla"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeolla"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-jeolla.webp");
  --bp-region-header-base:#f8f0d7;
  --bp-region-panel-bg:#fbf6e8;
  --bp-region-panel-border:rgba(175,144,78,.20);
  --bp-region-header-shadow:rgba(159,128,70,.13);
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="gyeongsang"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gyeongsang"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-gyeongsang.webp");
  --bp-region-header-base:#cfeaf8;
  --bp-region-panel-bg:#eef6fb;
  --bp-region-panel-border:rgba(92,140,171,.20);
  --bp-region-header-shadow:rgba(69,128,166,.16);
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="gangwon"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="gangwon"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-gangwon.webp");
  --bp-region-header-base:#f7ecd5;
  --bp-region-panel-bg:#faf3e8;
  --bp-region-panel-border:rgba(170,139,89,.19);
  --bp-region-header-shadow:rgba(149,119,76,.13);
}
body:not(.admin-page) .bp-branch-region-banner[data-region-tone="jeju"],
body:not(.admin-page) .bp-branch-open-panel[data-region-tone="jeju"]{
  --bp-region-image:url("/assets/images/home/branch-region-backgrounds/region-jeju.webp");
  --bp-region-header-base:#f7ced8;
  --bp-region-panel-bg:#fdf1f3;
  --bp-region-panel-border:rgba(196,116,136,.20);
  --bp-region-header-shadow:rgba(182,95,118,.15);
}
body:not(.admin-page) .bp-branch-region-banner,
body:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner,
body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:100%!important;
  height:var(--bp-region-banner-height)!important;
  min-height:var(--bp-region-banner-height)!important;
  aspect-ratio:var(--bp-region-banner-aspect)!important;
  border-radius:var(--bp-region-banner-radius)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0 clamp(54px, 8.2vw, 68px) 0 clamp(28px, 7vw, 38px)!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.74)!important;
  color:#fff!important;
  background:var(--bp-region-header-base)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    0 12px 24px var(--bp-region-header-shadow)!important;
  cursor:pointer!important;
  font:inherit!important;
  -webkit-tap-highlight-color:transparent!important;
}
body:not(.admin-page) .bp-branch-region-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:var(--bp-region-image) center center / 100% 100% no-repeat;
  pointer-events:none;
}
body:not(.admin-page) .bp-branch-region-banner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(90deg,
    rgba(28,35,32,.34) 0%,
    rgba(28,35,32,.22) 18%,
    rgba(28,35,32,.075) 34%,
    rgba(28,35,32,0) 54%);
  pointer-events:none;
}
body:not(.admin-page) .bp-branch-region-title,
body:not(.admin-page) .bp-branch-region-banner > span{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  text-align:left!important;
  font-size:clamp(20px, 5.1vw, 27px)!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.055em!important;
  color:#fff!important;
  text-shadow:0 1px 7px rgba(16,20,18,.22)!important;
}
body:not(.admin-page) .bp-branch-region-arrow,
body:not(.admin-page) .bp-branch-region-banner > i{
  position:absolute!important;
  z-index:2!important;
  right:clamp(25px, 6vw, 34px)!important;
  top:50%!important;
  width:15px!important;
  height:15px!important;
  border-right:2px solid rgba(255,255,255,.96)!important;
  border-bottom:2px solid rgba(255,255,255,.96)!important;
  opacity:.96!important;
  pointer-events:none!important;
  transform:translateY(-58%) rotate(45deg)!important;
}
body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner > i,
body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner .bp-branch-region-arrow{
  transform:translateY(-35%) rotate(-135deg)!important;
}
body:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:-8px!important;
}
body:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-open-panel,
body:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:12px!important;
}
body:not(.admin-page) .bp-branch-open-panel{
  z-index:40!important;
  margin-top:0!important;
  border-radius:32px!important;
  padding:0 8px 16px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.04)),
    var(--bp-region-panel-bg)!important;
  border-color:var(--bp-region-panel-border)!important;
  overflow:hidden!important;
}
body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
  width:calc(100% + 16px)!important;
  margin:0 -8px!important;
}
body:not(.admin-page) .bp-branch-region-note{
  margin:13px 8px 9px!important;
}
body:not(.admin-page) .bp-branch-display-panel{
  margin-top:0!important;
}
@media (min-width:760px){
  body:not(.admin-page) .bp-branch-showcase{
    --bp-region-banner-height:clamp(72px, 9.4vw, 86px);
  }
  body:not(.admin-page) .bp-branch-open-panel{
    padding:0 12px 18px!important;
  }
  body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
    width:calc(100% + 24px)!important;
    margin:0 -12px!important;
  }
}
@media (max-width:480px){
  body:not(.admin-page) .bp-branch-showcase{
    --bp-region-banner-height:clamp(66px, 17vw, 72px);
    padding-bottom:14px!important;
  }
  body:not(.admin-page) .bp-branch-region-banner,
  body:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner,
  body:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
    padding-left:30px!important;
    padding-right:54px!important;
  }
  body:not(.admin-page) .bp-branch-region-title,
  body:not(.admin-page) .bp-branch-region-banner > span{
    font-size:clamp(20px, 5.2vw, 25px)!important;
  }
  body:not(.admin-page) .bp-branch-region-arrow,
  body:not(.admin-page) .bp-branch-region-banner > i{
    right:26px!important;
    width:14px!important;
    height:14px!important;
  }
}


/* v3.10.448 홈 지점 안내 모바일 가로폭 overflow 보정
   - 기준: v3.10.447
   - 권역 배너 이미지 구조는 유지하되, aspect-ratio/min-content 폭 초과와 open-head 음수 마진을 제거
   - 섹션 헤더, 배너, 열린 패널, 카드 그리드가 모바일 viewport 밖으로 밀리지 않도록 폭 기준 통합 */
body.home-page:not(.admin-page),
body.home-page:not(.admin-page) .page,
body.home-page:not(.admin-page) .phone,
body.home-page:not(.admin-page) .home-main{
  max-width:100%!important;
  min-width:0!important;
}
body.home-page:not(.admin-page) .home-branch-section{
  width:auto!important;
  max-width:calc(100% - 28px)!important;
  min-width:0!important;
  margin-left:14px!important;
  margin-right:14px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.home-page:not(.admin-page) .home-branch-section *,
body.home-page:not(.admin-page) .home-branch-section *::before,
body.home-page:not(.admin-page) .home-branch-section *::after{
  box-sizing:border-box!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase-head{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px!important;
  overflow:visible!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase-head > div{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase-head > a{
  flex:0 0 auto!important;
  max-width:44%!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:right!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase,
body.home-page:not(.admin-page) .bp-branch-showcase-stack,
body.home-page:not(.admin-page) .bp-branch-open-panel,
body.home-page:not(.admin-page) .bp-branch-display-panel,
body.home-page:not(.admin-page) .bp-branch-card-grid{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase{
  --bp-branch-region-image-version:"v3.10.449";
  --bp-region-banner-height:clamp(62px, 15.6vw, 72px);
  margin:clamp(18px, 4vw, 24px) 0 0!important;
  padding:0 0 18px!important;
  box-sizing:border-box!important;
}
body.home-page:not(.admin-page) .bp-branch-showcase-stack{
  display:block!important;
  isolation:isolate!important;
}
body.home-page:not(.admin-page) .bp-branch-region-banner,
body.home-page:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner,
body.home-page:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
  max-inline-size:100%!important;
  min-inline-size:0!important;
  aspect-ratio:auto!important;
  flex:0 0 auto!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(27px, 7vw, 34px)!important;
  padding-right:clamp(48px, 12vw, 58px)!important;
  overflow:hidden!important;
}
body.home-page:not(.admin-page) .bp-branch-region-arrow,
body.home-page:not(.admin-page) .bp-branch-region-banner > i{
  right:clamp(20px, 5.4vw, 28px)!important;
}
body.home-page:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:-8px!important;
}
body.home-page:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-open-panel,
body.home-page:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:12px!important;
}
body.home-page:not(.admin-page) .bp-branch-open-panel{
  margin-left:0!important;
  margin-right:0!important;
  padding:0 clamp(8px, 2.6vw, 12px) clamp(14px, 3.4vw, 18px)!important;
  overflow:visible!important;
}
body.home-page:not(.admin-page) .bp-branch-open-head.bp-branch-region-banner{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
body.home-page:not(.admin-page) .bp-branch-region-note{
  width:100%!important;
  max-width:100%!important;
  margin:clamp(11px, 3vw, 14px) clamp(2px, 1.6vw, 8px) 9px!important;
  padding:0 clamp(2px, 1vw, 4px)!important;
}
body.home-page:not(.admin-page) .bp-branch-display-panel{
  padding:clamp(8px, 2.8vw, 12px)!important;
  overflow:visible!important;
}
body.home-page:not(.admin-page) .bp-branch-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:clamp(8px, 2.6vw, 12px)!important;
  align-items:start!important;
}
body.home-page:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  grid-template-columns:minmax(0, 1fr)!important;
  max-width:min(100%, 310px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.home-page:not(.admin-page) .bp-branch-card,
body.home-page:not(.admin-page) .bp-branch-card-image,
body.home-page:not(.admin-page) .bp-branch-card-image img,
body.home-page:not(.admin-page) .bp-branch-card-copy{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.home-page:not(.admin-page) .bp-branch-card{
  overflow:hidden!important;
  padding:clamp(8px, 2.4vw, 10px)!important;
}
body.home-page:not(.admin-page) .bp-branch-card-copy strong,
body.home-page:not(.admin-page) .bp-branch-card-copy b{
  min-width:0!important;
  max-width:100%!important;
  word-break:keep-all!important;
}
@media (min-width:760px){
  body.home-page:not(.admin-page) .home-branch-section{
    max-width:calc(100% - 28px)!important;
  }
  body.home-page:not(.admin-page) .bp-branch-showcase{
    max-width:780px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    --bp-region-banner-height:clamp(72px, 9.4vw, 86px);
  }
  body.home-page:not(.admin-page) .bp-branch-card-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  }
  body.home-page:not(.admin-page) .bp-branch-card-grid[data-count="2"]{
    grid-template-columns:repeat(2, minmax(0, 220px))!important;
    justify-content:start!important;
  }
}

/* v3.10.449 홈 지점 안내 권역 카드 마감 보정
   - 기준: v3.10.448
   - 단일 지점 권역은 2열 카드 1칸 크기를 유지하고 중앙 정렬
   - 펼친 권역 패널과 인접 배너의 간격을 소폭 정리하되 스택감은 유지 */
body.home-page:not(.admin-page) .bp-branch-card-grid{
  --bp-branch-grid-gap:clamp(8px, 2.6vw, 12px)!important;
  gap:var(--bp-branch-grid-gap)!important;
}
body.home-page:not(.admin-page) .bp-branch-card-grid[data-count="1"]{
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.home-page:not(.admin-page) .bp-branch-card-grid[data-count="1"] > .bp-branch-card{
  grid-column:1 / -1!important;
  justify-self:center!important;
  width:min(100%, calc((100% - var(--bp-branch-grid-gap)) / 2))!important;
  max-width:min(100%, 220px)!important;
}
body.home-page:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:-6px!important;
}
body.home-page:not(.admin-page) .bp-branch-folded-layer.bp-branch-region-banner + .bp-branch-open-panel,
body.home-page:not(.admin-page) .bp-branch-open-panel + .bp-branch-folded-layer.bp-branch-region-banner{
  margin-top:14px!important;
}
body.home-page:not(.admin-page) .bp-branch-open-panel{
  padding-bottom:clamp(16px, 3.8vw, 20px)!important;
}
@media (min-width:760px){
  body.home-page:not(.admin-page) .bp-branch-card-grid[data-count="1"] > .bp-branch-card{
    width:min(100%, 220px)!important;
    max-width:220px!important;
  }
}
@media (max-width:480px){
  body.home-page:not(.admin-page) .home-branch-section{
    max-width:calc(100% - 28px)!important;
  }
  body.home-page:not(.admin-page) .bp-branch-showcase{
    --bp-region-banner-height:clamp(62px, 16vw, 68px);
  }
  body.home-page:not(.admin-page) .bp-branch-region-title,
  body.home-page:not(.admin-page) .bp-branch-region-banner > span{
    font-size:clamp(20px, 5.15vw, 24px)!important;
  }
  body.home-page:not(.admin-page) .bp-branch-card-copy strong{
    font-size:clamp(13px, 3.8vw, 14px)!important;
  }
}

/* v3.10.455 관리자 문의 관리 탭형 제휴 제안 관리 */
.admin-page .inquiry-admin-subtabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px;
  margin:0 0 12px;
  border-radius:22px;
  background:rgba(255,253,249,.92);
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(37,39,37,.06);
}
.admin-page .inquiry-admin-subtab{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.admin-page .inquiry-admin-subtab span{
  min-width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#f5eee6;
  color:var(--pd);
  font-size:11px;
}
.admin-page .inquiry-admin-subtab.active{
  background:var(--p);
  border-color:var(--p);
  color:#fff;
}
.admin-page .inquiry-admin-subtab.active span{
  background:rgba(255,255,255,.22);
  color:#fff;
}
.admin-page .partnership-request-card .partnership-request-message{
  white-space:pre-wrap;
  line-height:1.65;
  color:var(--text);
}
.admin-page .partnership-request-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.admin-page .partnership-request-admin-box{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#faf6f0;
  border:1px solid var(--line);
}
.admin-page .partnership-request-admin-box label{
  display:grid;
  gap:6px;
  color:var(--text);
  font-size:12px;
  font-weight:900;
}
.admin-page .partnership-admin-memo{
  min-height:76px;
  resize:vertical;
  line-height:1.6;
}
.admin-page .partnership-request-table a{
  color:var(--p);
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.admin-page[data-inquiry-admin-tab="partnership"] #inquiryBulkBar{display:none!important;}
@media (max-width:430px){
  .admin-page .inquiry-admin-subtabs{display:grid;grid-template-columns:1fr 1fr;}
  .admin-page .inquiry-admin-subtab{justify-content:center;padding:10px 8px;}
  .admin-page .partnership-request-actions{display:grid;}
}

/* v3.10.456 관리자 제휴 첨부파일 다운로드 CORS 진단 보강 */
.admin-page .partnership-download-status{
  flex:1 0 100%;
  margin:2px 0 0;
  padding:10px 12px;
  border-radius:14px;
  background:#f6f1e9;
  border:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
  font-weight:800;
}
.admin-page .partnership-download-status[data-type="success"]{
  background:#edf7ef;
  border-color:#cfe8d6;
  color:#2e6540;
}
.admin-page .partnership-download-status[data-type="error"]{
  background:#fff2ef;
  border-color:#f0c9bf;
  color:#8b3b2f;
}
.admin-page [data-partnership-download][disabled]{
  opacity:.7;
  cursor:progress;
}


/* v3.10.459 관리자 문의 관리 제휴 제안 카운트 선조회 보정 */


/* v3.10.459 관리자 문의 관리 선택 기능 복구 */
.admin-page .inquiry-card.is-selected{
  border-color:#9b7456!important;
  background:linear-gradient(180deg,rgba(255,250,244,.98),rgba(247,238,228,.96))!important;
  box-shadow:0 14px 36px rgba(117,91,70,.14);
}
.admin-page .inquiry-card-select{
  margin:0 0 10px;
}
.admin-page .inquiry-toolbar .btn:disabled,
.admin-page .inquiry-toolbar .btn.is-disabled{
  opacity:.48;
  cursor:not-allowed;
}
.admin-page .inquiry-manager-summary .selected-count{
  font-weight:900;
}
@media (max-width:640px){
  .admin-page .inquiry-bulk-bar{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* v3.10.465 company value modal image layout hotfix */
.company-modal.company-value-modal .gallery-detail-modal-scroll{
  max-width:none;
  padding:26px 14px 42px;
}
.company-modal.company-value-modal .company-value-modal-close{
  position:fixed;
  top:max(18px, env(safe-area-inset-top, 0px) + 12px);
  right:max(18px, env(safe-area-inset-right, 0px) + 14px);
  z-index:3;
  width:56px;
  height:56px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#26302b;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.company-modal.company-value-modal .company-value-modal-image-list{
  display:grid;
  gap:16px;
  padding:0;
}
.company-modal.company-value-modal .company-value-modal-image-list figure{
  margin:0;
  display:grid;
  gap:8px;
}
.company-modal.company-value-modal .company-value-modal-image-list img{
  display:block;
  width:min(100%,760px);
  height:auto;
  margin:0 auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 20px 80px rgba(0,0,0,.35);
}
.company-modal.company-value-modal .company-value-modal-image-list figcaption{
  width:min(100%,760px);
  margin:0 auto;
  padding:0 4px;
  color:rgba(255,255,255,.86);
  font-size:13px;
  line-height:1.55;
}
@media (max-width:430px){
  .company-modal.company-value-modal .gallery-detail-modal-scroll{
    padding:14px 10px 34px;
  }
  .company-modal.company-value-modal .company-value-modal-close{
    top:max(14px, env(safe-area-inset-top, 0px) + 10px);
    right:max(14px, env(safe-area-inset-right, 0px) + 10px);
    width:52px;
    height:52px;
  }
  .company-modal.company-value-modal .company-value-modal-image-list img{
    width:100%;
    border-radius:14px;
  }
}

/* v3.10.466 company value modal gallery width alignment hotfix */
.company-modal.company-value-modal.package-feature-gallery-modal{
  align-items:initial!important;
  justify-content:initial!important;
  padding:0!important;
  background:rgba(20,16,13,.78)!important;
  backdrop-filter:none!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .gallery-detail-modal-scroll,
.company-modal.company-value-modal.package-feature-gallery-modal .package-feature-modal-scroll{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  box-sizing:border-box!important;
  padding:22px 14px 48px!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-image-list{
  display:grid!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-figure{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-media{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-media img,
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-image-list img{
  display:block!important;
  width:min(100%,760px)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  border-radius:18px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  box-shadow:0 20px 80px rgba(0,0,0,.35)!important;
  opacity:1!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-caption{
  width:min(100%,760px)!important;
  margin:0 auto!important;
  padding:0 4px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-close{
  position:fixed!important;
  top:max(18px, env(safe-area-inset-top, 0px) + 12px)!important;
  right:max(18px, env(safe-area-inset-right, 0px) + 14px)!important;
  z-index:4!important;
}
@media (max-width:560px){
  .company-modal.company-value-modal.package-feature-gallery-modal .gallery-detail-modal-scroll,
  .company-modal.company-value-modal.package-feature-gallery-modal .package-feature-modal-scroll{
    padding:14px 10px 34px!important;
    padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important;
  }
  .company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-image-list{
    gap:12px!important;
  }
  .company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-media img,
  .company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-image-list img{
    width:100%!important;
    border-radius:14px!important;
  }
  .company-modal.company-value-modal.package-feature-gallery-modal .company-value-modal-close{
    top:max(14px, env(safe-area-inset-top, 0px) + 10px)!important;
    right:max(14px, env(safe-area-inset-right, 0px) + 10px)!important;
    width:52px!important;
    height:52px!important;
  }
}

/* v3.10.467 company recruit application modal phase 1 */
.company-recruit-modal{display:grid;gap:14px;width:100%;box-sizing:border-box;padding:0 14px 22px;}
.company-recruit-info-card{display:grid;gap:14px;width:100%;box-sizing:border-box;padding:16px;border-radius:24px;background:rgba(255,254,250,.92);border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 42px rgba(33,39,35,.13);backdrop-filter:blur(8px);}
.company-recruit-role-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.company-recruit-role-tab{appearance:none;border:1px solid rgba(89,97,95,.16);background:rgba(255,255,255,.88);color:#49514d;border-radius:999px;padding:10px 12px;font-size:12px;line-height:1.25;font-weight:900;letter-spacing:-.03em;cursor:pointer;box-shadow:0 6px 16px rgba(33,39,35,.06);}
.company-recruit-role-tab.active{background:#56615d;color:#fff;border-color:#56615d;box-shadow:0 10px 24px rgba(33,39,35,.14);}
.company-recruit-role-panel{display:block;min-width:0;}
.company-recruit-role-detail{display:grid;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.86);border:1px solid rgba(89,97,95,.12);}
.company-recruit-role-summary{margin:0;color:#3f4743;font-size:13px;line-height:1.55;font-weight:800;word-break:keep-all;}
.company-recruit-role-detail section{display:grid;gap:6px;}
.company-recruit-role-detail h4{margin:0;color:#242b27;font-size:13px;line-height:1.35;font-weight:1000;letter-spacing:-.04em;}
.company-recruit-role-detail ul{display:grid;gap:4px;margin:0;padding-left:17px;color:#626a66;font-size:12px;line-height:1.55;word-break:keep-all;}
.company-recruit-apply-cta,.company-recruit-submit{width:100%;min-height:52px;border-radius:18px;}
.company-recruit-form[hidden]{display:none!important;}
.company-recruit-bottom{gap:10px;}
@media(max-width:720px){
  .company-recruit-modal{padding:0 10px 22px;gap:12px;}
  .company-recruit-info-card{border-radius:21px;padding:13px;}
  .company-recruit-role-tabs{grid-template-columns:1fr;gap:7px;}
  .company-recruit-role-tab{padding:11px 12px;text-align:left;}
  .company-recruit-role-detail{border-radius:18px;padding:13px;}
}

/* v3.10.468 company application modal mobile width alignment hotfix
   - Widens only the partnership/recruit application modals to the guide modal mobile width rhythm.
   - Keeps company value image, gallery, guide, service and branch gallery modal shells untouched. */
.company-modal.company-application-modal{
  align-items:stretch!important;
  justify-content:center!important;
  padding:0!important;
}
.company-modal.company-application-modal .gallery-detail-modal-scroll{
  width:min(100%,760px)!important;
  max-width:760px!important;
  height:100%!important;
  margin:0 auto!important;
  padding:18px 14px calc(44px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;
}
.company-modal.company-application-modal .package-feature-modal-toolbar,
.company-modal.company-application-modal .company-partnership-form,
.company-modal.company-application-modal .company-recruit-modal{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
.company-modal.company-application-modal .company-partnership-form,
.company-modal.company-application-modal .company-recruit-modal{
  padding-left:0!important;
  padding-right:0!important;
}
.company-modal.company-application-modal .company-partnership-form-card,
.company-modal.company-application-modal .company-recruit-info-card,
.company-modal.company-application-modal .company-recruit-role-detail{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
@media(max-width:430px){
  .company-modal.company-application-modal .gallery-detail-modal-scroll{
    width:100%!important;
    max-width:none!important;
    padding:12px 10px calc(36px + env(safe-area-inset-bottom,0px))!important;
  }
  .company-modal.company-application-modal .package-feature-modal-toolbar{
    margin:0 0 12px!important;
    border-radius:26px!important;
  }
  .company-modal.company-application-modal .company-partnership-form,
  .company-modal.company-application-modal .company-recruit-modal{
    gap:12px!important;
  }
}


/* v3.10.470 company application attachment selected state polish
   - Clarifies selected attachment state for partnership/recruit application upload areas. */
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone{
  position:relative;
  min-height:96px;
  border-width:1.5px;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
  outline:none;
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone:focus-visible{
  border-color:rgba(86,97,93,.78);
  box-shadow:0 0 0 4px rgba(86,97,93,.14),0 12px 28px rgba(33,39,35,.10);
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.is-dragover{
  border-color:rgba(86,97,93,.92);
  background:rgba(255,255,255,.96);
  box-shadow:0 0 0 4px rgba(86,97,93,.13),0 16px 36px rgba(33,39,35,.14);
  transform:translateY(-1px);
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.is-dragover span::after{
  content:' · 놓으면 첨부됩니다';
  font-weight:900;
  color:#56615d;
}
@media(max-width:430px){
  .company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone{
    min-height:88px;
    padding:13px 12px;
  }
}


/* v3.10.470 company application attachment selected state polish */
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.has-file{
  border-style:solid;
  border-color:rgba(86,97,93,.62);
  background:rgba(246,242,235,.96);
  box-shadow:inset 0 0 0 1px rgba(86,97,93,.06),0 10px 26px rgba(33,39,35,.08);
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.has-file span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#353b39;
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.has-file span::before{
  content:'✓';
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#59615f;
  color:#fff;
  font-size:12px;
  font-weight:1000;
  line-height:1;
}
.company-modal.company-application-modal .company-partnership-file-drop.company-attachment-dropzone.has-file em{
  color:#59615f;
}
.company-modal.company-application-modal [data-company-partnership-file-info],
.company-modal.company-application-modal [data-company-recruit-file-info]{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.45;
  color:#777f7a;
}
.company-modal.company-application-modal [data-company-partnership-file-info].has-file,
.company-modal.company-application-modal [data-company-recruit-file-info].has-file{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(86,97,93,.18);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:#353b39;
  box-shadow:0 8px 22px rgba(33,39,35,.06);
}
.company-modal.company-application-modal [data-company-partnership-file-info].is-error,
.company-modal.company-application-modal [data-company-recruit-file-info].is-error{
  color:#9b4a38;
  font-weight:800;
}
.company-modal.company-application-modal .company-attachment-file-meta{
  display:grid;
  gap:2px;
  min-width:0;
  text-align:left;
}
.company-modal.company-application-modal .company-attachment-file-meta b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:1000;
  color:#353b39;
}
.company-modal.company-application-modal .company-attachment-file-meta em{
  font-style:normal;
  font-size:12px;
  color:#777f7a;
}
.company-modal.company-application-modal .company-attachment-remove{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(89,97,95,.10);
  color:#353b39;
  font-size:12px;
  font-weight:1000;
  cursor:pointer;
}
.company-modal.company-application-modal .company-attachment-remove:focus-visible{
  outline:2px solid rgba(86,97,93,.45);
  outline-offset:2px;
}
@media(max-width:430px){
  .company-modal.company-application-modal [data-company-partnership-file-info].has-file,
  .company-modal.company-application-modal [data-company-recruit-file-info].has-file{
    padding:9px 10px;
  }
}

/* v3.10.481 company modal close UX refinement */
.company-modal:not(.company-application-modal) .package-feature-modal-toolbar{
  padding-right:88px;
}
.company-modal:not(.company-application-modal) .company-info-modal-close-pill{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-width:64px;
  height:44px!important;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(178,164,141,.30);
  background:rgba(255,255,255,.78);
  color:#8f826e;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
  box-shadow:0 10px 24px rgba(42,36,28,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.company-modal:not(.company-application-modal) .package-feature-modal-toolbar .company-info-modal-close-pill{
  top:14px;
  right:14px;
}
.company-modal.company-value-modal:not(.company-application-modal) .company-info-modal-close-pill.company-value-modal-close,
.company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-info-modal-close-pill.company-value-modal-close{
  position:fixed!important;
  top:max(18px, env(safe-area-inset-top, 0px) + 12px)!important;
  right:max(18px, env(safe-area-inset-right, 0px) + 14px)!important;
  z-index:4!important;
  width:auto!important;
  min-width:64px!important;
  height:44px!important;
  padding:0 16px!important;
  font-size:13px!important;
  color:#8f826e!important;
  background:rgba(255,255,255,.80)!important;
  border:1px solid rgba(178,164,141,.30)!important;
  box-shadow:0 10px 24px rgba(42,36,28,.16)!important;
}
.company-modal:not(.company-application-modal) .company-info-modal-close-pill:focus-visible{
  outline:3px solid rgba(178,164,141,.32);
  outline-offset:3px;
}
@media (max-width:520px){
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar{
    padding-right:84px;
  }
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar .company-info-modal-close-pill{
    top:12px;
    right:12px;
    min-width:60px;
    height:44px!important;
    padding:0 14px;
    font-size:12.5px;
  }
  .company-modal.company-value-modal:not(.company-application-modal) .company-info-modal-close-pill.company-value-modal-close,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-info-modal-close-pill.company-value-modal-close{
    top:max(14px, env(safe-area-inset-top, 0px) + 10px)!important;
    right:max(14px, env(safe-area-inset-right, 0px) + 10px)!important;
    min-width:60px!important;
    height:42px!important;
    padding:0 14px!important;
    font-size:12.5px!important;
  }
}


/* v3.10.482 company modal close button mobile polish
   - Ensures the company info close button stays as one-line capsule on mobile.
   - Overrides older circular X button sizing inherited from package/company value modal rules.
   - Keeps application modals excluded. */
.company-modal:not(.company-application-modal) .company-info-modal-close-pill,
.company-modal:not(.company-application-modal) .package-feature-modal-close.company-info-modal-close-pill,
.company-modal.company-value-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill,
.company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:60px!important;
  max-width:none!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-align:center!important;
  line-height:1!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  color:#8f826e!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(178,164,141,.30)!important;
  box-shadow:0 10px 24px rgba(42,36,28,.14)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.company-modal:not(.company-application-modal) .package-feature-modal-toolbar{
  padding-right:92px!important;
}
.company-modal:not(.company-application-modal) .package-feature-modal-toolbar .company-info-modal-close-pill{
  position:absolute!important;
  top:14px!important;
  right:16px!important;
}
.company-modal.company-value-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill,
.company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill{
  position:fixed!important;
  top:max(16px, calc(env(safe-area-inset-top, 0px) + 12px))!important;
  right:max(16px, calc(env(safe-area-inset-right, 0px) + 12px))!important;
  z-index:5!important;
}
@media (max-width:520px){
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar{
    padding-right:90px!important;
  }
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar .company-info-modal-close-pill{
    top:12px!important;
    right:14px!important;
  }
  .company-modal:not(.company-application-modal) .company-info-modal-close-pill,
  .company-modal:not(.company-application-modal) .package-feature-modal-close.company-info-modal-close-pill,
  .company-modal.company-value-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill{
    min-width:60px!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 14px!important;
    font-size:13px!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
  }
  .company-modal.company-value-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill{
    top:max(14px, calc(env(safe-area-inset-top, 0px) + 10px))!important;
    right:max(14px, calc(env(safe-area-inset-right, 0px) + 10px))!important;
  }
}

/* v3.10.483 company modal bottom close button refinement
   - Mobile company info modals use a bottom close action in the dark backdrop area.
   - Backdrop touch close is intentionally disabled in JS; ESC and BP_MODAL_HISTORY back close remain.
   - Company application modals remain excluded. */
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
  display:none;
}
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close-button{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:88px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  background:rgba(255,255,255,.90)!important;
  color:#8f826e!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  cursor:pointer;
}
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close-button:focus-visible{
  outline:3px solid rgba(255,255,255,.48);
  outline-offset:3px;
}
@media (max-width:520px){
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar{
    padding-right:14px!important;
  }
  .company-modal:not(.company-application-modal) .package-feature-modal-toolbar .company-info-modal-close-pill,
  .company-modal.company-value-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .company-value-modal-close.company-info-modal-close-pill{
    display:none!important;
  }
  .company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:18px 0 max(30px, calc(env(safe-area-inset-bottom, 0px) + 22px));
  }
  .company-modal:not(.company-application-modal) .company-info-modal-bottom-close-button{
    min-width:96px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 24px!important;
    font-size:14px!important;
  }
}


/* v3.10.484 company modal backdrop touch close + bottom spacing polish
   - Re-enables company info backdrop tap close with gallery-level short tap judgment in JS.
   - Keeps content taps/scrolls safe and application modals excluded.
   - Delays bottom close visibility until modal is loaded and reduces mobile bottom whitespace. */
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.company-modal.is-loaded:not(.company-application-modal) .company-info-modal-bottom-close{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
@media (max-width:520px){
  .company-modal:not(.company-application-modal) .gallery-detail-modal-scroll,
  .company-modal:not(.company-application-modal) .package-feature-modal-scroll,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .gallery-detail-modal-scroll,
  .company-modal.company-value-modal.package-feature-gallery-modal:not(.company-application-modal) .package-feature-modal-scroll{
    padding-bottom:max(18px, calc(env(safe-area-inset-bottom, 0px) + 12px))!important;
  }
  .company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
    padding:14px 0 max(18px, calc(env(safe-area-inset-bottom, 0px) + 12px))!important;
  }
  .company-modal:not(.company-application-modal) .company-info-modal-bottom-close-button{
    min-width:96px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 24px!important;
  }
}

/* v3.10.485 company modal backdrop close real fix
   - Bottom close is hidden until content is actually ready, not merely one animation frame after opening.
   - Backdrop tap close uses composedPath/content exclusion in JS, so the scroll container can act as a backdrop when the visible area is dark.
   - Keeps company application modals excluded. */
.company-modal:not(.company-application-modal) .company-info-modal-content{
  position:relative;
  z-index:1;
}
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
  opacity:0!important;
  transform:translateY(8px)!important;
  pointer-events:none!important;
  transition:opacity .18s ease, transform .18s ease!important;
}
.company-modal.is-loaded:not(.company-application-modal) .company-info-modal-bottom-close{
  opacity:0!important;
  pointer-events:none!important;
}
.company-modal.is-content-ready:not(.company-application-modal) .company-info-modal-bottom-close{
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
}
@media (max-width:520px){
  .company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
    padding:14px 0 max(18px, calc(env(safe-area-inset-bottom, 0px) + 12px))!important;
  }
}


/* v3.10.503 company info modal image-tap close containment */
body.company-info-modal-scroll-locked,
html:has(body.company-info-modal-scroll-locked){
  overscroll-behavior:contain;
}
.company-modal:not(.company-application-modal) [data-company-modal-close],
.company-modal:not(.company-application-modal) .company-info-modal-bottom-close{
  display:none!important;
}
.company-modal:not(.company-application-modal) .company-modal-image-list img,
.company-modal:not(.company-application-modal) .company-modal-image-list figure,
.company-modal:not(.company-application-modal) .company-value-modal-image-list img,
.company-modal:not(.company-application-modal) .company-value-modal-media,
.company-modal:not(.company-application-modal) .company-value-modal-media img{
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.company-modal:not(.company-application-modal) .company-value-modal-media img,
.company-modal:not(.company-application-modal) .company-modal-image-list img{
  -webkit-user-drag:none;
  user-select:none;
}

/* v3.10.504 recruit preferred branch required select */
.company-modal.company-recruit-application-modal .company-recruit-branch-select{
  appearance:auto;
  -webkit-appearance:menulist;
  color:#38403c;
  cursor:pointer;
}
.company-modal.company-recruit-application-modal .company-recruit-branch-select:disabled{
  cursor:progress;
  opacity:.72;
  color:#74746f;
  background:rgba(245,242,237,.94)!important;
}
.company-modal.company-recruit-application-modal .company-recruit-branch-select[data-load-state="error"],
.company-modal.company-recruit-application-modal .company-recruit-branch-select[data-load-state="empty"]{
  border-color:rgba(155,81,72,.36)!important;
  color:#8b4e48;
}

/* v3.10.506 recruit attachment progress regression rollback
   - Restores the v3.10.504 recruit submit JavaScript/DOM path.
   - Fixes the mobile vertical text collapse only with a scoped CSS override.
   - The generic .upload-progress span rule remains unchanged for other pages. */
.company-modal.company-recruit-application-modal [data-company-recruit-progress]{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"label" "bar";
  gap:8px;
  width:100%;
  min-width:0;
  max-width:100%;
  margin-top:0;
  padding:0;
  box-sizing:border-box;
}
.company-modal.company-recruit-application-modal [data-company-recruit-progress][hidden]{
  display:none!important;
}
.company-modal.company-recruit-application-modal [data-company-recruit-progress]::before{
  content:"";
  grid-area:bar;
  display:block;
  width:100%;
  min-width:0;
  height:8px;
  border-radius:999px;
  background:rgba(240,223,207,.92);
}
.company-modal.company-recruit-application-modal [data-company-recruit-progress] > [data-company-recruit-progress-text]{
  grid-area:label;
  display:block;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#424a46!important;
  font-size:12px;
  line-height:1.45;
  font-weight:800;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  writing-mode:horizontal-tb;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:none!important;
}
.company-modal.company-recruit-application-modal [data-company-recruit-progress] > [data-company-recruit-progress-bar]{
  grid-area:bar;
  position:relative;
  z-index:1;
  display:block;
  min-width:0;
  max-width:100%;
  height:8px!important;
  margin:0;
  overflow:hidden;
  border-radius:999px;
  background:#59615f!important;
  transition:width .2s ease;
}
@media (max-width:420px){
  .company-modal.company-recruit-application-modal [data-company-recruit-progress] > [data-company-recruit-progress-text]{
    font-size:11.5px;
  }
}



/* v3.10.508 company greeting/history modal width alignment
   - Aligns only the greeting and history title/body image rails to the company-value modal's 760px content rhythm.
   - Mobile uses the same 10px viewport inset as the company-value image modal.
   - Image ratio, image-tap close, ESC/back close and page scroll lock remain unchanged. */
.company-modal.company-wide-info-modal:not(.company-application-modal){
  align-items:initial!important;
  justify-content:initial!important;
  padding:0!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .gallery-detail-modal-scroll,
.company-modal.company-wide-info-modal:not(.company-application-modal) .package-feature-modal-scroll{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:22px 14px 48px!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-info-modal-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .package-feature-modal-toolbar,
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-image-list,
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-body{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .package-feature-modal-toolbar{
  margin-top:0!important;
  margin-bottom:14px!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-image-list{
  padding:0 0 16px!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-image-list figure{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-image-list img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-body{
  padding:0 0 24px!important;
}
@media (max-width:560px){
  .company-modal.company-wide-info-modal:not(.company-application-modal) .gallery-detail-modal-scroll,
  .company-modal.company-wide-info-modal:not(.company-application-modal) .package-feature-modal-scroll{
    padding:14px 10px max(18px, calc(env(safe-area-inset-bottom, 0px) + 12px))!important;
  }
  .company-modal.company-wide-info-modal:not(.company-application-modal) .package-feature-modal-toolbar{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 12px!important;
  }
  .company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-image-list,
  .company-modal.company-wide-info-modal:not(.company-application-modal) .company-modal-body{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v3.10.509 company greeting/history modal intro visibility controls
   - The CMS toggle is available only for the greeting/history fixed slots.
   - Hidden intro cards leave no placeholder or extra gap; modal accessibility title remains screen-reader-only. */
.admin-page .company-feature-modal-intro-control{
  display:grid;
  gap:7px;
  padding:14px 15px;
  border:1px solid rgba(122,116,110,.18);
  border-radius:16px;
  background:rgba(248,246,241,.82);
}
.admin-page .company-feature-modal-intro-control .editor-toggle{
  margin:0;
}
.admin-page .company-feature-modal-intro-control .muted{
  margin:0;
  font-size:12px;
  line-height:1.55;
}
.company-modal.company-wide-info-modal.company-modal-intro-hidden:not(.company-application-modal) .company-modal-image-list,
.company-modal.company-wide-info-modal.company-modal-intro-hidden:not(.company-application-modal) .company-modal-body{
  margin-top:0!important;
}

/* v3.10.510 company hero bottom overlay removal
   - Removes only the company hero's lower translucent ::after gradient.
   - Keeps the existing image tone correction and upper navigation-readability shade. */
.company-page .company-hero-visual-image-only::after,
body.company-page.company-page-body .company-hero-visual-image-only::after{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}


/* v3.10.511 company page settings formal multilingual editor */
.company-settings-language-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(135, 108, 83, .18);
  border-radius: 18px;
  background: rgba(255, 252, 248, .9);
}
.company-settings-language-toolbar > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 220px;
}
.company-settings-language-toolbar strong { font-size: 14px; }
.company-settings-language-toolbar span { color: var(--muted, #756f69); font-size: 12px; line-height: 1.55; }
.company-settings-language-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}
.company-settings-language-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(135, 108, 83, .2);
  border-radius: 999px;
  background: #fff;
  color: #453f39;
  cursor: pointer;
}
.company-settings-language-button b { font-size: 12px; }
.company-settings-language-button small { color: #8b8178; font-size: 10px; font-weight: 800; }
.company-settings-language-button.is-active {
  border-color: #5e6763;
  background: #5e6763;
  color: #fff;
  box-shadow: 0 7px 18px rgba(56, 63, 60, .14);
}
.company-settings-language-button.is-active small { color: rgba(255,255,255,.72); }
.company-settings-localized-group { min-width: 0; width: 100%; }
.company-settings-language-panel[hidden] { display: none !important; }
.company-settings-language-panel.is-active { display: grid; gap: 12px; min-width: 0; }
.company-settings-language-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 2px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(135, 108, 83, .13);
}
.company-settings-language-panel-head strong { font-size: 13px; }
.company-settings-language-panel-head span { color: #8a8178; font-size: 11px; }
.company-settings-language-field-grid { display: grid; gap: 12px; min-width: 0; }
.company-settings-localized-note { margin: 0 0 10px; color: #7c746c; font-size: 12px; }
.company-settings-seo-fields { display: grid; gap: 14px; min-width: 0; }
.company-settings-common-controls { display: grid; gap: 9px; padding-top: 4px; }
.company-value-card-localized-fields { min-width: 0; }
.company-value-card-localized-fields .company-settings-language-panel { align-content: start; }
.company-value-card-localized-fields .company-settings-language-panel .field-label { margin: 0; }
@media (max-width: 900px) {
  .company-settings-language-toolbar { align-items: stretch; flex-direction: column; }
  .company-settings-language-buttons { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .company-settings-language-button { flex: 0 0 auto; }
}
@media (max-width: 620px) {
  .company-settings-language-toolbar { margin-inline: 0; padding: 12px; border-radius: 15px; }
  .company-settings-language-panel-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .company-settings-language-button { min-height: 38px; padding-inline: 11px; }
}


/* v3.10.512 company footer multilingual spacing normalization
   - v3.10.240 adds non-Korean main padding and footer margin for generic public pages.
   - Those higher-specificity selectors overrode the company-page v3.10.412 spacing reset.
   - Keep the company footer gap identical to Korean by restoring the company-only values. */
html body.company-page.company-page-body:not(.admin-page) .phone > main.public-detail-main.company-main{
  padding-bottom:0!important;
  align-content:start;
}
html body.company-page.company-page-body:not(.admin-page) .phone > main.public-detail-main.company-main > .bps-common-footer{
  margin-bottom:0!important;
}


/* v3.10.513 company editorial multilingual completion */
.company-bulk-translate-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.company-bulk-translate-actions .btn {
  white-space: nowrap;
}
.company-translation-audit-btn {
  border-style: dashed;
}
@media (max-width: 720px) {
  .company-bulk-translate-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .company-bulk-translate-actions .btn {
    width: 100%;
  }
}


/* v3.10.514 company editorial fallback migration and translation repair */
.company-editorial-seed-btn { border-style: dashed; }
.company-translation-repair-btn { border-color: rgba(166, 111, 76, .42); background: rgba(255, 247, 240, .78); }


/* v3.10.515 company translation controls normalization */
.company-translation-advanced {
  margin: 0 0 14px;
  border: 1px solid rgba(111, 101, 91, .18);
  border-radius: 18px;
  background: rgba(255, 255, 255, .68);
  overflow: clip;
}
.company-translation-advanced > summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 16px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.company-translation-advanced > summary::-webkit-details-marker { display: none; }
.company-translation-advanced > summary span { display: grid; gap: 3px; min-width: 0; }
.company-translation-advanced > summary strong { font-size: 14px; color: #2f3432; }
.company-translation-advanced > summary small { font-size: 12px; color: #7d756d; font-weight: 500; }
.company-translation-advanced > summary em {
  flex: 0 0 auto;
  font-size: 11px;
  color: #766f68;
  font-style: normal;
  white-space: nowrap;
}
.company-translation-advanced > summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(111, 101, 91, .2);
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: #5e6763;
  font-size: 18px;
  line-height: 1;
}
.company-translation-advanced[open] > summary::after { content: "−"; }
.company-translation-advanced[open] > summary { border-bottom: 1px solid rgba(111, 101, 91, .14); }
.company-translation-advanced-body {
  display: grid;
  gap: 10px;
  padding: 12px;
}
.company-translation-advanced-group {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid rgba(135, 108, 83, .13);
  border-radius: 14px;
  background: rgba(251, 249, 246, .9);
}
.company-translation-advanced-group > div:first-child { display: grid; gap: 4px; min-width: 0; }
.company-translation-advanced-group strong { font-size: 13px; }
.company-translation-advanced-group span { color: #7d756d; font-size: 11px; line-height: 1.55; }
.company-translation-advanced-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.company-translation-advanced-actions .btn { white-space: nowrap; }
.company-editorial-seed-empty-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px dashed rgba(166, 111, 76, .34);
  border-radius: 15px;
  background: rgba(255, 249, 244, .78);
}
.company-editorial-seed-empty-action > div { display: grid; gap: 4px; min-width: 0; }
.company-editorial-seed-empty-action strong { font-size: 13px; }
.company-editorial-seed-empty-action span { color: #7d756d; font-size: 11px; line-height: 1.5; }
@media (max-width: 760px) {
  .company-translation-advanced > summary { align-items: flex-start; gap: 10px; }
  .company-translation-advanced > summary em { display: none; }
  .company-translation-advanced-group { grid-template-columns: 1fr; align-items: stretch; }
  .company-translation-advanced-actions { display: grid; grid-template-columns: 1fr; }
  .company-translation-advanced-actions .btn { width: 100%; }
  .company-editorial-seed-empty-action { align-items: stretch; flex-direction: column; }
  .company-editorial-seed-empty-action .btn { width: 100%; }
}

/* v3.10.516 — common footer brand/operator links to company page */
body:not(.admin-page) .bps-common-footer .footer-company-page-link{
  color:inherit;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
body:not(.admin-page) .bps-common-footer .footer-brand-link{
  display:block;
  min-width:0;
  border-radius:14px;
}
body:not(.admin-page) .bps-common-footer .footer-operator-link{
  display:block;
  min-width:0;
  border-radius:16px;
}
body:not(.admin-page) .bps-common-footer .footer-operator-link > .footer-operator-card{
  height:100%;
}
@media (hover:hover){
  body:not(.admin-page) .bps-common-footer .footer-brand-link:hover .footer-brand-copy,
  body:not(.admin-page) .bps-common-footer .footer-operator-link:hover .footer-operator-card{
    filter:brightness(.97);
  }
}
body:not(.admin-page) .bps-common-footer .footer-company-page-link:focus-visible{
  outline:2px solid #59615f;
  outline-offset:4px;
}
body:not(.admin-page) .bps-common-footer .footer-company-page-link:active{
  transform:scale(.995);
}



/* v3.10.522 public 1080px full-frame hero + desktop focal point
   - Public user pages use one centered 1080px canvas from the existing 760px tablet breakpoint.
   - Home and standard page hero frames share the same outer width while retaining page-specific heights.
   - Tablet/desktop hero images fill the frame with cover and use per-image desktop focal points.
   - Mobile <=759px behavior and v3.10.448 branch overflow protection remain unchanged. */
:root{
  --bps-public-responsive-version:"v3.10.522";
  --public-canvas-max:1080px;
  --public-canvas-gutter:24px;
  --public-section-inset:14px;
  --public-reading-max:800px;
  --public-form-max:760px;
  --public-hero-matte:#e8ded4;
  --public-hero-matte-deep:#d7c4b4;
}

@media (min-width:760px){
  /* Public shell: do not reuse --max because it also controls mobile nav and modal widths. */
  html body:not(.admin-page){
    overflow-x:hidden;
  }
  html body:not(.admin-page) > .page{
    width:100%!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html body:not(.admin-page) > .page > .phone{
    width:min(calc(100% - 48px),var(--public-canvas-max))!important;
    max-width:var(--public-canvas-max)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* v3.10.448 remains the mobile safeguard; desktop receives an explicit bounded canvas. */
  html body.home-page:not(.admin-page) .page{
    max-width:none!important;
  }
  html body.home-page:not(.admin-page) .phone{
    width:min(calc(100% - 48px),var(--public-canvas-max))!important;
    max-width:var(--public-canvas-max)!important;
  }
  html body.home-page:not(.admin-page) .home-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Shared public section alignment inside the 1080px canvas. */
  html body.home-page:not(.admin-page) .home-main > .section,
  html body:not(.admin-page) .public-detail-main > .section,
  html body:not(.admin-page) .public-detail-main > .bps-common-footer{
    width:calc(100% - 28px)!important;
    max-width:calc(var(--public-canvas-max) - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body.company-page.company-page-body:not(.admin-page) .company-main,
  html body.company-page.company-page-body:not(.admin-page) .company-main > .detail-hero,
  html body.company-page.company-page-body:not(.admin-page) .company-main > .company-hero{
    width:100%!important;
    max-width:var(--public-canvas-max)!important;
  }
  html body.company-page.company-page-body:not(.admin-page) .company-main > .section,
  html body.company-page.company-page-body:not(.admin-page) .company-main > .bps-common-footer{
    width:calc(100% - 28px)!important;
    max-width:calc(var(--public-canvas-max) - 28px)!important;
  }

  /* Absolute hero headers and drawers follow the same centered canvas. */
  html body.services-page:not(.admin-page) .header,
  html body.products-page-body:not(.admin-page) .header,
  html body.gallery-page-body:not(.admin-page) .header,
  html body.branches-page-body:not(.admin-page) .header,
  html body.reservation-page-body:not(.admin-page) .header,
  html body.promotions-page-body:not(.admin-page) .header,
  html body.guides-page-body:not(.admin-page) .header,
  html body.company-page.company-page-body:not(.admin-page) .header{
    width:min(calc(100% - 48px),var(--public-canvas-max))!important;
    max-width:var(--public-canvas-max)!important;
  }
  html body.services-page:not(.admin-page) .drawer,
  html body.products-page-body:not(.admin-page) .drawer,
  html body.gallery-page-body:not(.admin-page) .drawer,
  html body.branches-page-body:not(.admin-page) .drawer,
  html body.reservation-page-body:not(.admin-page) .drawer,
  html body.promotions-page-body:not(.admin-page) .drawer,
  html body.guides-page-body:not(.admin-page) .drawer,
  html body.company-page.company-page-body:not(.admin-page) .drawer{
    width:calc(100% - 84px)!important;
    max-width:calc(var(--public-canvas-max) - 36px)!important;
  }

  /* Home and general page heroes share the same 1080px outer frame. */
  html body.home-page:not(.admin-page) .home-hero-slider-wrap,
  html body:not(.admin-page) .public-detail-main > .detail-hero,
  html body.company-page.company-page-body:not(.admin-page) .company-main > .company-hero{
    width:100%!important;
    max-width:var(--public-canvas-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Home: fill the frame and respect the CMS-selected desktop focal point. */
  html body.home-page:not(.admin-page) .home-hero-slider-wrap,
  html body.home-page:not(.admin-page) .home-hero-slider{
    border-radius:30px!important;
  }
  html body.home-page:not(.admin-page) .home-hero-slider{
    min-height:clamp(600px,76dvh,760px)!important;
    height:clamp(600px,76dvh,760px)!important;
    background-color:var(--public-hero-matte)!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
  html body.home-page:not(.admin-page) .home-hero-slide{
    background:#171513!important;
  }
  html body.home-page:not(.admin-page) .home-hero-slide-img{
    object-fit:cover!important;
    object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%)!important;
  }
  html body.home-page:not(.admin-page) .home-hero-actions{
    left:50%!important;
    right:auto!important;
    width:min(calc(100% - 40px),680px)!important;
    transform:translateX(-50%)!important;
  }

  /* Standard hero sliders: full-frame cover + per-slide desktop focal point. */
  html body.services-page:not(.admin-page) .service-hero-slider,
  html body.products-page-body:not(.admin-page) .product-hero-slider,
  html body.gallery-page-body:not(.admin-page) .gallery-hero-slider,
  html body.branches-page-body:not(.admin-page) .branch-hero-slider,
  html body.reservation-page-body:not(.admin-page) .reservation-hero-slider,
  html body.promotions-page-body:not(.admin-page) .promotion-hero-slider,
  html body.guides-page-body:not(.admin-page) .guides-hero-slider{
    width:100%!important;
    max-width:var(--public-canvas-max)!important;
    aspect-ratio:auto!important;
    min-height:clamp(520px,68dvh,720px)!important;
    height:clamp(520px,68dvh,720px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:30px!important;
    background-color:var(--public-hero-matte)!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
  html body.services-page:not(.admin-page) .service-hero-slide-stage,
  html body.products-page-body:not(.admin-page) .product-hero-slide-stage,
  html body.gallery-page-body:not(.admin-page) .gallery-hero-slide-stage,
  html body.branches-page-body:not(.admin-page) .branch-hero-slide-stage,
  html body.reservation-page-body:not(.admin-page) .reservation-hero-slide-stage,
  html body.promotions-page-body:not(.admin-page) .promotion-hero-slide-stage,
  html body.guides-page-body:not(.admin-page) .guides-hero-slide-stage{
    border-radius:30px!important;
    background:#171513!important;
  }
  html body.services-page:not(.admin-page) .service-hero-slide-card,
  html body.services-page:not(.admin-page) .service-hero-layer,
  html body.products-page-body:not(.admin-page) .product-hero-slide-card,
  html body.products-page-body:not(.admin-page) .product-hero-layer,
  html body.gallery-page-body:not(.admin-page) .gallery-hero-slide-card,
  html body.gallery-page-body:not(.admin-page) .gallery-hero-layer,
  html body.branches-page-body:not(.admin-page) .branch-hero-slide-card,
  html body.branches-page-body:not(.admin-page) .branch-hero-layer,
  html body.reservation-page-body:not(.admin-page) .reservation-hero-slide-card,
  html body.reservation-page-body:not(.admin-page) .reservation-hero-layer,
  html body.promotions-page-body:not(.admin-page) .promotion-hero-slide-card,
  html body.promotions-page-body:not(.admin-page) .promotion-hero-layer,
  html body.guides-page-body:not(.admin-page) .guides-hero-slide-card,
  html body.guides-page-body:not(.admin-page) .guides-hero-layer{
    background:#171513!important;
  }
  html body.services-page:not(.admin-page) .service-hero-slide-img,
  html body.products-page-body:not(.admin-page) .product-hero-slide-img,
  html body.gallery-page-body:not(.admin-page) .gallery-hero-slide-img,
  html body.branches-page-body:not(.admin-page) .branch-hero-slide-img,
  html body.reservation-page-body:not(.admin-page) .reservation-hero-slide-img,
  html body.promotions-page-body:not(.admin-page) .promotion-hero-slide-img,
  html body.guides-page-body:not(.admin-page) .guides-hero-slide-img{
    object-fit:cover!important;
    object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%)!important;
  }

  /* Company hero uses a CSS background instead of an img element. */
  html body.company-page.company-page-body:not(.admin-page) .company-hero-visual-image-only{
    width:100%!important;
    max-width:var(--public-canvas-max)!important;
    aspect-ratio:auto!important;
    min-height:clamp(520px,68dvh,720px)!important;
    height:clamp(520px,68dvh,720px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    border-radius:30px!important;
    background-color:var(--public-hero-matte)!important;
    background-size:cover,cover!important;
    background-position:var(--company-hero-focus-x,50%) var(--company-hero-focus-y,50%)!important;
    background-repeat:no-repeat!important;
  }

  /* Hero copy remains readable instead of stretching across the full canvas. */
  html body:not(.admin-page) .detail-hero > .hero-body,
  html body.company-page.company-page-body:not(.admin-page) .company-hero-image-only .company-intro-card{
    width:calc(100% - 28px)!important;
    max-width:var(--public-reading-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Long-form legal content keeps a reading-oriented width. */
  html body:not(.admin-page) .privacy-page{
    width:min(calc(100% - 48px),var(--public-reading-max))!important;
    max-width:var(--public-reading-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
/* END v3.10.522 */


/* v3.10.522 desktop hero focal-point editor */
.company-settings-grid .hero-focus-editor{grid-column:1 / -1;}
.hero-focus-editor{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #e7d7c9;
  border-radius:20px;
  background:#fffaf6;
}
.hero-focus-editor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.hero-focus-editor-head strong{display:block;color:#2c211a;font-size:14px;font-weight:900;}
.hero-focus-editor-head span{display:block;margin-top:3px;color:#7d6b5e;font-size:11.5px;line-height:1.5;}
.hero-focus-reset{white-space:nowrap;}
.hero-focus-editor-grid{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1.45fr);
  gap:12px;
  align-items:start;
}
.hero-focus-panel{display:grid;gap:7px;}
.hero-focus-panel > b{color:#5c493c;font-size:11.5px;}
.hero-focus-source,
.hero-focus-result{
  position:relative;
  overflow:hidden;
  width:100%;
  border:1px solid #dbc6b5;
  border-radius:16px;
  background:#e8ddd3;
}
.hero-focus-source{
  aspect-ratio:1/1;
  cursor:crosshair;
  touch-action:none;
}
.hero-focus-source img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}
.hero-focus-marker{
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:22px;
  border:2px solid #fff;
  border-radius:50%;
  background:rgba(108,64,43,.78);
  box-shadow:0 0 0 2px rgba(57,32,21,.45),0 4px 12px rgba(0,0,0,.22);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.hero-focus-marker::before,
.hero-focus-marker::after{content:"";position:absolute;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%);}
.hero-focus-marker::before{width:10px;height:2px;}
.hero-focus-marker::after{width:2px;height:10px;}
.hero-focus-result{aspect-ratio:3/2;}
.hero-focus-result img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%);
}
.hero-focus-safe-top,
.hero-focus-safe-bottom{
  position:absolute;
  left:0;
  right:0;
  pointer-events:none;
  background:rgba(35,25,20,.18);
  border-color:rgba(255,255,255,.5);
}
.hero-focus-safe-top{top:0;height:18%;border-bottom:1px dashed rgba(255,255,255,.65);}
.hero-focus-safe-bottom{bottom:0;height:24%;border-top:1px dashed rgba(255,255,255,.65);}
.hero-focus-values{display:flex;gap:8px;flex-wrap:wrap;color:#6f5d50;font-size:11px;font-weight:800;}
.hero-focus-values span{padding:5px 8px;border-radius:999px;background:#f1e7df;}
.hero-focus-empty{display:grid;place-items:center;width:100%;height:100%;padding:20px;color:#8d7868;font-size:12px;text-align:center;}
@media (max-width:760px){
  .hero-focus-editor-grid{grid-template-columns:1fr;}
}


/* v3.10.523 admin hero focal-point editor layout hotfix */
.admin-page .hero-focus-editor{
  container-type:inline-size;
  display:block;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid #e7d7c9;
  border-radius:16px;
  background:#fffaf6;
}
.admin-page .hero-focus-editor-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 14px;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.admin-page .hero-focus-editor-summary::-webkit-details-marker{display:none;}
.admin-page .hero-focus-editor-summary::marker{content:"";}
.admin-page .hero-focus-summary-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.admin-page .hero-focus-summary-copy strong{
  overflow:hidden;
  color:#2c211a;
  font-size:13px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-page .hero-focus-summary-copy small{
  color:#7d6b5e;
  font-size:11px;
  font-weight:800;
}
.admin-page .hero-focus-toggle-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid #dec8b7;
  border-radius:999px;
  background:#fff;
  color:#765743;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.admin-page .hero-focus-toggle-label::after{
  content:"⌄";
  font-size:13px;
  line-height:1;
  transition:transform .18s ease;
}
.admin-page .hero-focus-editor[open] .hero-focus-toggle-label::after{transform:rotate(180deg);}
.admin-page .hero-focus-editor[open] .hero-focus-editor-summary{
  border-bottom:1px solid #eadbcf;
  background:#fff7f1;
}
.admin-page .hero-focus-editor-body{
  display:grid;
  gap:12px;
  padding:14px;
}
.admin-page .hero-focus-editor-head{
  align-items:center;
}
.admin-page .hero-focus-editor-head > div{
  min-width:0;
}
.admin-page .hero-focus-editor-head span{
  margin-top:0;
  overflow-wrap:anywhere;
}
.admin-page .hero-focus-editor-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
  min-width:0;
}
.admin-page .hero-focus-panel{min-width:0;}
.admin-page .hero-focus-source,
.admin-page .hero-focus-result{min-width:0;}
.admin-page .hero-focus-result{aspect-ratio:27 / 19;}
.admin-page .home-hero-slide-upload-card.is-focus-editing{
  grid-column:1 / -1;
}
.admin-page .home-hero-slide-upload-card.is-focus-editing .hero-focus-editor{
  width:100%;
}
.admin-page .service-hero-admin-card.is-focus-editing,
.admin-page [data-company-settings-section].is-focus-editing{
  min-width:0;
}
@container (max-width:620px){
  .admin-page .hero-focus-editor-grid{grid-template-columns:1fr;}
  .admin-page .hero-focus-editor-head{
    align-items:stretch;
    flex-direction:column;
  }
  .admin-page .hero-focus-reset{width:100%;}
}
@media (max-width:900px){
  .admin-page .hero-focus-editor-summary{
    align-items:flex-start;
  }
  .admin-page .hero-focus-summary-copy strong{
    white-space:normal;
  }
}
/* END v3.10.523 */


/* v3.10.524 admin hero slide preview ratio and reset label hotfix */
.admin-page .home-hero-slide-thumb:not(.is-empty){
  height:auto;
  aspect-ratio:27 / 19;
}
.admin-page .home-hero-slide-thumb:not(.is-empty) img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.admin-page .hero-focus-reset{
  width:auto!important;
  min-width:118px;
  max-width:none;
  flex:0 0 auto;
  padding-inline:14px;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
@container (max-width:620px){
  .admin-page .hero-focus-reset{
    width:100%!important;
    min-width:0;
  }
}
/* END v3.10.524 */

/* v3.10.526 admin home hero thumbnail focus sync + per-slide save */
.admin-page .home-hero-slide-thumb:not(.is-empty) img[data-hero-slide-thumb-image]{
  object-fit:cover;
  transition:object-position .18s ease;
}
.admin-page .home-hero-slide-save-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(177,136,108,.24);
}
.admin-page .home-hero-slide-save-state{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:#756356;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
.admin-page .home-hero-slide-save-state::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#9f958d;
}
.admin-page .home-hero-slide-save-state[data-state="dirty"]::before{background:#c57d3a;}
.admin-page .home-hero-slide-save-state[data-state="saving"]::before{background:#6b86c9;}
.admin-page .home-hero-slide-save-state[data-state="saved"]::before,
.admin-page .home-hero-slide-save-state[data-state="clean"]::before{background:#6d9d71;}
.admin-page .home-hero-slide-save-state[data-state="error"]::before{background:#c85d5d;}
.admin-page .home-hero-slide-save-state[data-state="batch"]::before{background:#a86a56;}
.admin-page .home-hero-slide-save-btn{
  width:auto;
  min-width:138px;
  min-height:42px;
  flex:0 0 auto;
  padding:10px 18px;
  white-space:nowrap;
}
.admin-page .home-hero-slide-upload-card[data-save-state="dirty"]{
  box-shadow:0 0 0 2px rgba(197,125,58,.13) inset;
}
.admin-page .home-hero-slide-upload-card[data-save-state="saved"]{
  box-shadow:0 0 0 2px rgba(109,157,113,.14) inset;
}
.admin-page .home-hero-slide-batch-note{
  margin:8px 0 0;
  padding:9px 11px;
  border-radius:10px;
  background:#f7ece7;
  color:#8b5948;
  font-size:11.5px;
  line-height:1.5;
}
@media (max-width:760px){
  .admin-page .home-hero-slide-save-row{
    align-items:stretch;
    flex-direction:column;
  }
  .admin-page .home-hero-slide-save-btn{
    width:100%;
  }
}
/* END v3.10.526 */

/* v3.10.527 Home Guide Pick desktop split layout
   - Keeps the existing category carousel, swipe behavior, data structure and mobile/tablet layout.
   - At desktop widths, reduces the square main card and moves the three related cards into a right-side stack.
   - The related cards become compact horizontal cards and share the main card height evenly. */
:root{--bps-home-guide-pick-desktop-layout-version:"v3.10.527";}
@media (min-width:1200px){
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-slide-inner{
    grid-template-columns:minmax(0,620px) minmax(0,1fr);
    gap:18px;
    align-items:stretch;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-main{
    width:100%;
    max-width:620px;
    min-width:0;
    align-self:start;
    border-radius:26px;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-main .guide-home-hero-media{
    width:100%;
    max-width:100%;
    border-radius:26px;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards.home-guide-small-list{
    display:flex!important;
    flex-direction:column;
    align-self:stretch;
    gap:14px;
    min-width:0;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card{
    flex:1 1 0!important;
    width:100%;
    min-width:0!important;
    max-width:none!important;
    min-height:0;
    display:grid!important;
    grid-template-columns:minmax(128px,40%) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    align-items:center;
    gap:14px!important;
    padding:12px!important;
    border:1px solid rgba(141,111,82,.12)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.90)!important;
    box-shadow:0 12px 28px rgba(32,28,24,.075)!important;
    overflow:hidden;
    text-align:left;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card .guide-card-visual{
    width:100%;
    max-width:100%;
    min-width:0;
    aspect-ratio:1 / 1!important;
    border-radius:16px!important;
    box-shadow:none;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card strong{
    min-width:0;
    padding:0;
    color:#2d2925;
    font-size:15px!important;
    line-height:1.42!important;
    letter-spacing:-.045em;
    -webkit-line-clamp:3;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card:hover{
    transform:translateY(-2px);
    border-color:rgba(141,111,82,.22)!important;
    box-shadow:0 16px 34px rgba(32,28,24,.11)!important;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card:focus-visible{
    outline:3px solid rgba(37,39,43,.30);
    outline-offset:3px;
  }
  html body.home-page:not(.admin-page) .home-guide-pick-section[data-guide-group-carousel="true"] .home-guide-group-subcards .home-guide-thumb-card:focus-visible .guide-card-visual{
    outline:0;
  }
}
/* END v3.10.527 */

/* v3.10.528 Branch feature card nested management + upload guidance */
:root{--bps-branch-feature-nested-menu-version:"v3.10.528";}
.admin-page .editor-branch-child-menu{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:10px 12px;border:1px solid rgba(141,111,82,.16);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,252,248,.96),rgba(248,242,235,.92));
  box-shadow:0 8px 18px rgba(70,48,32,.05);
}
.admin-page .editor-branch-child-menu>span{
  margin-right:4px;font-size:11px;font-weight:1000;color:var(--muted);letter-spacing:-.02em;
}
.admin-page .editor-branch-child-tab{
  border:1px solid rgba(141,111,82,.18);background:#fff;border-radius:999px;padding:9px 13px;
  font-size:12px;font-weight:900;color:var(--pd);white-space:nowrap;cursor:pointer;
}
.admin-page .editor-branch-child-tab.active{
  background:#a67d5b;border-color:#a67d5b;color:#fff;box-shadow:0 7px 16px rgba(110,77,51,.16);
}
.admin-page .branch-feature-card-filter{
  display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;
  background:rgba(250,246,241,.92);box-shadow:0 7px 16px rgba(70,48,32,.04);
}
.admin-page .branch-feature-card-filter>div{display:grid;gap:3px;}
.admin-page .branch-feature-card-filter strong{font-size:13px;color:var(--text);}
.admin-page .branch-feature-card-filter>div span{font-size:11px;line-height:1.45;color:var(--muted);}
.admin-page .branch-feature-card-filter label{display:grid;gap:6px;}
.admin-page .branch-feature-card-filter label>span{font-size:11px;font-weight:900;color:var(--pd);}
.admin-page .branch-feature-card-doc-item small{display:block;margin-top:5px;}
@media (min-width:760px){
  .admin-page .branch-feature-card-filter{grid-template-columns:minmax(0,1fr) minmax(190px,260px);align-items:end;}
}
@media (max-width:759px){
  .admin-page .editor-branch-child-menu{align-items:stretch;}
  .admin-page .editor-branch-child-menu>span{width:100%;}
  .admin-page .editor-branch-child-tab{flex:1 1 150px;}
}
/* END v3.10.528 */


/* v3.10.529 Branch feature Animated WebP preservation + compact branch filter */
:root{--bps-branch-feature-animated-webp-filter-version:"v3.10.529";}
.admin-page .branch-feature-card-filter{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  min-width:0;
  width:100%;
  gap:8px;
}
.admin-page .branch-feature-card-filter label{
  min-width:0;
  width:100%;
}
.admin-page .branch-feature-card-filter .cms-select{
  width:100%;
  min-width:0;
  max-width:100%;
}
.admin-page .branch-feature-card-filter>p{
  margin:0;
  min-width:0;
  font-size:11px;
  line-height:1.45;
  color:var(--muted);
  word-break:keep-all;
  overflow-wrap:normal;
}
/* END v3.10.529 */

/* v3.10.530 Home promotion desktop three-card rolling + branch banner width/radius alignment
   - Desktop promotion rail always shows exactly three complete cards.
   - Four or more cards roll forward one card every 2.5 seconds with a cyclic clone buffer.
   - Mobile/tablet swipe layout remains unchanged.
   - Desktop branch region banners share the product card width and 24px card radius. */
:root{--bps-home-promo-branch-desktop-version:"v3.10.530";}
@media (min-width:1200px){
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-card-rail{
    --home-promo-bleed-left:0px;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:2px 0 10px!important;
    grid-auto-columns:calc((100% - 28px) / 3)!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-padding-inline:0!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-card-rail::-webkit-scrollbar{
    display:none;
  }
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-image-card{
    width:100%;
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-image-card > a{
    width:100%;
    min-width:0;
  }
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-card-rail[data-promo-desktop-loop="true"]{
    cursor:grab;
  }
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-card-rail[data-promo-desktop-loop="true"]:active{
    cursor:grabbing;
  }

  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-showcase{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    --bp-region-banner-radius:24px;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-region-banner,
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-folded-layer.bp-branch-region-banner,
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-open-head.bp-branch-region-banner{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1000 / 140!important;
    border-radius:24px!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-open-panel{
    border-radius:24px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  html body.home-page:not(.admin-page) .home-promo-section .home-promo-card-rail{
    scroll-behavior:auto!important;
  }
}
/* END v3.10.530 */

/* v3.10.531 Home quick menu flat warm-neutral palette
   - Replaces the previous saturated gradients with four calm single-color cards.
   - Removes decorative color bubbles so every card reads as a true flat-color surface.
   - Uses dark text on the two light cards and white text on the two dark cards. */
:root{--bps-home-quick-flat-palette-version:"v3.10.531";}
.home-page .home-quick-section .quick-card{
  background-image:none!important;
  box-shadow:0 14px 28px rgba(61,46,38,.13)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.home-page .home-quick-section .quick-card::before,
.home-page .home-quick-section .quick-card::after{
  display:none!important;
}
.home-page .home-quick-section .quick-card:nth-child(1){
  background:#d1c7bd!important;
  color:#4a4038!important;
}
.home-page .home-quick-section .quick-card:nth-child(2){
  background:#cbac8d!important;
  color:#4a4038!important;
}
.home-page .home-quick-section .quick-card:nth-child(3){
  background:#8f6e60!important;
  color:#fff!important;
}
.home-page .home-quick-section .quick-card:nth-child(4){
  background:#3a2d27!important;
  color:#fff!important;
}
.home-page .home-quick-section .quick-card:nth-child(-n+2) strong,
.home-page .home-quick-section .quick-card:nth-child(-n+2) span{
  color:#4a4038!important;
  text-shadow:none!important;
}
.home-page .home-quick-section .quick-card:nth-child(n+3) strong{
  color:#fff!important;
  text-shadow:0 1px 7px rgba(31,24,20,.15)!important;
}
.home-page .home-quick-section .quick-card:nth-child(n+3) span{
  color:rgba(255,255,255,.92)!important;
  text-shadow:0 1px 5px rgba(31,24,20,.12)!important;
}
.home-page .home-quick-section .quick-card:nth-child(-n+2) .service-icon{
  background:rgba(255,255,255,.30)!important;
  color:#4a4038!important;
  box-shadow:inset 0 0 0 1px rgba(74,64,56,.08),0 8px 18px rgba(61,46,38,.08)!important;
}
.home-page .home-quick-section .quick-card:nth-child(-n+2) .service-icon .line-icon,
.home-page .home-quick-section .quick-card:nth-child(-n+2) .service-icon [data-line-icon],
.home-page .home-quick-section .quick-card:nth-child(-n+2) .service-icon svg{
  color:#4a4038!important;
  stroke:#4a4038!important;
}
.home-page .home-quick-section .quick-card:nth-child(n+3) .service-icon{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 8px 18px rgba(31,24,20,.10)!important;
}
.home-page .home-quick-section .quick-card:nth-child(n+3) .service-icon .line-icon,
.home-page .home-quick-section .quick-card:nth-child(n+3) .service-icon [data-line-icon],
.home-page .home-quick-section .quick-card:nth-child(n+3) .service-icon svg{
  color:#fff!important;
  stroke:#fff!important;
}
@media (hover:hover) and (pointer:fine){
  .home-page .home-quick-section .quick-card:hover{
    transform:translateY(-2px);
    filter:brightness(1.025);
    box-shadow:0 18px 34px rgba(61,46,38,.17)!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-page .home-quick-section .quick-card{
    transition:none!important;
  }
}
/* END v3.10.531 */

/* v3.10.535 desktop carousel pointer-environment alignment
   - Desktop card layouts depend only on the 1024px viewport threshold.
   - Automatic rolling is decided in JavaScript and excludes only coarse-pointer-only devices.
   - Hybrid touch PCs with a connected mouse remain eligible; v3.10.537 keeps the requested desktop auto-roll active even when the OS reports reduced motion. */
/* v3.10.532 — home gallery/video responsive auto rolling */
.home-gallery-feature-card.is-bp-loop-clone,
.home-play-card.is-bp-loop-clone{
  pointer-events:auto;
}

@media (min-width:680px) and (max-width:899px){
  body.home-page:not(.admin-page) .home-play-rail{
    gap:14px!important;
  }
  body.home-page:not(.admin-page) .home-play-card{
    flex:0 0 calc((100% - 14px) / 2)!important;
    min-width:0!important;
  }
}

@media (min-width:900px) and (max-width:1023px){
  body.home-page:not(.admin-page) .home-play-rail{
    gap:14px!important;
  }
  body.home-page:not(.admin-page) .home-play-card{
    flex:0 0 calc((100% - 28px) / 3)!important;
    min-width:0!important;
  }
}

@media (min-width:1024px){
  body.home-page:not(.admin-page) .home-play-viewport{
    margin-inline:0!important;
    overflow:hidden!important;
  }
  body.home-page:not(.admin-page) .home-play-rail{
    gap:14px!important;
    padding-inline:0!important;
    scroll-padding-inline:0!important;
    overscroll-behavior-x:contain;
  }
  body.home-page:not(.admin-page) .home-play-card{
    flex:0 0 calc((100% - 42px) / 4)!important;
    min-width:0!important;
  }
  body.home-page:not(.admin-page) .home-play-thumb{
    aspect-ratio:16 / 9!important;
  }
  body.home-page:not(.admin-page) .home-play-modal-panel{
    width:min(calc(100vw - 64px), 960px)!important;
    max-width:960px!important;
  }
  body.home-page:not(.admin-page) .home-play-modal-frame{
    width:100%!important;
    aspect-ratio:16 / 9!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home-page:not(.admin-page) .home-gallery-rail,
  body.home-page:not(.admin-page) .home-play-rail{
    scroll-behavior:auto!important;
  }
}

/* v3.10.535 — home recommendation desktop three-card auto rolling
   - Keeps the existing recommendation card markup and visual structure.
   - Shows exactly three complete cards on PC and rolls one card every 2.5 seconds when four or more exist.
   - Mobile/tablet sizing and manual swipe remain unchanged. */
.home-recommend-card.is-bp-loop-clone{
  pointer-events:auto;
}

@media (min-width:1024px){
  body.home-page:not(.admin-page) .home-recommend-rail{
    display:flex!important;
    grid-auto-flow:initial!important;
    grid-auto-columns:initial!important;
    gap:14px!important;
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
    padding:2px 0 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-padding-inline:0!important;
    scroll-snap-type:x mandatory!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
  }
  body.home-page:not(.admin-page) .home-recommend-rail::-webkit-scrollbar{
    display:none!important;
  }
  body.home-page:not(.admin-page) .home-recommend-card{
    flex:0 0 calc((100% - 28px) / 3)!important;
    min-width:0!important;
    max-width:none!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home-page:not(.admin-page) .home-recommend-rail{
    scroll-behavior:auto!important;
  }
}
/* END v3.10.535 */

/* v3.10.536 Home carousel visible slide transition
   - The three PC home carousels animate scrollLeft over 560ms so the card movement is visibly rendered.
   - Scroll snap is temporarily disabled only during the scripted transition, then restored for manual swipe alignment.
   - This remains visible in the explicit force-motion preview even when the OS reduced-motion stylesheet sets scroll-behavior:auto. */
:root{--bps-home-carousel-visual-transition-version:"v3.10.536";}
@media (min-width:1024px){
  body.home-page:not(.admin-page) .home-gallery-rail[data-bp-loop-animating="true"],
  body.home-page:not(.admin-page) .home-play-rail[data-bp-loop-animating="true"],
  body.home-page:not(.admin-page) .home-recommend-rail[data-bp-loop-animating="true"]{
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
  }
}
/* END v3.10.536 */


/* v3.10.537 Standard PC home carousel autoplay
   - The three requested desktop home carousels auto-roll on the normal URL without a force query parameter.
   - Their scripted requestAnimationFrame transition remains visible even when the OS reports prefers-reduced-motion.
   - Mobile and touch-only layouts remain manual swipe. */
:root{--bps-home-carousel-standard-pc-autoplay-version:"v3.10.537";}
/* END v3.10.537 */

/* v3.10.538 Home branch expanded-width and fixed three-column card sizing
   - Keeps folded and expanded region banners on the exact same outer line.
   - Preserves the existing three-column PC card size for every region count.
   - Centers one, two, and incomplete final rows without enlarging their cards.
   - Does not change the bottom navigation or mobile/tablet branch layout. */
:root{--bps-home-branch-expanded-alignment-version:"v3.10.538";}
@media (min-width:1024px){
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-open-panel{
    padding-left:0!important;
    padding-right:0!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-open-head.bp-branch-region-banner{
    width:calc(100% + 2px)!important;
    max-width:none!important;
    margin-left:-1px!important;
    margin-right:-1px!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-region-note{
    width:auto!important;
    max-width:none!important;
    margin-left:16px!important;
    margin-right:16px!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-display-panel{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid,
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid[data-count="1"],
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid[data-count="2"],
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid[data-count="3"]{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:flex-start!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    gap:12px!important;
  }
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid > .bp-branch-card,
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid[data-count="1"] > .bp-branch-card,
  html body.home-page:not(.admin-page) .home-branch-section .bp-branch-card-grid[data-count="2"] > .bp-branch-card{
    flex:0 0 calc((100% - 24px) / 3)!important;
    width:calc((100% - 24px) / 3)!important;
    max-width:calc((100% - 24px) / 3)!important;
    min-width:0!important;
    grid-column:auto!important;
    justify-self:auto!important;
  }
}
/* END v3.10.538 */

/* v3.10.539 Home responsive vertical spacing normalization
   - Separates title/description, section-head/content, and section/section spacing.
   - Uses one responsive spacing scale for the public home canvas.
   - Removes accumulated outer margin/padding from hero, branch, PASTEL PLAY, Guide Pick, and footer boundaries.
   - Keeps carousel card sizing/rolling, branch banner/card alignment, and bottom navigation untouched. */
:root{--bps-home-responsive-vertical-spacing-version:"v3.10.539";}
body.home-page:not(.admin-page){
  --bps-home-title-description-gap:5px;
  --bps-home-head-content-gap:12px;
  --bps-home-section-gap:28px;
  --bps-home-section-gap-compact:24px;
}
body.home-page:not(.admin-page) .home-main{
  row-gap:var(--bps-home-section-gap)!important;
}
body.home-page:not(.admin-page) .home-main > .section{
  row-gap:var(--bps-home-head-content-gap)!important;
}
body.home-page:not(.admin-page) .home-main > .section .section-head p{
  margin-top:var(--bps-home-title-description-gap)!important;
}

/* Section boundaries are owned by .home-main; legacy outer offsets are neutralized here. */
body.home-page:not(.admin-page) .home-hero-slider-wrap{
  margin-bottom:0!important;
}
body.home-page:not(.admin-page) .home-quick-section{
  margin-top:0!important;
}
body.home-page:not(.admin-page) .home-gallery-feature{
  padding-top:0!important;
}
body.home-page:not(.admin-page) .home-branch-section{
  padding-bottom:0!important;
}
body.home-page:not(.admin-page) .home-branch-section .bp-branch-showcase{
  margin-top:0!important;
  padding-bottom:0!important;
}
body.home-page:not(.admin-page) .home-play-section{
  margin-top:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  row-gap:var(--bps-home-head-content-gap)!important;
}
body.home-page:not(.admin-page) .home-play-tabs{
  margin-top:0!important;
  margin-bottom:0!important;
}
body.home-page:not(.admin-page) .home-play-viewport{
  margin-top:0!important;
}
body.home-page:not(.admin-page) .home-guide-pick-section{
  padding-top:0!important;
  padding-bottom:0!important;
  row-gap:var(--bps-home-head-content-gap)!important;
}
body.home-page:not(.admin-page) .home-guide-tabs{
  margin-top:0!important;
  margin-bottom:0!important;
}
body.home-page:not(.admin-page) .home-main > .bps-common-footer{
  margin-top:0!important;
}

/* Reservation, process, and FAQ form one intentionally tighter information sequence. */
body.home-page:not(.admin-page) .home-reservation-section + .home-info-section,
body.home-page:not(.admin-page) .home-info-section + .home-faq-section{
  margin-top:calc(var(--bps-home-section-gap-compact) - var(--bps-home-section-gap))!important;
}

@media (min-width:680px){
  body.home-page:not(.admin-page){
    --bps-home-title-description-gap:6px;
    --bps-home-head-content-gap:14px;
    --bps-home-section-gap:36px;
    --bps-home-section-gap-compact:30px;
  }
}
@media (min-width:1024px){
  body.home-page:not(.admin-page){
    --bps-home-title-description-gap:6px;
    --bps-home-head-content-gap:16px;
    --bps-home-section-gap:44px;
    --bps-home-section-gap-compact:36px;
  }
}
/* END v3.10.539 */

/* v3.10.540 Responsive hero intro card width
   - Keeps --public-reading-max for legal and long-form reading content.
   - Expands only the five primary hero intro cards on tablet and desktop.
   - Preserves mobile width, card internals, hero sizing, and page content layout. */
:root{--bps-public-hero-intro-width-version:"v3.10.540";}
@media (min-width:760px){
  html body:not(.admin-page) .detail-hero > .hero-body.public-hero-intro-card{
    width:calc(100% - 28px)!important;
    max-width:calc(var(--public-canvas-max) - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
/* END v3.10.540 */

/* v3.10.541 Hero intro card public-content width alignment
   - Aligns the five hero intro cards with the Branch detail information card and public content line.
   - Reuses the existing public canvas policy instead of maintaining a separate fixed 960px maximum.
   - Keeps the 14px inset from each side of the 1080px hero frame at the desktop maximum.
   - Does not change mobile width, card internals, hero media, content structure, or bottom navigation. */
:root{--bps-public-hero-intro-content-width-version:"v3.10.541";}
/* END v3.10.541 */

/* v3.10.542 Service hero header menu alignment
   - Overrides the older slider-state header width only on tablet and desktop.
   - Aligns the Services menu button with the same centered 1080px public hero canvas used by other detail pages.
   - Keeps mobile positioning, header padding, menu button styling, drawer behavior, hero media, and intro card layout unchanged. */
:root{--bps-service-header-menu-alignment-version:"v3.10.542";}
@media (min-width:760px){
  html body.services-page.service-hero-has-slider:not(.admin-page) .header{
    width:min(calc(100% - 48px),var(--public-canvas-max))!important;
    max-width:var(--public-canvas-max)!important;
  }
}
/* END v3.10.542 */

/* v3.10.543 Public gallery responsive 2 / 3 / 4-column layout
   - Keeps the established two-column mobile layout.
   - Uses three centered columns on tablets and four centered columns on desktop.
   - Centers incomplete final rows without changing cards, media ratios, swipe tracks, or modal behavior. */
:root{--bps-public-gallery-responsive-columns-version:"v3.10.543";}
@media (min-width:760px){
  html body:not(.admin-page) .public-gallery-unit-slide-grid,
  html body.branches-page-body:not(.admin-page) .branch-gallery-slide-grid,
  html body.services-page:not(.admin-page) #serviceGalleryGrid.service-linked-gallery-grid:not(.public-gallery-unit-carousel),
  html body.gallery-page-body:not(.admin-page) #galleryGrid.photo-gallery-grid:not(.public-gallery-unit-carousel){
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:flex-start!important;
    grid-template-columns:none!important;
    gap:10px!important;
  }
  html body:not(.admin-page) .public-gallery-unit-slide-grid > :not(.empty-state),
  html body.branches-page-body:not(.admin-page) .branch-gallery-slide-grid > :not(.empty-state),
  html body.services-page:not(.admin-page) #serviceGalleryGrid.service-linked-gallery-grid:not(.public-gallery-unit-carousel) > :not(.empty-state),
  html body.gallery-page-body:not(.admin-page) #galleryGrid.photo-gallery-grid:not(.public-gallery-unit-carousel) > :not(.empty-state){
    flex:0 0 calc((100% - 20px) / 3)!important;
    width:calc((100% - 20px) / 3)!important;
    max-width:calc((100% - 20px) / 3)!important;
    min-width:0!important;
    grid-column:auto!important;
    justify-self:auto!important;
  }
  html body:not(.admin-page) .public-gallery-unit-slide-grid > .empty-state,
  html body.branches-page-body:not(.admin-page) .branch-gallery-slide-grid > .empty-state,
  html body.services-page:not(.admin-page) #serviceGalleryGrid.service-linked-gallery-grid:not(.public-gallery-unit-carousel) > .empty-state,
  html body.gallery-page-body:not(.admin-page) #galleryGrid.photo-gallery-grid:not(.public-gallery-unit-carousel) > .empty-state{
    flex:1 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }
}
@media (min-width:1024px){
  html body:not(.admin-page) .public-gallery-unit-slide-grid > :not(.empty-state),
  html body.branches-page-body:not(.admin-page) .branch-gallery-slide-grid > :not(.empty-state),
  html body.services-page:not(.admin-page) #serviceGalleryGrid.service-linked-gallery-grid:not(.public-gallery-unit-carousel) > :not(.empty-state),
  html body.gallery-page-body:not(.admin-page) #galleryGrid.photo-gallery-grid:not(.public-gallery-unit-carousel) > :not(.empty-state){
    flex-basis:calc((100% - 30px) / 4)!important;
    width:calc((100% - 30px) / 4)!important;
    max-width:calc((100% - 30px) / 4)!important;
  }
}
/* END v3.10.543 */


/* v3.10.544 Branch event responsive desktop dialog
   - Keeps the established bottom-sheet interaction below 1024px.
   - Converts the branch event UI to a centered desktop dialog at 1024px and above.
   - Preserves the original poster ratio while limiting only the internal reading width.
   - Keeps the heading and actions fixed while the poster area scrolls independently. */
:root{--bps-branch-event-desktop-dialog-version:"v3.10.544";}
.branch-event-modal.branch-event-sheet .branch-event-close[data-branch-event-close]{
  display:none;
}
@media (min-width:1024px){
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-open.is-desktop-dialog{
    align-items:center!important;
    justify-content:center!important;
    padding:32px!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-backdrop{
    background:rgba(35,37,35,.34)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-card,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-expanded .branch-event-card,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-collapsed .branch-event-card,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-collapsing .branch-event-card{
    width:min(760px,calc(100vw - 64px))!important;
    height:min(82dvh,840px)!important;
    max-height:min(82dvh,840px)!important;
    grid-template-rows:auto minmax(0,1fr) auto auto!important;
    border:1px solid var(--bp-line)!important;
    border-radius:28px!important;
    background:#fffefa!important;
    box-shadow:0 32px 96px rgba(37,39,37,.24)!important;
    transform:none!important;
    transition:box-shadow .22s ease,opacity .22s ease!important;
    will-change:auto!important;
  }
  @supports not (height:100dvh){
    html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-card,
    html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-expanded .branch-event-card,
    html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-collapsed .branch-event-card{
      height:min(82vh,840px)!important;
      max-height:min(82vh,840px)!important;
    }
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-handle{
    display:none!important;
    pointer-events:none!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-sheet-head{
    align-items:center!important;
    padding:20px 24px 16px!important;
    border-bottom:1px solid var(--bp-line)!important;
    background:#fffefa!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-sheet-head > div{
    min-width:0;
    padding-right:16px;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-sheet-head strong{
    font-size:20px!important;
    line-height:1.35!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-close[data-branch-event-close]{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    border:1px solid var(--bp-line)!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--bp-sage-dark)!important;
    font-size:24px!important;
    line-height:1!important;
    box-shadow:0 8px 20px rgba(37,39,37,.08)!important;
    cursor:pointer!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-close[data-branch-event-close]:focus-visible{
    outline:3px solid rgba(89,97,95,.24)!important;
    outline-offset:3px!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-scroll{
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:18px 24px!important;
    background:#f4f5ef!important;
    scrollbar-gutter:stable!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-image-wrap{
    width:min(100%,680px)!important;
    margin-inline:auto!important;
    overflow:hidden!important;
    border:1px solid var(--bp-line)!important;
    border-radius:20px!important;
    background:#fff!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-image-wrap img,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog.is-expanded .branch-event-image-wrap img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:initial!important;
    background:#fff!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-dots{
    min-height:24px!important;
    padding:8px 24px 4px!important;
    background:#fffefa!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-dots:empty{
    display:none!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-actions{
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    padding:14px 24px 20px!important;
    border-top:1px solid var(--bp-line)!important;
    background:#fffefa!important;
  }
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-today,
  html body:not(.admin-page) .branch-event-modal.branch-event-sheet.is-desktop-dialog .branch-event-cta{
    min-height:48px!important;
    border-radius:15px!important;
    font-size:14px!important;
  }
}
/* END v3.10.544 */

/* v3.10.545 Branch selection desktop full-wrap tabs
   - 모바일/태블릿의 한 줄 가로 스와이프는 유지
   - PC 1024px 이상에서는 모든 지점 탭을 줄바꿈으로 노출
   - 버튼 디자인과 선택 기능은 변경하지 않음 */
:root{--bps-branch-selection-desktop-tabs-version:"v3.10.545";}
@media (min-width:1024px){
  html body.branches-page-body:not(.admin-page) #tabs.detail-tabs{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    padding:0 4px 2px!important;
    scroll-padding-inline:0!important;
    scroll-snap-type:none!important;
    overscroll-behavior-x:auto!important;
    -webkit-overflow-scrolling:auto!important;
    touch-action:auto!important;
  }
  html body.branches-page-body:not(.admin-page) #tabs.detail-tabs .tab{
    flex:0 0 auto!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
}
/* END v3.10.545 */

/* v3.10.546 Product selection desktop scrollbar and mouse drag
   - 모바일/태블릿의 기존 터치 스와이프 및 드래그 선택 동작은 유지
   - PC 정밀 포인터 환경에서 상품 그룹/세부 패키지 레일의 가로 스크롤바를 표시
   - 마우스 드래그 중에는 상품 선택 클릭을 억제하고 레일 위치만 이동 */
:root{--bps-product-tabs-pc-scroll-drag-version:"v3.10.546";}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  html body.products-page-body:not(.admin-page) #groupTabs,
  html body.products-page-body:not(.admin-page) #packageTabs{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:12px!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(79,89,86,.52) rgba(79,89,86,.12)!important;
    -ms-overflow-style:auto!important;
    scroll-snap-type:none!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs::-webkit-scrollbar,
  html body.products-page-body:not(.admin-page) #packageTabs::-webkit-scrollbar{
    display:block!important;
    height:7px!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs::-webkit-scrollbar-track,
  html body.products-page-body:not(.admin-page) #packageTabs::-webkit-scrollbar-track{
    border-radius:999px!important;
    background:rgba(79,89,86,.12)!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs::-webkit-scrollbar-thumb,
  html body.products-page-body:not(.admin-page) #packageTabs::-webkit-scrollbar-thumb{
    border:1px solid rgba(255,255,255,.72)!important;
    border-radius:999px!important;
    background:rgba(79,89,86,.52)!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs::-webkit-scrollbar-thumb:hover,
  html body.products-page-body:not(.admin-page) #packageTabs::-webkit-scrollbar-thumb:hover{
    background:rgba(58,68,65,.68)!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs.is-desktop-scrollable,
  html body.products-page-body:not(.admin-page) #packageTabs.is-desktop-scrollable{
    cursor:grab!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs.is-pointer-dragging,
  html body.products-page-body:not(.admin-page) #packageTabs.is-pointer-dragging{
    cursor:grabbing!important;
    scroll-behavior:auto!important;
    user-select:none!important;
  }
  html body.products-page-body:not(.admin-page) #groupTabs.is-pointer-dragging *,
  html body.products-page-body:not(.admin-page) #packageTabs.is-pointer-dragging *{
    cursor:grabbing!important;
    user-select:none!important;
  }
}
/* END v3.10.546 */

