/* ============================================
   AQUAPAW PDP
   Location: /assets/css/single-product/aquapaw.css
   ============================================ */

/* ── Hide default pack + size rows/swatches (driven by custom builder) ── */
tr:has(select[name="attribute_pack"]),
tr:has(select[name="attribute_size"]) {
    display: none !important;
}
ul.cgkit-attribute-swatches[data-attribute="attribute_pack"],
ul.cgkit-attribute-swatches[data-attribute="attribute_size"],
.cfvsw_optin[data-attribute="attribute_pack"],
.cfvsw_optin[data-attribute="attribute_size"] {
    display: none !important;
}

/* ── Pack selector ── */
.aquapaw-pack-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #222;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.aquapaw-pack-chosen {
    font-weight: 400;
    color: #222;
    text-transform: none;
    font-size: 14px;
}

.aquapaw-pack-options {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    margin-bottom: 8px;
    padding-top: 8px;
}

.aquapaw-pack-option {
    position: relative;
    cursor: pointer;
    text-align: center;
}

/* ── Badges ── */
.aquapaw-pack-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    white-space: nowrap;
    z-index: 4;
    pointer-events: none;
}

.aquapaw-pack-badge--empty  { visibility: hidden; }
.aquapaw-pack-badge--blue   { background: #2a5298; color: #fff; }
.aquapaw-pack-badge--purple { background: #6d7a5f; color: #fff; }
.aquapaw-star               { color: #FFD700; }

/* ── Cards ── */
.aquapaw-pack-card {
    border: 2px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 6px;
    background: #fff;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    min-height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.aquapaw-pack-option:hover .aquapaw-pack-card {
    border-color: #2a5298;
    box-shadow: 0 2px 8px rgba(42,82,152,0.12);
}

.aquapaw-pack-option.active .aquapaw-pack-card {
    border-color: #2a5298;
    background: #eef2ff;
    box-shadow: 0 0 0 1px #2a5298, 0 2px 8px rgba(42,82,152,0.15);
}

.aquapaw-pack-name {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    display: block;
    margin-bottom: 2px;
}

.aquapaw-pack-option.active .aquapaw-pack-name { color: #2a5298; }

.aquapaw-pack-sub {
    font-size: 11px;
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    line-height: 1.4;
    flex-wrap: nowrap;
}

@media (max-width: 1078px) {
    .aquapaw-pack-sub {
        flex-direction: column;
        gap: 0;
    }
}

.aquapaw-pack-sub--gray   { color: #888; font-weight: 400; }
.aquapaw-pack-sub--green  { color: #2a5298; }
.aquapaw-pack-sub--purple { color: #6d7a5f; }

.aquapaw-pack-selector {
    margin-bottom: 12px;
}

/* ── Gift box ── */
.aquapaw-gift-box {
    margin-bottom: 12px;
}

.aquapaw-gift-box__inner {
    background: #f0fdf4;
    border-radius: 10px;
    padding: 14px 16px;
}

.aquapaw-gift-box__title {
    font-size: 12px;
    font-weight: 700;
    color: #3a6f5b;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.aquapaw-icon--check {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    flex-shrink: 0;
}

.aquapaw-gift-box__items {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.aquapaw-gift-item__left {
    display: flex;
    align-items: center;
}

.aquapaw-gift-box__item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 13px;
    color: #333;
    gap: 0;
}

.aquapaw-gift-box__savings {
    font-size: 12px;
    font-weight: 600;
    color: #3a6f5b;
    margin-top: 10px;
}

/* ── Bundle builder: per-mat size slots ── */
.aquapaw-slots { margin: 12px 0 4px; }
.aquapaw-slot-head {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 12px; font-weight: 600; color: #222; margin-bottom: 8px;
    text-transform: uppercase; letter-spacing: 0.5px;
}
.aquapaw-slot-reset { font-size: 11px; font-weight: 500; color: #2a5298; cursor: pointer; text-transform: none; letter-spacing: normal; }
.aquapaw-slot-reset:hover { text-decoration: underline; }
.aquapaw-slot-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.aquapaw-slot-label { font-size: 11px; color: #888; width: 42px; flex-shrink: 0; }
.aquapaw-slot-chips { display: flex; gap: 5px; flex: 1; }
.aquapaw-chip {
    flex: 1; font-size: 11px; font-weight: 500; padding: 8px 2px;
    border-radius: 8px; cursor: pointer; text-align: center;
    border: 1.5px solid #e5e7eb; background: #fff; color: #555;
    transition: border-color .15s, background .15s, color .15s;
}
.aquapaw-chip:hover { border-color: #2a5298; }
.aquapaw-chip.active { border-color: #2a5298; background: #eef2ff; color: #2a5298; }
.aquapaw-slot-or { font-size: 11px; color: #888; margin: 12px 0 6px; }

/* 3-mat complete set hero */
.aquapaw-3set {
    position: relative; cursor: pointer;
    border: 2px solid #e5e7eb; background: #fff; border-radius: 10px;
    padding: 12px 12px 11px; margin: 8px 0 4px;
    transition: border-color .15s, background .15s;
}
.aquapaw-3set:hover { border-color: #2a5298; }
.aquapaw-3set.active { border-color: #2a5298; background: #eef2ff; }
.aquapaw-3set__badge {
    position: absolute; top: -9px; left: 12px;
    font-size: 9px; font-weight: 700; padding: 2px 8px; border-radius: 20px;
    background: #6d7a5f; color: #fff; white-space: nowrap;
}
.aquapaw-3set__row { display: flex; justify-content: space-between; align-items: center; }
.aquapaw-3set__name { font-size: 13px; font-weight: 700; color: #111; }
.aquapaw-3set.active .aquapaw-3set__name { color: #2a5298; }
.aquapaw-3set__tick { color: #2a5298; font-weight: 700; font-size: 14px; }
.aquapaw-3set__sub { font-size: 11px; color: #666; margin-top: 3px; }

/* ── Save pill in the box header ── */
.aquapaw-gift-box__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.aquapaw-gift-box__head .aquapaw-gift-box__title { margin-bottom: 0; }
.aquapaw-save-pill {
    font-size: 11px; font-weight: 700; white-space: nowrap;
    padding: 4px 10px; border-radius: 20px;
    background: #fdecea; color: #c0392b;
}

/* ── #4 Multi-mat upsell pills ── */
/* Multi-mat upsell — caption + hover/tap tooltip (Option C) */
.aquapaw-usecase { position: relative; margin: 2px 0 10px; }
.aquapaw-usecase__info { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.aquapaw-usecase__paw { flex-shrink: 0; color: #3a6f5b; display: block; }
.aquapaw-usecase__caption { font-size: 12px; color: #666; }
.aquapaw-usecase__why { font-size: 12px; font-weight: 500; color: #2a5298; text-decoration: underline; white-space: nowrap; }
.aquapaw-usecase__info:hover .aquapaw-usecase__why,
.aquapaw-usecase__info:focus .aquapaw-usecase__why { color: #1e3d70; }
.aquapaw-usecase__pop {
    position: absolute; left: 0; top: calc(100% + 6px); z-index: 20;
    display: flex; flex-wrap: wrap; gap: 5px; width: max-content; max-width: 260px;
    background: #fff; border: 1px solid #e6e8ee; border-radius: 10px; padding: 22px 10px 9px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    opacity: 0; visibility: hidden; transform: translateY(-3px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.aquapaw-usecase__info:hover ~ .aquapaw-usecase__pop,
.aquapaw-usecase.is-open .aquapaw-usecase__pop { opacity: 1; visibility: visible; transform: translateY(0); }
.aquapaw-usecase__close { position: absolute; top: 4px; right: 5px; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: none; color: #9aa3b8; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.aquapaw-usecase__close:hover { color: #444; }
.aquapaw-usecase__pill { font-size: 11px; color: #3a6f5b; background: #eef7f1; border-radius: 20px; padding: 4px 10px; white-space: nowrap; }

/* ── #1 Gift-unlock nudge ── */
.aquapaw-nudge { margin: 12px 0 4px; padding: 10px 12px; border: 1px dashed #b7d8c6; border-radius: 10px; background: #f4fbf7; cursor: pointer; transition: border-color .15s, background .15s; }
.aquapaw-nudge:hover { border-color: #3a6f5b; background: #eef7f1; }
.aquapaw-nudge__row { display: flex; align-items: center; gap: 8px; }
.aquapaw-nudge__ico { flex-shrink: 0; }
.aquapaw-nudge__text { flex: 1; font-size: 12.5px; color: #1f1f1f; line-height: 1.4; }
.aquapaw-nudge__text strong { color: #3a6f5b; }
.aquapaw-nudge__cta { font-size: 12px; font-weight: 700; color: #2a5298; white-space: nowrap; }
.aquapaw-nudge__bar { height: 5px; border-radius: 6px; background: #dcebe2; overflow: hidden; margin-top: 8px; }
.aquapaw-nudge__fill { height: 100%; background: #3a6f5b; border-radius: 6px; transition: width .3s ease; }
.aquapaw-nudge--done { cursor: default; border-style: solid; border-color: #3a6f5b; background: #eef7f1; }
.aquapaw-nudge--done:hover { border-color: #3a6f5b; background: #eef7f1; }
.aquapaw-nudge__cta--done { color: #3a6f5b; }

/* ── #6 3-pack anchor: emphasized via the ✦✦ Best Value ✦✦ badge (no card tint) ── */

/* ── Free-gift chips inside the box ── */
.aquapaw-box-gifts { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.aquapaw-gift-chip {
    display: flex; align-items: center; gap: 10px;
    background: #e4f6ec; border-radius: 10px; padding: 8px 10px;
    box-shadow: 0 1px 2px rgba(20, 50, 35, 0.07);
}
.aquapaw-gift-chip__img {
    width: 36px; height: 36px; border-radius: 8px; object-fit: cover;
    background: #fff; border: 1px solid #e3ede7; flex-shrink: 0;
}
.aquapaw-gift-chip__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.aquapaw-gift-chip__name { font-size: 12.5px; font-weight: 600; color: #1f1f1f; line-height: 1.35; }
.aquapaw-gift-chip__view { display: inline-flex; align-items: center; vertical-align: middle; margin-left: 4px; color: #3a6f5b; text-decoration: none; padding: 1px 2px; }
.aquapaw-gift-chip__view:hover { color: #2c5344; }
.aquapaw-gift-chip__view svg { display: block; }
.aquapaw-gift-chip__val { font-size: 11px; color: #666; }
.aquapaw-gift-chip__val s { color: #999; }
.aquapaw-gift-chip__free {
    font-size: 11px; font-weight: 700; color: #fff; background: #3a6f5b;
    padding: 3px 9px; border-radius: 6px; flex-shrink: 0;
}

/* ── Box contents + total-value line ── */
.aquapaw-box-size { color: #888; font-weight: 400; }
#aquapaw-box-value { padding-top: 10px; margin-top: 10px; border-top: 1px solid #d3ece0; }
#aquapaw-box-value s { color: #9aa3b8; }
/* ── Pack trigger ── */
.aquapaw-pack-trigger {
    display: block;
    font-size: 10px;
    color: #888;
    margin-top: 4px;
    line-height: 1.3;
    text-align: center;
}


/* ═══════════════════════════════════════════
   AquaPaw PDP Long Description — v4 Production
   ═══════════════════════════════════════════ */

.aq-long {
  --aq-sapphire: #2A5298;
  --aq-sapphire-deep: #1E3F7A;
  --aq-cream: #F5F1ED;
  --aq-charcoal: #1F1F1F;
  --aq-gold: #D4A574;
  --aq-trust: #3a6f5b;
  --aq-trust-bg: #f0fdf4;
  --aq-muted: #6B5B4F;
  --aq-border: #E8E1D8;
  --aq-white: #FFFFFF;
  --aq-radius: 8px;
  --aq-radius-sm: 6px;
  --aq-radius-pill: 100px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.aq-long img { display: block; max-width: 100%; height: auto; }
.aq-long video { display: block; width: 100%; height: auto; }

/* ── wpautop defense ──
   WordPress injects <p> and <br> between block elements.
   Kill direct-child p/br of .aq-long (stops gaps between bleed sections)
   and inside all grid/flex layout containers. */
.aq-long > p,
.aq-long > br { display: none !important; }
.aq-long p:empty { display: none; }
.aq-bleed > p, .aq-bleed > br,
.aq-inner > p, .aq-inner > br,
.tb-d5__tabs > p, .tb-d5__tabs > br,
.tb-d5__panels > p, .tb-d5__panels > br,
.tb-d5__panel > p, .tb-d5__panel > br,
.tb-d5__panel-specs > p, .tb-d5__panel-specs > br,
.tb-d5__tab > br,
.aq-d1__grid > p, .aq-d1__grid > br,
.aq-d2__grid > p, .aq-d2__grid > br,
.aq-d2__media > p, .aq-d2__media > br,
.aq-d2__trust > p, .aq-d2__trust > br,
.aq-d2__photos > p, .aq-d2__photos > br,
.aq-d4__steps > p, .aq-d4__steps > br,
.aq-d5__cards > p, .aq-d5__cards > br,
.aq-d6__packs > p, .aq-d6__packs > br,
.aq-d7__grid > p, .aq-d7__grid > br,
.aq-d7__quotes > p, .aq-d7__quotes > br,
.aq-pills > p, .aq-pills > br,
.aq-d3__seasons > p, .aq-d3__seasons > br,
.aq-d3__card > p, .aq-d3__card > br { display: none !important; }

/* ── Full-bleed: bg stretches edge-to-edge, content stays constrained ── */
.aq-bleed {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
}
.aq-bg--cream { background: var(--aq-cream); }
.aq-bg--charcoal { background: var(--aq-charcoal); }
.aq-bg--sapphire { background: var(--aq-sapphire); }
.aq-inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* Remove gaps between consecutive full-bleed sections */
.aq-bleed + .aq-bleed { margin-top: 0; }
.aq-bleed > .aq-inner > section { margin: 0; }

/* ── Scroll reveal ── */
.aq-reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.55s cubic-bezier(.23,1,.32,1), transform 0.55s cubic-bezier(.23,1,.32,1);
}
.aq-reveal.is-visible { opacity: 1; transform: translateY(0); }
.aq-stagger > .aq-reveal:nth-child(1) { transition-delay: 0s; }
.aq-stagger > .aq-reveal:nth-child(2) { transition-delay: .07s; }
.aq-stagger > .aq-reveal:nth-child(3) { transition-delay: .14s; }
.aq-stagger > .aq-reveal:nth-child(4) { transition-delay: .21s; }
.aq-stagger > .aq-reveal:nth-child(5) { transition-delay: .28s; }
.aq-stagger > .aq-reveal:nth-child(6) { transition-delay: .35s; }


/* ═══ D1 — Video Proof (Cream, full-bleed bg) ═══ */
.aq-d1 { padding: 44px 20px 36px; }
.aq-d1__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; text-align: center; margin-bottom: 20px; }
.aq-d1__headline em { font-style: normal; color: var(--aq-sapphire); }
.aq-d1__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.aq-clip { position: relative; overflow: hidden; border-radius: var(--aq-radius); aspect-ratio: 9/16; background: #e8e4df; }
.aq-clip video { width: 100%; height: 100%; object-fit: cover; border-radius: var(--aq-radius); }
.aq-clip__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 10px 10px; background: linear-gradient(to top, rgba(0,0,0,.55), transparent); font-size: 12px; font-weight: 600; color: #fff; letter-spacing: .01em; border-radius: 0 0 var(--aq-radius) var(--aq-radius); }
@media (min-width:768px) {
  .aq-d1 { padding: 56px 40px 48px; }
  .aq-d1__grid { grid-template-columns: repeat(4,1fr); gap: 12px; }
  .aq-d1__headline { font-size: 26px; margin-bottom: 28px; }
}
@media (min-width:1024px) { .aq-d1 { padding: 64px 56px; } .aq-d1__headline { font-size: 28px; } }


/* ═══ D2 — Durability Proof (White) ═══
   Mobile: headline → claims → video → photos → review → pills → transparency
   Desktop 1024+: headline spans top. Below: media left | trust right.
   The headline + claims live OUTSIDE .aq-d2__grid so they span full width on all screens.
   On desktop, CSS grid reorders trust content to also show headline/claims on right. 
   Actually simpler: headline+claims are always above the grid. Grid is media|trust. */

.aq-d2 { padding: 44px 0; }
.aq-d2__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; margin-bottom: 14px; }
.aq-d2__claims { margin: 0 0 18px; padding: 0; }
.aq-d2__claims li { font-size: 13px; color: var(--aq-muted); line-height: 1.65; padding-left: 20px; position: relative; list-style: none; margin-bottom: 5px; }
.aq-d2__claims li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--aq-trust); opacity: .5; }

.aq-d2__hero-video { position: relative; border-radius: var(--aq-radius); overflow: hidden; aspect-ratio: 9/16; max-height: 520px; background: #e8e4df; margin-bottom: 10px; }
.aq-d2__hero-video video { width: 100%; height: 100%; object-fit: cover; }
.aq-d2__hero-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 12px 12px; background: linear-gradient(to top, rgba(0,0,0,.55), transparent); font-size: 12px; font-weight: 600; color: #fff; letter-spacing: .02em; text-transform: uppercase; }

.aq-d2__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 20px; }
.aq-proof-item { position: relative; border-radius: var(--aq-radius); overflow: hidden; aspect-ratio: 4/3; background: #e8e4df; }
.aq-proof-item img { width: 100%; height: 100%; object-fit: cover; }
.aq-proof-item__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 10px 8px; background: linear-gradient(to top, rgba(0,0,0,.5), transparent); font-size: 11px; font-weight: 600; color: #fff; letter-spacing: .02em; text-transform: uppercase; }

.aq-review { background: var(--aq-cream); border-radius: var(--aq-radius); padding: 18px 18px 18px 22px; margin-bottom: 20px; border-left: 3px solid var(--aq-gold); }
.aq-review__stars { color: var(--aq-gold); font-size: 13px; letter-spacing: 2px; margin-bottom: 6px; }
.aq-review__quote { font-size: 14px; font-style: italic; line-height: 1.65; margin-bottom: 6px; }
.aq-review__author { font-size: 12px; color: var(--aq-muted); }

.aq-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.aq-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: var(--aq-radius-pill); background: var(--aq-cream); font-size: 12px; font-weight: 500; color: var(--aq-charcoal); }
.aq-pill svg { width: 14px; height: 14px; flex-shrink: 0; display: inline-block; vertical-align: middle; }
.aq-pill > span { white-space: nowrap; }

.aq-transparency { border-left: 3px solid var(--aq-trust); background: var(--aq-trust-bg); border-radius: 0 var(--aq-radius) var(--aq-radius) 0; padding: 14px 14px 14px 18px; font-size: 13px; line-height: 1.7; }
.aq-transparency strong { font-weight: 600; }

/* Desktop-only D2 elements — hidden by default, shown at 1024px */
.aq-d2__trust__headline,
.aq-d2__trust__claims { display: none; }

@media (min-width:768px) {
  .aq-d2 { padding: 56px 40px; }
  .aq-d2__headline { font-size: 26px; }
  .aq-d2__hero-video { aspect-ratio: 3/4; max-height: none; }
}
@media (min-width:1024px) {
  .aq-d2 { padding: 64px 56px; }
  .aq-d2__headline { font-size: 28px; }
  /* On desktop, hide headline + claims above grid — show them inside trust column instead */
  .aq-d2 > .aq-d2__headline { display: none; }
  .aq-d2 > .aq-d2__claims { display: none; }
  .aq-d2__trust__headline { display: block; font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; margin-bottom: 14px; }
  .aq-d2__trust__claims { display: block; margin: 0 0 18px; padding: 0; }
  .aq-d2__trust__claims li { font-size: 13px; color: var(--aq-muted); line-height: 1.65; padding-left: 20px; position: relative; list-style: none; margin-bottom: 5px; }
  .aq-d2__trust__claims li::before { content: ''; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--aq-trust); opacity: .5; }
  .aq-d2__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 32px; align-items: center; }
  .aq-d2__hero-video { aspect-ratio: 3/4; max-height: none; }
}


/* ═══ D3 — Problem Reframe ═══ */
.aq-d3 { padding: 0; }
.aq-d3__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; margin-bottom: 18px; }
.aq-d3__card { background: var(--aq-cream); border-radius: var(--aq-radius); overflow: hidden; }
.aq-d3__image { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--aq-radius) var(--aq-radius) 0 0; }
.aq-d3__body { padding: 22px 20px 26px; }
.aq-d3__copy { font-size: 14px; color: var(--aq-muted); line-height: 1.7; margin-bottom: 14px; }
.aq-d3__copy strong { color: var(--aq-charcoal); font-weight: 500; }
.aq-d3__seasons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.aq-season { background: var(--aq-white); border-radius: var(--aq-radius-sm); padding: 14px 12px; text-align: center; }
.aq-season__icon { font-size: 20px; margin-bottom: 6px; line-height: 1; }
.aq-season__title { font-size: 13px; font-weight: 600; margin-bottom: 3px; }
.aq-season__desc { font-size: 12px; color: var(--aq-muted); line-height: 1.45; }
.aq-d3__season-tagline { font-size: 13px; color: var(--aq-muted); font-style: italic; text-align: center; margin-bottom: 18px; }
.aq-d3__age { font-size: 13px; color: var(--aq-muted); font-style: italic; margin-bottom: 14px; }
.aq-d3__aov { font-size: 14px; color: var(--aq-charcoal); font-weight: 500; margin-bottom: 10px; }
.aq-d3__cta { font-size: 14px; color: var(--aq-sapphire); font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.aq-d3__cta:hover { text-decoration: underline; }
@media (min-width:768px) {
  .aq-d3 { padding: 0 40px; }
  .aq-d3__headline { font-size: 26px; margin-bottom: 22px; }
  .aq-d3__card { display: grid; grid-template-columns: 1fr 1fr; align-items: center; border-radius: var(--aq-radius); overflow: hidden; padding-left: 40px; }
  .aq-d3__image { aspect-ratio: auto; height: 100%; border-radius: var(--aq-radius); }
  .aq-d3__body { padding: 32px; }
}
@media (min-width:1024px) { .aq-d3 { padding: 0 56px; } .aq-d3__headline { font-size: 28px; } .aq-d3__body { padding: 40px; } }


/* ═══ D4 — How It Works ═══ */
.aq-d4 { padding: 44px 0; text-align: center; }
.aq-d4__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 24px; }
.aq-d4__steps { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; }
.aq-step { position: relative; padding: 14px 8px; }
.aq-step:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 20%; bottom: 20%; width: 1px; background: var(--aq-border); }
.aq-step__icon { width: 40px; height: 40px; margin: 0 auto 10px; display: flex; align-items: center; justify-content: center; background: var(--aq-cream); border-radius: 50%; }
.aq-step__icon svg { width: 20px; height: 20px; color: var(--aq-sapphire); }
.aq-step__number { font-size: 10px; font-weight: 700; letter-spacing: .1em; color: var(--aq-sapphire); text-transform: uppercase; margin-bottom: 3px; }
.aq-step__title { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 700; margin-bottom: 3px; }
.aq-step__desc { font-size: 12px; color: var(--aq-muted); line-height: 1.5; }
@media (min-width:768px) { .aq-d4 { padding: 56px 40px; } .aq-d4__headline { font-size: 26px; } .aq-step { padding: 20px; } .aq-step__icon { width: 48px; height: 48px; } .aq-step__icon svg { width: 24px; height: 24px; } .aq-step__title { font-size: 18px; } .aq-step__desc { font-size: 13px; } }
@media (min-width:1024px) { .aq-d4 { padding: 64px 56px; } .aq-step { padding: 28px; } }


/* ═══ D5 — Size Comparison (Tabbed) ═══ */
.tb-d5 { padding: 36px 20px; }
.tb-d5__headline {
  font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700;
  letter-spacing: -.02em; text-align: center; margin-bottom: 16px;
}
.tb-d5__tabs {
  display: flex; gap: 0;
  border-radius: var(--aq-radius) var(--aq-radius) 0 0;
  overflow: hidden; border: 1.5px solid var(--aq-border); border-bottom: none;
}
.tb-d5__tab {
  flex: 1; padding: 24px 6px; text-align: center; cursor: pointer;
  background: var(--aq-sapphire); border-right: 1.5px solid var(--aq-border);
  transition: background .2s, color .2s; position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.tb-d5__tab:last-child { border-right: none; }
.tb-d5__tab.is-active { background: var(--aq-charcoal); color: #fff; }
.tb-d5__tab-shape-wrap { height: 40px; display: flex; align-items: center; justify-content: center; }
.tb-d5__tab-shape { display: block; border: 1.5px solid var(--aq-white); opacity: .35; transition: opacity .2s, border-color .2s; }
.tb-d5__tab.is-active .tb-d5__tab-shape { border-color: var(--aq-gold); opacity: .7; }
.tb-d5__tab-shape--sm { width: 26px; height: 26px; border-radius: 50%; }
.tb-d5__tab-shape--rect { width: 30px; height: 22px; border-radius: 3px; }
.tb-d5__tab-shape--lg { width: 40px; height: 40px; border-radius: 50%; }
.tb-d5__tab-size { font-size: 14px; font-weight: 700; color: var(--aq-white); display: block; line-height: 1; padding-left: 8px; }
.tb-d5__tab-label { font-size: 10px; color: var(--aq-white); display: block; }
.tb-d5__tab.is-active .tb-d5__tab-label { color: rgba(255,255,255,.5); }
.tb-d5__tab-badge {
  position: absolute; top: 0; right: 0;
  background: var(--aq-gold); color: #fff;
  font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 2px 7px; border-radius: 0 var(--aq-radius) 0 6px; line-height: 1.3;
  z-index: 2;
}
/* wpautop: let p tags inside tabs render inline so text shows */
.tb-d5__tab p { display: inline; margin: 0; padding: 0; }
.tb-d5__tab br { display: none !important; }
.tb-d5__panel-body p:not(.tb-d5__panel-desc) { display: inline; margin: 0; padding: 0; }
.tb-d5__panel-specs p { display: none !important; }
.tb-d5__panels {
  border: 1.5px solid var(--aq-border); border-top: none;
  border-radius: 0 0 var(--aq-radius) var(--aq-radius);
  background: var(--aq-white); overflow: hidden;
}
.tb-d5__panel { display: none; }
.tb-d5__panel.is-active { display: grid; grid-template-columns: 1fr; }
.tb-d5__panel-img { position: relative; overflow: hidden; background: #e8e4df; aspect-ratio: 4/3; }
.tb-d5__panel-img img { width: 100%; height: 100%; object-fit: cover; }
.tb-d5__scale-bar { position: absolute; bottom: 10px; left: 12px; right: 12px; height: 20px; display: flex; align-items: center; }
.tb-d5__scale-track { width: 100%; height: 3px; background: rgba(255,255,255,.25); border-radius: 2px; position: relative; }
.tb-d5__scale-fill { position: absolute; left: 0; top: 0; height: 100%; background: var(--aq-trust); border-radius: 2px; transition: width .35s ease; }
.tb-d5__scale-label { position: absolute; right: 0; top: -14px; font-size: 9px; font-weight: 600; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.5); letter-spacing: .02em; }
.tb-d5__scale-fill--sm { width: 65%; }
.tb-d5__scale-fill--md { width: 69%; }
.tb-d5__scale-fill--lg { width: 100%; }
.tb-d5__panel-body { padding: 16px 16px 18px; }
.tb-d5__panel-title { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 17px; font-weight: 700; margin-bottom: 5px; }
.tb-d5__panel-desc { font-size: 13px; color: var(--aq-muted); line-height: 1.6; margin-bottom: 10px; }
.tb-d5__panel-specs { display: flex; gap: 20px; margin-bottom: 12px; }
.tb-d5__spec { text-align: center; }
.tb-d5__spec-val { font-size: 17px; font-weight: 700; color: var(--aq-sapphire); line-height: 1; }
.tb-d5__spec-label { font-size: 10px; color: var(--aq-muted); margin-top: 2px; }
.tb-d5__panel-cta {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 13px; font-weight: 600; color: var(--aq-sapphire);
  text-decoration: none; cursor: pointer; background: none; border: none; font-family: inherit; padding: 0;
}
.tb-d5__panel-cta:hover { text-decoration: underline; }
.tb-d5__compare-toggle {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  padding: 0; font-size: 12px; font-weight: 500; color: var(--aq-muted);
  cursor: pointer; background: none; border: none; font-family: inherit; width: 100%; transition: color .2s;
}
.tb-d5__compare-toggle:hover { color: var(--aq-charcoal); }
.tb-d5__compare-toggle svg { width: 12px; height: 12px; transition: transform .25s ease; }
.tb-d5__compare-toggle.is-open svg { transform: rotate(180deg); }
.tb-d5__compare-strip { max-height: 0; overflow: hidden; transition: max-height .35s ease, opacity .25s ease; opacity: 0; }
.tb-d5__compare-strip.is-open { max-height: 400px; opacity: 1; }
.tb-d5__compare-img { border-radius: var(--aq-radius); overflow: hidden; margin: 0 0 4px; }
.tb-d5__compare-img img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.tb-d5__aov { text-align: center; font-size: 12px; color: var(--aq-muted); font-style: italic; margin: 0; }
@media (min-width:768px) {
  .tb-d5 { padding: 44px 40px; }
  .tb-d5__headline { font-size: 26px; }
  .tb-d5__tab { padding: 12px 10px; gap: 6px; }
  .tb-d5__tab-size { font-size: 16px; }
  .tb-d5__tab-shape-wrap { height: 46px; }
  .tb-d5__tab-shape--sm { width: 30px; height: 30px; }
  .tb-d5__tab-shape--rect { width: 34px; height: 26px; }
  .tb-d5__tab-shape--lg { width: 46px; height: 46px; }
  .tb-d5__panel.is-active { grid-template-columns: 1fr 1fr; }
  .tb-d5__panel-img { aspect-ratio: auto; min-height: 200px; }
  .tb-d5__panel-body { padding: 22px 24px; display: flex; flex-direction: column; justify-content: center; }
  .tb-d5__tabs, .tb-d5__panels { max-width: 680px; margin-left: auto; margin-right: auto; }
  .tb-d5__compare-toggle, .tb-d5__compare-strip, .tb-d5__aov { max-width: 680px; margin-left: auto; margin-right: auto; }
}
@media (min-width:1024px) {
  .tb-d5 { padding: 52px 56px; }
  .tb-d5__tab { padding: 14px 12px; }
  .tb-d5__tab-size { font-size: 17px; }
  .tb-d5__panel-title { font-size: 19px; }
  .tb-d5__panel-body { padding: 28px 32px; }
}


/* ═══ D6 — Bundle Value ═══ */
.aq-d6 { padding: 44px 0; }
.aq-d6__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.aq-d6__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1.35; margin-bottom: 10px; }
.aq-d6__intro { font-size: 13px; color: var(--aq-muted); line-height: 1.7; margin-bottom: 20px; }
.aq-d6__packs { display: flex; flex-direction: column; gap: 12px; }
.aq-pack { border: 1px solid var(--aq-border); border-radius: var(--aq-radius); padding: 16px; cursor: pointer; transition: transform .2s, box-shadow .2s; text-decoration: none; color: inherit; display: block; }
.aq-pack__price-row + br { display: none !important; }
.aq-pack:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(31,31,31,.08); }
.aq-pack--popular { border: 2px solid var(--aq-gold); }
.aq-pack--best { border: 2px solid var(--aq-sapphire); background: linear-gradient(165deg, #fff 0%, #f5f8ff 100%); }
.aq-pack__badge { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 10px; border-radius: var(--aq-radius-pill); margin-bottom: 8px; }
.aq-pack__badge--popular { background: var(--aq-gold); color: #fff; }
.aq-pack__badge--best { background: var(--aq-sapphire); color: #fff; }
.aq-pack__title { font-size: 15px; font-weight: 700; margin-bottom: 3px; }
.aq-pack__desc { font-size: 12px; color: var(--aq-muted); margin-bottom: 10px; }
.aq-pack__prices { display: flex; flex-direction: column; gap: 3px; margin-bottom: 10px; }
.aq-pack__price-row { display: flex; align-items: baseline; gap: 6px; padding: 3px 0; }
.aq-pack__size-label { color: var(--aq-muted); font-size: 12px; min-width: 64px; }
.aq-pack__current { font-weight: 700; font-size: 15px; }
.aq-pack__was { font-size: 12px; color: var(--aq-muted); text-decoration: line-through; }
.aq-gift { display: block; background: var(--aq-trust-bg); border-radius: var(--aq-radius-sm); padding: 10px 12px; margin-top: 10px; margin-bottom: 12px; }
.aq-gift__row { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13px; padding: 2px 0; }
.aq-gift__row + .aq-gift__row { margin-top: 5px; }
.aq-gift__name { display: flex; align-items: center; gap: 6px; }
.aq-gift__name svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--aq-trust); }
.aq-gift__free { font-size: 11px; font-weight: 700; color: var(--aq-trust); white-space: nowrap; background: #fff; padding: 2px 8px; border-radius: var(--aq-radius-pill); }
.aq-pack__cta { display: block; width: 100%; padding: 13px; background: var(--aq-sapphire); color: #fff; border: none; border-radius: var(--aq-radius); font-family: inherit; font-size: 14px; font-weight: 600; text-align: center; cursor: pointer; transition: background .2s, transform .15s; }
.aq-pack__cta:hover { background: var(--aq-sapphire-deep); transform: translateY(-1px); }
@media (max-width:767px) {
	.aq-d6__grid { grid-template-columns: 1fr; }
}
@media (min-width:768px) { 
  .aq-d6 { padding: 56px 40px; } 
  .aq-d6__headline { font-size: 24px; } 
  .aq-d6__grid { grid-template-columns: 1fr 1fr 1fr; gap: 16px; } 
}
@media (min-width:1024px) {
  .aq-d6 { padding: 64px 56px; } 
  .aq-d6__headline { font-size: 26px; }
  .aq-pack { padding: 20px; }
}


/* ═══ D7 — Social Proof (Charcoal) ═══ */
.aq-d7 { padding: 36px 20px; color: #fff; }
.aq-d7__header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.aq-d7__title { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; color: #fff; }
.aq-d7__rating { font-size: 13px; color: rgba(255,255,255,.5); }
.aq-d7__rating .aq-dynamic-rating__stars { color: var(--aq-gold); letter-spacing: 1px; }
.aq-d7__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }

.aq-ugc {}
.aq-ugc__img-wrap { border-radius: var(--aq-radius); overflow: hidden; }
.aq-ugc img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .4s ease; }
.aq-ugc:hover img { transform: scale(1.03); }
.aq-ugc__caption { display: block; padding: 6px 2px 0; font-size: 11px; color: rgba(255,255,255,.5); font-style: italic; line-height: 1.3; }

.aq-d7__quotes { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.aq-d7__quote { font-size: 13px; font-style: italic; line-height: 1.55; color: rgba(255,255,255,.85); padding-left: 12px; border-left: 2px solid var(--aq-gold); }
.aq-d7__quote-author { font-size: 11px; color: rgba(255,255,255,.4); font-style: normal; margin-top: 3px; display: block; }
.aq-d7__cta { text-align: center; }
.aq-d7__cta a { color: #fff; font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.3); transition: text-decoration-color .2s; }
.aq-d7__cta a:hover { text-decoration-color: #fff; }
@media (min-width:768px) { .aq-d7 { padding: 44px 40px; } .aq-d7__title { font-size: 24px; } .aq-d7__grid { grid-template-columns: repeat(3,1fr); gap: 12px; } .aq-d7__quotes { flex-direction: row; gap: 14px; } .aq-d7__quote { flex: 1; } }
@media (min-width:1024px) { .aq-d7 { padding: 52px 56px; } .aq-d7__grid { grid-template-columns: repeat(6,1fr); gap: 12px; } }


/* ═══ D8 — FAQ (Cream) ═══ */
.aq-d8 { padding: 36px 20px; }
.aq-guarantee { display: flex; align-items: flex-start; gap: 14px; background: var(--aq-trust-bg); border: 1px solid rgba(58,111,91,.2); border-radius: var(--aq-radius); padding: 20px; margin-bottom: 24px; }
.aq-guarantee__icon { width: 32px; height: 32px; flex-shrink: 0; color: var(--aq-trust); }
.aq-guarantee__title { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; margin-bottom: 3px; }
.aq-guarantee__desc { font-size: 13px; color: var(--aq-muted); line-height: 1.5; margin: 0; }
.aq-faq { border-top: 1px solid var(--aq-border); }
.aq-faq details { border-bottom: 1px solid var(--aq-border); }
.aq-faq summary { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; -webkit-user-select: none; user-select: none; }
.aq-faq summary::-webkit-details-marker { display: none; }
.aq-faq summary::after { content: ''; width: 10px; height: 10px; border-right: 2px solid var(--aq-muted); border-bottom: 2px solid var(--aq-muted); transform: rotate(45deg); transition: transform .25s; flex-shrink: 0; margin-left: 12px; }
.aq-faq details[open] summary::after { transform: rotate(-135deg); }
.aq-faq__answer { font-size: 13px; color: var(--aq-muted); line-height: 1.7; padding-bottom: 14px; }
@media (min-width:768px) { .aq-d8 { padding: 44px 40px; } .aq-d8__inner { max-width: 640px; margin: 0 auto; } }
@media (min-width:1024px) { .aq-d8 { padding: 52px 56px; } }


/* ═══ D9 — CTA (Sapphire) ═══ */
.aq-d9 { padding: 36px 16px; text-align: center; position: relative; overflow: hidden; color: #fff; }
.aq-d9::before { content: ''; position: absolute; top: -40%; left: -20%; width: 140%; height: 100%; background: radial-gradient(ellipse at center top, rgba(255,255,255,.06) 0%, transparent 70%); pointer-events: none; }
.aq-d9__headline { font-family: 'Fraunces', 'Fraunces Fallback', 'Fraunces Fallback Android', Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 8px; position: relative; }
.aq-d9__sub { font-size: 14px; color: rgba(255,255,255,.75); margin-bottom: 18px; position: relative; }
.aq-d9__trust { font-size: 12px; color: rgba(255,255,255,.5); margin-bottom: 22px; letter-spacing: .02em; position: relative; }
.aq-d9__trust span { margin: 0 6px; opacity: .4; }
.aq-d9__primary { display: block; width: 100%; max-width: 300px; margin: 0 auto 12px; padding: 14px 24px; background: #fff; color: var(--aq-sapphire); border: none; border-radius: var(--aq-radius); font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; text-align: center; transition: background .2s, transform .15s; position: relative; }
.aq-d9__primary:hover { background: var(--aq-cream); transform: translateY(-1px); }
.aq-d9__secondary { color: rgba(255,255,255,.7); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.25); background: none; border: none; cursor: pointer; font-family: inherit; transition: color .2s; position: relative; }
.aq-d9__secondary:hover { color: #fff; }
.aq-d9__stars { margin-top: 18px; font-size: 13px; color: rgba(255,255,255,.55); position: relative; }
.aq-d9__stars .aq-dynamic-rating__stars { color: var(--aq-gold); letter-spacing: 2px; }

/* Dynamic rating shortcode */
.aq-dynamic-rating__stars { color: var(--aq-gold); letter-spacing: 1px; }
@media (min-width:768px) { .aq-d9 { padding: 48px 48px; } .aq-d9__headline { font-size: 28px; } .aq-d9__primary { max-width: 360px; font-size: 16px; padding: 16px 32px; } }
@media (min-width:1024px) { .aq-d9 { padding: 56px 56px; } }