/* ===================================================================
   GORILLO 2026 — PDP add-on
   Layout-only additions for the single-product detail page.
   Every class is g-pdp- prefixed. Loads AFTER gorillo-2026.css and
   reuses its tokens (--g-gold, --g-surface, …). Never edit the core.
   =================================================================== */

/* ---------- PDP hero: gallery + buy box ---------- */
.g-pdp-hero{
  position:relative; overflow:hidden;
  padding-block:clamp(38px,5vw,72px) clamp(44px,6vw,84px);
  background:
    radial-gradient(110% 80% at 30% 40%, rgba(212,175,55,.14) 0%, rgba(212,175,55,0) 60%),
    linear-gradient(180deg,#08080a 0%, var(--g-bg) 100%);
}
.g-pdp-hero__in{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(28px,4.5vw,58px); align-items:start;
}
@media (max-width:900px){ .g-pdp-hero__in{ grid-template-columns:1fr; } }

/* --- gallery --- */
.g-pdp-gal{ min-width:0; }
.g-pdp-gal__stage{
  position:relative; border:1px solid var(--g-line-2); border-radius:var(--g-r);
  background:linear-gradient(150deg, rgba(212,175,55,.07), rgba(212,175,55,0) 58%), var(--g-surface);
  aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  padding:clamp(26px,4vw,48px); overflow:hidden;
}
.g-pdp-gal__stage::before{
  content:""; position:absolute; width:70%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.26) 0%, rgba(212,175,55,0) 68%);
  filter:blur(16px);
}
.g-pdp-gal__img{
  position:relative; width:100%; height:100%;
  object-fit:contain; filter:drop-shadow(0 28px 52px rgba(0,0,0,.7));
}
.g-pdp-gal__thumbs{ display:flex; gap:12px; margin-top:14px; flex-wrap:wrap; }
.g-pdp-gal__thumb{
  width:84px; height:84px; flex:none; padding:0; cursor:pointer;
  background:var(--g-surface); border:1px solid var(--g-line);
  border-radius:10px; overflow:hidden;
  transition:border-color .18s ease, transform .18s ease;
}
.g-pdp-gal__thumb img{ width:100%; height:100%; object-fit:cover; }
.g-pdp-gal__thumb:hover{ border-color:rgba(212,175,55,.5); transform:translateY(-2px); }
.g-pdp-gal__thumb[aria-current="true"]{ border-color:var(--g-gold); }

/* --- buy box --- */
.g-pdp-buy{ min-width:0; }
.g-pdp-buy .g-h1{
  font-size:clamp(2.1rem,4.2vw,3.2rem); line-height:1; margin-bottom:16px;
}
.g-pdp-buy__price{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin-bottom:6px;
}
.g-pdp-buy__price b{
  font-family:var(--g-display); font-weight:700; font-size:2.1rem; line-height:1;
}
.g-pdp-buy__price span{ font-size:.86rem; color:var(--g-faint); }
.g-pdp-buy__meta{ font-size:.86rem; color:var(--g-muted); margin:0 0 20px; }
.g-pdp-buy__pitch{ color:var(--g-muted); font-size:.97rem; margin-bottom:24px; }
.g-pdp-buy__pitch p{ margin-bottom:.85em; }
.g-pdp-buy__cta{ margin-bottom:20px; }

.g-pdp-facts{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:11px; }
.g-pdp-facts li{
  display:flex; align-items:flex-start; gap:11px;
  font-size:.9rem; color:var(--g-muted);
}
.g-pdp-facts svg{ width:17px; height:17px; flex:none; margin-top:3px; color:var(--g-gold); }

/* ---------- Protocol Architect ---------- */
.g-pdp-arch{
  border:1px solid var(--g-line); border-radius:var(--g-r);
  background:linear-gradient(160deg, rgba(212,175,55,.06), rgba(212,175,55,0) 55%), var(--g-surface);
  overflow:hidden;
}
.g-pdp-arch__head{
  padding:clamp(22px,3vw,32px); border-bottom:1px solid var(--g-line-2);
  background:var(--g-bg-2);
}
.g-pdp-arch__head h2{
  font-family:var(--g-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.3rem,2.4vw,1.75rem); letter-spacing:.06em; margin:0;
}
.g-pdp-arch__body{ padding:clamp(22px,3vw,34px); }
.g-pdp-arch__label{
  display:block; font-family:var(--g-display); font-weight:500;
  font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--g-faint); margin-bottom:9px;
}
.g-pdp-arch__select{
  width:100%; max-width:460px; background:var(--g-surface-2); color:var(--g-text);
  border:1px solid var(--g-line); border-radius:9px;
  padding:14px 16px; font-family:var(--g-body); font-size:.95rem;
  transition:border-color .18s ease;
}
.g-pdp-arch__select:focus{ outline:none; border-color:var(--g-gold); }
.g-pdp-arch__btn{ margin-top:18px; }

/* loader */
.g-pdp-arch__loader{ display:none; margin-top:26px; }
.g-pdp-arch__console{
  font-family:var(--g-display); font-size:.78rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--g-gold); margin-bottom:10px;
}
.g-pdp-arch__barbg{ height:4px; background:rgba(255,255,255,.08); border-radius:100px; overflow:hidden; }
.g-pdp-arch__bar{ height:100%; width:0; background:var(--g-gold); transition:width .45s ease; }

/* results */
.g-pdp-arch__res{ display:none; margin-top:28px; }
.g-pdp-arch__mech{
  border-left:2px solid var(--g-gold); padding:4px 0 4px 20px; margin-bottom:22px;
}
.g-pdp-arch__mech-t{
  display:block; font-family:var(--g-display); font-weight:600;
  font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--g-gold); margin-bottom:8px;
}
.g-pdp-arch__mech p{ font-size:.94rem; color:var(--g-muted); margin:0; }

.g-pdp-arch__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media (max-width:760px){ .g-pdp-arch__grid{ grid-template-columns:1fr; } }
.g-pdp-arch__card{
  background:var(--g-bg-2); border:1px solid var(--g-line-2);
  border-radius:11px; padding:22px;
}
.g-pdp-arch__card-h{
  font-family:var(--g-display); font-weight:600; font-size:.8rem;
  letter-spacing:.18em; text-transform:uppercase; margin-bottom:12px;
  display:flex; align-items:center; gap:9px;
}
.g-pdp-arch__card--pre .g-pdp-arch__card-h{ color:var(--g-gold); }
.g-pdp-arch__card--post .g-pdp-arch__card-h{ color:var(--g-text); }
.g-pdp-arch__card-t{ font-size:.92rem; color:var(--g-muted); line-height:1.75; }
.bw-high{ color:var(--g-text); font-weight:600; }

.g-pdp-arch__cta{
  margin-top:26px; padding-top:22px; border-top:1px solid var(--g-line-2);
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.g-pdp-arch__cta p{
  margin:0; font-size:.76rem; color:var(--g-faint);
  letter-spacing:.06em; text-transform:uppercase;
}

/* ---------- description bullets ---------- */
.g-pdp-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; max-width:62ch; }
.g-pdp-list li{
  position:relative; padding-left:26px; font-size:.95rem; color:var(--g-muted);
}
.g-pdp-list li::before{
  content:""; position:absolute; left:2px; top:.62em;
  width:8px; height:8px; border-radius:2px; background:var(--g-gold);
}
.g-pdp-cols{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,4vw,54px); align-items:start; }
@media (max-width:860px){ .g-pdp-cols{ grid-template-columns:1fr; } }
.g-pdp-fine{ font-size:.84rem; color:var(--g-faint); max-width:70ch; }
