
/**
 * AlanDog PDP (Product Detail Page) — Complete Stylesheet
 * Reference: PDP2_v8 — 1:1 visual match
 *
 * Sections:
 *   A) Design Tokens
 *   B) Gallery — Vertical Thumbnails
 *   C) Brand Badge
 *   D) Product Title
 *   E) Rating Row
 *   F) Price Block + Savings Badge
 *   G) Delivery Box
 *   H) Loyalty Points
 *   I) Trust Badges
 *   I-0) Breadcrumbs
 *   I-1) Summary Spacing
 *   I-bis-0) Variation Selector
 *   I-bis-1) Acquisto Periodico
 *   I-bis-2) Bulk Discount Table
 *   I-bis-3) Hide Product Meta
 *   I-bis) ATC Button
 *   I-ter) Qty Selector
 *   I-quater) Sale Badge
 *   J) Section Navigation (always visible + sticky)
 *   K) Below-Fold Sections
 *   L) Review Summary + Rating Bars
 *   M) Mobile Sticky ATC Bar
 *   N) Pulse Animation
 *   O) Upsells + Related Products
 *   P) Recently Viewed
 *   Q) Hide PWB Duplicate + Martfury Sticky
 *   R) Override Martfury Layout Proportions
 *   S) Responsive — Tablet (max-width: 991px)
 *   T) Responsive — Mobile (max-width: 767px)
 *   U) Responsive — Small Mobile (max-width: 480px)
 *   V) Martfury Residual Overrides
 */


/* ============================================================
   A) DESIGN TOKENS
   ============================================================ */
.single-product {
    --pdp-primary: #065282;
    --pdp-primary-light: #93c5fd;
    --pdp-primary-bg: #eff6ff;
    --pdp-cta: #065282;
    --pdp-cta-hover: #075694;
    --pdp-gold: #facc15;
    --pdp-text: #1e293b;
    --pdp-muted: #45536a;
    --pdp-muted-dark: #45536a;
    --pdp-border: #e2e8f0;
    --pdp-bg: #f8fafc;
    --pdp-sale: #a61d1d;
    --pdp-urgency: #f97316;
    --pdp-radius-sm: 12px;
    --pdp-radius-md: 14px;
    --pdp-radius-lg: 16px;
    --pdp-radius-xl: 20px;
    --pdp-shadow: 0 4px 24px rgba(0,0,0,0.08);
    --pdp-shadow-hover: 0 8px 24px rgba(0,0,0,0.12);
    --pdp-nav-height: 56px;
    /* CSS-4 FIX: removed DM Sans (never loaded). Falls back to theme fonts. */
    --pdp-font: 'Nunito Sans', 'Inter', -apple-system, sans-serif;
    --pdp-font-heading: 'Nunito Sans', -apple-system, sans-serif;
    --pdp-font-body: 'Inter', -apple-system, sans-serif;
}


/* ============================================================
   A-bis) 3-COLUMN LAYOUT (activated by JS at ≥768px)
   Gallery 5fr | Product Info 4fr | Buy Panel 340px (sticky)
   Matches reference PDP2_v8 proportions.
   ============================================================ */
/* Hide buy-panel on mobile (only used on desktop) */
@media (max-width: 767px) {
    .alandog-pdp-buy-panel {
        display: none !important;
    }
}

/* 3-column grid — desktop only (alandog-3col is in HTML template) */
@media (min-width: 768px) {
    .mf-product-detail.alandog-3col {
        display: grid !important;
        grid-template-columns: minmax(0, 5fr) minmax(0, 3.8fr) minmax(372px, 390px);
        grid-template-rows: auto 1fr;
        gap: 0 24px;
        float: none;
        width: 100%;
    }

    /* All grid children must have min-width: 0 to prevent overflow */
    .alandog-3col > * {
        min-width: 0;
    }

    /* Above-fold items in row 1 */
    .alandog-3col .woocommerce-product-gallery,
    .alandog-3col .entry-summary {
        grid-row: 1;
    }

    /* Buy panel spans ALL rows (above + below fold) */
    .alandog-pdp-buy-panel {
        grid-row: 1 / -1;
    }

    /* Below-fold content spans cols 1-2 in row 2 */
    .alandog-3col .mf-product-summary {
        grid-column: 1 / 3;
        grid-row: 2;
    }
} /* end @media min-width: 768px */

/* Gallery — column 1 */
.alandog-3col .woocommerce-product-gallery {
    grid-column: 1;
    float: none !important;
    width: auto !important;
    max-width: 100%;
    overflow: visible !important; /* Must be visible for thumbnails below */
    padding-left: 0 !important; /* Remove vertical thumbs padding in 3-col */
}

/* ---- CLS FIX: Pre-FlexSlider image stacking prevention ----
   Before FlexSlider inits, __wrapper is a DIRECT child of the gallery.
   After FlexSlider wraps it inside .flex-viewport, the > combinator
   no longer matches, so slides return to normal and FlexSlider handles
   visibility via its overflow:hidden viewport.
   Uses position:absolute (not height:0) so FlexSlider can still measure
   image dimensions for its calculations. */
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
    overflow: hidden;
    position: relative;
    aspect-ratio: 1 / 1; /* CLS: reserve square space before FlexSlider JS */
}
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
    position: absolute !important;
    opacity: 0;
    pointer-events: none;
    top: 0;
    left: 0;
}
/* C24 FIX: Fallback for browsers without aspect-ratio (iOS Safari <15, Chrome <88) */
@supports not (aspect-ratio: 1 / 1) {
    .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
        padding-bottom: 100%; /* Square placeholder */
    }
    .woocommerce div.product .flex-viewport {
        padding-bottom: 100%;
        height: 0;
    }
}

/* CLS FIX: Reserve 82px for thumbnails.
   Thumbs are position:absolute inside this padding area.
   Tablet/mobile breakpoints reset both padding and position. */
.alandog-3col .woocommerce-product-gallery {
    min-height: 1px;
    padding-bottom: 82px;
    position: relative;
}
/* Only clip the main image viewport, not the whole gallery */
.woocommerce div.product .alandog-3col div.images {
    overflow: visible !important;
}
.woocommerce div.product .alandog-3col div.images .flex-viewport {
    overflow: hidden !important;
}
/* Thumbnails below gallery in 3-col mode (not side) */
.alandog-3col .flex-control-thumbs {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    top: auto !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 10px;
    max-height: none !important;
    overflow: visible !important;
    margin-top: 0;
}
.alandog-3col .flex-control-thumbs li {
    width: 72px !important;
    height: 72px !important;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    padding: 3px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s;
}
.alandog-3col .flex-control-thumbs li img {
    border-radius: 7px;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    border: none;
}
.alandog-3col .flex-control-thumbs li:hover {
    border-color: var(--pdp-primary-light);
}
.alandog-3col .flex-control-thumbs li.is-active,
.alandog-3col .flex-control-thumbs li:has(.flex-active) {
    border-color: var(--pdp-primary);
}
/* Force FlexSlider viewport to fit column */
.alandog-3col .flex-viewport {
    width: 100% !important;
    max-width: 100% !important;
}
/* CRITICAL: Martfury parent sets display:flex on the wrapper which shows ALL slides
   side-by-side. FlexSlider needs display:block + float:left on slides. */
.alandog-3col .woocommerce-product-gallery__wrapper {
    display: block !important;
    max-height: none !important;
    align-items: initial !important;
}
.alandog-3col .woocommerce-product-gallery__image {
    overflow: hidden;
}

/* Info — column 2 (the original summary, now brand+title+rating+variations)
   Reference: flex column with gap 20px between brand/title/rating group, short desc, format cards, highlights */
.alandog-3col .entry-summary {
    grid-column: 2;
    float: none !important;
    width: auto !important;
    padding-left: 0;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 0; /* gaps managed by individual margins to match reference grouping */
}
/* Brand+Title+Rating is one visual group (no gap between them) */
.alandog-3col .entry-summary .alandog-pdp-brand { margin-bottom: 0; margin-top: 0; }
.alandog-3col .entry-summary .alandog-pdp-title { margin: 6px 0 10px; }
.alandog-3col .entry-summary .alandog-pdp-rating-row { margin-bottom: 0; }
/* Short desc: 20px gap from rating */
.alandog-3col .entry-summary .alandog-pdp-short-desc { margin-top: 20px; margin-bottom: 0; }
/* Variation pills: 20px gap from short desc */
.alandog-3col .entry-summary .alandog-pdp-variation-pills { margin-top: 20px; padding-top: 0; border-top: none; }
/* Highlights: 20px gap from variation pills */
.alandog-3col .entry-summary .alandog-pdp-highlights { margin-top: 20px; }

/* ---- Variation Pill Buttons (center column) — hidden: buy panel has rich cards ---- */
/* Variation pills/swatches — visible in 3-col desktop layout */
.alandog-pdp-variation-pills {
    display: none;
}
.alandog-3col .entry-summary .alandog-pdp-variation-pills {
    display: block;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--pdp-border);
}
/* Style TAWCVS swatches inside the center column wrapper */
.alandog-3col .entry-summary .alandog-pdp-variation-pills .tawcvs-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.alandog-3col .entry-summary .alandog-pdp-variation-pills .tawcvs-swatches .swatch {
    min-width: 100px;
    text-align: center;
    border: 2px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    background: #fff;
    padding: 12px 16px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.alandog-3col .entry-summary .alandog-pdp-variation-pills .tawcvs-swatches .swatch:hover {
    border-color: var(--pdp-primary-light);
}
.alandog-3col .entry-summary .alandog-pdp-variation-pills .tawcvs-swatches .swatch.selected {
    border-color: var(--pdp-primary);
    background: var(--pdp-primary-bg);
}

.alandog-pdp-variation-pills__label {
    font-family: var(--pdp-font);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #475569;
    margin-bottom: 10px;
}
.alandog-pdp-variation-pills__label strong {
    color: var(--pdp-text);
    font-weight: 700;
}

.alandog-pdp-variation-pills__row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.alandog-pdp-variation-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    padding: 10px 18px;
    border: 2px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    background: #fff;
    font-family: var(--pdp-font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--pdp-text);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.alandog-pdp-variation-pill:hover {
    border-color: var(--pdp-primary-light);
    color: var(--pdp-primary);
}
.alandog-pdp-variation-pill.is-active {
    border-color: var(--pdp-primary);
    background: var(--pdp-primary-bg);
    color: var(--pdp-primary);
}
/* ---- Format Cards (variation selector, center column) — reference .fmt-card style ---- */
.alandog-radio-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.alandog-radio-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border: 2px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    position: relative;
}
.alandog-radio-card:hover:not(.is-disabled) {
    border-color: var(--pdp-primary-light);
}
.alandog-radio-card.is-selected {
    border-color: var(--pdp-primary);
    background: var(--pdp-primary-bg);
}
.alandog-radio-card.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Radio circle — shows check-circle icon when selected (reference .fmt-card style) */
.alandog-radio-card__radio {
    width: 20px;
    height: 20px;
    border: 2px solid #cbd5e1;
    border-radius: 50%;
    background: #fff;
    position: relative;
    transition: border-color 0.2s;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Selected: replace ring with check-circle SVG via JS — hide the ring */
.alandog-radio-card.is-selected .alandog-radio-card__radio {
    border: none;
    background: none;
    width: 20px;
    height: 20px;
}

/* Left side: radio + info */
.alandog-radio-card__left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

/* Info block */
.alandog-radio-card__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
/* FIX-PDP-GAP4: Variant card polish — reduced text density, consistent badges */
.alandog-radio-card__name {
    font-family: var(--pdp-font);
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    line-height: 1.3;
}
.alandog-radio-card__unit {
    font-family: var(--pdp-font);
    font-size: 11px;
    color: var(--pdp-muted);
    line-height: 1.3;
}

/* Right side: price */
.alandog-radio-card__price {
    font-family: var(--pdp-font);
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
    text-align: right;
    flex-shrink: 0;
}

/* Best price badge — consistent green pill */
.alandog-radio-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #0c5a2a;
    color: #fff;
    font-family: var(--pdp-font);
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

/* Free shipping badge — consistent green pill (not separate color) */
.alandog-radio-card__badge--shipping {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #dcfce7;
    color: #0c5a2a;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
}


/* Hide variation selector column in buy panel on desktop (radio cards in summary replace it) */
@media (min-width: 768px) {
    .alandog-pdp-buy-panel .product-detail-page,
    .alandog-pdp-buy-panel table.variations,
    .alandog-pdp-buy-panel .tawcvs-swatches,
    .alandog-pdp-buy-panel .qtyinfobox_variationtitle {
        display: none !important;
    }
    /* Make ATC column full-width when variation selector is hidden */
    .alandog-pdp-buy-panel .qtyinfobox_formacquisto {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    /* Also hide via class marker (belt-and-suspenders) */
    form.alandog-swatches-cloned table.variations {
        display: none !important;
    }
}
/* Hide radio cards on mobile — use native TAWCVS swatches instead */
@media (max-width: 767px) {
    .alandog-pdp-variation-pills {
        display: none !important;
    }
}

/* Buy panel — column 3, sticky (matches reference: 340px fixed) */
.alandog-pdp-buy-panel {
    grid-column: 3;
    position: sticky;
    top: 16px;
    align-self: start;
    background: #fff;
    border: 1px solid var(--pdp-border);
    border-radius: var(--pdp-radius-xl);
    padding: 22px;
    box-shadow: var(--pdp-shadow);
    max-height: calc(100dvh - 32px); /* dvh: dynamic viewport height for mobile address bar */
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Buy panel form slot — reserve space to prevent CLS when JS moves the form */
.alandog-bp-form-slot {
    min-height: 70px;
}
/* Product-type-specific form heights for tighter CLS reduction.
   Was 260px but causes visible whitespace when variant selector is outside
   the buy panel (JS moves it). Reduced to match actual ATC content. */
.product-type-variable .alandog-bp-form-slot {
    min-height: 100px;
}
.product-type-simple .alandog-bp-form-slot {
    min-height: 52px;
}
.product-type-grouped .alandog-bp-form-slot {
    min-height: 150px;
}

/* Sale badge inside gallery (moved by JS) */
.alandog-3col .alandog-pdp-sale-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
}

/* Buy panel: price card — reference PDP2_v8 style */
.alandog-pdp-buy-panel .alandog-pdp-price {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 0;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    /* CLS fix: price grows from 75→105px when subscription info loads.
       Reserve space to prevent 30px shift of all elements below.
       align-items:baseline handles vertical alignment within flex. */
    min-height: 105px;
}
.alandog-pdp-price__label {
    font-family: var(--pdp-font);
    font-size: 11px;
    font-weight: 400;
    color: var(--pdp-muted);
    width: 100%;
    margin-bottom: 2px;
}
/* "Stai acquistando:" context highlight */
.alandog-pdp-price__label strong,
.alandog-pdp-price__label .alandog-price-ctx {
    color: var(--pdp-primary);
    font-weight: 700;
}
.alandog-pdp-price__amount {
    flex: 1;
}
.alandog-pdp-price__amount .price,
.alandog-pdp-price__amount .price ins,
.alandog-pdp-price__amount .price span,
.alandog-pdp-price__amount .price a {
    font-family: var(--pdp-font) !important;
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
.alandog-pdp-price__amount .price .woocommerce-Price-amount,
.alandog-pdp-price__amount .price bdi {
    font-size: 36px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
}
/* Currency symbol same size */
.alandog-pdp-price__amount .price .woocommerce-Price-currencySymbol {
    font-size: 36px !important;
}
/* Strikethrough price in buy panel — smaller, muted */
.alandog-pdp-buy-panel .alandog-pdp-price__amount .price del {
    display: inline !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--pdp-muted) !important;
    margin-right: 6px;
}
/* Strikethrough regular price — only show in info column (not buy panel) */
.alandog-pdp-price__amount .price del {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--pdp-muted) !important;
    text-decoration: line-through !important;
    margin-right: 8px;
}
/* Hide subscription "Periodico" price badge from the price area */
.alandog-pdp-price__amount .wcsatt-sub-options,
.alandog-pdp-price__amount .subscription-details,
.alandog-pdp-price__amount .wcsatt-options-product,
.alandog-pdp-price__amount .acquisto-periodico-label,
.alandog-pdp-buy-panel .acquisto-periodico-label {
    display: none !important;
}
/* Also hide the <a> link wrapper around price (injected by show-only-lowest plugin) */
.alandog-pdp-price__amount .price > a {
    text-decoration: none;
    color: inherit;
    pointer-events: none;
}
.alandog-pdp-price__tax {
    font-family: var(--pdp-font);
    font-size: 11px;
    color: var(--pdp-muted);
    align-self: flex-end;
    margin-bottom: 4px;
    margin-left: auto;
}



/* Hide bulk discount table globally — Woo Discount Rules */
.single-product .awdr-bulk-customizable-table,
.single-product .wdr_bulk_table_msg {
    display: none !important;
}

/* Remove list bullets and padding from subscription radio options */
.alandog-pdp-buy-panel ul.wcsatt-options-cart,
.alandog-pdp-buy-panel ul.acquisto_periodico_reason,
.alandog-pdp-buy-panel .wcsatt-options-cart ul {
    list-style: none;
    padding: 0 !important;
    margin: 0;
}
.alandog-pdp-buy-panel .wcsatt-options-cart li {
    list-style: none;
}

/* delivery spacing now handled in compact delivery section below */

/* Hide points from buy panel */
.alandog-pdp-buy-panel .alandog-pdp-points {
    display: none !important;
}
/* Trust in buy panel: simplified single text line (reference style) */
.alandog-pdp-buy-panel .alandog-pdp-trust {
    display: block !important;
    text-align: center;
    font-family: var(--pdp-font);
    font-size: 12px;
    color: var(--pdp-muted);
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}
/* Hide the grid cards in buy panel — show simple text instead */
.alandog-pdp-buy-panel .alandog-pdp-trust__item {
    display: none !important;
}
/* Show the simple trust text line (added by JS) */
.alandog-pdp-buy-panel .alandog-trust-simple {
    display: block;
}

/* ATC button in buy panel */
.alandog-pdp-buy-panel .single_add_to_cart_button {
    min-width: unset;
}

/* Variations in buy panel — full width selects */
.alandog-pdp-buy-panel .variations select {
    width: 100%;
}

/* Buy panel scrollbar styling */
.alandog-pdp-buy-panel::-webkit-scrollbar {
    width: 4px;
}
.alandog-pdp-buy-panel::-webkit-scrollbar-thumb {
    background: var(--pdp-border);
    border-radius: 2px;
}

/* ---- Subscription Toggle — Segmented Bar (reference PDP2_v8 style) ---- */
/* Container: server-rendered empty in buy panel. JS populates with wcsatt ULs.
   Reserve min-height to prevent CLS when subscription options load. */
.alandog-sub-container {
    background: #f1f5f9;
    border-radius: var(--pdp-radius-md);
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 188px; /* Reserve space for subscription options — prevents CLS */
}
.alandog-sub-container:empty {
    /* Placeholder: reserve space but hide visually until JS populates it.
       Cannot use display:none as it would collapse the reserved space. */
    visibility: hidden;
}
/* Also support original wrapper */
.alandog-pdp-buy-panel .wcsatt-options-wrapper {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
}
/* Hide the wrapper title if any */
.alandog-pdp-buy-panel .wcsatt-options-wrapper > p,
.alandog-pdp-buy-panel .wcsatt-options-wrapper > label:not(:has(input)) {
    display: none;
}
/* Hide variation price area in buy panel — price shown separately */
.alandog-pdp-buy-panel .woocommerce-variation-price {
    display: none !important;
}

/* Subscription toggle order: JS physically moves subscription UL first in .alandog-sub-container.
   Each <ul> has only one <li>, so we make the <ul> transparent (no extra spacing). */
.alandog-sub-container > .wcsatt-options-cart {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Each subscription option — segmented bar segment */
.alandog-pdp-buy-panel .wcsatt-options-cart > li {
    padding: 10px 12px !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s;
    position: relative;
    background: transparent;
    list-style: none;
}
/* Active segment: larger padding (reference PDP2_v8) */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) {
    padding: 12px 14px !important;
}
/* Active segment: blue background */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) {
    background: var(--pdp-primary) !important;
    box-shadow: 0 2px 8px rgba(18,156,237,.25);
}
/* Active segment: ALL text white */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked),
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) *,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) label,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) span,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) div,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) strong,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) a {
    color: #fff !important;
}
/* Inner .acq_periodico_label keeps light bg (#eff6ff) by default.
   When selected, clear it so white text is readable on the blue parent bg. */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) label.acq_periodico_label,
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .acq_periodico_label,
.wcsatt-options-cart > li:has(input:checked) .acq_periodico_label,
.entry-summary .wcsatt-options-cart > li:has(input:checked) .acq_periodico_label {
    background: transparent !important;
    border-color: rgba(255,255,255,.3) !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle {
    color: #eaf2f7 !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle strong {
    color: #fff !important;
}
/* Inactive segment: muted text */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(:has(input:checked)) .alandog-sub-title {
    color: #475569;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(:has(input:checked)) .alandog-sub-subtitle {
    color: var(--pdp-muted);
}

/* Radio input: hide in segmented bar (visual state via bg color) */
.alandog-pdp-buy-panel .wcsatt-options-cart input[type="radio"] {
    display: none;
}

/* Hide embedded price divs */
.alandog-pdp-buy-panel .wcsatt-options-cart > li > div[style*="margin-left"] {
    display: none !important;
}

/* Subscription title (injected by JS) */
.alandog-sub-title {
    font-family: var(--pdp-font);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
}

/* Subscription subtitle injected by JS */
.alandog-sub-subtitle {
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 2px;
    padding-left: 0;
}

/* "✦ Consigliato" badge on subscription segment */
.alandog-sub-badge {
    display: inline-block;
    font-size: 11px;  /* FIX-UI-52: was 10px — minimum readable size */
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
    vertical-align: middle;
    margin-left: 6px;
}
/* Badge colors adapt to active/inactive state */
.alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge {
    background: rgba(255,255,255,.2);
    color: #fff;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(:has(input:checked)) .alandog-sub-badge {
    background: #dcfce7;
    color: #0c5a2a;
}

/* C23 FIX: .is-checked fallback for browsers without :has() (Firefox <121, Samsung Internet) */
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked {
    padding: 12px 14px !important;
    background: var(--pdp-primary) !important;
    box-shadow: 0 2px 8px rgba(18,156,237,.25);
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked,
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked *,
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked label,
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked span,
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked strong {
    color: #fff !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .acq_periodico_label {
    background: transparent !important;
    border-color: rgba(255,255,255,.3) !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(.is-checked) .alandog-sub-title {
    color: #475569;
}
/* C2-1 FIX: Missing .is-checked fallback rules (desktop) */
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle {
    color: #eaf2f7 !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle strong {
    color: #fff !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-badge {
    background: rgba(255,255,255,.2) !important;
    color: #fff !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(.is-checked) .alandog-sub-badge {
    background: #dcfce7 !important;
    color: #0c5a2a !important;
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li:not(.is-checked) .alandog-sub-subtitle {
    color: var(--pdp-muted);
}
.alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-badge--save {
    background: rgba(255,255,255,.25) !important;
    color: #fff !important;
}

/* "-10%" discount badge — hide in segmented bar (discount shown in microcopy) */
.alandog-sub-discount {
    display: none;
}

/* FIX-PDP-GAP3: Savings badge — more prominent green pill (conversion-focused savings callout) */
.alandog-sub-badge--save {
    background: #dcfce7 !important;
    color: #0c5a2a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    padding: 3px 10px !important;
    border-radius: 20px;
    letter-spacing: 0.02em;
}
/* When inside active (selected) subscription segment — white text on translucent bg */
.wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge--save {
    background: rgba(255,255,255,.25) !important;
    color: #fff !important;
}

/* Hide verbose savings/discount inside cards */
.alandog-pdp-buy-panel .wcsatt-options-cart > li > div > span[style*="font-size:1.4rem"],
.alandog-pdp-buy-panel .wcsatt-options-cart > li > div > span[style*="font-size:1.2rem"],
.alandog-pdp-buy-panel .wcsatt-options-cart > li .box_discount,
.alandog-pdp-buy-panel .wcsatt-options-cart > li > div s {
    display: none !important;
}

/* Hide benefits list — keep it clean */
.alandog-pdp-buy-panel ul.acquisto_periodico_reason {
    display: none !important;
}

/* Hide info icon link (redundant) */
.alandog-pdp-buy-panel #open-dialog-acquisto-periodico {
    display: none !important;
}

/* Show variation swatches in buy panel — hide only headings */
.alandog-pdp-buy-panel .product-detail-page .variations {
    display: block !important;
}
.alandog-pdp-buy-panel .product-detail-page > h5,
.alandog-pdp-buy-panel .product-detail-page > h6 {
    display: none;
}

/* Hide wishlist in buy panel — conversion style */
.alandog-pdp-buy-panel .tinvwl_add_to_wishlist_button,
.alandog-pdp-buy-panel .alandog-wishlist-single-wrap,
.alandog-pdp-buy-panel [class*="wishlist"] {
    display: none !important;
}

/* --- FIX 2: Compact subscription/pricing in buy panel --- */

/* Hide verbose benefits list outside buy panel (mobile stacking) */
.single-product .entry-summary ul.acquisto_periodico_reason {
    display: none !important;
}

/* Hide verbose description text outside buy panel (mobile) */
.single-product .entry-summary .wcsatt-options-cart > li > div > span[style*="font-size:1.2rem"] {
    display: none !important;
}

/* Subscription labels — segmented bar */
.alandog-pdp-buy-panel .wcsatt-options-cart > li > label {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    cursor: pointer;
    font-family: var(--pdp-font) !important;
}
/* Hide original plugin images/icons in labels (JS rebuilds them) */
.alandog-pdp-buy-panel .wcsatt-options-cart > li > label img,
.alandog-pdp-buy-panel .wcsatt-options-cart > li > label .acq_periodico_label,
.alandog-pdp-buy-panel .wcsatt-options-cart > li > label br {
    display: none !important;
}

/* Shipping feedback — reference PDP2_v8 dashed border style */
.alandog-pdp-buy-panel .alandog-pdp-delivery {
    min-height: 80px; /* Prevent CLS when innerHTML is rewritten on variation select */
    padding: 12px 14px !important;
    margin: 0 !important;
    border: 1.5px dashed var(--pdp-border) !important;
    background: none !important;
    border-radius: var(--pdp-radius-sm) !important;
}
.alandog-pdp-buy-panel .alandog-pdp-delivery__row {
    font-size: 13px !important;
    line-height: 1.4 !important;
    gap: 12px !important;
}
.alandog-pdp-buy-panel .alandog-pdp-delivery__row svg {
    width: 16px !important;
    height: 16px !important;
}
.alandog-pdp-buy-panel .alandog-pdp-delivery__row strong {
    font-size: 13px !important;
    margin-bottom: 0 !important;
}
.alandog-pdp-buy-panel .alandog-pdp-delivery__row span {
    font-size: 12px !important;
}

/* Delivery icon circles (reference PDP2_v8 style) */
.alandog-pdp-delivery__icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.alandog-pdp-delivery__icon--green {
    background: #dcfce7;
}
.alandog-pdp-delivery__icon--gray {
    background: #f1f5f9;
}

/* Free shipping progress bar */
.alandog-pdp-shipping-bar {
    margin-top: 8px;
}
/* C2-4: Removed dead .alandog-pdp-shipping-bar__text (never generated by JS or PHP) */
.alandog-pdp-shipping-bar__track {
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 99px;
    overflow: hidden;
}
.alandog-pdp-shipping-bar__fill {
    height: 100%;
    background: var(--pdp-primary);
    border-radius: 99px;
    transition: width 0.4s ease;
    min-width: 0;
    max-width: 100%;
}
/* C30 FIX: CSS classes for JS-rendered delivery content (replaces inline styles) */
.alandog-pdp-delivery__title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    display: block;
}
.alandog-pdp-delivery__title--calc {
    color: #334155;
}
.alandog-pdp-delivery__title--free {
    color: #15803d;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.alandog-pdp-delivery__subtitle {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 3px;
}
.alandog-pdp-delivery__progress {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin: 0;
}

/* Delivery link — remove wrapping <a> styling */
.alandog-pdp-buy-panel .alandog-pdp-delivery a {
    text-decoration: none;
    color: inherit;
}

/* Payment icons in buy panel */
.alandog-pdp-pay-icons {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--pdp-border);
}
.alandog-pdp-pay-icons__label {
    font-family: var(--pdp-font-body);
    font-size: 11px;
    color: var(--pdp-muted);
    display: block;
    margin-bottom: 6px;
}
.alandog-pdp-pay-icons__row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.alandog-pdp-pay-icon {
    display: inline-flex;
    opacity: 0.85;
    transition: opacity 0.2s;
}
.alandog-pdp-pay-icon:hover {
    opacity: 1;
}

/* Compact variation spacing inside buy panel */
.alandog-pdp-buy-panel .woocommerce-variation.single_variation {
    margin-bottom: 2px !important;
}
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart {
    margin-top: 0 !important;
}

/* Variation description text (e.g. "PiùCane Extreme Power... – 1 confezione da 300 ml") */
.alandog-pdp-buy-panel .single_variation_wrap > .woocommerce-variation-description {
    display: none;
}
/* Also hide variation description inside the wrap */
.alandog-pdp-buy-panel .single_variation_wrap > p:first-child,
.alandog-pdp-buy-panel .woocommerce-variation-description p {
    display: none;
}

/* Force qtyinfobox columns to full-width in narrow buy panel */
.alandog-pdp-buy-panel .qtyinfobox_formacquisto {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: 0 0 100% !important;
}
/* Also fix the variation table column (col-lg-7) */
.alandog-pdp-buy-panel [class*="col-lg-"],
.alandog-pdp-buy-panel [class*="col-md-"] {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
}
.alandog-pdp-buy-panel .qtyinfobox_formacquisto > .single_variation_wrap {
    padding: 0;
}

/* Buy panel form layout — reference CTA area: flex column, gap 10px */
.alandog-pdp-buy-panel form.cart {
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
}
/* Qty + ATC inline row */
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
.alandog-pdp-buy-panel form.cart:not(.variations_form) > .quantity + .single_add_to_cart_button {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px;
    margin-top: 4px;
    width: 100% !important;
}
/* Hide all extra elements in the ATC row — only qty + button visible */
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart .actions-button,
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart .alandog-pdp-checkout-btn,
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart .alandog-wishlist-single-wrap,
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart input.variation_id {
    display: none !important;
}
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart .quantity {
    flex: 0 0 104px;
}
.alandog-pdp-buy-panel .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: 1 1 0%;
    min-width: 0;
}
/* ATC button in buy panel — reference style: blue primary with shadow */
.woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button,
.woocommerce div.product .alandog-pdp-buy-panel form.cart .single_add_to_cart_button {
    font-size: 15px !important;
    padding: 0 14px !important;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
    min-width: 0 !important;
    width: auto !important;
    flex: 1 1 0%;
    margin: 0 !important;
    background: var(--pdp-primary) !important;
    color: #fff !important;
    border-radius: 12px !important;
    border: none !important;
    font-weight: 800 !important;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    box-sizing: border-box !important;
    box-shadow: 0 4px 16px rgba(18, 156, 237, 0.28);
    gap: 8px;
}
.woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button:hover {
    background: var(--pdp-cta-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(18, 156, 237, 0.38);
}
/* Hide cart icon in buy panel to save horizontal space (340px panel is tight) */
.woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button::before {
    display: none !important;
}

/* Hide "Vai al Checkout" button — not in target design */
.alandog-pdp-buy-panel .alandog-pdp-checkout-btn {
    display: none !important;
}
/* Keep it visible outside buy panel (mobile fallback) */
.alandog-pdp-checkout-btn {
    display: block;
    width: 100%;
    padding: 10px 16px;
    text-align: center;
    font-family: var(--pdp-font-heading);
    font-size: 14px;
    font-weight: 700;
    color: var(--pdp-primary);
    background: transparent;
    border: 2px solid var(--pdp-primary);
    border-radius: var(--pdp-radius-sm);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    margin-top: 6px;
}

/* PayPal PPCP button — reference PDP2_v8 yellow button style */
.alandog-pdp-buy-panel #ppc-button,
.alandog-pdp-buy-panel .ppc-button-wrapper,
.alandog-pdp-buy-panel #ppcp-messages,
.alandog-pdp-buy-panel .ppcp-button-apm-separator {
    width: 100% !important;
    margin-top: 0;
}
.alandog-pdp-buy-panel .ppc-button-wrapper {
    border-radius: 12px;
    overflow: hidden;
    min-height: 48px;
}
.alandog-pdp-buy-panel .ppcp-button-apm-separator {
    font-size: 12px;
    color: var(--pdp-muted);
    text-align: center;
}
/* Ensure PayPal button container respects buy panel width */
.alandog-pdp-buy-panel #ppc-button > div,
.alandog-pdp-buy-panel .ppc-button-wrapper > div {
    width: 100% !important;
}
/* Style the PayPal iframe wrapper to match reference yellow button */
.alandog-pdp-buy-panel .ppc-button-wrapper iframe {
    border-radius: 12px !important;
}

/* Buy panel qty: fixed 104px wide × 48px tall — matches ATC height */
.woocommerce div.product .alandog-pdp-buy-panel .quantity {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 104px !important;
    width: 104px !important;
    max-width: 104px !important;
    min-width: 0 !important;
    height: 48px !important;
    max-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity .label,
.woocommerce div.product .alandog-pdp-buy-panel .quantity label.label,
.woocommerce div.product .alandog-pdp-buy-panel .quantity .screen-reader-text,
.woocommerce div.product .alandog-pdp-buy-panel .quantity label.screen-reader-text {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box {
    width: 100px !important;
    max-width: 100px !important;
    height: 48px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid var(--pdp-border) !important;
    border-radius: var(--pdp-radius-sm) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #fff !important;
    transition: border-color 0.2s;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box:focus-within {
    border-color: var(--pdp-primary) !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty {
    height: 44px !important;
    width: 32px !important;
    max-width: 32px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: var(--pdp-font) !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #0f172a !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity .decrease,
.woocommerce div.product .alandog-pdp-buy-panel .quantity .increase {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    max-width: 34px !important;
    min-width: 34px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    color: var(--pdp-muted-dark) !important;
    position: static !important;
    transform: none !important;
    -webkit-user-select: none;
    user-select: none;
    transition: background 0.15s;
    line-height: 1 !important;
}
.woocommerce div.product .alandog-pdp-buy-panel .quantity .decrease:hover,
.woocommerce div.product .alandog-pdp-buy-panel .quantity .increase:hover {
    background: #f1f5f9 !important;
}


/* ============================================================
   B) GALLERY — VERTICAL THUMBNAILS
   ============================================================ */

/* Gallery: vertical thumbs on left via padding + absolute positioning.
   This lets FlexSlider calculate viewport width correctly from the
   gallery's content-box (which excludes the 100px padding). */
.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
    padding-left: 100px; /* 90px thumbs + 10px gap */
}

/* Thumbnail strip — absolutely positioned on the left */
/* min-height on thumbs removed: in 3-col they're relative (flow naturally),
   in vertical layout they're absolute (min-height has no effect on flow) */
.woocommerce div.product .flex-control-thumbs {
    position: absolute;
    left: 0;
    top: 0;
    width: 90px;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--pdp-border) transparent;
}
/* C25 FIX: Matching -webkit-scrollbar for Safari/Chrome (scrollbar-width is Firefox-only) */
.woocommerce div.product .flex-control-thumbs::-webkit-scrollbar {
    width: 4px;
}
.woocommerce div.product .flex-control-thumbs::-webkit-scrollbar-thumb {
    background: var(--pdp-border);
    border-radius: 2px;
}

/* Main slider fills remaining space (auto from FlexSlider) */
.woocommerce div.product .flex-viewport,
.woocommerce div.product .woocommerce-product-gallery > .flex-viewport {
    /* FlexSlider auto-calculates width from parent content area */
}

/* Thumbnail styling */
.woocommerce div.product .flex-control-thumbs li {
    width: 90px !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce div.product .flex-control-thumbs li img {
    border-radius: var(--pdp-radius-sm);
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
    cursor: pointer;
    opacity: 0.6;
}

.woocommerce div.product .flex-control-thumbs li img:hover,
.woocommerce div.product .flex-control-thumbs li img.flex-active {
    border-color: var(--pdp-primary);
    opacity: 1;
}

/* Main image viewport — reference PDP2_v8: white bg, 16px border-radius, 1px border */
/* IMPORTANT: Do NOT set width/height on .woocommerce-product-gallery__wrapper or __image.
   FlexSlider calculates these dynamically. Overriding them breaks the slideshow. */
.woocommerce div.product .flex-viewport {
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden !important;
    aspect-ratio: 1 / 1; /* CLS: pre-reserve square viewport before FlexSlider sets inline height */
}
/* Images inside: contain to prevent cropping */
.alandog-3col .woocommerce-product-gallery .flex-viewport img {
    object-fit: contain !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img {
    border-radius: 0;
    object-fit: contain;
}
/* Hover zoom effect on main image (reference style) */
.alandog-3col .woocommerce-product-gallery .flex-viewport:hover img {
    transition: transform .4s ease;
}

/* Fallback: single-image products without thumbnails */
.woocommerce div.product .woocommerce-product-gallery.without-thumbnails .flex-viewport,
.woocommerce div.product .woocommerce-product-gallery.without-thumbnails .woocommerce-product-gallery__wrapper {
    margin-left: 0;
}

/* Gallery zoom cursor */
.alandog-pdp-gallery--zoom-ready .woocommerce-product-gallery__image {
    cursor: zoom-in;
    overflow: hidden;
}


/* ============================================================
   C) BRAND BADGE
   ============================================================ */
.alandog-pdp-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    margin-top: 4px;
}

/* Logo hidden — brand is text-only link below title */
.alandog-pdp-brand__logo {
    display: none !important;
}

/* FIX-UI-91: WCAG 2.5.8 target-size — brand name link needs min 24px height */
.alandog-pdp-brand__name {
    font-family: var(--pdp-font);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pdp-primary);
    text-decoration: none;
    transition: color 0.2s ease;
    display: inline-block;
    line-height: 24px;
    min-height: 24px;
    padding: 0 2px;
    position: relative;
    z-index: 1;
}

.alandog-pdp-brand__name:hover {
    color: var(--pdp-cta);
}


/* ============================================================
   D) PRODUCT TITLE
   ============================================================ */
.alandog-pdp-title {
    font-family: var(--pdp-font);
    font-size: clamp(22px, 4vw, 32px);
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
    margin: 6px 0 10px;
}


/* ============================================================
   E) RATING ROW
   ============================================================ */
.alandog-pdp-rating-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
    font-family: var(--pdp-font);
    font-size: 14px;
}

.alandog-pdp-stars .star-rating {
    font-size: 16px;
    color: var(--pdp-gold);
    letter-spacing: 2px;
}

.alandog-pdp-rating-link {
    color: var(--pdp-primary);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
    min-height: 24px; /* FIX-UI-78: WCAG 2.5.8 target-size */
    display: inline-flex;
    align-items: center;
}

.alandog-pdp-rating-link:hover {
    color: var(--pdp-cta);
    text-decoration: underline;
}

.alandog-pdp-rating-sep {
    color: var(--pdp-border);
}

.alandog-pdp-sales-count {
    font-size: 14px;
    color: #475569;
    font-weight: 600;
}


/* ============================================================
   E-bis) SHORT DESCRIPTION IN CENTER COLUMN
   ============================================================ */
.alandog-pdp-short-desc {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.alandog-pdp-short-desc__content {
    font-family: var(--pdp-font);
    font-size: 15px;
    line-height: 1.6;
    color: var(--pdp-muted-dark);
}
.alandog-pdp-short-desc__content p {
    margin: 0 0 6px;
}
.alandog-pdp-short-desc__content ul {
    padding-left: 16px;
    margin: 0;
}
.alandog-pdp-short-desc__content li {
    margin-bottom: 4px;
}


/* ============================================================
   E-ter) PRODUCT HIGHLIGHTS (green checkmarks)
   ============================================================ */
/* Reference PDP2_v8: Trust bullets with blue bg + green checkmarks */
.alandog-pdp-highlights {
    margin-top: 16px;
    padding: 14px 16px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: var(--pdp-radius-sm);
}
.alandog-pdp-highlights__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.alandog-pdp-highlights__item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--pdp-font);
    font-size: 14px;
    color: #334155;
    line-height: 1.4;
}
.alandog-pdp-highlights__check {
    flex-shrink: 0;
    color: #16a34a;
    font-size: 16px;
}


/* ============================================================
   F) PRICE BLOCK + SAVINGS BADGE
   ============================================================ */
.alandog-pdp-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.alandog-pdp-price .price {
    font-family: var(--pdp-font-heading);
    font-size: 28px;
    font-weight: 800;
    color: var(--pdp-text);
    line-height: 1.2;
}

/* Ensure the amount is visible and large */
.alandog-pdp-price .price .woocommerce-Price-amount {
    font-size: 28px;
    font-weight: 800;
}

.alandog-pdp-price .price del {
    font-size: 18px;
    font-weight: 400;
    color: var(--pdp-muted);
    text-decoration: line-through;
}

.alandog-pdp-price .price ins {
    text-decoration: none;
    color: var(--pdp-sale);
    font-weight: 800;
}

.alandog-pdp-price__savings {
    display: inline-block;
    background: #FEE2E2;
    color: var(--pdp-sale);
    font-family: var(--pdp-font-body);
    font-size: 13px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.3px;
}


/* ============================================================
   G) DELIVERY BOX
   ============================================================ */
.alandog-pdp-delivery {
    background: var(--pdp-primary-bg);
    border: 1px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    padding: 14px 16px;
    margin: 16px 0 8px;
}

.alandog-pdp-delivery__row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--pdp-font-body);
    font-size: 14px;
    color: var(--pdp-text);
    line-height: 1.4;
}

.alandog-pdp-delivery__row svg {
    flex-shrink: 0;
    color: var(--pdp-primary);
    margin-top: 2px;
}

.alandog-pdp-delivery__row strong {
    display: block;
    font-weight: 700;
    margin-bottom: 2px;
}

.alandog-pdp-delivery__row span {
    color: var(--pdp-muted);
    font-size: 13px;
}


/* ============================================================
   H) LOYALTY POINTS
   ============================================================ */
.alandog-pdp-points {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--pdp-primary-bg);
    border: 1px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    padding: 10px 14px;
    margin-top: 8px;
    margin-bottom: 4px;
    font-family: var(--pdp-font-body);
    font-size: 14px;
    color: #374151;
    line-height: 1.4;
}

.alandog-pdp-points__icon {
    flex-shrink: 0;
}

.alandog-pdp-points strong {
    color: var(--pdp-primary);
    font-weight: 700;
}

.alandog-pdp-points__link {
    margin-left: auto;
    font-size: 12px;
    color: var(--pdp-primary);
    text-decoration: underline;
    white-space: nowrap;
    transition: color 0.2s ease;
}

.alandog-pdp-points__link:hover {
    color: var(--pdp-cta);
}


/* ============================================================
   I) TRUST BADGES
   FIX-UI-199: Consolidation — UX Gap 12.
   Desktop: hide 2x2 grid entirely; compact .alandog-pdp-atc-trust
   strip near ATC is sufficient (3 icons max, benchmark pattern).
   Mobile: show 2x2 grid as primary trust signal (no buy panel).
   ============================================================ */
.alandog-pdp-trust {
    display: none; /* Hidden on desktop — compact strip near ATC is enough */
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--pdp-border);
}
/* Mobile: compact horizontal trust strip (UX Gap 12 — 3 icons max, no boxed cards) */
@media (max-width: 767px) {
    .alandog-pdp-trust {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        margin-top: 12px;
        padding: 10px 0;
        border-top: 1px solid var(--pdp-border);
        border-bottom: none;
    }
}

.alandog-pdp-trust__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--pdp-font-body);
    font-size: 13px;
    background: var(--pdp-bg);
    border-radius: var(--pdp-radius-sm);
    padding: 12px;
}

.alandog-pdp-trust__item svg {
    flex-shrink: 0;
    margin-top: 1px;
    width: 24px;
    height: 24px;
}

.alandog-pdp-trust__text strong {
    display: block;
    font-weight: 700;
    color: var(--pdp-text);
    font-size: 14px;
    line-height: 1.3;
}

.alandog-pdp-trust__text span {
    color: var(--pdp-muted);
    font-size: 12px;
    line-height: 1.3;
}

/* FIX-PDP-GAP12: Mobile trust — compact inline strip with this layout */
@media (max-width: 767px) {
    .alandog-pdp-trust__item {
        flex: 1 1 50%;
        background: none;
        padding: 6px 8px;
        gap: 8px;
        align-items: center;
        border-radius: 0;
    }
    .alandog-pdp-trust__item svg {
        width: 18px;
        height: 18px;
    }
    .alandog-pdp-trust__text strong {
        font-size: 12px;
    }
    .alandog-pdp-trust__text span {
        display: none; /* Hide subtitle on mobile — keep minimal with this layout */
    }
}


/* ============================================================
   I-0) BREADCRUMBS — conversion-focused
   ============================================================ */
.single-product .page-header-catalog {
    margin-bottom: 8px;
    padding: 8px 0;
}
.single-product .rank-math-breadcrumb {
    font-family: var(--pdp-font-body);
    font-size: 13px;
    color: var(--pdp-muted);
}
.single-product .rank-math-breadcrumb a {
    color: var(--pdp-primary);
    text-decoration: none;
    transition: color 0.2s;
}
.single-product .rank-math-breadcrumb a:hover {
    text-decoration: underline;
    color: var(--pdp-cta);
}
.single-product .rank-math-breadcrumb .separator {
    margin: 0 4px;
    color: var(--pdp-muted);
}


/* ============================================================
   I-1) SUMMARY SPACING — Airy with this layout
   ============================================================ */
/* Distacco gallery-summary */
.woocommerce div.product .summary.entry-summary {
    padding-left: 24px;
}
/* Spacing between summary elements — consolidated (no duplicates) */
/* Brand: margin-bottom defined in Section C (.alandog-pdp-brand) */
/* Rating: margin-bottom defined in Section E (.alandog-pdp-rating-row) */
/* Price: margin-bottom defined in Section F (.alandog-pdp-price) */
/* Delivery: margin defined in delivery box section */


/* ============================================================
   I-bis-0) VARIATION SELECTOR — Modern dropdown
   ============================================================ */
/* Hide Martfury table layout for variations */
.woocommerce div.product form.cart .variations {
    border: none;
    margin-bottom: 16px;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    display: block;
    padding: 0;
    border: none;
    background: none;
}
.woocommerce div.product form.cart .variations tr {
    display: block;
    margin-bottom: 12px;
}
/* Variation label */
.woocommerce div.product form.cart .variations .label label {
    font-family: var(--pdp-font-heading);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--pdp-text);
    margin-bottom: 6px;
    display: block;
}
/* Variation select dropdown */
.woocommerce div.product form.cart .variations select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    font-family: var(--pdp-font-body);
    font-size: 15px;
    color: var(--pdp-text);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.2s ease;
}
.woocommerce div.product form.cart .variations select:focus {
    border-color: var(--pdp-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(18, 156, 237, 0.1);
}
/* Hide Martfury specific variation value display */
.woocommerce div.product form.cart .variations .mf-attr-value {
    display: none;
}
/* Reset link styling */
.woocommerce div.product form.cart .variations .reset_variations {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    color: var(--pdp-primary);
    text-decoration: underline;
    cursor: pointer;
}


/* ============================================================
   I-bis-1) ACQUISTO PERIODICO — Subscription toggle
   ============================================================ */
/* Container for subscription option */
.woocommerce div.product .acq_periodico_label,
.woocommerce div.product .acquisto-periodico-label,
.woocommerce div.product .wcsatt-options-wrapper {
    border: 2px solid var(--pdp-primary);
    background: var(--pdp-primary-bg);
    border-radius: var(--pdp-radius-sm);
    padding: 14px 16px;
    margin: 12px 0;
    font-family: var(--pdp-font-body);
}
.woocommerce div.product .wcsatt-options-wrapper label,
.woocommerce div.product .acq_periodico_label label,
.woocommerce div.product .acquisto-periodico-label label {
    font-size: 15px;
    font-weight: 600;
    color: var(--pdp-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}
.woocommerce div.product .wcsatt-options-wrapper input[type="radio"],
.woocommerce div.product .acq_periodico_label input[type="radio"],
.woocommerce div.product .acquisto-periodico-label input[type="radio"] {
    accent-color: var(--pdp-primary);
    width: 18px;
    height: 18px;
}
/* Subscription price highlight */
.woocommerce div.product .wcsatt-options-wrapper .subscription-price,
.woocommerce div.product .wcsatt-options-wrapper .wcsatt-sub-discount {
    color: var(--pdp-primary);
    font-weight: 700;
}




/* ============================================================
   I-bis-3) HIDE PRODUCT META + SUMMARY SEPARATOR
   ============================================================ */
.woocommerce div.product .product_meta {
    display: none;
}
.single-product .summary-sep {
    display: none;
}


/* ============================================================
   I-bis) ATC BUTTON — conversion-focused
   ============================================================ */
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 16px 32px;
    background: var(--pdp-cta);
    color: #fff;
    border: none;
    border-radius: var(--pdp-radius-sm);
    font-family: var(--pdp-font-heading);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    text-transform: none;
    line-height: 1.2;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: var(--pdp-cta-hover);
    box-shadow: 0 4px 12px rgba(18, 156, 237, 0.3);
}

/* Cart icon before button text */
.woocommerce div.product form.cart .single_add_to_cart_button::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}


/* ============================================================
   I-ter) QTY SELECTOR — Modern
   ============================================================ */
.woocommerce div.product form.cart .quantity .qty-box {
    display: inline-flex;
    align-items: center;
    border: 2px solid var(--pdp-border);
    border-radius: var(--pdp-radius-sm);
    overflow: hidden;
}
.woocommerce div.product form.cart .quantity .qty-box .decrease,
.woocommerce div.product form.cart .quantity .qty-box .increase {
    width: 40px;
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: var(--pdp-bg);
    border: none;
    font-size: 18px;
    font-weight: 600;
    color: var(--pdp-text);
    cursor: pointer;
    transition: background 0.15s;
}
.woocommerce div.product form.cart .quantity .qty-box .decrease:hover,
.woocommerce div.product form.cart .quantity .qty-box .increase:hover {
    background: var(--pdp-border);
}
.woocommerce div.product form.cart .quantity input.qty {
    width: 50px;
    height: 44px;
    text-align: center;
    border: none;
    border-left: 1px solid var(--pdp-border);
    border-right: 1px solid var(--pdp-border);
    font-size: 16px;
    font-weight: 600;
    font-family: var(--pdp-font-body);
    -moz-appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Qty + ATC layout */
.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}
.woocommerce div.product form.cart .quantity {
    flex-shrink: 0;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1;
    min-width: 200px;
}


/* ============================================================
   I-quater) SALE BADGE — Gallery overlay
   ============================================================ */
/* Ensure gallery wrapper is positioned for the badge */
.woocommerce div.product div.images {
    position: relative;
}
.alandog-pdp-sale-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
    background: var(--pdp-sale);
    color: #fff;
    font-family: var(--pdp-font-heading);
    font-size: 14px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 20px;
    line-height: 1;
    letter-spacing: 0.3px;
    pointer-events: none;
}
/* When using grid gallery, badge should be in the image column */
.woocommerce div.product div.images.woocommerce-product-gallery {
    position: relative;
}


/* ============================================================
   J) STICKY SECTION NAVIGATION
   ============================================================ */
/* Nav is always visible in document flow as a section separator.
   Note: position:sticky doesn't work here because .martfury-container
   has overflow:hidden. The nav stays static — no sticky behavior. */
.alandog-pdp-nav {
    position: relative;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid var(--pdp-border);
    border-top: 1px solid var(--pdp-border);
}

/* Placeholder not needed (no sticky) */
.alandog-pdp-nav-placeholder {
    display: none !important;
}

.alandog-pdp-nav__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    gap: 0;
}

.alandog-pdp-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 14px 0;
    margin-right: 32px;
    font-family: var(--pdp-font-heading);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--pdp-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
    white-space: nowrap;
}

.alandog-pdp-nav__link:hover {
    color: var(--pdp-primary);
}

.alandog-pdp-nav__link.is-active {
    color: var(--pdp-primary);
    border-bottom-color: var(--pdp-primary);
}

.alandog-pdp-nav__count {
    margin-left: 4px;
    color: #495260;
    font-weight: 400;
}


/* ============================================================
   K) BELOW-FOLD SECTIONS
   ============================================================ */
.alandog-pdp-section {
    max-width: 860px;
    margin: 0 auto;
    padding: 48px 20px;
    border-bottom: 1px solid var(--pdp-border);
}

.alandog-pdp-section:last-of-type {
    border-bottom: none;
    padding-bottom: 60px;
}

.alandog-pdp-section__title {
    font-family: var(--pdp-font-heading);
    font-size: 26px;
    font-weight: 900;
    color: #0f172a;
    margin: 0 0 16px;
}

.alandog-pdp-section__content {
    font-family: var(--pdp-font-body);
    font-size: 15px;
    line-height: 1.7;
    color: #374151;
    /* C8: Removed dead max-width:900px — parent .alandog-pdp-section is max-width:860px */
}

/* Details table styling */
.alandog-pdp-section .woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
}

.alandog-pdp-section .woocommerce-product-attributes th {
    background: var(--pdp-bg);
    font-weight: 600;
    color: var(--pdp-text);
    padding: 12px 16px;
    border-bottom: 1px solid var(--pdp-border);
    text-align: left;
    width: 35%;
    font-size: 14px;
}

.alandog-pdp-section .woocommerce-product-attributes td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--pdp-border);
    color: #4B5563;
    font-size: 14px;
}

/* Alternating rows */
.alandog-pdp-section .woocommerce-product-attributes tr:nth-child(even) td,
.alandog-pdp-section .woocommerce-product-attributes tr:nth-child(even) th {
    background: var(--pdp-bg);
}
.alandog-pdp-section .woocommerce-product-attributes tr:nth-child(odd) th {
    background: #fff;
}

/* Table border radius */
.alandog-pdp-section .woocommerce-product-attributes {
    border-radius: var(--pdp-radius-sm);
    overflow: hidden;
    border: 1px solid var(--pdp-border);
}

/* Accordion toggle (mobile) — hidden on desktop */
.alandog-pdp-section__toggle {
    display: none;
}


/* ============================================================
   L) REVIEW SUMMARY + RATING BARS
   ============================================================ */
/* Reference PDP2_v8: dark card with yellow stars/score */
.alandog-pdp-reviews-summary {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
    padding: 24px 28px;
    background: #0f172a;
    color: #fff;
    border-radius: 18px;
    border-bottom: none;
}

.alandog-pdp-reviews-summary__score {
    text-align: center;
    min-width: 120px;
    flex-shrink: 0;
}

.alandog-pdp-reviews-summary__avg {
    display: block;
    font-family: var(--pdp-font-heading);
    font-size: 52px;
    font-weight: 900;
    color: var(--pdp-gold);
    line-height: 1;
    margin-bottom: 4px;
}

.alandog-pdp-reviews-summary__score .star-rating {
    font-size: 18px;
    color: var(--pdp-gold);
    margin: 4px auto 0;
}

.alandog-pdp-reviews-summary__count {
    font-family: var(--pdp-font-body);
    font-size: 12px;
    color: #45536a;
}

.alandog-pdp-reviews-summary__bars {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.alandog-pdp-reviews-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--pdp-font-body);
    font-size: 13px;
    color: var(--pdp-muted);
}

.alandog-pdp-reviews-bar__label {
    width: 24px;
    text-align: right;
    flex-shrink: 0;
    font-weight: 700;
    color: var(--pdp-gold);
}

.alandog-pdp-reviews-bar__track {
    flex: 1;
    height: 8px;
    background: #334155;
    border-radius: 99px;
    overflow: hidden;
}

.alandog-pdp-reviews-bar__fill {
    height: 100%;
    background: var(--pdp-gold);
    border-radius: 99px;
    transition: width 0.5s ease;
}

.alandog-pdp-reviews-bar__count {
    width: 24px;
    text-align: right;
    flex-shrink: 0;
    color: #45536a;
}


/* ============================================================
   M) MOBILE STICKY ATC BAR
   ============================================================ */
/* Reference PDP2_v8 sticky bar style */
.alandog-pdp-sticky-atc {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9998; /* below bottom nav (9999) */
    background: #fff;
    border-top: 1px solid var(--pdp-border);
    box-shadow: 0 -4px 12px rgba(0,0,0,0.08);
    /* C7 FIX: Use CSS var for bottom nav height — JS sets --bottom-nav-h if nav is visible */
    padding: 10px 16px calc(env(safe-area-inset-bottom, 6px) + var(--bottom-nav-h, 0px)) 16px;
    transform: translateY(100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
}

.alandog-pdp-sticky-atc.is-visible {
    transform: translateY(0);
}

.alandog-pdp-sticky-atc__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
}

.alandog-pdp-sticky-atc__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.alandog-pdp-sticky-atc__name {
    font-family: var(--pdp-font);
    font-size: 12px;
    font-weight: 600;
    color: var(--pdp-muted-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alandog-pdp-sticky-atc__price {
    font-family: var(--pdp-font);
    font-size: 24px;
    font-weight: 900;
    color: #111;
    line-height: 1.1;
}

.alandog-pdp-sticky-atc__price small {
    font-size: 12px;
    font-weight: 400;
    color: var(--pdp-muted);
}

.alandog-pdp-sticky-atc__price del {
    font-size: 14px;
    color: var(--pdp-muted);
}

.alandog-pdp-sticky-atc__price ins {
    text-decoration: none;
}

/* FIX-PDP-GAP13: Clean up price display in mobile sticky bar */
.alandog-pdp-sticky-atc__price .woocommerce-Price-amount {
    font-size: 20px;
    font-weight: 900;
    color: #111;
}
.alandog-pdp-sticky-atc__price .woocommerce-Price-currencySymbol {
    font-size: 20px;
}
/* Hide subscription labels inside sticky ATC price */
.alandog-pdp-sticky-atc__price .acquisto-periodico-label,
.alandog-pdp-sticky-atc__price .grey-text-bold {
    display: none;
}

.alandog-pdp-sticky-atc__btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--pdp-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 14px 22px;
    min-height: 48px;
    font-family: var(--pdp-font);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(18,156,237,.30);
    transition: background 0.2s, transform .12s;
    white-space: nowrap;
}

.alandog-pdp-sticky-atc__btn:active {
    background: var(--pdp-cta-hover);
    transform: scale(.96);
}


/* ============================================================
   N) PULSE ANIMATION
   ============================================================ */
@keyframes alandog-pulse-animation {
    0% { box-shadow: 0 0 0 0 rgba(18, 156, 237, 0.5); }
    70% { box-shadow: 0 0 0 12px rgba(18, 156, 237, 0); }
    100% { box-shadow: 0 0 0 0 rgba(18, 156, 237, 0); }
}

.alandog-pulse {
    animation: alandog-pulse-animation 1.5s ease-out;
}


/* ============================================================
   O) UPSELLS + RELATED PRODUCTS
   ============================================================ */
.woocommerce div.product .up-sells,
.woocommerce div.product .related {
    padding: 40px 0 20px;
}

.woocommerce div.product .up-sells > h2,
.woocommerce div.product .related > h2 {
    font-family: var(--pdp-font-heading);
    font-size: 22px;
    font-weight: 700;
    color: var(--pdp-text);
    margin-bottom: 20px;
}

.woocommerce div.product .up-sells ul.products,
.woocommerce div.product .related ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}


/* ============================================================
   P) RECENTLY VIEWED
   ============================================================ */
.alandog-recently-viewed {
    padding: 40px 0 20px;
    border-top: 1px solid var(--pdp-border);
    margin-top: 20px;
}

.alandog-recently-viewed .alandog-section-title {
    font-family: var(--pdp-font-heading);
    font-size: 22px;
    font-weight: 700;
    color: var(--pdp-text);
    margin-bottom: 20px;
    text-align: left;
}

.alandog-recently-viewed .woocommerce ul.products,
.alandog-upsells ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Override Bootstrap col-xs-6 / WC columns-4 width inside grid layouts */
.alandog-recently-viewed .woocommerce ul.products li.product,
.alandog-upsells ul.products li.product {
    min-width: 100% !important;
    float: none !important;
    margin: 0 0 0 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ============================================================
   Q) CONTENT-VISIBILITY: SKIP RENDERING OF BELOW-FOLD SECTIONS
   Progressive enhancement — ignored by unsupported browsers.
   Chrome 85+, Edge 85+, Firefox 125+.
   contain-intrinsic-size uses 'auto' keyword so the browser
   remembers actual size after first render (prevents CLS on scroll-back).
   ============================================================ */

.alandog-pdp-section {
    content-visibility: auto;
    contain-intrinsic-size: auto 400px;
}

.woocommerce div.product .up-sells {
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

.woocommerce div.product .related {
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

.alandog-recently-viewed {
    content-visibility: auto;
    contain-intrinsic-size: auto 450px;
}


/* ============================================================
   R) HIDE PWB DUPLICATE + MARTFURY DEFAULT STICKY
   ============================================================ */
.woocommerce div.product .pwb-single-product-brands {
    display: none;
}

/* Hide Martfury's built-in sticky product info — replaced by section nav */
.product-extra-link-2-header,
#mf-sticky-product-info {
    display: none !important;
}

/* Hide Customer Reviews floating trust badge on PDP (overlaps buy panel) */
.single-product #cr_floatingtrustbadge {
    display: none !important;
}

/* ---- DISABLE Martfury's old sticky ATC (causes flicker on scroll) ----
   Martfury parent JS adds .fixed class after 2s on mobile, making the
   variation form position:fixed at bottom. This conflicts with our custom
   alandog-pdp-sticky-atc and causes scroll flickering. */
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed {
    position: static !important;
    z-index: auto !important;
    bottom: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    left: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.woocommerce-variation-add-to-cart.fixed .quantity {
    width: 100% !important;
    float: none !important;
}
.woocommerce-variation-add-to-cart.fixed .single_add_to_cart_button {
    width: 100% !important;
    float: none !important;
}


/* ============================================================
   R) OVERRIDE MARTFURY LAYOUT PROPORTIONS
   ============================================================ */

/* In 3-column mode, Martfury's float layout is replaced by CSS Grid */
.alandog-3col .woocommerce-product-gallery,
.alandog-3col .entry-summary {
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
}

/* For non-3col (mobile/tablet), keep Martfury's default float layout */
.single-product-layout-6 .product .col-md-6:first-child {
    flex: 0 0 55%;
    max-width: 55%;
}

.single-product-layout-6 .product .col-md-6:last-child,
.single-product-layout-6 .product .summary.entry-summary {
    flex: 0 0 45%;
    max-width: 45%;
}

/* Fix Martfury's inner 2-column layout in variable product forms */
.single-product .variations_form .col-lg-7.product-detail-page,
.single-product .variations_form .col-lg-5.qtyinfobox_formacquisto {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}


/* ============================================================
   S) RESPONSIVE — TABLET (max-width: 991px, min-width: 768px)
   JS runs desktop init at 768px+ → alandog-3col is active.
   Tablet: [Gallery | Info] row 1, [BuyPanel full-width] row 2.
   Matches reference PDP2_v8 layout.
   ============================================================ */
@media (max-width: 1023px) and (min-width: 768px) {

    /* ---- TABLET: Reference PDP2_v8 layout ----
       Gallery + Info side by side (5fr 4fr),
       Buy panel full-width below (not sticky),
       Sticky bottom bar visible.
    ---- */

    .mf-product-detail.alandog-3col {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto auto auto;
        gap: 0 20px;
    }

    /* Gallery — column 1 */
    .alandog-3col .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1;
    }

    /* Info — column 2 */
    .alandog-3col .entry-summary {
        grid-column: 2 !important;
        grid-row: 1;
    }

    /* Buy panel — full width below, NOT sticky */
    .alandog-3col .alandog-pdp-buy-panel {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        position: static !important;
        max-height: none !important;
        overflow-y: visible !important;
        max-width: min(560px, 100%); /* C5 FIX: prevent overflow on narrow tablets */
        margin: 24px auto 0;
        padding: 22px;
        border-radius: var(--pdp-radius-xl);
    }

    /* Below-fold spans both columns */
    .alandog-3col .mf-product-summary {
        grid-column: 1 / -1 !important;
        grid-row: 3;
    }

    /* ---- Gallery sizing ---- */
    .woocommerce div.product div.images.woocommerce-product-gallery,
    div.woocommerce-product-gallery,
    .woocommerce-product-gallery[style] {
        padding-left: 0 !important;   /* Reset desktop vertical-thumbs padding */
        padding-bottom: 0 !important; /* Reset any gallery bottom padding */
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
    }
    .woocommerce div.product .flex-viewport,
    .flex-viewport[style] {
        height: auto !important;
        max-height: 460px !important;
        overflow: hidden !important;
    }
    .woocommerce div.product .woocommerce-product-gallery__image img {
        max-height: 460px;
        width: auto;
        margin: 0 auto;
        display: block;
        object-fit: contain;
    }

    /* Thumbnails: horizontal row below image (not vertical on left) */
    .woocommerce div.product .flex-control-thumbs {
        position: static !important;
        flex-direction: row !important;
        width: 100% !important;
        max-height: none !important;
        gap: 8px;
        margin-top: 10px;
        justify-content: center;
    }
    .alandog-3col .flex-control-thumbs li {
        width: 64px !important;
        height: 64px !important;
    }

    /* ---- Compact spacing ---- */
    .single-product .page-header-catalog {
        margin-bottom: 0 !important;
        padding: 2px 0 !important;
        min-height: auto !important;
    }
    .single-product .page-header-catalog .rank-math-breadcrumb {
        margin: 0 !important;
        font-size: 12px;
    }
    .single-product #content {
        padding-top: 0 !important;
    }
    .single-product .mf-product-detail {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .entry-summary .alandog-pdp-short-desc {
        margin-bottom: 12px;
    }
    .woocommerce div.product .summary.entry-summary {
        padding-left: 8px;
    }

    /* ---- Format cards: slightly smaller ---- */
    .alandog-radio-card {
        padding: 10px 12px;
    }
    .alandog-radio-card__name {
        font-size: 14px;
    }
    .alandog-radio-card__price {
        font-size: 18px;
    }
    .alandog-radio-card__badge {
        font-size: 9px;
    }

    /* ---- Product grids: 3 columns ---- */
    .woocommerce div.product .up-sells ul.products,
    .woocommerce div.product .related ul.products,
    .alandog-recently-viewed .woocommerce ul.products,
    .alandog-upsells ul.products {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .alandog-pdp-reviews-summary {
        gap: 24px;
    }
}



/* Hide server-rendered mobile pre-gallery on desktop */
@media (min-width: 768px) {
    .alandog-mobile-pre-gallery {
        display: none !important;
    }
}

/* Hide summary element copies on desktop (server-rendered in buy panel) */
@media (min-width: 768px) {
    .entry-summary .alandog-pdp-price,
    .entry-summary .alandog-pdp-delivery,
    .entry-summary .alandog-pdp-pay-icons,
    .entry-summary .alandog-pdp-points,
    .entry-summary .alandog-pdp-trust {
        display: none;
    }
}

/* ============================================================
   T) RESPONSIVE — MOBILE (max-width: 767px)
   ============================================================ */
@media (max-width: 767px) {

    /* ---- PRE-GALLERY: Compact like target mobile PDP ---- */

    /* Hide page-header-catalog on mobile PDP (breadcrumbs are in pre-gallery) */
    .single-product .page-header-catalog,
    .single-product .page-header {
        display: none !important;
    }
    /* Remove #content top padding on PDP */
    .single-product #content {
        padding-top: 0 !important;
    }
    .single-product .woocommerce div.product {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .alandog-mobile-pre-gallery {
        padding: 10px 15px 6px;
    }
    /* Gallery: zero top margin */
    .woocommerce div.product div.images.woocommerce-product-gallery {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }
    .alandog-mobile-pre-gallery .rank-math-breadcrumb,
    .alandog-mobile-pre-gallery .woocommerce-breadcrumb {
        font-size: 11px;
        color: var(--pdp-muted, #495260);
        margin: 0 0 3px !important;
    }
    .alandog-mobile-pre-gallery .rank-math-breadcrumb a {
        color: var(--pdp-primary, #065282);
        text-decoration: none;
    }
    .alandog-mobile-pre-gallery .alandog-pdp-title,
    .alandog-mobile-pre-gallery .product_title {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
        margin: 0 0 6px !important;
    }
    .alandog-mobile-pre-gallery .alandog-pdp-brand {
        margin-bottom: 4px !important;
    }
    .alandog-mobile-pre-gallery .alandog-pdp-brand__name {
        font-size: 13px;
        color: var(--pdp-primary, #065282);
    }
    .alandog-mobile-pre-gallery .alandog-pdp-rating-row {
        margin-bottom: 2px;
        font-size: 13px;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* ---- GALLERY: conversion style — main image + thumbnails on RIGHT ---- */
    .woocommerce div.product div.images.woocommerce-product-gallery,
    .mobile-version.woocommerce div.product div.images.woocommerce-product-gallery {
        display: block !important;
        position: relative !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
        margin-left: 0 !important;
        overflow: hidden !important;
        aspect-ratio: auto !important;
    }

    /* Main image viewport: full width on mobile */
    .woocommerce div.product .flex-viewport {
        height: auto !important;
        max-height: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }

    /* Thumbnails: horizontal row below image on mobile */
    .woocommerce div.product .flex-control-thumbs,
    .woocommerce div.product div.images .flex-control-nav.flex-control-thumbs {
        display: flex !important;
        flex-direction: row !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        visibility: visible !important;
        opacity: 1 !important;
        gap: 6px;
        padding: 0;
        margin-top: 10px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }
    .woocommerce div.product .flex-control-thumbs::-webkit-scrollbar {
        display: none;
    }
    .woocommerce div.product .flex-control-thumbs li {
        flex: 0 0 60px;
        width: 60px !important;
        height: 60px !important;
        min-height: 60px;
        flex-shrink: 0;
        border: 2px solid #E5E7EB;
        border-radius: 8px;
        overflow: hidden;
        cursor: pointer;
        transition: border-color 0.2s, box-shadow 0.2s;
        scroll-snap-align: start;
    }
    .woocommerce div.product .flex-control-thumbs li.is-active,
    .woocommerce div.product .flex-control-thumbs li:has(.flex-active) {
        border-color: var(--pdp-primary, #065282);
        box-shadow: 0 0 0 2px rgba(18, 156, 237, 0.25);
    }
    .woocommerce div.product .flex-control-thumbs li img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
        display: block;
    }



    .woocommerce div.product .woocommerce-product-gallery__wrapper,
    .woocommerce div.product .woocommerce-product-gallery__image {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        cursor: default !important;
    }
    .woocommerce div.product .woocommerce-product-gallery__image a {
        display: block;
        width: 100%;
        height: auto;
    }
    /* Images: crisp, centered, contained */
    .woocommerce div.product .woocommerce-product-gallery__image img,
    .woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: min(55vh, 480px) !important;
        object-fit: contain;
        display: block;
        margin: 0 auto;
    }
    .woocommerce div.product .woocommerce-product-gallery__image img {
        transform: none !important;
    }


    /* Layout: stack columns — override Martfury float layout */
    .mf-product-detail {
        display: block !important;
        width: 100% !important;
    }
    .single-product-layout-6 .product .col-md-6:first-child,
    .single-product-layout-6 .product .col-md-6:last-child {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .woocommerce div.product .woocommerce-product-gallery {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Title/Brand/Rating in summary: hidden (moved to pre-gallery by JS) */
    .entry-summary > .alandog-pdp-title,
    .entry-summary > .product_title,
    .entry-summary > .alandog-pdp-brand,
    .entry-summary > .alandog-pdp-rating-row {
        display: none !important;
    }

    /* ---- PRICE BOX: Full-width card on mobile ---- */
    .alandog-pdp-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 12px !important;
        padding: 14px 16px !important;
        background: var(--pdp-bg, #f8fafc) !important;
        border: 1px solid var(--pdp-border, #e2e8f0) !important;
        border-radius: var(--pdp-radius-sm, 12px) !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
    .alandog-pdp-price .price {
        font-size: 24px;
    }


    /* ---- ENTRY-SUMMARY: flex column + ordering on mobile ---- */
    .woocommerce div.product .summary.entry-summary {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    /* Order elements inside .entry-summary for logical mobile flow */
    .entry-summary > .alandog-pdp-price          { order: 1 !important; }
    .entry-summary > .alandog-sub-container,
    .entry-summary > .wcsatt-options-wrapper      { order: 2 !important; }
    .entry-summary > form.cart,
    .entry-summary > form.variations_form         { order: 3 !important; }
    .entry-summary > .alandog-pdp-highlights      { order: 4 !important; margin-top: 16px !important; }
    .entry-summary > .alandog-pdp-delivery        { order: 5 !important; }
    .entry-summary > .alandog-pdp-pay-icons       { order: 6 !important; }
    .entry-summary > .alandog-pdp-trust           { order: 7 !important; }
    .entry-summary > .alandog-pdp-points          { order: 8 !important; }
    /* Push everything else (meta, share, etc.) to the end */
    .entry-summary > *                            { order: 99; }

    /* ---- TRUST BADGES: compact horizontal scroll on mobile (UX GAP FIX) ---- */
    .alandog-pdp-trust {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 8px !important;
        margin-top: 12px !important;
        padding: 8px 0 !important;
        border-top: none !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .alandog-pdp-trust::-webkit-scrollbar {
        display: none;
    }
    .alandog-pdp-trust__item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        gap: 6px !important;
        background: #f0f7fa !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 20px !important;
        padding: 6px 12px !important;
        white-space: nowrap !important;
    }
    .alandog-pdp-trust__item svg {
        flex-shrink: 0 !important;
        width: 16px !important;
        height: 16px !important;
        color: var(--pdp-primary, #065282) !important;
    }
    .alandog-pdp-trust__text {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    .alandog-pdp-trust__text strong {
        display: block !important;
        font-weight: 700 !important;
        font-size: 11px !important;
        color: var(--pdp-text, #1e293b) !important;
        line-height: 1.2 !important;
    }
    .alandog-pdp-trust__text span {
        display: none !important; /* hide subtitle in compact mode */
    }

    /* ---- PAYMENT ICONS: centered, full-width on mobile ---- */
    .alandog-pdp-pay-icons {
        width: 100% !important;
        margin: 16px 0 !important;
        padding-top: 0 !important;
        border-top: none !important;
        text-align: center !important;
    }
    .alandog-pdp-pay-icons__label {
        display: block !important;
        font-size: 12px !important;
        color: var(--pdp-muted, #45536a) !important;
        text-align: center !important;
        margin-bottom: 8px !important;
    }
    .alandog-pdp-pay-icons__row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
    }
    .alandog-pdp-pay-icon {
        height: 24px !important;
    }
    .alandog-pdp-pay-icon img,
    .alandog-pdp-pay-icon svg {
        height: 24px !important;
        width: auto !important;
    }

    /* ---- DELIVERY BOX: full-width card on mobile ---- */
    .alandog-pdp-delivery {
        width: 100% !important;
        background: var(--pdp-primary-bg, #eff6ff) !important;
        border: 1px solid var(--pdp-border, #e2e8f0) !important;
        border-radius: 12px !important;
        padding: 14px 16px !important;
        margin: 16px 0 !important;
        box-sizing: border-box !important;
    }
    .alandog-pdp-delivery__row {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    /* ---- SECTION NAV: horizontally scrollable + sticky ---- */
    .alandog-pdp-nav {
        position: sticky !important;
        top: 0 !important;
        z-index: 100 !important;
        background: #fff !important;
        border-bottom: 1px solid #e2e8f0 !important;
    }
    .alandog-pdp-nav__inner {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 0 12px !important;
    }
    .alandog-pdp-nav__inner::-webkit-scrollbar {
        display: none;
    }
    .alandog-pdp-nav__link {
        padding: 12px 16px !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
        margin-right: 0 !important;
    }
    .alandog-pdp-nav__link.is-active {
        color: var(--pdp-primary, #065282) !important;
        border-bottom: 2px solid var(--pdp-primary, #065282) !important;
    }

    /* ---- CONSISTENT SECTION SPACING ---- */
    /* Ensure 16px gap between major blocks in summary */
    .entry-summary > .alandog-pdp-price {
        margin-bottom: 16px !important;
    }
    .entry-summary > form.cart,
    .entry-summary > form.variations_form {
        margin-bottom: 0 !important;
    }
    .entry-summary > .alandog-pdp-highlights {
        margin-bottom: 0 !important;
    }

    /* Sections */
    .alandog-pdp-section {
        padding: 24px 16px;
    }

    .alandog-pdp-section__title {
        font-size: 18px;
        margin-bottom: 14px;
    }

    /* Mobile accordion */
    .alandog-pdp-section.is-accordion .alandog-pdp-section__toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        background: none;
        border: none;
        padding: 4px 0;
        cursor: pointer;
        -webkit-appearance: none;
    }

    .alandog-pdp-section.is-accordion .alandog-pdp-section__toggle .alandog-pdp-section__title {
        margin: 0;
    }

    .alandog-pdp-section__chevron {
        transition: transform 0.3s ease;
        flex-shrink: 0;
        color: var(--pdp-muted);
    }

    .alandog-pdp-section.is-accordion .alandog-pdp-section__toggle[aria-expanded="true"] .alandog-pdp-section__chevron {
        transform: rotate(180deg);
    }

    .alandog-pdp-section.is-accordion .alandog-pdp-section__content {
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease;
    }

    .alandog-pdp-section.is-accordion .alandog-pdp-section__content[aria-hidden="true"] {
        max-height: 0;
        opacity: 0;
        padding-top: 0;
    }

    .alandog-pdp-section.is-accordion .alandog-pdp-section__content[aria-hidden="false"],
    .alandog-pdp-section.is-accordion .alandog-pdp-section__content:not([aria-hidden]) {
        max-height: none;
        opacity: 1;
        padding-top: 16px;
    }

    /* Mobile sticky ATC bar */
    .alandog-pdp-sticky-atc.is-visible {
        display: block;
    }

    .alandog-pdp-sticky-atc__inner {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }

    .alandog-pdp-sticky-atc__info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .alandog-pdp-sticky-atc__name {
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .alandog-pdp-sticky-atc__price {
        font-size: 20px;
        font-weight: 900;
        line-height: 1.1;
    }

    .alandog-pdp-sticky-atc__btn {
        flex-shrink: 0;
        padding: 12px 20px;
        font-size: 14px;
        font-weight: 700;
        border-radius: 10px;
        min-height: 48px;
    }

    /* Hide WPC Sticky ATC plugin on mobile to avoid conflict */
    .woostc-wrap {
        display: none !important;
    }

    /* Reviews summary: stack vertically */
    .alandog-pdp-reviews-summary {
        flex-direction: column;
        gap: 16px;
    }

    .alandog-pdp-reviews-summary__score {
        display: flex;
        align-items: center;
        gap: 12px;
        text-align: left;
    }

    .alandog-pdp-reviews-summary__avg {
        font-size: 36px;
    }

    /* GAP13: Mobile price — sized down from 36px desktop to 28px mobile */
    .alandog-pdp-price__amount .price,
    .alandog-pdp-price__amount .price ins,
    .alandog-pdp-price__amount .price span,
    .alandog-pdp-price__amount .price .woocommerce-Price-amount,
    .alandog-pdp-price__amount .price bdi,
    .alandog-pdp-price__amount .price .woocommerce-Price-currencySymbol {
        font-size: 28px !important;
    }
    .alandog-pdp-price {
        padding: 10px 14px !important;
        min-height: auto !important;
    }

    /* GAP13: Mobile gallery — enable smooth touch scrolling */
    .woocommerce div.product .flex-viewport {
        touch-action: pan-x pan-y;
        -webkit-overflow-scrolling: touch;
    }

    /* Product grids: 2 columns */
    .woocommerce div.product .up-sells ul.products,
    .woocommerce div.product .related ul.products,
    .alandog-recently-viewed .woocommerce ul.products,
    .alandog-upsells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }

    .woocommerce div.product .up-sells > h2,
    .woocommerce div.product .related > h2,
    .alandog-upsells .alandog-section-title,
    .alandog-recently-viewed .alandog-section-title {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .alandog-recently-viewed {
        padding: 24px 0 12px;
    }

    /* Delivery box: handled earlier in this media query block
       (see "DELIVERY BOX: full-width card on mobile" section) */

    /* ATC button compact rules — see "QTY + ATC ROW" section below for full styling */

    /* UX GAP FIX: Show points compact on mobile */
    .alandog-pdp-points {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 12px !important;
        padding: 6px 10px !important;
        background: #fffbeb !important;
        border: 1px solid #fde68a !important;
        border-radius: 8px !important;
        margin-top: 8px !important;
    }
    .alandog-pdp-points .alandog-pdp-points__icon {
        width: 14px !important;
        height: 14px !important;
        flex-shrink: 0 !important;
    }
    .alandog-pdp-points .alandog-pdp-points__link {
        font-size: 11px !important;
        margin-left: auto !important;
    }

    /* UX GAP FIX: Show short description truncated to 3 lines on mobile */
    .alandog-pdp-short-desc {
        display: block !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }
    .alandog-pdp-short-desc .alandog-pdp-short-desc__content {
        display: -webkit-box !important;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: var(--pdp-muted-dark, #475569) !important;
        max-height: calc(13px * 1.5 * 3) !important; /* fallback for non-webkit */
        transition: max-height 0.3s ease !important;
    }
    .alandog-pdp-short-desc.is-expanded .alandog-pdp-short-desc__content {
        -webkit-line-clamp: unset !important;
        max-height: 2000px !important;
        overflow: visible !important;
    }
    .alandog-pdp-short-desc__toggle {
        display: inline-block;
        margin-top: 4px;
        font-size: 12px;
        font-weight: 600;
        color: var(--pdp-primary, #065282);
        cursor: pointer;
        border: none;
        background: none;
        padding: 2px 0;
    }
    .alandog-pdp-short-desc__toggle:hover {
        text-decoration: underline;
    }

    /* ---- FORM: Stack everything vertically on mobile ---- */

    /* The variations form itself: force column layout */
    .woocommerce div.product form.cart,
    .woocommerce div.product form.variations_form {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        width: 100% !important;
    }

    /* Inner columns of the form: full width, stacked */
    .woocommerce div.product form.cart .product-detail-page,
    .woocommerce div.product form.cart .qtyinfobox_formacquisto,
    .woocommerce div.product form.cart .col-lg-7,
    .woocommerce div.product form.cart .col-lg-5,
    .woocommerce div.product form.cart [class*="col-lg-"],
    .woocommerce div.product form.cart [class*="col-md-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* ---- QTY + ATC ROW: side by side on mobile ---- */
    /* The variation add-to-cart section (qty + ATC) */
    /* CRITICAL: Override style.css .fixed class that makes ATC position:fixed at bottom */
    .woocommerce-variation-add-to-cart,
    .woocommerce div.product .woocommerce-variation-add-to-cart,
    .woocommerce-variation-add-to-cart.variations_button.fixed,
    .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled.fixed {
        position: static !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        width: 100% !important;
        margin-top: 12px !important;
        z-index: auto !important;
        bottom: auto !important;
        left: auto !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        align-items: stretch !important;
    }
    /* Override .fixed float layout on qty and ATC */
    .woocommerce-variation-add-to-cart.fixed .quantity,
    .woocommerce-variation-add-to-cart.fixed .single_add_to_cart_button {
        float: none !important;
    }

    /* single_variation_wrap: ensure full-width block, proper stacking */
    .single_variation_wrap {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    /* Qty: compact, left side of row */
    .woocommerce div.product form.cart .quantity {
        flex: 0 0 auto !important;
        width: 110px !important;
        order: 1;
    }
    .woocommerce div.product form.cart .quantity .label,
    .woocommerce div.product form.cart .quantity label.label {
        display: none !important;
    }
    .woocommerce div.product form.cart .quantity .decrease,
    .woocommerce div.product form.cart .quantity .increase {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: static !important;
        transform: none !important;
        width: 36px;
        height: 52px;
        font-size: 20px;
        font-weight: 400;
        font-family: Arial, sans-serif;
        line-height: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        background: var(--pdp-bg, #F9FAFB);
        border: none;
        color: var(--pdp-text, #1a1a1a);
        cursor: pointer;
        -webkit-user-select: none;
        user-select: none;
    }
    .woocommerce div.product form.cart .quantity input.qty {
        width: 38px;
        height: 52px;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        border: none;
        background: #fff;
        padding: 0;
        -moz-appearance: textfield;
        appearance: textfield;
    }
    .woocommerce div.product form.cart .quantity .qty-box {
        display: flex !important;
        align-items: stretch;
        justify-content: center;
        width: 110px;
        height: 52px;
        border: 1px solid var(--pdp-border, #E5E7EB);
        border-radius: var(--pdp-radius-sm, 12px);
        overflow: hidden;
    }

    /* ATC button: fills remaining space, primary blue.
       IMPORTANT: Use button.single_add_to_cart_button to beat style.css
       specificity which sets var(--color-cta, #963B1A) orange. */
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        text-transform: none !important;
        letter-spacing: 0 !important;
        order: 2;
        flex: 1 !important;
        width: auto !important;
        min-width: 0;
        min-height: 52px;
        font-size: 16px;
        font-weight: 700 !important;
        padding: 14px 20px !important;
        line-height: 1.2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px;
        background: var(--pdp-primary) !important;
        color: #fff !important;
        border: none !important;
        border-radius: var(--pdp-radius-sm, 12px) !important;
        cursor: pointer;
        box-shadow: 0 4px 16px rgba(18,156,237,.28);
        font-family: var(--pdp-font) !important;
    }
    .woocommerce div.product form.cart button.single_add_to_cart_button:hover,
    .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover {
        background: var(--pdp-cta-hover) !important;
    }
    .woocommerce div.product form.cart .single_add_to_cart_button::before {
        display: inline-block !important;
        margin-right: 4px;
    }

    /* Checkout button: hidden on mobile (reference has only ATC + PayPal) */
    .alandog-pdp-checkout-btn {
        display: none !important;
    }

    /* Actions/wishlist: hidden */
    .actions-button,
    .alandog-wishlist-single-wrap,
    [class*="wishlist"],
    .tinvwl_add_to_wishlist_button {
        display: none !important;
    }

    /* Price display inside form on mobile — full-width card style */
    form.variations_form > .alandog-pdp-price,
    form.cart > .alandog-pdp-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        float: none !important;
        margin-bottom: 12px !important;
        padding: 14px 16px !important;
        background: var(--pdp-bg, #f8fafc) !important;
        border: 1px solid var(--pdp-border, #e2e8f0) !important;
        border-radius: var(--pdp-radius-sm, 12px) !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
    /* "Stai acquistando" label */
    .alandog-pdp-price__label {
        display: block !important;
        font-size: 12px !important;
        font-weight: 600;
        color: var(--pdp-muted-dark, #45536a) !important;
        text-transform: none;
        margin-bottom: 4px;
        text-align: center;
    }
    /* Price amount */
    .alandog-pdp-price__amount {
        text-align: center !important;
    }
    .alandog-pdp-price__amount .price,
    .alandog-pdp-price__amount .price ins,
    .alandog-pdp-price__amount .price span {
        font-size: 28px !important;
        font-weight: 900 !important;
        color: #0f172a !important;
        text-decoration: none !important;
    }
    .alandog-pdp-price__amount .price del {
        font-size: 14px !important;
        color: var(--pdp-muted) !important;
    }
    /* "IVA incl." label */
    .alandog-pdp-price__tax {
        display: inline-block !important;
        font-size: 11px;
        color: var(--pdp-muted, #45536a);
        margin-left: 4px;
    }
    /* Hide "Periodico" label in sticky bar on mobile */
    .alandog-pdp-sticky-atc .acquisto-periodico-label,
    .alandog-pdp-sticky-atc__price .acquisto-periodico-label {
        display: none !important;
    }

    /* Sale badge: overlay on gallery image (top-left) */
    .woocommerce-product-gallery {
        position: relative !important;
    }
    .alandog-pdp-sale-badge {
        position: absolute !important;
        top: 12px !important;
        left: 12px !important;
        z-index: 10 !important;
        margin: 0 !important;
    }

    /* Breadcrumbs mobile */
    .single-product .rank-math-breadcrumb {
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- VARIATION SWATCHES (TAWCVS): Clean row-card design ---- */
    /* FIX-UI-200: tighter gap between variant cards on mobile (GAP 13) */
    .woocommerce div.product .tawcvs-swatches {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        margin-top: 6px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    /* Each swatch: row card — radio left, name center, price right
       FIX-UI-200: Reduced padding/height for compact mobile layout (GAP 13) */
    .woocommerce div.product .tawcvs-swatches .swatch,
    .woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
        width: 100% !important;
        height: auto !important;
        min-height: 44px !important;
        line-height: normal !important;
        padding: 10px 14px !important;
        border: 2px solid var(--pdp-border, #e2e8f0) !important;
        border-radius: var(--pdp-radius-sm, 12px) !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
        background: #fff !important;
        margin: 0 !important;
        cursor: pointer;
        transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
        position: relative !important;
        font-family: var(--pdp-font) !important;
    }

    /* Hover state */
    .woocommerce div.product .tawcvs-swatches .swatch:hover,
    .woocommerce div.product .tawcvs-swatches .swatch.swatch-label:hover {
        border-color: var(--pdp-primary-light, #93c5fd) !important;
    }

    /* Selected state: blue border + subtle blue bg */
    .woocommerce div.product .tawcvs-swatches .swatch.selected,
    .woocommerce div.product .tawcvs-swatches .swatch.swatch-label.selected {
        border-color: var(--pdp-primary, #065282) !important;
        background: var(--pdp-primary-bg, #eff6ff) !important;
        box-shadow: 0 0 0 1px var(--pdp-primary, #065282) !important;
    }

    /* Radio indicator: pseudo-element on left side */
    .woocommerce div.product .tawcvs-swatches .swatch::before {
        content: '' !important;
        display: inline-block !important;
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        border: 2px solid #cbd5e1 !important;
        border-radius: 50% !important;
        background: #fff !important;
        margin-right: 12px !important;
        flex-shrink: 0 !important;
        transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
        box-sizing: border-box !important;
    }
    .woocommerce div.product .tawcvs-swatches .swatch.selected::before {
        border-color: var(--pdp-primary, #065282) !important;
        background: var(--pdp-primary, #065282) !important;
        box-shadow: inset 0 0 0 3px #fff !important;
    }

    /* Variation name text inside swatch: clean, left-aligned */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_quantita {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--pdp-text, #1e293b) !important;
        text-transform: none !important;
        line-height: 1.3 !important;
        flex: 1 !important;
        text-align: left !important;
        display: inline !important;
    }

    /* Price inside swatch: right-aligned, bold */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_price {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        margin-right: 0 !important;
        margin-left: auto !important;
        padding-left: 8px !important;
        flex-shrink: 0 !important;
        text-align: right !important;
    }

    /* Discount badge: small pill inline */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_discount {
        font-size: 10px !important;
        padding: 2px 6px !important;
        border-radius: 20px !important;
        background: #0c5a2a !important;
        color: #fff !important;
        margin-left: 6px !important;
        flex-shrink: 0 !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
    }

    /* Box discount: same cleanup */
    .woocommerce div.product .tawcvs-swatches .swatch .box_discount {
        font-size: 10px !important;
        padding: 2px 6px !important;
        border-radius: 20px !important;
    }

    /* Header row inside swatch: flex row alignment */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_header {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    /* Selected state text colors */
    .woocommerce div.product .tawcvs-swatches .swatch.selected .qtyinfobox_quantita {
        color: var(--pdp-primary, #065282) !important;
    }
    .woocommerce div.product .tawcvs-swatches .swatch.selected .qtyinfobox_price {
        color: var(--pdp-primary, #065282) !important;
    }

    /* FIX-PDP-GAP13: Scrollable variant container when 4+ variants */
    .woocommerce div.product .tawcvs-swatches {
        max-height: 280px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: var(--pdp-border, #e2e8f0) transparent;
    }
    .woocommerce div.product .tawcvs-swatches::-webkit-scrollbar {
        width: 3px;
    }
    .woocommerce div.product .tawcvs-swatches::-webkit-scrollbar-thumb {
        background: var(--pdp-border, #e2e8f0);
        border-radius: 2px;
    }

    /* FIX-PDP-GAP13: Hide EUR/kg unit price line on mobile — saves ~14px/card */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_perkilo,
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_unitprice {
        display: none !important;
    }

    /* FIX-PDP-GAP13: Tighter free shipping badge in swatches */
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_freeshipping {
        font-size: 9px !important;
        padding: 1px 5px !important;
    }

    /* ---- VARIATIONS TABLE: clean styling ---- */
    .woocommerce div.product form.cart .variations {
        width: 100% !important;
        margin-bottom: 8px;
        border: none !important;
    }
    .woocommerce div.product form.cart .variations tr {
        margin-bottom: 8px;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px;
    }
    .woocommerce div.product form.cart .variations td {
        padding: 0 !important;
        border: none !important;
    }
    .woocommerce div.product form.cart .variations td.label {
        padding-bottom: 4px !important;
    }
    .woocommerce div.product form.cart .variations td.value {
        width: 100% !important;
    }

    /* "Formato" label above swatches: clean uppercase muted */
    .woocommerce div.product form.cart .variations .label label,
    .qtyinfobox_variationtitle {
        font-size: 12px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        color: var(--pdp-muted-dark, #45536a) !important;
        margin-bottom: 6px;
        font-family: var(--pdp-font) !important;
    }
    .woocommerce div.product form.cart .variations select {
        width: 100% !important;
        padding: 12px 14px;
        font-size: 14px;
        border: 2px solid var(--pdp-border, #e2e8f0);
        border-radius: var(--pdp-radius-sm, 12px);
        background: #fff;
        font-family: var(--pdp-font);
    }

    /* Hide verbose variation description on mobile */
    .woocommerce-variation-description {
        display: none !important;
    }
    /* Variation info text (product name repeat) — hide */
    .woocommerce-variation .single_variation .woocommerce-variation-description,
    .woocommerce-variation p:first-child {
        display: none;
    }

    /* Sale badge smaller on mobile */
    .alandog-pdp-sale-badge {
        top: 10px;
        left: 10px;
        font-size: 12px;
        padding: 4px 10px;
    }



    /* Trust badges and points: handled earlier in this media query block
       (see "TRUST BADGES: 1-column stacked cards on mobile" section) */

    /* ---- Subscription toggle: full-width card on mobile ---- */
    /* JS wraps both ULs in .alandog-sub-container — same as desktop */
    .alandog-sub-container {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex-direction: column;
        gap: 8px;
        width: 100% !important;
        background: #f1f5f9;
        border-radius: 14px;
        padding: 4px;
        margin: 8px 0 12px;
        box-sizing: border-box;
    }
    .alandog-sub-container:empty {
        display: none !important;
    }
    /* Individual ULs inside container: transparent, no spacing */
    .alandog-sub-container > .wcsatt-options-cart {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: none;
        border-radius: 0;
    }
    /* Fallback: bare ULs not yet wrapped */
    .wcsatt-options-cart:not(.alandog-sub-container .wcsatt-options-cart) {
        list-style: none !important;
        margin: 8px 0 !important;
        background: #f1f5f9;
        border-radius: 14px;
        padding: 4px !important;
    }
    /* FIX-UI-200: compact subscription options on mobile (GAP 13) */
    .wcsatt-options-cart > li {
        padding: 10px 12px !important;
        margin-bottom: 0 !important;
        border: 1px solid var(--pdp-border, #e2e8f0) !important;
        border-radius: 10px !important;
        background: #fff;
        transition: background 0.2s, box-shadow 0.2s, border-color 0.2s;
    }
    /* Subscription option (L'Acquisto Furbo): blue bg when selected */
    .wcsatt-options-cart > li:has(input:checked),
    .wcsatt-options-cart > li.selected {
        background: var(--pdp-primary) !important;
        border-color: var(--pdp-primary) !important;
        box-shadow: 0 2px 8px rgba(18,156,237,.25);
    }
    /* Single purchase option (Acquisto Singolo): white bg, dark text */
    .wcsatt-options-cart > li:not(:has(input:checked)):not(.selected) {
        background: #fff !important;
        border-color: var(--pdp-border, #e2e8f0) !important;
    }
    .wcsatt-options-cart > li:not(:has(input:checked)):not(.selected),
    .wcsatt-options-cart > li:not(:has(input:checked)):not(.selected) * {
        color: var(--pdp-text, #1e293b) !important;
    }
    .wcsatt-options-cart > li:has(input:checked),
    .wcsatt-options-cart > li:has(input:checked) *,
    .wcsatt-options-cart > li:has(input:checked) label,
    .wcsatt-options-cart > li:has(input:checked) span,
    .wcsatt-options-cart > li:has(input:checked) div,
    .wcsatt-options-cart > li:has(input:checked) strong {
        color: #fff !important;
    }
    .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle {
        color: #eaf2f7 !important;
    }
    .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle strong {
        color: #fff !important;
    }
    .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge {
        background: rgba(255,255,255,.2) !important;
        color: #fff !important;
    }
    /* "Consigliato" badge on unselected subscription option */
    .wcsatt-options-cart > li:not(:has(input:checked)) .alandog-sub-badge {
        background: #dcfce7 !important;
        color: #0c5a2a !important;
    }
    /* C2-1 FIX: .is-checked mobile fallback (Firefox <121, Samsung Internet) */
    .wcsatt-options-cart > li.is-checked {
        background: var(--pdp-primary) !important;
        border-color: var(--pdp-primary) !important;
        box-shadow: 0 2px 8px rgba(18,156,237,.25);
    }
    .wcsatt-options-cart > li:not(.is-checked):not(.selected) {
        background: #fff !important;
        border-color: var(--pdp-border, #e2e8f0) !important;
    }
    .wcsatt-options-cart > li:not(.is-checked):not(.selected),
    .wcsatt-options-cart > li:not(.is-checked):not(.selected) * {
        color: var(--pdp-text, #1e293b) !important;
    }
    .wcsatt-options-cart > li.is-checked,
    .wcsatt-options-cart > li.is-checked *,
    .wcsatt-options-cart > li.is-checked label,
    .wcsatt-options-cart > li.is-checked span,
    .wcsatt-options-cart > li.is-checked div,
    .wcsatt-options-cart > li.is-checked strong {
        color: #fff !important;
    }
    .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle {
        color: #eaf2f7 !important;
    }
    .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle strong {
        color: #fff !important;
    }
    .wcsatt-options-cart > li.is-checked .alandog-sub-badge {
        background: rgba(255,255,255,.2) !important;
        color: #fff !important;
    }
    .wcsatt-options-cart > li:not(.is-checked) .alandog-sub-badge {
        background: #dcfce7 !important;
        color: #0c5a2a !important;
    }

    .wcsatt-options-cart input[type="radio"] {
        display: none !important;
    }
    .wcsatt-options-cart > li > label {
        font-size: 14px;
        font-weight: 800;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        gap: 2px;
        font-family: var(--pdp-font);
    }
    .wcsatt-options-cart > li > label img {
        display: none !important;
    }
    /* Hide embedded price/benefits — JS rebuilds labels */
    .wcsatt-options-cart > li > div[style*="margin-left"] {
        display: none !important;
    }
    ul.acquisto_periodico_reason {
        display: none !important;
    }
    .wcsatt-options-cart > li > div > span[style*="font-size:1.2rem"] {
        display: none !important;
    }
    /* .acq_periodico_label: DO NOT hide entirely — initSubscriptionLabels()
       replaces the original content with clean title/badge inside this label.
       Only hide the original image inside it. */
    .acq_periodico_label img,
    .acq_periodico_label br {
        display: none !important;
    }
    /* Custom subtitle labels (from JS initSubscriptionLabels) — segmented bar */
    .wcsatt-options-cart .alandog-sub-title {
        font-weight: 800;
        font-size: 14px;
        line-height: 1.2;
    }
    .wcsatt-options-cart .alandog-sub-subtitle {
        display: block;
        width: 100%;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.5;
        margin-top: 2px;
        padding-left: 0;
    }
    .wcsatt-options-cart .alandog-sub-discount {
        display: none;
    }
    .wcsatt-options-cart .alandog-sub-badge {
        display: inline-block;
        font-size: 10px;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 20px;
        white-space: nowrap;
    }

    /* UX GAP FIX: ATC inline trust badges styling on mobile */
    .alandog-pdp-atc-trust {
        display: flex !important;
        justify-content: center !important;
        gap: 12px !important;
        margin-top: 8px !important;
        padding: 6px 0 !important;
    }
    .alandog-pdp-atc-trust__item {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #035d43 !important;
        white-space: nowrap !important;
    }
    .alandog-pdp-atc-trust__item svg {
        flex-shrink: 0 !important;
    }

    /* ---- FIX-PDP-GAP13: Gallery swipe dots indicator (mobile) ---- */
    /* FlexSlider nav dots — show pagination below thumbnails */
    .woocommerce div.product .flex-control-paging {
        display: flex !important;
        justify-content: center;
        gap: 6px;
        margin-top: 8px;
        padding: 0;
        list-style: none;
    }
    .woocommerce div.product .flex-control-paging li {
        margin: 0;
    }
    .woocommerce div.product .flex-control-paging li a {
        display: block;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #d1d5db;
        text-indent: -9999px;
        border: none;
        cursor: pointer;
        transition: background 0.2s, transform 0.2s;
    }
    .woocommerce div.product .flex-control-paging li a.flex-active,
    .woocommerce div.product .flex-control-paging li a:hover {
        background: var(--pdp-primary, #065282);
        transform: scale(1.2);
    }

    /* ---- FIX-PDP-GAP13: Cutoff countdown compact on mobile ---- */
    .alandog-cutoff-countdown {
        font-size: 13px;
        padding: 8px 12px;
        margin: 8px 0;
        border-radius: 8px;
    }

    /* ---- FIX-PDP-GAP13: Review nudge compact on mobile ---- */
    .alandog-review-nudge {
        padding: 8px 12px;
        margin: 8px 0;
    }
    .alandog-review-nudge-quote {
        font-size: 12px;
    }

    /* ---- FIX-PDP-GAP13: Quick-add suggestion compact on mobile ---- */
    .alandog-quick-add {
        margin: 8px 0;
        padding: 8px 12px;
    }

}


/* ============================================================
   U) RESPONSIVE — SMALL MOBILE (max-width: 480px)
   ============================================================ */
@media (max-width: 480px) {
    .alandog-pdp-rating-row {
        font-size: 13px;
        gap: 4px;
    }

    .alandog-pdp-sticky-atc__btn {
        padding: 10px 18px;
        font-size: 14px;
    }

    /* FIX-PDP-GAP13: Tighter gallery on small screens */
    .woocommerce div.product .flex-control-thumbs li {
        flex: 0 0 50px;
        width: 50px !important;
        height: 50px !important;
    }

    /* Compact variant cards */
    .woocommerce div.product .tawcvs-swatches .swatch,
    .woocommerce div.product .tawcvs-swatches .swatch.swatch-label {
        padding: 8px 12px !important;
        min-height: 40px !important;
    }
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_quantita {
        font-size: 13px !important;
    }
    .woocommerce div.product .tawcvs-swatches .swatch .qtyinfobox_price {
        font-size: 14px !important;
    }
}


/* ============================================================
   V) MARTFURY RESIDUAL OVERRIDES
   ============================================================ */
/* Product detail page layout overrides */
.single-product .mf-product-detail {
    padding: 0;
    margin: 0;
}
.single-product .mf-product-summary {
    background: none;
}
/* Variation add to cart spacing */
.woocommerce div.product .woocommerce-variation-add-to-cart {
    margin-top: 12px;
}
/* Martfury product-detail-page inside variations form */
.single-product .product-detail-page {
    padding: 0;
}
/* Font inheritance — use theme fonts (Nunito Sans + Inter) over Martfury defaults */
.single-product .entry-summary,
.single-product .entry-summary *,
.single-product .woocommerce-product-details__short-description,
.single-product form.cart label,
.single-product form.cart .button,
.single-product .alandog-pdp-buy-panel,
.single-product .alandog-pdp-buy-panel *,
.single-product .mf-product-summary,
.single-product .mf-product-summary * {
    font-family: var(--pdp-font);
}
.single-product .entry-summary h1,
.single-product .entry-summary h2,
.single-product .entry-summary h3 {
    font-family: var(--pdp-font);
}
/* Remove Martfury's default product title styles */
.woocommerce div.product .product_title {
    display: none;
}
/* Override Martfury share/wishlist spacing */
.single-product .product-extra-link-2 {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--pdp-border);
}
/* Martfury tab content override (already replaced by sections) */
.woocommerce-tabs.wc-tabs-wrapper {
    display: none !important;
}


/* ============================================================
   W) HORIZONTAL OVERFLOW FIX
   ============================================================ */
/* Fix 0: Page-level overflow containment */
.single-product {
    overflow-x: hidden !important;
}

/* Fix 1: Header extras menu overflows viewport.
   Use targeted clip on the extras menu only — NOT on the whole header wrapper,
   because overflow:hidden on .header-main-wapper clips dropdown menus (language, Supporto). */
.header-extras .extras-menu {
    max-width: 100%;
    overflow: hidden;
}

/* Fix 2: Mini-cart drawer extends body scrollWidth when closed */
#alandog-minicart-drawer {
    right: 0 !important;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}
#alandog-minicart-drawer.open {
    transform: translateX(0);
}

/* Fix 3: FlexSlider track extends beyond gallery */
.woocommerce div.product .woocommerce-product-gallery {
    overflow: hidden;
}

/* Fix 4: Related products slick track overflow (mobile) */
.related .slick-list,
.up-sells .slick-list {
    overflow: hidden !important;
}

/* ============================================================
   FIX D-1: Hide broken first thumbnail (empty src placeholder)
   ============================================================ */
.woocommerce div.product .flex-control-thumbs li:first-child img[src=""],
.woocommerce div.product .flex-control-thumbs li img:not([src]),
.woocommerce div.product .flex-control-thumbs li img[src=""] {
    display: none;
}

/* ============================================================
   FIX D-2: Fix section nav invisible when sticky
   contain:layout on .mf-product-detail creates a containing block
   that traps position:fixed descendants. Override it on the
   3-col layout where the nav lives inside.
   ============================================================ */
.mf-product-detail.alandog-3col {
    contain: style !important;
}

/* ============================================================
   FIX D-3: Hide duplicate content titles in below-fold sections
   Each section has .alandog-pdp-section__title AND a WC-generated
   h2 inside __content that duplicates it.
   ============================================================ */
.alandog-pdp-section__content > h2:first-child {
    display: none;
}

/* FIX-UI-77: Customer Reviews upvote count — #18b394 on white = 2.65:1, need 4.5:1 */
.cr-voting-cont-uni span.cr-voting-upvote-count {
    color: #0d8571 !important; /* 4.71:1 on white, same teal hue */
}

/* FIX-UI-112: Hide duplicate review count on PDP (same pattern as FIX-UI-102 for homepage) */
.alandog-pdp-rating-row .alandog-pdp-rating-row__count {
    display: none;
}

/* FIX-UI-108: Low-stock urgency signal near ATC button */
.alandog-pdp-stock-urgency {
    font-size: 13px;
    font-weight: 600;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 6px;
    padding: 8px 12px;
    margin: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.alandog-pdp-stock-urgency__icon {
    font-size: 15px;
}
.alandog-pdp-stock-social {
    font-size: 13px;
    font-weight: 500;
    color: #065f46; /* #047857 was 5.2:1 — #065f46 = 7.14:1 on #ecfdf5, WCAG AAA */
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 6px;
    padding: 8px 12px;
    margin: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 4px;
}
.alandog-pdp-stock-social__icon {
    font-size: 15px;
}

/* FIX-UI-113: PDP mobile qty buttons — increase to 44px min (WCAG 2.5.8)
   On mobile, form.cart is inline (no .alandog-pdp-buy-panel wrapper) */
@media screen and (max-width: 767px) {
    .woocommerce div.product form.cart .qty-box .decrease,
    .woocommerce div.product form.cart .qty-box .increase {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 44px !important;
        width: 44px !important;
        min-height: 44px !important;
        font-size: 18px !important;
        cursor: pointer;
    }
    .woocommerce div.product form.cart .qty-box {
        height: 48px !important;
    }
}

/* FIX-UI-155+191: Hide WPC Sticky ATC plugin bar on ALL viewports — conflicts with custom sticky.
   Was min-width:768px only, causing 302px WPC bar to show on mobile behind custom ATC (z:9998).
   Root cause of recurring "text bleeding behind SPEDIZIONE GRATUITA button" bug. */
#wpcsb-bar,
.wpcsb-bar,
.wpcsa-bar,
[id^="wpcsb"],
[class*="wpcsb-"],
[class*="wpcsa-"] {
    display: none !important;
}

/* FIX-UI-155: Fix trust signals overlap in buy panel */
.alandog-pdp-atc-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
    clear: both;
}
.alandog-pdp-atc-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #035d43;
    font-weight: 500;
    white-space: nowrap;
}

/* Fix shipping bar overlap with trust signals */
.alandog-pdp-shipping-bar {
    clear: both;
    margin-top: 12px;
}
.alandog-pdp-delivery {
    clear: both;
    margin-top: 8px;
}

/* C2 FIX: Removed duplicate buy-panel rule that set gap:0 (overrode gap:16px from line 492).
   The gap:16px is the correct design intent — individual margins are unnecessary with flex gap. */
.alandog-pdp-buy-panel > * {
    position: relative;
    z-index: 1;
}

/* ============================================================
   FIX-UI-157: Hide DUPLICATE elements inside form when in buy panel.
   
   The buy panel template directly calls delivery_box(), payment_icons(),
   trust_badges(), etc. These same functions also hook into
   woocommerce_after_add_to_cart_form, rendering INSIDE the form.
   When JS moves the form into the buy panel, both copies show.
   
   Solution: Hide the hook-based copies INSIDE the form slot,
   keeping only the template-direct copies as buy panel children.
   ============================================================ */
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-delivery,
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-shipping-bar,
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-payment-icons,
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-trust,
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-points,
.alandog-pdp-buy-panel .alandog-bp-form-slot .stock-urgency {
    display: none;
}

/* Also hide the FIX-UI-118 trust strip inside the form — 
   it duplicates the buy panel's own trust badges section */
.alandog-pdp-buy-panel .alandog-bp-form-slot .alandog-pdp-atc-trust {
    display: none;
}

/* Ensure the DIRECT buy panel children have proper spacing */
.alandog-pdp-buy-panel > .alandog-pdp-delivery {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
}
.alandog-pdp-buy-panel > .alandog-pdp-payment-icons {
    margin-top: 8px;
}
.alandog-pdp-buy-panel > .alandog-pdp-trust {
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════════════
   CONVERSION EXPERIENCE UPGRADES — PDP — 2026-03-22
   ═══════════════════════════════════════════════════════════════════ */

/* ── Frequently Bought Together ───────────────────────────────── */
.alandog-fbt-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 24px;
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
}
.alandog-fbt-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 20px;
    color: #1a1a1a;
}
.alandog-fbt-grid {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}
.alandog-fbt-item {
    flex: 0 0 160px;
    text-align: center;
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    border: 1px solid #e5e7eb;
    transition: box-shadow 0.2s;
    overflow: hidden; /* FIX-UI-191: prevent cpb-badge and subscription labels from overflowing */
    position: relative;
}

/* FIX-UI-191+192: Hide subscription labels + CPB badges inside FBT AND quick-add items.
   FBT uses .alandog-fbt-item, quick-add uses .alandog-quick-add-item — neither matches
   the ul.products hide rule. CPB plugin injects badges via get_image() filter with
   position:absolute inline — must be hidden entirely in these compact contexts. */
.alandog-fbt-item .acquisto-periodico-label,
.alandog-fbt-item .grey-text-bold,
.alandog-quick-add-item .acquisto-periodico-label,
.alandog-quick-add-item .grey-text-bold,
.alandog-quick-add .acquisto-periodico-label,
.alandog-quick-add .grey-text-bold {
    display: none !important;
}
.alandog-fbt-item .cpb-badge,
.alandog-fbt-item .cpbw-product-badge-wrapper,
.alandog-quick-add-item .cpb-badge,
.alandog-quick-add-item .cpbw-product-badge-wrapper,
.alandog-quick-add .cpb-badge,
.alandog-quick-add .cpbw-product-badge-wrapper {
    display: none !important;
}
.alandog-fbt-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.alandog-fbt-current {
    border-color: #2D6A4F;
    background: #f0fdf4;
}
.alandog-fbt-item img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    margin-bottom: 8px;
}
.alandog-fbt-checkbox {
    cursor: pointer;
    position: relative;
}
.alandog-fbt-checkbox input[type=checkbox] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 24px; /* FIX-UI-169: WCAG 2.5.8 target-size min 24px */
    height: 24px;
    accent-color: #2D6A4F;
}
.alandog-fbt-name {
    display: block;
    font-size: 12px;
    color: #374151;
    line-height: 1.3;
    margin-bottom: 4px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* FIX-UI-169: link-in-text-block — links need underline for distinction */
a.alandog-fbt-name {
    color: #064d78; /* AAA 8.2:1 on white */
    text-decoration: underline;
    text-underline-offset: 2px;
}
a.alandog-fbt-name:hover {
    color: #043b5e;
}
.alandog-fbt-price {
    font-size: 14px;
    font-weight: 600;
    color: #E76F51;
}
/* FIX-UI-169: AAA contrast for acquisto-periodico inside FBT */
.alandog-fbt-price .grey-text-bold,
.alandog-fbt-price .acquisto-periodico-label,
.acquisto-periodico-label .grey-text-bold {
    color: #064d78 !important; /* 8.5:1 on #eff6ff — !important to override inline style */
}
/* FIX-UI-169+192: CPB badges in FBT/quick-add are now display:none (above).
   Keeping contrast override in case display:none is ever removed. */
.alandog-fbt-item .cpb-badge,
.alandog-quick-add-item .cpb-badge {
    background-color: #1e5038 !important;
}
.alandog-fbt-plus {
    font-size: 24px;
    font-weight: 300;
    color: #9ca3af;
}
.alandog-fbt-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    font-size: 16px;
}
.alandog-fbt-add-all {
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
}
@media (max-width: 767px) {
    .alandog-fbt-grid { gap: 8px; }
    .alandog-fbt-item { flex: 0 0 120px; padding: 8px; }
    .alandog-fbt-item img { width: 70px; height: 70px; }
    .alandog-fbt-total { flex-direction: column; gap: 12px; text-align: center; }
    .alandog-fbt-add-all { width: 100%; }
}

/* ── Cutoff Countdown ─────────────────────────────────────────── */
.alandog-cutoff-countdown {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border-radius: 8px;
    margin: 12px 0;
    font-size: 14px;
    color: #92400e;
}
.alandog-cutoff-icon {
    font-size: 18px;
}
.alandog-cutoff-countdown strong {
    color: #b91c1c;
    font-variant-numeric: tabular-nums;
}

/* ── Gallery Image Counter (Mobile) ──────────────────────────── */
.alandog-gallery-counter {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    z-index: 10;
    pointer-events: none;
}

/* ── Review Snippet near ATC ──────────────────────────────────── */
.alandog-review-nudge {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    background: #f0fdf4;
    border-left: 3px solid #2D6A4F;
    border-radius: 0 8px 8px 0;
    margin: 12px 0;
}
.alandog-review-nudge-stars {
    flex-shrink: 0;
}
.alandog-review-nudge-quote {
    margin: 0;
    font-size: 13px;
    font-style: italic;
    color: #374151;
    line-height: 1.4;
}

/* ── Quick-Add Suggestion — DISABLED (breaks buy panel ATC zone) ── */
/* PHP hook removed in pdp-conversion-upgrades.php. CSS hide as safety net. */
.alandog-quick-add {
    display: none !important;
}
.alandog-quick-add--legacy {
    margin-top: 14px;
    padding: 10px 14px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px dashed #d1d5db;
}
.alandog-quick-add-label {
    font-size: 12px;
    color: #4b5563; /* FIX-UI-169: AAA 7.1:1 on #f9fafb (was #6b7280 = 4.62:1) */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.alandog-quick-add-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    overflow: hidden; /* FIX-UI-192: contain cpb-badge absolute positioning */
    position: relative;
}
.alandog-quick-add-item img {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
}
.alandog-quick-add-info {
    flex: 1;
    min-width: 0;
}
.alandog-quick-add-name {
    display: block;
    font-size: 13px;
    color: #374151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.alandog-quick-add-price {
    font-size: 13px;
    font-weight: 600;
    color: #E76F51;
}
.alandog-quick-add-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #2D6A4F;
    background: #fff;
    color: #2D6A4F;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}
.alandog-quick-add-btn:hover {
    background: #2D6A4F;
    color: #fff;
}

/* FIX-UI-188: CustRev Q&A button AAA contrast — white on #28704C = 5.98:1, need 7:1 */
.cr-qna-block .cr-qna-search-block .cr-qna-ask-button.cr-qna-ask-button {
    background-color: #1e5038 !important; /* !important: overrides plugin inline !important */ /* AAA: 9.29:1 */
    background: #1e5038 !important;
}


/* ============================================================
   FIX-UI-198: Desktop Sticky ATC Bar (UX Gap 6)
   Compact bar at top when user scrolls past buy panel.
   Hidden by default; JS adds .is-visible when triggered.
   Desktop only — mobile has its own sticky footer bar.
   ============================================================ */
.alandog-desktop-sticky-atc {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    border-bottom: 1px solid var(--pdp-border, #e2e8f0);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    pointer-events: none;
}
.alandog-desktop-sticky-atc.is-visible {
    transform: translateY(0);
    pointer-events: auto;
}
.alandog-desktop-sticky-atc__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.alandog-desktop-sticky-atc__thumb {
    flex-shrink: 0;
}
.alandog-desktop-sticky-atc__thumb img {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    object-fit: contain;
    border: 1px solid var(--pdp-border, #e2e8f0);
}
.alandog-desktop-sticky-atc__info {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.alandog-desktop-sticky-atc__name {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.alandog-desktop-sticky-atc__price {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
}
.alandog-desktop-sticky-atc__price del {
    font-size: 13px;
    font-weight: 400;
    color: var(--pdp-muted, #45536a);
}
.alandog-desktop-sticky-atc__price ins {
    text-decoration: none;
}
.alandog-desktop-sticky-atc__btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: var(--pdp-primary, #065282);
    color: #fff;
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    box-shadow: 0 2px 8px rgba(6, 82, 130, 0.25);
    white-space: nowrap;
}
.alandog-desktop-sticky-atc__btn:hover {
    background: var(--pdp-cta-hover, #075694);
    transform: translateY(-1px);
}
/* Hide on mobile — mobile has its own sticky footer */
@media (max-width: 767px) {
    .alandog-desktop-sticky-atc {
        display: none !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════
   UX GAP 8 — REVIEW SORT + STAR FILTER
   ═══════════════════════════════════════════════════════════════════ */
.alandog-review-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding: 12px 16px;
    background: #f8fafc;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}
.alandog-review-sort {
    display: flex;
    align-items: center;
    gap: 8px;
}
.alandog-review-sort__label {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--pdp-muted, #45536a);
    white-space: nowrap;
}
.alandog-review-sort__select {
    font-family: var(--pdp-font-body, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 500;
    color: var(--pdp-text, #1e293b);
    padding: 6px 28px 6px 10px;
    border: 1px solid var(--pdp-border, #e2e8f0);
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2345536a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.2s;
    min-height: 36px;
}
.alandog-review-sort__select:focus {
    border-color: var(--pdp-primary, #065282);
    outline: 2px solid rgba(6,82,130,0.2);
    outline-offset: 1px;
}
.alandog-review-filter {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.alandog-review-filter__label {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 13px;
    font-weight: 600;
    color: var(--pdp-muted, #45536a);
    margin-right: 2px;
}
.alandog-review-filter__btn {
    font-family: var(--pdp-font-body, 'Inter', sans-serif);
    font-size: 12px;
    font-weight: 600;
    color: var(--pdp-muted, #45536a);
    padding: 5px 12px;
    border: 1px solid var(--pdp-border, #e2e8f0);
    border-radius: 20px;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s;
    min-height: 30px;
    white-space: nowrap;
}
.alandog-review-filter__btn:hover {
    border-color: var(--pdp-primary-light, #93c5fd);
    color: var(--pdp-primary, #065282);
}
.alandog-review-filter__btn.is-active {
    background: var(--pdp-primary, #065282);
    color: #fff;
    border-color: var(--pdp-primary, #065282);
}
/* Make bar chart rows clickable */
.alandog-pdp-reviews-bar {
    transition: opacity 0.15s;
}
.alandog-pdp-reviews-bar:hover {
    opacity: 0.8;
}
@media (max-width: 767px) {
    .alandog-review-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 10px 12px;
    }
    .alandog-review-filter {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 4px;
    }
    .alandog-review-filter::-webkit-scrollbar { display: none; }
    .alandog-review-filter__btn { flex-shrink: 0; }
}


/* ═══════════════════════════════════════════════════════════════════
   UX GAP 10 — STRUCTURED NUTRITIONAL INFO
   Renders Analisi Garantita, Ingredienti, Guida all'Alimentazione
   sections when custom fields are populated.
   ═══════════════════════════════════════════════════════════════════ */
.alandog-nutrition-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 0;
}
.alandog-nutrition-section .alandog-pdp-section__title {
    font-family: var(--pdp-font-heading, 'Nunito Sans', sans-serif);
    font-size: 22px;
    font-weight: 800;
    color: var(--pdp-text, #1e293b);
    margin: 0 0 20px;
}
.alandog-nutrition-block {
    margin-bottom: 20px;
    padding: 18px 22px;
    background: #f8fafc;
    border: 1px solid var(--pdp-border, #e2e8f0);
    border-radius: var(--pdp-radius-sm, 12px);
}
.alandog-nutrition-block__title {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 15px;
    font-weight: 700;
    color: var(--pdp-primary, #065282);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--pdp-border, #e2e8f0);
}
.alandog-nutrition-block__content {
    font-family: var(--pdp-font-body, 'Inter', sans-serif);
    font-size: 14px;
    line-height: 1.7;
    color: var(--pdp-muted-dark, #45536a);
}
.alandog-nutrition-block__content p {
    margin: 0 0 8px;
}
.alandog-nutrition-block__content p:last-child {
    margin-bottom: 0;
}
.alandog-nutrition-block__content table {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0;
}
.alandog-nutrition-block__content table th,
.alandog-nutrition-block__content table td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid var(--pdp-border, #e2e8f0);
    font-size: 13px;
}
.alandog-nutrition-block__content table th {
    font-weight: 700;
    color: var(--pdp-text, #1e293b);
    background: #f1f5f9;
}
@media (max-width: 767px) {
    .alandog-nutrition-section {
        padding: 24px 16px;
    }
    .alandog-nutrition-block {
        padding: 14px 16px;
    }
    .alandog-nutrition-block__title {
        font-size: 14px;
    }
    .alandog-nutrition-block__content {
        font-size: 13px;
    }
    .alandog-nutrition-block__content table th,
    .alandog-nutrition-block__content table td {
        padding: 6px 8px;
        font-size: 12px;
    }
}


/* ═══════════════════════════════════════════════════════════════════
   UX GAP 8.5 — REVIEW HELPFULNESS VOTING
   ═══════════════════════════════════════════════════════════════════ */
.alandog-review-helpful {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--pdp-border, #e2e8f0);
}
.alandog-review-helpful__label {
    font-family: var(--pdp-font-body, 'Inter', sans-serif);
    font-size: 12px;
    color: var(--pdp-muted, #45536a);
    font-weight: 500;
}
.alandog-review-helpful__btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border: 1px solid var(--pdp-border, #e2e8f0);
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    font-size: 12px;
    color: var(--pdp-muted, #45536a);
    transition: all 0.2s;
    min-height: 28px;
}
.alandog-review-helpful__btn:hover {
    border-color: var(--pdp-primary-light, #93c5fd);
    color: var(--pdp-primary, #065282);
}
.alandog-review-helpful__btn.is-voted {
    background: var(--pdp-primary-bg, #eff6ff);
    border-color: var(--pdp-primary, #065282);
    color: var(--pdp-primary, #065282);
}
.alandog-review-helpful__btn svg {
    flex-shrink: 0;
}
.alandog-review-helpful__count {
    font-weight: 600;
    font-size: 11px;
    min-width: 8px;
}
.alandog-review-helpful.voted .alandog-review-helpful__btn:not(.is-voted) {
    opacity: 0.4;
    pointer-events: none;
}


/* ═══════════════════════════════════════════════════════════════════
   UX GAP 9 — Q&A EMPTY STATE
   ═══════════════════════════════════════════════════════════════════ */
.alandog-qa-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 0;
}
.alandog-qa-empty {
    text-align: center;
    padding: 32px 20px;
    background: #f8fafc;
    border: 1px dashed var(--pdp-border, #e2e8f0);
    border-radius: 12px;
}
.alandog-qa-empty__text {
    font-family: var(--pdp-font, 'Nunito Sans', sans-serif);
    font-size: 15px;
    color: var(--pdp-muted, #45536a);
    margin: 0 0 12px;
}
.alandog-qa-empty__cta {
    font-size: 14px;
    color: var(--pdp-text, #1e293b);
    margin: 0;
}
.alandog-qa-empty__link {
    color: var(--pdp-primary, #065282);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.alandog-qa-empty__link:hover {
    color: var(--pdp-cta-hover, #075694);
}
@media (max-width: 767px) {
    .alandog-qa-section {
        padding: 24px 16px;
    }
    .alandog-qa-empty {
        padding: 24px 16px;
    }
}


/* ═══════════════════════════════════════════════════════════════════
   WCAG: FOCUS-VISIBLE STATES
   All interactive PDP elements need visible keyboard focus indicators.
   Uses :focus-visible (only shows on keyboard nav, not mouse clicks).
   ═══════════════════════════════════════════════════════════════════ */
.alandog-radio-card:focus-visible,
.alandog-pdp-variation-pill:focus-visible,
.alandog-pdp-nav__link:focus-visible,
.alandog-pdp-brand__name:focus-visible,
.alandog-pdp-rating-link:focus-visible,
.alandog-review-filter__btn:focus-visible,
.alandog-review-helpful__btn:focus-visible,
.alandog-fbt-add-all:focus-visible,
.alandog-quick-add-btn:focus-visible,
.alandog-desktop-sticky-atc__btn:focus-visible,
.alandog-pdp-sticky-atc__btn:focus-visible,
.alandog-pdp-checkout-btn:focus-visible,
.alandog-qa-empty__link:focus-visible {
    outline: 2px solid var(--pdp-primary, #065282);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Buttons with existing border — use box-shadow instead */
.woocommerce div.product .single_add_to_cart_button:focus-visible,
.woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(6, 82, 130, 0.4) !important;
}

/* FBT checkboxes */
.alandog-fbt-checkbox input[type=checkbox]:focus-visible {
    outline: 2px solid var(--pdp-primary, #065282);
    outline-offset: 1px;
}

/* Review sort select */
.alandog-review-sort__select:focus-visible {
    outline: 2px solid var(--pdp-primary, #065282);
    outline-offset: 1px;
}

/* Star distribution bars (clickable) */
.alandog-pdp-reviews-bar:focus-visible {
    outline: 2px solid var(--pdp-gold, #facc15);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ═══════════════════════════════════════════════════════════════════
   PDP DESIGN SYSTEM CLEANUP
   Remove Express Checkout from PDP and tighten the mid-column rhythm so
   desktop/tablet/mobile stay aligned to the single-CTA product flow.
   ═══════════════════════════════════════════════════════════════════ */
.single-product #ppc-button,
.single-product #ppc-button-ppcp-gateway,
.single-product .ppc-button-wrapper,
.single-product .paypal-buttons,
.single-product #ppcp-messages,
.single-product #ppcp-recaptcha-v2-container,
.single-product .ppcp-button-apm-separator,
.single-product .ppcp-button-apm,
.single-product .ppcp-button-apm-separator-wrapper,
.single-product .first-payment-date:empty,
.single-product .first-payment-date small:empty {
    display: none !important;
}

.single-product .alandog-pdp-stock-urgency__icon,
.single-product .alandog-pdp-stock-social__icon,
.single-product .alandog-pdp-delivery-date__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: -2px;
    margin-right: 6px;
}

.single-product .alandog-pdp-stock-urgency__icon svg,
.single-product .alandog-pdp-stock-social__icon svg,
.single-product .alandog-pdp-delivery-date__icon svg {
    width: 14px;
    height: 14px;
}

.single-product .alandog-review-nudge {
    margin: 10px 0 14px;
    padding: 12px 14px;
    border-radius: 12px;
    border-left-width: 2px;
}

.single-product .alandog-pdp-delivery {
    margin-top: 12px;
}

@media (max-width: 1024px) {
    .single-product .alandog-pdp-buy-panel {
        max-width: 720px !important;
        margin-top: 12px !important;
    }

    .single-product .entry-summary form.variations_form > .alandog-pdp-price,
    .single-product .entry-summary form.cart > .alandog-pdp-price {
        margin-bottom: 12px !important;
        padding: 18px 18px !important;
        border-radius: 16px !important;
    }

    .single-product .entry-summary .wcsatt-options-cart > li {
        padding: 9px 12px !important;
        border-radius: 12px !important;
    }

    .single-product .entry-summary .wcsatt-options-cart .alandog-sub-title {
        font-size: 13px !important;
    }

    .single-product .entry-summary .wcsatt-options-cart .alandog-sub-subtitle {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    .single-product .entry-summary .woocommerce-variation-add-to-cart,
    .single-product .entry-summary .woocommerce div.product .woocommerce-variation-add-to-cart {
        gap: 10px !important;
        margin-top: 10px !important;
    }

    .single-product .entry-summary .alandog-pdp-pay-icons {
        margin: 10px 0 12px !important;
    }

    .single-product .entry-summary .alandog-pdp-delivery,
    .single-product .entry-summary .alandog-review-nudge {
        margin: 10px 0 12px !important;
    }
}

@media (max-width: 767px) {
    .single-product .entry-summary form.variations_form > .alandog-pdp-price .price ins,
    .single-product .entry-summary form.cart > .alandog-pdp-price .price ins,
    .single-product .entry-summary form.variations_form > .alandog-pdp-price .price ins .woocommerce-Price-amount,
    .single-product .entry-summary form.cart > .alandog-pdp-price .price ins .woocommerce-Price-amount,
    .single-product .entry-summary form.variations_form > .alandog-pdp-price .price ins bdi,
    .single-product .entry-summary form.cart > .alandog-pdp-price .price ins bdi {
        font-size: 42px !important;
    }

    .single-product .entry-summary .wcsatt-options-cart > li {
        padding: 8px 12px !important;
    }

    .single-product .entry-summary .alandog-review-nudge {
        padding: 10px 12px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   PDP BUY FLOW REFINEMENT
   Align purchase-mode cards, price card, CTA row and trust blocks to the
   current storefront system without removing product functionality.
   ═══════════════════════════════════════════════════════════════════ */
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
.single-product .entry-summary .wcsatt-options-cart > li {
    background: #ffffff !important;
    border: 1px solid #d8e4ee !important;
    box-shadow: none !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked),
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked),
.single-product .entry-summary .wcsatt-options-cart > li.is-checked {
    background: #eff7ff !important;
    border-color: var(--pdp-primary, #065282) !important;
    box-shadow: 0 0 0 1px rgba(6,82,130,0.08) !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked),
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) *,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked *,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked),
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) *,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked * {
    color: #14324a !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-title,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #14324a !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-subtitle,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-subtitle {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #526274 !important;
    margin-top: 5px !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-badge,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-badge {
    background: #dff6e8 !important;
    color: #13633c !important;
    font-size: 11px !important;
    padding: 3px 10px !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-badge,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-badge {
    background: #dff6e8 !important;
    color: #13633c !important;
}

.single-product .alandog-pdp-buy-panel .alandog-pdp-price,
.single-product .entry-summary form.variations_form > .alandog-pdp-price,
.single-product .entry-summary form.cart > .alandog-pdp-price {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: end !important;
    gap: 8px 12px !important;
    padding: 16px 18px !important;
    margin: 12px 0 14px !important;
    min-height: auto !important;
    background: #f8fbff !important;
    border: 1px solid #dce8f2 !important;
    border-radius: 16px !important;
}

.single-product .alandog-pdp-price__label {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #5b6b7b !important;
    text-align: left !important;
}

.single-product .alandog-pdp-price__amount {
    text-align: left !important;
}

.single-product .alandog-pdp-price__amount .price,
.single-product .alandog-pdp-price__amount .price ins,
.single-product .alandog-pdp-price__amount .price span,
.single-product .alandog-pdp-price__amount .price .woocommerce-Price-amount,
.single-product .alandog-pdp-price__amount .price bdi,
.single-product .alandog-pdp-price__amount .price .woocommerce-Price-currencySymbol {
    font-size: 34px !important;
    line-height: 0.98 !important;
}

.single-product .alandog-pdp-price__tax {
    align-self: end !important;
    justify-self: end !important;
    margin: 0 0 4px !important;
    font-size: 12px !important;
    color: #6b7a8a !important;
}

.single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
.single-product .entry-summary .woocommerce-variation-add-to-cart,
.single-product .entry-summary .woocommerce div.product .woocommerce-variation-add-to-cart {
    gap: 12px !important;
    align-items: stretch !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity,
.single-product .woocommerce div.product form.cart .quantity {
    width: 110px !important;
    flex: 0 0 110px !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box,
.single-product .woocommerce div.product form.cart .quantity .qty-box {
    width: 110px !important;
    height: 56px !important;
    border-radius: 14px !important;
    border: 1px solid #d7e3ee !important;
    background: #ffffff !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .decrease,
.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .increase,
.single-product .woocommerce div.product form.cart .quantity .decrease,
.single-product .woocommerce div.product form.cart .quantity .increase {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 56px !important;
    font-size: 17px !important;
    color: #516172 !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty,
.single-product .woocommerce div.product form.cart .quantity input.qty {
    height: 56px !important;
    width: 42px !important;
    max-width: 42px !important;
    font-size: 16px !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button,
.single-product .woocommerce div.product .alandog-pdp-buy-panel form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    min-height: 56px !important;
    height: 56px !important;
    border-radius: 14px !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    box-shadow: 0 8px 18px rgba(6,82,130,0.14) !important;
}

.single-product .alandog-pdp-stock-urgency,
.single-product .alandog-pdp-stock-social {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 8px 0 12px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid #bfe7cb !important;
    background: #effcf4 !important;
    color: #12633d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-align: center !important;
    width: 100% !important;
}

.single-product .alandog-pdp-delivery {
    background: #ffffff !important;
    border: 1px solid #dce8f2 !important;
    border-radius: 16px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.single-product .alandog-pdp-buy-panel .alandog-pdp-delivery {
    border-style: solid !important;
    margin-top: 8px !important;
    padding-top: 16px !important;
    border-top: 0 !important;
}

.single-product .alandog-pdp-delivery__row {
    gap: 10px !important;
    align-items: flex-start !important;
}

.single-product .alandog-pdp-delivery__urgency {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 auto !important;
    padding: 9px 12px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #fff7cc, #fde68a) !important;
    color: #8a4b08 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.14) !important;
    max-width: 100% !important;
}

.single-product .alandog-pdp-delivery__urgency svg {
    color: #b45309 !important;
    flex: 0 0 auto !important;
}

.single-product .alandog-pdp-delivery__urgency-text {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 3px !important;
}

.single-product .alandog-pdp-delivery__urgency-text strong {
    color: #9f1239 !important;
    font-variant-numeric: tabular-nums !important;
}

.single-product .alandog-pdp-pay-icons {
    margin: 10px 0 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid #e4edf5 !important;
    text-align: center !important;
}

.single-product .alandog-pdp-pay-icons__label {
    font-size: 11px !important;
    color: #6a7888 !important;
    margin-bottom: 7px !important;
    text-align: center !important;
}

.single-product .alandog-pdp-pay-icons__row {
    gap: 8px !important;
    justify-content: center !important;
}

.single-product .alandog-pdp-pay-icon {
    opacity: 1 !important;
}

.single-product .alandog-pdp-trust {
    margin-top: 10px !important;
    padding-top: 10px !important;
}

.single-product .alandog-trust-simple,
.single-product .alandog-pdp-buy-panel .alandog-trust-simple {
    font-size: 12px !important;
    color: #617182 !important;
}

@media (max-width: 1024px) {
    .single-product .mf-product-detail.alandog-3col {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .single-product .mf-product-detail.alandog-3col > .woocommerce-product-gallery,
    .single-product .mf-product-detail.alandog-3col > .summary.entry-summary,
    .single-product .mf-product-detail.alandog-3col > .alandog-pdp-buy-panel,
    .single-product .mf-product-detail.alandog-3col > .mf-product-summary {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product .mf-product-detail.alandog-3col > .alandog-pdp-buy-panel {
        margin-top: 0 !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
    .single-product .entry-summary .wcsatt-options-cart > li {
        padding: 10px 12px !important;
    }

    .single-product .alandog-pdp-price__amount .price,
    .single-product .alandog-pdp-price__amount .price ins,
    .single-product .alandog-pdp-price__amount .price span,
    .single-product .alandog-pdp-price__amount .price .woocommerce-Price-amount,
    .single-product .alandog-pdp-price__amount .price bdi,
    .single-product .alandog-pdp-price__amount .price .woocommerce-Price-currencySymbol {
        font-size: 30px !important;
    }
}

@media (max-width: 767px) {
    .single-product .entry-summary form.variations_form > .alandog-pdp-price,
    .single-product .entry-summary form.cart > .alandog-pdp-price {
        gap: 6px 10px !important;
        padding: 14px 16px !important;
        margin: 10px 0 12px !important;
    }

    .single-product .alandog-pdp-price__label {
        font-size: 11px !important;
    }

    .single-product .alandog-pdp-price__amount .price,
    .single-product .alandog-pdp-price__amount .price ins,
    .single-product .alandog-pdp-price__amount .price span,
    .single-product .alandog-pdp-price__amount .price .woocommerce-Price-amount,
    .single-product .alandog-pdp-price__amount .price bdi,
    .single-product .alandog-pdp-price__amount .price .woocommerce-Price-currencySymbol {
        font-size: 26px !important;
    }

    .single-product .woocommerce div.product form.cart .quantity,
    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity {
        width: 94px !important;
        flex-basis: 94px !important;
    }

    .single-product .woocommerce div.product form.cart .quantity .qty-box,
    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box {
        width: 94px !important;
        height: 48px !important;
    }

    .single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
    .single-product .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        min-height: 48px !important;
        font-size: 15px !important;
        padding: 12px 16px !important;
    }

    .single-product .alandog-pdp-pay-icons__row {
        justify-content: flex-start !important;
    }

    .single-product .alandog-pdp-pay-icon svg,
    .single-product .alandog-pdp-pay-icon img {
        height: 20px !important;
    }

    .single-product .alandog-pdp-stock-urgency,
    .single-product .alandog-pdp-stock-social,
    .single-product .alandog-pdp-delivery {
        margin: 8px 0 10px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   PDP BUY PANEL POLISH — PASS 3
   Clean selected state, align cards to the system, and simplify the
   conversion stack without removing any available action.
   ═══════════════════════════════════════════════════════════════════ */
.single-product .alandog-pdp-buy-panel {
    gap: 12px !important;
}

.single-product .alandog-sub-stack,
.single-product .entry-summary .alandog-sub-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    position: relative !important;
    margin-bottom: 2px !important;
    padding: 6px !important;
    border: 1px solid #e3edf6 !important;
    border-radius: 20px !important;
    background: #f8fbff !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart,
.single-product .entry-summary .wcsatt-options-cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-list--recurring,
.single-product .entry-summary .alandog-sub-list--recurring {
    z-index: 2 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-list--single,
.single-product .entry-summary .alandog-sub-list--single {
    margin-top: 0 !important;
    z-index: 1 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
.single-product .entry-summary .wcsatt-options-cart > li {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 4px !important;
    min-height: 0 !important;
    text-align: left !important;
    box-shadow: 0 10px 24px rgba(10, 54, 86, 0.05) !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-list--recurring > li,
.single-product .entry-summary .alandog-sub-list--recurring > li {
    padding: 12px 16px 14px !important;
    border-radius: 16px !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-list--single > li,
.single-product .entry-summary .alandog-sub-list--single > li {
    padding: 12px 16px 14px !important;
    border-radius: 16px !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked),
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked,
.single-product .entry-summary .wcsatt-options-cart > li.selected,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked),
.single-product .entry-summary .wcsatt-options-cart > li.is-checked {
    background: #eef6ff !important;
    border-color: #0b5b8d !important;
    box-shadow: 0 0 0 1px rgba(11, 91, 141, 0.08), 0 12px 28px rgba(10, 54, 86, 0.08) !important;
    position: relative !important;
    z-index: 3 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li > label,
.single-product .entry-summary .wcsatt-options-cart > li > label {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-row,
.single-product .entry-summary .alandog-sub-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-eyebrow,
.single-product .entry-summary .alandog-sub-eyebrow {
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #637486 !important;
    line-height: 1.2 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--single .alandog-sub-subtitle,
.single-product .entry-summary .alandog-sub-option--single .alandog-sub-subtitle {
    margin-top: 0 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--recurring .alandog-sub-subtitle,
.single-product .entry-summary .alandog-sub-option--recurring .alandog-sub-subtitle {
    max-width: none !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--recurring .alandog-sub-title,
.single-product .entry-summary .alandog-sub-option--recurring .alandog-sub-title,
.single-product .alandog-pdp-buy-panel .alandog-sub-option--single .alandog-sub-title,
.single-product .entry-summary .alandog-sub-option--single .alandog-sub-title {
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--single .alandog-sub-eyebrow,
.single-product .entry-summary .alandog-sub-option--single .alandog-sub-eyebrow {
    margin-bottom: 1px !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--recurring .alandog-sub-subtitle,
.single-product .entry-summary .alandog-sub-option--recurring .alandog-sub-subtitle,
.single-product .alandog-pdp-buy-panel .alandog-sub-option--single .alandog-sub-subtitle,
.single-product .entry-summary .alandog-sub-option--single .alandog-sub-subtitle {
    font-size: 12px !important;
    line-height: 1.28 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-sub-option--recurring .alandog-sub-subtitle strong,
.single-product .entry-summary .alandog-sub-option--recurring .alandog-sub-subtitle strong {
    color: #0b5b8d !important;
    font-weight: 800 !important;
}

.single-product .alandog-pdp-buy-panel .alandog-pdp-price,
.single-product .entry-summary form.variations_form > .alandog-pdp-price,
.single-product .entry-summary form.cart > .alandog-pdp-price {
    background: #ffffff !important;
    border: 1px solid #dce8f2 !important;
    box-shadow: 0 10px 24px rgba(10, 54, 86, 0.06) !important;
    margin-top: 6px !important;
    min-height: 94px !important;
    padding: 12px 16px !important;
    border-radius: 18px !important;
}

.single-product .alandog-pdp-price__label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #647587 !important;
}

.single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
.single-product .entry-summary .woocommerce-variation-add-to-cart,
.single-product .entry-summary .woocommerce div.product .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.single-product .alandog-pdp-stock-social,
.single-product .alandog-pdp-atc-trust,
.single-product .alandog-pdp-checkout-btn,
.single-product .alandog-wishlist-single-wrap {
    grid-column: 1 / -1 !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button,
.single-product .woocommerce div.product .alandog-pdp-buy-panel form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    width: 100% !important;
}

.single-product .alandog-pdp-stock-social {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.single-product .alandog-pdp-atc-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px 10px !important;
    margin: 2px 0 0 !important;
    padding-top: 8px !important;
    border-top: 1px solid #e4edf5 !important;
    background: none !important;
    text-align: center !important;
}

.single-product .alandog-pdp-atc-trust__item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #617182 !important;
}

.single-product .alandog-pdp-atc-trust__item:not(:last-child)::after {
    content: "•";
    margin-left: 4px;
    color: #9cadbd;
}

.single-product .alandog-pdp-atc-trust__item svg {
    width: 13px !important;
    height: 13px !important;
    stroke: #0f5e8f !important;
    flex: 0 0 auto !important;
}

.single-product .alandog-pdp-checkout-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    margin-top: 2px !important;
    border: 1px solid #d7e3ee !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #11476f !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.single-product .alandog-wishlist-single-wrap {
    margin-top: 2px !important;
}

.single-product .alandog-wishlist-single {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
    border-radius: 14px !important;
    border: 1px dashed #d7e3ee !important;
    background: #ffffff !important;
}

.single-product .alandog-pdp-buy-panel .alandog-pdp-trust,
.single-product .entry-summary .alandog-pdp-trust {
    display: none !important;
}

.single-product .alandog-pdp-delivery-date,
.single-product .alandog-cutoff-countdown,
.single-product .alandog-radio-card__badge--shipping {
    display: none !important;
}

.single-product .woocommerce-product-gallery .cpbw-badge-wrapper,
.single-product .woocommerce-product-gallery .cpb-badge {
    display: none !important;
}

@media (max-width: 1024px) {
    .single-product .alandog-pdp-buy-panel {
        max-width: 720px !important;
        margin-top: 6px !important;
    }

    .single-product .alandog-pdp-buy-panel .alandog-sub-list--single,
    .single-product .entry-summary .alandog-sub-list--single {
        margin-top: 0 !important;
    }

    .single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
    .single-product .entry-summary .woocommerce-variation-add-to-cart {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
    .single-product .entry-summary .wcsatt-options-cart > li {
        min-height: 0 !important;
    }

    .single-product .alandog-pdp-buy-panel .alandog-sub-list--recurring > li,
    .single-product .entry-summary .alandog-sub-list--recurring > li {
        padding: 11px 14px 13px !important;
    }

    .single-product .alandog-pdp-buy-panel .alandog-sub-list--single > li,
    .single-product .entry-summary .alandog-sub-list--single > li {
        padding: 11px 14px 12px !important;
    }

    .single-product .alandog-pdp-buy-panel .alandog-sub-list--single,
    .single-product .entry-summary .alandog-sub-list--single {
        margin-top: 0 !important;
    }

    .single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
    .single-product .entry-summary .woocommerce-variation-add-to-cart {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .single-product .alandog-pdp-stock-social {
        width: 100% !important;
    }

    .single-product .alandog-pdp-atc-trust {
        gap: 4px 8px !important;
        margin-top: 0 !important;
        padding-top: 8px !important;
    }

    .single-product .alandog-pdp-atc-trust__item {
        font-size: 11px !important;
    }

    .single-product .alandog-pdp-checkout-btn,
    .single-product .alandog-wishlist-single {
        min-height: 42px !important;
        font-size: 13px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   PDP BUY PANEL HOTFIX — PASS 6
   Final alignment fixes after legacy responsive overrides:
   - qty and CTA same height
   - trust/payment centered on all breakpoints
   - delivery countdown sits below the shipping content block
   ═══════════════════════════════════════════════════════════════════ */
.single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
.single-product .entry-summary .woocommerce-variation-add-to-cart {
    grid-template-columns: 110px minmax(0, 1fr) !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity,
.single-product .woocommerce div.product form.cart .quantity {
    width: 110px !important;
    flex: 0 0 110px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box,
.single-product .woocommerce div.product form.cart .quantity .qty-box {
    width: 110px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .decrease,
.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .increase,
.single-product .woocommerce div.product form.cart .quantity .decrease,
.single-product .woocommerce div.product form.cart .quantity .increase,
.single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty,
.single-product .woocommerce div.product form.cart .quantity input.qty {
    height: 48px !important;
}

.single-product .woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button,
.single-product .woocommerce div.product .alandog-pdp-buy-panel form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
.single-product .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
    min-height: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    padding: 0 18px !important;
    line-height: 1 !important;
}

.single-product .alandog-pdp-stock-social,
.single-product .alandog-pdp-stock-urgency {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
}

.single-product .alandog-pdp-atc-trust,
.single-product .alandog-pdp-pay-icons,
.single-product .alandog-pdp-pay-icons__label,
.single-product .alandog-pdp-pay-icons__row {
    text-align: center !important;
}

.single-product .alandog-pdp-atc-trust,
.single-product .alandog-pdp-pay-icons__row {
    justify-content: center !important;
}

.single-product .alandog-pdp-delivery__urgency {
    order: 3 !important;
    margin-top: 2px !important;
}

@media (max-width: 767px) {
    .single-product .alandog-pdp-buy-panel .woocommerce-variation-add-to-cart,
    .single-product .entry-summary .woocommerce-variation-add-to-cart {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }

    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity,
    .single-product .woocommerce div.product form.cart .quantity {
        width: 104px !important;
        flex: 0 0 104px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
    }

    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .qty-box,
    .single-product .woocommerce div.product form.cart .quantity .qty-box {
        width: 104px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
    }

    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .decrease,
    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity .increase,
    .single-product .woocommerce div.product form.cart .quantity .decrease,
    .single-product .woocommerce div.product form.cart .quantity .increase,
    .single-product .woocommerce div.product .alandog-pdp-buy-panel .quantity input.qty,
    .single-product .woocommerce div.product form.cart .quantity input.qty {
        height: 48px !important;
    }

    .single-product .woocommerce div.product .alandog-pdp-buy-panel .single_add_to_cart_button,
    .single-product .woocommerce div.product .alandog-pdp-buy-panel form.cart .single_add_to_cart_button,
    .single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
    .single-product .woocommerce div.product .woocommerce-variation-add-to-cart button.single_add_to_cart_button {
        min-height: 48px !important;
        height: 48px !important;
        max-height: 48px !important;
    }

    .single-product .alandog-pdp-pay-icons__row {
        justify-content: center !important;
    }
}

@media (min-width: 1025px) {
    .single-product .mf-product-detail.alandog-3col > .summary.entry-summary > .alandog-pdp-delivery {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   FIX-UI-236: Purchase mode state clarity
   Stronger selected state for "Acquisto Furbo" / "Acquisto Singolo"
   across desktop, tablet and mobile.
   ═══════════════════════════════════════════════════════════════════ */
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
.single-product .entry-summary .wcsatt-options-cart > li {
    position: relative !important;
    overflow: hidden !important;
    border: 2px solid #d7e3ee !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 6px 18px rgba(10, 54, 86, 0.05) !important;
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:not(.selected):not(.is-checked):not(:has(input:checked)):hover,
.single-product .entry-summary .wcsatt-options-cart > li:not(.selected):not(.is-checked):not(:has(input:checked)):hover {
    border-color: #aac4d8 !important;
    box-shadow: 0 10px 24px rgba(10, 54, 86, 0.08) !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked),
.single-product .entry-summary .wcsatt-options-cart > li.selected,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) {
    border-color: #0a6ba6 !important;
    background: linear-gradient(180deg, #ebf6ff 0%, #f7fbff 100%) !important;
    box-shadow: 0 0 0 4px rgba(10, 107, 166, 0.14), 0 18px 34px rgba(10, 54, 86, 0.10) !important;
    transform: translateY(-1px) !important;
    z-index: 4 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::after,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::after,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::after,
.single-product .entry-summary .wcsatt-options-cart > li.selected::after,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked::after,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #0a6ba6;
    box-shadow: 0 8px 18px rgba(10, 107, 166, 0.24);
    z-index: 2;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::before,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::before,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::before,
.single-product .entry-summary .wcsatt-options-cart > li.selected::before,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked::before,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 20px;
    width: 6px;
    height: 10px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
    z-index: 3;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li > label,
.single-product .entry-summary .wcsatt-options-cart > li > label {
    width: 100% !important;
    padding-right: 40px !important;
    gap: 5px !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-eyebrow,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-eyebrow {
    color: #6d7f90 !important;
    font-weight: 800 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-title,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-title {
    color: #17324b !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-subtitle,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-subtitle {
    color: #5b6f82 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected .alandog-sub-eyebrow,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-eyebrow,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-eyebrow,
.single-product .entry-summary .wcsatt-options-cart > li.selected .alandog-sub-eyebrow,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-eyebrow,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-eyebrow {
    color: #0a6ba6 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected .alandog-sub-title,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-title,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-title,
.single-product .entry-summary .wcsatt-options-cart > li.selected .alandog-sub-title,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-title,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-title {
    color: #12344b !important;
    font-weight: 900 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected .alandog-sub-subtitle,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle,
.single-product .entry-summary .wcsatt-options-cart > li.selected .alandog-sub-subtitle,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle {
    color: #496277 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected .alandog-sub-subtitle strong,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle strong,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle strong,
.single-product .entry-summary .wcsatt-options-cart > li.selected .alandog-sub-subtitle strong,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-subtitle strong,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-subtitle strong {
    color: #0a6ba6 !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-badge,
.single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-badge {
    padding: 4px 10px !important;
    border-radius: 999px !important;
    box-shadow: inset 0 0 0 1px rgba(12, 90, 42, 0.08) !important;
}

.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected .alandog-sub-badge--save,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked .alandog-sub-badge--save,
.single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge--save,
.single-product .entry-summary .wcsatt-options-cart > li.selected .alandog-sub-badge--save,
.single-product .entry-summary .wcsatt-options-cart > li.is-checked .alandog-sub-badge--save,
.single-product .entry-summary .wcsatt-options-cart > li:has(input:checked) .alandog-sub-badge--save {
    background: #0c8a4d !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(12, 138, 77, 0.20) !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
    .single-product .entry-summary .wcsatt-options-cart > li {
        padding: 13px 15px !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li > label,
    .single-product .entry-summary .wcsatt-options-cart > li > label {
        padding-right: 38px !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::after,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::after,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::after,
    .single-product .entry-summary .wcsatt-options-cart > li.selected::after,
    .single-product .entry-summary .wcsatt-options-cart > li.is-checked::after,
    .single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::after {
        width: 22px;
        height: 22px;
        top: 11px;
        right: 11px;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::before,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::before,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::before,
    .single-product .entry-summary .wcsatt-options-cart > li.selected::before,
    .single-product .entry-summary .wcsatt-options-cart > li.is-checked::before,
    .single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::before {
        top: 17px;
        right: 18px;
    }
}

@media (max-width: 767px) {
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
    .single-product .entry-summary .wcsatt-options-cart > li {
        padding: 12px 14px !important;
        border-radius: 16px !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li > label,
    .single-product .entry-summary .wcsatt-options-cart > li > label {
        padding-right: 34px !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::after,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::after,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::after,
    .single-product .entry-summary .wcsatt-options-cart > li.selected::after,
    .single-product .entry-summary .wcsatt-options-cart > li.is-checked::after,
    .single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::after {
        width: 20px;
        height: 20px;
        top: 10px;
        right: 10px;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.selected::before,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li.is-checked::before,
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li:has(input:checked)::before,
    .single-product .entry-summary .wcsatt-options-cart > li.selected::before,
    .single-product .entry-summary .wcsatt-options-cart > li.is-checked::before,
    .single-product .entry-summary .wcsatt-options-cart > li:has(input:checked)::before {
        top: 15px;
        right: 16px;
        width: 5px;
        height: 9px;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-title,
    .single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-title {
        font-size: 14px !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-subtitle,
    .single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-subtitle {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li .alandog-sub-badge,
    .single-product .entry-summary .wcsatt-options-cart > li .alandog-sub-badge {
        font-size: 10px !important;
        padding: 4px 9px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .single-product .alandog-pdp-buy-panel .wcsatt-options-cart > li,
    .single-product .entry-summary .wcsatt-options-cart > li {
        transition: none !important;
    }
}
