/**
 * KUAD Theme Designer - Single Product Page Styles
 * Mobile-First, Touch UI (TUI) & Neumorphic / Soft UI Design System
 * @package KUADThemeDesigner
 */

/* 1. Main Layout Container & Screen Reader Utility */
.ks-woocommerce-single-container {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: clamp(20px, 3vw, 36px) clamp(16px, 3vw, 32px) clamp(48px, 6vw, 80px) clamp(16px, 3vw, 32px) !important;
    box-sizing: border-box !important;
}

.screen-reader-text {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    word-wrap: normal !important;
}

/* 2. Top Breadcrumbs & Fast Action Bar */
.ks-single-product-top-bar {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 50px 10px 2px 10px !important;
    box-sizing: border-box !important;
}

.ks-single-product-top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.08);
}

.ks-single-product-breadcrumb-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }

.ks-product-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--ks-button-radius, 50px);
    background: var(--ks-block-bg-alt, #F5F6FA);
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.08);
}
.ks-product-back-link:hover { background: var(--ks-primary-color, #2D1A68); color: #FFFFFF !important; transform: translateX(-2px); }

.ks-single-product-breadcrumb-wrap .woocommerce-breadcrumb {
    display: inline-flex !important;
    align-items: center;
    font-size: 0.88rem;
    color: var(--ks-text-muted, #777777);
    margin: 0 !important;
    padding: 0 !important;
}
.ks-single-product-breadcrumb-wrap .woocommerce-breadcrumb a { color: var(--ks-text-muted, #777777); text-decoration: none; transition: color 0.2s ease; }
.ks-single-product-breadcrumb-wrap .woocommerce-breadcrumb a:hover { color: var(--ks-primary-color, #2D1A68); }

.ks-single-product-top-meta { display: inline-flex; align-items: center; gap: 12px; }

.ks-stock-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    background: rgba(27, 165, 157, 0.1);
    background: color-mix(in srgb, var(--ks-accent-color, #1BA59D) 12%, transparent);
    color: var(--ks-accent-color, #1BA59D);
    border: 1px solid rgba(27, 165, 157, 0.22);
    border: 1px solid color-mix(in srgb, var(--ks-accent-color, #1BA59D) 25%, transparent);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    transition: all 0.25s ease;
}
.ks-stock-pill.out-of-stock {
    background: rgba(181, 92, 128, 0.1) !important;
    background: color-mix(in srgb, var(--ks-secondary-color, #B55C80) 12%, transparent) !important;
    color: var(--ks-secondary-color, #B55C80) !important;
    border: 1px solid rgba(181, 92, 128, 0.25) !important;
    border: 1px solid color-mix(in srgb, var(--ks-secondary-color, #B55C80) 25%, transparent) !important;
}
.ks-stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ks-accent-color, #1BA59D);
    box-shadow: 0 0 8px var(--ks-accent-color, #1BA59D);
    flex-shrink: 0;
    display: inline-block;
}
.ks-stock-dot.out,
.ks-stock-pill.out-of-stock .ks-stock-dot {
    background: var(--ks-secondary-color, #B55C80) !important;
    box-shadow: 0 0 8px var(--ks-secondary-color, #B55C80) !important;
}
.ks-stock-label {
    display: inline-block;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: 0.01em;
}

.ks-btn-share-product {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: var(--ks-text-muted, #666666);
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 10px;
    transition: all 0.2s ease;
}
.ks-btn-share-product:hover { color: var(--ks-primary-color, #2D1A68); background: var(--ks-block-bg-alt, #F5F6FA); }

/* 3. 2-Column Product Showcase */
.ks-single-product-main-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    margin-top: 28px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 960px) {
    .ks-single-product-main-columns { flex-direction: column !important; gap: 28px !important; }
    .ks-single-product-gallery-col, .ks-single-product-summary-col { flex-basis: 100% !important; width: 100% !important; }
}

/* 4. Left Column: Sticky Gallery Card & Lightbox */
.ks-single-product-gallery-col { position: relative; }
@media (min-width: 961px) {
    .ks-single-product-gallery-col { position: sticky; top: 90px; align-self: flex-start; }
}

.ks-single-product-gallery-card {
    background: var(--ks-block-card-bg, #FFFFFF);
    border-radius: var(--ks-card-radius, 24px);
    padding: clamp(16px, 3vw, 24px);
    box-shadow: var(--ks-card-shadow, 6px 6px 24px rgba(0, 0, 0, 0.05));
    border: var(--ks-neumorphic-border, 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.06));
    position: relative;
    box-sizing: border-box;
}

.ks-single-product-gallery-card .woocommerce-product-gallery {
    margin: 0 !important; width: 100% !important; box-sizing: border-box; position: relative;
}

/* Remove duplicate / native WooCommerce gallery trigger */
.woocommerce-product-gallery__trigger,
a.woocommerce-product-gallery__trigger,
.ks-single-product-gallery-card .woocommerce-product-gallery__trigger {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.ks-single-product-gallery-card .woocommerce-product-gallery__wrapper {
    position: relative; border-radius: 18px; overflow: hidden; background: var(--ks-block-bg-alt, #F7F5FB);
}

.ks-single-product-gallery-card .woocommerce-product-gallery__image {
    cursor: zoom-in; transition: opacity 0.25s ease;
}

.ks-single-product-gallery-card .woocommerce-product-gallery__image img {
    border-radius: 18px !important; width: 100% !important; height: auto !important; display: block;
}

.ks-single-product-gallery-card .flex-control-thumbs {
    display: flex !important; flex-wrap: wrap; gap: 12px; margin-top: 18px !important; padding: 0 !important; list-style: none !important;
}

.ks-single-product-gallery-card .flex-control-thumbs li { flex: 0 0 calc(25% - 9px); margin: 0 !important; cursor: pointer; padding: 5px; }
.ks-single-product-gallery-card .flex-control-thumbs img {
    border-radius: 12px !important; border: 2px solid transparent !important; transition: all 0.2s ease; opacity: 0.65; width: 100% !important; height: auto !important;
}
.ks-single-product-gallery-card .flex-control-thumbs img.flex-active,
.ks-single-product-gallery-card .flex-control-thumbs img:hover {
    border-color: var(--ks-accent-color, #1BA59D) !important; opacity: 1 !important; transform: scale(1.04);
}

/* Magnifying Glass Zoom Badge (🔍) */
.ks-gallery-zoom-badge {
    position: absolute !important;
    top: clamp(20px, 3.5vw, 28px) !important;
    right: clamp(20px, 3.5vw, 28px) !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 99 !important;
    transition: all 0.2s ease !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.12) !important;
    margin-block-start: 0;
}
.ks-gallery-zoom-badge:hover {
    transform: scale(1.1) !important;
    background: var(--ks-primary-color, #2D1A68) !important;
    color: #FFFFFF !important;
}

/* Fullscreen Lightbox Modal */
.ks-gallery-lightbox-overlay {
    position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(15, 10, 30, 0.95);
    z-index: 999999;
    display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}
.ks-gallery-lightbox-overlay.is-active { opacity: 1; visibility: visible; }
.ks-gallery-lightbox-container { position: relative; max-width: 92vw; max-height: 90vh; display: flex; align-items: center; justify-content: center; }
.ks-gallery-lightbox-img { max-width: 90vw; max-height: 85vh; object-fit: contain; border-radius: 16px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5); user-select: none; }
.ks-gallery-lightbox-close {
    position: absolute; top: 20px; right: 24px; width: 44px; height: 44px; border-radius: 50%;
    background: rgba(255, 255, 255, 0.15); color: #FFFFFF; border: none; font-size: 1.5rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1000000; transition: all 0.2s ease;
}
.ks-gallery-lightbox-close:hover { background: #FFFFFF; color: var(--ks-primary-color, #2D1A68); transform: scale(1.08); }
.ks-gallery-lightbox-prev, .ks-gallery-lightbox-next {
    position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; border-radius: 50%;
    background: rgba(255, 255, 255, 0.2); color: #FFFFFF; border: none; font-size: 1.8rem;
    display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1000000; transition: all 0.2s ease;
}
.ks-gallery-lightbox-prev { left: 24px; }
.ks-gallery-lightbox-next { right: 24px; }
.ks-gallery-lightbox-prev:hover, .ks-gallery-lightbox-next:hover { background: #FFFFFF; color: var(--ks-primary-color, #2D1A68); transform: translateY(-50%) scale(1.08); }

/* 5. Right Column: Spacious Buy Box */
.ks-single-product-summary-card {
    background: var(--ks-block-card-bg, #FFFFFF); border-radius: var(--ks-card-radius, 24px);
    padding: clamp(28px, 4vw, 42px); box-shadow: var(--ks-card-shadow, 6px 6px 24px rgba(0, 0, 0, 0.05));
    border: var(--ks-neumorphic-border, 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.06));
    box-sizing: border-box; display: flex; flex-direction: column; gap: 22px;
}

.ks-product-meta-header { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px 12px; width: 100%; box-sizing: border-box; }
.ks-product-taxonomies-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.ks-product-category-badge, .ks-product-brand-badge { display: inline-flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px !important; margin: 0 !important; }
.ks-product-category-badge .wp-block-post-terms__separator, .ks-product-brand-badge .wp-block-post-terms__separator { display: none !important; }
.ks-product-category-badge a, .ks-product-brand-badge a {
    display: inline-block; padding: 5px 14px; border-radius: 50px; background: var(--ks-block-bg-alt, #F5F6FA);
    font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none !important;
    transition: all 0.2s ease-in-out; border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.05); white-space: nowrap;
}
.ks-product-category-badge a { color: var(--ks-secondary-color, #C05A86) !important; }
.ks-product-brand-badge a { color: var(--ks-accent-color, #1BA59D) !important; }
.ks-product-category-badge a:hover, .ks-product-brand-badge a:hover {
    transform: translateY(-1px); box-shadow: 0 2px 8px rgba(var(--ks-primary-rgb, 45, 26, 104), 0.12);
}

.ks-product-main-title, .ks-single-product-summary-card .wp-block-post-title {
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important; font-size: clamp(1.8rem, 3.5vw, 2.4rem) !important;
    font-weight: 800 !important; color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important; margin: 0 !important; line-height: 1.25 !important;
}

.ks-product-sub-title-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-top: -6px; }
.ks-product-sku-wrap {
    font-size: 0.85rem; font-weight: 500; color: var(--ks-text-muted, #888888);
    letter-spacing: 0.3px; white-space: nowrap; display: inline-flex; align-items: center; margin: 0;
}
.ks-product-rating-wrap { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ks-product-rating-wrap .star-rating { color: #F39C12; font-size: 1.05rem; }

/* 5.1 Centered Price Box - Elegant Flow Layout */
.ks-product-price-box {
    padding: 20px 24px !important;
    border-radius: 18px !important;
    background: var(--ks-block-bg-alt, #F7F5FB) !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.06) !important;
    box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.02) !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.ks-product-price-box .wc-block-components-product-price,
.ks-product-price-box .price,
.ks-product-price-box .wp-block-woocommerce-product-price,
.ks-product-price-box .kuad-price-wrapper {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
}

/* Horizontal Price Display (Amount + Dash + Amount + Discount) */
.ks-product-price-box .woocommerce-Price-amount,
.ks-product-price-box bdi,
.ks-product-price-box .price ins,
.ks-product-price-box .price > span:not(.ks-m-wc-extender-public-product-arg-tax-value):not(.kuad-discount-badge):not(.screen-reader-text),
.ks-product-price-box .wc-block-components-product-price > span:not(.ks-m-wc-extender-public-product-arg-tax-value):not(.kuad-discount-badge):not(.screen-reader-text) {
    font-size: clamp(1.8rem, 3.2vw, 2.2rem) !important;
    font-weight: 800 !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    display: inline !important;
    line-height: 1.2 !important;
}

.ks-product-price-box .kuad-price-wrapper > span[aria-hidden="true"] {
    font-size: clamp(1.6rem, 3vw, 2rem) !important;
    font-weight: 800 !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    display: inline !important;
    margin: 0 4px !important;
}

.ks-product-price-box .price del,
.ks-product-price-box del .woocommerce-Price-amount,
.ks-product-price-box del bdi {
    color: var(--ks-text-muted, #A0A0A0) !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    margin-right: 8px !important;
}

.ks-product-price-box .kuad-discount-badge {
    display: inline-block !important;
    background: var(--ks-secondary-color, #C05A86) !important;
    color: #FFFFFF !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 6px !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
    line-height: 1.4 !important;
}

/* National Tax Subtitle: Small, Centered, One Single Line */
.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value,
.ks-product-price-box span.ks-m-wc-extender-public-product-arg-tax-value,
.ks-product-price-box div.ks-m-wc-extender-public-product-arg-tax-value,
.ks-product-price-box .wc-block-components-product-price .ks-m-wc-extender-public-product-arg-tax-value,
.ks-product-price-box .kuad-price-wrapper .ks-m-wc-extender-public-product-arg-tax-value,
.ks-m-wc-extender-public-product-arg-tax-value {
    display: block !important;
    width: 100% !important;
    font-family: var(--ks-body-font, 'Poppins', sans-serif) !important;
    font-size: 0.82rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    color: var(--ks-text-muted, #777777) !important;
    margin-top: 6px !important;
    margin-bottom: 2px !important;
    text-align: center !important;
    clear: both !important;
}

.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value *,
.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value span,
.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value bdi,
.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value .woocommerce-Price-amount,
.ks-product-price-box .ks-m-wc-extender-public-product-arg-tax-value .woocommerce-Price-currencySymbol {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: var(--ks-text-muted, #666666) !important;
    display: inline !important;
    line-height: inherit !important;
}

.ks-product-installments-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--ks-secondary-color, #C05A86) !important;
    text-align: center !important;
}

.ks-product-short-description { font-size: 0.98rem; line-height: 1.7; color: var(--ks-text-color, #555555); }

/* Payment Methods & Trust Badges */
.ks-product-payment-methods-card {
    padding: 16px 20px; border-radius: 16px; background: var(--ks-block-bg-alt, #F7F5FB); border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.05);
}
.ks-payment-methods-header {
    display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 0.88rem; font-weight: 700; color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68));
}
.ks-product-trust-badges-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ks-trust-badge-item {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px;
    background: var(--ks-block-bg-alt, #F7F5FB); border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.04);
}
.ks-trust-icon { font-size: 1.5rem; }
.ks-trust-text strong { display: block; font-size: 0.85rem; color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)); }
.ks-trust-text small { display: block; font-size: 0.75rem; color: var(--ks-text-muted, #777777); }

/* 6. Tabs & Extended Info Soft UI - Explicit Vertical Spacing */
.ks-product-extended-details-group {
    margin-top: clamp(48px, 6vw, 72px) !important; margin-bottom: 0 !important; width: 100% !important; clear: both !important;
}

.ks-product-tabs-card {
    background: var(--ks-block-card-bg, #FFFFFF); border-radius: var(--ks-card-radius, 24px); padding: clamp(24px, 4vw, 42px);
    box-shadow: var(--ks-card-shadow, 6px 6px 24px rgba(0, 0, 0, 0.05)); border: var(--ks-neumorphic-border, 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.06));
}

.woocommerce-tabs ul.tabs {
    display: flex !important; flex-wrap: wrap !important; gap: 12px !important; padding: 0 0 20px 0 !important;
    margin: 0 0 28px 0 !important; border-bottom: 2px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.08) !important; list-style: none !important;
}

.woocommerce-tabs ul.tabs li {
    background: var(--ks-block-bg-alt, #F5F6FA) !important; border-radius: var(--ks-button-radius, 14px) !important;
    border: none !important; margin: 0 !important; padding: 0 !important; transition: all 0.2s ease !important;
}

.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li a::before,
.woocommerce-tabs ul.tabs li a::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important; content: none !important; border: none !important; box-shadow: none !important;
}

.woocommerce-tabs ul.tabs li a {
    display: block !important; padding: 12px 24px !important; font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    font-size: 1rem !important; font-weight: 600 !important; color: var(--ks-text-color, #444444) !important; text-decoration: none !important;
}

.woocommerce-tabs ul.tabs li.active, .woocommerce-tabs ul.tabs li:hover { background: var(--ks-primary-color, #2D1A68) !important; }
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li:hover a { color: #FFFFFF !important; }

.woocommerce-Tabs-panel { font-size: 1rem; line-height: 1.8; color: var(--ks-text-color, #444444); }
.woocommerce-Tabs-panel h2 {
    font-family: var(--ks-heading-font, 'Poppins', sans-serif); font-size: 1.5rem; font-weight: 700;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)); margin-bottom: 18px;
}

/* 7. Related Products Header & Dynamic Empty State */
.ks-product-related-group { margin-top: clamp(56px, 7vw, 84px) !important; margin-bottom: 0 !important; width: 100% !important; clear: both !important; }
.ks-product-related-group:not(:has(li.product, .product, .wc-block-grid__product)),
.ks-product-related-group:has(.ks-related-products-catalog:empty) { display: none !important; }

.ks-related-products-header { text-align: center; margin-bottom: 32px; }
.ks-related-products-title { font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important; font-size: clamp(1.6rem, 3.2vw, 2rem) !important; font-weight: 800 !important; color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important; margin: 0 0 8px 0 !important; }
.ks-related-products-subtitle { font-size: 1rem; color: var(--ks-text-muted, #777777); margin: 0; }
.ks-related-products-catalog .related > h2 { display: none !important; }
.ks-related-products-catalog .related ul.products { margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(var(--ks-related-columns, 4), 1fr) !important; gap: 24px !important; list-style: none !important; }
@media (max-width: 1024px) { .ks-related-products-catalog .related ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; } }
@media (max-width: 600px) { .ks-related-products-catalog .related ul.products { grid-template-columns: 1fr !important; gap: 16px !important; } }

/* 8. Sticky Add-to-Cart Floating Bar (Tablets and Mobile Only: <= 1024px) */
.ks-sticky-add-to-cart-bar {
    display: none !important;
    position: fixed; bottom: 0; left: 0; width: 100%; background: var(--ks-block-card-bg, #FFFFFF);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1); border-top: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.08);
    padding: 12px 24px; box-sizing: border-box; z-index: 9990; align-items: center; justify-content: space-between;
    gap: 16px; transform: translateY(100%); transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@media (max-width: 1024px) {
    .ks-sticky-add-to-cart-bar {
        display: flex !important;
    }
}

.ks-sticky-add-to-cart-bar.is-visible { transform: translateY(0); }

.ks-sticky-product-info { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ks-sticky-thumb { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; background: var(--ks-block-bg-alt, #F5F6FA); }
.ks-sticky-details { min-width: 0; }
.ks-sticky-title { font-family: var(--ks-heading-font, 'Poppins', sans-serif); font-size: 0.95rem; font-weight: 700; color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ks-sticky-price { font-size: 0.95rem; font-weight: 700; color: var(--ks-primary-color, #2D1A68); margin: 0; }

.ks-btn-sticky-buy {
    min-height: 48px; padding: 10px 28px; border-radius: var(--ks-button-radius, 14px);
    background-color: var(--ks-button-submit-bg-color, var(--ks-accent-color, #1BA59D)); color: #FFFFFF !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif); font-size: var(--ks-font-size-button, 0.95rem); font-weight: 700; border: none; cursor: pointer; white-space: nowrap; transition: all 0.2s ease;
}
.ks-btn-sticky-buy:hover { background-color: var(--ks-accent-dark, var(--ks-secondary-color, #C05A86)); transform: translateY(-2px); }

@media (max-width: 768px) {
    .ks-sticky-add-to-cart-bar { bottom: 0 !important; padding: 10px 16px !important; }
    body:has(.ks-mobile-bottom-nav) .ks-sticky-add-to-cart-bar { bottom: 60px !important; }
    .ks-sticky-details { max-width: 140px; }
}

/* 9. Out of Stock Neumorphic Alert Card */
.ks-out-of-stock-card {
    background: #FDF8F7;
    border-radius: var(--ks-card-radius, 18px);
    padding: 22px 24px;
    border: 1px solid rgba(231, 76, 60, 0.2);
    box-shadow: var(--ks-card-shadow, 4px 4px 16px rgba(231, 76, 60, 0.06));
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 10px 0 16px 0;
    box-sizing: border-box;
}

.ks-out-of-stock-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #C0392B;
}

.ks-out-of-stock-card-header .dashicons {
    font-size: 1.6rem;
    width: 28px;
    height: 28px;
}

.ks-out-of-stock-title {
    font-family: var(--ks-heading-font, 'Poppins', sans-serif);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
    color: #78281F;
}

.ks-out-of-stock-desc {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #555555;
    margin: 0;
}

.ks-btn-consultar-whatsapp {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    border-radius: var(--ks-button-radius, 14px) !important;
    background-color: #25D366 !important;
    color: #FFFFFF !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    font-size: var(--ks-font-size-button, 0.95rem) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.25) !important;
    margin-top: 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    border: none !important;
}

.ks-btn-consultar-whatsapp:hover {
    background-color: #1EBE5D !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35) !important;
}

.ks-btn-consultar-whatsapp:focus-visible {
    outline: 2px solid #1EBE5D !important;
    outline-offset: 2px !important;
}

.ks-btn-sticky-buy:disabled,
.ks-btn-sticky-buy.is-out-of-stock {
    background-color: #BDC3C7 !important;
    color: #FFFFFF !important;
    cursor: not-allowed !important;
    opacity: 0.8 !important;
    transform: none !important;
    box-shadow: none !important;
}

.ks-btn-sticky-buy.is-out-of-stock-consultar {
    background-color: #25D366 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.25) !important;
    opacity: 1 !important;
}

.ks-btn-sticky-buy.is-out-of-stock-consultar:hover {
    background-color: #1EBE5D !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(37, 211, 102, 0.35) !important;
}
