/* ==========================================================================
   ECOM ESSENTIALS — SINGLE PRODUCT PAGE — PRO DESIGN
   Modern, GenZ-friendly, editorial minimal layout
   All selectors scoped under .ee-spp-pro to avoid conflicts with Standard
   ========================================================================== */

/* --- CSS Custom Properties --- */
body .ee-spp-pro.woocommerce {
    --eep-font: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --eep-bg: #fafafa;
    --eep-surface: #ffffff;
    --eep-text: #0a0a0a;
    --eep-text-soft: #525252;
    --eep-text-muted: #a3a3a3;
    --eep-border: #e5e5e5;
    --eep-border-light: #f0f0f0;
    --eep-accent: #0a0a0a;
    --eep-accent-hover: #262626;
    --eep-accent-contrast: #ffffff;
    --eep-sale: #dc2626;
    --eep-success: #16a34a;
    --eep-star: #eab308;
    --eep-radius: 2px;
    --eep-radius-md: 6px;
    --eep-radius-lg: 10px;
    --eep-radius-pill: 9999px;
    --eep-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --eep-shadow: 0 2px 8px rgba(0,0,0,0.06);
    --eep-shadow-lg: 0 8px 24px rgba(0,0,0,0.10);
    --eep-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --eep-transition-spring: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- RESET & CONTAINER --- */
body .ee-spp-pro.woocommerce,
body .ee-spp-pro {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    font-family: var(--eep-font) !important;
    color: var(--eep-text) !important;
    background: transparent !important;
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    letter-spacing: -0.01em !important;
}
body .ee-spp-pro.woocommerce *,
body .ee-spp-pro * {
    box-sizing: border-box !important;
}
body .ee-spp-pro h1,
body .ee-spp-pro h2,
body .ee-spp-pro h3,
body .ee-spp-pro h4,
body .ee-spp-pro h5,
body .ee-spp-pro h6,
body .ee-spp-pro p,
body .ee-spp-pro span:not([class*="dashicons"]):not([class*="fa-"]):not(.star-rating):not(.star-rating *):not([class*="star"]):not(.stars):not(.stars *),
body .ee-spp-pro a,
body .ee-spp-pro button,
body .ee-spp-pro label,
body .ee-spp-pro th,
body .ee-spp-pro td,
body .ee-spp-pro summary {
    font-family: var(--eep-font) !important;
}

/* Hide theme breadcrumbs */
body:has(.ee-spp-pro) .woocommerce-breadcrumb,
body:has(.ee-spp-pro) .breadcrumb,
body:has(.ee-spp-pro) nav.woocommerce-breadcrumb,
body:has(.ee-spp-pro) .site-breadcrumbs,
body:has(.ee-spp-pro) #breadcrumbs,
body:has(.ee-spp-pro) .yoast-breadcrumbs,
body:has(.ee-spp-pro) .rank-math-breadcrumb {
    display: none !important;
}

/* --- BREADCRUMBS — Global Single-Line Standard with Responsive Ellipsis --- */
body .ee-spp-pro .eep-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--eep-text-muted) !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    -webkit-overflow-scrolling: touch !important;
}
body .ee-spp-pro .eep-breadcrumbs::-webkit-scrollbar {
    display: none !important;
}
body .ee-spp-pro .eep-breadcrumbs a {
    color: var(--eep-text-muted) !important;
    text-decoration: none !important;
    transition: color var(--eep-transition) !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}
body .ee-spp-pro .eep-breadcrumbs a:hover {
    color: var(--eep-text) !important;
}
body .ee-spp-pro .eep-breadcrumb-sep {
    color: var(--eep-border) !important;
    font-size: 10px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
body .ee-spp-pro .eep-breadcrumb-current {
    color: var(--eep-text-soft) !important;
    font-weight: 600 !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 260px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    display: inline-block !important;
    vertical-align: middle !important;
}
@media (max-width: 768px) {
    body .ee-spp-pro .eep-breadcrumbs {
        padding: 12px 0 6px !important;
        font-size: 10.5px !important;
        gap: 5px !important;
    }
    body .ee-spp-pro .eep-breadcrumb-current {
        max-width: 140px !important;
    }
}
@media (max-width: 480px) {
    body .ee-spp-pro .eep-breadcrumbs {
        font-size: 10px !important;
        gap: 4px !important;
    }
    body .ee-spp-pro .eep-breadcrumb-current {
        max-width: 110px !important;
    }
}


/* --- PRODUCT LAYOUT — Asymmetric Split --- */
body .ee-spp-pro .eep-product-layout {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    gap: 48px !important;
    align-items: start !important;
    padding: 0 0 32px 0 !important;
    margin: 0 !important;
}

/* --- GALLERY COLUMN --- */
body .ee-spp-pro .eep-gallery-col {
    position: sticky !important;
    top: 24px !important;
}

/* Main Gallery Image */
body .ee-spp-pro .eep-gallery-main {
    position: relative !important;
    border-radius: var(--eep-radius) !important;
    overflow: hidden !important;
    background: var(--eep-border-light) !important;
    margin-bottom: 12px !important;
    cursor: crosshair !important;
}
body .ee-spp-pro .eep-gallery-main img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
}
body .ee-spp-pro .eep-gallery-main img.eep-zoomable {
    transition: transform 0.4s ease !important;
    transform-origin: var(--zoom-x, center) var(--zoom-y, center) !important;
}
body .ee-spp-pro .eep-gallery-main img.is-zoomed {
    transform: scale(1.8) !important;
}

/* Zoom Hint */
body .ee-spp-pro .eep-zoom-hint {
    position: absolute !important;
    bottom: 16px !important;
    right: 16px !important;
    z-index: 3 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.9) !important;
    backdrop-filter: blur(4px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--eep-text-soft, #525252) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
    pointer-events: none !important;
}

/* Sale badge on gallery */
body .ee-spp-pro .eep-sale-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: var(--eep-sale) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 4px 10px !important;
    border-radius: var(--eep-radius) !important;
    z-index: 2 !important;
}

/* Thumbnail Slider */
body .ee-spp-pro .eep-gallery-thumbnails {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
body .ee-spp-pro .eep-gallery-thumbnails::-webkit-scrollbar {
    display: none !important;
}
body .ee-spp-pro .eep-gallery-thumbnail {
    flex: 0 0 80px !important;
    height: 80px !important;
    border-radius: var(--eep-radius) !important;
    overflow: hidden !important;
    cursor: pointer !important;
    scroll-snap-align: start !important;
    border: 2px solid transparent !important;
    background: var(--eep-border-light) !important;
    transition: border-color 0.2s ease !important;
}
body .ee-spp-pro .eep-gallery-thumbnail.is-active {
    border-color: var(--eep-primary) !important;
}
body .ee-spp-pro .eep-gallery-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

/* --- INFO COLUMN --- */
body .ee-spp-pro .eep-info-col {
    padding: 8px 0 !important;
}

/* --- SKU PILL --- */
body .ee-spp-pro .eep-sku-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--eep-text-muted) !important;
    background: var(--eep-border-light) !important;
    padding: 4px 10px !important;
    border-radius: var(--eep-radius-pill) !important;
    margin-bottom: 12px !important;
}

/* --- PRODUCT TITLE --- */
body .ee-spp-pro .eep-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    color: var(--eep-text) !important;
    margin: 0 0 8px 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

/* --- PRODUCT PRICE --- */
body .ee-spp-pro .eep-price-block {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    flex-wrap: wrap !important;
}
body .ee-spp-pro .eep-price-block .eep-price {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    flex-wrap: wrap !important;
}
body .ee-spp-pro .eep-price-block .eep-price,
body .ee-spp-pro .eep-price-block .eep-price > .woocommerce-Price-amount,
body .ee-spp-pro .eep-price-block .eep-price ins,
body .ee-spp-pro .eep-price-block .eep-price ins *,
body .ee-spp-pro .eep-price-block .eep-price bdi,
body .ee-spp-pro .eep-price-block .eep-price span {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--eep-text) !important;
    letter-spacing: -0.02em !important;
    text-decoration: none !important;
}
body .ee-spp-pro .eep-price-block .eep-price del,
body .ee-spp-pro .eep-price-block .eep-price del * {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--eep-text-muted) !important;
    text-decoration: line-through !important;
}
body .ee-spp-pro .eep-price-block .eep-price ins,
body .ee-spp-pro .eep-price-block .eep-price ins * {
    color: var(--eep-sale) !important;
    text-decoration: none !important;
}

/* Hide redundant secondary variation price since primary top price automatically updates */
body .ee-spp-pro .woocommerce-variation-price {
    display: none !important;
}
body .ee-spp-pro .eep-save-tag {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--eep-sale) !important;
    background: #fef2f2 !important;
    padding: 3px 8px !important;
    border-radius: var(--eep-radius) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
body .ee-spp-pro .eep-save-tag.eep-save-tag--dark {
    background: #0a0a0a !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

/* --- RATING --- */
body .ee-spp-pro .eep-rating {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}
body .ee-spp-pro .eep-rating-stars {
    display: flex !important;
    gap: 1px !important;
    cursor: pointer !important;
}
body .ee-spp-pro .eep-rating-stars svg {
    width: 14px !important;
    height: 14px !important;
    color: var(--eep-star) !important;
    fill: var(--eep-star) !important;
}
body .ee-spp-pro .eep-rating-count {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--eep-text-muted) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color var(--eep-transition, 0.2s ease) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
body .ee-spp-pro .eep-rating-avg {
    font-weight: 700 !important;
    color: var(--eep-text) !important;
}
body .ee-spp-pro .eep-rating-count:hover {
    color: var(--eep-text) !important;
    text-decoration: underline !important;
}

/* --- SHORT DESCRIPTION — Expandable --- */
body .ee-spp-pro .eep-short-desc {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: var(--eep-text-soft) !important;
    margin: 0 0 12px 0 !important;
    max-height: 4.95em !important; /* 3 lines */
    overflow: hidden !important;
    position: relative !important;
    transition: max-height 0.4s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-short-desc.is-expanded {
    max-height: 500px !important;
}
body .ee-spp-pro .eep-short-desc p {
    margin: 0 0 8px 0 !important;
}
body .ee-spp-pro .eep-read-more-toggle {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--eep-text) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer !important;
    margin-bottom: 10px !important;
    display: inline-block !important;
}

/* --- DIVIDER --- */
body .ee-spp-pro .eep-divider {
    border: none !important;
    border-top: 1px solid var(--eep-border) !important;
    margin: 0 0 14px 0 !important;
}

/* --- VARIATIONS & SWATCHES --- */
body .ee-spp-pro table.variations {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}
body .ee-spp-pro table.variations tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
body .ee-spp-pro table.variations tr {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
body .ee-spp-pro table.variations th.label {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    border: none !important;
    background: transparent !important;
}
body .ee-spp-pro table.variations th.label label {
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    color: var(--eep-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin: 0 !important;
    padding: 0 !important;
}
body .ee-spp-pro table.variations th.label label .ee-swatch-selected-value {
    color: var(--eep-text, #0a0a0a) !important;
    font-weight: 600 !important;
}
body .ee-spp-pro table.variations td.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
body .ee-spp-pro table.variations select {
    width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--eep-text) !important;
    background: var(--eep-surface) !important;
    border: 1.5px solid var(--eep-border) !important;
    border-radius: var(--eep-radius) !important;
    outline: none !important;
}
body .ee-spp-pro .ecom-essentials-swatches-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body .ee-spp-pro .ecom-essentials-swatch {
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--eep-radius) !important;
    border: 1.5px solid var(--eep-border) !important;
    color: var(--eep-text) !important;
    font-weight: 500 !important;
    transition: all var(--eep-transition) !important;
    user-select: none !important;
}
body .ee-spp-pro .ecom-essentials-swatch:hover {
    border-color: var(--eep-text-muted) !important;
}
body .ee-spp-pro .ecom-essentials-swatch.ecom-essentials-swatch-selected {
    border-color: var(--eep-text) !important;
    box-shadow: 0 0 0 1px var(--eep-text) !important;
}
body .ee-spp-pro .ecom-essentials-swatch-color {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: var(--eep-radius) !important;
    border: 2px solid transparent !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12) !important;
}
body .ee-spp-pro .ecom-essentials-swatch-color.ecom-essentials-swatch-selected {
    border: 2px solid #fff !important;
    box-shadow: 0 0 0 2px var(--eep-text), inset 0 0 0 1px rgba(0,0,0,0.12) !important;
}
body .ee-spp-pro .ecom-essentials-swatch-label {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    background: var(--eep-surface) !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-align: center !important;
    white-space: nowrap !important;
    border-radius: var(--eep-radius) !important;
}
body .ee-spp-pro .ecom-essentials-swatch-image {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: var(--eep-radius) !important;
}
body .ee-spp-pro .reset_variations {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--eep-text-muted) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    margin-top: 6px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
body .ee-spp-pro .woocommerce-variation:empty,
body .ee-spp-pro .single_variation:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- ADD TO CART --- */
body .ee-spp-pro .eep-add-to-cart-section {
    margin-bottom: 14px !important;
}

/* Variable Add to Cart Overrides */
body .ee-spp-pro .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
}
/* Quantity selector hidden in Pro template */
body .ee-spp-pro .woocommerce-variation-add-to-cart .quantity,
body .ee-spp-pro .quantity {
    display: none !important;
}
body .ee-spp-pro .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--eep-accent) !important;
    color: var(--eep-accent-contrast) !important;
    border: none !important;
    border-radius: var(--eep-radius) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    transition: all var(--eep-transition) !important;
    margin: 0 !important;
    float: none !important;
}
body .ee-spp-pro .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
    background: var(--eep-accent-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--eep-shadow-lg) !important;
}
body .ee-spp-pro .woocommerce-variation-add-to-cart .single_add_to_cart_button.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
body .ee-spp-pro .eep-quantity-row {
    display: none !important;
}

/* Suppress WooCommerce default "View cart" CTA link */
body .ee-spp-pro .added_to_cart,
body .ee-spp-pro a.added_to_cart,
body .ee-spp-pro .wc-forward.added_to_cart {
    display: none !important;
}

/* Primary CTA — Full-width */
body .ee-spp-pro .eep-add-btn {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--eep-accent) !important;
    color: var(--eep-accent-contrast) !important;
    border: none !important;
    border-radius: var(--eep-radius) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    transition: all var(--eep-transition) !important;
}
body .ee-spp-pro .eep-add-btn:hover {
    background: var(--eep-accent-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--eep-shadow-lg) !important;
}
body .ee-spp-pro .eep-add-btn.is-loading {
    pointer-events: none !important;
    opacity: 0.7 !important;
}
body .ee-spp-pro .eep-add-btn.is-success {
    background: var(--eep-success) !important;
}
body .ee-spp-pro .eep-add-btn svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

/* Buy Now — Outline variant */
body .ee-spp-pro .eep-buy-now-btn {
    width: 100% !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: transparent !important;
    color: var(--eep-text) !important;
    border: 1.5px solid var(--eep-border) !important;
    border-radius: var(--eep-radius) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    cursor: pointer !important;
    transition: all var(--eep-transition) !important;
    margin-top: 8px !important;
}
body .ee-spp-pro .eep-buy-now-btn:hover {
    border-color: var(--eep-text) !important;
    background: var(--eep-border-light) !important;
}

/* --- META ACTIONS — Icon bar --- */
body .ee-spp-pro .eep-meta-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 12px 0 14px 0 !important;
}
body .ee-spp-pro .eep-meta-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 8px 14px !important;
    background: transparent !important;
    border: 1px solid var(--eep-border) !important;
    border-radius: var(--eep-radius) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--eep-text-soft) !important;
    cursor: pointer !important;
    transition: all var(--eep-transition) !important;
    text-decoration: none !important;
}
body .ee-spp-pro .eep-meta-btn:hover {
    border-color: var(--eep-text) !important;
    color: var(--eep-text) !important;
}
body .ee-spp-pro .eep-meta-btn svg {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
}
/* Size Guide button — visually prominent */
body .ee-spp-pro .eep-meta-btn.eep-size-guide-btn {
    background: var(--eep-accent) !important;
    color: var(--eep-accent-contrast) !important;
    border-color: var(--eep-accent) !important;
}
body .ee-spp-pro .eep-meta-btn.eep-size-guide-btn:hover {
    background: var(--eep-accent-hover) !important;
    border-color: var(--eep-accent-hover) !important;
    color: var(--eep-accent-contrast) !important;
}
body .ee-spp-pro .eep-meta-btn.eep-size-guide-btn svg {
    color: var(--eep-accent-contrast) !important;
    stroke: var(--eep-accent-contrast) !important;
}

/* --- ADD TO CART OVERRIDES --- */
body .ee-spp-pro form.cart,
body .ee-spp-pro .woocommerce-variation-add-to-cart {
    margin-bottom: 0 !important;
}

/* --- CHECKOUT ASSURANCE --- */
body .ee-spp-pro .eep-checkout-assurance {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
    margin: 0 0 16px 0 !important;
    padding: 14px 20px !important;
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: var(--eep-radius) !important;
}
body .ee-spp-pro .eep-checkout-assurance.eep-custom-highlights {
    display: block !important;
}
body .ee-spp-pro .eep-custom-highlights p,
body .ee-spp-pro .eep-custom-highlights ul {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: #166534 !important;
    line-height: 1.6 !important;
}
body .ee-spp-pro .eep-custom-highlights p:last-child,
body .ee-spp-pro .eep-custom-highlights ul:last-child {
    margin-bottom: 0 !important;
}
body .ee-spp-pro .eep-custom-highlights ul {
    padding-left: 20px !important;
}
body .ee-spp-pro .eep-custom-highlights li {
    font-size: 14px !important;
    color: #166534 !important;
    margin-bottom: 6px !important;
}
body .ee-spp-pro .eep-custom-highlights li:last-child {
    margin-bottom: 0 !important;
}
body .ee-spp-pro .eep-assurance-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #166534 !important;
    letter-spacing: -0.01em !important;
}
body .ee-spp-pro .eep-assurance-item svg {
    color: #15803d !important;
    stroke: #15803d !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    height: 15px !important;
}

/* --- TRUST MICRO-PILLS — Horizontal scroll --- */
body .ee-spp-pro .eep-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 16px 0 8px !important;
    margin: 16px 0 0 0 !important;
    border-top: 1px solid var(--eep-border-light) !important;
}
body .ee-spp-pro .eep-trust-strip::-webkit-scrollbar {
    display: none !important;
}
body .ee-spp-pro .eep-trust-pill {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    background: transparent !important;
    padding: 12px !important;
    border-radius: 6px !important;
    border: 1px solid var(--eep-border) !important;
    white-space: normal !important; 
    width: 100% !important;
    box-sizing: border-box !important;
}
body .ee-spp-pro .eep-trust-pill-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    line-height: 1.4 !important;
}
body .ee-spp-pro .eep-trust-pill-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--eep-text) !important;
}
body .ee-spp-pro .eep-trust-pill-sub {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--eep-text-muted) !important;
    margin-top: 2px !important;
}
body .ee-spp-pro .eep-trust-pill-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
}
body .ee-spp-pro .eep-trust-pill svg,
body .ee-spp-pro .eep-trust-pill .dashicons,
body .ee-spp-pro .eep-trust-pill img {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
    object-fit: contain !important;
    color: var(--eep-text-muted) !important;
}



/* --- ACCORDIONS (replaces tabs) --- */
body .ee-spp-pro .eep-accordions {
    border-top: 1px solid var(--eep-border) !important;
    margin: 20px 0 !important;
}
body .ee-spp-pro .eep-accordion-item {
    border-bottom: 1px solid var(--eep-border) !important;
}
body .ee-spp-pro .eep-accordion-trigger {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 0 !important;
    background: transparent !important;
    border: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--eep-text) !important;
    cursor: pointer !important;
    transition: color var(--eep-transition) !important;
}
body .ee-spp-pro .eep-accordion-trigger:hover {
    color: var(--eep-text-soft) !important;
}
body .ee-spp-pro .eep-accordion-icon {
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-accordion-item.is-open .eep-accordion-icon {
    transform: rotate(45deg) !important;
}
body .ee-spp-pro .eep-accordion-body {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.4s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-accordion-item.is-open .eep-accordion-body {
    max-height: 2000px !important;
}
body .ee-spp-pro .eep-accordion-content {
    padding: 0 0 20px 0 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--eep-text-soft) !important;
}
body .ee-spp-pro .eep-accordion-content #reviews h2.woocommerce-Reviews-title,
body .ee-spp-pro .eep-accordion-content #comments > h2.woocommerce-Reviews-title,
body .ee-spp-pro .eep-accordion-content #comments > h2:first-child,
body .ee-spp-pro #tab-reviews h2.woocommerce-Reviews-title,
body .ee-spp-pro #tab-reviews #comments > h2 {
    display: none !important;
}

/* ==========================================================================
   PRO STAR RATINGS — Universal Unicode Replacement (Fixes "SSSSS" font bug)
   ========================================================================== */
body .ee-spp-pro .star-rating {
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    height: 1.2em !important;
    width: 5.6em !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    letter-spacing: 0.14em !important;
    vertical-align: middle !important;
}
body .ee-spp-pro .star-rating::before {
    content: "\2605\2605\2605\2605\2605" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.14em !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    float: none !important;
}
body .ee-spp-pro .star-rating span {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
    height: 1.2em !important;
    line-height: 1.2em !important;
    padding-top: 1.5em !important;
    font-size: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    float: none !important;
}
body .ee-spp-pro .star-rating span::before {
    content: "\2605\2605\2605\2605\2605" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: var(--eep-star, #eab308) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.14em !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    float: none !important;
}
body .ee-spp-pro .star-rating strong {
    display: none !important;
}

/* Pro Review comments list layout */
body .ee-spp-pro #reviews #comments ol.commentlist {
    list-style: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review {
    padding: 16px 18px !important;
    margin-bottom: 12px !important;
    background: var(--eep-bg, #ffffff) !important;
    border: 1px solid var(--eep-border, #e2e8f0) !important;
    border-radius: var(--eep-radius-sm, 8px) !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment_container {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review img.avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    border: 1px solid var(--eep-border, #e2e8f0) !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    position: relative !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text .star-rating {
    float: right !important;
    margin-top: 2px !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text .meta {
    font-size: 13px !important;
    color: var(--eep-text-muted, #71717a) !important;
    margin: 0 0 8px 0 !important;
    padding-right: 90px !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text .meta strong {
    color: var(--eep-text, #18181b) !important;
    font-weight: 600 !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text .description {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--eep-text-soft, #3f3f46) !important;
}
body .ee-spp-pro #reviews #comments ol.commentlist li.review .comment-text .description p {
    margin: 0 !important;
}

/* Review submission form rating selector */
body .ee-spp-pro p.stars {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 8px 0 16px !important;
}
body .ee-spp-pro p.stars span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
body .ee-spp-pro p.stars a {
    position: relative !important;
    display: inline-block !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    text-decoration: none !important;
}
body .ee-spp-pro p.stars a::before {
    content: "\2605" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    text-align: center !important;
    text-indent: 0 !important;
    font-size: 20px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    color: #cbd5e1 !important;
    transition: color 0.15s ease !important;
}
body .ee-spp-pro p.stars:hover a::before {
    color: var(--eep-star, #eab308) !important;
}
body .ee-spp-pro p.stars a:hover ~ a::before {
    color: #cbd5e1 !important;
}
body .ee-spp-pro p.stars.selected a.active::before {
    color: var(--eep-star, #eab308) !important;
}
body .ee-spp-pro p.stars.selected a.active ~ a::before {
    color: #cbd5e1 !important;
}
body .ee-spp-pro p.stars.selected a:not(.active)::before {
    color: var(--eep-star, #eab308) !important;
}

/* Pro Review form inputs */
body .ee-spp-pro #review_form_wrapper {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--eep-border, #e2e8f0) !important;
}
body .ee-spp-pro #review_form_wrapper .comment-reply-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--eep-text, #18181b) !important;
    margin-bottom: 12px !important;
    display: block !important;
}
body .ee-spp-pro #review_form_wrapper textarea,
body .ee-spp-pro #review_form_wrapper input[type="text"],
body .ee-spp-pro #review_form_wrapper input[type="email"] {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid var(--eep-border, #e2e8f0) !important;
    border-radius: var(--eep-radius-sm, 6px) !important;
    background: var(--eep-bg, #ffffff) !important;
    color: var(--eep-text, #18181b) !important;
    font-size: 14px !important;
    font-family: var(--eep-font) !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
}
body .ee-spp-pro #review_form_wrapper input[type="submit"] {
    background: var(--eep-primary, #18181b) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--eep-radius-sm, 6px) !important;
    padding: 10px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: opacity var(--eep-transition, 0.2s ease) !important;
}
body .ee-spp-pro #review_form_wrapper input[type="submit"]:hover {
    opacity: 0.9 !important;
}
body .ee-spp-pro .eep-accordion-content p {
    margin: 0 0 10px 0 !important;
}
body .ee-spp-pro .eep-accordion-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 13px !important;
}
body .ee-spp-pro .eep-accordion-content th,
body .ee-spp-pro .eep-accordion-content td {
    padding: 8px 12px !important;
    border: 1px solid var(--eep-border) !important;
    text-align: left !important;
}
body .ee-spp-pro .eep-accordion-content th {
    background: var(--eep-border-light) !important;
    font-weight: 600 !important;
}

/* --- RELATED PRODUCTS — Horizontal scroll strip --- */
body .ee-spp-pro .eep-related-section {
    margin: 32px 0 !important;
}
body .ee-spp-pro .eep-related-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 20px !important;
}
body .ee-spp-pro .eep-related-heading {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--eep-text) !important;
    margin: 0 !important;
}

body .ee-spp-pro .eep-related-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding: 4px 0 !important;
    margin: 0 -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}
body .ee-spp-pro .eep-related-strip::-webkit-scrollbar {
    display: none !important;
}
body .ee-spp-pro .eep-related-card {
    display: block !important;
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    scroll-snap-align: start !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform var(--eep-transition) !important;
    box-sizing: border-box !important;
}
body .ee-spp-pro .eep-related-card:hover {
    transform: translateY(-3px) !important;
}
body .ee-spp-pro .eep-related-card-img {
    width: 100% !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    border-radius: var(--eep-radius) !important;
    background: var(--eep-border-light) !important;
    display: block !important;
    margin-bottom: 10px !important;
}
body .ee-spp-pro .eep-related-card-title {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--eep-text) !important;
    margin: 0 0 4px 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body .ee-spp-pro .eep-related-card-price {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--eep-text) !important;
}
body .ee-spp-pro .eep-related-card-price del {
    font-weight: 400 !important;
    color: var(--eep-text-muted) !important;
    font-size: 12px !important;
    margin-left: 4px !important;
}

/* --- STICKY BOTTOM BAR — Floating compact pill --- */
body .ee-spp-pro .eep-sticky-bar {
    position: fixed !important;
    bottom: 16px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(100px) !important;
    background: rgba(10, 10, 10, 0.92) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-radius: var(--eep-radius-pill) !important;
    padding: 8px 8px 8px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    z-index: 99999 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
    transition: transform 0.4s var(--eep-transition-spring), opacity 0.3s ease !important;
    opacity: 0 !important;
    pointer-events: none !important;
    max-width: 500px !important;
}
body .ee-spp-pro .eep-sticky-bar.is-visible {
    transform: translateX(-50%) translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
body .ee-spp-pro .eep-sticky-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
}
body .ee-spp-pro .eep-sticky-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 200px !important;
}
body .ee-spp-pro .eep-sticky-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}
body .ee-spp-pro .eep-sticky-price del,
body .ee-spp-pro .eep-sticky-price del * {
    color: rgba(255,255,255,0.5) !important;
    font-weight: 400 !important;
    font-size: 12px !important;
}
body .ee-spp-pro .eep-sticky-price ins,
body .ee-spp-pro .eep-sticky-price ins * {
    text-decoration: none !important;
}
body .ee-spp-pro .eep-sticky-btn {
    height: 40px !important;
    padding: 0 20px !important;
    background: #ffffff !important;
    color: #0a0a0a !important;
    border: none !important;
    border-radius: var(--eep-radius-pill) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    transition: all var(--eep-transition) !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
body .ee-spp-pro .eep-sticky-btn:hover {
    background: #e5e5e5 !important;
}

/* --- SHARE MODAL --- */
body .ee-spp-pro .eep-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 999998 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease !important;
}
body .ee-spp-pro .eep-modal-overlay.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
}
body .ee-spp-pro .eep-modal-box {
    background: var(--eep-surface) !important;
    border-radius: var(--eep-radius-lg) !important;
    padding: 24px !important;
    width: 90% !important;
    max-width: 420px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    box-shadow: var(--eep-shadow-lg) !important;
    transform: translateY(20px) !important;
    transition: transform 0.3s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-modal-overlay.is-open .eep-modal-box {
    transform: translateY(0) !important;
}
body .ee-spp-pro .eep-modal-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 20px !important;
}
body .ee-spp-pro .eep-modal-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--eep-text) !important;
    margin: 0 !important;
}
body .ee-spp-pro .eep-modal-close {
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--eep-border-light) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    color: var(--eep-text-soft) !important;
    transition: all var(--eep-transition) !important;
}
body .ee-spp-pro .eep-modal-close:hover {
    background: var(--eep-border) !important;
    color: var(--eep-text) !important;
}

/* --- SIZE GUIDE MODAL --- */
body .ee-spp-pro #eep-size-guide-modal .eep-modal-box {
    max-width: 640px !important;
    width: 95% !important;
}
body .ee-spp-pro .eep-size-guide-modal-content {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: var(--eep-text) !important;
    overflow-x: auto !important;
}
body .ee-spp-pro .eep-size-guide-modal-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    background: var(--eep-surface) !important;
}
body .ee-spp-pro .eep-size-guide-modal-content th,
body .ee-spp-pro .eep-size-guide-modal-content td {
    padding: 10px 14px !important;
    border: 1px solid var(--eep-border) !important;
    text-align: left !important;
}
body .ee-spp-pro .eep-size-guide-modal-content th {
    background: var(--eep-border-light) !important;
    color: var(--eep-text) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
body .ee-spp-pro .eep-size-guide-modal-content tr:hover td {
    background: rgba(0, 0, 0, 0.02) !important;
}
body .ee-spp-pro .eep-size-guide-modal-content p {
    margin: 0 0 10px 0 !important;
}
body .ee-spp-pro .eep-size-guide-modal-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--eep-radius-md) !important;
    display: block !important;
    margin: 12px auto !important;
}

/* Social share grid */
body .ee-spp-pro .eep-share-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
}
body .ee-spp-pro .eep-share-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 12px 8px !important;
    background: var(--eep-border-light) !important;
    border: none !important;
    border-radius: var(--eep-radius-md) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: var(--eep-text-soft) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all var(--eep-transition) !important;
}
body .ee-spp-pro .eep-share-btn:hover {
    background: var(--eep-border) !important;
    transform: translateY(-1px) !important;
}
body .ee-spp-pro .eep-share-btn svg {
    width: 20px !important;
    height: 20px !important;
}

/* Copy link */
body .ee-spp-pro .eep-copy-link-row {
    display: flex !important;
    gap: 0 !important;
}
body .ee-spp-pro .eep-copy-link-input {
    flex: 1 !important;
    height: 40px !important;
    padding: 0 12px !important;
    background: var(--eep-border-light) !important;
    border: 1px solid var(--eep-border) !important;
    border-right: none !important;
    border-radius: var(--eep-radius) 0 0 var(--eep-radius) !important;
    font-size: 12px !important;
    color: var(--eep-text-muted) !important;
    outline: none !important;
}
body .ee-spp-pro .eep-copy-link-btn {
    height: 40px !important;
    padding: 0 16px !important;
    background: var(--eep-accent) !important;
    color: var(--eep-accent-contrast) !important;
    border: none !important;
    border-radius: 0 var(--eep-radius) var(--eep-radius) 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background var(--eep-transition) !important;
}
body .ee-spp-pro .eep-copy-link-btn:hover {
    background: var(--eep-accent-hover) !important;
}

/* --- TOAST NOTIFICATION --- */
body .ee-spp-pro .eep-toast {
    position: fixed !important;
    bottom: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(20px) !important;
    background: var(--eep-text) !important;
    color: #fff !important;
    font-family: var(--eep-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border-radius: var(--eep-radius-pill) !important;
    box-shadow: var(--eep-shadow-lg) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: 999999 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, transform 0.25s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-toast.is-visible {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* --- SCROLL ANIMATIONS --- */
body .ee-spp-pro .eep-reveal {
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: opacity 0.6s ease, transform 0.6s var(--eep-transition-spring) !important;
}
body .ee-spp-pro .eep-reveal.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* --- FREQUENTLY BOUGHT TOGETHER --- */
body .ee-spp-pro .eep-fbt-section {
    margin: 32px 0 !important;
    padding: 24px !important;
    background: var(--eep-border-light) !important;
    border-radius: var(--eep-radius-md) !important;
}
body .ee-spp-pro .eep-fbt-heading {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--eep-text) !important;
    margin: 0 0 16px 0 !important;
}
body .ee-spp-pro .eep-fbt-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
body .ee-spp-pro .eep-fbt-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    background: var(--eep-surface) !important;
    border-radius: var(--eep-radius) !important;
    border: 1px solid var(--eep-border) !important;
}
body .ee-spp-pro .eep-fbt-item img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    border-radius: var(--eep-radius) !important;
    flex-shrink: 0 !important;
}
body .ee-spp-pro .eep-fbt-item-info {
    flex: 1 !important;
    min-width: 0 !important;
}
body .ee-spp-pro .eep-fbt-item-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--eep-text) !important;
    margin: 0 0 2px 0 !important;
}
body .ee-spp-pro .eep-fbt-item-price {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--eep-text-soft) !important;
}

/* --- RESPONSIVE: TABLET --- */
@media (max-width: 900px) {
    body .ee-spp-pro .eep-product-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    body .ee-spp-pro .eep-gallery-col {
        position: static !important;
    }

    /* Unified gallery layout on tablet/mobile */
    body .ee-spp-pro .eep-title {
        font-size: 26px !important;
    }
    body .ee-spp-pro .eep-price-block .eep-price,
    body .ee-spp-pro .eep-price-block .eep-price > .woocommerce-Price-amount,
    body .ee-spp-pro .eep-price-block .eep-price ins,
    body .ee-spp-pro .eep-price-block .eep-price ins *,
    body .ee-spp-pro .eep-price-block .eep-price bdi,
    body .ee-spp-pro .woocommerce-variation-price .price,
    body .ee-spp-pro .woocommerce-variation-price .price * {
        font-size: 24px !important;
    }
    /* Variable product quantity + button stacking */
    body .ee-spp-pro .woocommerce-variation-add-to-cart {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    body .ee-spp-pro .eep-add-to-cart-section {
        margin-bottom: 10px !important;
    }

    /* Trust badges wrap instead of scroll on tablet */
    body .ee-spp-pro .eep-trust-strip {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
    }
}

/* --- RESPONSIVE: MOBILE --- */
@media (max-width: 600px) {
    body .ee-spp-pro.woocommerce,
    body .ee-spp-pro {
        padding: 0 16px !important;
        overflow-x: hidden !important;
    }
    body .ee-spp-pro .eep-product-layout {
        gap: 10px !important;
    }
    body .ee-spp-pro .eep-title {
        font-size: 20px !important;
        line-height: 1.25 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }
    body .ee-spp-pro .eep-price-block .eep-price,
    body .ee-spp-pro .eep-price-block .eep-price > .woocommerce-Price-amount,
    body .ee-spp-pro .eep-price-block .eep-price ins,
    body .ee-spp-pro .eep-price-block .eep-price ins *,
    body .ee-spp-pro .eep-price-block .eep-price bdi,
    body .ee-spp-pro .woocommerce-variation-price .price,
    body .ee-spp-pro .woocommerce-variation-price .price * {
        font-size: 22px !important;
    }
    body .ee-spp-pro .eep-price-block .eep-price del,
    body .ee-spp-pro .eep-price-block .eep-price del *,
    body .ee-spp-pro .woocommerce-variation-price .price del,
    body .ee-spp-pro .woocommerce-variation-price .price del * {
        font-size: 15px !important;
    }
    /* Gallery slider mobile adjustments */
    body .ee-spp-pro .eep-gallery-slider {
        margin: 0 -16px !important;
    }
    body .ee-spp-pro .eep-gallery-slide img {
        aspect-ratio: 3 / 4 !important;
    }
    /* Divider mobile */
    body .ee-spp-pro .eep-divider {
        margin: 0 0 10px 0 !important;
    }
    body .ee-spp-pro .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        height: 48px !important;
    }
    body .ee-spp-pro .eep-add-btn {
        height: 48px !important;
    }
    /* Sticky bar mobile */
    body .ee-spp-pro .eep-sticky-bar {
        left: 8px !important;
        right: 8px !important;
        transform: translateX(0) translateY(100px) !important;
        max-width: none !important;
        bottom: 8px !important;
    }
    body .ee-spp-pro .eep-sticky-bar.is-visible {
        transform: translateX(0) translateY(0) !important;
    }
    body .ee-spp-pro .eep-sticky-title {
        max-width: 140px !important;
    }
    /* Related products */
    body .ee-spp-pro .eep-related-card {
        flex: 0 0 160px !important;
    }
    body .ee-spp-pro .eep-related-strip {
        margin: 0 -16px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    /* Swatches compact on mobile */
    body .ee-spp-pro .ecom-essentials-swatch-label {
        flex: 1 1 auto !important;
        min-height: 38px !important;
        height: 38px !important;
        font-size: 12px !important;
    }
    body .ee-spp-pro .ecom-essentials-swatch-color {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }
    /* Short description slightly smaller */
    body .ee-spp-pro .eep-short-desc {
        font-size: 13px !important;
        margin: 0 0 8px 0 !important;
    }
    body .ee-spp-pro .eep-read-more-toggle {
        margin-bottom: 6px !important;
    }
    /* Meta actions tighter on mobile */
    body .ee-spp-pro .eep-meta-actions {
        flex-wrap: wrap !important;
        margin: 8px 0 10px 0 !important;
    }
    /* Trust badges wrap instead of scroll */
    body .ee-spp-pro .eep-trust-strip {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
        margin: 0 0 4px 0 !important;
    }
    body .ee-spp-pro .eep-trust-pill {
        font-size: 10px !important;
        padding: 5px 10px !important;
    }
    /* Breadcrumbs */
    body .ee-spp-pro .eep-breadcrumbs {
        font-size: 10px !important;
        padding: 12px 0 !important;
    }
    body .ee-spp-pro .eep-breadcrumb-current {
        max-width: 150px !important;
    }
    /* Accordions tighter padding */
    body .ee-spp-pro .eep-accordion-trigger {
        padding: 14px 0 !important;
        font-size: 12px !important;
    }
    body .ee-spp-pro .eep-accordion-content {
        font-size: 13px !important;
    }
    body .ee-spp-pro .eep-accordions {
        margin: 12px 0 !important;
    }
    /* Buy now button mobile */
    body .ee-spp-pro .eep-buy-now-btn {
        height: 44px !important;
    }
    /* FBT section mobile */
    body .ee-spp-pro .eep-fbt-section {
        padding: 16px !important;
    }
}

@media (max-width: 380px) {
    body .ee-spp-pro .eep-title {
        font-size: 18px !important;
    }
    body .ee-spp-pro .eep-price-block .eep-price,
    body .ee-spp-pro .eep-price-block .eep-price > .woocommerce-Price-amount,
    body .ee-spp-pro .eep-price-block .eep-price ins,
    body .ee-spp-pro .eep-price-block .eep-price ins *,
    body .ee-spp-pro .eep-price-block .eep-price bdi,
    body .ee-spp-pro .woocommerce-variation-price .price,
    body .ee-spp-pro .woocommerce-variation-price .price * {
        font-size: 20px !important;
    }
    body .ee-spp-pro .eep-sticky-info {
        display: none !important;
    }
    body .ee-spp-pro .eep-sticky-btn {
        width: 100% !important;
    }
    body .ee-spp-pro .eep-trust-pill {
        font-size: 9px !important;
        padding: 4px 8px !important;
    }
}

/* ==========================================================================
   SUPPRESS THEME & THIRD-PARTY STICKY ADD-TO-CART BARS
   ========================================================================== */
.ast-sticky-add-to-cart,
.ast-sticky-add-to-cart--top,
.ast-sticky-add-to-cart--bottom,
#ast-sticky-add-to-cart,
.kadence-sticky-add-to-cart,
#kadence-sticky-add-to-cart,
.kadence-sticky-cart-bottom,
.kadence-sticky-cart-top,
.kadence-sticky-cart,
#oceanwp-sticky-cart,
.owp-floating-bar,
.oceanwp-sticky-cart,
.product-sticky-add-to-cart,
.botiga-sticky-add-to-cart,
#botiga-sticky-add-to-cart,
.botiga-floating-bar,
.woodmart-sticky-btn,
.wd-sticky-btn,
.wd-sticky-btn-shown,
.ct-sticky-add-to-cart,
.woostify-sticky-add-to-cart,
.storefront-sticky-add-to-cart,
.shoptimizer-sticky-add-to-cart,
.shoptimizer-sticky-bar,
.generate-sticky-add-to-cart,
.porto-sticky-product,
.electro-sticky-add-to-cart,
.et-sticky-cart,
.merchant-sticky-add-to-cart,
.wl-sticky-add-to-cart,
.vi-wcaio-sticky-add-to-cart,
.woosbt-wrap,
.yith-wcas-sticky-bar,
.ee-spp-theme-sticky-suppressed,
body > [class*="sticky-add-to-cart"]:not(.ee-spp-sticky-cart):not(.eep-sticky-bar):not(#eep-sticky-bar):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
body > [class*="sticky_add_to_cart"]:not(.ee-spp-sticky-cart):not(.eep-sticky-bar):not(#eep-sticky-bar):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
body > [class*="sticky-cart"]:not(.ee-spp-sticky-cart):not(.eep-sticky-bar):not(#eep-sticky-bar):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
body > [id*="sticky-add-to-cart"]:not(#eep-sticky-bar):not(#ee-spp-sticky-cart):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
body > [id*="sticky_add_to_cart"]:not(#eep-sticky-bar):not(#ee-spp-sticky-cart):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
body > [id*="sticky-cart"]:not(#eep-sticky-bar):not(#ee-spp-sticky-cart):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
[class*="sticky-add-to-cart"]:not(.ee-spp-sticky-cart):not(.eep-sticky-bar):not(#eep-sticky-bar):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]),
[class*="sticky_add_to_cart"]:not(.ee-spp-sticky-cart):not(.eep-sticky-bar):not(#eep-sticky-bar):not([class*="ecom-essentials"]):not([id*="ecom-essentials"]) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-9999px) !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
