﻿
:root{
  --paper:#F5F6F6;
  --paper-2:#e8e2d8;
  --paper-3:#d9d0c4;
  --ink:#171613;
  --muted:#756f67;
  --hair:rgba(23,22,19,.16);
  --accent:#7a5d45;
  --accent-2:#a06d4e;
  --black:#11100e;
  --white:#fbfaf7;
  --pad:clamp(22px,2.6vw,48px);
  --content-max:1720px;
  --bar:68px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;
  font-weight:400;
  letter-spacing:-.025em;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--ink);color:var(--paper)}
.skip{
  position:fixed;left:12px;top:-60px;z-index:1000;
  background:var(--ink);color:#fff;padding:10px 14px;font-size:12px
}
.skip:focus{top:12px}

/* HEADER */
.topbar{
  position:fixed;left:0;right:0;top:0;height:var(--bar);z-index:500;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:32px;padding:0 var(--pad);
  background:rgba(242,239,232,.88);
  backdrop-filter:blur(18px) saturate(1.1);
  border-bottom:1px solid rgba(23,22,19,.08);
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand .mark{
  width:28px;height:28px;border:1px solid currentColor;
  display:grid;place-items:center;font-size:9px;letter-spacing:.08em;font-weight:700
}
.brand strong{font-size:12px;letter-spacing:.12em;font-weight:700}
.catalog-nav{
  justify-self:end;display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);
  font-size:10px;letter-spacing:.13em;font-weight:600
}
.catalog-nav a{position:relative;padding:4px 0;color:#4f4a44}
.catalog-nav a:after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;
  transition:width .3s var(--ease)
}
.catalog-nav a:hover:after{width:100%}
.top-actions{
  display:flex;align-items:center;gap:18px;justify-self:end;
  padding-left:20px;border-left:1px solid var(--hair)
}
#currentLabel{font-size:10px;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
#menuToggle{font-size:10px;letter-spacing:.14em;font-weight:700}
.top-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent}
.top-progress i{display:block;width:0;height:1px;background:var(--accent);transition:width .12s linear}

/* INDEX DRAWER */
.side-nav{
  position:fixed;z-index:700;right:0;top:0;bottom:0;
  width:min(620px,92vw);background:var(--paper);
  transform:translateX(102%);transition:transform .48s var(--ease);
  border-left:1px solid var(--hair);display:flex;flex-direction:column
}
.side-nav.open{transform:none}
.nav-scrim{
  position:fixed;inset:0;z-index:650;background:rgba(10,9,8,.35);
  opacity:0;pointer-events:none;transition:opacity .35s
}
.nav-scrim.on{opacity:1;pointer-events:auto}
.nav-head{
  min-height:90px;padding:24px 30px 20px;
  display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--hair)
}
.nav-head div{display:grid;gap:4px}
.nav-head small{font-size:9px;letter-spacing:.18em;color:var(--muted)}
.nav-head strong{font-size:18px;letter-spacing:.02em}
#navClose{font-size:9px;letter-spacing:.14em}
.nav-scroll{overflow:auto;padding:26px 30px 60px}
.nav-group{padding:18px 0 22px;border-bottom:1px solid var(--hair)}
.nav-group-title{display:grid;grid-template-columns:36px 1fr;gap:8px;margin-bottom:14px}
.nav-group-title span{font-size:10px;color:var(--accent);letter-spacing:.1em}
.nav-group-title b{font-size:12px;letter-spacing:.12em}
.nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;padding-left:44px}
.nav-links a{
  display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;
  min-height:28px;font-size:11px;color:#5f5a53
}
.nav-links a span{font-size:9px;color:#a19a90}
.nav-links a:hover{color:var(--ink)}
.nav-external{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:26px}
.nav-external a{
  min-height:84px;padding:14px;border:1px solid var(--hair);
  display:flex;flex-direction:column;justify-content:space-between
}
.nav-external span{font-size:8px;letter-spacing:.14em;color:var(--muted)}
.nav-external b{font-size:13px}

/* PAGE */
main{padding-top:var(--bar)}
.page{
  position:relative;
  min-height:calc(100svh - var(--bar));
  padding:clamp(68px,7vw,118px) var(--pad) clamp(58px,6vw,96px);
  overflow:hidden;border-bottom:1px solid rgba(23,22,19,.09)
}
.page-no{
  position:absolute;right:var(--pad);bottom:24px;z-index:8;
  font-size:10px;letter-spacing:.08em;color:rgba(23,22,19,.48)
}
.kicker{
  margin:0 0 16px;font-size:9px;line-height:1.2;letter-spacing:.2em;
  text-transform:uppercase;font-weight:700;color:var(--accent)
}
.reveal,.media-reveal{
  opacity:0;transform:translateY(24px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)
}
.reveal.visible,.media-reveal.visible{opacity:1;transform:none}

/* COVER */
.page.cover{padding:0;min-height:calc(100svh - var(--bar));background:#191714;color:#fff}
.cover-stage,.cover-stage .cs{position:absolute;inset:0}
.cover-stage .cs{opacity:0;transition:opacity 1.2s ease}
.cover-stage .cs.on{opacity:1}
.cover-stage img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.04)}
.cover-veil{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(15,13,11,.62) 0%,rgba(15,13,11,.22) 44%,rgba(15,13,11,.08) 70%),
    linear-gradient(0deg,rgba(15,13,11,.56) 0%,transparent 42%)
}
.cover-vert{
  position:absolute;left:22px;top:50%;transform:translateY(-50%) rotate(-90deg);
  transform-origin:center;color:rgba(255,255,255,.62);font-size:8px;letter-spacing:.24em;white-space:nowrap
}
.cover-top{
  position:absolute;left:var(--pad);right:var(--pad);top:28px;
  display:flex;justify-content:space-between;gap:20px;
  font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.76)
}
.cover-top b{font-weight:600}
.cover-copy{
  position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(54px,7vw,104px);
  max-width:980px
}
.cover-copy .kicker{color:rgba(255,255,255,.65);margin-bottom:20px}
.cover-copy h1{
  margin:0;max-width:920px;
  font-size:clamp(50px,6.9vw,110px);line-height:.93;letter-spacing:-.065em;font-weight:300
}
.cover-copy h1 .ln{display:block;overflow:hidden}
.cover-copy h1 i{font-style:normal;display:block}
.cover-copy h1 em{font-style:normal;font-weight:650}
.cover-rule{width:min(640px,58vw);height:1px;background:rgba(255,255,255,.45);margin:34px 0 22px}
.cover-meta{display:flex;flex-wrap:wrap;gap:34px 70px}
.cover-meta .cm{display:grid;gap:5px}
.cover-meta span{font-size:8px;letter-spacing:.17em;color:rgba(255,255,255,.5)}
.cover-meta b{font-size:12px;font-weight:500;letter-spacing:.02em}
.cover-dots{
  position:absolute;right:var(--pad);bottom:clamp(58px,7vw,105px);
  display:flex;gap:7px
}
.cover-dots i{width:22px;height:1px;background:rgba(255,255,255,.32);transition:.3s}
.cover-dots i.on{width:50px;background:#fff}
.cover-scroll{
  position:absolute;left:50%;bottom:26px;display:flex;gap:10px;align-items:center;
  font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.55)
}
.cover-scroll i{width:1px;height:28px;background:rgba(255,255,255,.45)}
.cover .page-no{color:rgba(255,255,255,.7)}

/* CONTENTS */
.dark-page{background:var(--black);color:var(--paper)}
.dark-page .page-no{color:rgba(255,255,255,.4)}
.toc{max-width:var(--content-max);margin:auto}
.toc h2{
  margin:0;font-size:clamp(64px,9vw,148px);line-height:.82;letter-spacing:-.07em;font-weight:300
}
.toc-intro{
  margin:42px 0 62px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;
  border-top:1px solid rgba(255,255,255,.18);padding-top:18px
}
.toc-intro p{margin:0;font-size:clamp(16px,1.8vw,25px);max-width:620px;line-height:1.45}
.toc-intro span{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.45)}
.toc-list{border-top:1px solid rgba(255,255,255,.2)}
.toc-list a{
  display:grid;grid-template-columns:54px 1.2fr 90px 1.5fr;gap:20px;align-items:center;
  min-height:68px;border-bottom:1px solid rgba(255,255,255,.16);transition:.25s
}
.toc-list a:hover{padding-left:0;background:transparent;border-bottom-color:rgba(255,255,255,.30)}
.toc-list a:hover b{color:#fff}
.toc-list a:hover em{transform:translateX(4px)}
.toc-list em{transition:transform .25s var(--ease),color .25s var(--ease)}
.toc-list span{font-size:9px;color:#a8927e}
.toc-list b{font-size:18px;letter-spacing:.04em}
.toc-list em{font-style:normal;font-size:10px;color:rgba(255,255,255,.6)}
.toc-list small{font-size:11px;color:rgba(255,255,255,.55)}

/* WHY */
.reason-grid{
  max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(360px,.88fr) repeat(2,minmax(0,1fr));
  border-top:1px solid var(--hair)
}
.reason-grid .section-head{
  grid-row:span 3;padding:38px clamp(44px,4vw,72px) 40px 0;border-right:1px solid var(--hair)
}
.reason-grid .section-head h2{
  margin:0;font-size:clamp(44px,4.5vw,74px);line-height:1.02;letter-spacing:-.055em;font-weight:300;word-break:keep-all;text-wrap:balance
}
.reason-grid article{padding:34px 34px 44px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.reason-grid article:nth-of-type(2n){border-right:0}
.reason-grid article b{display:block;font-size:9px;color:var(--accent);letter-spacing:.13em;margin-bottom:35px}
.reason-grid article h3{margin:0 0 15px;font-size:18px;line-height:1.35;font-weight:650}
.reason-grid article p{margin:0;color:var(--muted);font-size:13px;line-height:1.8}

/* CHAPTER OPENER */
.page.full-bleed{padding:0;background:#181511;color:#fff}
.category-hero{position:absolute;inset:0}
.category-hero img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(13,11,9,.62) 0%,rgba(13,11,9,.14) 58%,rgba(13,11,9,.05) 100%)
}
.category-copy{
  position:absolute;left:var(--pad);bottom:clamp(60px,8vw,120px);max-width:1040px
}
.category-copy .kicker{color:rgba(255,255,255,.7)}
.category-copy h2{
  margin:0;font-size:clamp(52px,7vw,108px);line-height:.95;letter-spacing:-.065em;font-weight:300
}
.category-copy span{
  display:inline-flex;margin-top:35px;padding-top:12px;border-top:1px solid rgba(255,255,255,.4);
  font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.64)
}
.full-bleed .page-no{color:rgba(255,255,255,.72)}

/* PRODUCT PAGES */
.product-page{background:var(--paper)}
.product-page:nth-of-type(4n+1){background:#F5F6F6}
.gallery-product-layout{
  max-width:var(--content-max);margin:auto;
  display:grid;grid-template-columns:minmax(330px,.62fr) minmax(0,1.72fr);
  gap:clamp(34px,4.2vw,76px);align-items:center
}
.layout-reverse .gallery-product-layout{grid-template-columns:minmax(330px,.62fr) minmax(0,1.72fr)}
.gallery-product-layout .product-copy,
.layout-reverse .product-copy{grid-column:1;grid-row:1}
.gallery-product-layout .product-gallery,
.layout-reverse .product-gallery{grid-column:2;grid-row:1}
.product-gallery{
  min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 82px;
  grid-template-rows:auto;gap:14px;align-items:center
}
.gallery-main{
  position:relative;overflow:hidden;background:#ddd5c9;
  height:clamp(560px,74vh,860px)
}
.gallery-main img{
  width:100%;height:100%;object-fit:contain;object-position:center;background:#F5F6F6;
  transition:opacity .3s ease,transform .7s var(--ease)
}
.gallery-main:hover img{transform:none}
.gallery-count{
  position:absolute;right:16px;top:16px;z-index:3;
  padding:8px 10px;background:rgba(247,245,240,.92);
  font-size:9px;letter-spacing:.14em
}
.gallery-arrow{display:none}
.gallery-prev{left:14px}.gallery-next{right:14px}
.gallery-thumbs{
  grid-column:2;margin:0;display:flex;flex-direction:column;gap:10px;
  max-height:430px;overflow-y:auto;overflow-x:hidden;padding:0 2px;
  align-self:center;scrollbar-width:none;scroll-snap-type:y proximity
}
.gallery-thumbs::-webkit-scrollbar{display:none}
.gallery-thumb{
  flex:0 0 78px;width:78px;height:78px;overflow:hidden;scroll-snap-align:start;
  border:1px solid transparent;opacity:.5;transition:opacity .2s,border-color .2s;background:#ddd
}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb.is-active{opacity:1;border-color:var(--ink)}
.gallery-thumb:hover{opacity:.82}
.product-copy{align-self:center;max-width:520px;padding-right:10px}
.product-copy .kicker{margin-bottom:18px}
.product-copy h2{
  margin:0;font-size:clamp(36px,3.8vw,62px);line-height:1.02;letter-spacing:-.06em;font-weight:350
}
.product-copy .description,.product-copy>p:not(.kicker){
  margin:26px 0 0;color:#5e5851;font-size:14px;line-height:1.9;max-width:500px
}
.specs{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid var(--hair)}
.specs li{
  min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  border-bottom:1px solid var(--hair);font-size:11px
}
.specs span{color:var(--muted)}
.specs b{font-size:12px;font-weight:600;letter-spacing:.03em}
.product-facts{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--hair)}
.product-facts li{min-height:42px;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;border-bottom:1px solid var(--hair);font-size:11px}
.product-facts span{font-size:8px;letter-spacing:.12em;color:var(--accent)}
.product-facts b{font-size:11px;font-weight:520;line-height:1.5}
.combined-facts{margin-top:26px}
.ddg-box,.sfx,.cf-panel{display:none!important}
.pcta,.cta-bar{display:none!important}

/* COMBINED */
.warm-page{background:#f5f6f6}
.combined-product{
  max-width:var(--content-max);margin:auto;
  display:grid;grid-template-columns:minmax(330px,.62fr) minmax(0,1.72fr);
  gap:clamp(34px,5vw,84px);align-items:center
}
.combined-copy h2{
  margin:0;font-size:clamp(40px,4.6vw,70px);line-height:1.02;letter-spacing:-.06em;font-weight:350
}
.combined-copy>p:not(.kicker){margin:24px 0;color:var(--muted);font-size:14px;line-height:1.85}
.variant-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:30px}
.variant-tab{
  border:1px solid rgba(23,22,19,.28);padding:10px 13px;
  font-size:10px;letter-spacing:.02em;background:transparent
}
.variant-tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.variant-panel{display:none}
.variant-panel.is-active{display:block}
.variant-stage .gallery-main{height:clamp(480px,64vh,760px)}

/* PATTERN */
.pattern-page{
  max-width:var(--content-max);margin:auto;display:grid;grid-template-columns:minmax(340px,.58fr) minmax(0,1.75fr);
  gap:clamp(42px,4vw,72px);align-items:center
}
.pattern-copy h2{
  margin:0;font-size:clamp(40px,3.8vw,64px);line-height:1.06;letter-spacing:-.055em;font-weight:350;word-break:keep-all;text-wrap:balance;max-width:520px
}
.pattern-copy p:not(.kicker){margin:28px 0 0;color:var(--muted);font-size:13px;line-height:1.85;max-width:430px;word-break:keep-all;text-wrap:pretty}
.pattern-img{background:transparent;padding:0;border:0;overflow:hidden}
.pattern-img img{width:100%;max-height:76vh;object-fit:contain;margin:auto}

/* CLOSE */
.closing-page{background:var(--accent);color:#f7f2eb}
.closing-page .page-no{color:rgba(255,255,255,.55)}
.closing-grid{
  max-width:var(--content-max);min-height:calc(100svh - var(--bar) - 160px);margin:auto;
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;gap:30px 70px
}
.closing-kicker{grid-column:1/-1;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.66)}
.closing-grid h2{
  margin:0;align-self:center;font-size:clamp(58px,7vw,116px);line-height:.92;
  letter-spacing:-.07em;font-weight:300
}
.closing-grid>p{
  align-self:center;max-width:430px;margin:0;font-size:15px;line-height:1.8;color:rgba(255,255,255,.75)
}
.closing-links{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.28)
}
.closing-links a{min-height:90px;padding:18px 28px;border-right:1px solid rgba(255,255,255,.2);display:grid;align-content:space-between}
.closing-links a:last-child{border-right:0}
.closing-links span{font-size:8px;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.closing-links b{font-size:14px;font-weight:500}

/* QUICK NAV */
.quick-nav{
  position:fixed;right:18px;bottom:18px;z-index:450;
  display:grid;grid-template-columns:38px auto 38px;align-items:center;
  background:rgba(242,239,232,.92);backdrop-filter:blur(12px);
  border:1px solid rgba(23,22,19,.16)
}
.quick-nav button{height:36px;padding:0 12px;font-size:9px;letter-spacing:.08em;border-right:1px solid var(--hair)}
.quick-nav button:last-child{border-right:0}
#prevPage,#nextPage{padding:0}

/* LIGHTBOX */
.catalog-lightbox{
  position:fixed;inset:0;z-index:900;background:rgba(14,13,11,.94);
  display:none;align-items:center;justify-content:center;padding:50px
}
.catalog-lightbox.on{display:flex}
.catalog-lightbox img{max-width:min(1200px,90vw);max-height:88vh;object-fit:contain}
.catalog-lightbox .lb-close{
  position:absolute;right:24px;top:22px;color:#fff;font-size:10px;letter-spacing:.14em
}

/* SMALL SCREEN */
@media(max-width:1080px){
  :root{--bar:60px}
  .catalog-nav{display:none}
  .topbar{grid-template-columns:auto 1fr auto}
  .gallery-product-layout,.layout-reverse .gallery-product-layout,
  .combined-product,.pattern-page{grid-template-columns:1fr;gap:34px}
  .layout-reverse .product-gallery,.layout-reverse .product-copy{grid-column:auto;grid-row:auto}
  .product-copy{max-width:760px}
  .gallery-main{height:min(70vh,720px)}
  .reason-grid{grid-template-columns:1fr 1fr}
  .reason-grid .section-head{grid-row:auto;grid-column:1/-1;border-right:0;border-bottom:1px solid var(--hair)}
  .closing-grid{grid-template-columns:1fr}
  .closing-grid h2,.closing-grid>p{align-self:auto}
}
@media(max-width:720px){
  :root{--pad:20px}
  .topbar{padding:0 18px;gap:12px}
  .brand strong{font-size:11px}
  #currentLabel{display:none}
  .top-actions{padding-left:12px}
  .page{padding:54px var(--pad) 70px}
  .cover-top{top:18px}
  .cover-copy{bottom:64px}
  .cover-copy h1{font-size:clamp(46px,13vw,72px)}
  .cover-meta{display:none}
  .cover-vert,.cover-dots{display:none}
  .toc h2{font-size:68px}
  .toc-intro{display:block;margin:28px 0 36px}
  .toc-intro span{display:block;margin-top:14px}
  .toc-list a{grid-template-columns:36px 1fr 56px;gap:12px;min-height:58px}
  .toc-list small{display:none}
  .reason-grid{grid-template-columns:1fr}
  .reason-grid .section-head{grid-column:auto}
  .reason-grid article{border-right:0}
  .category-copy h2{font-size:clamp(48px,13vw,74px)}
  .gallery-main{height:min(62vh,620px)}
  .gallery-arrow{width:38px;height:38px}
  .gallery-thumb{flex-basis:56px;width:56px;height:56px}
  .product-copy h2,.combined-copy h2,.pattern-copy h2{font-size:40px}
  .closing-links{grid-template-columns:1fr 1fr}
  .closing-links a:nth-child(2){border-right:0}
  .quick-nav{left:18px;right:18px;bottom:12px;grid-template-columns:38px 1fr 38px}
  #indexButton{width:100%}
  .nav-links{grid-template-columns:1fr;padding-left:0}
  .nav-group-title{grid-template-columns:28px 1fr}
  .nav-external{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* V2 WIDE CATALOGUE RESPONSIVE */
@media(max-width:1000px){
  .gallery-product-layout,.layout-reverse .gallery-product-layout{grid-template-columns:1fr;gap:34px}
  .gallery-product-layout .product-copy,.layout-reverse .product-copy,.gallery-product-layout .product-gallery,.layout-reverse .product-gallery{grid-column:auto;grid-row:auto}
  .product-copy{max-width:760px;padding-right:0}
  .product-gallery{grid-template-columns:1fr;gap:10px}
  .gallery-main{grid-column:1;height:min(70vh,760px)}
  .gallery-thumbs{grid-column:1;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;align-self:auto;scroll-snap-type:x proximity}
  .gallery-thumb{flex-basis:68px;width:68px;height:68px}
}

/* SEOHEUNG COLOR THEME START */

/*
  서흥중문 컬러 기준
  본문 : 쿨 뉴트럴 그레이
  헤더 : 순백색
  텍스트 : 차콜
  라인 : 라이트 그레이
*/

:root {
  --seoheung-bg: #F5F6F6;
  --seoheung-header: #FFFFFF;
  --seoheung-text: #1A1A1A;
  --seoheung-text-sub: #6F7174;
  --seoheung-line: #E7E8E8;
}

/* 전체 페이지 기본 배경 */
html,
body {
  background-color: var(--seoheung-bg);
  color: var(--seoheung-text);
}

/* 상단 헤더 / 메뉴는 흰색 */
body > header,
.site-header,
.main-header,
.global-header,
.header-wrap,
.header-wrapper,
.top-header,
#header {
  background-color: var(--seoheung-header) !important;
  border-bottom-color: var(--seoheung-line) !important;
}

/* 헤더 내부도 베이지가 비치지 않도록 처리 */
.site-header .header-inner,
.main-header .header-inner,
.global-header .header-inner,
.header-wrap .header-inner,
#header .header-inner {
  background-color: var(--seoheung-header) !important;
}

/* 상단 메뉴 글자 */
.site-header a,
.main-header a,
.global-header a,
.header-wrap a,
#header a {
  color: var(--seoheung-text);
}

/* 과한 그림자 제거 */
body > header,
.site-header,
.main-header,
.global-header,
.header-wrap,
.header-wrapper,
.top-header,
#header {
  box-shadow: none !important;
}

/* SEOHEUNG COLOR THEME END */

/* SEOHEUNG SAFE IMAGE STAGE START */

/*
  실제 HTML 구조 기준

  .gallery-product-layout
    .product-gallery
      .gallery-main
        img[data-gallery-main]
        .gallery-count
      .gallery-thumbs

  위 구조 외 다른 요소는 건드리지 않는다.
*/

/* 현재 컬러 시스템 */
:root {
  --seo-page-bg: #F5F6F6;
  --seo-gallery-stage: #ECEDED;
}

/* 페이지 배경 */
html,
body {
  background-color: var(--seo-page-bg);
}

/* ==========================================================
   DESKTOP
   ========================================================== */

@media (min-width: 1024px) {

  /*
    제품 갤러리 내부만 조정
    대표 이미지 + 오른쪽 썸네일
  */
  .gallery-product-layout .product-gallery {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 78px !important;
    column-gap: 18px !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /*
    넓은 이미지 스테이지
    세로 이미지 양옆을 회색 배경으로 채움
  */
  .gallery-product-layout .gallery-main {
    grid-column: 1 !important;

    position: relative !important;

    width: 100% !important;
    height: clamp(560px, 66vh, 720px) !important;

    margin: 0 !important;
    padding: 0 !important;

    background: var(--seo-gallery-stage) !important;

    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /*
    실제 제품 사진
    비율 절대 훼손하지 않음
  */
  .gallery-product-layout .gallery-main > img[data-gallery-main] {
    display: block !important;

    width: auto !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;

    margin: 0 auto !important;
    padding: 0 !important;

    background: transparent !important;

    flex: 0 1 auto !important;
  }

  /*
    이미지 카운터
    기존처럼 스테이지 우측 상단
  */
  .gallery-product-layout .gallery-count {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 5 !important;
  }

  /*
    우측 세로 썸네일
  */
  .gallery-product-layout .gallery-thumbs {
    grid-column: 2 !important;

    display: flex !important;
    flex-direction: column !important;

    width: 78px !important;
    max-width: 78px !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: start !important;

    max-height: clamp(560px, 66vh, 720px) !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    scrollbar-width: none;
  }

  .gallery-product-layout .gallery-thumbs::-webkit-scrollbar {
    display: none;
  }

  .gallery-product-layout .gallery-thumb {
    flex: 0 0 78px !important;

    width: 78px !important;
    height: 78px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  .gallery-product-layout .gallery-thumb img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
  }
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (min-width: 768px) and (max-width: 1023px) {

  .gallery-product-layout .product-gallery {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 68px !important;
    gap: 14px !important;
  }

  .gallery-product-layout .gallery-main {
    position: relative !important;

    height: min(65vh, 620px) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: var(--seo-gallery-stage) !important;

    overflow: hidden !important;
  }

  .gallery-product-layout .gallery-main > img[data-gallery-main] {
    width: auto !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
  }

  .gallery-product-layout .gallery-thumbs {
    display: flex !important;
    flex-direction: column !important;

    gap: 8px !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .gallery-product-layout .gallery-thumb {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 68px !important;
  }
}

/* ==========================================================
   MOBILE
   기존 모바일 구조 유지
   ========================================================== */

@media (max-width: 767px) {

  .gallery-product-layout .product-gallery {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .gallery-product-layout .gallery-main {
    grid-column: 1 !important;

    position: relative !important;

    width: 100% !important;
    height: min(70vh, 760px) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: var(--seo-gallery-stage) !important;

    overflow: hidden !important;
  }

  .gallery-product-layout .gallery-main > img[data-gallery-main] {
    width: auto !important;
    height: 100% !important;

    max-width: 100% !important;
    max-height: 100% !important;

    object-fit: contain !important;
  }

  .gallery-product-layout .gallery-thumbs {
    grid-column: 1 !important;

    display: flex !important;
    flex-direction: row !important;

    gap: 8px !important;

    max-height: none !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .gallery-product-layout .gallery-thumb {
    flex: 0 0 68px !important;

    width: 68px !important;
    height: 68px !important;
  }
}

/* SEOHEUNG SAFE IMAGE STAGE END */

/* SEOHEUNG SAFE TITLE LINE START */

/*
  직접 지정한 제품 제목의 의미 단위 줄바꿈만 담당.
  갤러리/그리드/이미지 크기는 건드리지 않는다.
*/

.product-copy h2 .seo-title-line,
.combined-copy h2 .seo-title-line,
.pattern-copy h2 .seo-title-line {
  display: block;
  white-space: nowrap;
}

.product-copy h2,
.combined-copy h2,
.pattern-copy h2 {
  word-break: keep-all;
  overflow-wrap: normal;
}

/* 좁은 모바일에서는 화면 밖으로 나가는 것만 방지 */
@media (max-width: 767px) {
  .product-copy h2 .seo-title-line,
  .combined-copy h2 .seo-title-line,
  .pattern-copy h2 .seo-title-line {
    white-space: normal;
    word-break: keep-all;
  }
}

/* SEOHEUNG SAFE TITLE LINE END */

