/* ============================================================
   Product detail page  (pd-*)
   Loaded only by product detail pages. Shares the design tokens
   defined in style.css (:root) — do not redefine them here.
   ============================================================ */

/* ---- breadcrumb bar ---- */
.pd-crumbbar{border-bottom:1px solid var(--line);background:#fff}
.pd-crumbbar .container{display:flex;align-items:center;height:52px;flex-wrap:wrap}
.pd-crumbbar a,.pd-crumbbar span{font-size:12.5px;letter-spacing:.05em;color:var(--text-light)}
.pd-crumbbar a:hover{color:var(--blue)}
.pd-crumbbar .sep{margin:0 9px;opacity:.45}
.pd-crumbbar .cur{color:var(--text-dark);font-weight:500}

/* ---- top block ---- */
.pd-top{padding:52px 0 86px}
.pd-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:start}

/* gallery */
.pd-stage{position:relative;aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(150deg,#FBFCFD 0%,#F2F6FA 100%)}
.pd-stage img{width:100%;height:100%;object-fit:cover;transition:opacity .28s var(--ease)}
.pd-stage img.is-fading{opacity:0}
.pd-flag{position:absolute;left:18px;bottom:18px;background:rgba(18,49,79,.92);color:#fff;font-size:11px;letter-spacing:.11em;text-transform:uppercase;padding:7px 14px;border-radius:100px;font-weight:600;transition:opacity .25s var(--ease)}
.pd-flag.is-hidden{opacity:0}
.pd-mark{position:absolute;top:16px;left:16px;background:var(--gold);color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:100px;font-weight:600}
.pd-zoomhint{position:absolute;top:16px;right:16px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);background:rgba(255,255,255,.86);padding:6px 11px;border-radius:100px;font-weight:600;opacity:0;transition:opacity .25s}
.pd-stage:hover .pd-zoomhint{opacity:1}
.pd-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.pd-thumb-wrap{display:block}
.pd-thumb{display:block;width:100%;padding:0;aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.pd-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pd-thumb:hover{border-color:var(--blue-4);transform:translateY(-2px)}
.pd-thumb.is-active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.pd-thumb-cap{display:block;font-size:11px;color:var(--text-light);text-align:center;margin-top:7px;letter-spacing:.04em}

/* right column */
.pd-info{padding-top:6px}
.pd-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin-bottom:16px}
.pd-eyebrow::before{content:"";width:26px;height:1px;background:var(--gold)}
.pd-title{font-size:clamp(27px,3.2vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.22;margin-bottom:14px}
.pd-model{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.pd-model .sku{font-size:12.5px;letter-spacing:.14em;font-weight:600;color:var(--gold-deep)}
.pd-model .tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--blue-bg-2);color:var(--blue);border-radius:100px;padding:4px 11px;font-weight:600}
.pd-lead{font-size:15.5px;color:var(--text-muted);font-weight:300;line-height:1.9;margin-bottom:26px}
.pd-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;margin-bottom:26px}
.pd-fact{padding:13px 15px;border-right:1px solid var(--line-2)}
.pd-fact:last-child{border-right:none}
.pd-fact b{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-light);font-weight:600;margin-bottom:5px}
.pd-fact span{font-size:13.5px;font-weight:600;color:var(--text-dark);line-height:1.35;display:block}

/* colour picker */
.pd-pick{border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px 22px;background:#fff;margin-bottom:26px}
.pd-pick-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.pd-pick-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-light);font-weight:600;display:block;margin-bottom:8px}
.pd-pick-name{font-size:17px;font-weight:600;color:var(--text-dark);line-height:1.2}
.pd-pick-name em{font-style:normal;font-size:12.5px;letter-spacing:.12em;color:var(--gold-deep);font-weight:600;margin-left:9px}
.pd-pick-meta{font-size:12px;color:var(--text-light);white-space:nowrap}
/* 13 colourways is prime — 7 columns gives the only balanced 7 + 6 split */
.pd-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:12px}
.sw{position:relative;aspect-ratio:1/1;padding:0;border-radius:50%;border:1px solid rgba(20,30,40,.16);background:var(--c1);cursor:pointer;
    box-shadow:0 1px 3px rgba(20,30,40,.16),inset 0 1px 1px rgba(255,255,255,.4);
    transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.sw.two{background:linear-gradient(140deg,var(--c1) 0 45%,#fff 45% 55%,var(--c2) 55% 100%)}
.sw:hover{transform:scale(1.14)}
.sw.is-active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}
.sw:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold)}
.pd-pick-note{margin-top:14px;font-size:12px;color:var(--text-light);line-height:1.7}
.pd-pick-note a{color:var(--blue);border-bottom:1px solid rgba(30,77,123,.3)}

/* actions + trust */
.pd-actions{display:flex;gap:13px;flex-wrap:wrap;margin-bottom:26px}
.pd-trust{display:flex;flex-direction:column;gap:11px;padding-top:24px;border-top:1px solid var(--line)}
.pd-trust li{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--text-muted);font-weight:300;line-height:1.7}
.pd-trust svg{width:17px;height:17px;flex-shrink:0;color:var(--gold-deep);margin-top:4px}
.pd-trust strong{color:var(--text-dark);font-weight:600}

/* overview */
.pd-overview{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:start}
.pd-fig{margin:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--blue-bg)}
.pd-fig img{width:100%;display:block}
.pd-fig figcaption{font-size:12.5px;color:var(--text-light);padding:13px 17px;background:#fff;border-top:1px solid var(--line-2)}
.pd-body-copy p{font-size:15.5px;color:var(--text-muted);font-weight:300;line-height:1.95;margin-bottom:18px}
.pd-defs{border-top:1px solid var(--line);margin-top:8px}
.pd-def{display:grid;grid-template-columns:126px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.pd-def dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);font-weight:600;padding-top:4px}
.pd-def dd{font-size:14.5px;color:var(--text-body);font-weight:400;line-height:1.7}

/* highlights */
.pd-hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 44px}
.pd-hl{padding-top:24px;border-top:2px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.pd-hl:hover{transform:translateY(-4px);border-color:var(--gold)}
.pd-hl h3{font-size:17.5px;font-weight:600;margin-bottom:10px;line-height:1.35;display:flex;gap:11px;align-items:baseline}
.pd-hl h3 svg{width:17px;height:17px;flex-shrink:0;color:var(--gold-deep);position:relative;top:2px}
.pd-hl p{font-size:14.3px;color:var(--text-muted);font-weight:300;line-height:1.85}
.pd-hl.is-cta{border-color:var(--gold)}
.pd-hl.is-cta.is-full{grid-column:1/-1}
.pd-hl.is-cta a{color:var(--blue);font-weight:500;border-bottom:1px solid rgba(30,77,123,.35)}

/* colourway list */
.pd-colourlist{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}
.pd-cl{display:flex;align-items:center;gap:11px;padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.8px;color:var(--text-body)}
.pd-cl .dot{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.14);flex-shrink:0;background:var(--c1)}
.pd-cl .dot.two{background:linear-gradient(140deg,var(--c1) 0 50%,var(--c2) 50% 100%)}
.pd-cl .code{margin-left:auto;font-size:11px;color:var(--text-light);letter-spacing:.05em;white-space:nowrap}
.pd-cl.is-svc{background:var(--blue-pale)}
.pd-cl.is-svc span{font-weight:500;color:var(--blue)}

/* ---- responsive ---- */
@media(max-width:1100px){
  .pd-grid{gap:44px}
  .pd-facts{grid-template-columns:1fr 1fr}
  .pd-fact:nth-child(2){border-right:none}
  .pd-fact:nth-child(1),.pd-fact:nth-child(2){border-bottom:1px solid var(--line-2)}
}
@media(max-width:1024px){
  .pd-grid{grid-template-columns:1fr;gap:42px}
  .pd-top{padding:40px 0 64px}
  .pd-overview{grid-template-columns:1fr;gap:36px}
  .pd-fig{order:2}
  .pd-colourlist{grid-template-columns:repeat(3,1fr)}
  .pd-hl-grid{gap:24px 34px}
}
@media(max-width:768px){
  .pd-hl-grid{grid-template-columns:1fr;gap:22px}
  .pd-colourlist{grid-template-columns:1fr 1fr}
  .pd-def{grid-template-columns:104px 1fr;gap:14px}
}
@media(max-width:640px){
  .pd-thumbs{gap:9px}
  .pd-thumb-cap{display:none}
  .pd-swatches{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:8px}
  .pd-actions .btn{width:100%}
  .pd-colourlist{grid-template-columns:1fr}
  .pd-flag{left:12px;bottom:12px;font-size:10px;padding:6px 11px}
  .pd-pick{padding:17px 16px 18px}
}
