/*
 * Zetronix Refresh: product page (design v2, Oct 2026)
 * PC (1000px and wider): light page, photo on the left, navy buy panel on the
 * right with white buttons inside (version cards, microSD tiles, quantity,
 * payment buttons). Phone: one card with the navy name block on top and a white
 * box below (photo, stars, price, Add to Cart, payment buttons, shipping line).
 *
 * Everything is scoped to body.zxr-page (set by catalog_product_view.xml).
 * Rules that restyle moved blocks only apply once body also has .zxr-arranged,
 * so if the arranging script ever fails the page keeps the parent theme's look.
 */

body.zxr-page {
    --zxr-navy: #0b1830;
    --zxr-paper: #f1f3f6;
    --zxr-white: #ffffff;
    --zxr-text: #0e1726;
    --zxr-muted: #566378;
    --zxr-muted-d: #aebad0;
    --zxr-line: #dfe3ea;
    --zxr-card-line: #e3e7ee;
    --zxr-card-shadow: 0 1px 2px rgba(11, 24, 48, .04), 0 10px 26px -20px rgba(11, 24, 48, .32);
    --zxr-line-d: rgba(255, 255, 255, .16);
    --zxr-panel-d: rgba(255, 255, 255, .06);
    --zxr-orange: #fe7209;
    --zxr-cta: #f26a00;
    --zxr-orange-ink: #c85000;
    --zxr-orange-soft: #ffb27a;
    --zxr-blue: #0d4dad;
    --zxr-sky: #9fc5ff;
    --zxr-ok: #7ee2a8;
    --zxr-star: #ff9a1f;
    --zxr-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --zxr-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
    --zxr-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

/* While the page is loading, hold the main column for up to 1.2 s so the old
   layout does not flash before the blocks are moved. Without .zxr-arranged
   (script failed) the column simply appears after 1.2 s in the old layout. */
body.zxr-page:not(.zxr-arranged) .column.main { animation: zxr-hold 1.2s steps(1, end) both; }
@keyframes zxr-hold { from { visibility: hidden; } to { visibility: visible; } }

body.zxr-page:not(.zxr-arranged) .zxr-shell,
body.zxr-page:not(.zxr-arranged) .zxr-mbar { display: none !important; }

body.zxr-arranged .zxr-shell [hidden],
body.zxr-arranged [data-zxr-kit][hidden] { display: none !important; }

.zxr-sr {
    position: absolute !important; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---------- Parent theme pieces this design replaces ---------- */
body.zxr-arranged .column.main > .product-info-main,   /* leftovers: compare link, old trust banner, share box */
body.zxr-arranged .stickyCart,                          /* old sticky cart -> new sticky bars */
body.zxr-arranged .productTabs.d-md-none {              /* phone copy of the tabs -> one stacked copy for all sizes */
    display: none !important;
}
body.zxr-arranged.zxr-related-ready .zxr-hero .block.related { display: none !important; }

/* The shell is only a wrapper for the parts below; display: contents lets the
   sticky section bar stick for the whole main column, not just the shell. */
.zxr-shell { display: contents; }
.zxr-shell, .zxr-mbar { font-family: var(--zxr-font); -webkit-font-smoothing: antialiased; }
.zxr-shell *, .zxr-mbar * { box-sizing: border-box; }

/* =============================== HERO =============================== */
body.zxr-arranged .zxr-hero {
    position: relative;
    margin: 0 0 0;
    padding: 24px 0 40px;
    background: var(--zxr-paper);
    box-shadow: 0 0 0 100vmax var(--zxr-paper);
    clip-path: inset(0 -100vmax);
    color: var(--zxr-text);
}
.zxr-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    grid-template-areas: "gallery panel" "side side" "trust trust";
    column-gap: 32px;
    row-gap: 24px;
    align-items: start;
}
.zxr-hero__gallery { grid-area: gallery; min-width: 0; }
.zxr-hero__panel { grid-area: panel; min-width: 0; }
/* Highlights and the review sit side by side in a full-width row under the
   gallery and buy panel, so a short buy panel never leaves an empty column. */
/* align top: a short review ("Thank You! Good.") stays a small card instead of a tall empty box */
.zxr-hero__side { grid-area: side; min-width: 0; display: flex; flex-direction: row; align-items: flex-start; gap: 24px; }
.zxr-hero__side > .zxr-hl { flex: 1.75 1 0; min-width: 0; }
/* PC: customer review on the left, Highlights on the right (phone keeps Highlights first) */
.zxr-hero__side > .zxr-review { flex: 1 1 0; min-width: 0; order: -1; }
.zxr-trust-wrap { grid-area: trust; min-width: 0; }

/* ---------- Gallery (Magento Fotorama, restyled) ---------- */
.zxr-hero__gallery {
    background: var(--zxr-white);
    border: 1px solid var(--zxr-line);
    border-radius: 28px;
    padding: 14px;
    box-shadow: 0 30px 60px -42px rgba(11, 24, 48, .5);
}
/* PC: when the buy panel is taller than the photos (version cards + microSD tiles, e.g. FUMA 3),
   the photos ride along while scrolling instead of leaving an empty block under them.
   The column wrapper stretches to the height of the first row only, so the sticky photo
   card stops at the bottom of the buy panel and never slides over Highlights or the trust strip. */
.zxr-hero__galcol { grid-area: gallery; align-self: stretch; min-width: 0; }
body.zxr-arranged .zxr-hero__gallery .gallery-placeholder__image {
    width: auto !important; height: auto !important; max-width: 100% !important; max-height: 500px !important; margin: 0 auto;
}
.zxr-hero__galstick { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
@media (min-width: 1000px) {
    /* the photo column is as tall as the buy panel: the photo card grows to fill whatever
       the accessories / review under it leave, photos centered, so no empty gap shows */
    .zxr-hero__galstick { min-height: 100%; }
    .zxr-hero__gallery { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; }
    .zxr-hero__gallery .fotorama__nav--thumbs { text-align: center; }
    /* js/zxr-product measures natural heights with this on, then removes it */
    body.zxr-measure .zxr-hero__galstick { min-height: 0; }
    body.zxr-measure .zxr-hero__gallery { flex: none; }
}

/* PC: use the screen. The parent theme boxes everything into 1170px; product pages now run
   up to 1600px wide (40px side margins), photos up to their full 600px. */
@media (min-width: 1240px) {
    body.zxr-arranged .page-main > .columns > .container {
        width: auto !important; max-width: 1600px !important; padding-left: 40px; padding-right: 40px;
    }
    body.catalog-product-view .zxr-hero__gallery .fotorama__stage { max-height: 600px !important; }
    body.zxr-arranged .zxr-hero__gallery .gallery-placeholder__image { max-height: 600px !important; }
}
body.zxr-arranged .zxr-hero__gallery .product.media {
    float: none !important; width: auto !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
}
.zxr-hero__gallery .fotorama__stage { border-radius: 18px; overflow: hidden; }
.zxr-hero__gallery .fotorama__nav-wrap { margin-top: 10px; }
.zxr-hero__gallery .fotorama__nav__frame--thumb .fotorama__thumb { border-radius: 12px; overflow: hidden; }
/* Magento's arrow strips have a 30% white background that shows as gray bands on dark products */
.zxr-hero__gallery .fotorama__arr { background-color: transparent !important; }
.zxr-hero__gallery .fotorama__thumb-border { border-color: var(--zxr-cta) !important; border-width: 3px !important; border-radius: 14px; }

/* ---------- Buy panel (navy): name block + buy block ---------- */
.zxr-hero__panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 30px 32px 32px;
    border-radius: 28px;
    color: var(--zxr-white);
    background: radial-gradient(120% 55% at 100% 0%, rgba(159, 197, 255, .12), transparent 62%), var(--zxr-navy);
    box-shadow: 0 44px 80px -46px rgba(11, 24, 48, .75);
}
.zxr-hero__head { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.zxr-hero__buy { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.zxr-hero__panel a { color: var(--zxr-sky); }
.zxr-shell .noOptionSpacer { display: none !important; }

.zxr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.zxr-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 7px 14px; border-radius: 999px;
    border: 1px solid var(--zxr-line-d); background: var(--zxr-panel-d);
    font-size: 13px; font-weight: 700; color: var(--zxr-sky); line-height: 1.2;
}
.zxr-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--zxr-orange); }

body.zxr-arranged .zxr-stock .product-info-stock-sku {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px;
    margin: 0; padding: 0; float: none; width: auto;
}
body.zxr-arranged .zxr-stock .stock {
    display: inline-flex; align-items: center; gap: 6px;
    margin: 0; padding: 0; font-size: 14px; font-weight: 700; line-height: 1.2;
    color: var(--zxr-ok); text-transform: none;
}
body.zxr-arranged .zxr-stock .stock,
body.zxr-arranged .zxr-stock .stock span { color: var(--zxr-ok) !important; font: inherit; }
body.zxr-arranged .zxr-stock .stock.available::before {
    content: ""; width: 16px; height: 16px; background: currentColor;
    -webkit-mask: var(--zxr-check) center / contain no-repeat; mask: var(--zxr-check) center / contain no-repeat;
}
body.zxr-arranged .zxr-stock .stock.unavailable,
body.zxr-arranged .zxr-stock .stock.unavailable span { color: var(--zxr-orange-soft) !important; }
body.zxr-arranged .zxr-stock .product.attribute.sku {
    display: inline-flex; gap: 6px; margin: 0; padding: 0;
    font-size: 13px; color: var(--zxr-muted-d); line-height: 1.2;
}
body.zxr-arranged .zxr-stock .product.attribute.sku .type,
body.zxr-arranged .zxr-stock .product.attribute.sku .value {
    display: inline; font-size: 13px !important; font-weight: 400 !important; color: var(--zxr-muted-d) !important;
}
body.zxr-arranged .zxr-stock .product.attribute.sku .type::after { content: none; }

.zxr-subhead { display: flex; flex-direction: column; gap: 14px; }
body.zxr-arranged .zxr-title .page-title-wrapper { margin: 0; padding: 0; }
body.zxr-arranged .zxr-title .page-title {
    margin: 0; padding: 0;
    font-family: var(--zxr-font); font-weight: 800; color: var(--zxr-white);
    letter-spacing: -.03em; line-height: 1.02; text-align: left; text-transform: none;
}
body.zxr-arranged .zxr-title .page-title,
body.zxr-arranged .zxr-title .page-title .base,
body.zxr-arranged .zxr-title .page-title span {
    color: var(--zxr-white) !important; text-align: left !important; font-family: var(--zxr-font) !important;
}
body.zxr-arranged .zxr-title .page-title .base {
    display: block !important; font-size: inherit !important; font-weight: 800 !important; line-height: 1.02 !important;
}
body.zxr-arranged .zxr-title .page-title .zxr-hi { color: var(--zxr-sky) !important; }
.zxr-title .zxr-name { display: block; font-size: 60px; }
.zxr-title .zxr-name--long { font-size: 40px; line-height: 1.08; }
.zxr-title .zxr-hi { color: var(--zxr-sky); }
.zxr-title .zxr-full {
    display: block; margin-top: 12px;
    font-size: 21px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3;
}

/* Yotpo star rating */
body.zxr-arranged .zxr-rating .yotpo-widget-instance { margin: 0 !important; padding: 0 !important; }
body.zxr-arranged .zxr-rating .yotpo-sr-bottom-line-summary,
body.zxr-arranged .zxr-rating button { background: none !important; padding: 0 !important; }
body.zxr-arranged .zxr-rating .yotpo-sr-bottom-line-score,
body.zxr-arranged .zxr-rating .yotpo-sr-bottom-line-left { color: var(--zxr-white) !important; font-weight: 700 !important; }
body.zxr-arranged .zxr-rating .yotpo-sr-bottom-line-text { color: var(--zxr-sky) !important; text-decoration: underline !important; }
body.zxr-arranged .zxr-rating .yotpo-sr-vertical-border { display: none !important; }

.zxr-lead { margin: 0; font-size: 16px; line-height: 1.55; color: var(--zxr-muted-d); max-width: 46ch; }

/* Price box */
.zxr-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
body.zxr-arranged .zxr-price .price-box {
    display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 6px 14px;
    margin: 0; padding: 0; float: none; width: auto;
}
body.zxr-arranged .zxr-price .price-label { display: none !important; }
body.zxr-arranged .zxr-price .special-price,
body.zxr-arranged .zxr-price .old-price { display: inline-block; margin: 0; padding: 0; float: none !important; position: static !important; }
body.zxr-arranged .zxr-price .price,
body.zxr-arranged .zxr-price .price strong {
    font-family: var(--zxr-font); font-size: 50px; font-weight: 800; color: var(--zxr-white);
    letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums;
}
body.zxr-arranged .zxr-price .old-price .price,
body.zxr-arranged .zxr-price .old-price .price strong {
    font-size: 20px; font-weight: 400; color: var(--zxr-muted-d) !important; letter-spacing: 0;
    text-decoration: line-through;
}
.zxr-save {
    padding: 6px 12px; border-radius: 999px;
    background: var(--zxr-orange); color: var(--zxr-navy);
    font-size: 14px; font-weight: 800; line-height: 1.2;
}
.zxr-rule { height: 1px; background: var(--zxr-line-d); }

/* ---------- Add to cart form: options, tiles, qty, button ---------- */
body.zxr-arranged .zxr-form .product-add-form,
body.zxr-arranged .zxr-form form,
body.zxr-arranged .zxr-form .fieldset { margin: 0; padding: 0; border: 0; float: none; width: auto; }
body.zxr-arranged .zxr-form .product-add-form { display: flex; flex-direction: column; gap: 20px; }
body.zxr-arranged .zxr-form form { display: flex; flex-direction: column; gap: 20px; }
body.zxr-arranged .zxr-form .product-options-wrapper { margin: 0; padding: 0; }
body.zxr-arranged .zxr-form .product-options-wrapper .field { margin: 0; padding: 0; }
body.zxr-arranged .zxr-form .product-options-wrapper .field + .field { margin-top: 18px; }

/* option group label: "Choose Your Version" ... "Required" */
body.zxr-arranged .zxr-form .product-options-wrapper .field > .label {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    width: auto; margin: 0 0 10px; padding: 0; float: none; text-align: left;
    font-family: var(--zxr-font); font-size: 16px; font-weight: 700; color: var(--zxr-white);
}
body.zxr-arranged .zxr-form .product-options-wrapper .field.required > .label::after {
    content: "Required"; position: static; margin: 0 0 0 auto;
    font-size: 13px; font-weight: 400; color: var(--zxr-muted-d); letter-spacing: 0;
}
body.zxr-arranged .zxr-form .product-options-wrapper .field > .control { width: auto; float: none; }

/* radio/checkbox choices as cards */
body.zxr-arranged .zxr-form .options-list.zxr-cards {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px;
    margin: 0 !important; padding: 0 !important;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice { position: relative; margin: 0 !important; padding: 0; }
body.zxr-arranged .zxr-form .options-list.zxr-cards input.radio,
body.zxr-arranged .zxr-form .options-list.zxr-cards input.checkbox {
    position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
    height: 100%; min-height: 86px; margin: 0; padding: 14px 16px 14px 44px;
    border: 2px solid var(--zxr-white); border-radius: 16px; background: var(--zxr-white);
    color: var(--zxr-text); font-family: var(--zxr-font); font-size: 14px; font-weight: 400; line-height: 1.35;
    cursor: pointer; text-align: left; transition: border-color .15s, background-color .15s;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label::before {
    content: ""; position: absolute; left: 16px; top: 16px;
    width: 18px; height: 18px; border-radius: 50%; border: 2px solid #b9c3d3;
    box-sizing: border-box; background: transparent;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label::after {
    content: ""; position: absolute; left: 21px; top: 21px;
    width: 8px; height: 8px; border-radius: 50%; background: transparent;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label:hover { border-color: color-mix(in srgb, var(--zxr-cta) 45%, #fff); }
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:checked) > label {
    border-color: var(--zxr-cta);
    background: color-mix(in srgb, var(--zxr-cta) 9%, #fff);
}
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:checked) > label::before { border-color: var(--zxr-cta); }
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:checked) > label::after { background: var(--zxr-cta); }
body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:focus-visible) > label { outline: 3px solid var(--zxr-sky); outline-offset: 2px; }
.zxr-opt { display: flex; flex-direction: column; gap: 3px; }
.zxr-opt-t { font-size: 16px; font-weight: 700; color: var(--zxr-text); }
.zxr-opt-s { font-size: 13px; color: var(--zxr-muted); }
body.zxr-arranged .zxr-form .options-list.zxr-cards .price-notice,
body.zxr-arranged .zxr-form .options-list.zxr-cards .price-notice .price,
.zxr-opt-inc { font-size: 13px; font-weight: 700; color: var(--zxr-blue); }
.zxr-opt-inc { color: #1a7f45; }

/* 5+ choices (e.g. Kestrel's memory sizes): compact centered tiles, 4 across on PC, 3 on phones.
   No radio circle; the picked tile gets the orange border and tint. */
body.zxr-arranged .zxr-form .options-list.zxr-cards--many {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 8px;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .field.choice > label {
    min-height: 66px; padding: 10px 6px; gap: 2px;
    align-items: center; justify-content: center; text-align: center; border-radius: 14px;
}
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .field.choice > label::before,
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .field.choice > label::after { content: none; }
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .zxr-opt { align-items: center; gap: 1px; }
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .zxr-opt-t { font-size: 15px; line-height: 1.2; }
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .zxr-opt-s { font-size: 11px; line-height: 1.25; }
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .price-notice,
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .price-notice .price,
body.zxr-arranged .zxr-form .options-list.zxr-cards--many .zxr-opt-inc { font-size: 12px; margin: 0; }

/* "required" message (Magento's own and ours) */
body.zxr-arranged .zxr-form div.mage-error,
.zxr-need {
    margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--zxr-orange-soft);
}
body.zxr-arranged .zxr-form .field.zxr-flash { border-radius: 18px; animation: zxr-flash 1.5s ease-out; }
body.zxr-arranged .zxr-form .field.zxr-flash .field.choice > label { border-color: var(--zxr-cta); }
@keyframes zxr-flash {
    0%, 40% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--zxr-cta) 70%, transparent); }
    100% { box-shadow: 0 0 0 14px transparent; }
}

/* microSD tiles (built by js/zxr-product from the accessories list) */
.zxr-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 10px; }
.zxr-label b { font-size: 16px; color: var(--zxr-white); }
.zxr-label span { font-size: 13px; color: var(--zxr-muted-d); }
.zxr-tiles__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)); gap: 10px; }
.zxr-tile {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-height: 72px; padding: 10px 6px; margin: 0;
    border: 2px solid var(--zxr-white); border-radius: 14px; background: var(--zxr-white);
    color: var(--zxr-text); font-family: var(--zxr-font); cursor: pointer; box-shadow: none;
    font-variant-numeric: tabular-nums; transition: border-color .15s, background-color .15s;
}
.zxr-tile:hover { border-color: color-mix(in srgb, var(--zxr-cta) 45%, #fff); background: var(--zxr-white); color: var(--zxr-text); }
.zxr-tile b { font-size: 17px; font-weight: 700; }
.zxr-tile span { font-size: 13px; font-weight: 700; color: var(--zxr-text); }
.zxr-tile[aria-pressed="true"] { border-color: var(--zxr-cta); background: color-mix(in srgb, var(--zxr-cta) 9%, #fff); }
.zxr-tile:focus-visible { outline: 3px solid var(--zxr-sky); outline-offset: 2px; }

/* qty + Add to Cart */
body.zxr-arranged .zxr-form .product-options-bottom,
body.zxr-arranged .zxr-form .box-tocart { margin: 0; padding: 0; }
body.zxr-arranged .zxr-form .box-tocart { display: block !important; width: 100% !important; }
body.zxr-arranged .zxr-form .box-tocart .fieldset {
    display: flex !important; align-items: stretch; gap: 12px; margin: 0; padding: 0;
}
body.zxr-arranged .zxr-form .box-tocart .field.qty {
    flex: none; margin: 0 !important; padding: 0 !important; width: auto !important; float: none;
}
body.zxr-arranged .zxr-form .box-tocart .field.qty > .label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* Quantity stepper: [ (−)  1  (+) ]. The − and + are drawn with two CSS bars, so they sit
   exactly in the middle of their round buttons whatever font the browser uses. */
body.zxr-arranged .zxr-form .box-tocart .control-qty-cart {
    position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2px;
    flex: none; width: auto !important; height: 60px; margin: 0; padding: 0 8px;
    border: 1.5px solid var(--zxr-white); border-radius: 16px; background: var(--zxr-white);
}
body.zxr-arranged .zxr-form .box-tocart .control-qty { display: contents; }
body.zxr-arranged .zxr-form .box-tocart input.qty {
    order: 0; flex: none; width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: var(--zxr-text) !important; font: 700 18px/40px var(--zxr-font) !important; text-align: center;
    font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
body.zxr-arranged .zxr-form .box-tocart input.qty::-webkit-outer-spin-button,
body.zxr-arranged .zxr-form .box-tocart input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.zxr-arranged .zxr-form .box-tocart .quantity-controls {
    position: static !important; display: block !important; flex: none;
    width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 50% !important;
    color: transparent !important; font-size: 0 !important; line-height: 0 !important;
    cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
    transition: background-color .15s;
}
body.zxr-arranged .zxr-form .box-tocart .quantity-controls > * { display: none !important; }
body.zxr-arranged .zxr-form .box-tocart .quantity-controls::before,
body.zxr-arranged .zxr-form .box-tocart .quantity-controls::after { content: none !important; }
body.zxr-arranged .zxr-form .box-tocart .quantity-minus {
    order: -1;
    background: linear-gradient(var(--zxr-text), var(--zxr-text)) center / 14px 2px no-repeat, #eef1f6 !important;
}
body.zxr-arranged .zxr-form .box-tocart .quantity-plus {
    order: 1;
    background: linear-gradient(var(--zxr-text), var(--zxr-text)) center / 14px 2px no-repeat,
                linear-gradient(var(--zxr-text), var(--zxr-text)) center / 2px 14px no-repeat, #eef1f6 !important;
}
body.zxr-arranged .zxr-form .box-tocart .quantity-controls:hover { background-color: #e1e6ee !important; }
body.zxr-arranged .zxr-form .box-tocart .quantity-controls:active { background-color: #d5dbe5 !important; }
body.zxr-arranged .zxr-form .box-tocart .actions {
    flex: 1 1 auto; display: flex; margin: 0 !important; padding: 0 !important; width: auto !important; float: none;
    position: static !important; top: auto !important; right: auto !important; left: auto !important;
}
body.zxr-arranged .zxr-form #product-addtocart-button {
    flex: 1 1 auto; width: 100% !important; min-height: 60px; margin: 0 !important; padding: 0 18px !important;
    display: flex; align-items: center; justify-content: center;
    border: 0 !important; border-radius: 16px !important;
    background: var(--zxr-cta) !important; color: var(--zxr-white) !important;
    font: 800 19px/1.1 var(--zxr-font) !important; letter-spacing: 0; text-transform: none !important;
    box-shadow: 0 18px 34px -16px color-mix(in srgb, var(--zxr-cta) 80%, transparent) !important;
    cursor: pointer; transition: filter .15s;
}
body.zxr-arranged .zxr-form #product-addtocart-button:hover { filter: brightness(1.06); }
body.zxr-arranged .zxr-form #product-addtocart-button span { color: inherit !important; font: inherit !important; }
body.zxr-arranged .zxr-form #product-addtocart-button[data-zxr-sum]::after {
    content: attr(data-zxr-sum); font-weight: 600; font-variant-numeric: tabular-nums;
}
body.zxr-arranged .zxr-form #product-addtocart-button:disabled { opacity: .7; }

/* ---------- Klarna monthly-payment line, right under the price (Klarna's own
   placement guidance). Stripe Payment Method Messaging Element, mounted by js/zxr-product;
   white text on the navy panel (PC), dark text on white (phone). ---------- */
.zxr-price .zxr-klarna { order: 5; flex: 1 1 100%; min-width: 0; min-height: 0; margin: 2px 0 0; padding: 0; }
.zxr-price .zxr-klarna:empty, .zxr-price .zxr-klarna[hidden] { display: none; }

/* ---------- Payment buttons: Stripe Express Checkout (Apple Pay, Google Pay, Klarna ...).
   Sit right on the navy panel (PC) or the white card (phone), one row of three, under an
   "or pay with" divider; collapse to nothing (is-empty, set by js/zxr-product) when no
   button shows. ---------- */
.zxr-pay {
    --zxr-pay-line: rgba(255, 255, 255, .16);
    display: flex; flex-direction: column; gap: 12px;
    padding: 0; border-radius: 0; background: none; color: inherit;
}
.zxr-pay:not(.is-empty)::before {
    content: "or pay with"; display: block; text-align: center;
    font: 600 12px/1 var(--zxr-font); letter-spacing: .08em; text-transform: uppercase;
    color: var(--zxr-muted-d);
    background:
        linear-gradient(var(--zxr-pay-line), var(--zxr-pay-line)) left center / calc(50% - 66px) 1px no-repeat,
        linear-gradient(var(--zxr-pay-line), var(--zxr-pay-line)) right center / calc(50% - 66px) 1px no-repeat;
}
.zxr-pay.is-empty { padding: 0; gap: 0; background: none; }
.zxr-pay__buttons { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.zxr-pay__buttons:empty { display: none; }
/* Stripe's own CSS makes the product-page button 49% wide on screens 768px+ (to sit next to
   Add to Cart); here it gets its own full-width row */
.zxr-pay #payment-request-button { width: 100% !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
/* Stripe's frames are 8px wider than their box (-4px margins). The parent theme's
   .catalog-product-view iframe { width: 100% !important } cut that off, so the
   Google Pay / Apple Pay button ended 4px short of the Add to Cart button. */
body.catalog-product-view .zxr-pay iframe[name^="__privateStripeFrame"],
body.catalog-product-view .zxr-klarna iframe[name^="__privateStripeFrame"] { width: calc(100% + 8px) !important; max-width: none !important; }

/* fallback accessories list (only visible if js/zxr-product did not run) */
body.zxr-arranged .zxr-hero .block.related { margin: 0; color: var(--zxr-white); }
body.zxr-arranged .zxr-hero .block.related .block-title h4,
body.zxr-arranged .zxr-hero .block.related td,
body.zxr-arranged .zxr-hero .block.related .price { color: var(--zxr-white); }

/* ---------- Shipping countdown (one line) ---------- */
body.zxr-arranged .zxr-ship .buyNowBox {
    position: relative; display: block; margin: 0; padding: 14px 16px 14px 66px;
    min-height: 66px; border-radius: 16px; border: 1px solid var(--zxr-line-d);
    background: var(--zxr-panel-d); color: var(--zxr-white); text-align: left;
    font-family: var(--zxr-font); font-size: 15px; line-height: 1.4;
}
body.zxr-arranged .zxr-ship .buyNowBox::before {
    content: ""; position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    width: 38px; height: 38px; border-radius: 12px;
    background: var(--zxr-orange);
}
body.zxr-arranged .zxr-ship .buyNowBox::after {
    content: ""; position: absolute; left: 23px; top: 50%; transform: translateY(-50%);
    width: 20px; height: 20px; background: var(--zxr-navy);
    -webkit-mask: var(--zxr-clock) center / contain no-repeat; mask: var(--zxr-clock) center / contain no-repeat;
}
body.zxr-arranged .zxr-ship .buyNowBox p {
    display: inline; margin: 0; padding: 0;
    color: var(--zxr-white) !important; font-family: var(--zxr-font) !important;
    font-size: inherit !important; font-weight: 400 !important; line-height: inherit !important;
    text-transform: none; letter-spacing: 0;
}
body.zxr-arranged .zxr-ship .buyNowBox p:empty { display: none; }
body.zxr-arranged .zxr-ship .buyNowBox p + p::before { content: " "; }
body.zxr-arranged .zxr-ship .buyNowBox strong { color: var(--zxr-sky) !important; font-weight: 700 !important; }

/* ---------- Highlights (bullet points) ---------- */
.zxr-hl {
    background: var(--zxr-white); border: 1px solid var(--zxr-line); border-radius: 24px;
    padding: 22px 26px 12px;
}
.zxr-eyebrow {
    font-family: var(--zxr-font); font-size: 13px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--zxr-blue);
    /* short orange dash before the label */
    padding-left: 26px; background: linear-gradient(var(--zxr-orange), var(--zxr-orange)) left center / 18px 3px no-repeat;
}
.zxr-hl .zxr-eyebrow { margin-bottom: 6px; }
body.zxr-arranged .zxr-hl .product.attribute.overview { margin: 0; padding: 0; float: none; width: auto; }
body.zxr-arranged .zxr-hl .product.attribute.overview > h4,
body.zxr-arranged .zxr-hl .product.attribute.overview > .type { display: none !important; }
body.zxr-arranged .zxr-hl .product.attribute.overview .value ul {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px;
}
body.zxr-arranged .zxr-hl .product.attribute.overview .value li {
    display: flex; align-items: center; gap: 12px; min-height: 50px; margin: 0; padding: 8px 0;
    border-top: 1px solid var(--zxr-line);
    font-family: var(--zxr-font); font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--zxr-text);
    list-style: none;
}
body.zxr-arranged .zxr-hl .product.attribute.overview .value li:nth-child(-n+2) { border-top: 0; }
body.zxr-arranged .zxr-hl .product.attribute.overview .value li::before {
    content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%;
    /* orange check on a soft peach dot */
    background: #fff1e6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e05d00' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
    box-shadow: inset 0 0 0 1px #ffd9bf;
}

/* Reviews teaser (parent theme's #reviewsBox) */
.zxr-review {
    background: var(--zxr-white); border: 1px solid var(--zxr-line); border-radius: 24px;
    padding: 18px 22px; color: var(--zxr-text);
}
body.zxr-arranged .zxr-review .reviewsBox {
    margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
    box-shadow: none !important; float: none; width: auto !important; height: auto !important; min-height: 0 !important;
    display: grid !important; grid-template-columns: auto 1fr; align-items: center; gap: 4px 12px;
    text-align: left !important; font-family: var(--zxr-font); color: var(--zxr-text);
}
body.zxr-arranged .zxr-review .reviewsBox::before {
    content: "Customer review"; grid-column: 1 / -1; margin-bottom: 4px;
    font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--zxr-blue);
    padding-left: 26px; background: linear-gradient(var(--zxr-orange), var(--zxr-orange)) left center / 18px 3px no-repeat;
}
body.zxr-arranged .zxr-review .reviewsBox .owner { font-weight: 700; font-size: 15px; }
body.zxr-arranged .zxr-review .reviewsBox .stars {
    display: flex; justify-content: flex-start !important; justify-self: start; gap: 2px; margin: 0 !important; width: auto !important;
}
body.zxr-arranged .zxr-review .reviewsBox > :not(.owner):not(.stars) { grid-column: 1 / -1; margin: 0 !important; font-size: 15px; }
/* The parent theme swaps the review every few seconds. Every review gets the same height
   (three lines; a longer one ends in "...") so nothing under the box moves, and each new
   one fades in instead of popping. */
body.zxr-arranged .zxr-review .reviewsBox > :not(.owner):not(.stars) {
    display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3;
    overflow: hidden; line-height: 1.45 !important; height: calc(3 * 1.45em); min-height: 0 !important;
}
body.zxr-arranged .zxr-review .reviewsBox > :not(.owner):not(.stars) * { line-height: inherit !important; margin: 0 !important; }
body.zxr-arranged .zxr-review .reviewsBox .owner { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
body.zxr-arranged .zxr-review .reviewsBox > * { animation: zxr-fade .45s ease both; }
@keyframes zxr-fade { from { opacity: 0; } to { opacity: 1; } }
.zxr-review.zxr-to-reviews { cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.zxr-review.zxr-to-reviews:hover { border-color: #c9d6ec; box-shadow: 0 10px 24px -18px rgba(11, 24, 48, .45); }
.zxr-review.zxr-to-reviews::after {
    content: "Read all reviews \2192"; display: block; margin-top: 10px;
    font: 700 14px/1.2 var(--zxr-font); color: var(--zxr-blue);
}
body.zxr-arranged .zxr-to-reviews .yotpo-widget-instance,
body.zxr-arranged .zxr-to-reviews .yotpo-sr-bottom-line-summary { cursor: pointer; }

/* ---------- Trust strip ---------- */
.zxr-trust {
    list-style: none; margin: 0; padding: 10px;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--zxr-white);
    border: 1px solid var(--zxr-line); border-radius: 22px;
}
.zxr-trust li {
    display: flex; align-items: center; gap: 16px; min-width: 0; margin: 0; padding: 14px 20px;
    border-left: 1px solid var(--zxr-line); line-height: 1.25; list-style: none;
}
.zxr-trust li:first-child { border-left: 0; }
.zxr-trust b { display: block; font-size: 15.5px; font-weight: 800; letter-spacing: -.01em; color: var(--zxr-navy); }
.zxr-trust small { display: block; margin-top: 2px; font-size: 13px; color: var(--zxr-muted); }
.zxr-ti {
    flex: none; position: relative; width: 48px; height: 48px; border-radius: 50%;
    background: linear-gradient(150deg, #1b3f7a 0%, var(--zxr-navy) 100%);
    box-shadow: 0 8px 16px -8px rgba(11, 24, 48, .55), inset 0 1px 0 rgba(255, 255, 255, .14);
}
.zxr-ti::before {
    content: ""; position: absolute; inset: 13px; background: var(--zxr-orange);
    -webkit-mask: var(--zxr-ti) center / contain no-repeat; mask: var(--zxr-ti) center / contain no-repeat;
}
.zxr-ti--support { --zxr-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='14' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='14' width='4' height='6' rx='1.5'/%3E%3C/svg%3E"); }
.zxr-ti--warranty { --zxr-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5.5c0 4.4-3 8-7 9.5-4-1.5-7-5.1-7-9.5V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.zxr-ti--returns { --zxr-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8'/%3E%3Cpath d='M3 3v5h5'/%3E%3C/svg%3E"); }
.zxr-ti--truck { --zxr-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6.5h11v9.5H2z'/%3E%3Cpath d='M13 9.5h4.5l3.5 3.8V16h-8'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='16.5' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.zxr-ti--ship { --zxr-ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5L12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5l9 4.5 9-4.5M12 12v9'/%3E%3C/svg%3E"); }

/* ======================= STICKY SECTION BAR ======================= */
.zxr-secbar {
    position: sticky; top: 0; z-index: 900;
    background: var(--zxr-navy);
    box-shadow: 0 0 0 100vmax var(--zxr-navy);
    clip-path: inset(0 -100vmax);
}
.zxr-secbar__in { min-height: 68px; display: flex; align-items: center; gap: 24px; }
.zxr-mini { display: flex; align-items: center; gap: 12px; line-height: 1.2; min-width: 0; flex: 0 1 260px; }
.zxr-mini img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex: none; }
.zxr-mini span { min-width: 0; }
.zxr-mini img { background: var(--zxr-white); }
.zxr-mini b { display: block; font-size: 16px; color: var(--zxr-white); }
.zxr-mini small { display: block; font-size: 12px; color: var(--zxr-muted-d); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zxr-tabs { flex: 1 1 auto; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.zxr-tabs::-webkit-scrollbar { display: none; }
.zxr-tabs a {
    padding: 22px 14px 19px; border-bottom: 3px solid transparent;
    color: var(--zxr-muted-d) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; white-space: nowrap;
    transition: color .15s, border-color .15s;
}
.zxr-tabs a:hover { color: var(--zxr-white) !important; }
.zxr-tabs a[aria-current="true"] { color: var(--zxr-white) !important; border-bottom-color: var(--zxr-orange); }
.zxr-mini-buy { margin-left: auto; display: flex; align-items: center; gap: 16px; flex: none; }
.zxr-mini-buy b { font-size: 22px; letter-spacing: -.02em; color: var(--zxr-white); font-variant-numeric: tabular-nums; }

.zxr-btn-cta {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; padding: 0 22px; margin: 0;
    border: 0; border-radius: 12px; background: var(--zxr-cta); color: var(--zxr-white);
    font: 800 17px/1.1 var(--zxr-font); cursor: pointer; box-shadow: none; text-transform: none;
    transition: filter .15s;
}
.zxr-btn-cta:hover, .zxr-btn-cta:focus { background: var(--zxr-cta); color: var(--zxr-white); filter: brightness(1.06); }
.zxr-btn-cta:focus-visible { outline: 3px solid var(--zxr-blue); outline-offset: 2px; }

/* ======================= COMPLETE YOUR KIT ======================= */
/* PC: under the photo card, in the left column next to the buy panel (fills the space a
   tall buy panel leaves there). Phone: after the review, before the section tabs.
   Same look on both: heading on the light-gray background, then one compact white row
   per accessory: picture | name + price | Add button. */
body.zxr-arranged .zxr-kit { position: relative; margin: 0; padding: 0; }
.zxr-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 8px 16px; margin-bottom: 12px; }
.zxr-sechead h2 { margin: 4px 0 0; font-family: var(--zxr-font); font-size: 22px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--zxr-text); }
.zxr-kitrow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
/* PC, short buy panel (js/zxr-product adds zxr-kit-wide): a full-width row between the
   photos/buy panel and Highlights, accessories side by side */
.zxr-hero__grid > .zxr-kit { grid-area: kit; min-width: 0; }
@media (min-width: 1000px) {
    body.zxr-kit-wide .zxr-hero__grid { grid-template-areas: "gallery panel" "kit kit" "side side" "trust trust"; }
    body.zxr-kit-wide .zxr-kitrow { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
    /* 3 across fits; 4 would leave one alone on a second row, so 4 = 2 + 2 */
    body.zxr-kit-wide .zxr-kitrow[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.zxr-acc {
    display: flex; align-items: center; gap: 14px; min-width: 0;
    padding: 12px 14px 12px 12px; border-radius: 18px; background: var(--zxr-white);
    border: 1.5px solid var(--zxr-line); transition: border-color .15s;
}
.zxr-acc.is-on { border-color: var(--zxr-cta); }
.zxr-acc__img {
    flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px;
    background: var(--zxr-paper); overflow: hidden;
}
.zxr-acc__img img { width: 48px; height: 48px; object-fit: contain; }
.zxr-acc__info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; line-height: 1.3; }
.zxr-acc__info b { font-size: 15px; font-weight: 700; color: var(--zxr-text); }
.zxr-acc__info strong { font-size: 14px; font-weight: 700; color: var(--zxr-muted); font-variant-numeric: tabular-nums; }
.zxr-add {
    flex: none; min-height: 40px; min-width: 84px; padding: 0 16px; margin: 0; border-radius: 999px;
    border: 1.5px solid var(--zxr-navy); background: var(--zxr-white); color: var(--zxr-navy);
    font: 700 14px/1 var(--zxr-font); cursor: pointer; box-shadow: none; white-space: nowrap;
}
.zxr-add:hover { background: var(--zxr-white); color: var(--zxr-navy); }
.zxr-acc.is-on .zxr-add { border-color: var(--zxr-cta); background: var(--zxr-cta); color: var(--zxr-white); }

/* ---------- Card finish ----------
   Color roles: navy = structure (panel, bar, icon circles), blue = labels and links,
   orange = accents (Add to Cart, checkmarks, icons, the active tab, small dashes).
   Every white card below the hero shares one border, radius family and shadow. */
.zxr-hl, .zxr-review, .zxr-trust, .zxr-acc {
    border: 1px solid var(--zxr-card-line) !important;
    box-shadow: var(--zxr-card-shadow);
}
.zxr-acc { transition: border-color .15s, box-shadow .15s; }
.zxr-acc:hover { border-color: #cfd8e6 !important; }
.zxr-acc.is-on { border-color: var(--zxr-cta) !important; box-shadow: 0 0 0 1px var(--zxr-cta), var(--zxr-card-shadow); }
.zxr-acc__info strong { color: var(--zxr-text); }
.zxr-add { transition: background-color .15s, color .15s; }
.zxr-add:hover, .zxr-add:focus-visible { background: var(--zxr-navy); color: var(--zxr-white); }
.zxr-acc.is-on .zxr-add:hover { background: var(--zxr-cta); }
body.zxr-arranged .zxr-hl .product.attribute.overview .value li { border-top-color: #edf0f4; }
.zxr-trust li { border-left-color: #edf0f4; }
/* customer review: a soft orange quote mark in the corner */
/* (no overflow: hidden here: inside the phone's flex column it would let the card shrink to nothing) */
.zxr-review { position: relative; }
.zxr-review::before {
    content: "\201C"; position: absolute; top: -10px; right: 20px; z-index: 0; pointer-events: none;
    font: 700 120px/1 Georgia, "Times New Roman", serif; color: #ffe4cf;
}
.zxr-review > * { position: relative; z-index: 1; }
.zxr-review.zxr-to-reviews:hover { border-color: #cfd8e6 !important; }

/* ============ PRODUCT INFO: tabs become stacked sections ============ */
body.zxr-arranged .productTabs.d-none.d-md-block { display: block !important; }
body.zxr-arranged .productTabs .resp-tabs-list,
body.zxr-arranged .productTabs h2.resp-accordion,
body.zxr-arranged .productTabs .data.item.title { display: none !important; }
body.zxr-arranged .productTabs .resp-tabs-container,
body.zxr-arranged .productTabs .resp-tab-content,
body.zxr-arranged .productTabs .data.item.content {
    display: block !important; border: 0 !important; padding: 0 !important; margin: 0 !important;
    background: none !important; box-shadow: none !important;
}
body.zxr-arranged .productTabs .zxr-section { scroll-margin-top: 84px; padding-top: 24px !important; }
/* Tabs (js/zxr-product adds zxr-tabbed): only the picked panel shows */
/* (doubled class: has to outrank "body.zxr-arranged .productTabs .data.item.content" above) */
body.zxr-arranged.zxr-tabbed .productTabs .zxr-section.zxr-section:not(.zxr-active) { display: none !important; }
body.zxr-tabbed .productTabs .zxr-section .zxr-sec-title { display: none; }
body.zxr-tabbed .productTabs .zxr-section.zxr-active { animation: zxr-fade .25s ease both; }
body.zxr-arranged.zxr-tabbed .productTabs .zxr-section.zxr-section { padding-top: 28px !important; }
/* the parent theme's orange "Additional Information" line over the spec table repeats the tab name */
body.zxr-tabbed #product-attribute-specs-table::before { content: none !important; display: none !important; }
.zxr-sec-title {
    margin: 32px 0 18px; font-family: var(--zxr-font); font-size: 34px; font-weight: 800;
    letter-spacing: -.025em; line-height: 1.1; color: var(--zxr-text);
}

/* ======================= PHONE BAR ======================= */
.zxr-mbar { display: none; }

/* ======================= PHONE + SMALL TABLET ======================= */
@media (max-width: 999px) {
    /* The navy name band runs edge to edge straight out of the orange search bar
       (the parent header leaves an 8px white strip under it at every phone and
       tablet width, hence -8px), and the white card with the photo, stars, price,
       Add to Cart, payment buttons and shipping line slides up over its bottom edge.
       Then trust, Highlights, review. */
    body.zxr-arranged .zxr-hero { padding: 0 0 28px; margin-top: -8px; }
    .zxr-hero__grid {
        max-width: 640px; margin: 0 auto;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "head" "gallery" "buy" "trust" "side" "kit";
        row-gap: 0;
    }
    .zxr-hero__panel, .zxr-hero__galcol, .zxr-hero__galstick { display: contents; }
    /* compact top: the orange search row and the navy name band take less height */
    body.zxr-arranged .mobileMenuContainer.btn-mobile { padding-top: 10px !important; padding-bottom: 10px !important; }
    /* the parent theme pins the menu icon 23px from the top (made for the 20px padding):
       move it up with the row so it lines up with the search box again */
    body.zxr-arranged .mobileMenuContainer.btn-mobile #sidebar-button { top: 13px !important; }
    .zxr-hero__head {
        grid-area: head; position: relative; gap: 0; padding: 10px 16px 24px;
        border-radius: 0; color: var(--zxr-white); background: var(--zxr-navy);
        box-shadow: 0 0 0 100vmax var(--zxr-navy); clip-path: inset(0 -100vmax);
    }
    .zxr-hero__gallery {
        grid-area: gallery; position: relative; z-index: 1;
        margin-top: -14px; padding: 8px 8px 0; border-radius: 22px 22px 0 0;
        border-bottom: 0; box-shadow: none;
    }
    .zxr-hero__gallery .fotorama__nav-wrap { margin-top: 8px; }
    /* thumbnails instead of dots (set by js/zxr-product): the active one gets an orange ring */
    .zxr-hero__gallery .fotorama__nav--thumbs .fotorama__thumb-border { display: none !important; }
    .zxr-hero__gallery .fotorama__nav--thumbs .fotorama__nav__frame--thumb .fotorama__thumb {
        margin: 2px 3px; width: calc(100% - 6px); height: calc(100% - 4px);
        border: 1px solid var(--zxr-line); border-radius: 12px; background: var(--zxr-white);
    }
    .zxr-hero__gallery .fotorama__nav--thumbs .fotorama__nav__frame--thumb.fotorama__active .fotorama__thumb {
        border-color: var(--zxr-cta); box-shadow: inset 0 0 0 1px var(--zxr-cta);
    }
    .zxr-hero__buy {
        grid-area: buy; gap: 16px; padding: 12px 18px 20px;
        background: var(--zxr-white); color: var(--zxr-text);
        border: 1px solid var(--zxr-line); border-top: 0; border-radius: 0 0 24px 24px;
        box-shadow: 0 30px 60px -44px rgba(11, 24, 48, .5);
    }
    .zxr-trust-wrap { margin-top: 14px; }
    .zxr-hero__side { margin-top: 14px; flex-direction: column; align-items: stretch; gap: 14px; }
    .zxr-hero__side > .zxr-review { order: 0; }

    /* the buy block sits on white on phones */
    .zxr-hero__buy a { color: var(--zxr-blue); }
    body.zxr-arranged .zxr-hero__buy .zxr-rating .yotpo-sr-bottom-line-score,
    body.zxr-arranged .zxr-hero__buy .zxr-rating .yotpo-sr-bottom-line-left { color: var(--zxr-text) !important; }
    body.zxr-arranged .zxr-hero__buy .zxr-rating .yotpo-sr-bottom-line-text { color: var(--zxr-blue) !important; }
    body.zxr-arranged .zxr-price .price,
    body.zxr-arranged .zxr-price .price strong { color: var(--zxr-text); }
    body.zxr-arranged .zxr-price .old-price .price,
    body.zxr-arranged .zxr-price .old-price .price strong { color: var(--zxr-muted) !important; }
    .zxr-rule { background: var(--zxr-line); }
    body.zxr-arranged .zxr-form .product-options-wrapper .field > .label { color: var(--zxr-text); }
    body.zxr-arranged .zxr-form .product-options-wrapper .field.required > .label::after { color: var(--zxr-muted); }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label { border-color: var(--zxr-line); }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:checked) > label { border-color: var(--zxr-cta); }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice:has(input:focus-visible) > label { outline-color: var(--zxr-blue); }
    .zxr-label b { color: var(--zxr-text); }
    .zxr-label span { color: var(--zxr-muted); }
    .zxr-tile { border-color: var(--zxr-line); }
    .zxr-tile:focus-visible { outline-color: var(--zxr-blue); }
    body.zxr-arranged .zxr-form div.mage-error, .zxr-need { color: var(--zxr-orange-ink); }
    body.zxr-arranged .zxr-hero .block.related,
    body.zxr-arranged .zxr-hero .block.related .block-title h4,
    body.zxr-arranged .zxr-hero .block.related td,
    body.zxr-arranged .zxr-hero .block.related .price { color: var(--zxr-text); }

    /* Quantity on its own row, Add to Cart full width under it */
    body.zxr-arranged .zxr-form .box-tocart .fieldset { flex-wrap: wrap; gap: 12px; }
    body.zxr-arranged .zxr-form .box-tocart .field.qty {
        flex: 1 1 100%; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
    }
    body.zxr-arranged .zxr-form .box-tocart .field.qty > .label {
        position: static !important; width: auto; height: auto; overflow: visible; clip: auto;
        margin: 0; padding: 0; float: none;
        font: 700 16px/1.2 var(--zxr-font); color: var(--zxr-text);
    }
    /* compact pill stepper on the right of the "Quantity" label, 44px round buttons */
    body.zxr-arranged .zxr-form .box-tocart .control-qty-cart {
        height: 54px; padding: 0 4px; gap: 4px; border-color: var(--zxr-line); border-radius: 999px;
    }
    body.zxr-arranged .zxr-form .box-tocart .quantity-controls { width: 44px !important; height: 44px !important; }
    body.zxr-arranged .zxr-form .box-tocart input.qty { width: 44px !important; height: 44px !important; line-height: 44px !important; }
    body.zxr-arranged .zxr-form .box-tocart .actions { flex: 1 1 100%; }

    /* shipping line on white */
    body.zxr-arranged .zxr-ship .buyNowBox { border-color: var(--zxr-line); background: var(--zxr-paper); color: var(--zxr-text); }
    body.zxr-arranged .zxr-ship .buyNowBox p { color: var(--zxr-text) !important; }
    body.zxr-arranged .zxr-ship .buyNowBox strong { color: var(--zxr-blue) !important; }
    body.zxr-arranged .zxr-ship .buyNowBox::after { background: var(--zxr-navy); }

    /* payment buttons: on the white card */
    .zxr-pay { --zxr-pay-line: var(--zxr-line); }
    .zxr-pay:not(.is-empty)::before { color: var(--zxr-muted); }
    .zxr-pill { font-size: 12px; padding: 6px 12px; }
    body.zxr-arranged .zxr-stock .product.attribute.sku { display: none; }
    .zxr-subhead { gap: 12px; }
    /* name band: "In stock" moves up onto the name's row (right side), the eyebrow pill is
       left out, so the band is just name + one short line */
    .zxr-hero__head .zxr-meta { position: absolute; top: 19px; right: 16px; z-index: 1; }
    .zxr-hero__head .zxr-pill { display: none; }
    .zxr-title .zxr-name { font-size: 30px; line-height: 1.1; padding-right: 92px; }
    .zxr-title .zxr-name--long { font-size: 24px; }
    .zxr-title .zxr-full { font-size: 13.5px; line-height: 1.3; margin-top: 3px; color: var(--zxr-muted-d); }
    body.zxr-arranged .zxr-stock .stock { font-size: 13px; }
    body.zxr-arranged .zxr-stock .stock.available::before { width: 14px; height: 14px; }
    .zxr-lead { display: none; }
    body.zxr-arranged .zxr-price .price,
    body.zxr-arranged .zxr-price .price strong { font-size: 40px; }
    body.zxr-arranged .zxr-price .old-price .price,
    body.zxr-arranged .zxr-price .old-price .price strong { font-size: 17px; }
    .zxr-save { font-size: 13px; padding: 5px 10px; }

    body.zxr-arranged .zxr-form .options-list.zxr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label { min-height: 92px; padding: 12px 11px 12px 38px; }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label::before { left: 12px; top: 14px; }
    body.zxr-arranged .zxr-form .options-list.zxr-cards .field.choice > label::after { left: 17px; top: 19px; }
    .zxr-opt-t { font-size: 15px; }
    .zxr-opt-s { font-size: 12px; }
    body.zxr-arranged .zxr-form .options-list.zxr-cards--many { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    body.zxr-arranged .zxr-form .options-list.zxr-cards--many .field.choice > label { min-height: 64px; padding: 9px 4px; }

    .zxr-tiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zxr-tile { flex-direction: row; justify-content: space-between; min-height: 56px; padding: 10px 12px; }

    body.zxr-arranged .zxr-form #product-addtocart-button { min-height: 56px; }
    body.zxr-arranged .zxr-form #product-addtocart-button[data-zxr-sum]::after { content: none; }
    body.zxr-arranged .zxr-ship .buyNowBox { font-size: 14px; padding: 12px 14px 12px 62px; }

    .zxr-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 4px; border-radius: 20px; }
    .zxr-trust li { gap: 10px; padding: 12px 10px; border-left: 0; align-items: center; }
    .zxr-trust li:nth-child(even) { border-left: 1px solid #edf0f4; }
    .zxr-trust li:nth-child(n+3) { border-top: 1px solid #edf0f4; }
    .zxr-ti { width: 34px; height: 34px; }
    .zxr-ti::before { inset: 9px; }
    .zxr-trust b { font-size: 13px; }
    .zxr-trust small { font-size: 12px; }

    .zxr-hl { padding: 16px 18px 6px; border-radius: 20px; }
    body.zxr-arranged .zxr-hl .product.attribute.overview .value ul { grid-template-columns: minmax(0, 1fr); }
    body.zxr-arranged .zxr-hl .product.attribute.overview .value li { min-height: 44px; padding: 6px 0; font-size: 14px; gap: 10px; }
    body.zxr-arranged .zxr-hl .product.attribute.overview .value li:nth-child(2) { border-top: 1px solid #edf0f4; }
    body.zxr-arranged .zxr-hl .product.attribute.overview .value li::before { width: 20px; height: 20px; }
    .zxr-review { border-radius: 20px; padding: 16px 18px; }
    .zxr-review::before { font-size: 96px; top: -8px; right: 16px; }

    .zxr-secbar__in { min-height: 0; padding: 10px 0; }
    .zxr-mini, .zxr-mini-buy { display: none; }
    .zxr-tabs { gap: 8px; }
    .zxr-tabs a {
        flex: none; display: flex; align-items: center; min-height: 40px; padding: 0 16px;
        border: 0; border-radius: 999px; background: rgba(255, 255, 255, .1);
        color: var(--zxr-white) !important; font-size: 14px; font-weight: 700;
    }
    .zxr-tabs a[aria-current="true"] { background: var(--zxr-white); color: var(--zxr-navy) !important; }

    body.zxr-arranged .zxr-kit { grid-area: kit; margin-top: 26px; }
    .zxr-acc { border-radius: 16px; }
    .zxr-add { min-height: 44px; }
    .zxr-sec-title { font-size: 28px; margin: 24px 0 14px; }

    body.zxr-arranged .zxr-mbar {
        display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
        align-items: center; gap: 12px;
        padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
        background: var(--zxr-navy); color: var(--zxr-white);
        border-top: 1px solid rgba(255, 255, 255, .12);
        box-shadow: 0 -14px 30px -16px rgba(11, 24, 48, .6);
        transition: transform .25s ease;
    }
    /* slides away while the page's own Add to Cart button is on screen, so the two
       never show at once (js/zxr-product sets zxr-buy-inview) */
    body.zxr-arranged.zxr-buy-inview .zxr-mbar { transform: translateY(110%); }
    .zxr-mbar__t { flex: 0 1 auto; min-width: 0; line-height: 1.2; }
    .zxr-mbar__t b { display: block; font-size: 21px; letter-spacing: -.02em; color: var(--zxr-white); font-variant-numeric: tabular-nums; }
    .zxr-mbar__t small { display: block; font-size: 12px; color: var(--zxr-muted-d); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .zxr-mbar .zxr-btn-cta { flex: 1 0 46%; min-height: 52px; border-radius: 14px; font-size: 19px; }
    body.zxr-arranged { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }

    /* keep the Zendesk chat button above the phone bar, and fade it out while the page's
       own Add to Cart is on screen so it never sits on top of the button */
    body.zxr-arranged iframe#launcher {
        bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
        transition: opacity .2s ease, visibility .2s ease;
    }
    body.zxr-arranged.zxr-buy-inview iframe#launcher { opacity: 0 !important; visibility: hidden !important; }

    /* small badges other scripts pin to the bottom of the screen (discount teaser, Stripe's
       badge) move up above the bar while it shows; js/zxr-product marks them .zxr-lift and
       sets --zxr-mbar-h */
    body.zxr-arranged .zxr-lift {
        transform: translateY(calc(-1 * var(--zxr-mbar-h, 88px))) !important;
        transition: transform .25s ease !important;
    }
    body.zxr-arranged.zxr-buy-inview .zxr-lift { transform: none !important; }
}

@media (max-width: 360px) {
    .zxr-title .zxr-name { font-size: 30px; }
    body.zxr-arranged .zxr-price .price,
    body.zxr-arranged .zxr-price .price strong { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
    body.zxr-page .zxr-shell *, body.zxr-page .zxr-mbar * { transition: none !important; animation: none !important; }
    body.zxr-page .productTabs .zxr-section { animation: none !important; }
}

/* ---- Patch Oct 25, 2026: product name in the sticky section bar ----
   The name had only 204px and wrapped to 4 lines. On PC it now takes the free space up to
   460px, in a slightly smaller bold line, with at most 2 lines (longer names end in "..."). */
@media (min-width: 1000px) {
  .zxr-mini { flex: 1 1 auto; max-width: 460px; }
  .zxr-mini span { flex: 1 1 auto; }
  .zxr-mini b {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-wrap: balance;
  }
  .zxr-tabs { flex: 0 0 auto; }
}

/* ---- Patch Oct 26, 2026: accessibility (WCAG 2.1 AA), look unchanged (a11y Oct 26, 2026) ----
   The sticky bar's Add to Cart is 19px, like the main Add to Cart: white on the orange
   #f26a00 is 3.1:1, which WCAG allows only for large text (bold 18.66px and up). */
.zxr-btn-cta { font-size: 19px; }

/* ---- Patch Oct 26, 2026 (2): keyboard focus rings (a11y-2 Oct 26, 2026) ----
   A snippet in the site's <head> draws a 2px black ring on every focused element
   (*:focus-visible, !important). On white that's fine; on the navy buy panel (PC), the sticky
   bar and the phone bar it can't be seen, so there the ring is sky blue, as designed.
   The theme also turns a focused <button> grey with white text (and drops its border);
   the microSD tiles and the "+ Add" buttons keep their own look when focused. */
.zxr-secbar a:focus-visible,
.zxr-secbar button:focus-visible,
.zxr-mbar a:focus-visible,
.zxr-mbar button:focus-visible { outline: 3px solid var(--zxr-sky) !important; outline-offset: 2px; }
@media (min-width: 1000px) {
  .zxr-hero__panel a:focus-visible,
  .zxr-hero__panel button:focus-visible,
  .zxr-hero__panel input:focus-visible,
  .zxr-hero__panel select:focus-visible,
  .zxr-hero__panel textarea:focus-visible,
  .zxr-hero__panel [tabindex]:focus-visible { outline: 3px solid var(--zxr-sky) !important; outline-offset: 2px; }
}
.zxr-tiles__grid button.zxr-tile:focus,
.zxr-tiles__grid button.zxr-tile:active { border: 2px solid var(--zxr-white); background: var(--zxr-white); color: var(--zxr-text); box-shadow: none; }
.zxr-tiles__grid button.zxr-tile[aria-pressed="true"]:focus,
.zxr-tiles__grid button.zxr-tile[aria-pressed="true"]:active { border-color: var(--zxr-cta); background: color-mix(in srgb, var(--zxr-cta) 9%, #fff); }
@media (max-width: 999px) {
  .zxr-tiles__grid button.zxr-tile:focus,
  .zxr-tiles__grid button.zxr-tile:active { border-color: var(--zxr-line); }
  .zxr-tiles__grid button.zxr-tile[aria-pressed="true"]:focus,
  .zxr-tiles__grid button.zxr-tile[aria-pressed="true"]:active { border-color: var(--zxr-cta); }
}
.zxr-acc button.zxr-add:focus,
.zxr-acc button.zxr-add:active { border: 1.5px solid var(--zxr-navy); background: var(--zxr-white); color: var(--zxr-navy); box-shadow: none; }
.zxr-acc button.zxr-add:hover,
.zxr-acc button.zxr-add:focus-visible { background: var(--zxr-navy); color: var(--zxr-white); }
.zxr-acc.is-on button.zxr-add,
.zxr-acc.is-on button.zxr-add:focus,
.zxr-acc.is-on button.zxr-add:active,
.zxr-acc.is-on button.zxr-add:hover { border-color: var(--zxr-cta); background: var(--zxr-cta); color: var(--zxr-white); }

/* ---- Patch Oct 26, 2026 (3): focus rings (a11y-3 Oct 26, 2026) ----
   PC: the quantity box is white inside the navy panel, so its ring is navy, not sky.
   Product details: some descriptions have dark sections; links there get a white halo
   around the black focus ring so it shows. */
@media (min-width: 1000px) {
  .zxr-hero__panel input.qty:focus-visible { outline-color: var(--zxr-navy) !important; }
}
.zxr-section a:focus-visible,
.zxr-section button:focus-visible { box-shadow: 0 0 0 4px #fff !important; }

/* Header, menu, footer and the Black Friday bar (parent theme): the site's black focus ring
   can't be seen on the blue footer, the dark footer strip or the black bar. A white halo
   around it makes it show on any color. Only visible while tabbing with the keyboard. */
.page-header a:focus-visible,
.page-header button:focus-visible,
.page-header input:focus-visible,
.nav-sections a:focus-visible,
.page-footer a:focus-visible,
.page-footer button:focus-visible,
.page-footer input:focus-visible,
a#zt-bf:focus-visible { box-shadow: 0 0 0 4px #fff !important; }

/* ---- Patch Oct 26, 2026 (4) (a11y-4): the hidden "Skip to the beginning of the images gallery"
   link stuck out past the screen edge on 320px phones (and further with larger text spacing). */
.zxr-hero__gallery .action-skip-wrapper { overflow-x: clip; }

/* ---- Patch Oct 26, 2026 (5): Specification and Product Reviews tabs (panes-5 Oct 26, 2026) ----
   js/zxr-product (initPanes) gives both panels .zxr-pane and a heading (blue label with the
   orange dash, then a title). Each panel is a light-gray tray, like the Details tab's own
   sections, holding one white card with the shared card finish. Specification: two columns
   of rows on PC, one on phones. Product Reviews: Yotpo's widget in our type and colors.
   Without the script nothing here applies and the panels keep their old look. */
body.zxr-arranged .productTabs .zxr-section.zxr-section.zxr-pane.zxr-pane {
  margin: 28px 0 8px !important;
  padding: 36px 36px 40px !important;
  border-radius: 28px !important;
  background: var(--zxr-paper) !important;
  color: var(--zxr-text);
  font-family: var(--zxr-font);
}
.zxr-pane > .zxr-sec-title,
.zxr-pane .noOptionSpacer { display: none !important; }
.zxr-pane__head { margin: 0 0 22px; }
body.zxr-arranged .zxr-pane__head .zxr-eyebrow { display: block; margin: 0 0 8px; padding-top: 0; padding-bottom: 0; line-height: 1.3; }
body.zxr-arranged .productTabs .zxr-pane h2.zxr-pane__title {
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  font-family: var(--zxr-font) !important; font-size: 34px !important; font-weight: 800 !important;
  letter-spacing: -.025em !important; line-height: 1.1 !important; color: var(--zxr-text) !important;
  text-transform: none !important; text-align: left !important;
}
body.zxr-arranged .productTabs .zxr-pane h2.zxr-pane__title::before,
body.zxr-arranged .productTabs .zxr-pane h2.zxr-pane__title::after { content: none !important; }

/* ---------- Specification: one white card, rows in two columns ---------- */
body.zxr-arranged .zxr-pane--specs .additional-attributes-wrapper {
  margin: 0 !important; padding: 8px 32px !important; overflow: visible !important;
  background: var(--zxr-white) !important; border: 1px solid var(--zxr-card-line) !important;
  border-radius: 24px !important; box-shadow: var(--zxr-card-shadow) !important;
}
.zxr-specs__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
/* two tables side by side with a light divider down the middle */
.zxr-specs__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 65px;
  background: linear-gradient(#edf0f4, #edf0f4) center top / 1px 100% no-repeat;
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-collapse: collapse !important; border-spacing: 0 !important;
  background: none !important; box-shadow: none !important; table-layout: fixed;
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes::before,
body.zxr-arranged .zxr-pane--specs table.additional-attributes::after { content: none !important; display: none !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes tr { background: none !important; border: 0 !important; }
/* Magento turns the rows into stacked blocks under 768px ("Sensor: ..." drawn from data-th).
   Keep a real two-column table at every width so screen readers still get header cells. */
body.zxr-arranged .zxr-pane--specs table.additional-attributes { display: table !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes > tbody { display: table-row-group !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes tr:not([hidden]) { display: table-row !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes th,
body.zxr-arranged .zxr-pane--specs table.additional-attributes td { display: table-cell !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes th::before,
body.zxr-arranged .zxr-pane--specs table.additional-attributes td::before { content: none !important; display: none !important; }

body.zxr-arranged .zxr-pane--specs table.additional-attributes tr[hidden] { display: none !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes th,
body.zxr-arranged .zxr-pane--specs table.additional-attributes td {
  padding: 14px 0 !important; margin: 0 !important;
  border: 0 !important; border-top: 1px solid #edf0f4 !important;
  background: none !important; box-shadow: none !important;
  vertical-align: top !important; text-align: left !important;
  font-family: var(--zxr-font) !important; line-height: 1.45 !important; letter-spacing: 0 !important;
  text-transform: none !important;
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes tr.zxr-row-first > th,
body.zxr-arranged .zxr-pane--specs table.additional-attributes tr.zxr-row-first > td { border-top: 0 !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes th {
  width: 40% !important; padding-right: 20px !important;
  font-size: 14px !important; font-weight: 700 !important; color: var(--zxr-muted) !important;
}
body.zxr-arranged .zxr-pane--specs .zxr-specs__grid:not(.zxr-specs__grid--two) table.additional-attributes th { width: 32% !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes td {
  font-size: 15px !important; font-weight: 500 !important; color: var(--zxr-text) !important;
  overflow-wrap: break-word;
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes td * { color: inherit !important; font-family: inherit !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes td ul,
body.zxr-arranged .zxr-pane--specs table.additional-attributes td ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes td li {
  position: relative; list-style: none !important; margin: 0 !important; padding: 0 !important;
  font-size: inherit !important; line-height: inherit !important;
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes td li::before { content: none !important; }
/* lists of two or more: a small dot in front of each item */
body.zxr-arranged .zxr-pane--specs table.additional-attributes td li:not(:only-child) { padding-left: 14px !important; }
body.zxr-arranged .zxr-pane--specs table.additional-attributes td li:not(:only-child)::before {
  content: "" !important; position: absolute; left: 0; top: .62em;
  width: 5px; height: 5px; border-radius: 50%; background: var(--zxr-muted);
}
body.zxr-arranged .zxr-pane--specs table.additional-attributes td li + li { margin-top: 4px !important; }

/* ---------- Product Reviews: Yotpo's widget in one white card ---------- */
body.zxr-arranged .zxr-pane--reviews > .yotpo-widget-instance {
  margin: 0 !important; padding: 26px 32px 30px !important;
  background: var(--zxr-white) !important; border: 1px solid var(--zxr-card-line) !important;
  border-radius: 24px !important; box-shadow: var(--zxr-card-shadow) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget * { font-family: var(--zxr-font) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget { color: var(--zxr-text) !important; margin: 0 !important; max-width: none !important; }
/* Yotpo keeps its content to 80% of the width, centered: use the whole card */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-base-layout { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* our heading replaces Yotpo's "Customer Reviews" line */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-head:has(#yotpo-headline-reviews) { display: none !important; }

/* Reviews / Q&A switch: the active one dark with the orange line, like the section tabs */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-main-widget-tabs {
  border-bottom: 1px solid #edf0f4 !important; margin-top: 0 !important; margin-bottom: 26px !important; gap: 24px;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab:active {
  margin: 0 0 -1px !important; padding: 4px 2px 12px !important; min-height: 0 !important;
  background: none !important; border: 0 !important; border-bottom: 3px solid transparent !important;
  border-radius: 0 !important; box-shadow: none !important;
  font-size: 16px !important; font-weight: 700 !important; line-height: 1.2 !important;
  color: var(--zxr-muted) !important; text-transform: none !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab:hover { color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab.selected,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .ugc-storefront-widgets-tabs-container__tab[aria-selected="true"] {
  color: var(--zxr-text) !important; border-bottom-color: var(--zxr-orange) !important;
}

/* summary: big score, "Based on N reviews", bars */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line-score {
  font-size: 46px !important; font-weight: 800 !important; line-height: 1 !important;
  letter-spacing: -.03em !important; color: var(--zxr-text) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line-text,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line-basic-text {
  font-size: 14px !important; color: var(--zxr-muted) !important;
}
/* the score, the bars and "Write A Review" share one soft box */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-main-reviews-widget .yotpo-layout-header-wrapper {
  margin: 0 0 28px !important; padding: 24px 28px !important; border-radius: 18px !important; background: #f6f8fb !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line { border-color: #e3e7ee !important; }
@media (min-width: 1000px) {
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-main-reviews-widget .yotpo-layout-header-wrapper { justify-content: flex-start !important; align-items: center !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line { margin: 0 !important; align-items: center !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-vertical-border { align-self: stretch !important; height: auto !important; margin: 0 0 0 40px !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution { margin: 0 !important; padding: 0 0 0 40px !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn-wrapper { margin-left: auto !important; }
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-vertical-border { border-color: #edf0f4 !important; background-color: #edf0f4 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution-index,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution-value {
  font-size: 14px !important; font-weight: 700 !important; color: var(--zxr-text) !important; font-variant-numeric: tabular-nums;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-progress-bar { background: #e3e7ee !important; border-radius: 999px !important; overflow: hidden; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-progress-bar-score { background: var(--zxr-navy) !important; border-radius: 999px !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution button,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution button:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution button:active {
  background: none !important; border: 0 !important; box-shadow: none !important; color: var(--zxr-text) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution button:hover .yotpo-progress-bar { background: #e1e6ee !important; }

/* "Write A Review": the secondary button (navy outline pill, fills navy on hover) */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn:active {
  min-height: 46px !important; height: auto !important; width: auto !important; padding: 0 24px !important; margin: 0 !important;
  border: 1.5px solid var(--zxr-navy) !important; border-radius: 999px !important;
  background: var(--zxr-white) !important; color: var(--zxr-navy) !important; box-shadow: none !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 1.1 !important; text-transform: none !important;
  transition: background-color .15s, color .15s;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn:hover,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn:focus-visible {
  background: var(--zxr-navy) !important; color: var(--zxr-white) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-new-review-btn * { color: inherit !important; }

/* search, filters and sort */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-filter,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-dropdown-base:not(.yotpo-dropdown-base--textual),
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-media-select {
  border: 1px solid #7d889c !important; border-radius: 12px !important; background-color: var(--zxr-white) !important;
  color: var(--zxr-text) !important; box-shadow: none !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-input {
  border-radius: 12px 0 0 12px !important; color: var(--zxr-text) !important; font-size: 14px !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-input::placeholder { color: var(--zxr-muted) !important; opacity: 1; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-filter__icon-button,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-filter__icon-button:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-search-filter__icon-button:active {
  background: #eef1f6 !important; border: 0 !important; color: var(--zxr-navy) !important; box-shadow: none !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-mobile-filters-btn,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-mobile-filters-btn:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-mobile-filters-btn:active {
  border: 1px solid #7d889c !important; border-radius: 12px !important; background: var(--zxr-white) !important;
  color: var(--zxr-text) !important; box-shadow: none !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-media-select:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-media-select:active { background: var(--zxr-white) !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-selected-value,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-selected-value__label--inside,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-selected-value__label--textual {
  color: var(--zxr-text) !important; font-size: 14px !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-selected-value__label--inside { font-weight: 500 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-selected-value__value { color: var(--zxr-text) !important; font-weight: 700 !important; font-size: 14px !important; }

/* popular topics: soft gray chips with navy text; the picked one navy */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topics-headline {
  font-size: 14px !important; font-weight: 700 !important; color: var(--zxr-text) !important; margin-bottom: 10px !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter:active {
  min-height: 34px !important; padding: 6px 14px !important; border: 0 !important; border-radius: 999px !important;
  background: #eef1f6 !important; color: var(--zxr-navy) !important; box-shadow: none !important;
  font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter:hover { background: #e1e6ee !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter[aria-pressed="true"] {
  background: var(--zxr-navy) !important; color: var(--zxr-white) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-smart-topic-filter * { color: inherit !important; }

/* review list */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-border-smooth { height: 1px !important; border: 0 !important; background-color: #edf0f4 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviewer-name,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviewer-name-text { font-size: 15px !important; font-weight: 700 !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviewer-verified-buyer-text { font-size: 13px !important; font-weight: 600 !important; color: var(--zxr-blue) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-title,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-title * { font-size: 16px !important; font-weight: 700 !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-content,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-read-more-text { font-size: 15px !important; line-height: 1.55 !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-date,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-date-format,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-votes-text,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-votes-number { font-size: 13px !important; color: var(--zxr-muted) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-read-more,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-read-more:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-read-more:active {
  background: none !important; border: 0 !important; box-shadow: none !important;
  color: var(--zxr-blue) !important; font-size: 14px !important; font-weight: 700 !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-votes-icons,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-votes-icons:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-review-votes-icons:active {
  background: none !important; border: 0 !important; box-shadow: none !important; color: var(--zxr-muted) !important;
}

/* Q&A (Yotpo's second tab): same type and colors, full width, the answers marked with a short orange line */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-questions-and-answers .yotpo-main-layout { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-questions-and-answers .yotpo-header-head { text-align: left !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-header-headline { font-size: 18px !important; font-weight: 800 !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-header-summary { font-size: 14px !important; color: var(--zxr-muted) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn:active {
  min-height: 46px !important; height: auto !important; width: auto !important; padding: 0 24px !important;
  border: 1.5px solid var(--zxr-navy) !important; border-radius: 999px !important;
  background: var(--zxr-white) !important; color: var(--zxr-navy) !important; box-shadow: none !important;
  transition: background-color .15s, color .15s;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn:hover,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn:focus-visible { background: var(--zxr-navy) !important; color: var(--zxr-white) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-btn * { color: inherit !important; font-size: 15px !important; font-weight: 700 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-border-smooth { height: 1px !important; border: 0 !important; background-color: #edf0f4 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-shopper-name { font-size: 15px !important; font-weight: 700 !important; color: var(--zxr-text) !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-question-content .yotpo-read-more-text { font-weight: 600 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-answer {
  border-left: 3px solid var(--zxr-orange) !important; padding-left: 14px !important; color: var(--zxr-text) !important;
}

/* page numbers: the current page navy */
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item:focus,
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item:active {
  min-width: 38px !important; min-height: 38px !important; border: 0 !important; border-radius: 10px !important;
  background: none !important; color: var(--zxr-text) !important; box-shadow: none !important;
  font-size: 15px !important; font-weight: 600 !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item:not(.disabled):hover { background: #eef1f6 !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item.selected {
  background: var(--zxr-navy) !important; color: var(--zxr-white) !important;
}
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-item.disabled { color: #b9c1ce !important; }
body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-reviews-pagination-container { margin: 24px 0 0 !important; }

/* ---------- Phones and small tablets ---------- */
@media (max-width: 999px) {
  body.zxr-arranged .productTabs .zxr-section.zxr-section.zxr-pane.zxr-pane {
    margin: 20px 0 4px !important; padding: 24px 14px 16px !important; border-radius: 22px !important;
  }
  .zxr-pane__head { margin-bottom: 18px; padding: 0 4px; }
  body.zxr-arranged .productTabs .zxr-pane h2.zxr-pane__title { font-size: 28px !important; }
  body.zxr-arranged .zxr-pane--specs .additional-attributes-wrapper { padding: 4px 18px !important; border-radius: 20px !important; }
  .zxr-specs__grid--two { grid-template-columns: minmax(0, 1fr); background: none; }
  body.zxr-arranged .zxr-pane--specs .zxr-specs__grid--two > table + table tr.zxr-row-first > th,
  body.zxr-arranged .zxr-pane--specs .zxr-specs__grid--two > table + table tr.zxr-row-first > td { border-top: 1px solid #edf0f4 !important; }
  body.zxr-arranged .zxr-pane--specs table.additional-attributes th,
  body.zxr-arranged .zxr-pane--specs table.additional-attributes td { padding-top: 12px !important; padding-bottom: 12px !important; }
  body.zxr-arranged .zxr-pane--specs table.additional-attributes th,
  body.zxr-arranged .zxr-pane--specs .zxr-specs__grid:not(.zxr-specs__grid--two) table.additional-attributes th { width: 42% !important; padding-right: 14px !important; font-size: 13px !important; }
  body.zxr-arranged .zxr-pane--reviews > .yotpo-widget-instance { padding: 18px 16px 22px !important; border-radius: 20px !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line-score { font-size: 40px !important; }
  /* the score box fits the card: no fixed widths, no side padding on the bars */
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-main-reviews-widget .yotpo-layout-header-wrapper { padding: 18px 14px !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line,
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-summary-section,
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution {
    width: auto !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important;
  }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-bottom-line { margin: 0 !important; }
  body.zxr-arranged .zxr-pane--reviews #yotpo-reviews-main-widget .yotpo-star-distribution { margin: 0 !important; padding: 0 !important; }
}
