/*
   WUME — Product (Shop Detail) page Stage-2 DESKTOP layout.

   SCOPE: every rule is prefixed `body.is-product-page` AND wrapped in
   @media (min-width: 992px) so the synced MOBILE single-column stack
   (base.html.twig .wume-split collapse at <=991.98px) is left untouched.

   Figma ref: figma-final/screens/desktop/shop-detail.png (1440px wide,
   1 image px = 1 CSS px). Measured geometry drives the numbers below:
     - page content band x36..x1404 (1440 max, 36px side padding).
     - top split: gallery LEFT (thumb rail ~103px + main photo ~563px),
       right text column ~446px; column gap ~80px.
     - lower stack: serif DESCRIPTION + WUME-APPROVED on the LEFT,
       SUITABLE FOR / KEY FEATURES / KEY INGREDIENTS spec rows on the RIGHT
       (label col + value col, +~248px offset), then full-width REVIEWS.

   TODO-ASSET (see template): the 3 secondary gallery thumbnails (packaging
   shots + lifestyle photo) are not in local design assets — the rail is
   populated from product.images when present, else placeholder tiles.
   V02
   V03 Stage-2b MOBILE block appended (@max-width:991.98px) — the page had no
       phone layout (all rules were @min-width:992px). Single-column per figma
       mobile shop-detail: full-width main photo + thumb row, styled buy column
       (2-col benefits, plan picker, sage ADD TO BAG), stacked spec rows, and a
       horizontal reviews carousel. Desktop (@min-width:992px) untouched.
   V04 Auto-replenish cadence styling: the "Ships every N" line now stacks under the
       plan name as a small muted subtitle (.wume-plan-meta column + .wume-plan-cadence)
       in both the desktop and mobile blocks; previously it was unstyled inline text.
   V05 Reviews arrows (.wume-reviews-nav) now default to display:none and only show via the
       .is-scrollable class the page script adds when the reviews strip overflows (paired
       with product.html.twig V20). Previously they were always visible but did nothing.
*/

@media (min-width: 992px) {

    /* ── Page container: 1440 max, 36px gutters (content band x36..x1404). ── */
    body.is-product-page .wume-section > .container {
        max-width: 1440px;
        padding: 0 36px;
    }

    /* ════════════════════════════════════════════════════════════════════
       TOP SPLIT — gallery (left) + buy column (right)
       ════════════════════════════════════════════════════════════════════ */
    body.is-product-page .wume-split {
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        column-gap: 80px;
        align-items: start;
    }

    /* ── Gallery: vertical thumbnail rail (~100px) + large main photo. ── */
    body.is-product-page .wume-gallery {
        display: grid;
        grid-template-columns: 100px 1fr;
        column-gap: 16px;
        align-items: start;
    }
    body.is-product-page .wume-gallery-rail {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }
    body.is-product-page .wume-gallery-thumb {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        background: var(--wume-sand);
        display: block;
        cursor: pointer;
        border: 1px solid transparent;
        transition: border-color 0.2s ease;
    }
    body.is-product-page .wume-gallery-thumb:hover,
    body.is-product-page .wume-gallery-thumb.is-active {
        border-color: var(--wume-black);
    }
    /* Placeholder tiles (no asset) keep the rail height stable. */
    body.is-product-page .wume-gallery-thumb.is-placeholder {
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: var(--wume-font-body);
        font-size: 0.6rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-lbrown);
    }
    body.is-product-page .wume-gallery-main {
        margin: 0;
        background: var(--wume-sand);
        aspect-ratio: 563 / 752;
        overflow: hidden;
    }
    body.is-product-page .wume-gallery-main img,
    body.is-product-page .wume-gallery-main .wume-product-detail-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        max-height: none;
    }
    /* Hide the legacy thumbnail strip (rail replaces it). */
    body.is-product-page #product-thumbnails { display: none; }

    /* ── Right buy column ── */
    body.is-product-page .wume-buy { padding-top: 4px; }

    /* Product name: 2.5rem serif (measured ~28px cap height). */
    body.is-product-page #product-name {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading, 300);
        font-size: 2.5rem;
        line-height: 1.06;
        letter-spacing: -0.01em;
        color: var(--wume-black);
        margin: 0 0 10px;
    }

    /* "100 ML" caption under the name. */
    body.is-product-page .wume-buy-volume {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 20px;
    }

    /* Price + rating row: "$214   ★ 4.9   SEE ALL". */
    body.is-product-page .wume-buy-pricerow {
        display: flex;
        align-items: center;
        gap: 18px;
        margin: 0 0 16px;
    }
    body.is-product-page .wume-buy-pricerow #product-price,
    body.is-product-page .wume-buy-price {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1.05rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-product-page .wume-buy-rating {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-family: var(--wume-font-body);
        font-size: 0.95rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-buy-rating .wume-star { font-size: 0.85rem; line-height: 1; }
    body.is-product-page .wume-buy-seeall {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
        cursor: pointer;
    }

    /* Short description (2 lines) + "Read more +". */
    body.is-product-page #product-description {
        font-family: var(--wume-font-body);
        font-size: 1rem;
        line-height: 1.45;
        color: var(--wume-black);
        margin: 0 0 14px;
        max-width: 430px;
    }
    body.is-product-page .wume-buy-readmore {
        display: inline-block;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.95rem;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
        cursor: pointer;
        margin: 0 0 30px;
    }

    /* ── Benefits I–VI: 2-column grid (col II offset +~248px). ── */
    body.is-product-page .wume-buy-benefits {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
        row-gap: 26px;
        margin: 0 0 44px;
        list-style: none;
        padding: 0;
    }
    body.is-product-page .wume-buy-benefits li {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.74rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        line-height: 1.2;
    }

    /* ── Plan picker (CHOOSE YOUR PLAN): label + 2 bordered rows. ── */
    body.is-product-page .wume-plan-label {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 12px;
    }
    body.is-product-page #variant-selector { display: block; margin: 0 0 10px; }
    body.is-product-page #variant-options { display: block; width: 100%; }
    body.is-product-page .wume-plan {
        display: flex;
        align-items: center;
        gap: 14px;
        width: 100%;
        min-height: 49px;
        padding: 0 18px;
        border: 1px solid var(--wume-black);
        background: var(--wume-cream);
        cursor: pointer;
        margin-bottom: 10px;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan:last-child { margin-bottom: 0; }
    /* Checkbox marker: filled square when selected, hollow when not. */
    body.is-product-page .wume-plan-mark {
        width: 11px;
        height: 11px;
        border: 1.5px solid var(--wume-black);
        background: transparent;
        flex: 0 0 auto;
    }
    body.is-product-page .wume-plan.is-selected .wume-plan-mark {
        background: var(--wume-black);
    }
    body.is-product-page .wume-plan-name {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan-save {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.68rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        background: var(--wume-sand);
        padding: 5px 9px;
        line-height: 1;
    }
    body.is-product-page .wume-plan-prices {
        margin-left: auto;
        display: inline-flex;
        align-items: baseline;
        gap: 10px;
        font-family: var(--wume-font-body);
        font-size: 1rem;
        color: var(--wume-black);
    }
    body.is-product-page .wume-plan-was {
        text-decoration: line-through;
        color: var(--wume-lbrown);
    }
    /* Auto-replenish cadence: name + cadence stack as a two-line label; the cadence
       reads as a small muted subtitle under the plan name. */
    body.is-product-page .wume-plan-meta {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
    }
    body.is-product-page .wume-plan-cadence {
        font-family: var(--wume-font-body);
        font-size: 0.78rem;
        color: var(--wume-lbrown);
        line-height: 1.2;
    }

    /* ── ADD TO BAG: sage, full-width. ── */
    body.is-product-page .wume-add-to-bag {
        display: block;
        width: 100%;
        border: 0;
        background: var(--wume-sage);
        color: var(--wume-black);
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.82rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        min-height: 52px;
        margin-top: 14px;
        cursor: pointer;
        transition: background 0.2s ease;
    }
    body.is-product-page .wume-add-to-bag:hover { background: #868d77; }
    body.is-product-page .wume-add-to-bag:disabled { opacity: 0.55; cursor: default; }

    /* ════════════════════════════════════════════════════════════════════
       LOWER STACK — description (left serif) + spec rows (right)
       ════════════════════════════════════════════════════════════════════ */
    body.is-product-page .wume-detail-lower {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
        column-gap: 80px;
        align-items: start;
        margin-top: 64px;
    }

    body.is-product-page .wume-detail-blocktitle {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 18px;
    }

    /* DESCRIPTION: serif body. */
    body.is-product-page .wume-detail-description p {
        font-family: var(--wume-font-heading);
        font-weight: var(--wume-w-heading, 300);
        font-size: 1.5rem;
        line-height: 1.35;
        color: var(--wume-black);
        margin: 0;
        max-width: 525px;
    }

    /* WUME-APPROVED: small sans body. */
    body.is-product-page .wume-detail-approved { margin-top: 56px; }
    body.is-product-page .wume-detail-approved p {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 0.92rem;
        line-height: 1.55;
        color: var(--wume-black);
        margin: 0;
        max-width: 525px;
    }

    /* Spec rows (right): label col + value col, thin top rules. */
    body.is-product-page .wume-spec-rows { list-style: none; margin: 0; padding: 0; }
    body.is-product-page .wume-spec-row {
        display: grid;
        grid-template-columns: 248px 1fr;
        column-gap: 24px;
        padding: 22px 0;
        border-top: 1px solid rgba(0, 0, 0, 0.35);
    }
    body.is-product-page .wume-spec-row:last-child { border-bottom: none; }
    body.is-product-page .wume-spec-label {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
    }
    body.is-product-page .wume-spec-value {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1rem;
        line-height: 1.6;
        color: var(--wume-black);
    }
    body.is-product-page .wume-spec-value p { margin: 0; }
    body.is-product-page .wume-spec-seeall {
        display: inline-block;
        margin-top: 12px;
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    /* ════════════════════════════════════════════════════════════════════
       REVIEWS — big 4.9 + count + 4 cards + carousel arrows
       ════════════════════════════════════════════════════════════════════ */
    body.is-product-page .wume-reviews { margin-top: 64px; }
    body.is-product-page .wume-reviews-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 44px;
    }
    body.is-product-page .wume-reviews-kicker {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 14px;
    }
    body.is-product-page .wume-reviews-score {
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: var(--wume-font-body);
        font-size: 1.4rem;
        color: var(--wume-black);
        margin: 0 0 6px;
    }
    body.is-product-page .wume-reviews-score .wume-star { font-size: 1.1rem; line-height: 1; }
    body.is-product-page .wume-reviews-count {
        font-family: var(--wume-font-body);
        font-size: 1rem;
        color: var(--wume-black);
        margin: 0;
    }
    body.is-product-page .wume-reviews-nav { display: none; gap: 10px; }
    body.is-product-page .wume-reviews-nav.is-scrollable { display: flex; }
    body.is-product-page .wume-reviews-arrow {
        width: 40px;
        height: 40px;
        border: 1px solid var(--wume-black);
        background: transparent;
        color: var(--wume-black);
        font-size: 1.1rem;
        line-height: 1;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: background 0.2s ease, color 0.2s ease;
    }
    body.is-product-page .wume-reviews-arrow:hover {
        background: var(--wume-black);
        color: var(--wume-cream);
    }

    /* 4 review cards in a row. */
    body.is-product-page .wume-reviews-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 32px;
    }
    body.is-product-page .wume-review-card .wume-review-stars {
        font-size: 0.85rem;
        letter-spacing: 2px;
        color: var(--wume-black);
        margin: 0 0 16px;
    }
    body.is-product-page .wume-review-card .wume-review-title {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-body);
        font-size: 1.05rem;
        color: var(--wume-black);
        margin: 0 0 8px;
    }
    body.is-product-page .wume-review-card .wume-review-body {
        font-family: var(--wume-font-body);
        font-size: 0.92rem;
        line-height: 1.5;
        color: var(--wume-black);
        margin: 0 0 22px;
    }
    body.is-product-page .wume-review-card .wume-review-author {
        font-family: var(--wume-font-body);
        font-weight: var(--wume-w-sub);
        font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase;
        color: var(--wume-black);
        margin: 0 0 12px;
    }
    body.is-product-page .wume-review-card .wume-review-product {
        font-family: var(--wume-font-body);
        font-size: 0.92rem;
        color: var(--wume-black);
        margin: 0;
    }
}


/* ════════════════════════════════════════════════════════════════════════
   STAGE-2b — MOBILE (<=991.98px, target 393px). figma-final/screens/mobile/
   shop-detail.png. The whole desktop layout above is @min-width:992px, so the
   phone view had no product styling: the gallery rendered as a cramped left
   rail and the buy column / benefits / plan picker / reviews fell back to
   browser defaults. This block lays the page out single-column per the figma —
   full-width main photo with a thumb row beneath, styled buy column (name,
   price, 2-col benefits, plan picker, sage ADD TO BAG), stacked description +
   spec rows, and 1-up reviews.
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width: 991.98px) {

    body.is-product-page .wume-section > .container { padding: 0 24px; }
    body.is-product-page .wume-split { display: block; }

    /* Gallery: full-width main photo on top, thumbnail row below. */
    body.is-product-page .wume-gallery { display: flex; flex-direction: column; gap: 10px; }
    body.is-product-page .wume-gallery-main {
        order: 1; margin: 0; background: var(--wume-sand);
        aspect-ratio: 4 / 5; overflow: hidden;
    }
    body.is-product-page .wume-gallery-main img,
    body.is-product-page .wume-gallery-main .wume-product-detail-img {
        width: 100%; height: 100%; object-fit: contain; display: block; max-height: none;
    }
    body.is-product-page .wume-gallery-rail {
        order: 2; display: flex; flex-direction: row; gap: 8px;
    }
    body.is-product-page .wume-gallery-thumb {
        flex: 0 0 auto; width: 56px; height: 56px; aspect-ratio: 1;
        background: var(--wume-sand); cursor: pointer; border: 1px solid transparent;
    }
    body.is-product-page .wume-gallery-thumb.is-active { border-color: var(--wume-black); }
    body.is-product-page .wume-gallery-thumb.is-placeholder {
        display: flex; align-items: center; justify-content: center;
        font-size: 0.5rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-lbrown);
    }
    body.is-product-page #product-thumbnails { display: none; }

    /* Buy column. */
    body.is-product-page .wume-buy { padding-top: 28px; }
    body.is-product-page #product-name {
        font-family: var(--wume-font-heading); font-weight: var(--wume-w-heading, 300);
        font-size: 2rem; line-height: 1.08; color: var(--wume-black); margin: 0 0 8px;
    }
    body.is-product-page .wume-buy-volume {
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub);
        font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-black); margin: 0 0 16px;
    }
    body.is-product-page .wume-buy-pricerow { display: flex; align-items: center; gap: 16px; margin: 0 0 16px; }
    body.is-product-page .wume-buy-pricerow #product-price { font-size: 1.05rem; color: var(--wume-black); margin: 0; }
    body.is-product-page .wume-buy-rating { display: inline-flex; align-items: center; gap: 6px; font-size: 0.95rem; }
    body.is-product-page .wume-buy-seeall {
        font-weight: var(--wume-w-sub); font-size: 0.7rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; text-decoration: underline; text-underline-offset: 3px;
    }
    body.is-product-page #product-description { font-size: 1rem; line-height: 1.45; color: var(--wume-black); margin: 0 0 12px; }
    body.is-product-page .wume-buy-readmore {
        display: inline-block; font-size: 0.95rem; text-decoration: underline; text-underline-offset: 3px; margin: 0 0 28px;
    }

    /* Benefits I-VI: 2-col (figma keeps two columns on mobile), no bullets. */
    body.is-product-page .wume-buy-benefits {
        display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; row-gap: 20px;
        margin: 0 0 36px; list-style: none; padding: 0;
    }
    body.is-product-page .wume-buy-benefits li {
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub);
        font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; color: var(--wume-black); line-height: 1.2;
    }

    /* Plan picker. */
    body.is-product-page .wume-plan-label {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 12px;
    }
    body.is-product-page #variant-selector { margin: 0 0 12px; }
    body.is-product-page .wume-plan {
        display: flex; align-items: center; gap: 12px; width: 100%; min-height: 49px;
        padding: 0 16px; border: 1px solid var(--wume-black); background: var(--wume-cream);
        cursor: pointer; margin-bottom: 10px; color: var(--wume-black);
    }
    body.is-product-page .wume-plan-mark { width: 11px; height: 11px; border: 1.5px solid var(--wume-black); background: transparent; flex: 0 0 auto; }
    body.is-product-page .wume-plan.is-selected .wume-plan-mark { background: var(--wume-black); }
    body.is-product-page .wume-plan-name { font-size: 1rem; }
    body.is-product-page .wume-plan-save {
        font-size: 0.66rem; letter-spacing: var(--wume-tracking-caps); text-transform: uppercase;
        background: var(--wume-sand); padding: 5px 8px; line-height: 1;
    }
    body.is-product-page .wume-plan-prices { margin-left: auto; display: inline-flex; align-items: baseline; gap: 8px; font-size: 0.95rem; }
    body.is-product-page .wume-plan-was { text-decoration: line-through; color: var(--wume-lbrown); }
    body.is-product-page .wume-plan-meta { display: flex; flex-direction: column; justify-content: center; gap: 1px; }
    body.is-product-page .wume-plan-cadence { font-size: 0.7rem; color: var(--wume-lbrown); line-height: 1.2; }

    /* ADD TO BAG: sage, full-width. */
    body.is-product-page .wume-add-to-bag {
        display: block; width: 100%; border: 0; background: var(--wume-sage); color: var(--wume-black);
        font-family: var(--wume-font-body); font-weight: var(--wume-w-sub); font-size: 0.82rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase; min-height: 52px;
        margin-top: 14px; cursor: pointer;
    }
    body.is-product-page .wume-add-to-bag:disabled { opacity: 0.55; }

    /* Lower stack: description + spec rows stacked single-column. */
    body.is-product-page .wume-detail-lower { display: block; margin-top: 48px; }
    body.is-product-page .wume-detail-blocktitle {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 16px;
    }
    body.is-product-page .wume-detail-description p {
        font-family: var(--wume-font-heading); font-weight: var(--wume-w-heading, 300);
        font-size: 1.35rem; line-height: 1.35; margin: 0; max-width: none;
    }
    body.is-product-page .wume-detail-approved { margin-top: 40px; }
    body.is-product-page .wume-detail-approved p { font-size: 0.92rem; line-height: 1.55; margin: 0; max-width: none; }
    body.is-product-page .wume-spec-rows { list-style: none; margin: 40px 0 0; padding: 0; }
    body.is-product-page .wume-spec-row {
        display: block; padding: 20px 0; border-top: 1px solid rgba(0, 0, 0, 0.35);
    }
    body.is-product-page .wume-spec-label {
        display: block; font-weight: var(--wume-w-sub); font-size: 0.72rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase; color: var(--wume-black); margin: 0 0 10px;
    }
    body.is-product-page .wume-spec-value { font-size: 1rem; line-height: 1.6; color: var(--wume-black); }
    body.is-product-page .wume-spec-value p { margin: 0; }
    body.is-product-page .wume-spec-seeall {
        display: inline-block; margin-top: 10px; font-weight: var(--wume-w-sub); font-size: 0.7rem;
        letter-spacing: var(--wume-tracking-caps); text-transform: uppercase;
        text-decoration: underline; text-underline-offset: 3px;
    }

    /* Reviews: 1-up. */
    body.is-product-page .wume-reviews { margin-top: 48px; }
    body.is-product-page .wume-reviews-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 32px; }
    body.is-product-page .wume-reviews-kicker {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 12px;
    }
    body.is-product-page .wume-reviews-score { display: flex; align-items: center; gap: 8px; font-size: 1.4rem; margin: 0 0 6px; }
    body.is-product-page .wume-reviews-count { font-size: 1rem; margin: 0; }
    body.is-product-page .wume-reviews-nav { display: none; gap: 10px; }
    body.is-product-page .wume-reviews-nav.is-scrollable { display: flex; }
    body.is-product-page .wume-reviews-arrow {
        width: 40px; height: 40px; border: 1px solid var(--wume-black); background: transparent;
        color: var(--wume-black); font-size: 1.1rem; display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
    }
    body.is-product-page .wume-reviews-grid {
        display: flex; gap: 18px; overflow-x: auto;
        scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    body.is-product-page .wume-review-card { flex: 0 0 80%; scroll-snap-align: start; }
    body.is-product-page .wume-review-card .wume-review-stars { font-size: 0.85rem; letter-spacing: 2px; margin: 0 0 14px; }
    body.is-product-page .wume-review-card .wume-review-title { font-size: 1.05rem; margin: 0 0 8px; }
    body.is-product-page .wume-review-card .wume-review-body { font-size: 0.92rem; line-height: 1.5; margin: 0 0 18px; }
    body.is-product-page .wume-review-card .wume-review-author {
        font-weight: var(--wume-w-sub); font-size: 0.72rem; letter-spacing: var(--wume-tracking-caps);
        text-transform: uppercase; margin: 0 0 10px;
    }
    body.is-product-page .wume-review-card .wume-review-product { font-size: 0.92rem; margin: 0; }
}
