
:root{
  --bg:#fff; --text:#121212; --muted:#858585; --line:#eceae7; --soft:#f7f6f4;
  --pad:clamp(16px,2.6vw,38px); --content:1680px; --header:68px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.site-header{
  height:var(--header);position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.05)
}
.header-inner{
  max-width:var(--content);height:100%;margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;position:relative;
}
.brand{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;line-height:1;
}
.brand-main{font:400 18.5px/1 Georgia,"Times New Roman",serif;letter-spacing:.18em;white-space:nowrap}
.brand-sub{font-size:6.5px;letter-spacing:.32em;color:var(--muted);white-space:nowrap}
.header-right{display:flex;align-items:center;gap:20px;margin-left:auto}
.desktop-nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.desktop-nav a{font-size:9px;letter-spacing:.16em;color:#666;padding:6px 0;border-bottom:1px solid transparent}
.desktop-nav a:hover,.desktop-nav a.active{color:#111;border-bottom-color:#111}
.header-social{display:flex;align-items:center;gap:7px;padding-left:16px;border-left:1px solid var(--line)}
.social-icon{width:26px;height:26px;display:grid;place-items:center;opacity:.72}
.social-icon:hover{opacity:1}
.social-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}
.social-icon svg .dot{fill:currentColor;stroke:none}
.naver-mark{width:15px;height:15px;display:grid;place-items:center;background:#111;color:white;font-size:9px;font-weight:800;border-radius:2px}
.menu-btn{display:none;margin-left:auto;border:0;background:none;padding:10px 0;font-size:10px;letter-spacing:.16em;align-items:center;gap:8px}
.menu-btn i,.menu-btn i::after{display:block;width:18px;height:1px;background:#111;content:""}
.menu-btn i{position:relative}.menu-btn i::after{position:absolute;left:0;top:5px}

.menu-panel{position:fixed;inset:0;background:rgba(255,255,255,.99);z-index:80;display:none}
.menu-panel.open{display:block}
.menu-panel-inner{height:100%;padding:34px 28px;display:flex;flex-direction:column;gap:20px}
.menu-slogan{margin:0;color:#8d8d8d;font:400 27px/1.05 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.menu-panel-inner>a{font:400 30px/1.1 Georgia,"Times New Roman",serif}
.menu-close{position:absolute;right:20px;top:8px;border:0;background:none;font-size:38px;font-weight:200}
.menu-social{display:flex;gap:8px;margin-top:2px}

.filter-wrap{
  position:sticky;top:var(--header);z-index:30;background:rgba(255,255,255,.95);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)
}
.filter-inner{
  max-width:var(--content);margin:0 auto;padding:0 var(--pad);
  min-height:50px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;
}
.section-label{font-size:9px;letter-spacing:.18em;color:#999;white-space:nowrap}
.filter-rail{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center}
.filters{
  display:flex;align-items:center;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;
  padding:0 8px;mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 18px),transparent);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 18px),transparent)
}
.filters::-webkit-scrollbar{display:none}
.filter{flex:0 0 auto;border:0;background:none;padding:16px 0 15px;font-size:9px;letter-spacing:.14em;color:#979797;cursor:pointer;border-bottom:1px solid transparent}
.filter.active{color:#111;border-bottom-color:#111}
.filter-arrow{border:0;background:transparent;width:28px;height:36px;font:400 22px/1 Georgia,serif;cursor:pointer;opacity:.72}
.filter-arrow:disabled{opacity:.14;cursor:default}

.gallery-section{max-width:var(--content);margin:0 auto;padding:14px var(--pad) 72px}
.gallery-meta{min-height:20px;display:flex;justify-content:flex-end;padding:0 0 12px}
.gallery-count{font-size:9px;letter-spacing:.16em;color:#999}

/* Stable variable-height gallery.
   Horizontal column width stays fixed; each image keeps its own intrinsic height.
   This version intentionally avoids JS grid-row calculations so cards and footer
   can never overlap while images are loading. */
.gallery{
  column-count:4;
  column-gap:clamp(10px,1.3vw,20px);
}
.card{
  width:100%;
  display:inline-block;
  vertical-align:top;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  margin:0 0 18px;
  animation:fade .26s ease both;
}
.card-link{display:block;width:100%}
.card-media{background:#f2f1ef;overflow:hidden;width:100%}
.card-media img{
  width:100%;
  height:auto;
  object-fit:contain;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .2s;
}
.card:hover img{transform:scale(1.012)}
.card-info{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:10px 2px 0;
}
.card-title{font-size:10.5px;line-height:1.5}
.card-cat{font-size:8.5px;letter-spacing:.08em;color:#999;text-align:right}
.more-wrap{text-align:center;padding-top:26px}
.more-btn{min-width:140px;height:42px;border:1px solid #222;background:#fff;font-size:9px;letter-spacing:.16em;cursor:pointer}
.more-btn:hover{background:#111;color:#fff}

.site-footer{border-top:1px solid var(--line);padding:38px var(--pad) 28px}
.footer-top,.footer-bottom{max-width:var(--content);margin:0 auto;display:flex;justify-content:space-between;gap:20px}
.footer-top{padding-bottom:20px}
.footer-brand{font:400 17px Georgia,serif;letter-spacing:.16em;margin-bottom:9px}
.footer-desc,.footer-bottom{font-size:9.5px;color:#858585;line-height:1.8}
.footer-bottom{border-top:1px solid var(--line);padding-top:18px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer-links a{font-size:9px;letter-spacing:.12em;color:#707070}
.copyright{max-width:var(--content);margin:20px auto 0;font-size:8px;letter-spacing:.12em;color:#aaa}

.page-main{max-width:1200px;margin:0 auto;padding:52px var(--pad) 100px}
.page-kicker{font-size:9px;letter-spacing:.22em;color:#999;margin:0 0 12px}
.page-title{font:400 clamp(38px,5vw,68px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0;color:#8a8a8a}
.page-intro{max-width:650px;margin:18px 0 0;color:#747474;font-size:13px;line-height:1.85}

.detail-main{max-width:1220px;margin:0 auto;padding:12px var(--pad) 90px}
.detail-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;padding-bottom:8px;border-bottom:1px solid var(--line)}
.detail-head h1{font:400 14px/1.4 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;letter-spacing:.04em;margin:0;color:#aaa}
.detail-meta{font-size:8px;letter-spacing:.12em;color:#bbb;text-align:right}
.detail-gallery{padding-top:12px;display:grid;gap:18px}
.detail-gallery figure{margin:0}
.detail-gallery img{display:block;background:#f2f1ef}.detail-gallery figure.is-landscape img{width:100%;height:auto}.detail-gallery figure.is-portrait{display:flex;justify-content:center}.detail-gallery figure.is-portrait img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - var(--header) - 84px);object-fit:contain}
.detail-nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:44px}
.detail-nav a{padding:24px 0;font-size:10px;letter-spacing:.12em}
.detail-nav a:last-child{text-align:right}

.movie-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:46px}
.movie-card{cursor:pointer}
.movie-poster{aspect-ratio:16/9;background:#efefed;position:relative;overflow:hidden}
.movie-poster img{width:100%;height:100%;object-fit:cover;filter:brightness(.88)}
.play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:18px;padding-left:3px}
.movie-info{display:flex;justify-content:space-between;padding-top:11px;font-size:10px}
.movie-info span:last-child{font-size:8.5px;color:#999;letter-spacing:.1em}

.brand-copy{margin:18px 0 4px;display:grid;gap:4px}
.brand-copy p{margin:0;color:#777;font-size:11px;line-height:1.7}
.brand-copy p:first-child{color:#555}
.tabs{display:flex;gap:18px;overflow:auto;margin:42px 0 24px;border-bottom:1px solid var(--line)}
.tabs a{flex:0 0 auto;font-size:9px;letter-spacing:.12em;padding-bottom:12px;color:#888}
.tabs a.active{color:#111;border-bottom:1px solid #111}
.product-section{padding:32px 0;border-bottom:1px solid var(--line)}
.product-section h2{font-size:11px;letter-spacing:.14em;margin:0 0 18px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.price-card{border:1px solid #ddd;padding:20px;min-height:145px}
.price-card h3{font-size:14px;margin:0 0 8px}
.price{font:400 27px Georgia,serif;margin:4px 0 17px}
.price-card p,.clean-list li{font-size:11.5px;line-height:1.75;color:#666}
.clean-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.clean-list li{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:8px;align-items:baseline}
.clean-list li::before{content:"·";color:#aaa}
.clean-list .clean-bullet{color:#aaa}
.clean-list .clean-text{min-width:0;white-space:pre-line;overflow-wrap:anywhere}
.clean-list li:has(> .clean-bullet)::before{content:none}
.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}

.inquiry-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-top:42px}
.inquiry-card{background:var(--soft);padding:25px}
.inquiry-card h2{font-size:15px;margin:0 0 10px}
.inquiry-card p{font-size:11.5px;line-height:1.8;color:#727272}
.flow{display:grid;gap:9px;margin-top:20px}
.flow-step{display:grid;grid-template-columns:24px 1fr;gap:10px}
.flow-step i{width:22px;height:22px;border:1px solid #bbb;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:8px}
.flow-step span{font-size:11px;line-height:1.6;color:#666}
.field{display:grid;gap:6px;margin-bottom:13px}
.field label{font-size:9px;letter-spacing:.08em;color:#777}
.field input,.field textarea,.field select{width:100%;border:1px solid #ddd;background:#fff;padding:11px 12px;font-size:12px;border-radius:0}
.field textarea{min-height:145px;resize:vertical}
.submit-btn{width:100%;height:44px;border:0;background:#111;color:#fff;font-size:9px;letter-spacing:.16em;cursor:pointer}

.admin-shell{background:#f4f4f2;min-height:100vh;padding:24px}
.admin-frame{max-width:1380px;margin:0 auto;background:#fff;border:1px solid #e4e4e1;min-height:780px;display:grid;grid-template-columns:210px 1fr}
.admin-side{border-right:1px solid #eee;padding:24px 18px}
.admin-side h2{font:400 17px Georgia,serif;margin:0 0 28px}
.admin-side a{display:block;padding:9px 0;font-size:11px;color:#777}
.admin-side a.active{color:#111}
.admin-main{padding:28px}
.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.admin-top h1{font-size:20px;margin:0 0 6px}
.admin-top p{font-size:10px;color:#999;margin:0}
.admin-add{border:0;background:#111;color:#fff;padding:11px 16px;font-size:10px}
.admin-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}
.admin-card{border:1px solid #e4e4e4;padding:18px}
.admin-card strong{font-size:22px;font-weight:500}
.admin-card span{display:block;font-size:10px;color:#999;margin-top:4px}
.admin-table{width:100%;border-collapse:collapse;font-size:10px}
.admin-table th,.admin-table td{padding:12px 8px;border-bottom:1px solid #eee;text-align:left}
.admin-table th{color:#999;font-weight:500}
.status{display:inline-block;border:1px solid #ddd;border-radius:30px;padding:4px 7px}

@keyframes fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:1080px){
  .header-right{display:none}.menu-btn{display:flex}
  .gallery{column-count:3}
}
@media(max-width:760px){
  :root{--header:58px}
  .brand-main{font-size:16.5px}.brand-sub{font-size:6px}
  .menu-panel-inner{padding:28px 20px;gap:20px}
  .menu-slogan{font-size:26px}.menu-panel-inner>a{font-size:28px}
  .filter-inner{display:block;padding-top:5px}
  .section-label{padding:0 30px 2px}
  .filter-rail{grid-template-columns:28px minmax(0,1fr) 28px}
  .gallery-section{padding:12px 10px 54px}
  .gallery{column-count:2;column-gap:10px}
  .card-info{display:block;padding:8px 1px 15px}.card-cat{text-align:left;margin-top:3px}
  .footer-top,.footer-bottom{display:block}.footer-links{margin-top:14px}
  .page-main,.detail-main{padding-left:14px;padding-right:14px}
  .detail-head{grid-template-columns:1fr}.detail-meta{text-align:left}
  .movie-grid{grid-template-columns:1fr;gap:24px}
  .price-grid,.notice-grid,.inquiry-wrap{grid-template-columns:1fr}
  .admin-shell{padding:0}.admin-frame{display:block;border:0}.admin-side{display:none}.admin-main{padding:18px}
}


/* v1.7 — category label tone unified */
.filter{
  color:#666;
}
.filter.active{
  color:#666;
  border-bottom-color:#111;
}


/* v1.8 — category arrows same visual weight */
.filter-arrow{
  color:#666;
  opacity:1;
}
.filter-arrow:disabled{
  color:#666;
  opacity:1;
  cursor:default;
}


/* v1.9 — remove native disabled fading completely */
.filter,
.filter.active,
.filter-arrow,
.filter-arrow:disabled{
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
  opacity:1 !important;
  font-weight:400 !important;
}
.filter{
  appearance:none;
  -webkit-appearance:none;
}
.filter-arrow{
  appearance:none;
  -webkit-appearance:none;
}
.filter.active{
  border-bottom-color:#111 !important;
}
.filter-arrow:focus,
.filter:focus{
  outline:none;
}
.filter-arrow:focus-visible,
.filter:focus-visible{
  outline:1px solid #bbb;
  outline-offset:2px;
}


/* v2.0 — chevrons are drawn with CSS, not font glyphs */
.filter-arrow,
.filter-arrow:disabled,
.filter-arrow[aria-disabled="true"]{
  color:#555 !important;
  opacity:1 !important;
  background:transparent !important;
  border:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.filter-arrow{
  display:grid;
  place-items:center;
  width:28px;
  height:36px;
  padding:0;
}
.chevron{
  display:block;
  width:9px;
  height:9px;
  border-style:solid;
  border-color:#555;
  border-width:0 2px 2px 0;
}
.chevron-left{ transform:rotate(135deg); }
.chevron-right{ transform:rotate(-45deg); }


/* v2.1 — filter rail final fix
   Remove edge fade completely. Arrows alone indicate horizontal scrolling. */
.filters{
  mask-image:none !important;
  -webkit-mask-image:none !important;
  padding-left:18px !important;
  padding-right:18px !important;
  gap:26px !important;
}

.filter-rail{
  grid-template-columns:32px minmax(0,1fr) 32px !important;
  column-gap:10px !important;
}

.filter-arrow{
  width:32px !important;
  height:38px !important;
  flex:0 0 32px;
}

.filter,
.filter.active{
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
  opacity:1 !important;
}

@media(max-width:760px){
  .filter-rail{
    grid-template-columns:32px minmax(0,1fr) 32px !important;
    column-gap:10px !important;
  }
  .filters{
    padding-left:18px !important;
    padding-right:18px !important;
    gap:26px !important;
  }
}


/* v2.2 — refined minimal arrow design */
.filter-rail{
  grid-template-columns:30px minmax(0,1fr) 30px !important;
  column-gap:12px !important;
}

.filter-arrow{
  width:30px !important;
  height:36px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  background:transparent !important;
  border:0 !important;
  opacity:1 !important;
  color:#666 !important;
}

.filter-arrow svg{
  width:17px;
  height:17px;
  overflow:visible;
}

.filter-arrow path{
  fill:none;
  stroke:#666;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.filter-arrow:hover path{
  stroke:#333;
}

.filters{
  mask-image:none !important;
  -webkit-mask-image:none !important;
  padding-left:12px !important;
  padding-right:12px !important;
}

.filter,
.filter.active{
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
  opacity:1 !important;
}

@media(max-width:760px){
  .filter-rail{
    grid-template-columns:28px minmax(0,1fr) 28px !important;
    column-gap:10px !important;
  }
  .filter-arrow{
    width:28px !important;
    height:34px !important;
  }
  .filter-arrow svg{
    width:16px;
    height:16px;
  }
}


/* v2.3 — photo-first refinement */

/* 1) Tighter vertical rhythm */
.gallery-section{
  padding-top:8px !important;
  padding-bottom:54px !important;
}
.gallery-meta{
  min-height:14px !important;
  padding-bottom:8px !important;
}
.card{
  margin-bottom:14px !important;
}
.card-info{
  padding:7px 2px 0 !important;
}

/* 2) Photo title: lighter, thinner, quieter */
.card-title{
  font-size:9.5px !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  color:#8f8f8f !important;
  letter-spacing:.01em !important;
}

/* Category line under photos is removed from visual hierarchy */
.card-cat{
  display:none !important;
}

/* 3) Header spacing slightly tighter */
.site-header{
  height:64px !important;
}
:root{
  --header:64px;
}
.filter-inner{
  min-height:46px !important;
}
.filter{
  padding-top:14px !important;
  padding-bottom:13px !important;
}

/* 4) Desktop logo centered, mobile logo left */
@media (min-width:761px){
  .brand{
    left:50% !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
  }
}

@media (max-width:760px){
  :root{
    --header:56px;
  }
  .site-header{
    height:56px !important;
  }
  .header-inner{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .brand{
    left:14px !important;
    right:auto !important;
    transform:translateY(-50%) !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .brand-main{
    font-size:15.5px !important;
    letter-spacing:.16em !important;
  }
  .brand-sub{
    font-size:5.8px !important;
    letter-spacing:.28em !important;
  }
}

/* 5) Menu panel redesign: straight sans-serif, cleaner hierarchy */
.menu-panel{
  background:rgba(255,255,255,.995) !important;
}
.menu-panel-inner{
  max-width:1180px;
  margin:0 auto;
  padding:54px clamp(24px,5vw,72px) 42px !important;
  gap:0 !important;
}
.menu-slogan{
  margin:0 0 34px !important;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:-.02em !important;
  color:#6f6f6f !important;
}
.menu-panel-inner > a{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif !important;
  font-size:22px !important;
  font-weight:500 !important;
  line-height:1.15 !important;
  letter-spacing:.01em !important;
  padding:16px 0 !important;
  border-bottom:1px solid #efefed !important;
}
.menu-panel-inner > a:first-of-type{
  border-top:1px solid #efefed !important;
}
.menu-panel-inner > a:hover{
  color:#777 !important;
}
.menu-close{
  top:24px !important;
  right:clamp(24px,5vw,72px) !important;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif !important;
  font-size:28px !important;
  font-weight:300 !important;
}
.menu-social{
  margin-top:22px !important;
  gap:10px !important;
}
.menu-social .social-icon{
  width:30px !important;
  height:30px !important;
  border:1px solid #ececea !important;
}
.menu-social .social-icon:hover{
  background:#f7f7f5 !important;
}

@media (max-width:760px){
  .menu-panel-inner{
    padding:48px 20px 28px !important;
  }
  .menu-slogan{
    margin-bottom:26px !important;
    font-size:14px !important;
  }
  .menu-panel-inner > a{
    font-size:20px !important;
    padding:15px 0 !important;
  }
  .menu-close{
    top:16px !important;
    right:18px !important;
    font-size:26px !important;
  }
}


/* v2.4 — photo title centered */
.card-info{
  display:block !important;
  text-align:center !important;
}
.card-title{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}



/* v2.6 — switch to compact MENU before logo/nav can collide */
@media (max-width:1500px){
  .header-right{
    display:none !important;
  }
  .menu-btn{
    display:flex !important;
    margin-left:auto !important;
    z-index:4;
  }
  .brand{
    left:50% !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
  }
}

/* keep full desktop navigation only when there is clearly enough room */
@media (min-width:1501px){
  .header-right{
    display:flex !important;
  }
  .menu-btn{
    display:none !important;
  }
}

/* tablet / mobile: logo moves left, MENU stays right */
@media (max-width:760px){
  .brand{
    left:14px !important;
    right:auto !important;
    transform:translateY(-50%) !important;
    align-items:flex-start !important;
    text-align:left !important;
  }
  .menu-btn{
    display:flex !important;
  }
}




/* v2.7 — denser gallery: mobile 3 → large desktop 5 */
.gallery{
  column-count:5 !important;
  column-gap:8px !important;
}

.card{
  margin-bottom:10px !important;
}

.card-info{
  padding-top:5px !important;
}

.card-title{
  font-size:9px !important;
  line-height:1.35 !important;
}

/* medium desktop / tablet */
@media (max-width:1500px){
  .gallery{
    column-count:4 !important;
    column-gap:7px !important;
  }
}

/* mobile */
@media (max-width:760px){
  .gallery{
    column-count:3 !important;
    column-gap:5px !important;
  }
  .gallery-section{
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .card{
    margin-bottom:7px !important;
  }
  .card-info{
    padding-top:4px !important;
  }
  .card-title{
    font-size:8px !important;
    line-height:1.3 !important;
    color:#929292 !important;
  }
}

/* very wide monitors: keep five columns; don't let images become oversized */
@media (min-width:1800px){
  .gallery-section{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}



/* v2.8 — slightly smaller gallery typography */
.card-title{
  font-size:8.5px !important;
}

.filter{
  font-size:8.5px !important;
}

.section-label,
.gallery-count{
  font-size:8.5px !important;
}

@media (max-width:760px){
  .card-title{
    font-size:7.5px !important;
  }
  .filter{
    font-size:8px !important;
  }
  .section-label,
  .gallery-count{
    font-size:8px !important;
  }
}


/* v2.9 — visible, restrained local SEO copy after the gallery */
.seo-intro{
  max-width:var(--content);
  margin:0 auto;
  padding:0 var(--pad) 34px;
  color:#8b8b8b;
}
.seo-intro h1{
  margin:0 0 5px;
  font-size:10px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.01em;
  color:#777;
}
.seo-intro p{
  margin:0;
  font-size:9px;
  line-height:1.65;
  font-weight:400;
}
@media(max-width:760px){
  .seo-intro{
    padding:0 8px 28px;
  }
  .seo-intro h1{font-size:9px}
  .seo-intro p{font-size:8px}
}


/* v3.1 — custom inquiry scheduling UI */
.field-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.unknown-toggle{
  border:1px solid #dededb;
  background:#fff;
  color:#777;
  min-width:48px;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  font:500 10px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;
  cursor:pointer;
}
.unknown-toggle.active{
  background:#111;
  border-color:#111;
  color:#fff;
}
.picker-control{
  width:100%;
  min-height:64px;
  border:1px solid #e4e4e0;
  background:#fafaf8;
  display:flex;
  align-items:center;
  gap:14px;
  padding:11px 14px;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s,background .15s;
}
.picker-control:hover{
  background:#f7f7f4;
  border-color:#d4d4cf;
}
.picker-control.unknown{
  background:#f5f5f2;
}
.picker-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:1px solid #dfdfdb;
  background:#fff;
  display:grid;
  place-items:center;
}
.picker-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#555;
  stroke-width:1.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.picker-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.picker-copy strong{
  font-size:13px;
  font-weight:500;
  color:#333;
}
.picker-copy small{
  font-size:9px;
  font-weight:400;
  color:#9a9a9a;
}

.schedule-field{
  position:relative;
}
.custom-popover{
  position:absolute;
  z-index:60;
  left:0;
  right:0;
  top:calc(100% - 2px);
  background:#fff;
  border:1px solid #e4e4e0;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
  padding:14px;
}
.calendar-head{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  margin-bottom:12px;
}
.calendar-head strong{
  text-align:center;
  font-size:12px;
  font-weight:500;
}
.calendar-nav{
  width:34px;height:32px;border:0;background:transparent;
  font-size:24px;font-weight:300;color:#555;cursor:pointer;
}
.calendar-weekdays,
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.calendar-weekdays{
  margin-bottom:5px;
}
.calendar-weekdays span{
  text-align:center;
  font-size:8px;
  color:#aaa;
}
.calendar-blank{
  height:34px;
}
.calendar-day{
  height:34px;
  border:0;
  background:transparent;
  font-size:10px;
  color:#555;
  cursor:pointer;
}
.calendar-day:hover{
  background:#f2f2ef;
}
.calendar-day.selected{
  background:#111;
  color:#fff;
}

.time-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  max-height:240px;
  overflow:auto;
}
.time-option{
  min-height:38px;
  border:1px solid #e7e7e3;
  background:#fafaf8;
  font-size:10px;
  color:#555;
  cursor:pointer;
}
.time-option:hover,
.time-option.selected{
  background:#111;
  border-color:#111;
  color:#fff;
}

.select-shell{
  position:relative;
}
.select-shell select{
  width:100%;
  min-height:56px;
  padding:0 42px 0 14px;
  border:1px solid #e4e4e0;
  background:#fafaf8;
  color:#444;
  border-radius:0;
  appearance:none;
  -webkit-appearance:none;
  font-size:12px;
  cursor:pointer;
}
.select-arrow{
  pointer-events:none;
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-54%);
  font-size:16px;
  color:#777;
}
.manual-venue{
  margin-top:8px;
}
.schedule-warning{
  margin-top:-4px;
  padding:11px 13px;
  border:1px solid #ece3d7;
  background:#fbf7f1;
  color:#806e5d;
  font-size:9px;
  line-height:1.6;
}
.price-note{
  margin:8px 0 18px;
  padding:13px 14px;
  border-top:1px solid #ecece8;
  border-bottom:1px solid #ecece8;
  color:#787878;
  font-size:9px;
  line-height:1.7;
}
.price-note strong{
  display:block;
  margin-bottom:2px;
  color:#555;
  font-weight:500;
}
.price-note a{
  color:#444;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:760px){
  .picker-control{
    min-height:60px;
    padding:9px 11px;
    gap:11px;
  }
  .picker-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .custom-popover{
    position:fixed;
    left:8px;
    right:8px;
    top:auto;
    bottom:12px;
    max-height:72vh;
    overflow:auto;
    padding:16px;
    box-shadow:0 18px 60px rgba(0,0,0,.18);
  }
  .calendar-day{
    height:38px;
  }
  .time-grid{
    grid-template-columns:repeat(3,1fr);
    max-height:42vh;
  }
}


/* v3.2 — hour / minute split time picker, 10-minute increments */
.time-picker-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  align-items:start;
  gap:8px;
}
.time-column{
  min-width:0;
}
.time-column-label{
  margin:0 0 8px;
  text-align:center;
  font-size:9px;
  color:#999;
}
.time-divider{
  padding-top:31px;
  text-align:center;
  font-size:18px;
  font-weight:400;
  color:#777;
}
.time-list{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  max-height:210px;
  overflow:auto;
  padding-right:2px;
}
.time-option{
  min-height:38px;
}
.time-confirm-row{
  margin-top:12px;
}
.time-confirm{
  width:100%;
  min-height:42px;
  border:0;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:500;
  cursor:pointer;
}
.time-confirm:disabled{
  background:#e9e9e6;
  color:#aaa;
  cursor:default;
}
@media(max-width:760px){
  .time-picker-columns{
    grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);
    gap:6px;
  }
  .time-list{
    grid-template-columns:repeat(3,1fr);
    max-height:36vh;
  }
  .time-divider{
    padding-top:32px;
  }
}


/* v3.3 — 오전/오후 time selector */
.period-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-bottom:14px;
}
.period-option{
  min-height:40px;
  border:1px solid #e4e4e0;
  background:#fafaf8;
  color:#666;
  font-size:10px;
  font-weight:500;
  cursor:pointer;
}
.period-option:hover{
  border-color:#d4d4cf;
}
.period-option.selected{
  background:#111;
  border-color:#111;
  color:#fff;
}
.time-list .time-option{
  white-space:nowrap;
}
@media(max-width:760px){
  .period-option{
    min-height:42px;
    font-size:11px;
  }
}


/* v3.4 — clarify 오전/오후 belongs to "시간", not "분" */
.time-picker-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) 26px minmax(180px,.85fr);
  gap:14px;
  align-items:start;
}

.time-panel{
  min-width:0;
}

.time-panel-title{
  margin-bottom:9px;
  font-size:9px;
  font-weight:500;
  color:#8b8b8b;
  text-align:left;
}

.time-panel-hour{
  padding-right:4px;
}

.time-panel-minute{
  padding-left:4px;
}

.period-toggle{
  margin:0 0 10px !important;
}

.hour-list{
  grid-template-columns:repeat(4,1fr) !important;
}

.minute-list{
  grid-template-columns:repeat(2,1fr) !important;
}

.time-divider{
  align-self:center;
  padding-top:54px !important;
  font-size:18px !important;
  color:#8a8a8a !important;
}

/* remove the old visual "시 / 분" row feeling */
.time-column-label{
  display:none !important;
}

@media(max-width:760px){
  .time-picker-layout{
    grid-template-columns:minmax(0,1.4fr) 18px minmax(120px,.8fr);
    gap:8px;
  }

  .hour-list{
    grid-template-columns:repeat(3,1fr) !important;
  }

  .minute-list{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .time-divider{
    padding-top:56px !important;
  }

  .time-panel-title{
    font-size:9px;
  }
}


/* v3.5 — keep "미정" inside the same visual group as the picker */
.picker-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:8px;
  align-items:stretch;
}
.picker-row .picker-control{
  min-width:0;
}
.unknown-inline{
  width:72px !important;
  min-height:64px;
  height:auto !important;
  align-self:stretch;
  border-radius:0 !important;
  font-size:10px !important;
}
.unknown-inline:not(.active){
  background:#fafaf8;
  border-color:#e4e4e0;
  color:#777;
}
.unknown-inline:hover:not(.active){
  background:#f4f4f1;
  border-color:#d4d4cf;
}
@media(max-width:760px){
  .picker-row{
    grid-template-columns:minmax(0,1fr) 62px;
    gap:6px;
  }
  .unknown-inline{
    width:62px !important;
    min-height:60px;
  }
}


/* v3.6 — Wedding Movie cards aligned with Gallery */
.movie-page-intro{
  margin-top:10px !important;
  font-size:9px !important;
  line-height:1.55 !important;
  color:#929292 !important;
}

.movie-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px 8px !important;
  margin-top:28px !important;
}

.movie-card{
  min-width:0;
  cursor:default !important;
}

.movie-poster,
.movie-player{
  display:block;
  width:100%;
  aspect-ratio:16/9 !important;
  border:0;
}

.movie-poster{
  padding:0;
  margin:0;
  position:relative;
  overflow:hidden;
  background:#efefed;
  cursor:pointer;
}

.movie-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none !important;
  transition:transform .22s ease, filter .22s ease;
}

.movie-poster:hover img{
  transform:scale(1.012);
}

.movie-poster .play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(20,20,20,.28);
  color:#fff;
  font-size:9px;
  padding-left:2px;
  backdrop-filter:blur(2px);
}

.movie-poster.movie-awaiting-id::after{
  content:"VIMEO 연결 예정";
  position:absolute;
  inset:auto 6px 6px;
  padding:5px 6px;
  background:rgba(0,0,0,.56);
  color:#fff;
  font-size:7px;
  letter-spacing:.08em;
  text-align:center;
}

.movie-info{
  display:block !important;
  padding:5px 2px 0 !important;
  text-align:center !important;
  font-size:8.5px !important;
  line-height:1.35 !important;
  color:#8f8f8f !important;
}

.movie-info span{
  display:block;
  font-size:inherit !important;
  color:inherit !important;
  letter-spacing:.01em !important;
}

@media(max-width:1500px){
  .movie-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:9px 7px !important;
  }
}

@media(max-width:760px){
  .movie-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px 5px !important;
    margin-top:20px !important;
  }
  .movie-info{
    padding-top:4px !important;
    font-size:7.5px !important;
  }
  .movie-poster .play{
    width:24px;
    height:24px;
    font-size:7px;
  }
}


/* v3.7 — Wedding Movie: fewer samples, larger two-column presentation */
.movie-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px 10px !important;
}

@media(max-width:1500px){
  .movie-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 8px !important;
  }
}

@media(max-width:760px){
  .movie-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
}


/* v3.8 — Wedding Movie stays 2-up at every viewport width */
.movie-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px 8px !important;
}

@media(max-width:760px){
  .movie-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 5px !important;
  }

  .movie-info{
    padding-top:4px !important;
    font-size:7.5px !important;
  }

  .movie-poster .play{
    width:22px;
    height:22px;
    font-size:7px;
  }
}


/* v3.9 — row-major masonry: left → right, then next row */
.gallery{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  column-count:initial !important;
  column-gap:8px !important;
  gap:8px !important;
  grid-auto-rows:1px;
  align-items:start;
}

.gallery .card{
  width:100%;
  margin:0 !important;
  break-inside:auto !important;
  display:block;
}

@media(max-width:1500px){
  .gallery{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
  }
}

@media(max-width:760px){
  .gallery{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }
}


/* v4.0 — Wedding Movie denser, wider, closer to Gallery */
.movie-main{
  max-width:none !important;
  padding:30px 14px 64px !important;
}

.movie-main .page-kicker{
  margin-bottom:8px !important;
}

.movie-main .page-intro{
  margin-top:10px !important;
}

.movie-main .movie-grid{
  margin-top:18px !important;
  gap:10px 6px !important;
}

.movie-main .movie-info{
  padding-top:5px !important;
  font-size:9px !important;
  line-height:1.35 !important;
}

@media(max-width:760px){
  .movie-main{
    padding:20px 6px 44px !important;
  }

  .movie-main .movie-grid{
    margin-top:14px !important;
    gap:8px 5px !important;
  }

  .movie-main .movie-info{
    padding-top:4px !important;
    font-size:8px !important;
  }
}


/* v4.1 — Wedding Movie alignment / spacing corrections */

/* Same overall content width as Gallery: not edge-to-edge on large monitors */
.movie-main{
  max-width:var(--content) !important;
  margin:0 auto !important;
  padding:28px var(--pad) 56px !important;
}

/* Keep 2-up, but with calmer spacing */
.movie-main .movie-grid{
  margin-top:16px !important;
  column-gap:8px !important;
  row-gap:8px !important;
}

/* Root-cause fix:
   old global .play rule left inset:0 + margin:auto active,
   which fought with left/top 50% and pushed the button off-center. */
.movie-poster .play{
  inset:auto !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
}

/* Slightly compact title rhythm */
.movie-main .movie-info{
  padding-top:4px !important;
  font-size:9px !important;
}

@media(max-width:760px){
  .movie-main{
    padding:14px 6px 34px !important;
  }

  .movie-main .page-kicker{
    margin-bottom:5px !important;
  }

  .movie-main .page-intro{
    margin-top:6px !important;
    margin-bottom:0 !important;
  }

  .movie-main .movie-grid{
    margin-top:10px !important;
    column-gap:5px !important;
    row-gap:4px !important;
  }

  .movie-main .movie-info{
    padding-top:2px !important;
    font-size:8px !important;
    line-height:1.25 !important;
  }
}


/* v4.2 — verified safe Gallery layout
   Row-major only: left → right → next row.
   No masonry row-span calculations. No overlap risk. */
.gallery{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  column-count:initial !important;
  grid-auto-rows:auto !important;
  column-gap:8px !important;
  row-gap:10px !important;
  align-items:start !important;
}

.gallery .card{
  width:100% !important;
  display:block !important;
  margin:0 !important;
  grid-row:auto !important;
  grid-row-end:auto !important;
  position:relative !important;
  break-inside:auto !important;
}

.gallery .card-link,
.gallery .card-media{
  width:100% !important;
}

.gallery .card-media img{
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:1500px){
  .gallery{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    column-gap:7px !important;
    row-gap:9px !important;
  }
}

@media(max-width:760px){
  .gallery{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    column-gap:5px !important;
    row-gap:7px !important;
  }
}


/* v4.3 — true masonry, DOM order preserved */
.gallery{
  display:block !important;
  position:relative !important;
  column-count:initial !important;
  width:100% !important;
  height:auto;
}

.gallery .card{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:auto;
  margin:0 !important;
  grid-row:auto !important;
  grid-row-end:auto !important;
  transition:none !important;
  will-change:transform;
}

.gallery .card-link,
.gallery .card-media,
.gallery .card-media img{
  display:block;
  width:100% !important;
}

.gallery .card-media img{
  height:auto !important;
  object-fit:contain !important;
}

/* Footer/content after gallery must wait for the JS-computed gallery height. */
.gallery-section{
  overflow:visible !important;
}


/* v4.4 — final Gallery masonry width correction */
.gallery .card{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  margin:0 !important;
}

/* Wedding Movie: same desktop content scale as PRODUCT (.page-main = 1200px) */
.movie-main{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:28px var(--pad) 54px !important;
}

.movie-main .movie-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  margin-top:14px !important;
  column-gap:8px !important;
  row-gap:7px !important;
}

@media(max-width:760px){
  .movie-main{
    padding:12px 6px 30px !important;
  }

  .movie-main .movie-grid{
    margin-top:8px !important;
    column-gap:5px !important;
    row-gap:3px !important;
  }

  .movie-main .movie-info{
    padding-top:2px !important;
    font-size:8px !important;
    line-height:1.2 !important;
  }
}


/* v4.5 — clean masonry columns.
   No absolute positioning, no grid-row span, no overlap possibility. */
.gallery{
  display:grid !important;
  grid-template-columns:repeat(var(--gallery-columns,5), minmax(0,1fr)) !important;
  gap:var(--gallery-gap,8px) !important;
  width:100% !important;
  height:auto !important;
  position:static !important;
  column-count:initial !important;
  align-items:start !important;
  overflow:visible !important;
}

.gallery.is-building{
  min-height:40vh;
  visibility:hidden;
}

.gallery-column{
  display:flex !important;
  flex-direction:column !important;
  gap:var(--gallery-gap,8px) !important;
  min-width:0 !important;
}

.gallery .card{
  position:static !important;
  left:auto !important;
  top:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  display:block !important;
  grid-row:auto !important;
  grid-row-end:auto !important;
  break-inside:auto !important;
  will-change:auto !important;
}

.gallery .card-link,
.gallery .card-media,
.gallery .card-media img{
  display:block !important;
  width:100% !important;
}

.gallery .card-media img{
  height:auto !important;
  object-fit:contain !important;
}

@media(max-width:1500px){
  .gallery{
    --gallery-columns:4;
    --gallery-gap:7px;
  }
}

@media(max-width:760px){
  .gallery{
    --gallery-columns:3;
    --gallery-gap:5px;
  }
}


/* v4.6 — mobile starts with content, not redundant page titles */
@media(max-width:760px){

  /* Gallery: GALLERY label is redundant on mobile */
  .filter-inner > .section-label{
    display:none !important;
  }

  .filter-inner{
    padding-top:0 !important;
  }

  .filter-rail{
    min-height:52px !important;
  }

  /* Movie / Product / Question: remove oversized page hero on mobile */
  .page-main > .page-kicker,
  .page-main > .page-title{
    display:none !important;
  }

  .page-main{
    padding-top:14px !important;
  }

  .movie-main{
    padding-top:10px !important;
  }

  .movie-main .movie-page-intro{
    margin-top:0 !important;
    margin-bottom:8px !important;
  }

  /* Product should expose its useful navigation immediately */
  .page-main > .brand-copy{
    margin-top:0 !important;
  }

  /* Question copy begins immediately beneath header */
  .page-main > .page-intro{
    margin-top:0 !important;
  }
}


.customer-notice{
  align-self:start;
}

.customer-notice h2{
  margin-bottom:8px !important;
}

.customer-notice p{
  max-width:48em;
}

@media(max-width:760px){
  .customer-notice{
    padding-top:0 !important;
  }
}


/* v4.6 mobile movie: thumbnail grid starts immediately under header */
@media(max-width:760px){
  .movie-main .movie-page-intro{
    display:none !important;
  }
}


/* v4.7 — mobile page identity: one clean line, not two and not empty */
@media(max-width:760px){

  /* Gallery uses ALL GALLERY instead of a separate GALLERY label */
  .filter-inner > .section-label{
    display:none !important;
  }

  /* Movie / Product / Question: keep one title line only */
  .page-main > .page-kicker{
    display:none !important;
  }

  .page-main > .page-title{
    display:block !important;
    margin:0 0 16px !important;
    font-size:24px !important;
    line-height:1.1 !important;
    font-weight:400 !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
  }

  .movie-main > .page-title{
    margin-bottom:12px !important;
  }

  .page-main{
    padding-top:16px !important;
  }

  .movie-main{
    padding-top:14px !important;
  }
}


/* v4.8 — cleaner page identity */

/* ALL GALLERY already identifies this section, so remove duplicate GALLERY label everywhere */
.filter-inner > .section-label{
  display:none !important;
}

/* tighten the category rail after removing the label */
.filter-inner{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Mobile: Movie / Product / Question titles should sit below the logo in hierarchy */
@media(max-width:760px){
  .page-main > .page-title{
    display:block !important;
    margin:0 0 13px !important;
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:400 !important;
    letter-spacing:.14em !important;
    color:#8f8f8f !important;
    white-space:nowrap !important;
  }

  .page-main > .page-kicker{
    display:none !important;
  }

  .movie-main > .page-title{
    margin-bottom:10px !important;
  }
}


/* v4.9 — inquiry board + private lookup */
.question-board{margin:0 0 26px;border-top:1px solid #ecece8;border-bottom:1px solid #ecece8}
.question-board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:15px 0 11px}
.question-board-head h2{margin:0 0 4px;font-size:12px;font-weight:500;color:#444}
.question-board-head p{margin:0;font-size:8.5px;color:#999}
.question-search-toggle{border:0;background:transparent;padding:3px 0;font-size:9px;color:#666;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.question-list{border-top:1px solid #efefec}
.question-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:36px;border-bottom:1px solid #f1f1ee;font-size:9.5px}
.question-lock{color:#555;font-size:5px}.question-title{color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.question-row time{font-size:8px;color:#aaa}
.question-search-panel{padding:13px 0;border-top:1px solid #efefec}
.question-search-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.compact-field{margin:0!important}.compact-field input{min-height:42px!important}
.question-search-btn{min-height:42px;padding:0 18px;border:0;background:#111;color:#fff;font-size:9px;cursor:pointer}
.question-search-result{margin:10px 0 0;font-size:9px;color:#777}
.found-question{padding:12px 0;border-top:1px solid #efefec}.found-question-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.found-question-head strong{font-size:10px;font-weight:500;color:#444}.found-question-head span{font-size:8px;color:#aaa}
.found-question dl{display:grid;grid-template-columns:82px 1fr;gap:6px 12px;margin:0}.found-question dt{font-size:8px;color:#aaa}.found-question dd{margin:0;font-size:9px;line-height:1.55;color:#555}
.field-note{font-size:8px;font-weight:400;color:#aaa}
@media(max-width:760px){.question-board{margin-bottom:20px}.question-board-head{padding:11px 0 9px}.question-search-grid{grid-template-columns:1fr 1fr}.question-search-btn{grid-column:1/-1}.question-row{min-height:33px}.found-question dl{grid-template-columns:70px 1fr}}


/* v5.0 question layout refinement */
.question-summary-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.95fr);gap:26px;align-items:start;margin:18px 0 28px;}
.question-notice-panel{background:#f6f6f3;border:1px solid #ecece7;padding:24px 26px 22px;}
.question-notice-panel h2{margin:0 0 16px;font-size:18px;font-weight:600;letter-spacing:-0.02em;color:#171717;}
.question-notice-panel>p{margin:0;font-size:15px;line-height:1.95;color:#6f6f6b;word-break:keep-all;}
.question-inline-notes{margin-top:18px;padding-top:16px;border-top:1px solid #e7e7e2;display:grid;gap:8px;}
.question-inline-notes p{margin:0;font-size:12px;line-height:1.7;color:#7e7e7b;}
.question-inline-notes strong{color:#555;}
.question-inline-notes a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.question-setting-panel{border:1px solid #ecece7;background:#fff;padding:22px 22px 20px;position:relative;}
.question-setting-panel h3{margin:0 0 16px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#252525;}
.question-setting-list{display:grid;gap:14px;}
.setting-item{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid #f0f0ed;}
.setting-item span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9a9a95;}
.setting-item strong{font-size:12px;font-weight:500;color:#4d4d49;}
.setting-limit{align-items:start;}
.setting-limit-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.limit-btn{min-width:38px;height:32px;border:1px solid #dddcd6;background:#fff;font-size:10px;color:#666;cursor:pointer;}
.limit-btn.active{background:#111;color:#fff;border-color:#111;}
.question-setting-actions{display:flex;gap:8px;margin-top:18px;}
.setting-action-link{flex:1;display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:0 12px;border:1px solid #111;background:#111;color:#fff;text-decoration:none;font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.setting-action-link.secondary{background:#fff;color:#444;border-color:#dbdbd6;}
.question-board{border-top:1px solid #ecece7;border-bottom:1px solid #ecece7;background:#fff;}
.question-board-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 16px;border-bottom:1px solid #efefeb;}
.question-board-banner strong{font-size:13px;font-weight:600;color:#222;}
.question-board-banner span{font-size:10px;color:#9a9a96;}
.question-table-head,.question-row{display:grid;grid-template-columns:78px minmax(0,1fr) 90px;align-items:center;gap:0;}
.question-table-head{min-height:48px;border-bottom:1px solid #ecece7;font-size:11px;color:#7f7f7a;letter-spacing:.08em;}
.question-table-head span:first-child,.question-row .question-no{padding-left:14px;}
.question-table-head span:last-child,.question-row time{padding-right:10px;text-align:right;}
.question-row{min-height:54px;border-bottom:1px solid #f1f1ee;}
.question-row:last-child{border-bottom:none;}
.question-no{font-size:12px;color:#7a7a76;}
.question-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;padding-right:14px;}
.question-title{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#464642;}
.question-secret{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid #e3e2db;border-radius:999px;font-size:10px;color:#9b9b96;flex:0 0 auto;}
.question-row time{font-size:11px;color:#a5a59f;}
.question-board-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0 18px;border-top:1px solid #efefeb;}
.question-search-inline{display:grid;grid-template-columns:auto 180px 180px 88px;gap:8px;align-items:center;flex:1;}
.search-inline-label{font-size:11px;color:#8a8a85;padding-right:6px;white-space:nowrap;}
.question-search-inline input{height:40px;border:1px solid #dddcd6;padding:0 14px;font-size:12px;background:#fff;}
.question-search-btn{height:40px;border:1px solid #111;background:#111;color:#fff;font-size:11px;letter-spacing:.08em;cursor:pointer;}
.question-board-cta{flex:0 0 auto;}
.board-write-btn{display:inline-flex;align-items:center;justify-content:center;min-width:138px;height:40px;border:1px solid #dbdbd6;color:#444;text-decoration:none;font-size:11px;letter-spacing:.08em;background:#fff;}
.question-search-result{padding:0 0 8px;}
.found-question{display:block;padding:14px 16px;margin:12px 0 4px;border:1px solid #ecece7;background:#fafaf8;color:#50504d;text-decoration:none;}
.found-question-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #ecece7;}
.found-question-head strong{font-size:13px;color:#222;}
.found-question-head span{font-size:10px;color:#9a9a96;}
.found-question dl{display:grid;grid-template-columns:84px 1fr;gap:8px 14px;margin:0;}
.found-question dt{font-size:11px;color:#8f8f8a;}
.found-question dd{margin:0;font-size:12px;color:#555;line-height:1.7;}

@media (max-width: 980px){
  .question-summary-layout{grid-template-columns:1fr;gap:14px;margin-bottom:22px;}
  .question-board-banner{flex-direction:column;align-items:flex-start;padding:14px 0;}
  .question-search-inline{grid-template-columns:1fr 1fr 88px;}
  .search-inline-label{grid-column:1 / -1;padding-right:0;}
  .board-write-btn{min-width:120px;}
}
@media (max-width: 760px){
  .question-summary-layout{margin-top:8px;}
  .question-notice-panel{padding:18px 18px 16px;}
  .question-notice-panel h2{font-size:15px;margin-bottom:10px;}
  .question-notice-panel>p{font-size:13px;line-height:1.85;}
  .question-inline-notes p{font-size:11px;}
  .question-setting-panel{padding:16px 16px 14px;}
  .setting-item{grid-template-columns:72px 1fr;gap:10px;padding-bottom:12px;}
  .question-setting-actions{flex-direction:column;}
  .question-table-head,.question-row{grid-template-columns:60px minmax(0,1fr) 72px;}
  .question-table-head{min-height:40px;font-size:9px;}
  .question-row{min-height:46px;}
  .question-no{font-size:10px;}
  .question-title{font-size:11px;}
  .question-secret{height:20px;padding:0 6px;font-size:9px;}
  .question-row time{font-size:9px;}
  .question-board-footer{flex-direction:column;align-items:stretch;gap:10px;padding:12px 0 14px;}
  .question-search-inline{grid-template-columns:1fr;gap:8px;}
  .question-search-inline input,.question-search-btn,.board-write-btn{width:100%;}
  .found-question{padding:12px;}
  .found-question dl{grid-template-columns:70px 1fr;gap:6px 10px;}
}


/* v5.1 inquiry split layout */
.inquiry-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.78fr);gap:28px;align-items:start;margin-top:18px;}
.inquiry-left{min-width:0;}
.inquiry-right{min-width:0;}
.reservation-form-card{position:sticky;top:112px;border:1px solid #ecece7;background:#fff;padding:22px 22px 20px;}
.reservation-form-head{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #efefeb;}
.reservation-kicker{margin:0 0 8px;font-size:10px;letter-spacing:.18em;color:#a0a09a;}
.reservation-form-head h2{margin:0 0 8px;font-size:20px;letter-spacing:-.02em;font-weight:600;color:#1c1c1c;}
.reservation-form-head p{margin:0;font-size:12px;line-height:1.8;color:#7a7a75;word-break:keep-all;}
.question-board-combined{padding:0 22px 8px;}
.question-notice-inline{padding:22px 0 20px;border-bottom:1px solid #efefeb;}
.question-notice-inline h2{margin:0 0 14px;font-size:18px;font-weight:600;letter-spacing:-.02em;color:#171717;}
.question-notice-inline>p{margin:0;font-size:15px;line-height:1.95;color:#6f6f6b;word-break:keep-all;}
.question-inline-notes{margin-top:18px;padding-top:16px;border-top:1px solid #f0f0ed;display:grid;gap:8px;}
.question-inline-notes p{margin:0;font-size:12px;line-height:1.7;color:#7e7e7b;}
.question-inline-notes strong{color:#555;}
.question-inline-notes a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.question-board-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 16px;border-bottom:1px solid #efefeb;}
.question-board-title-group{display:grid;gap:5px;}
.question-board-title-group strong{font-size:13px;font-weight:600;color:#222;}
.question-board-title-group span{font-size:10px;color:#9a9a96;}
.question-board-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.board-tool-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9a9a95;}
.setting-limit-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.limit-btn{min-width:38px;height:32px;border:1px solid #dddcd6;background:#fff;font-size:10px;color:#666;cursor:pointer;}
.limit-btn.active{background:#111;color:#fff;border-color:#111;}
.question-table-head,.question-row{display:grid;grid-template-columns:78px minmax(0,1fr) 90px;align-items:center;gap:0;}
.question-table-head{min-height:48px;border-bottom:1px solid #ecece7;font-size:11px;color:#7f7f7a;letter-spacing:.08em;}
.question-table-head span:first-child,.question-row .question-no{padding-left:14px;}
.question-table-head span:last-child,.question-row time{padding-right:10px;text-align:right;}
.question-row{min-height:54px;border-bottom:1px solid #f1f1ee;}
.question-row:last-child{border-bottom:none;}
.question-no{font-size:12px;color:#7a7a76;}
.question-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;padding-right:14px;}
.question-title{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:#464642;}
.question-secret{display:inline-flex;align-items:center;height:22px;padding:0 8px;border:1px solid #e3e2db;border-radius:999px;font-size:10px;color:#9b9b96;flex:0 0 auto;}
.question-row time{font-size:11px;color:#a5a59f;}
.question-board-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0 10px;border-top:1px solid #efefeb;}
.question-search-inline{display:grid;grid-template-columns:auto 180px 180px 88px;gap:8px;align-items:center;flex:1;}
.search-inline-label{font-size:11px;color:#8a8a85;padding-right:6px;white-space:nowrap;}
.question-search-inline input{height:40px;border:1px solid #dddcd6;padding:0 14px;font-size:12px;background:#fff;}
.question-search-btn{height:40px;border:1px solid #111;background:#111;color:#fff;font-size:11px;letter-spacing:.08em;cursor:pointer;}
.question-search-result{padding:0 0 10px;}
.found-question{display:block;padding:14px 16px;margin:12px 0 4px;border:1px solid #ecece7;background:#fafaf8;color:#50504d;text-decoration:none;}
.found-question-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #ecece7;}
.found-question-head strong{font-size:13px;color:#222;}
.found-question-head span{font-size:10px;color:#9a9a96;}
.found-question dl{display:grid;grid-template-columns:84px 1fr;gap:8px 14px;margin:0;}
.found-question dt{font-size:11px;color:#8f8f8a;}
.found-question dd{margin:0;font-size:12px;color:#555;line-height:1.7;}

@media (max-width: 1100px){
  .inquiry-shell{grid-template-columns:1fr;gap:18px;}
  .reservation-form-card{position:static;}
}
@media (max-width: 760px){
  .inquiry-shell{margin-top:10px;gap:14px;}
  .question-board-combined{padding:0 16px 6px;}
  .question-notice-inline{padding:16px 0 14px;}
  .question-notice-inline h2{font-size:15px;margin-bottom:10px;}
  .question-notice-inline>p{font-size:13px;line-height:1.85;}
  .question-inline-notes p{font-size:11px;}
  .question-board-banner{flex-direction:column;align-items:flex-start;padding:14px 0;}
  .question-table-head,.question-row{grid-template-columns:60px minmax(0,1fr) 72px;}
  .question-table-head{min-height:40px;font-size:9px;}
  .question-row{min-height:46px;}
  .question-no{font-size:10px;}
  .question-title{font-size:11px;}
  .question-secret{height:20px;padding:0 6px;font-size:9px;}
  .question-row time{font-size:9px;}
  .question-board-footer{padding:12px 0 8px;}
  .question-search-inline{grid-template-columns:1fr;gap:8px;}
  .search-inline-label{padding-right:0;}
  .question-search-inline input,.question-search-btn{width:100%;}
  .reservation-form-card{padding:16px 16px 14px;}
  .reservation-form-head{padding-bottom:14px;margin-bottom:14px;}
  .reservation-form-head h2{font-size:17px;}
  .reservation-form-head p{font-size:11px;}
  .found-question{padding:12px;}
  .found-question dl{grid-template-columns:70px 1fr;gap:6px 10px;}
}


/* v5.2 — Question: correct two-column structure */
.inquiry-wrap{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  width:100% !important;
  margin-top:18px !important;
}

.inquiry-shell{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 410px !important;
  gap:26px !important;
  align-items:start !important;
  width:100% !important;
  margin-top:0 !important;
}

.inquiry-left,
.inquiry-right{
  min-width:0 !important;
  width:100% !important;
}

.question-board-combined{
  width:100% !important;
}

.reservation-form-card{
  position:sticky !important;
  top:88px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:880px){
  .inquiry-shell{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .reservation-form-card{
    position:static !important;
  }
}

/* v5.2 — Product: keep SNAP / MOVIE / STUDIO selector visible while scrolling */
.product-sticky-tabs{
  position:sticky !important;
  top:64px !important;
  z-index:35 !important;
  margin:28px 0 24px !important;
  padding:11px 0 0 !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line) !important;
}

.product-sticky-tabs a{
  padding-bottom:11px !important;
}

.product-section{
  scroll-margin-top:126px !important;
}

@media(max-width:760px){
  .product-sticky-tabs{
    top:56px !important;
    margin:12px -6px 18px !important;
    padding:9px 6px 0 !important;
  }
  .product-section{
    scroll-margin-top:110px !important;
  }
}


/* v5.3 — recent inquiry count + single-row search */
.question-board-tools,
.board-tool-label,
.setting-limit-buttons{
  display:none !important;
}

/* local preview: desktop 10, mobile 5 */
@media(max-width:760px){
  .question-list .question-row:nth-child(n+6){
    display:none !important;
  }
}

/* Keep "내 문의 찾기 / 이름 / 암호 / 검색" on one row */
.question-search-inline{
  display:grid !important;
  grid-template-columns:auto minmax(110px,.8fr) minmax(145px,1fr) 76px !important;
  gap:8px !important;
  align-items:center !important;
  width:100% !important;
}

.search-inline-label{
  margin:0 !important;
  padding:0 6px 0 0 !important;
  white-space:nowrap !important;
}

.question-search-inline input,
.question-search-btn{
  width:100% !important;
  min-width:0 !important;
  height:40px !important;
}

@media(max-width:760px){
  .question-search-inline{
    grid-template-columns:auto minmax(74px,.8fr) minmax(104px,1fr) 58px !important;
    gap:5px !important;
  }

  .search-inline-label{
    padding-right:2px !important;
    font-size:9px !important;
  }

  .question-search-inline input{
    height:36px !important;
    padding:0 8px !important;
    font-size:10px !important;
  }

  .question-search-btn{
    height:36px !important;
    padding:0 6px !important;
    font-size:10px !important;
  }
}


/* v5.4 — product hierarchy + slightly darker separators */
.product-section{
  border-bottom-color:#cfcfc9 !important;
}

.product-section + .product-section{
  border-top:1px solid #cfcfc9 !important;
}

.product-section > h2{
  display:flex;
  align-items:baseline;
  gap:7px;
  color:#3f3f3b;
}

.product-section > h2 span{
  font-size:8px;
  font-weight:400;
  letter-spacing:.12em;
  color:#999993;
}

.price-card{
  border-color:#d2d2cc !important;
}

.notice-grid > div{
  border-top:1px solid #d6d6d0;
  padding-top:18px;
}

/* v5.4 — name first, password only after choosing a post */
.question-search-inline{
  grid-template-columns:auto minmax(160px,1fr) 76px !important;
}

.lookup-item{
  padding:0 !important;
  background:#fff !important;
}

.lookup-open{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:0 14px;
  border:0;
  border-bottom:1px solid #ecece7;
  background:#fff;
  text-align:left;
  cursor:pointer;
}

.lookup-open:hover{
  background:#fafaf8;
}

.lookup-title{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  color:#44443f;
}

.lookup-date{
  font-size:10px;
  color:#a0a09a;
}

.lookup-password-panel{
  padding:14px;
  border-bottom:1px solid #ecece7;
  background:#fafaf8;
}

.lookup-password-panel > label{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  color:#85857f;
}

.lookup-password-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 72px;
  gap:7px;
}

.lookup-password-row input{
  width:100%;
  height:38px;
  padding:0 11px;
  border:1px solid #d9d9d3;
  background:#fff;
  font-size:11px;
}

.lookup-confirm{
  height:38px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font-size:10px;
  cursor:pointer;
}

.lookup-message,
.lookup-legacy-note{
  margin:8px 0 0;
  font-size:10px;
  line-height:1.6;
  color:#8c7168;
}

.lookup-detail{
  margin-top:10px;
}

.lookup-detail dl{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:7px 12px;
  margin:0;
  padding-top:12px;
  border-top:1px solid #e3e3de;
}

.lookup-detail dt{
  font-size:10px;
  color:#999993;
}

.lookup-detail dd{
  margin:0;
  font-size:11px;
  line-height:1.65;
  color:#50504c;
}

@media(max-width:760px){
  .product-sticky-tabs a{
    font-size:8px !important;
    letter-spacing:.08em !important;
  }

  .product-section > h2{
    display:block;
  }

  .product-section > h2 span{
    display:block;
    margin-top:4px;
  }

  .question-search-inline{
    grid-template-columns:auto minmax(0,1fr) 58px !important;
  }

  .lookup-open{
    min-height:44px;
    padding:0 10px;
  }

  .lookup-title{
    font-size:11px;
  }

  .lookup-password-panel{
    padding:11px 10px;
  }
}


/* v5.5 — validated inquiry two-column structure */
.inquiry-wrap{
  display:block !important;
  width:100% !important;
  margin-top:18px !important;
}
.inquiry-shell{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 410px !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
}
.inquiry-left,
.inquiry-right{
  width:100% !important;
  min-width:0 !important;
}
.question-board-combined{
  width:100% !important;
  box-sizing:border-box !important;
  padding:0 22px 8px !important;
  border:1px solid #ecece7 !important;
  background:#fff !important;
}
.question-notice-inline{
  padding:22px 0 20px !important;
  border-bottom:1px solid #e0e0da !important;
}
.question-notice-inline h2{
  margin:0 0 14px !important;
  font-size:18px !important;
  font-weight:600 !important;
  color:#1b1b1b !important;
}
.question-notice-inline > p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.9 !important;
  color:#70706b !important;
  word-break:keep-all !important;
}
.question-board-banner{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  padding:17px 0 14px !important;
  border-bottom:1px solid #e5e5df !important;
}
.question-board-title-group{
  display:grid !important;
  gap:4px !important;
}
.question-board-title-group strong{
  font-size:13px !important;
  color:#242424 !important;
}
.question-board-title-group span{
  font-size:10px !important;
  color:#9b9b95 !important;
}
.question-table-head,
.question-row{
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) 84px !important;
  align-items:center !important;
}
.question-table-head{
  min-height:44px !important;
  border-bottom:1px solid #dddcd6 !important;
  font-size:10px !important;
  color:#85857f !important;
}
.question-row{
  min-height:50px !important;
  border-bottom:1px solid #e7e7e2 !important;
}
.question-row:last-child{
  border-bottom:none !important;
}
.question-no{
  padding-left:8px !important;
  font-size:11px !important;
  color:#80807a !important;
}
.question-title-wrap{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}
.question-title{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
  color:#444440 !important;
}
.question-secret{
  flex:0 0 auto !important;
  height:20px !important;
  padding:0 7px !important;
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid #ddddd7 !important;
  border-radius:999px !important;
  font-size:9px !important;
  color:#9a9a94 !important;
}
.question-row time{
  padding-right:8px !important;
  text-align:right !important;
  font-size:10px !important;
  color:#a0a09a !important;
}
.question-board-footer{
  padding:15px 0 8px !important;
  border-top:1px solid #dddcd6 !important;
}
.question-search-inline{
  display:grid !important;
  grid-template-columns:auto minmax(160px,1fr) 72px !important;
  gap:8px !important;
  align-items:center !important;
  width:100% !important;
}
.search-inline-label{
  padding:0 4px 0 0 !important;
  margin:0 !important;
  white-space:nowrap !important;
  font-size:10px !important;
  color:#8b8b85 !important;
}
.question-search-inline input,
.question-search-btn{
  min-width:0 !important;
  width:100% !important;
  height:38px !important;
  box-sizing:border-box !important;
}
.reservation-form-card{
  position:sticky !important;
  top:88px !important;
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid #d9d9d3 !important;
  background:#fff !important;
  padding:22px !important;
}
.reservation-form-head{
  margin-bottom:18px !important;
  padding-bottom:17px !important;
  border-bottom:1px solid #d9d9d3 !important;
}
.reservation-form-head h2{
  margin:0 0 8px !important;
  font-size:20px !important;
}
.reservation-form-head p{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.75 !important;
  color:#80807a !important;
}

/* v5.5 — product section grouping: darker 1px divider + subtle title band */
.product-section{
  border-bottom:1px solid #aaa9a2 !important;
  padding:36px 0 42px !important;
}
.product-section + .product-section{
  border-top:0 !important;
}
.product-section > h2{
  display:flex !important;
  align-items:baseline !important;
  gap:8px !important;
  margin:0 0 24px !important;
  padding:12px 14px !important;
  background:#f6f6f3 !important;
  border-top:1px solid #c1c1ba !important;
  border-bottom:1px solid #d7d7d1 !important;
  color:#3d3d39 !important;
}
.product-section > h2 span{
  font-size:8px !important;
  font-weight:400 !important;
  letter-spacing:.12em !important;
  color:#94948e !important;
}
/* undo v5.4's extra internal separators: only product-group separators should stand out */
.price-card{
  border-color:#ddd !important;
}
.notice-grid > div{
  border-top:0 !important;
  padding-top:0 !important;
}

@media(max-width:1100px){
  .inquiry-shell{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .reservation-form-card{
    position:static !important;
  }
}
@media(max-width:760px){
  .question-board-combined{
    padding:0 14px 6px !important;
  }
  .question-notice-inline{
    padding:16px 0 14px !important;
  }
  .question-notice-inline h2{
    font-size:15px !important;
    margin-bottom:9px !important;
  }
  .question-notice-inline > p{
    font-size:12px !important;
  }
  .question-table-head,
  .question-row{
    grid-template-columns:50px minmax(0,1fr) 66px !important;
  }
  .question-list .question-row:nth-child(n+6){
    display:none !important;
  }
  .question-search-inline{
    grid-template-columns:auto minmax(0,1fr) 56px !important;
    gap:5px !important;
  }
  .reservation-form-card{
    padding:15px !important;
  }
  .product-section{
    padding:28px 0 32px !important;
  }
  .product-section > h2{
    display:block !important;
    padding:10px 11px !important;
    margin-bottom:18px !important;
  }
  .product-section > h2 span{
    display:block !important;
    margin-top:4px !important;
  }
}


/* v5.5 final mobile search-line reset after legacy rules */
.search-inline-label{
  grid-column:auto !important;
}


/* v5.6 — time picker responsive rebuild: no horizontal clipping */
.time-popover{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

.time-picker-layout{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
}

.time-panel{
  width:100% !important;
  min-width:0 !important;
  padding:0 !important;
}

.time-panel-title{
  margin:0 0 8px !important;
  font-size:9px !important;
  color:#8b8b86 !important;
}

.period-toggle{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  margin:0 0 10px !important;
}

.hour-list{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  max-height:none !important;
  overflow:visible !important;
  padding:0 !important;
}

.time-divider{
  display:none !important;
}

.time-panel-minute{
  margin-top:14px !important;
  padding-top:13px !important;
  border-top:1px solid #ecece7 !important;
}

.minute-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  max-height:none !important;
  overflow:visible !important;
  padding:0 !important;
}

.time-option,
.period-option{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.time-option{
  min-height:38px !important;
  padding:0 4px !important;
}

.time-confirm-row{
  margin-top:12px !important;
}

.time-confirm{
  min-height:42px !important;
}

@media(max-width:760px){
  .custom-popover.time-popover{
    left:8px !important;
    right:8px !important;
    width:auto !important;
    max-width:none !important;
    max-height:78vh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:14px !important;
  }

  .hour-list{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .minute-list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .period-option{
    min-height:40px !important;
  }

  .time-option{
    min-height:36px !important;
    font-size:10px !important;
  }

  .time-panel-minute{
    margin-top:12px !important;
    padding-top:11px !important;
  }
}


/* v5.7 — inquiry pagination */
.question-board-footer{
  display:block !important;
}

.question-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  padding:15px 0 13px;
  border-bottom:1px solid #efefeb;
}

.page-numbers{
  display:flex;
  align-items:center;
  gap:3px;
}

.page-number,
.page-nav{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  color:#777772;
  font-size:10px;
  cursor:pointer;
}

.page-number:hover,
.page-nav:hover:not(:disabled){
  background:#f3f3f0;
  color:#222;
}

.page-number.active{
  background:#111;
  color:#fff;
}

.page-nav{
  font-size:17px;
  font-weight:300;
}

.page-nav:disabled{
  opacity:.22;
  cursor:default;
}

.question-search-inline{
  margin-top:14px !important;
}

/* v5.7 — reservation shortcut for layouts where form is no longer side-by-side */
.reservation-float-cta{
  display:none;
  position:fixed;
  z-index:34;
  top:76px;
  right:14px;
  min-height:42px;
  padding:0 16px;
  border:1px solid #111;
  border-radius:999px;
  background:#111;
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em;
  cursor:pointer;
  align-items:center;
  gap:9px;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.reservation-float-cta b{
  font-size:14px;
  font-weight:400;
  line-height:1;
}

.reservation-float-cta.is-form-visible{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-5px);
}

.reservation-form-card{
  scroll-margin-top:84px;
}

@media(max-width:1100px){
  .reservation-float-cta{
    display:flex;
  }
}

@media(max-width:760px){
  .reservation-float-cta{
    top:66px;
    right:10px;
    min-height:40px;
    padding:0 14px;
    font-size:9px;
    box-shadow:0 7px 20px rgba(0,0,0,.16);
  }

  .reservation-form-card{
    scroll-margin-top:74px;
  }

  .question-pagination{
    gap:3px;
    padding:11px 0 10px;
  }

  .page-numbers{
    gap:1px;
  }

  .page-number,
  .page-nav{
    width:27px;
    height:27px;
    font-size:9px;
  }

  .page-nav{
    font-size:15px;
  }

  .question-search-inline{
    margin-top:10px !important;
  }
}


/* v5.8 — Question navigation + recent-inquiry alignment */
.question-sticky-tabs{
  position:sticky !important;
  top:64px !important;
  z-index:35 !important;
  margin:20px 0 22px !important;
  padding:10px 0 0 !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line) !important;
}

.question-sticky-tabs a{
  padding-bottom:10px !important;
}

#recent-inquiries,
#reservation-inquiry{
  scroll-margin-top:116px !important;
}

.question-board-heading{
  display:block !important;
  width:100% !important;
  padding:17px 0 14px !important;
  border-bottom:1px solid #e5e5df !important;
  text-align:left !important;
}

.question-board-heading strong{
  display:block !important;
  margin:0 0 5px !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  color:#222 !important;
  text-align:left !important;
}

.question-board-heading span{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:10px !important;
  line-height:1.55 !important;
  color:#9a9a96 !important;
  text-align:left !important;
}

.question-table-head,
.question-row{
  grid-template-columns:74px minmax(0,1fr) 84px !important;
}

.question-table-head > span:nth-child(1),
.question-row > .question-no{
  text-align:left !important;
  padding-left:14px !important;
}

.question-table-head > span:nth-child(2),
.question-row > .question-title-wrap{
  text-align:left !important;
}

.question-table-head > span:nth-child(3),
.question-row > time{
  text-align:right !important;
  padding-right:10px !important;
}

/* obsolete v5.7 floating CTA is intentionally disabled */
.reservation-float-cta{
  display:none !important;
}

@media(max-width:1100px){
  .question-sticky-tabs{
    margin-top:14px !important;
  }

  #recent-inquiries,
  #reservation-inquiry{
    scroll-margin-top:112px !important;
  }
}

@media(max-width:760px){
  .question-sticky-tabs{
    top:56px !important;
    margin:10px -6px 14px !important;
    padding:8px 6px 0 !important;
  }

  .question-sticky-tabs a{
    padding-bottom:9px !important;
    font-size:9px !important;
    letter-spacing:.12em !important;
  }

  #recent-inquiries,
  #reservation-inquiry{
    scroll-margin-top:98px !important;
  }

  .question-board-heading{
    padding:13px 0 11px !important;
  }

  .question-board-heading strong{
    font-size:12px !important;
  }

  .question-board-heading span{
    font-size:9px !important;
  }

  .question-table-head,
  .question-row{
    grid-template-columns:50px minmax(0,1fr) 66px !important;
  }

  .question-table-head > span:nth-child(1),
  .question-row > .question-no{
    padding-left:8px !important;
  }

  .question-table-head > span:nth-child(3),
  .question-row > time{
    padding-right:8px !important;
  }
}


/* v5.9 — simplified inquiry board + visible sticky inquiry action */
.question-board-heading{
  display:none !important;
}

/* Keep the sticky bar quiet, while making the action unmistakable. */
.question-sticky-tabs{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  min-height:54px !important;
  margin:16px 0 20px !important;
  padding:7px 0 !important;
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid #e5e5df !important;
}

.question-sticky-tabs a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:0 16px !important;
  border:1px solid transparent !important;
  color:#8b8b86 !important;
  font-size:10px !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.question-sticky-tabs a::after{
  display:none !important;
}

/* Recent-inquiry navigation stays understated but still shows current section. */
.question-sticky-tabs a:not(.question-cta-tab).active{
  color:#222 !important;
  border-color:#d8d8d2 !important;
  background:#fff !important;
}

/* Primary action: always reads as a button without introducing a new brand color. */
.question-sticky-tabs .question-cta-tab{
  min-width:132px !important;
  border-color:#111 !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:500 !important;
}

.question-sticky-tabs .question-cta-tab:hover,
.question-sticky-tabs .question-cta-tab:focus-visible{
  background:#2a2a2a !important;
  border-color:#2a2a2a !important;
}

.question-sticky-tabs .question-cta-tab.active{
  background:#111 !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20) !important;
}

/* After removing the duplicated heading, let the table begin naturally. */
.question-board-combined .question-table-head{
  margin-top:14px !important;
  border-top:1px solid #e5e5df !important;
}

@media(max-width:760px){
  .question-sticky-tabs{
    gap:6px !important;
    min-height:50px !important;
    margin:10px 0 14px !important;
    padding:6px 0 !important;
  }

  .question-sticky-tabs a{
    min-height:36px !important;
    padding:0 13px !important;
    font-size:9px !important;
  }

  .question-sticky-tabs .question-cta-tab{
    min-width:116px !important;
  }

  .question-board-combined .question-table-head{
    margin-top:10px !important;
  }
}


/* v5.10 — only the action CTA remains in the sticky inquiry bar */
.question-sticky-nav,
.question-quick-nav,
.inquiry-sticky-tabs{
  justify-content:flex-end !important;
}

.question-sticky-nav a,
.question-quick-nav a,
.inquiry-sticky-tabs a{
  flex:0 0 auto !important;
}

@media(max-width:760px){
  .question-sticky-nav,
  .question-quick-nav,
  .inquiry-sticky-tabs{
    justify-content:flex-end !important;
  }
}


/* v5.11 — compact VAT label beside price */
.price .vat-note{
  display:inline-block;
  margin-left:5px;
  font-size:8px;
  line-height:1;
  font-weight:400;
  letter-spacing:.03em;
  color:#a2a29c;
  vertical-align:middle;
}

@media(max-width:760px){
  .price .vat-note{
    margin-left:4px;
    font-size:7px;
  }
}


/* v5.13 — album/print benefit badge beside SNAP A/B/C */
.price-card h3 .product-badge{
  display:inline-block;
  margin-left:6px;
  font-size:8px;
  line-height:1;
  font-weight:400;
  letter-spacing:.03em;
  color:#a2a29c;
  vertical-align:middle;
}

@media(max-width:760px){
  .price-card h3 .product-badge{
    margin-left:5px;
    font-size:7px;
  }
}




/* v0.3.3 — mobile-safe gallery loading */
.gallery-empty{
  grid-column:1/-1;
  min-height:42vh;
  display:grid;
  place-items:center;
  color:#aaa;
  font-size:9px;
  letter-spacing:.08em;
}


/* v6.0 — clickable private inquiry rows + masked author display */
.question-row-item{
  border-bottom:1px solid #e7e7e2;
}
.question-row-item:last-child{
  border-bottom:none;
}
.question-row-item .question-row{
  width:100% !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  font:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
  appearance:none;
  -webkit-appearance:none;
}
.question-row-item .question-row:hover,
.question-row-item .question-row:focus-visible{
  background:#fafaf8 !important;
}
.question-row-item .question-row:focus-visible{
  outline:1px solid #c9c9c2;
  outline-offset:-1px;
}
.question-author{
  flex:0 0 auto;
  font-size:10px;
  color:#8f8f89;
  white-space:nowrap;
}
.question-row-password-panel{
  padding:13px 14px 15px;
  border-top:1px solid #f0f0eb;
  background:#fafaf8;
}
.question-row-password-panel > label{
  display:block;
  margin-bottom:7px;
  font-size:10px;
  color:#85857f;
}
.question-row-password-panel .lookup-detail{
  margin-top:10px;
}
@media(max-width:760px){
  .question-author{font-size:9px;}
  .question-row-password-panel{padding:11px 8px 13px;}
}


/* v6.1 — restore inquiry list table geometry after making rows clickable */
.question-list{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
}
.question-row-item{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
}
.question-row-item .question-row{
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) 84px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:50px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-bottom:1px solid #e7e7e2 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  color:inherit !important;
  font:inherit !important;
  line-height:inherit !important;
  text-align:left !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.question-row-item:last-child .question-row{
  border-bottom:none !important;
}
.question-row-item .question-row:hover,
.question-row-item .question-row:focus-visible,
.question-row-item .question-row[aria-expanded="true"]{
  background:#fafaf8 !important;
}
.question-row-item .question-row:focus-visible{
  outline:1px solid #c9c9c2 !important;
  outline-offset:-1px !important;
}
.question-row-item .question-title-wrap{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
  padding-right:10px !important;
  overflow:hidden !important;
}
.question-row-item .question-title{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  flex:0 1 auto !important;
}
.question-row-item .question-secret,
.question-row-item .question-author{
  flex:0 0 auto !important;
}
.question-row-item .question-author{
  font-size:10px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:#8f8f89 !important;
  white-space:nowrap !important;
}
.question-row-password-panel{
  width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .question-row-item .question-row{
    grid-template-columns:50px minmax(0,1fr) 66px !important;
    min-height:46px !important;
  }
  .question-row-item .question-author{
    font-size:9px !important;
  }
}

/* 개인정보 수집·이용 동의 */
.privacy-consent-box{margin:18px 0 20px;padding:16px 18px;border:1px solid #ddd;background:#fafafa}
.privacy-consent-copy strong{display:block;font-size:11px;letter-spacing:.02em;color:#222}
.privacy-consent-copy p{margin:7px 0 12px;font-size:10px;line-height:1.65;color:#777}
.privacy-consent-check{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#333;cursor:pointer}
.privacy-consent-check input{width:16px;height:16px;margin:0;flex:0 0 auto;accent-color:#111}
.privacy-consent-check b{font-weight:600;color:#111}

/* 예약 문의 예식장/홀 2단계 선택 */
.venue-select-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.venue-hall-field .manual-venue{margin-top:8px}
@media(max-width:760px){.venue-select-stack{grid-template-columns:1fr}}

/* v2026-09-26 — gallery typography/detail rhythm + movie loading */
.card-title{font-size:9.5px!important}
.detail-main{padding-top:4px!important}
.detail-head{display:flex!important;grid-template-columns:none!important;justify-content:flex-start!important;align-items:baseline!important;gap:8px!important;padding-bottom:4px!important}
.detail-head h1{font-size:13px!important;line-height:1.35!important;color:#aaa!important}
.detail-meta{font-size:8px!important;color:#bbb!important;text-align:left!important}
.detail-gallery{padding-top:6px!important;gap:36px!important}
.movie-load-state{margin:22px 0 0;text-align:center;font-size:10px;color:#aaa}
.movie-empty{grid-column:1/-1;padding:80px 0;text-align:center;font-size:10px;color:#aaa}
.movie-grid.movie-loading{min-height:34vh}
@media(max-width:760px){.card-title{font-size:8.5px!important}.detail-head{gap:6px!important}.detail-gallery{padding-top:5px!important;gap:36px!important}}

/* v2026-09-26 — movie title overlay + question list name/new badge */
.movie-card{position:relative!important}
.movie-main .movie-info{
  position:absolute!important;
  z-index:3!important;
  top:10px!important;
  left:10px!important;
  right:10px!important;
  padding:0!important;
  display:block!important;
  text-align:left!important;
  pointer-events:none!important;
  font-size:10px!important;
  line-height:1.3!important;
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.55)!important;
}
.movie-main .movie-info span{
  display:block!important;
  width:100%!important;
  text-align:left!important;
  font-size:10px!important;
  color:#fff!important;
  letter-spacing:.02em!important;
}
.movie-card.is-playing .movie-info{display:none!important}

.question-table-head,
.question-row-item .question-row{
  grid-template-columns:74px minmax(0,1fr) 84px!important;
}
.question-table-head span:last-child{
  text-align:right!important;
  padding-right:14px!important;
}
.question-row-item .question-author{
  justify-self:end!important;
  text-align:right!important;
  padding-right:14px!important;
  font-size:10px!important;
  color:#8f8f89!important;
}
.question-row-item .question-title-wrap{gap:8px!important}
.question-new{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:16px!important;
  height:16px!important;
  border-radius:5px!important;
  flex:0 0 16px!important;
  background:#b86b5e!important;
  color:#fff!important;
  font:700 9px/1 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:0!important;
}
.question-row time,.lookup-date{display:none!important}
.question-list-loading{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-bottom:1px solid #e7e7e2;
  color:#aaa;
  font-size:10px;
}
@media(max-width:760px){
  .movie-main .movie-info{top:8px!important;left:8px!important;right:8px!important;font-size:9px!important}
  .movie-main .movie-info span{font-size:9px!important}
  .question-table-head,.question-row-item .question-row{grid-template-columns:50px minmax(0,1fr) 66px!important}
  .question-table-head span:last-child{padding-right:8px!important}
  .question-row-item .question-author{padding-right:8px!important;font-size:9px!important}
  .question-new{width:14px!important;height:14px!important;flex-basis:14px!important;font-size:8px!important;border-radius:4px!important}
}

/* v2026-09-27 — gallery slider modes */
.detail-gallery{display:block!important;padding-top:8px!important}
.gallery-slider{position:relative;width:min(1600px,calc(100vw - 24px));margin-left:50%;transform:translateX(-50%);--gallery-transition:420ms}
.gallery-slider-stage{position:relative;width:100%;height:min(78svh,860px);min-height:520px;overflow:hidden;isolation:isolate;touch-action:pan-y;background:#fff;outline:none}
.gallery-slide-layer{position:absolute;width:min(72vw,1160px);height:calc(100% - 18px);display:flex;align-items:center;justify-content:center;will-change:transform,opacity,filter;transform-origin:center;user-select:none}
.gallery-slide-layer img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#f4f3f1;box-shadow:0 2px 18px rgba(0,0,0,.035);pointer-events:none}
.gallery-slide-layer.is-current{z-index:3}
.gallery-slide-layer.is-incoming{z-index:4}
.gallery-slide-layer.is-prev,.gallery-slide-layer.is-next{z-index:2;cursor:pointer}
.gallery-slider[data-mode="side"] .gallery-slide-layer{width:min(58vw,980px)}
.gallery-slider[data-mode="side"] .gallery-slide-layer.is-prev,.gallery-slider[data-mode="side"] .gallery-slide-layer.is-next{cursor:pointer}
.gallery-slider[data-mode="orbit"] .gallery-slider-stage{perspective:1800px}
.gallery-slider-arrow{position:absolute;z-index:9;top:50%;transform:translateY(-50%);width:48px;height:72px;border:0;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);font:300 34px/1 Georgia,serif;color:#555;cursor:pointer;opacity:.68;transition:opacity .18s,background .18s}
.gallery-slider-arrow:hover{opacity:1;background:rgba(255,255,255,.94)}
.gallery-slider-arrow.is-prev{left:8px}.gallery-slider-arrow.is-next{right:8px}
.gallery-slider-counter{position:absolute;z-index:10;right:16px;bottom:8px;font-size:9px;letter-spacing:.12em;color:#8f8f8f;background:rgba(255,255,255,.82);padding:5px 7px}
.gallery-slider-hint{position:absolute;z-index:10;left:16px;bottom:8px;font-size:8px;letter-spacing:.08em;color:#aaa;background:rgba(255,255,255,.82);padding:5px 7px}

.gallery-slider-message{padding:70px 12px;text-align:center;color:#777;font-size:13px;line-height:1.8}
.gallery-slider-message button{padding:10px 18px;border:1px solid #bbb;background:#fff;cursor:pointer}
.detail-nav{margin-top:18px!important}
@media(max-width:760px){
  .detail-main{padding-left:10px!important;padding-right:10px!important}
  .gallery-slider{width:100vw}
  .gallery-slider-stage{height:72svh;min-height:410px}
  .gallery-slide-layer{width:88vw;height:calc(100% - 24px)}
  .gallery-slider[data-mode="side"] .gallery-slide-layer{width:82vw}
  .gallery-slider-arrow{width:40px;height:62px;font-size:30px;background:rgba(255,255,255,.62)}
  .gallery-slider-arrow.is-prev{left:2px}.gallery-slider-arrow.is-next{right:2px}
  .gallery-slider-counter{right:10px;bottom:7px}
  .gallery-slider-hint{left:10px;bottom:7px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-slide-layer{transition:none!important}
}

/* v2026-09-27 — detail full-height photo layout */
.detail-main{position:relative!important;padding-top:0!important;padding-bottom:0!important;min-height:calc(100svh - var(--header))!important}
.detail-main + .site-footer{display:none!important}
.detail-nav{display:none!important;margin:0!important}
.detail-head{position:absolute!important;z-index:20!important;top:2px!important;left:0!important;right:0!important;min-height:28px!important;padding:3px 0!important;border-bottom:0!important;align-items:center!important;width:auto!important;pointer-events:none!important}
.detail-title-group{display:flex;align-items:baseline;gap:8px;min-width:0;padding-right:86px;pointer-events:auto}
.detail-title-group .detail-meta{white-space:nowrap}
.detail-back{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;margin:0!important;flex:0 0 auto;font-size:9px!important;letter-spacing:.08em!important;color:#8e8e8e!important;padding:4px 0!important;border-bottom:1px solid #d8d8d4!important;pointer-events:auto!important}
.detail-back:hover{color:#222!important;border-bottom-color:#222!important}
.detail-gallery{padding-top:0!important}
.gallery-slider{width:min(1680px,100vw)!important}
.gallery-slider-stage{height:calc(100svh - var(--header))!important;min-height:0!important}
.gallery-slide-layer{height:calc(100% - 4px)!important}
.gallery-slider[data-mode="side"] .gallery-slide-layer{width:min(64vw,1100px)!important}
@media(max-width:760px){
  .detail-main{padding-left:8px!important;padding-right:8px!important}
  .detail-head{top:2px!important;min-height:28px!important;padding:3px 2px!important;gap:6px!important}
  .detail-title-group{gap:6px}
  .detail-back{font-size:8.5px!important}
  .gallery-slider{width:100vw!important}
  .gallery-slider-stage{height:calc(100svh - var(--header))!important;min-height:0!important}
  .gallery-slide-layer{height:calc(100% - 4px)!important}
  .gallery-slider[data-mode="side"] .gallery-slide-layer{width:88vw!important}
}

/* v2026-09-27 — arrow-only safe hit zones + mouse drag */
.gallery-slide-layer{pointer-events:none!important}
.gallery-slide-layer.is-prev,.gallery-slide-layer.is-next{cursor:default!important}
.gallery-slider-stage{cursor:grab}
.gallery-slider.is-mouse-dragging .gallery-slider-stage{cursor:grabbing}
.gallery-slider-arrow{
  position:absolute!important;
  z-index:12!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  opacity:1!important;
  cursor:pointer!important;
  color:transparent!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:pan-y!important;
}

.gallery-slider-arrow span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:64px;
  font:300 36px/1 Georgia,"Times New Roman",serif;
  color:rgba(56,56,56,.72);
  opacity:.72;
  text-shadow:0 1px 5px rgba(255,255,255,.72);
  transition:opacity .16s,color .16s,transform .16s;
  pointer-events:none;
}
.gallery-slider-arrow:hover span{opacity:1;color:rgba(35,35,35,.94);transform:scale(1.04)}
.gallery-slider-arrow:focus-visible{outline:none!important}
.gallery-slider-arrow:focus-visible span{outline:1px solid rgba(70,70,70,.35);outline-offset:4px}
.gallery-slider-arrow.is-prev{justify-content:flex-end!important;padding-right:clamp(16px,2vw,28px)!important}
.gallery-slider-arrow.is-next{justify-content:flex-start!important;padding-left:clamp(16px,2vw,28px)!important}
@media(max-width:760px){
  .gallery-slider-arrow span{width:36px;height:56px;font-size:32px}
  .gallery-slider-arrow.is-prev{padding-right:12px!important}
  .gallery-slider-arrow.is-next{padding-left:12px!important}
}

.gallery-slider-arrow[hidden]{display:none!important}

/* v2026-09-27 — unified mouse input + adjustable arrows/content width */
.gallery-slider{width:min(1680px,var(--gallery-content-width,92vw))!important;cursor:grab}
.gallery-slider-stage{cursor:inherit!important}
.gallery-slider.is-mouse-dragging{cursor:grabbing!important}
.gallery-slider-arrow{
  pointer-events:none!important;
  cursor:default!important;
  justify-content:initial!important;
  align-items:initial!important;
  padding:0!important;
}
.gallery-slider-arrow.is-prev,.gallery-slider-arrow.is-next{padding:0!important}
.gallery-slider-arrow span{
  position:absolute!important;
  margin:0!important;
  color:rgba(56,56,56,.9);
  text-shadow:0 1px 5px rgba(255,255,255,.78);
  transition:color .16s!important;
}
.gallery-slider-arrow:hover span{color:rgba(56,56,56,.9)!important}
@media(max-width:760px){
  .gallery-slider{width:100vw!important}
}

/* v2026-09-27 — maximize landscape current photo without entering title row */
@media(min-width:761px){
  .gallery-slider[data-mode="side"] .gallery-slide-layer{
    width:min(71vw,1220px)!important;
  }
  .gallery-slider[data-mode="side"] .gallery-slide-layer.is-landscape-photo img{
    max-height:calc(100% - 36px)!important;
    transform:translateY(14px);
  }
}

/* v2026-09-27 — gallery card titles reuse Wedding Movie overlay (.movie-main .movie-info) */
.gallery .card{position:relative!important}
.gallery .card-info{
  position:absolute!important;
  z-index:3!important;
  top:10px!important;
  left:10px!important;
  right:10px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  text-align:left!important;
  pointer-events:none!important;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.3!important;
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 4px rgba(0,0,0,.55)!important;
}
.gallery .card-title{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.3!important;
  color:#fff!important;
  letter-spacing:.02em!important;
  opacity:1!important;
  text-shadow:0 1px 4px rgba(0,0,0,.55)!important;
}
@media(max-width:760px){
  .gallery .card-info{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    padding:0!important;
    font-size:9px!important;
    line-height:1.3!important;
  }
  .gallery .card-title{
    font-size:9px!important;
    line-height:1.3!important;
    letter-spacing:.02em!important;
  }
}

/* inquiry form: date confirm, two-column fields, custom selects, compact search */
@media(min-width:1101px){
  .inquiry-shell{grid-template-columns:minmax(0,1fr) 560px !important}
}
#question-form{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;align-items:start}
#question-form>.field{margin-bottom:13px;min-width:0}
#question-form>.field[hidden]{display:none !important}
#question-form>.field-span,#question-form>:not(.field){grid-column:1 / -1}
#question-form .field>input:not([type="hidden"]):not([type="checkbox"]){min-height:44px;box-sizing:border-box}
#question-form .picker-control{min-height:56px;gap:8px;padding:8px 10px}
#question-form .picker-icon{width:32px;height:32px;flex-basis:32px}
#question-form .picker-copy strong,#question-form .picker-copy small{font-size:12px;white-space:nowrap}
#question-form .picker-copy small{font-size:9px}
#question-form .date-picker-row .picker-icon{display:none}
.date-picker-row{grid-template-columns:minmax(0,1fr) 56px 56px !important}
.date-picker-row .unknown-inline,.date-picker-row .date-confirm-btn{width:56px !important;min-width:0 !important;min-height:56px;height:auto !important;padding:0 !important;border-radius:0 !important;font-size:11px !important}
#question-form .custom-popover{min-width:min(320px,calc(100vw - 32px))}
.date-confirm-btn{border:1px solid #111;background:#111;color:#fff;cursor:pointer}
.date-confirm-btn.is-muted{background:#fafaf8;border-color:#e4e4e0;color:#777}
.date-confirm-btn.is-confirmed{box-shadow:inset 0 0 0 1px #fff}
.site-select{position:relative}
.site-select>select{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none}
.select-shell:has(.site-select) .select-arrow{display:none}
.site-select-trigger{position:relative;width:100%;min-height:44px;padding:0 36px 0 12px;border:1px solid #ddd;background:#fff;color:#222;font-size:12px;text-align:left;cursor:pointer}
.site-select-trigger::after{content:"⌄";position:absolute;right:14px;top:50%;transform:translateY(-58%);color:#777;font-size:16px;line-height:1}
.site-select-trigger.is-disabled{color:#aaa;background:#fafaf8;cursor:default}
.site-select-trigger.is-locked{color:#333;background:#f6f6f3;cursor:default}
.site-select-trigger.is-locked::after{opacity:.28}
.site-select-menu{position:absolute;z-index:70;left:0;right:0;top:calc(100% - 1px);max-height:240px;overflow:auto;background:#fff;border:1px solid #ddd}
.site-select-option{display:block;width:100%;padding:11px 12px;border:0;border-top:1px solid #f2f2ee;background:#fff;color:#222;font-size:12px;text-align:left;cursor:pointer}
.site-select-option:first-child{border-top:0}
.site-select-option:hover,.site-select-option.is-selected{background:#f4f4f1}
.search-inline-label{grid-column:auto !important}
.question-search-inline{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto !important;align-items:center !important}
.question-search-btn{width:auto !important;min-width:64px !important;padding:0 14px !important;grid-column:auto !important}
@media(max-width:760px){
  #question-form{grid-template-columns:1fr}
  .date-picker-row{grid-template-columns:minmax(0,1fr) 56px 56px !important}
  .date-picker-row .unknown-inline,.date-picker-row .date-confirm-btn{width:56px !important;min-height:48px}
  .question-search-inline{grid-template-columns:minmax(0,1fr) auto !important}
  .search-inline-label{display:none !important}
  .question-search-btn{grid-column:auto !important;width:auto !important}
}

/* paired inquiry controls share one height */
#question-form{
  --inquiry-control-h:48px;
}
#question-form .field>input:not([type="hidden"]):not([type="checkbox"]),
#question-form .site-select-trigger{
  height:var(--inquiry-control-h) !important;
  min-height:var(--inquiry-control-h) !important;
  box-sizing:border-box;
}
#question-form .picker-row{
  height:var(--inquiry-control-h);
  align-items:stretch !important;
}
#question-form .picker-control,
#question-form .picker-row .unknown-inline,
#question-form .picker-row .date-confirm-btn{
  height:100% !important;
  min-height:0 !important;
  align-self:stretch;
  box-sizing:border-box;
}
.date-picker-row{grid-template-columns:minmax(0,1fr) !important}
#question-form .date-picker-row .picker-icon{display:grid !important}
#question-form .field>input:not([type="hidden"]):not([type="checkbox"]){
  padding:0 12px !important;
  line-height:46px !important;
}
#question-form .site-select-trigger{
  display:flex;
  align-items:center;
  padding-top:0 !important;
  padding-bottom:0 !important;
  line-height:1.2;
}
#question-form .picker-control{padding:0 12px !important;gap:10px !important}
#question-form .picker-icon{width:28px !important;height:28px !important;flex-basis:28px !important}
#question-form .picker-copy{gap:1px;justify-content:center}
#question-form .picker-copy small[hidden]{display:none !important}
.calendar-unknown{
  display:block;
  width:100%;
  height:44px;
  margin-top:12px;
  border:1px solid #e4e4e0;
  background:#fafaf8;
  color:#333;
  font-size:12px;
  cursor:pointer;
}
.calendar-unknown:hover{background:#f4f4f1;border-color:#d4d4cf}
.calendar-unknown.is-selected{background:#111;border-color:#111;color:#fff}
@media(max-width:760px){
  .date-picker-row{grid-template-columns:minmax(0,1fr) !important}
  .calendar-unknown{height:48px}
}

.gallery .card-info{display:none !important}

/* Product information groups retain their full section width and existing spacing. */
.product-section > .notice-grid.product-groups{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.product-section > .notice-grid.product-groups[data-group-columns="3"]{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.product-section > .notice-grid.product-groups[data-group-columns="4"]{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.product-section > .notice-grid.product-groups[data-group-columns="5"]{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.product-section > .notice-grid.product-groups > div{
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .product-section > .notice-grid.product-groups[data-group-columns]{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Explicit price-card layouts leave the existing automatic layout untouched. */
.product-section > .price-grid[data-plan-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-section > .price-grid[data-plan-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-section > .price-grid[data-plan-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-section > .price-grid[data-plan-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.product-section > .price-grid[data-plan-columns] > .price-card{
  min-width:0;
  overflow-wrap:anywhere;
}
.product-section > .price-grid[data-plan-columns] .product-badge,
.product-section > .price-grid[data-plan-columns] .vat-note{
  max-width:calc(100% - 6px);
  white-space:normal;
}
@media(max-width:760px){
  .product-section > .price-grid[data-plan-columns]{grid-template-columns:minmax(0,1fr)}
}

.movie-card{position:relative}
.movie-card{position:relative}
.movie-card.is-playing .movie-player{position:relative;z-index:1}
body.movie-open{
  overflow:hidden;
  overscroll-behavior:none;
}
.movie-card.is-movie-open{
  position:fixed !important;
  inset:0 !important;
  z-index:300 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  margin:0 !important;
  background:#000 !important;
}
.movie-card.is-movie-open .movie-info{display:none !important}
.movie-exit-btn{
  position:absolute;
  z-index:20;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(0,0,0,.62);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 2px 12px rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.movie-exit-btn svg{display:block;width:18px;height:18px}
.movie-exit-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.movie-stage{position:relative;overflow:hidden;background:#efefed}
.movie-stage .movie-poster{position:relative;z-index:2;transform:translateZ(0);background:#efefed}
.movie-stage .movie-player{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  z-index:0;
  pointer-events:none;
}
.movie-card.is-playing .movie-poster{display:none !important}
.movie-card.is-playing:not(.is-movie-open) .movie-stage .movie-player{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  z-index:1;
  pointer-events:auto;
}
.movie-frame-wrap{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  transform:translateZ(0);
  border-radius:1px;
  -webkit-mask-image:-webkit-radial-gradient(#fff,#000);
  pointer-events:none;
}
.movie-frame-wrap .movie-player{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  clip-path:none !important;
}
.movie-card.is-movie-open .movie-stage{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000 !important;
}
.movie-card.is-movie-open .movie-frame-wrap{
  position:relative !important;
  inset:auto !important;
  width:min(100vw, calc(100dvh * 16 / 9));
  height:auto;
  aspect-ratio:16/9;
  max-width:100vw;
  max-height:100dvh;
  -webkit-mask-image:none;
  transform:none;
  border-radius:0;
  pointer-events:auto;
}
.movie-card.is-movie-open .movie-player{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  aspect-ratio:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  clip-path:none !important;
  background:#000 !important;
}
.movie-card:fullscreen,
.movie-card:-webkit-full-screen{
  width:100vw !important;
  height:100vh !important;
  background:#000 !important;
}
@media(max-width:760px), (hover:none), (pointer:coarse){
  .movie-exit-btn{display:none !important}
}

.desktop-nav a{white-space:nowrap}
.gallery-page-nav .filter-inner{display:block !important}
.menu-panel-inner > a.active,
.menu-panel-inner > a.active:hover{color:#111 !important}
@media (max-width:1500px){
  .desktop-nav-left{display:none !important}
}
@media (min-width:1501px){
  .header-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important;
    align-items:center !important;
  }
  .desktop-nav-left{
    display:flex !important;
    justify-content:flex-start;
    min-width:0;
    padding-right:0;
  }
  .header-inner > .brand{
    position:static !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    justify-self:center;
  }
  .header-right{
    margin-left:0 !important;
    justify-self:end;
    min-width:0;
    padding-left:0;
  }
  .gallery-page-nav{display:none !important}
}
.gallery-page-nav .filter-rail,
.filter-rail.is-fit{grid-template-columns:minmax(0,1fr) !important}
.gallery-page-nav .filter-arrow,
.filter-rail.is-fit .filter-arrow{display:none !important}
.filter-rail.is-fit .filters{
  justify-content:space-evenly !important;
  gap:12px !important;
  padding-left:2px !important;
  padding-right:2px !important;
  overflow:hidden;
  mask-image:none !important;
  -webkit-mask-image:none !important;
}
.filter-arrow[aria-disabled="true"]{opacity:.18;pointer-events:none}
.detail-main{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:18px var(--pad) 80px !important;
  min-height:0 !important;
}
.detail-main + .site-footer{display:block !important}
.detail-head{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end !important;
  gap:16px !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:8px 0 14px !important;
  border-bottom:1px solid var(--line) !important;
  pointer-events:auto !important;
}
.detail-title-group{padding-right:0 !important;pointer-events:auto !important}
.detail-back{
  position:static !important;
  top:auto !important;
  right:auto !important;
  transform:none !important;
}
.detail-gallery{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:22px !important;
  width:min(1080px,100%) !important;
  margin:0 auto !important;
  padding-top:22px !important;
}
.detail-gallery figure,
.detail-gallery figure.is-landscape,
.detail-gallery figure.is-portrait{
  display:block !important;
  width:100% !important;
  margin:0 !important;
}
.detail-gallery img,
.detail-gallery figure.is-landscape img,
.detail-gallery figure.is-portrait img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  background:#f7f6f4;
}
.gallery-slider,
.gallery-slider-arrow,
.gallery-slider-counter,
.gallery-slider-hint{display:none !important}
.detail-empty{padding:48px 12px;text-align:center;color:#777;font-size:13px;line-height:1.8}
.detail-empty button{margin-top:8px;padding:10px 18px;border:1px solid #bbb;background:#fff;cursor:pointer}
@media(max-width:760px){
  .detail-main{padding:12px 12px 56px !important}
  .detail-gallery{gap:14px !important;padding-top:14px !important}
  .gallery-page-nav .filter-inner{
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .gallery-page-nav .filters{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:5px !important;
    justify-content:stretch !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .gallery-page-nav .filter{
    width:max-content;
    max-width:100%;
    justify-self:center;
    text-align:center;
    letter-spacing:.08em !important;
    white-space:nowrap;
  }
}


/* Fixed three-item navigation order and active tone */
.gallery-page-nav .filter{
  color:#747474 !important;
  -webkit-text-fill-color:#747474 !important;
}
.gallery-page-nav .filter.active,
.gallery-page-nav .filter[aria-current="page"]{
  color:#333 !important;
  -webkit-text-fill-color:#333 !important;
}

/* v0.3.38 — product-matched category borders and a light inner fill */
.page-main > .product-section{
  --product-category-title-color:#3d3d39;
  --product-category-box-color:#ddd; /* match the existing product-card border */
  box-sizing:border-box;
  margin:0 0 34px !important;
  padding:0 16px 38px !important;
  border:1px solid var(--product-category-box-color) !important;
  background:#fafafa;
}
/* Preserve the original white product cards inside the lightly tinted category. */
.page-main > .product-section .price-card{
  background:#fff;
}
.page-main > .product-section + .product-section{
  border-top:1px solid var(--product-category-box-color) !important;
}
.page-main > .product-section > h2{
  margin:0 -16px 24px !important;
  border-top:0 !important;
}
.page-main > .product-section:last-of-type{
  margin-bottom:0 !important;
}
@media(max-width:760px){
  .page-main > .product-section{
    margin-bottom:22px !important;
    padding:0 11px 26px !important;
  }
  .page-main > .product-section > h2{
    margin:0 -11px 18px !important;
  }
}


/* v0.3.39 — touch-device movie viewer only; desktop rules above are unchanged. */
.movie-card.is-mobile-cinema{
  inset:auto !important;
  left:var(--movie-mobile-x,0px) !important; top:var(--movie-mobile-y,0px) !important;
  width:var(--movie-mobile-w,100vw) !important; height:var(--movie-mobile-h,100dvh) !important;
  z-index:10000 !important; overflow:hidden !important; overscroll-behavior:none;
}
.movie-card.is-mobile-cinema .movie-stage{
  --movie-stage-w:var(--movie-mobile-w,100vw); --movie-stage-h:var(--movie-mobile-h,100dvh);
  position:absolute !important; left:50% !important; top:50% !important;
  width:var(--movie-stage-w) !important; height:var(--movie-stage-h) !important;
  transform:translate(-50%,-50%); overflow:hidden; box-sizing:border-box;
}
.movie-card.is-mobile-cinema.is-mobile-rotated .movie-stage{
  --movie-stage-w:var(--movie-mobile-h,100dvh); --movie-stage-h:var(--movie-mobile-w,100vw);
  transform:translate(-50%,-50%) rotate(90deg);
}
.movie-card.is-mobile-cinema .movie-frame-wrap{
  width:min(var(--movie-stage-w),calc(var(--movie-stage-h) * 16 / 9)) !important;
  max-width:var(--movie-stage-w) !important; max-height:var(--movie-stage-h) !important;
  height:auto !important; aspect-ratio:16/9 !important;
}
.movie-card.is-mobile-cinema .movie-mobile-toolbar{
  position:absolute; z-index:30; top:max(12px,env(safe-area-inset-top));
  left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right));
  display:flex; justify-content:space-between; align-items:center; pointer-events:none;
}
.movie-card.is-mobile-rotated .movie-mobile-toolbar{
  top:12px; left:max(14px,env(safe-area-inset-bottom)); right:max(14px,env(safe-area-inset-top));
}
.movie-mobile-toolbar button,.movie-mobile-notice button{
  pointer-events:auto; min-height:44px; min-width:44px; box-sizing:border-box;
  border:1px solid rgba(255,255,255,.32); border-radius:24px; margin:0; padding:0 16px;
  background:rgba(0,0,0,.64); color:#fff; font:500 12px/1.2 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;
  cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.movie-mobile-toolbar .movie-mobile-close{display:grid; place-items:center; width:44px; height:44px; padding:0}
.movie-mobile-close svg{display:block; width:20px; height:20px}
.movie-mobile-toolbar button:focus-visible,.movie-mobile-notice button:focus-visible{outline:2px solid #fff; outline-offset:3px}
.movie-mobile-notice{
  position:absolute; z-index:25; left:50%; top:50%; transform:translate(-50%,-50%);
  width:max-content; max-width:calc(100% - 44px); padding:12px 16px; box-sizing:border-box;
  border-radius:10px; color:#fff; background:rgba(0,0,0,.82); text-align:center;
  font:12px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;
}
.movie-mobile-notice span{display:block}
.movie-mobile-notice button{margin-top:10px}
.movie-mobile-notice[hidden],.movie-mobile-notice button[hidden]{display:none !important}
.movie-mobile-placeholder{min-width:0; visibility:hidden; pointer-events:none}


/* v0.3.42 — mobile controls: show for 5s, tap to reveal; desktop untouched. */
.movie-card.is-mobile-cinema .movie-mobile-toolbar{
  opacity:1; visibility:visible; transition:opacity .16s ease,visibility .16s ease;
}
.movie-card.is-mobile-cinema .movie-mobile-toolbar.is-auto-hidden{
  opacity:0; visibility:hidden; pointer-events:none !important;
}
.movie-card.is-mobile-cinema .movie-mobile-toolbar.is-auto-hidden button{pointer-events:none !important}
.movie-card.is-mobile-cinema .movie-mobile-wake{
  position:absolute; inset:0; z-index:20; display:block;
  width:100%; height:100%; margin:0; padding:0; border:0;
  border-radius:0; background:transparent; color:transparent;
  appearance:none; -webkit-appearance:none; touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.movie-card.is-mobile-cinema .movie-mobile-wake[hidden]{display:none !important}
.movie-card.is-kakao-cinema:not(.is-mobile-rotated) .movie-stage{
  left:0 !important; top:0 !important; transform:none;
}
.movie-card.is-kakao-cinema .movie-mobile-notice{
  top:auto; bottom:max(14px,env(safe-area-inset-bottom));
  left:50%; transform:translateX(-50%);
  pointer-events:none; background:rgba(25,25,25,.9);
  font-size:11px; line-height:1.5; padding:10px 14px;
}
.movie-card.is-kakao-cinema .movie-mobile-notice button{pointer-events:auto}
@media(prefers-reduced-motion:reduce){
  .movie-card.is-mobile-cinema .movie-mobile-toolbar{transition:none}
}

/* v0.3.43 — match Wedding Ceremony/PreWedding gallery frame; preserve movie gaps. */
.movie-gallery-page .movie-main{
  max-width:var(--content) !important;
}
.movie-gallery-page .movie-main .movie-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media(max-width:760px){
  .movie-gallery-page .movie-main .movie-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(min-width:1800px){
  .movie-gallery-page .movie-main{
    padding-left:28px !important;
    padding-right:28px !important;
  }
}

/* v0.3.44 — first-paint stability; existing frame widths, gaps and player controls are unchanged. */
html.public-site{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html.public-site{overflow-y:scroll}}
.movie-gallery-page .movie-main{padding-top:8px !important}
.movie-gallery-page .movie-main .movie-grid{margin-top:0 !important}
.gallery-page .gallery .card{animation:none !important}
#question-list:has(.question-list-loading){min-height:501px}
@media(max-width:760px){#question-list:has(.question-list-loading){min-height:231px}}

/* Keep the footer out of the first frame while a short gallery initializes. */
.gallery-page main{min-height:calc(100svh - var(--header))}
.gallery-page main:has(.gallery:empty) .more-wrap,
.gallery-page main:has(.gallery:empty) .seo-intro{visibility:hidden}

/* A full-screen video must not inherit the document scrollbar reservation. */
html.public-site:has(.movie-card.is-movie-open){scrollbar-gutter:auto}

/* v0.3.45 — configurable menus retain their existing frame and gaps. */
.header-inner .desktop-nav{min-width:0}
.header-inner .desktop-nav a[data-managed-nav]{min-width:0;overflow:hidden;text-overflow:ellipsis}
.header-inner .header-right{max-width:100%}
.header-social:empty{padding-left:0;border-left:0}
.gallery-page-nav[data-quick-empty="1"]{display:none !important}
@media(max-width:760px){
  .gallery-page-nav .filters[data-managed-quick]{grid-template-columns:repeat(var(--quick-menu-count,3),minmax(0,1fr)) !important}
}

/* Authenticated settings use the same icon frame as the adjacent SNS links. */
.menu-admin-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* Restore the desktop photo viewer. */
@media(min-width:761px){
  body.desktop-gallery-slider .detail-main{padding-top:0!important;padding-bottom:0!important;min-height:calc(100svh - var(--header))!important}
  body.desktop-gallery-slider .detail-head{position:absolute!important;top:2px!important;left:0!important;right:0!important;z-index:20!important;display:flex!important;align-items:center!important;min-height:28px!important;padding:3px 0!important;border-bottom:0!important;pointer-events:none!important}
  body.desktop-gallery-slider .detail-title-group{padding-right:86px!important}
  body.desktop-gallery-slider .detail-back{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;pointer-events:auto!important}
  body.desktop-gallery-slider .detail-gallery{display:block!important;width:100%!important;padding-top:0!important;margin:0!important}
  body.desktop-gallery-slider .gallery-slider{display:block!important;width:min(1680px,100vw)!important}
  body.desktop-gallery-slider .gallery-slider-arrow{display:flex!important}
  body.desktop-gallery-slider .gallery-slider-counter,body.desktop-gallery-slider .gallery-slider-hint{display:block!important}
  body.desktop-gallery-slider .gallery-slider [hidden]{display:none!important}
  body.desktop-gallery-slider .gallery-slide-layer img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
}
@media(min-width:761px){body.desktop-gallery-slider .detail-main + .site-footer{display:none!important}}

/* Keep the mobile subtitle centered beneath the brand name. */
@media(max-width:760px){
  .site-header .brand{align-items:center!important;text-align:center!important}
  .site-header .brand-sub{align-self:center!important;text-align:center!important}
}

/* Quiet loading state until the first gallery photo is ready. */
.gallery-loading{width:100%;min-height:clamp(220px,45svh,480px);display:grid;place-items:center}
.gallery-loading-spinner{display:block;width:28px;height:28px;box-sizing:border-box;border:2px solid #e8e7e4;border-top-color:#888;border-radius:50%;animation:gallery-loading-spin .8s linear infinite}
@keyframes gallery-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.gallery-loading-spinner{animation:none}}

/* One shared header frame on every public page; only wide and compact layouts. */
.site-header .header-inner{max-width:var(--content);width:100%}
@media(max-width:1500px){
  :root{--header:56px}
  .site-header{height:var(--header)!important}
  .site-header .header-inner{padding-left:14px!important;padding-right:14px!important}
  .site-header .brand{left:14px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;align-items:center!important;text-align:center!important}
  .site-header .brand-main{font-size:15.5px!important;letter-spacing:.16em!important}
  .site-header .brand-sub{font-size:5.8px!important;letter-spacing:.28em!important;align-self:center!important;text-align:center!important}
  .site-header .menu-btn{font-size:10px!important;letter-spacing:.16em!important}
}

/* Keep mobile inquiry fields at the native no-focus-zoom size; pinch zoom remains available. */
@media (max-width: 1100px), (pointer: coarse) {
  .question-page input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  .question-page textarea,
  .question-page select {
    font-size: 16px !important;
  }
}
