/* ============ PRODUCT PAGE (dark) ============ */

.pdp { padding-block: clamp(18px, 2.6vw, 36px) clamp(48px, 6vw, 80px); }
.pdp__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(28px, 4vw, 60px); align-items: start; }
@media (max-width: 920px){ .pdp__grid { grid-template-columns: 1fr; } }

/* ---------- Gallery ---------- */
.gallery { position: sticky; top: 92px; }
.gallery__main { border-radius: var(--radius-lg); overflow: hidden; background: var(--panel); border: 1px solid var(--line-soft);
  aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; }
.gallery__main img { width: 100%; height: 100%; object-fit: contain; transition: opacity .25s var(--ease); }
.gallery__thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: .55rem; margin-top: .7rem; }
.gallery__thumb { border-radius: 10px; overflow: hidden; border: 2px solid transparent; cursor: pointer;
  background: var(--panel); aspect-ratio: 1; padding: 0; transition: border-color .15s; }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery__thumb.active { border-color: var(--accent); }
@media (max-width: 920px){ .gallery { position: static; } }

/* ---------- Buy box ---------- */
.buybox h1 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); font-weight: 800; line-height: 1.18; margin: .45rem 0 .7rem; }
.buybox__rating { display: flex; align-items: center; gap: .55rem; font-size: .86rem; font-weight: 600; color: var(--t-mid); }
.buybox__desc { color: var(--t-mid); font-size: .94rem; margin-bottom: 1.1rem; line-height: 1.65; }
.buybox__checks { list-style: none; margin: 0 0 1.3rem; display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; }
.buybox__checks li { display: flex; gap: .5rem; align-items: baseline; font-weight: 600; font-size: .86rem; color: var(--t-hi); }
.buybox__checks li::before { content: "✓"; color: var(--accent); font-weight: 900; }
@media (max-width: 560px){ .buybox__checks { grid-template-columns: 1fr; } }

/* scarcity */
.scarcity { margin-bottom: 1.3rem; }
.scarcity__label { display: flex; justify-content: space-between; font-size: .78rem; font-weight: 700; color: var(--bad); margin-bottom: .4rem; }
.scarcity__bar { height: 5px; border-radius: 99px; background: rgba(255,255,255,.09); overflow: hidden; }
.scarcity__fill { height: 100%; width: 92%; border-radius: 99px; background: var(--grad-gold); position: relative; overflow: hidden; }
.scarcity__fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.5) 50%, transparent 70%); transform: translateX(-100%); animation: scarcity-sweep 2.4s ease-in-out infinite; }
@keyframes scarcity-sweep { 60%, 100% { transform: translateX(100%); } }

/* delivery + cta (uses .shipnote from page.css, left-aligned here) */
.buybox .shipnote { justify-content: flex-start; margin: 1rem 0; }
.buybox__cta .btn { width: 100%; padding: 1rem 1.5rem; font-size: 1.05rem; flex-direction: column; gap: .1rem; }
.buybox__cta .btn .sub { font-family: var(--font-body); font-weight: 600; font-size: .68rem; opacity: .85; }
.buybox__assure { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-top: .9rem; }
.buybox__assure .assure { font-size: .72rem; }

/* gifts */
.gifts { margin-top: 1.5rem; background: linear-gradient(140deg, var(--panel), rgba(226,154,60,.08));
  border: 1px dashed rgba(226,154,60,.55); border-radius: var(--radius-lg); padding: 1rem 1.2rem; }
.gifts__title { font-family: var(--font-head); font-weight: 800; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--t-hi); margin-bottom: .8rem; }
.gifts__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.gift { text-align: center; font-size: .74rem; font-weight: 600; color: var(--t-mid); line-height: 1.35; }
.gift__ico { width: 42px; height: 42px; margin: 0 auto .4rem; border-radius: 10px; background: var(--panel-2); border: 1px solid var(--line-soft);
  display: flex; align-items: center; justify-content: center; color: var(--accent); }
.gift b { display: block; color: var(--good); font-weight: 800; font-size: .7rem; }

/* trust tiles */
.pdp-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-top: 1.5rem; }
.pdp-trust div { text-align: center; font-size: .7rem; font-weight: 700; color: var(--t-mid); line-height: 1.3; }
.pdp-trust svg { display: block; margin: 0 auto .4rem; color: var(--accent); }
@media (max-width: 560px){ .pdp-trust { grid-template-columns: 1fr 1fr; } }

/* info accordions */
.infoacc { margin-top: 1.6rem; border-top: 1px solid var(--line); }
.infoacc__item { border-bottom: 1px solid var(--line); }
.infoacc__q { width: 100%; background: none; border: none; cursor: pointer; text-align: left;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0;
  font-family: var(--font-head); font-weight: 700; font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; color: var(--t-hi); }
.infoacc__q .plus { color: var(--accent); font-size: 1.25rem; transition: transform .25s var(--ease); font-weight: 400; }
.infoacc__item.open .infoacc__q .plus { transform: rotate(45deg); }
.infoacc__a { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); color: var(--t-mid); font-size: .92rem; line-height: 1.65; }
.infoacc__item.open .infoacc__a { max-height: 620px; }
.infoacc__a strong { color: var(--t-hi); }

/* 3-step cycle */
.step { text-align: left; }
.step__num { font-family: var(--font-head); font-weight: 800; font-size: 2.2rem; color: var(--accent); line-height: 1; margin-bottom: .55rem; }
.step h3 { font-size: 1.08rem; margin-bottom: .4rem; }
.step p { font-size: .9rem; color: var(--t-mid); }

/* compat: old benefit icons on product page */
.benefit__ico { width: 50px; height: 50px; border-radius: 12px; background: rgba(226,154,60,.12);
  border: 1px solid rgba(226,154,60,.4); display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem; color: var(--accent); }
.benefit h3 { margin-bottom: .45rem; }
.benefit p { font-size: .92rem; }
.buybox__cta .btn .row { display: inline-flex; align-items: baseline; gap: .15rem; }

/* ===== Trust marquee ticker (fix: was unstyled raw text) ===== */
.trust {
  overflow: hidden;
  background: var(--navy-deep);
  border-top: 1px solid rgba(184,202,212,.10);
  border-bottom: 1px solid rgba(184,202,212,.10);
  padding: 18px 0;
}
.trust__track {
  display: flex;
  width: max-content;
  animation: trust-scroll 32s linear infinite;
}
.trust__row {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding-right: 0; /* second row butts up for seamless loop */
}
.trust__row span {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 0 34px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: .82rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sky);
}
.trust__row span::after {
  content: "";
  width: 5px;
  height: 5px;
  margin-left: 34px;
  border-radius: 50%;
  background: var(--accent);
  opacity: .85;
}
@keyframes trust-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .trust__track { animation: none; }
  .trust { overflow-x: auto; }
}
