/* ============================================================
   HEROS — 제품 개별 랜딩 (Apple 스타일) + 카테고리 랜딩
   ============================================================ */

/* ---------- 카테고리 필터 바 ---------- */
.cat-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.cat-pill{padding:11px 22px;border-radius:999px;border:1.5px solid var(--divider);
  font-weight:600;font-size:15px;color:var(--text-mute);transition:.18s}
.cat-pill:hover{border-color:var(--bar);color:var(--bar)}
.cat-pill.active{background:var(--bar);color:#fff;border-color:var(--bar)}

/* ---------- 제품 HERO ---------- */
.p-hero{padding-top:calc(var(--header-h) + clamp(28px,4vw,56px));padding-bottom:clamp(20px,4vw,40px)}
.p-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,64px);align-items:center}
.p-hero-copy .crumb{font-size:13px;color:var(--text-mute);margin-bottom:14px}
.p-hero-copy .crumb a:hover{color:var(--brand)}
.p-hero-copy h1{font-size:clamp(36px,6vw,72px);line-height:1.08;letter-spacing:-.04em;margin-top:8px}
.p-tagline{font-size:clamp(18px,2.4vw,26px);font-weight:600;color:var(--text);margin-top:16px;line-height:1.35}
.p-intro{margin-top:14px;color:var(--text-mute);font-size:16.5px;line-height:1.8;max-width:46ch}
.p-price{margin-top:18px;font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--text)}
.p-price em{font-size:16px;font-weight:600;font-style:normal;color:var(--text-mute);margin-left:2px}
.p-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.p-chip{background:#fff;border:1px solid var(--divider);color:var(--text);font-weight:600;font-size:13.5px;
  padding:8px 14px;border-radius:999px}
.p-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.p-hero-media{display:grid;place-items:center}
.p-hero-media img{width:100%;height:auto;max-height:520px;object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(43,33,24,.18))}

/* ---------- 하이라이트(큰 숫자 카드) ---------- */
.p-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.p-hl{background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-lg);padding:28px 24px;text-align:center}
.p-hl b{display:block;font-size:clamp(30px,4vw,44px);font-weight:800;color:var(--brand);letter-spacing:-.03em;line-height:1}
.p-hl h3{font-size:17px;margin:12px 0 8px}
.p-hl p{font-size:14px;color:var(--text-mute);line-height:1.6}

/* ---------- 피처 섹션 간격(Apple식 큰 여백) ---------- */
.p-feature{padding-block:clamp(40px,6vw,72px)}
.p-feature .split-body h2{font-size:clamp(24px,3.4vw,40px)}
.p-feature .split-media img{border-radius:var(--radius-lg)}

/* ---------- 갤러리(가로 스크롤 스냅) ---------- */
.p-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,46%);gap:18px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;
  scrollbar-width:thin}
.p-gallery .g-item{scroll-snap-align:center;border-radius:var(--radius-lg);overflow:hidden;
  cursor:pointer;box-shadow:var(--shadow-sm);background:var(--bg-alt)}
.p-gallery .g-item img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 구성품 (이미지 그리드 + 리스트) ---------- */
.comp-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4vw,52px);align-items:center}
.comp-images{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.comp-shot{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);cursor:pointer;
  aspect-ratio:4/3;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.comp-shot:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.comp-shot.lead{grid-column:1/-1;aspect-ratio:16/9}
.comp-shot img{width:100%;height:100%;object-fit:cover;display:block}
.comp-list{display:grid;gap:14px;align-content:center}
.comp-list li{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:600;color:var(--text)}
.comp-list .ck{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;flex:none}
.comp-list .ck svg{width:15px;height:15px}

/* ---------- 상품 구성: 패키지 / 구성품 분리 (HTML) ---------- */
.box-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,32px);align-items:stretch}
.box-col{background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-lg);
  padding:clamp(20px,2.8vw,30px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.box-tag{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--brand);
  background:rgba(210,52,43,.1);padding:6px 14px;border-radius:999px;margin-bottom:18px}
/* 패키지 */
.box-fig{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;cursor:zoom-in;
  background:linear-gradient(160deg,#FBF8F2,#ECE6DA);border:1px solid var(--divider)}
.box-fig img{width:100%;height:100%;object-fit:contain;padding:18px;display:block;transition:transform .4s var(--ease)}
.box-fig:hover img{transform:scale(1.04)}
.box-meta h3{margin:20px 0 14px;font-size:clamp(18px,2.2vw,22px);font-weight:800;letter-spacing:-.02em;color:var(--text)}
.box-meta h3 span{font-weight:600;color:var(--text-mute);font-size:.66em;letter-spacing:0}
.box-spec{display:grid;gap:0;border-top:1px solid var(--divider);margin-top:auto}
.box-spec li{display:flex;justify-content:space-between;gap:12px;padding:11px 2px;
  border-bottom:1px solid var(--divider);font-size:15px}
.box-spec b{color:var(--text-mute);font-weight:600}
.box-spec span{font-weight:700;color:var(--text);text-align:right}
/* 구성품 */
.parts-shots{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}
.parts-fig{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);
  aspect-ratio:4/3;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.parts-fig:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.parts-fig.lead{grid-column:1/-1;aspect-ratio:16/9}
.parts-fig img{width:100%;height:100%;object-fit:cover;display:block}
.box-col--parts .comp-list{align-content:start}

/* ---------- 모델 (X-in-1) 그리드 ---------- */
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.model-card{position:relative;background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-lg);
  overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.model-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.model-card .model-no{position:absolute;top:12px;left:12px;z-index:2;font-size:12px;font-weight:800;color:#fff;
  background:var(--brand);min-width:30px;height:30px;padding:0 9px;display:grid;place-items:center;border-radius:999px;
  box-shadow:0 2px 8px rgba(210,52,43,.3)}
.model-img{aspect-ratio:3/2;display:grid;place-items:center;background:linear-gradient(160deg,#FBF8F2,#ECE6DA)}
.model-img img{width:100%;height:100%;object-fit:contain;padding:16px;transition:transform .4s var(--ease)}
.model-card:hover .model-img img{transform:scale(1.05)}
.model-card figcaption{padding:14px 12px 18px;text-align:center;font-weight:700;font-size:16px;color:var(--text)}

/* ---------- 풀블리드 씬 배경 ---------- */
.scene-band{position:relative;min-height:min(70vh,560px);display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.scene-band .scene-bg{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.scene-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,18,28,.08),rgba(15,18,28,.74))}
.scene-band .container{position:relative;z-index:1;padding-block:clamp(40px,7vw,80px)}
.scene-band .kicker{color:rgba(255,255,255,.85)}
.scene-band h2{color:#fff;font-size:clamp(26px,4.4vw,48px);line-height:1.2;max-width:20ch;letter-spacing:-.03em;
  text-shadow:0 2px 24px rgba(0,0,0,.4)}

/* ---------- 구성품 인포그래픽 ---------- */
.comp-chart{max-width:540px;margin-inline:auto;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow);cursor:zoom-in;background:#fff;border:1px solid var(--divider)}
.comp-chart img{width:100%;display:block}

/* ---------- 제품 하단 빨강 CTA ---------- */
.p-cta{display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:center}
.p-cta h2{color:#fff;font-size:clamp(24px,3.4vw,38px);line-height:1.2}
.p-cta p{color:rgba(255,255,255,.92);margin-top:12px;font-size:16px}
.p-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.p-cta .btn{background:#fff;color:var(--brand)}
.p-cta .btn:hover{background:#fff3f1;transform:translateY(-2px)}
.btn--outline-w{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.btn--outline-w:hover{background:rgba(255,255,255,.14)}

/* ---------- 스펙 테이블 ---------- */
.spec-table{max-width:680px;margin-inline:auto;width:100%;border-collapse:collapse;
  background:var(--card);border:1px solid var(--divider);border-radius:var(--radius-lg);overflow:hidden}
.spec-table th,.spec-table td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--divider);font-size:15px}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}
.spec-table th{width:34%;color:var(--text-mute);font-weight:600;background:var(--bg-alt)}
.spec-table td{color:var(--text);font-weight:500}

/* ---------- 자료 요청 박스 ---------- */
.needs-box{max-width:780px;margin-inline:auto;background:#FFF8EC;border:1px solid #F0DFBE;
  border-radius:var(--radius-lg);padding:28px 30px}
.needs-tag{display:inline-block;background:var(--brand);color:#fff;font-size:12px;font-weight:700;
  padding:5px 12px;border-radius:999px;letter-spacing:.04em}
.needs-box h3{margin:14px 0 12px;font-size:18px}
.needs-box ul{display:grid;gap:8px}
.needs-box li{position:relative;padding-left:22px;color:var(--text-mute);font-size:15px;line-height:1.6}
.needs-box li::before{content:"›";position:absolute;left:6px;color:var(--brand);font-weight:800}

/* ---------- 콘텐츠 준비중 placeholder ---------- */
.p-placeholder{max-width:720px;margin-inline:auto;text-align:center;background:var(--bg-alt);
  border:1px dashed var(--divider);border-radius:var(--radius-lg);padding:48px 32px}
.p-placeholder h2{font-size:24px;margin-bottom:12px}
.p-placeholder p{color:var(--text-mute);line-height:1.8}

/* ---------- 반응형 ---------- */
@media (max-width:900px){
  .p-hero-grid{grid-template-columns:1fr;gap:28px}
  .p-hero-media{order:-1}
  .p-highlights{grid-template-columns:1fr 1fr}
  .comp-layout{grid-template-columns:1fr;gap:26px}
  .box-split{grid-template-columns:1fr}
  .p-cta{grid-template-columns:1fr;gap:18px}
  .model-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .p-highlights{grid-template-columns:1fr 1fr}
  .p-gallery{grid-auto-columns:minmax(260px,82%)}
  .model-grid{grid-template-columns:1fr}
  /* 카테고리 필터 바 가로 슬라이드 */
  .cat-bar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .cat-bar::-webkit-scrollbar{display:none}
  .cat-pill{flex:0 0 auto}
}
