/* AEYA PDP, arm V10 "CONVERSION STACK v2". V9 rules first, then the V2 overrides at the foot. */

   Layout and component discipline copied from the two reference reels (a Sternify built
   dog bed page and a Sternify built supplement page): benefit checks under the title, a
   single review beside the buy button, payment marks under it, a stacked purchase ladder,
   a guarantees grid, a creator strip, a three step "how it works" band, and a sticky bar.
   Every commercial mechanic in those references that AEYA forbids (strike prices, save
   badges, discount codes, reservation timers, invented volume counts) is absent, and
   every number on this page is read from the product, the cart or the published policy.

   Prefix .cv- keeps these rules out of the shared sheet. Tokens come from aeya-tokens.css. */

.aeya-pdp--conversion2 {
  --cv-gap: var(--aeya-space-md, 1rem);
  --cv-check: var(--aeya-navy);
  color: var(--aeya-ink);
  background: var(--aeya-bg);
}

/* ---------- Announcement strip ---------- */

.cv-announce {
  background: var(--aeya-navy);
  color: var(--aeya-cloud);
  font-size: var(--aeya-size-2xs, 0.75rem);
  letter-spacing: var(--aeya-tracking-eyebrow, 0.13em);
  text-transform: uppercase;
  text-align: center;
  padding: 0.6rem var(--aeya-pdp-gutter, 1.25rem);
}

/* ---------- Two column shell ---------- */

.cv-shell {
  display: grid;
  gap: clamp(1.25rem, 3vw, 3rem);
  padding: var(--aeya-space-lg, 1rem) var(--aeya-pdp-gutter, 1.25rem) 0;
  max-inline-size: 90rem;
  margin-inline: auto;
}

@media screen and (min-width: 990px) {
  .cv-shell { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
  .cv-buybox { position: sticky; top: var(--aeya-space-lg, 1rem); }
}

/* ---------- Gallery ---------- */

.cv-gallery { display: grid; gap: var(--aeya-space-xs, 0.5rem); }

.cv-gallery__main {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--aeya-radius-card, 4px);
  background: var(--aeya-stone);
}

.cv-gallery__main img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
  transition: opacity var(--aeya-motion-fast, 0.298s) ease;
}

.cv-gallery__main.is-swapping img { opacity: 0; }

.cv-gallery__note {
  position: absolute;
  inset-inline-end: var(--aeya-space-sm, 0.75rem);
  inset-block-end: var(--aeya-space-sm, 0.75rem);
  margin: 0;
  padding: 0.35rem 0.6rem;
  background: rgba(8, 22, 51, 0.72);
  color: var(--aeya-cloud);
  font-size: var(--aeya-size-3xs, 0.625rem);
  letter-spacing: var(--aeya-tracking-eyebrow, 0.13em);
  text-transform: uppercase;
  border-radius: 3px;
}

.cv-gallery__thumbs {
  display: flex;
  gap: var(--aeya-space-xs, 0.5rem);
  overflow-x: auto;
  list-style: none;
  margin: 0;
  padding: 0;
  scrollbar-width: none;
}

.cv-gallery__thumbs::-webkit-scrollbar { display: none; }

.cv-gallery__thumbs button {
  inline-size: 4.25rem;
  aspect-ratio: 3 / 4;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--aeya-radius-card, 4px);
  overflow: hidden;
  cursor: pointer;
  background: none;
  flex: 0 0 auto;
}

.cv-gallery__thumbs button[aria-current='true'] { border-color: var(--aeya-navy); }
.cv-gallery__thumbs img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }

/* ---------- Buy box ---------- */

.cv-buybox { display: grid; gap: var(--cv-gap); }

.cv-athletes {
  display: flex;
  align-items: center;
  gap: var(--aeya-space-sm, 0.75rem);
  font-size: var(--aeya-size-xs, 0.8125rem);
  margin: 0;
}

.cv-athletes__faces { display: flex; list-style: none; margin: 0; padding: 0; }

.cv-athletes__faces li {
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--aeya-cloud);
  margin-inline-start: -0.5rem;
  background: var(--aeya-stone);
}

.cv-athletes__faces li:first-child { margin-inline-start: 0; }
.cv-athletes__faces img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.cv-athletes strong { font-weight: 500; }

.cv-head { display: grid; gap: var(--aeya-space-2xs, 0.25rem); }
.cv-head .aeya-title { margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.8rem); }
.cv-sub { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); opacity: 0.8; }

.cv-rating {
  display: flex;
  align-items: center;
  gap: var(--aeya-space-xs, 0.5rem);
  font-size: var(--aeya-size-xs, 0.8125rem);
  margin: 0;
}

.cv-stars { display: inline-flex; gap: 2px; }
.cv-stars svg { inline-size: 14px; block-size: 14px; fill: var(--aeya-navy); }

.cv-price {
  font-size: var(--aeya-size-xl, 1.25rem);
  font-weight: 500;
  margin: 0;
}

.cv-benefits { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }

.cv-benefits li {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: var(--aeya-size-sm, 0.875rem);
  line-height: 1.45;
}

.cv-benefits svg {
  flex: 0 0 auto;
  inline-size: 1.1rem;
  block-size: 1.1rem;
  margin-block-start: 0.1rem;
  border-radius: 50%;
  background: var(--cv-check);
  fill: none;
  stroke: var(--aeya-cloud);
  stroke-width: 2.4;
  padding: 0.2rem;
}

/* Colourways as garment tiles. Each tile is a link to the sibling product, because the
   live store keeps one product per colourway. Selected tile carries the navy hairline. */

.cv-field { display: grid; gap: var(--aeya-space-xs, 0.5rem); }

.cv-field__label {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: var(--aeya-size-2xs, 0.75rem);
  letter-spacing: var(--aeya-tracking-eyebrow, 0.13em);
  text-transform: uppercase;
  opacity: 0.8;
}

.cv-field__label button,
.cv-field__label a {
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cv-colours { display: flex; gap: var(--aeya-space-2xs, 0.25rem); list-style: none; margin: 0; padding: 0; }

.cv-colours a {
  display: block;
  inline-size: 58px;
  block-size: 88px;
  border: 1px solid var(--aeya-border);
  border-radius: var(--aeya-radius-card, 4px);
  overflow: hidden;
  background: var(--aeya-stone);
}

.cv-colours a[aria-current='page'] { border-color: var(--aeya-navy); }
.cv-colours img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }

.cv-colours__named {
  display: grid;
  grid-template-rows: 1fr auto;
  inline-size: 100%;
  block-size: 100%;
  font-size: 0.55rem;
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cv-fitline { margin: 0; font-size: var(--aeya-size-xs, 0.8125rem); opacity: 0.75; }

/* Stock. One factual line; orange dot only when the count is genuinely at or under the
   merchandiser's threshold. There is no "low stock" state driven by anything else. */

.cv-stock {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: var(--aeya-size-xs, 0.8125rem);
}

.cv-stock::before {
  content: '';
  inline-size: 0.5rem;
  block-size: 0.5rem;
  border-radius: 50%;
  background: var(--aeya-stock-in, #3ED660);
}

.cv-stock[data-state='low']::before { background: var(--aeya-stock-low, #EE9441); }
.cv-stock[data-state='out']::before { background: var(--aeya-stock-out, #C8C8C8); }

/* One review beside the buy button, rotating through every review with no filter. */

.cv-minireview {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--aeya-space-sm, 0.75rem);
  align-items: start;
  padding: var(--aeya-space-sm, 0.75rem) var(--aeya-space-md, 1rem);
  border: 1px solid var(--aeya-border);
  border-radius: var(--aeya-radius-card, 4px);
  font-size: var(--aeya-size-xs, 0.8125rem);
  line-height: 1.5;
}

.cv-minireview__who {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
  margin: 0 0 0.15rem;
}

.cv-minireview__verified {
  inline-size: 0.85rem;
  block-size: 0.85rem;
  border-radius: 50%;
  background: var(--aeya-navy);
  fill: none;
  stroke: var(--aeya-cloud);
  stroke-width: 2.5;
  padding: 0.15rem;
}

.cv-minireview__quote {
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cv-minireview__nav {
  display: grid;
  gap: 0.25rem;
}

.cv-minireview__nav button {
  inline-size: 1.5rem;
  block-size: 1.5rem;
  border: 1px solid var(--aeya-border);
  border-radius: 3px;
  background: none;
  color: var(--aeya-ink);
  cursor: pointer;
  font-size: 0.7rem;
  line-height: 1;
}

.cv-atb-wrap { display: grid; gap: var(--aeya-space-xs, 0.5rem); }
.cv-atb-wrap .aeya-atb { min-block-size: 3.4rem; font-size: var(--aeya-size-md, 1rem); letter-spacing: 0.1em; }
.cv-atb-wrap .aeya-atb small { display: block; font-size: 0.65rem; opacity: 0.75; letter-spacing: 0.13em; margin-block-start: 0.15rem; }

.cv-klarna { margin: 0; text-align: center; font-size: var(--aeya-size-2xs, 0.75rem); opacity: 0.8; }
.cv-klarna strong { font-weight: 500; }

.cv-marks {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.cv-marks li {
  font-size: var(--aeya-size-3xs, 0.625rem);
  letter-spacing: var(--aeya-tracking-micro, 0.06em);
  padding: 0.22rem 0.5rem;
  border: 1px solid var(--aeya-border);
  border-radius: 3px;
  opacity: 0.8;
  background: #fff;
}

.cv-delivery {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0;
  padding: var(--aeya-space-sm, 0.75rem) var(--aeya-space-md, 1rem);
  border: 1px solid var(--aeya-border);
  border-radius: var(--aeya-radius-card, 4px);
  font-size: var(--aeya-size-xs, 0.8125rem);
  line-height: 1.45;
}

.cv-delivery svg { flex: 0 0 auto; inline-size: 1.1rem; block-size: 1.1rem; fill: none; stroke: var(--aeya-navy); stroke-width: 1.6; margin-block-start: 0.1rem; }
.cv-delivery strong { font-weight: 500; }

/* ---------- Purchase ladder ---------- */

.cv-ladder { display: grid; gap: var(--aeya-space-xs, 0.5rem); }
.cv-ladder__head { display: flex; justify-content: space-between; align-items: baseline; margin: 0; }
.cv-ladder__head .aeya-eyebrow { margin: 0; opacity: 1; }
.cv-ladder__head small { font-size: var(--aeya-size-2xs, 0.75rem); opacity: 0.65; }

.cv-rung {
  position: relative;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: var(--aeya-space-sm, 0.75rem);
  align-items: center;
  padding: var(--aeya-space-sm, 0.75rem) var(--aeya-space-md, 1rem);
  border: 1px solid var(--aeya-border);
  border-radius: var(--aeya-radius-card, 4px);
  cursor: pointer;
  background: transparent;
  transition: border-color var(--aeya-motion-fast, 0.298s) ease, background var(--aeya-motion-fast, 0.298s) ease;
}

.cv-rung:has(input:checked) { border-color: var(--aeya-navy); background: rgba(8, 22, 51, 0.03); }
.cv-rung input { accent-color: var(--aeya-navy); margin: 0; }

.cv-rung__thumbs { display: flex; }
.cv-rung__thumbs img {
  inline-size: 2.4rem;
  block-size: 3.2rem;
  object-fit: cover;
  border-radius: 3px;
  border: 1px solid var(--aeya-border);
  background: var(--aeya-stone);
  margin-inline-start: -0.6rem;
}
.cv-rung__thumbs img:first-child { margin-inline-start: 0; }

.cv-rung__body { display: grid; gap: 0.15rem; min-inline-size: 0; }
.cv-rung__title { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); font-weight: 500; }
.cv-rung__line { margin: 0; font-size: var(--aeya-size-2xs, 0.75rem); opacity: 0.75; line-height: 1.4; }
.cv-rung__line svg { inline-size: 0.75rem; block-size: 0.75rem; vertical-align: -1px; fill: none; stroke: var(--aeya-navy); stroke-width: 2.4; margin-inline-end: 0.2rem; }
.cv-rung__price { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); font-weight: 500; white-space: nowrap; }
.cv-rung__price small { display: block; font-size: 0.65rem; font-weight: 400; opacity: 0.6; text-align: end; }

.cv-rung__tag {
  position: absolute;
  inset-block-start: -0.55rem;
  inset-inline-end: var(--aeya-space-md, 1rem);
  font-size: 0.6rem;
  letter-spacing: var(--aeya-tracking-eyebrow, 0.13em);
  text-transform: uppercase;
  background: var(--aeya-navy);
  color: var(--aeya-cloud);
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
}

@media screen and (max-width: 749px) {
  .cv-rung { grid-template-columns: auto auto 1fr auto; gap: 0.6rem; padding: 0.7rem 0.75rem; }
  .cv-rung__thumbs img { inline-size: 1.9rem; block-size: 2.5rem; margin-inline-start: -0.8rem; }
  .cv-rung__thumbs img:first-child { margin-inline-start: 0; }
  .cv-rung__line { font-size: 0.7rem; }
  .cv-rung__tag { inset-inline-end: 0.75rem; }
}

/* Extra size pickers, revealed for the rung that needs them. */
.cv-rung__sizes {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.4rem;
  padding-block-start: 0.5rem;
  border-block-start: 1px solid var(--aeya-border);
}
.cv-rung__sizes[hidden] { display: none; }
.cv-rung__sizerow { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; font-size: var(--aeya-size-2xs, 0.75rem); }
.cv-rung__sizerow span { min-inline-size: 4.5rem; opacity: 0.75; text-transform: uppercase; letter-spacing: 0.1em; }
.cv-rung__sizerow .aeya-sizes { gap: 0.3rem; }
.cv-rung__sizerow .aeya-size { min-inline-size: 2.4rem; min-block-size: 2.1rem; padding-inline: 0.5rem; font-size: 0.75rem; }

/* ---------- Guarantees ---------- */

.cv-guarantees {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--aeya-space-xs, 0.5rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

.cv-guarantees li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.6rem;
  align-items: start;
  padding: var(--aeya-space-sm, 0.75rem);
  border: 1px solid var(--aeya-border);
  border-radius: var(--aeya-radius-card, 4px);
  font-size: var(--aeya-size-2xs, 0.75rem);
  line-height: 1.4;
}

.cv-guarantees svg { inline-size: 1.25rem; block-size: 1.25rem; fill: none; stroke: var(--aeya-navy); stroke-width: 1.6; }
.cv-guarantees strong { display: block; font-weight: 500; font-size: var(--aeya-size-xs, 0.8125rem); margin-block-end: 0.1rem; }

/* How returns work */
.cv-returns { border-block-start: 1px solid var(--aeya-border); padding-block-start: var(--aeya-space-md, 1rem); }
.cv-returns summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; font-size: var(--aeya-size-2xs, 0.75rem); letter-spacing: var(--aeya-tracking-eyebrow, 0.13em); text-transform: uppercase; }
.cv-returns summary::-webkit-details-marker { display: none; }
.cv-returns summary::after { content: '+'; }
.cv-returns[open] summary::after { content: '\2212'; }
.cv-returns ol { margin: var(--aeya-space-sm, 0.75rem) 0 0; padding-inline-start: 1.1rem; font-size: var(--aeya-size-xs, 0.8125rem); line-height: 1.5; display: grid; gap: 0.35rem; }

/* ---------- Bands ---------- */

.cv-band { padding: clamp(2.5rem, 6vw, 4.5rem) var(--aeya-pdp-gutter, 1.25rem); max-inline-size: 90rem; margin-inline: auto; }
.cv-band--wash { background: var(--aeya-sky); max-inline-size: none; }
.cv-band--wash > * { max-inline-size: 90rem; margin-inline: auto; }
.cv-band--tight { padding-block-start: 0; }
.cv-band__head { display: grid; gap: 0.35rem; margin-block-end: clamp(1rem, 3vw, 2rem); }
.cv-band__head .aeya-title { margin: 0; font-size: clamp(1.2rem, 2.4vw, 1.6rem); }
.cv-band__head p { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); opacity: 0.75; max-inline-size: 36em; }

/* Creator strip: three tall cards, identical height, handle overlaid. */
.cv-creators { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--aeya-space-sm, 0.75rem); list-style: none; margin: 0; padding: 0; }
.cv-creators li { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--aeya-radius-card, 4px); background: var(--aeya-stone); }
.cv-creators img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.cv-creators figcaption {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: 1.75rem 0.75rem 0.65rem;
  background: linear-gradient(to top, rgba(8, 22, 51, 0.75), rgba(8, 22, 51, 0));
  color: var(--aeya-cloud);
  font-size: var(--aeya-size-2xs, 0.75rem);
  letter-spacing: 0.06em;
}
.cv-creators figcaption span { display: block; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.13em; opacity: 0.8; }
.cv-creators .cv-play {
  position: absolute; inset-inline-start: 50%; inset-block-start: 50%; transform: translate(-50%, -50%);
  inline-size: 2.5rem; block-size: 2.5rem; border-radius: 50%; background: rgba(255, 251, 244, 0.85);
  display: grid; place-items: center;
}
.cv-creators .cv-play::after { content: ''; border-style: solid; border-width: 0.45rem 0 0.45rem 0.75rem; border-color: transparent transparent transparent var(--aeya-navy); margin-inline-start: 0.15rem; }

@media screen and (max-width: 749px) {
  .cv-creators { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; }
  .cv-creators figcaption { padding-inline: 0.5rem; font-size: 0.65rem; }
}

/* Three steps */
.cv-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--aeya-space-md, 1rem); list-style: none; margin: 0; padding: 0; counter-reset: step; }
.cv-steps li { display: grid; gap: 0.6rem; }
.cv-steps figure { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--aeya-radius-card, 4px); background: var(--aeya-stone); }
.cv-steps img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.cv-steps h3 { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; display: flex; gap: 0.6rem; align-items: baseline; }
.cv-steps h3::before { counter-increment: step; content: counter(step, decimal-leading-zero); font-size: var(--aeya-size-2xs, 0.75rem); opacity: 0.55; letter-spacing: 0.13em; }
.cv-steps p { margin: 0; font-size: var(--aeya-size-sm, 0.875rem); line-height: 1.5; opacity: 0.85; }

@media screen and (max-width: 749px) {
  .cv-steps { grid-template-columns: 1fr; }
  .cv-steps li { grid-template-columns: 6rem 1fr; align-items: start; }
  .cv-steps figure { aspect-ratio: 3 / 4; }
  .cv-steps li > div { display: grid; gap: 0.3rem; }
}

/* FAQ */
.cv-faq { display: grid; border-block-start: 1px solid var(--aeya-border); }
.cv-faq details { border-block-end: 1px solid var(--aeya-border); }
.cv-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; font-size: var(--aeya-size-sm, 0.875rem); font-weight: 500; }
.cv-faq summary::-webkit-details-marker { display: none; }
.cv-faq summary::after { content: '+'; opacity: 0.6; }
.cv-faq details[open] summary::after { content: '\2212'; }
.cv-faq .cv-faq__a { margin: 0; padding: 0 0 0.9rem; font-size: var(--aeya-size-sm, 0.875rem); line-height: 1.55; opacity: 0.85; max-inline-size: 42em; }

/* Reviews band reuses .aeya-revcarousel. Cards get a verified mark row. */
.cv-revwho { display: flex; align-items: center; gap: 0.4rem; }

/* Sticky bar (mobile) reuses .aeya-stickybar; adds the thumbnail and size readout. */
.cv-sticky__thumb { inline-size: 2.4rem; block-size: 3rem; object-fit: cover; border-radius: 3px; }
.cv-sticky__meta { display: grid; min-inline-size: 0; }
.cv-sticky__meta strong { font-size: var(--aeya-size-xs, 0.8125rem); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cv-sticky__meta span { font-size: var(--aeya-size-2xs, 0.75rem); opacity: 0.7; }
.aeya-stickybar .cv-sticky__btn { margin-inline-start: auto; flex: 0 0 auto; inline-size: auto; padding-inline: 1.25rem; }

/* Toast after add */
.cv-toast {
  position: fixed;
  inset-inline: 1rem;
  inset-block-end: 5rem;
  z-index: 4;
  padding: 0.9rem 1rem;
  background: var(--aeya-navy);
  color: var(--aeya-cloud);
  border-radius: var(--aeya-radius-card, 4px);
  font-size: var(--aeya-size-sm, 0.875rem);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  transform: translateY(1rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.cv-toast.is-on { opacity: 1; transform: none; pointer-events: auto; }
.cv-toast a { color: inherit; }
@media screen and (min-width: 750px) { .cv-toast { inset-inline: auto 1.5rem; inset-block-end: 1.5rem; max-inline-size: 22rem; } }

/* Motion is enhancement only: nothing rests at opacity 0. */
@media (prefers-reduced-motion: reduce) {
  .aeya-pdp--conversion * { transition: none !important; scroll-behavior: auto !important; }
}


/* =====================================================================================
   V2 overrides. Bigger, quieter. Type up one step everywhere, imagery larger, fewer
   boxes. Everything below the fold gets more air. Trustpilot green is Trustpilot's own
   mark colour and appears only inside .cv-tp, never elsewhere.
   ===================================================================================== */

.aeya-pdp--conversion2 { --cv-gap: 1.35rem; --cv-check: var(--aeya-navy); --tp-green: #00b67a; font-size: 1rem; color: var(--aeya-ink); background: var(--aeya-bg); }
.cv-tp { flex-wrap: wrap; row-gap: 0.25rem; }

.aeya-pdp--conversion2 .cv-announce { font-size: 0.8125rem; padding-block: 0.75rem; }

@media screen and (min-width: 990px) {
  .aeya-pdp--conversion2 .cv-shell { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 4.5rem); padding-block-start: 2rem; }
}

.aeya-pdp--conversion2 .cv-gallery__thumbs button { inline-size: 5.5rem; }
.aeya-pdp--conversion2 .cv-gallery__note { font-size: 0.7rem; padding: 0.45rem 0.75rem; }

.aeya-pdp--conversion2 .cv-athletes { font-size: 0.9375rem; gap: 0.9rem; }
.aeya-pdp--conversion2 .cv-athletes__faces li { inline-size: 2.25rem; block-size: 2.25rem; }

.aeya-pdp--conversion2 .cv-head { gap: 0.5rem; }
.aeya-pdp--conversion2 .cv-head .aeya-title { font-size: clamp(1.5rem, 2.3vw, 2rem); letter-spacing: 0.16em; word-break: keep-all; hyphens: none; }
.aeya-pdp--conversion2 .cv-sub { font-size: 1.0625rem; opacity: 0.85; }
.aeya-pdp--conversion2 .cv-price { font-size: 1.6rem; }

.aeya-pdp--conversion2 .cv-benefits { gap: 0.7rem; }
.aeya-pdp--conversion2 .cv-benefits li { font-size: 1rem; line-height: 1.5; gap: 0.75rem; }
.aeya-pdp--conversion2 .cv-benefits svg { inline-size: 1.35rem; block-size: 1.35rem; padding: 0.28rem; margin-block-start: 0.12rem; }

.aeya-pdp--conversion2 .cv-field__label { font-size: 0.8125rem; }
.aeya-pdp--conversion2 .cv-colours { gap: 0.5rem; }
.aeya-pdp--conversion2 .cv-colours a { inline-size: 82px; block-size: 116px; }
.aeya-pdp--conversion2 .aeya-sizes { gap: 0.6rem; }
.aeya-pdp--conversion2 [data-cv-sizes] .aeya-size { min-inline-size: 3.75rem; min-block-size: 3.1rem; font-size: 1rem; }
.aeya-pdp--conversion2 .cv-fitline { font-size: 0.9375rem; }
.aeya-pdp--conversion2 .cv-stock { font-size: 0.9375rem; }

/* Trustpilot mark */
.cv-tp { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; color: inherit; font-size: 0.9375rem; }
.cv-tp__stars { display: inline-flex; gap: 2px; }
.cv-tp__star { display: inline-grid; place-items: center; inline-size: 1.35rem; block-size: 1.35rem; background: #dcdce6; }
.cv-tp__star svg { inline-size: 78%; block-size: 78%; fill: #fff; }
.cv-tp__star.is-on { background: var(--tp-green, #00b67a); }
.cv-tp__star.is-half { background: linear-gradient(to right, var(--tp-green, #00b67a) 50%, #dcdce6 50%); }
.cv-tp__stars--sm .cv-tp__star { inline-size: 1rem; block-size: 1rem; }
.cv-tp__word { font-weight: 500; }
.cv-tp__logo { display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 600; letter-spacing: 0.01em; }
.cv-tp__logo svg { inline-size: 1rem; block-size: 1rem; fill: var(--tp-green, #00b67a); }
.cv-tp--inline { font-size: 0.9375rem; opacity: 0.85; }

.aeya-pdp--conversion2 .cv-minireview { font-size: 0.9375rem; padding: 1rem 1.1rem; gap: 0.9rem; }
.aeya-pdp--conversion2 .cv-minireview__who { gap: 0.6rem; margin-block-end: 0.3rem; }
.aeya-pdp--conversion2 .cv-minireview__src { font-size: 0.75rem; opacity: 0.6; font-weight: 400; }
.aeya-pdp--conversion2 .cv-minireview__nav button { inline-size: 1.75rem; block-size: 1.75rem; }

.aeya-pdp--conversion2 .cv-atb-wrap .aeya-atb { min-block-size: 3.75rem; font-size: 1.0625rem; }
.aeya-pdp--conversion2 .cv-klarna { font-size: 0.875rem; }
.aeya-pdp--conversion2 .cv-marks li { font-size: 0.7rem; padding: 0.3rem 0.6rem; }
.aeya-pdp--conversion2 .cv-delivery { font-size: 0.9375rem; padding: 0.9rem 1.1rem; }
.aeya-pdp--conversion2 .cv-delivery svg { inline-size: 1.25rem; block-size: 1.25rem; }

/* Ladder: bigger thumbs, fewer words */
.aeya-pdp--conversion2 .cv-ladder { gap: 0.6rem; }
.aeya-pdp--conversion2 .cv-ladder__head .aeya-eyebrow { font-size: 0.8125rem; }
.aeya-pdp--conversion2 .cv-ladder__head small { font-size: 0.8125rem; }
.aeya-pdp--conversion2 .cv-rung { padding: 0.9rem 1.1rem; gap: 1rem; }
.aeya-pdp--conversion2 .cv-rung__thumbs img { inline-size: 3rem; block-size: 4rem; margin-inline-start: -0.9rem; }
.aeya-pdp--conversion2 .cv-rung__thumbs img:first-child { margin-inline-start: 0; }
.aeya-pdp--conversion2 .cv-rung__title { font-size: 1rem; }
.aeya-pdp--conversion2 .cv-rung__line { font-size: 0.8125rem; }
.aeya-pdp--conversion2 .cv-rung__price { font-size: 1rem; }
.aeya-pdp--conversion2 .cv-rung__tag { font-size: 0.65rem; }
.aeya-pdp--conversion2 .cv-rung__sizerow { font-size: 0.8125rem; }
.aeya-pdp--conversion2 .cv-rung__sizerow .aeya-size { min-inline-size: 2.75rem; min-block-size: 2.4rem; font-size: 0.85rem; }

/* Three quiet assurances instead of the grid */
.cv-assure { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; list-style: none; margin: 0; padding: 0.25rem 0 0; }
.cv-assure li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; opacity: 0.85; }
.cv-assure svg { inline-size: 1.1rem; block-size: 1.1rem; fill: none; stroke: var(--aeya-navy); stroke-width: 1.6; }

/* Bands */
.aeya-pdp--conversion2 .cv-band { padding-block: clamp(3rem, 7vw, 6rem); }
.aeya-pdp--conversion2 .cv-band__head { margin-block-end: clamp(1.5rem, 3.5vw, 2.5rem); }
.aeya-pdp--conversion2 .cv-band__head .aeya-title { font-size: clamp(1.5rem, 2.8vw, 2rem); }
.aeya-pdp--conversion2 .cv-band__head p { font-size: 1rem; }
.aeya-pdp--conversion2 .cv-creators { gap: 1rem; }
.aeya-pdp--conversion2 .cv-creators figcaption { font-size: 0.875rem; padding: 2.25rem 1rem 0.9rem; }
.aeya-pdp--conversion2 .cv-creators figcaption span { font-size: 0.65rem; }
.aeya-pdp--conversion2 .cv-steps { gap: 1.5rem; }
.aeya-pdp--conversion2 .cv-steps h3 { font-size: 1rem; }
.aeya-pdp--conversion2 .cv-steps p { font-size: 1rem; }

/* Review cards: real, roomy, green Trustpilot stars */
.aeya-pdp--conversion2 .aeya-revcard { block-size: auto; min-block-size: 13rem; padding: 1.35rem; gap: 0.6rem; background: #fff; border-color: var(--aeya-border); }
.aeya-pdp--conversion2 .aeya-revcard__eyebrow { font-size: 0.7rem; opacity: 0.6; }
.cv-revtitle { margin: 0; font-size: 1rem; font-weight: 500; }
.aeya-pdp--conversion2 .aeya-revcard__quote { font-size: 0.9375rem; line-height: 1.55; -webkit-line-clamp: unset; display: block; max-block-size: none; overflow: visible; }
.aeya-pdp--conversion2 .aeya-revcard__by { font-size: 0.75rem; opacity: 0.7; margin-block-start: auto; }
.aeya-pdp--conversion2 .aeya-revcarousel__track { gap: 1rem; }

.aeya-pdp--conversion2 .cv-faq summary { font-size: 1rem; padding: 1.1rem 0; }
.aeya-pdp--conversion2 .cv-faq .cv-faq__a { font-size: 0.9375rem; }

@media screen and (max-width: 749px) {
  .aeya-pdp--conversion2 .cv-colours a { inline-size: 72px; block-size: 100px; }
  .aeya-pdp--conversion2 .cv-head .aeya-title { font-size: 1.55rem; letter-spacing: 0.14em; }
  .aeya-pdp--conversion2 .cv-rung { padding: 0.8rem 0.85rem; gap: 0.7rem; }
  .aeya-pdp--conversion2 .cv-rung__thumbs img { inline-size: 2.4rem; block-size: 3.2rem; margin-inline-start: -1rem; }
  .aeya-pdp--conversion2 .cv-rung__thumbs img:first-child { margin-inline-start: 0; }
  .aeya-pdp--conversion2 .cv-rung__line { font-size: 0.75rem; }
}

.cv-tp__score { font-size: 0.8125rem; opacity: 0.7; }
.aeya-pdp--conversion2 .cv-rung__line svg { inline-size: 0.85rem; block-size: 0.85rem; }

/* Buy box rhythm. The product form is ONE child of the .cv-buybox grid, so the grid
   gap never reached the controls inside it and colour, size, stock, review, button,
   delivery and ladder stacked with no air. The form is now its own grid. */
.aeya-pdp--conversion2 form[data-cv-form] { display: grid; gap: 1.1rem; }
.cv-ladder { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
.cv-ladder__head { padding: 0; margin-block-end: 0.35rem; inline-size: 100%; }


/* Buy box rhythm, v2: more air between every control. */
.aeya-pdp--conversion2 { --cv-gap: 1.75rem; }
.aeya-pdp--conversion2 form[data-cv-form] { display: grid; gap: 1.5rem; }
.aeya-pdp--conversion2 .cv-field { gap: 0.75rem; }
.aeya-pdp--conversion2 .cv-fitline { margin-block-start: 0.25rem; }
.aeya-pdp--conversion2 .cv-stock { margin-block-start: -0.5rem; }
.aeya-pdp--conversion2 .cv-atb-wrap { gap: 0.75rem; margin-block-start: 0.25rem; }
.aeya-pdp--conversion2 .cv-ladder { gap: 0.75rem; margin-block-start: 0.5rem; }
.aeya-pdp--conversion2 .cv-ladder__head { margin-block-end: 0.5rem; }
.aeya-pdp--conversion2 .cv-assure { padding-block-start: 0.5rem; }
