@charset "utf-8";
/* ═══════════════════════════════════════════════
   43 HOMEWOOD 홈우드 — 건축자재 쇼룸·매거진형 셀렉트샵
   컨셉: 에디토리얼 매거진 / 풀폭 시공사례 스크롤 / 큰 여백 / serif 헤드라인
        (17~24 그리드 쇼핑몰과 완전히 다른 구도 — 콘텐츠·스토리 중심 커머스)
   톤: 웜 페이퍼 + 잉크 + 테라코타 클레이 + 세이지
   ═══════════════════════════════════════════════ */
:root{
  --paper:#f4f0e8;
  --paper-2:#ece6da;
  --ink:#211f1b;
  --ink-2:#6f6a60;
  --line:#ddd5c7;
  --clay:#a85c3c;
  --clay-deep:#8a4a2f;
  --sage:#6c7360;
  --white:#fbf9f5;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper) !important;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}

/* ═══════════════════════════════════════════════
   GNUBOARD /css/default.css 충돌 해제
   ───────────────────────────────────────────────
   default.css L181: #container { position:relative; float:left;
     min-height:500px; height:auto !important; margin:20px 0;
     font-size:1em; width:930px; zoom:1 }
   → <main id="container"> 가 930px 고정폭 + float:left 로 변형되어
     푸터가 옆/아래로 흐름이 뒤틀리는 문제 차단.
   default.css 의 #hd, #ft, #hd_wrapper 등은 ID가 시멘틱 충돌하지
   않으므로 (우리는 id="siteHd" 사용) 신경 안 써도 됨.
   ═══════════════════════════════════════════════ */
main#container,
main#container.mt-shop,
main#container.mt-page{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  min-height:0 !important;
  position:static !important;
  height:auto !important;
  font-size:inherit !important;
  zoom:normal;
}
main#container::after{content:none !important;display:none !important}
main#container.mt-shop{background:var(--paper);min-height:60vh !important}

/* default.css 의 input focus !important 파란색 box-shadow 무력화 */
.mt-shop input[type=text]:focus,
.mt-shop input[type=password]:focus,
.mt-shop input[type=email]:focus,
.mt-shop input[type=number]:focus,
.mt-shop textarea:focus,
.mt-shop select:focus{
  border:1px solid var(--clay) !important;
  box-shadow:none !important;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font-family:inherit}
.serif{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.wrap-n{max-width:900px;margin:0 auto;padding:0 32px}

html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
html.js .reveal.on{opacity:1;transform:none}

/* ── 헤더: 미니멀 에디토리얼 ── */
.hd{position:absolute;top:0;left:0;right:0;z-index:50;padding:26px 0}
.hd.solid{position:sticky;background:var(--paper);border-bottom:1px solid var(--line)}
.hd-in{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:700;letter-spacing:.16em;line-height:1}
.logo small{display:block;font-family:'Pretendard Variable',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.42em;margin-top:5px;opacity:.65}
/* 이미지 로고: 폭·높이는 인라인 style 로 관리자에서 지정, 여기서는 정렬만 */
.logo.has-img{display:inline-flex;align-items:center;line-height:0;}
.logo.has-img img{max-width:100%;height:auto;}

/* ── Dual 로고 (2026-08-04): 홈 페이지에서 스크롤 상태에 따라 home ↔ sub 자동 fade 전환
   .hd 헤더에 붙는 클래스 (.on-hero / .solid) 를 common.js 가 스크롤로 토글함 */
.logo.has-img-dual{position:relative;display:inline-block;line-height:0}
.logo.has-img-dual img{transition:opacity .28s ease;max-width:100%;height:auto;display:block}
.logo.has-img-dual .logo-sub{position:absolute;top:0;left:0;opacity:0;pointer-events:none}
.hd.on-hero .logo.has-img-dual .logo-home{opacity:1}
.hd.on-hero .logo.has-img-dual .logo-sub {opacity:0;pointer-events:none}
.hd.solid   .logo.has-img-dual .logo-home{opacity:0;pointer-events:none}
.hd.solid   .logo.has-img-dual .logo-sub {opacity:1;pointer-events:auto}
.gnb{display:flex;gap:32px;align-items:center}
.gnb-item{position:relative;padding:8px 0}
.gnb a{font-size:13.5px;font-weight:600;letter-spacing:.02em;position:relative;padding:4px 0}
.gnb a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .3s}
.gnb a:hover::after,.gnb a.active::after{right:0}
.gnb-sub{position:absolute;top:100%;left:50%;min-width:150px;padding:10px 16px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 34px rgba(33,31,27,.12);transform:translate(-50%,8px);opacity:0;visibility:hidden;transition:.2s;z-index:80}
.gnb-item:hover .gnb-sub,.gnb-item:focus-within .gnb-sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.gnb-sub a{display:block;color:var(--ink);white-space:nowrap;padding:8px 2px;font-size:12.5px}
.gnb-sub a:hover{color:var(--clay)}
.hd-r{display:flex;gap:20px;align-items:center}
.hd-r .ic{font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.hd-r .ic .n{background:var(--clay);color:#fff;font-size:10px;font-weight:800;border-radius:50%;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center}
.m-burger{display:none;font-size:21px}
/* 라이트 헤더(히어로 위 흰 글씨) */
.hd.on-hero .logo,.hd.on-hero .gnb a,.hd.on-hero .hd-r .ic,.hd.on-hero .m-burger{color:var(--white)}
/* ★ 서브메뉴는 흰 배경이므로 히어로 헤더에서도 어두운 글씨 강제
   (specificity 를 한 단계 올려 위 흰색 규칙보다 이기게 함) */
.hd.on-hero .gnb .gnb-sub a{color:var(--ink)}
.hd.on-hero .gnb .gnb-sub a:hover{color:var(--clay)}

#mNav{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);background:var(--paper);z-index:300;padding:70px 34px 34px;transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.2,1);box-shadow:-20px 0 60px rgba(33,31,27,.16)}
#mNav.open{transform:none}
#mNav a{display:block;padding:15px 2px;font-size:18px;font-weight:600;border-bottom:1px solid var(--line)}
#mNav .serif{font-size:21px;letter-spacing:.04em}
#mNav a.active{color:var(--clay)}
#mNav .m-nav-sub{padding:2px 0 8px 16px;border-bottom:1px solid var(--line)}
#mNav .m-nav-sub a{padding:9px 2px;border:0;font-size:14px;color:var(--ink-2)}
#mNav .m-nav-group>.serif{border-bottom:1px solid var(--line)}
#mNav .m-close{position:absolute;top:20px;right:22px;font-size:26px;color:var(--ink-2)}

/* ── 풀스크린 히어로 ── */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .hero-swiper{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-swiper .swiper-slide{position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero .hero-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none}
.hero .hero-swiper .swiper-pagination{bottom:36px !important;left:0;right:0;width:auto;text-align:center;z-index:6}
.hero .hero-swiper .swiper-pagination-bullet{background:#fff;opacity:.45;width:8px;height:8px;margin:0 6px !important;transition:.3s}
.hero .hero-swiper .swiper-pagination-bullet-active{opacity:1;width:26px;border-radius:5px}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.35) 0%,rgba(20,18,15,.05) 40%,rgba(20,18,15,.62) 100%)}
.hero .inner{position:relative;color:var(--white);padding:0 0 80px;width:100%}
.hero .ey{font-size:12.5px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;opacity:.9}
.hero h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(44px,7vw,104px);font-weight:600;line-height:1.02;letter-spacing:-.01em;margin:18px 0 0}
.hero .sub{max-width:540px;margin-top:22px;font-size:16px;line-height:1.8;opacity:.92}
.hero .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13.5px;font-weight:700;letter-spacing:.02em;padding:15px 30px;border-radius:0;transition:.25s}
.btn-fill{background:var(--white);color:var(--ink)}
.btn-fill:hover{background:var(--clay);color:#fff}
.btn-line{border:1.5px solid rgba(255,255,255,.7);color:#fff}
.btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-clay{background:var(--clay);color:#fff}
.btn-clay:hover{background:var(--clay-deep)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:#000}
.btn-dline{border:1.5px solid var(--ink);color:var(--ink)}
.btn-dline:hover{background:var(--ink);color:var(--white)}
.hero .scroll-h{position:absolute;right:32px;bottom:36px;color:var(--white);font-size:11px;font-weight:700;letter-spacing:.3em;writing-mode:vertical-rl;opacity:.85}

/* ── 섹션 공통 ── */
.sec{padding:104px 0}
.sec-sm{padding:72px 0}
.sec-lab{font-size:12px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--clay)}
.sec-h{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,4.4vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.01em;margin-top:14px}
.sec-h.c{text-align:center}
.sec-intro{max-width:600px;margin:18px auto 0;text-align:center;color:var(--ink-2);font-size:15.5px;line-height:1.9}

/* ── 인트로 매니페스토 ── */
.manifesto{text-align:center}
.manifesto .big{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(26px,3.4vw,42px);font-weight:500;line-height:1.4;letter-spacing:-.005em;max-width:880px;margin:0 auto}
.manifesto .big em{font-style:normal;color:var(--clay)}
.manifesto .sign{margin-top:30px;font-size:13px;letter-spacing:.22em;color:var(--ink-2);text-transform:uppercase}

/* ── 자재 카테고리 (4 대형 카드) ── */
.materials{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mat{position:relative;aspect-ratio:3/4;overflow:hidden;display:block}
.mat img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.mat:hover img{transform:scale(1.06)}
.mat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,18,15,.66))}
.mat .cap{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:var(--white)}
.mat .cap .no{font-size:11px;font-weight:700;letter-spacing:.2em;opacity:.85}
.mat .cap h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:27px;font-weight:600;margin-top:5px;line-height:1.1}
.mat .cap p{font-size:12.5px;opacity:.9;margin-top:4px}

/* ── 시공사례: 풀폭 교차 레이아웃 ── */
.project{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.project + .project{margin-top:6px}
.project .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.project .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.project:hover .ph img{transform:scale(1.05)}
.project .tx{padding:56px 64px}
.project.flip .ph{order:2}
.project .pj-lab{font-size:11.5px;font-weight:700;letter-spacing:.28em;color:var(--clay);text-transform:uppercase}
.project h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.12;margin:14px 0 0}
.project .loc{font-size:13px;color:var(--ink-2);margin-top:8px;letter-spacing:.04em}
.project p{margin-top:18px;color:var(--ink-2);font-size:15px;line-height:1.9;max-width:440px}
.project .tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.project .tags span{font-size:11.5px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--ink-2)}
.project .lk{margin-top:26px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;border-bottom:1.5px solid var(--ink);padding-bottom:4px}

/* ── 에디터 픽 (제품 큐레이션) ── */
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.homewood-slot-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--homewood-columns,3),minmax(0,1fr));gap:34px 28px}
.pick{display:block}
.pick .ph{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--paper-2)}
.pick .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pick:hover .ph img{transform:scale(1.05)}
.pick .meta{padding:18px 2px 0}
.pick .ed{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase}
.pick h3{font-size:17px;font-weight:700;margin-top:7px;line-height:1.4}
.pick .desc{font-size:13.5px;color:var(--ink-2);margin-top:5px;line-height:1.7}
.pick .pr{margin-top:11px;font-size:15px;font-weight:800;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;letter-spacing:.02em}
.pick .pr .unit{font-family:'Pretendard Variable',sans-serif;font-size:12px;font-weight:600;color:var(--ink-2);margin-left:5px}

/* ── 공간별 무드(작은 갤러리) ── */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.room{position:relative;aspect-ratio:1/1;overflow:hidden;display:block}
.room img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.room:hover img{transform:scale(1.05)}
.room .lb{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:24px;font-weight:600}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,18,15,.5))}

/* ── 풀폭 띠 배너 (견적·쇼룸) ── */
.cta-band{position:relative;padding:120px 0;text-align:center;color:var(--white);overflow:hidden}
.cta-band .bg{position:absolute;inset:0}
.cta-band .bg img{width:100%;height:100%;object-fit:cover}
.cta-band .bg::after{content:"";position:absolute;inset:0;background:rgba(20,18,15,.56)}
.cta-band .inner{position:relative}
.cta-band h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(30px,4.4vw,56px);font-weight:600;line-height:1.12}
.cta-band p{max-width:520px;margin:18px auto 0;font-size:15.5px;opacity:.9;line-height:1.85}
.cta-band .cta{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── 저널(아티클) ── */
.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.jn{display:block}
.jn .ph{aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.jn .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.jn:hover .ph img{transform:scale(1.05)}
.jn .cat{margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase}
.jn h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:23px;font-weight:600;margin-top:8px;line-height:1.25}
.jn .date{font-size:12.5px;color:var(--ink-2);margin-top:7px}

/* ── 푸터 ── */
.footer{background:var(--ink);color:#b6ad9e;padding:80px 0 38px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12)}
.ft-top .lg{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:700;letter-spacing:.16em;color:#fff}
.ft-top p{margin-top:16px;font-size:13px;line-height:1.85;color:#8f877a}
.ft-top h4{color:#fff;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:15px}
.ft-top li{margin-bottom:10px;font-size:13.5px}
.ft-top li a:hover{color:#fff}
.ft-top .tel{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:25px;color:#fff;font-weight:600}
.ft-sns{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap}
.ft-sns a{font-size:11px;font-weight:700;letter-spacing:.22em;color:#a39a8b;text-decoration:none;border-bottom:1px solid #4a443b;padding-bottom:3px;transition:.2s}
.ft-sns a:hover{color:#fff;border-bottom-color:#fff}
.ft-bot{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#79715f}

/* ── 서브 히어로(내부 페이지) ── */
/* sub-hero: 카테고리 리스트 상단 타이틀 영역 — 사용자 요청으로 컴팩트하게 (2026-08) */
.sub-hero{padding:48px 0 28px;border-bottom:1px solid var(--line);text-align:center}
.sub-hero .crumb{font-size:12px;letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.sub-hero h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(28px,4vw,44px);font-weight:600;line-height:1.1;margin-top:8px}
.sub-hero p{max-width:560px;margin:10px auto 0;color:var(--ink-2);font-size:14px;line-height:1.7}

/* ── COLLECTION (제품 목록 — 에디토리얼 그리드) ── */
.coll{padding:64px 0 100px}
.coll-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}
.coll-bar .fil{display:flex;gap:8px;flex-wrap:wrap}
.coll-bar .fil button{font-size:13px;font-weight:600;letter-spacing:.02em;padding:9px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);background:transparent}
.coll-bar .fil button.on,.coll-bar .fil button:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.coll-bar select{border:1px solid var(--line);border-radius:0;padding:10px 16px;font-size:13px;background:var(--white)}
/* 컬렉션 그리드 — PC 5열, 태블릿 3~4열, 모바일 2열 (사용자 요청 2026-08) */
.coll-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:36px 22px}

/* ── /shop/list.php 카테고리 목록 컨테이너 폭 제한 ──
   베이스 list.php 는 #sct 를 wrap 없이 렌더하므로 여기서 폭·패딩 부여.
   상단 패딩은 sub-hero 가 이미 여백을 주므로 0. 하단은 페이징이 footer 와 붙지 않도록. */
main#container.mt-shop #sct{
  max-width:1240px; margin:0 auto; padding:0 32px 120px;
  box-sizing:border-box;
}
/* sub-hero 와 sort 바 사이 간격도 컴팩트하게 */
main#container.mt-shop #sct_sortlst,
main#container.mt-shop #sct .coll-bar{ margin-top:16px; }
main#container.mt-shop #sct .pg_wrap,
main#container.mt-shop #sct .pagination{ margin-top:56px; margin-bottom:24px; }
main#container.mt-shop #sct + *{ margin-top:60px; } /* 혹시 인접 요소 있을 때 */
.paging{display:flex;justify-content:center;gap:8px;margin-top:64px}
.paging a{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink-2)}
.paging a.on,.paging a:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ── VIEW (상품 상세 — 매거진) ── */
.pview{padding:150px 0 100px}
/* ── 상품상세 그리드: 좌측 사진 스택 / 우측 sticky 구매폼 ── */
.pv-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start;position:relative}

/* 좌: 등록된 모든 사진을 정사각형 카드로 세로 스택 */
.pv-photo{display:flex;flex-direction:column;gap:14px;min-width:0}
.pv-photo .pv-img{
  display:block;
  width:100%;
  aspect-ratio:1/1;            /* 정사각형 — 우측 폼과 라인 정렬 안정 */
  overflow:hidden;
  background:var(--paper-2);
  border:0;
  text-decoration:none;
}
.pv-photo .pv-img img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  display:block;
  transition:transform .9s cubic-bezier(.2,.7,.2,1);
}
.pv-photo .pv-img:hover img{transform:scale(1.04)}
.pv-photo .pv-img.is-empty{background:var(--paper-2);display:flex;align-items:center;justify-content:center}
.pv-photo .pv-img.is-empty img{width:auto !important;height:auto !important;opacity:.4}

/* 우: 구매폼 — 좌측이 더 길 때 스크롤 따라옴 */
.pv-grid > .pv{
  position:sticky;
  top:100px;                   /* 헤더 약 80~100px 여유 */
  align-self:start;
  max-height:calc(100vh - 120px);
  overflow-y:auto;
  scrollbar-width:thin;
  padding-right:4px;           /* 스크롤바 공간 */
}
.pv-grid > .pv::-webkit-scrollbar{width:6px}
.pv-grid > .pv::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.pv-grid > .pv::-webkit-scrollbar-track{background:transparent}
.pv .crumb{font-size:12px;letter-spacing:.14em;color:var(--ink-2);text-transform:uppercase}
.pv .ed{font-size:11.5px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase;margin-top:18px}
.pv h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,3.6vw,46px);font-weight:600;line-height:1.08;margin-top:10px}
.pv .lead{margin-top:18px;color:var(--ink-2);font-size:15.5px;line-height:1.9}
.pv-price{margin:26px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pv-price .now{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:34px;font-weight:600}
.pv-price .unit{font-size:13.5px;color:var(--ink-2);margin-left:8px}
.pv-price .sub{margin-top:6px;font-size:13px;color:var(--ink-2)}
.pv-opt .lb{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:22px 0 11px}
.pv-opt .opts{display:flex;gap:9px;flex-wrap:wrap}
.pv-opt .opts button{border:1px solid var(--line);padding:12px 18px;font-size:13.5px;font-weight:600;background:var(--white);min-width:64px}
.pv-opt .opts button b{display:block;font-size:14px}
.pv-opt .opts button span{display:block;font-size:11px;color:var(--ink-2);margin-top:2px}
.pv-opt .opts button.on{border-color:var(--ink);background:var(--ink);color:var(--white)}
.pv-qty{display:flex;align-items:center;gap:16px;margin-top:24px}
.pv-qty .lb2{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.qty{display:flex;border:1px solid var(--line)}
.qty button{width:42px;height:46px;font-size:18px;color:var(--ink-2);background:var(--white)}
.qty input{width:54px;text-align:center;border:0;outline:0;font-size:15px;font-weight:700;background:var(--white)}
.pv-sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.pv-sum .l{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.pv-sum .v{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600}
.pv-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.pv-cta .btn{width:100%}
.pv-note{margin-top:16px;font-size:12.5px;color:var(--ink-2);line-height:1.7}
.pv-tabs{margin-top:80px;border-top:1px solid var(--line)}
.pv-tabs .heads{display:flex;gap:38px;border-bottom:1px solid var(--line)}
.pv-tabs .heads button{padding:22px 0;font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}
.pv-tabs .heads button.on{color:var(--ink);border-bottom-color:var(--clay)}
.pv-tabs .pane{display:none;padding:40px 0;max-width:none;width:100%}
.pv-tabs .pane > *{max-width:100%}
.pv-tabs .pane img,.pv-tabs .pane iframe,.pv-tabs .pane video{max-width:100%;height:auto}
.pv-tabs .pane.on{display:block}
.pv-tabs .pane p{color:var(--ink-2);font-size:15px;line-height:1.95}
.pv-tabs .spec{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.pv-tabs .spec th,.pv-tabs .spec td{padding:14px 6px;border-bottom:1px solid var(--line);text-align:left}
.pv-tabs .spec th{width:180px;font-weight:700;color:var(--ink)}
.pv-tabs .spec td{color:var(--ink-2)}
.rv{padding:22px 0;border-bottom:1px solid var(--line)}
.rv .st{color:var(--clay);font-size:13px;letter-spacing:2px}
.rv p{margin-top:7px;font-size:14.5px}
.rv .who{margin-top:7px;font-size:12.5px;color:var(--ink-2)}

/* ── CART ── */
.cart{padding:150px 0 100px}
.cart-grid{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start}
.ct-list{border-top:1px solid var(--ink)}
.ct-row{display:grid;grid-template-columns:96px 1fr 130px 150px 40px;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.ct-row .th{width:96px;height:96px;object-fit:cover;background:var(--paper-2)}
.ct-row .nm{font-size:15px;font-weight:700}
.ct-row .op{font-size:12.5px;color:var(--ink-2);margin-top:3px}
.ct-row .up{font-size:13.5px;color:var(--ink-2)}
.ct-row .ls{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:19px;font-weight:600}
.ct-row .rm{font-size:18px;color:var(--ink-2)}
.ct-row .qty{transform:scale(.92);transform-origin:left}
.ct-side{border:1px solid var(--ink);padding:30px;position:sticky;top:120px}
.ct-side h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:24px;font-weight:600;margin-bottom:18px}
.ct-side .row{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2);padding:8px 0}
.ct-side .row b{color:var(--ink);font-weight:700}
.ct-side .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:10px;padding-top:16px}
.ct-side .tot .l{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ct-side .tot .v{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600;color:var(--clay)}
.ct-side .btn{width:100%;margin-top:20px}
.ct-side .note{margin-top:14px;font-size:12px;color:var(--ink-2);text-align:center;line-height:1.7}

/* ── ABOUT ── */
.about-body{padding:30px 0 60px}
.ab-lead{max-width:760px;margin:0 auto 70px;text-align:center}
.ab-lead p{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(22px,2.8vw,32px);font-weight:500;line-height:1.5}
.ab-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.ab-v .no{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:38px;font-weight:600;color:var(--clay)}
.ab-v h3{font-size:17px;font-weight:700;margin:10px 0 9px}
.ab-v p{font-size:14px;color:var(--ink-2);line-height:1.85}

/* ── JOURNAL 목록 ── */
.jn-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line);background:var(--white);margin-bottom:64px}
.jn-feature .ph{overflow:hidden;background:var(--paper-2)}
.jn-feature .ph img{width:100%;height:100%;object-fit:cover;min-height:340px;transition:transform 1s}
.jn-feature:hover .ph img{transform:scale(1.04)}
.jn-feature .tx{padding:48px 52px;display:flex;flex-direction:column;justify-content:center}
.jn-feature .cat{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--clay);text-transform:uppercase}
.jn-feature h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.2;margin:16px 0 14px}
.jn-feature p{color:var(--ink-2);font-size:15px;line-height:1.85;max-width:440px}
.jn-feature .date{font-size:12.5px;color:var(--ink-2);margin-top:20px}
.jn-feature .lk{margin-top:24px;font-size:13px;font-weight:700;border-bottom:1.5px solid var(--ink);padding-bottom:4px;align-self:flex-start}
.jn-bar{margin-bottom:44px}

/* ── ARTICLE(저널 상세) ── */
.article{padding:140px 0 0}
.art-head{max-width:780px;margin:0 auto;text-align:center;padding:0 32px}
.art-head .crumb{font-size:12px;letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.art-head .cat{display:inline-block;margin-top:18px;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--clay);text-transform:uppercase}
.art-head h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,4.6vw,58px);font-weight:600;line-height:1.12;margin:16px 0 0}
.art-head .meta{margin-top:22px;font-size:13px;color:var(--ink-2);letter-spacing:.02em}
.art-hero{margin:54px 0 0;aspect-ratio:21/9;overflow:hidden;background:var(--paper-2)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-body{max-width:720px;margin:0 auto;padding:64px 32px 40px}
.art-body p{font-size:17px;line-height:1.95;color:#34312b;margin-bottom:26px}
.art-body h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:26px;font-weight:600;margin:44px 0 16px;line-height:1.3}
.art-body .lead{font-size:20px;line-height:1.8;color:var(--ink)}
.art-body figure{margin:40px 0}
.art-body figure img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--paper-2)}
.art-body figcaption{margin-top:12px;font-size:12.5px;color:var(--ink-2);text-align:center;letter-spacing:.02em}
.art-quote{border-left:3px solid var(--clay);padding:6px 0 6px 28px;margin:40px 0;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:23px;line-height:1.55;font-weight:600;color:var(--ink)}
.art-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin:8px auto 0;padding:0 32px}
.art-tags span{font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);padding:7px 14px}
.art-share{max-width:720px;margin:36px auto 0;padding:28px 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.art-share .by{display:flex;align-items:center;gap:13px}
.art-share .by .av{width:46px;height:46px;border-radius:50%;background:var(--clay);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:none}
.art-share .by .nm{font-size:14px;font-weight:700}
.art-share .by .ro{font-size:12px;color:var(--ink-2)}

/* ── SHOWROOM ── */
.shw-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line);background:var(--white);margin-top:8px}
.shw-grid .ph{overflow:hidden;background:var(--paper-2);min-height:420px}
.shw-grid .ph img{width:100%;height:100%;object-fit:cover}
.shw-info{padding:48px 50px;display:flex;flex-direction:column;justify-content:center}
.shw-info h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600;margin-bottom:6px}
.shw-info .addr{color:var(--ink-2);font-size:14.5px;margin-bottom:26px}
.shw-row{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:14.5px}
.shw-row:last-of-type{border-bottom:1px solid var(--line)}
.shw-row .k{color:var(--ink-2);font-weight:600;letter-spacing:.02em}
.shw-row .v{font-weight:600;text-align:right}
.shw-row .v small{display:block;font-size:12px;color:var(--ink-2);font-weight:400;margin-top:2px}
.shw-info .acts{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.shw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:8px}
.shw-step .no{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:34px;font-weight:600;color:var(--clay)}
.shw-step h3{font-size:18px;font-weight:700;margin:8px 0 8px}
.shw-step p{font-size:14px;color:var(--ink-2);line-height:1.8}
.form-grid{display:grid;gap:16px;max-width:660px;margin:0 auto}
.form-grid .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:var(--white);padding:13px 15px;font-size:14.5px;outline:0;transition:border-color .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--clay)}
.form-grid textarea{resize:vertical}

/* ── 반응형 ── */
@media (max-width:1280px){
  /* 노트북/좁은 데스크탑: 카테고리 리스트 4열로 완충 */
  .coll-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  .homewood-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .materials{grid-template-columns:repeat(2,1fr)}
  .picks,.journal,.rooms,.ab-vals{grid-template-columns:repeat(2,1fr)}
  /* 태블릿: 카테고리 리스트 3열 */
  .coll-grid{grid-template-columns:repeat(3,1fr);gap:28px 18px}
  .jn-feature,.shw-grid{grid-template-columns:1fr}
  .jn-feature .ph img{min-height:260px}
  .shw-steps{grid-template-columns:1fr;gap:20px}
  .project{grid-template-columns:1fr}
  .project .ph{aspect-ratio:16/10}
  .project.flip .ph{order:0}
  .project .tx{padding:40px 36px 52px}
  .pv-grid{grid-template-columns:1fr;gap:36px}
  .pv-grid > .pv{position:static;top:auto;max-height:none;overflow:visible;padding-right:0}
  .pv-photo{gap:8px}
  .cart-grid{grid-template-columns:1fr}
  .ct-side{position:static}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .homewood-slot-grid{grid-template-columns:1fr}
  .wrap,.wrap-n{padding:0 20px}
  .gnb{display:none}
  .m-burger{display:block}
  .hd-r .ic .lb{display:none}
  .hero{min-height:90vh}
  .hero .inner{padding-bottom:56px}
  .sec{padding:68px 0}
  .sec-sm{padding:52px 0}
  .materials{grid-template-columns:1fr 1fr;gap:4px}
  .mat{aspect-ratio:1/1}
  .picks,.journal{grid-template-columns:1fr}
  /* 카테고리 리스트: 모바일에서도 2열 유지 (사용자 요청) */
  .coll-grid{grid-template-columns:repeat(2,1fr);gap:22px 12px}
  /* 모바일에서 #sct 좌우 패딩 축소 */
  main#container.mt-shop #sct{padding:24px 16px 80px}
  main#container.mt-shop #sct .pg_wrap{margin-top:40px}
  .rooms{grid-template-columns:1fr;gap:4px}
  .project .tx{padding:32px 22px 44px}
  .cta-band{padding:80px 0}
  .pview,.cart{padding:120px 0 70px}
  .pv-cta{grid-template-columns:1fr}
  .ct-row{grid-template-columns:72px 1fr;gap:12px;position:relative}
  .ct-row .up,.ct-row .ls{grid-column:2}
  .ct-row .rm{position:absolute;top:24px;right:0}
  .ft-top{grid-template-columns:1fr}
  .ab-vals{grid-template-columns:1fr}
  .pv-tabs .heads{gap:22px;overflow-x:auto}
  .jn-feature .tx,.shw-info{padding:34px 24px}
  .article{padding:108px 0 0}
  .art-hero{aspect-ratio:16/10}
  .art-body{padding:44px 4px 30px}
  .art-body p{font-size:16px}
  .form-grid .two{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════
   ★ 그누보드/영카트 표준 스킨 → 홈우드 톤 일괄 통일
   ───────────────────────────────────────────────────────────────────
   별도 스킨 파일 만들지 않고 글로벌 CSS 로 처리.
   적용대상:
     /bbs/login.php, register.php, password_lost.php, member_confirm.php
     /shop/cart.php, orderform.php, orderinquiry*.php, mypage.php,
            wishlist.php, coupon.php, search.php
     /shop/itemuselist.php, itemqalist.php, itemuseform.php, itemqaform.php
     /bbs/content.php, faq.php, qalist.php, qaview.php, new.php
   ═══════════════════════════════════════════════════════════════════ */

/* 공통 컨테이너 — 페이지 진입 시 헤더 높이만큼 상단 여백 */
#mb_login, #mb_register, #mb_confirm, #mb_lost, #mb_password_lost,
#smb_my, #smb_my_act, #smb_my_lst,
#sod_fin, #sod_cancel, #sod_finv,
#sit_use, #sit_qa, #sit_iuf, #sit_iqf,
#bo_list, #bo_v, #bo_w, #bo_sch, #new_box,
#ssch, #qa_list, #qa_v, #faq_list, #content_view,
.mbskin, .new_win, #fregisterform, #fregisterform_lst, .ssch_view{
  max-width:1240px;
  margin:0 auto;
  padding:160px 32px 100px;
  background:transparent;
  color:var(--ink);
  font-size:15px;
  line-height:1.75;
}
/* mt-shop 안 영카트 페이지는 main 자체 패딩 이미 있음 */
.mt-shop #sod_bsk,
.mt-shop #sod_fin,
.mt-shop #sod_cancel,
.mt-shop #smb_my,
.mt-shop #sit_use, .mt-shop #sit_qa,
.mt-shop #ssch{
  max-width:1240px;
  margin:0 auto;
  padding:60px 32px 100px;
  background:transparent;
}

/* ─── 페이지 헤딩 ─── */
#mb_login h1, #mb_register h1, #mb_confirm h1, #mb_lost h1, #mb_password_lost h1,
#sod_bsk h1, #sod_fin h1, #sod_cancel h1,
#smb_my h1, #sit_use h1, #sit_qa h1,
#bo_list h1, #bo_v h1, #bo_w h1,
#ssch h1, .mbskin h1, .new_win h1, #content_view h1{
  font-family:'Pretendard Variable',Pretendard,sans-serif;
  font-size:clamp(28px,3.4vw,40px);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--ink);
  text-align:center;
  margin:0 0 40px;
  padding:0;
}

/* ─── 회원 페이지(mbskin) 박스 ─── */
.mbskin .mbskin_box{
  max-width:480px;
  margin:0 auto;
  background:var(--white);
  border:1px solid var(--line);
  padding:48px 36px 36px;
  box-shadow:0 6px 24px rgba(33,31,27,.04);
}
.mbskin_box > .mb_log_cate{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
  margin-bottom:24px;
}
.mb_log_cate h2{
  font-size:16px;
  font-weight:700;
  color:var(--ink);
  margin:0;
}
.mb_log_cate .join{
  font-size:12.5px;
  color:var(--ink-2);
  text-decoration:none;
  border-bottom:1px solid var(--ink-2);
  padding-bottom:1px;
}
.mb_log_cate .join:hover{color:var(--clay);border-bottom-color:var(--clay)}

/* ─── 폼 입력 공통(영카트/그누보드 표준 클래스) ─── */
.frm_input, .frm_file,
#mb_login input[type=text], #mb_login input[type=password],
#mb_register input[type=text], #mb_register input[type=password], #mb_register input[type=email],
#mb_lost input[type=text], #mb_lost input[type=email],
#sod_bsk input[type=text], #sod_bsk input[type=number],
#sod_fin input[type=text], #sod_fin input[type=tel], #sod_fin input[type=email],
#smb_my input[type=text], #smb_my input[type=password],
#fregisterform input[type=text], #fregisterform input[type=password], #fregisterform input[type=email],
.mbskin input[type=text], .mbskin input[type=password], .mbskin input[type=email],
.mbskin select, .mbskin textarea,
.mt-shop select, .mt-shop textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink);
  font-size:14.5px;
  font-family:inherit;
  border-radius:0;
  outline:0;
  transition:border-color .2s;
  box-sizing:border-box;
}
.frm_input:focus, .frm_file:focus,
.mbskin input:focus, .mbskin select:focus, .mbskin textarea:focus,
.mt-shop input[type=text]:focus, .mt-shop input[type=password]:focus,
.mt-shop input[type=email]:focus, .mt-shop input[type=tel]:focus,
.mt-shop input[type=number]:focus,
.mt-shop select:focus, .mt-shop textarea:focus{
  border-color:var(--clay) !important;
  box-shadow:none !important;
}

/* 로그인 폼 input 사이 간격 */
#login_fs input[type=text],
#login_fs input[type=password]{margin-bottom:10px}

/* ─── 버튼 공통 ─── */
.btn_submit, .btn01, .btn_b01, button.btn_submit, input.btn_submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ink);
  color:var(--white);
  padding:14px 28px;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  border:0;
  border-radius:0;
  cursor:pointer;
  transition:background-color .2s;
  font-family:inherit;
  text-decoration:none;
  line-height:1;
}
.btn_submit:hover, .btn01:hover, button.btn_submit:hover{
  background:#000;
  color:var(--white);
}

.btn_frmline, .btn_cancel, .btn02, .btn_b02{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--white);
  color:var(--ink);
  border:1.5px solid var(--ink);
  padding:12.5px 26px;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:all .2s;
  text-decoration:none;
  line-height:1;
  font-family:inherit;
}
.btn_frmline:hover, .btn_cancel:hover, .btn02:hover, .btn_b02:hover{
  background:var(--ink);
  color:var(--white);
}

/* 로그인 메인 버튼은 풀폭 */
#login_fs .btn_submit{
  display:block;
  width:100%;
  margin:20px 0 14px;
  padding:16px;
  font-size:15px;
}

/* ─── 로그인 정보 영역(자동로그인 + ID/PW 찾기) ─── */
#login_info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
  margin-top:14px;
}
#login_info .login_if_auto label,
#login_info .login_if_lpl a{color:var(--ink-2);text-decoration:none}
#login_info .login_if_lpl a{
  border-bottom:1px solid var(--ink-2);
  padding-bottom:1px;
}
#login_info .login_if_lpl a:hover{color:var(--clay);border-bottom-color:var(--clay)}

/* 체크박스 라벨 정렬 */
.chk_box label, .selec_chk + label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  color:var(--ink-2);
  font-size:13px;
}

/* ─── SNS 로그인 ─── */
#sns_login{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid var(--line);
}
#sns_login h3{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--ink-2);
  text-transform:uppercase;
  text-align:center;
  margin-bottom:16px;
}
.sns-wrap{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
}
.sns-icon{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:13px 22px;
  border:1px solid var(--line);
  background:var(--white);
  text-decoration:none;
  font-size:13.5px;
  font-weight:700;
  color:var(--ink);
  min-width:150px;
  justify-content:center;
  transition:all .2s;
}
.sns-icon:hover{border-color:var(--ink);background:var(--paper-2)}
.sns-icon .ico{display:none}
.sns-icon i{font-style:normal;font-weight:500;opacity:.85}
.sns-naver{background:#03c75a;color:#fff;border-color:#03c75a}
.sns-naver:hover{background:#02b14d;border-color:#02b14d;color:#fff}
.sns-kakao{background:#fee500;color:#181600;border-color:#fee500}
.sns-kakao:hover{background:#f4dc00;border-color:#f4dc00;color:#181600}
.sns-google{background:#fff;color:#3c4043;border-color:#dadce0}
.sns-google:hover{background:#f8f9fa;border-color:#dadce0;color:#3c4043}
.sns-facebook{background:#1877f2;color:#fff;border-color:#1877f2}
.sns-facebook:hover{background:#0d65d9;border-color:#0d65d9;color:#fff}

/* ─── fieldset/legend 정리 ─── */
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{
  position:absolute;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
  white-space:nowrap;
}

/* ─── 영카트 카트 페이지(#sod_bsk) ─── */
#sod_bsk_list, .od_prd_list .tbl_head03{
  background:var(--white);
  border:1px solid var(--line);
}
#sod_bsk .tbl_wrap{border:0;padding:0}
#sod_bsk table{
  width:100%;
  border-collapse:collapse;
  background:var(--white);
}
#sod_bsk th, #sod_bsk td{
  padding:16px 12px;
  border-bottom:1px solid var(--line);
  font-size:13.5px;
  color:var(--ink);
  text-align:center;
  vertical-align:middle;
}
#sod_bsk thead th{
  background:var(--paper-2);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--ink-2);
  text-transform:uppercase;
  border-bottom:2px solid var(--ink-2);
}
#sod_bsk td.empty_table{
  text-align:center;
  padding:80px 20px;
  color:var(--ink-2);
  font-size:15px;
  border-bottom:0;
}

/* 카트 액션 버튼 (선택삭제 / 비우기) */
.btn_cart_del{
  display:flex;
  gap:8px;
  padding:14px 18px;
  border-top:1px solid var(--line);
  background:var(--paper-2);
}
.btn_cart_del button{
  background:var(--white);
  color:var(--ink-2);
  border:1px solid var(--line);
  padding:8px 16px;
  font-size:12.5px;
  font-weight:600;
  cursor:pointer;
  transition:all .15s;
  font-family:inherit;
}
.btn_cart_del button:hover{
  border-color:var(--ink);
  color:var(--ink);
}

#sod_bsk_act{
  margin-top:30px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#sod_bsk_act .btn01{
  background:var(--white);
  color:var(--ink);
  border:1.5px solid var(--ink);
  padding:13px 28px;
}
#sod_bsk_act .btn01:hover{
  background:var(--ink);
  color:var(--white);
}

/* ─── 주문서/주문조회 섹션 카드 ─── */
#sod_fin section, #sod_cancel section,
#smb_my section, #sit_qa section, #sit_use section,
#sod_finv section{
  background:var(--white);
  border:1px solid var(--line);
  padding:26px 28px;
  margin-bottom:20px;
}
#sod_fin h2, #sod_cancel h2,
#smb_my h2, #sit_qa h2, #sit_use h2,
#sod_finv h2{
  font-family:'Pretendard Variable',sans-serif;
  font-size:18px;
  font-weight:700;
  margin:0 0 16px;
  padding:0 0 12px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  letter-spacing:-.01em;
}

/* ─── 게시판/공통 테이블 ─── */
.tbl_wrap table, .tbl_head01 table, .tbl_head02 table{
  width:100%;
  border-collapse:collapse;
  background:var(--white);
}
.tbl_wrap th, .tbl_head01 th, .tbl_head02 th{
  background:var(--paper-2);
  padding:12px 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--ink-2);
}
.tbl_wrap td, .tbl_head01 td, .tbl_head02 td{
  padding:14px 10px;
  border-bottom:1px solid var(--line);
  font-size:13.5px;
  color:var(--ink);
}

/* ─── 페이징(그누보드 기본) ─── */
.pg_wrap{
  margin:50px 0 20px;
  display:flex;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
}
.pg_page, .pg_current{
  min-width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink-2);
  font-size:13.5px;
  font-weight:600;
  text-decoration:none;
  transition:all .15s;
}
.pg_page:hover{
  border-color:var(--ink);
  color:var(--ink);
}
.pg_current{
  background:var(--ink);
  color:var(--white) !important;
  border-color:var(--ink);
}

/* ─── 콘텐츠/FAQ 페이지 ─── */
#content_view, .new_win_con{
  background:var(--white);
  padding:36px 40px;
  border:1px solid var(--line);
  line-height:1.85;
  font-size:15px;
  color:var(--ink);
}
.faq_list .faq_q{
  background:var(--paper-2);
  padding:14px 18px;
  border:1px solid var(--line);
  border-bottom:0;
  font-weight:700;
  cursor:pointer;
}
.faq_list .faq_a{
  background:var(--white);
  padding:18px 22px;
  border:1px solid var(--line);
  margin-bottom:8px;
  font-size:14px;
  line-height:1.85;
  color:var(--ink-2);
}

/* ─── 검색 박스 / 검색결과 ─── */
#ssch_top, .sch_form{
  background:var(--white);
  border:1px solid var(--line);
  padding:24px 28px;
  margin-bottom:30px;
}
.ssch_view, #ssch_results{margin-top:30px}

/* ─── alert / 안내 메시지 ─── */
.empty_list, .empty_table, .empty_msg{
  text-align:center;
  padding:60px 20px;
  color:var(--ink-2);
  background:var(--paper-2);
  font-size:14.5px;
}

/* ─── 반응형: 좁은 화면 보정 ─── */
@media (max-width:680px){
  #mb_login, #mb_register, #mb_confirm, #mb_lost, #mb_password_lost,
  #smb_my, #sod_fin, #sod_cancel,
  #sit_use, #sit_qa, #bo_list, #bo_v, #bo_w, #ssch,
  .mbskin, .new_win, #content_view{
    padding:120px 18px 70px;
  }
  .mbskin .mbskin_box{padding:32px 22px 24px}
  #login_info{flex-direction:column;align-items:flex-start;gap:10px}
  .sns-wrap{flex-direction:column}
  .sns-icon{width:100%}
  #sod_bsk th, #sod_bsk td{padding:12px 6px;font-size:12.5px}
  #sod_bsk_act{justify-content:stretch}
  #sod_bsk_act .btn01{flex:1;text-align:center}
}
