/* cart-controls.css */
/* Separate fixed controls on every page, including the mobile purchase bar. */
body #esc-fab-wrap #esc-fab {
    left: 12px !important;
    right: auto !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    height: auto !important;
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 12px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    z-index: 9997 !important;
}
body #esc-fab .esc-fab-icon { font-size: 22px; line-height: 1; }
body #esc-fab .esc-badge {
    position: static;
    min-width: 22px;
    height: 22px;
    box-sizing: border-box;
    padding: 0 5px;
    background: #fff;
    color: #1247ff;
    font-size: 12px;
    line-height: 22px;
    border-radius: 11px;
}
body #esc-fab:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
body.esc-open #esc-fab-wrap { visibility: hidden; }
body.woocommerce-cart #esc-fab-wrap #esc-fab,
body.woocommerce-checkout #esc-fab-wrap #esc-fab { display: none; }
@media (max-width: 767px) {
    body #esc-fab-wrap #esc-fab { left: 10px !important; }
    body a.WhatsappFlotanteLetra { right: 12px !important; left: auto !important; }
    body.single-product.ecuapro-mobile-buy-visible #esc-fab-wrap #esc-fab {
        bottom: calc(var(--ecuapro-mobile-buy-height, 96px) + 12px + env(safe-area-inset-bottom, 0px)) !important;
    }
}
@media (max-width: 360px) {
    body #esc-fab-wrap #esc-fab { padding: 10px 8px; gap: 4px; font-size: 12px; }
    body #esc-fab .esc-fab-icon { font-size: 20px; }
}

/* whatsapp-preview.css */
/* Staging only: clearer floating contact action on mobile, across the site. */
@media (max-width: 767px) {
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        width: 156px !important;
        max-width: calc(100vw - 164px) !important;
        min-width: 0 !important;
        min-height: 56px !important;
        height: auto !important;
        padding: 8px 10px !important;
        right: 12px !important;
        left: auto !important;
        bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        border: 1px solid #066b3b !important;
        border-radius: 18px !important;
        background: #087f46 !important;
        color: #fff !important;
        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        text-align: left !important;
        box-shadow: 0 4px 14px rgba(5, 71, 38, .28) !important;
        -webkit-tap-highlight-color: rgba(8, 127, 70, .15);
    }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra .w-label {
        display: block !important;
        color: #fff !important;
        font-size: inherit !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra img {
        flex: 0 0 26px !important;
        width: 26px !important;
        min-width: 26px !important;
        max-width: 26px !important;
        height: 26px !important;
        padding: 2px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        object-fit: contain !important;
        border-radius: 50% !important;
        background: #fff !important;
    }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra:active { background: #066b3b !important; }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra:focus-visible { outline: 3px solid #1648e8 !important; outline-offset: 3px; }
}
@media (max-width: 360px) {
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra { width: 140px !important; gap: 6px !important; padding: 8px 8px !important; font-size: 13px !important; }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra img { flex-basis: 24px !important; width: 24px !important; min-width: 24px !important; max-width: 24px !important; height: 24px !important; }
}
/* Keep both fixed controls on one row on very narrow phones. */
@media (max-width: 340px) {
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra {
        width: 136px !important;
        max-width: calc(100vw - 184px) !important;
        padding: 8px 7px !important;
        gap: 5px !important;
        font-size: 13px !important;
    }
    body.ecuapro-design-v2 a.WhatsappFlotanteLetra img { flex-basis: 24px !important; width: 24px !important; min-width: 24px !important; max-width: 24px !important; height: 24px !important; }
}

/* cart-preview.css */
/* Staging-only cart control; retain the original side-cart interactions. */
body.ecuapro-design-v2 #esc-fab-wrap #esc-fab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 56px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    border: 1px solid #123bc2 !important;
    border-radius: 18px !important;
    background: #1648e8 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: 0 4px 14px rgba(22, 72, 232, .25) !important;
}
body.ecuapro-design-v2 #esc-fab .ecuapro-cart-label { color: #fff !important; }
body.ecuapro-design-v2 #esc-fab .esc-fab-icon {
    display: block !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 0 !important;
    background: url('cart-preview.svg') center / contain no-repeat !important;
}
body.ecuapro-design-v2 #esc-fab .esc-badge {
    flex: 0 0 auto !important;
    min-width: 24px !important;
    height: 24px !important;
    padding: 0 6px !important;
    border-radius: 50px !important;
    background: #fff !important;
    color: #1648e8 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
}
body.ecuapro-design-v2 #esc-fab-wrap #esc-fab:active { background: #123bc2 !important; }
body.ecuapro-design-v2 #esc-fab-wrap #esc-fab:focus-visible { outline: 3px solid #93c5fd !important; outline-offset: 3px; }
body.ecuapro-design-v2.woocommerce-cart #esc-fab-wrap #esc-fab,
body.ecuapro-design-v2.woocommerce-checkout #esc-fab-wrap #esc-fab { display: none !important; }
@media (max-width: 767px) {
    body.ecuapro-design-v2 #esc-fab-wrap #esc-fab { bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important; }
    body.ecuapro-design-v2 #esc-panel .esc-actions .esc-view { display: none !important; }
    body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 44px;
        padding: 10px 14px !important;
        box-sizing: border-box;
        border: 1px solid #b8c9ee !important;
        border-radius: 11px !important;
        background: #f8faff !important;
        color: #244b91 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }
    body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue::before {
        content: '\2190';
        font-size: 18px;
        line-height: 1;
    }
    body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue:hover,
    body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue:active { background: #edf3ff !important; border-color: #8ea9df !important; }
}
@media (max-width: 360px) {
    body.ecuapro-design-v2 #esc-fab-wrap #esc-fab { gap: 5px !important; padding: 9px 9px !important; font-size: 13px !important; }
    body.ecuapro-design-v2 #esc-fab .esc-fab-icon { flex-basis: 20px !important; width: 20px !important; height: 20px !important; }
    body.ecuapro-design-v2 #esc-fab .esc-badge { min-width: 22px !important; height: 22px !important; padding: 0 5px !important; line-height: 22px !important; }
}

/* header-preview.css */
/* Retain the original artwork, with a light reading area behind the brand. */
body.ecuapro-design-v2 .main-header__bg-overlay {
    background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .92) 48%, rgba(255, 255, 255, .4) 78%, rgba(255, 255, 255, .08) 100%) !important;
    opacity: 1 !important;
}
body.ecuapro-design-v2 .main-header .site-description {
    color: #0f172a !important;
    font-weight: 600 !important;
}

/* header-cart.css */
body.ecuapro-design-v2 #ecuapro-header-cart {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    box-sizing: border-box;
    border: 1px solid #d4def3;
    border-radius: 12px;
    background: #fff;
    color: #1648e8;
    text-decoration: none;
    box-shadow: 0 2px 7px rgba(22, 72, 232, .1);
}
body.ecuapro-design-v2 .ecuapro-header-cart__icon {
    display: block;
    width: 27px;
    height: 27px;
    background: #1648e8;
    -webkit-mask: url('cart-preview.svg') center / contain no-repeat;
    mask: url('cart-preview.svg') center / contain no-repeat;
}
body.ecuapro-design-v2 .ecuapro-header-cart__count {
    position: absolute;
    top: -4px;
    right: -4px;
    display: block;
    min-width: 20px;
    height: 20px;
    box-sizing: border-box;
    padding: 0 4px;
    border: 2px solid #fff;
    border-radius: 20px;
    background: #1648e8;
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}
body.ecuapro-design-v2 #ecuapro-header-cart:hover { background: #f0f5ff; }
body.ecuapro-design-v2 #ecuapro-header-cart:focus-visible { outline: 3px solid #1648e8; outline-offset: 3px; }
@media (min-width: 768px) {
    body.ecuapro-design-v2 .header-inner:has(> #ecuapro-header-cart) { padding-right: 80px !important; }
}
@media (max-width: 767px) {
    body.ecuapro-design-v2 #ecuapro-header-cart { top: 4px; right: 12px; transform: none; width: 38px; height: 38px; border-radius: 10px; }
    body.ecuapro-design-v2 .ecuapro-header-cart__icon { width: 24px; height: 24px; }
    body.ecuapro-design-v2 .ecuapro-header-cart__count { top: -3px; right: -3px; min-width: 18px; height: 18px; font-size: 10px; line-height: 14px; }
    body.ecuapro-design-v2 .header-inner:has(> #ecuapro-header-cart) > .site-branding { width: 100% !important; box-sizing: border-box; padding-right: 54px !important; }
    body.ecuapro-design-v2 .header-inner:has(> #ecuapro-header-cart) > .site-branding > div { min-width: 0; }
}

/* cart-notice-preview.css */
/* Compact only the successful add-to-cart confirmation; retain other notices. */
body.ecuapro-design-v2 .woocommerce-message:has(.ecuapro-cart-added-copy) {
    position: relative;
    display: block;
    min-height: 0 !important;
    padding: 5px 10px 5px 30px !important;
    margin: 0 0 6px !important;
    box-sizing: border-box;
    border: 1px solid #bbf7d0 !important;
    border-left: 3px solid #16a34a !important;
    border-radius: 8px;
    background: #f0fdf4;
    color: #166534;
    font-size: 12px !important;
    line-height: 1.25 !important;
    box-shadow: none;
}
body.ecuapro-design-v2 .woocommerce-message:has(.ecuapro-cart-added-copy)::before {
    content: '✓';
    position: absolute;
    top: 5px !important;
    left: 10px !important;
    color: #15803d;
    font-family: inherit !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
}
body.ecuapro-design-v2 .woocommerce-message:has(.ecuapro-cart-added-copy):focus {
    outline: 2px solid #86efac;
    outline-offset: 2px;
}
body.ecuapro-design-v2 .ecuapro-cart-added-copy { display: block; }
body.ecuapro-design-v2 .ecuapro-cart-added-guidance {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
}
body.ecuapro-design-v2 .woocommerce-notices-wrapper:has(.ecuapro-cart-added-copy) { padding: 0 !important; margin: 0 !important; }
/* Also cover cached navigation and dynamically refreshed cart markup. */
body.woocommerce-cart .woocommerce-message:has(.ecuapro-cart-added-copy),
body.woocommerce-checkout .woocommerce-message:has(.ecuapro-cart-added-copy) {
    display: none !important;
}

/* mobile-navigation.css */
/* Reposition the existing controls: retain category-drawer events and links. */
@media (max-width: 767px) {
    body.ecuapro-design-v2:has(.mobile-actions) {
        --ecuapro-bottom-nav-height: 48px;
        padding-bottom: calc(var(--ecuapro-bottom-nav-height) + 76px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.ecuapro-design-v2 .mobile-actions {
        position: fixed !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: calc(var(--ecuapro-bottom-nav-height) + env(safe-area-inset-bottom, 0px)) !important;
        min-height: 0 !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 3px 12px calc(3px + env(safe-area-inset-bottom, 0px)) !important;
        border: 0;
        border-top: 1px solid #dbe4ef;
        background: #fff;
        box-shadow: 0 -2px 10px rgba(15, 23, 42, .07);
        z-index: 9995 !important;
    }
    body.ecuapro-design-v2 .mobile-actions .ma-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        min-height: 40px !important;
        box-sizing: border-box;
        margin: 0 !important;
        padding: 0 10px !important;
        border: 0 !important;
        border-radius: 8px;
        background: transparent !important;
        color: #334155 !important;
        font-family: inherit;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-decoration: none;
        box-shadow: none !important;
    }
    body.ecuapro-design-v2 .mobile-actions .ma-catalogo { order: 0; }
    body.ecuapro-design-v2 .mobile-actions .ma-cat { order: 1; border-left: 1px solid #e2e8f0 !important; border-radius: 0; }
    body.ecuapro-design-v2 .mobile-actions .ma-icon {
        display: block;
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
        font-size: 0 !important;
        background: #1648e8;
        -webkit-mask: url('catalog-preview.svg') center / contain no-repeat;
        mask: url('catalog-preview.svg') center / contain no-repeat;
    }
    body.ecuapro-design-v2 .mobile-actions .ma-cat .ma-icon {
        -webkit-mask-image: url('categories-preview.svg');
        mask-image: url('categories-preview.svg');
    }
    body.ecuapro-design-v2 .mobile-actions .ma-btn:active,
    body.ecuapro-design-v2 .mobile-actions .ma-cat[aria-expanded="true"] { background: #eff6ff !important; color: #1648e8 !important; }
    body.ecuapro-design-v2 .mobile-actions .ma-btn:focus-visible { outline: 2px solid #1648e8; outline-offset: -3px; }
    body.ecuapro-design-v2 #mobile-cats-drawer { z-index: 10000 !important; }
    body.ecuapro-design-v2:has(.mobile-actions) #esc-fab-wrap #esc-fab,
    body.ecuapro-design-v2:has(.mobile-actions) a.WhatsappFlotanteLetra {
        bottom: calc(var(--ecuapro-bottom-nav-height) + 8px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* floating-transparency-preview.css */
/* Approved mobile design: transparent backgrounds, solid labels and icons. */
@media (max-width: 767px) {
    body.ecuapro-design-v2.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab {
        background: rgba(14, 56, 200, .86) !important;
        box-shadow: 0 4px 12px rgba(22, 72, 232, .18) !important;
    }
    body.ecuapro-design-v2.ecuapro-translucent-buttons a.WhatsappFlotanteLetra {
        background: rgba(4, 105, 55, .86) !important;
        box-shadow: 0 4px 12px rgba(5, 71, 38, .18) !important;
    }
    body.ecuapro-design-v2.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab:active { background: #123bc2 !important; }
    body.ecuapro-design-v2.ecuapro-translucent-buttons a.WhatsappFlotanteLetra:active { background: #066b3b !important; }
}

/* compra-movil.css */
.ecuapro-mobile-buy { display: none; }
.ecuapro-mobile-buy[hidden] { display: none !important; }
body.single-product.ecuapro-design-v2 .top-header { display: none !important; }
body.single-product.ecuapro-design-v2 { padding-top: 0 !important; }

/* Staging preview: reserve thumbnail space before FlexSlider measures slides. */
@media (max-width: 767px) {
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery:has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image) {
        position: relative;
        box-sizing: border-box;
        padding-right: 74px !important;
    }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: flex-start !important;
        gap: 8px;
        width: 64px !important;
        height: auto !important;
        max-height: var(--ecuapro-gallery-height, 260px);
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scrollbar-width: thin !important;
    }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li {
        flex: 0 0 52px !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        float: none !important;
        display: block;
    }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 48px !important;
        height: 52px !important;
        min-height: 0 !important;
        max-height: 52px !important;
        box-sizing: border-box;
        object-fit: contain;
    }
}

@media (max-width: 767px) {
    body.single-product .product-layout { grid-template-columns: minmax(0, 1fr) !important; }
    body.single-product .product-main, body.single-product .product-flex, body.single-product .summary { min-width: 0 !important; }
    body.single-product .product-flex { gap: 16px !important; }
    body.single-product .woocommerce-product-gallery {
        --ecuapro-gallery-height: clamp(200px, 30svh, 260px);
        margin-bottom: 0 !important;
    }
    body.single-product .woocommerce-product-gallery .flex-viewport {
        height: var(--ecuapro-gallery-height, 260px) !important;
        width: 100% !important;
    }
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
        height: var(--ecuapro-gallery-height, 260px) !important;
    }
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }
    body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
        display: block;
        height: 100% !important;
        width: 100% !important;
        max-height: 100% !important;
        object-fit: contain;
        object-position: center;
    }
    body.single-product .woocommerce-product-gallery .flex-control-thumbs {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        min-height: 0 !important;
        height: auto !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
    }
    body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
        flex: 0 0 48px;
        width: 48px !important;
        height: 52px;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
        box-sizing: border-box;
    }
    body.single-product.ecuapro-mobile-buy-enabled {
        padding-bottom: calc(var(--ecuapro-mobile-buy-height, 96px) + 16px) !important;
    }
    .ecuapro-mobile-buy {
        display: grid;
        grid-template-columns: minmax(80px, .8fr) minmax(0, 1.4fr);
        align-items: center;
        gap: 10px;
        position: fixed;
        z-index: 9998;
        left: 0;
        right: 0;
        bottom: 0;
        box-sizing: border-box;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid #dbe4ef;
        box-shadow: 0 -4px 18px rgba(15, 23, 42, .09);
        color: #0f172a;
        font-family: inherit;
        line-height: 1.2;
    }
    .ecuapro-mobile-buy__price, .ecuapro-mobile-buy__action { min-width: 0; }
    .ecuapro-mobile-buy__label { display: block; font-size: 12px; color: #64748b; margin-bottom: 3px; }
    .ecuapro-mobile-buy__amount { display: block; font-size: 23px; font-weight: 700; line-height: 1.2; }
    .ecuapro-mobile-buy__amount ins { background: transparent; text-decoration: none; }
    .ecuapro-mobile-buy__amount del { display: block; font-size: 12px; color: #64748b; font-weight: 400; }
    .ecuapro-mobile-buy__amount .woocommerce-price-suffix { font-size: 11px; font-weight: 400; }
    .ecuapro-mobile-buy__button {
        appearance: none;
        width: 100%;
        min-height: 46px;
        padding: 10px 12px;
        border: 0;
        border-radius: 10px;
        background: #1648e8;
        color: #fff;
        font: inherit;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.25;
        cursor: pointer;
        box-shadow: none;
    }
    .ecuapro-mobile-buy__button:hover { background: #123bc2; }
    .ecuapro-mobile-buy__button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 2px; }
    .ecuapro-mobile-buy__button:disabled { opacity: .65; cursor: wait; }
    .ecuapro-mobile-buy__hint { display: block; margin-top: 4px; font-size: 10px; line-height: 1.3; text-align: center; color: #475569; }
    body.single-product.ecuapro-mobile-buy-visible a.WhatsappFlotanteLetra {
        bottom: calc(var(--ecuapro-mobile-buy-height, 96px) + 12px) !important;
    }
    body.single-product.ecuapro-mobile-buy-visible #esc-fab {
        bottom: calc(var(--ecuapro-mobile-buy-height, 96px) + 12px) !important;
    }
    @media (prefers-reduced-motion: reduce) {
        body.single-product .woocommerce-product-gallery .flex-viewport { transition: none !important; }
    }
}

/* first-view.css */
/* Mobile staging preview: purchase choices before the long summary. */
/* Product-page preview: use the existing floating WhatsApp entry only. */
body.single-product.ecuapro-design-v2 .summary .ecuapro-whatsapp-wrap,
body.single-product.ecuapro-design-v2 .summary a.botonWhatsapp { display: none !important; }
body.single-product.ecuapro-design-v2 a.WhatsappFlotanteLetra {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
@media (max-width: 767px) {
    body.single-product.ecuapro-design-v2 .main-header { min-height: 0 !important; }
    body.single-product.ecuapro-design-v2 .header-inner { padding: 6px 12px !important; gap: 6px !important; }
    body.single-product.ecuapro-design-v2 .site-branding { min-height: 0 !important; gap: 8px !important; }
    body.single-product.ecuapro-design-v2 .custom-logo { width: 36px !important; height: 36px !important; }
    body.single-product.ecuapro-design-v2 .site-title { font-size: 18px !important; line-height: 22px !important; }
    body.single-product.ecuapro-design-v2 .site-description { margin-top: 0 !important; font-size: 11px !important; line-height: 14px !important; }
    body.single-product.ecuapro-design-v2 .hs-form,
    body.single-product.ecuapro-design-v2 .hs-form input[type=search],
    body.single-product.ecuapro-design-v2 .hs-form button { height: 44px !important; min-height: 44px !important; }
    body.single-product.ecuapro-design-v2 .product-flex { padding: 8px !important; gap: 10px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery { --ecuapro-gallery-height: clamp(240px, 34svh, 300px); }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs { gap: 6px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li { flex-basis: 46px !important; height: 46px !important; min-height: 46px !important; max-height: 46px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li img { height: 46px !important; max-height: 46px !important; }
    body.single-product.ecuapro-design-v2 .summary { display: flex !important; flex-direction: column; }
    body.single-product.ecuapro-design-v2 .summary > .product_title { order: 0; font-size: 18px !important; line-height: 1.2 !important; margin: 0 0 6px !important; }
    body.single-product.ecuapro-design-v2 .summary > .price { order: 1; font-size: 26px !important; line-height: 1.2 !important; margin: 0 0 8px !important; }
    body.single-product.ecuapro-design-v2 .summary > .ecuapro-buy-panel { order: 2; padding: 8px !important; margin: 4px 0 10px !important; }
    body.single-product.ecuapro-design-v2 .summary > .woocommerce-product-details__short-description { order: 3; margin-top: 0 !important; }
    body.single-product.ecuapro-design-v2 .summary > .product_meta { order: 4; }
    body.single-product.ecuapro-design-v2 .ecuapro-shipping-price-note { margin: 0 0 4px !important; font-size: 11px !important; line-height: 15px !important; }
    body.single-product.ecuapro-design-v2 .ecuapro-availability { font-size: 12px !important; line-height: 16px !important; padding: 2px 6px !important; margin: 0 0 6px !important; }
    body.single-product.ecuapro-design-v2 .summary form.cart { display: grid !important; grid-template-columns: 94px minmax(0, 1fr) 68px; gap: 6px !important; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .quantity { grid-column: 1; grid-row: 1; width: 94px !important; min-width: 0 !important; height: 44px !important; margin: 0 !important; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .single_add_to_cart_button { grid-column: 2; grid-row: 1; width: 100% !important; min-width: 0 !important; min-height: 44px !important; height: auto !important; padding: 6px 8px !important; font-size: 14px !important; margin: 0 !important; white-space: normal !important; line-height: 1.2 !important; text-align: center; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .ecuapro-whatsapp-wrap { grid-column: 1 / -1; grid-row: 2; width: 100% !important; margin: 0 !important; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .ecuapro-payment-hint { grid-column: 3; grid-row: 1; width: auto !important; min-width: 0 !important; max-width: none !important; height: auto !important; min-height: 0 !important; padding: 0 0 0 4px !important; align-self: center; justify-content: flex-start; text-align: left; }
    body.single-product.ecuapro-design-v2 .ecuapro-payment-hint > span { width: 100%; }
    body.single-product.ecuapro-design-v2 .ecuapro-payment-hint strong { display: block; font-size: 11px !important; line-height: 1.2 !important; }
    body.single-product.ecuapro-design-v2 .ecuapro-payment-hint small { display: block; font-size: 10px !important; line-height: 1.2 !important; margin-top: 2px; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .ecuapro-whatsapp-wrap { padding-top: 3px !important; }
    body.single-product.ecuapro-design-v2 .botonWhatsapp {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 50px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 11px 14px !important;
        border: 1px solid #08713f !important;
        border-radius: 12px !important;
        background: #087f46 !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
        box-sizing: border-box;
        box-shadow: 0 3px 8px rgba(8, 127, 70, .16) !important;
        -webkit-tap-highlight-color: rgba(8, 127, 70, .15);
    }
    body.single-product.ecuapro-design-v2 .botonWhatsapp img {
        display: block !important;
        flex: 0 0 24px !important;
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        object-fit: contain;
    }
    body.single-product.ecuapro-design-v2 .botonWhatsapp:active { background: #066b3b !important; box-shadow: 0 1px 3px rgba(8, 127, 70, .16) !important; }
    body.single-product.ecuapro-design-v2 .botonWhatsapp:focus-visible { outline: 3px solid #1648e8 !important; outline-offset: 3px; }
}
@media (max-width: 767px) and (max-height: 700px) {
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery { --ecuapro-gallery-height: clamp(210px, 31svh, 230px); }
    body.single-product.ecuapro-design-v2 .summary > .product_title { font-size: 17px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs { gap: 4px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li { flex-basis: 40px !important; height: 40px !important; min-height: 40px !important; max-height: 40px !important; }
    body.single-product.ecuapro-design-v2 .woocommerce-product-gallery .flex-control-thumbs li img { height: 40px !important; max-height: 40px !important; }
}
@media (max-width: 360px) {
    body.single-product.ecuapro-design-v2 .summary form.cart { grid-template-columns: 94px minmax(0, 1fr) 64px; }
    body.single-product.ecuapro-design-v2 .summary form.cart > .single_add_to_cart_button { font-size: 13px !important; padding: 6px 4px !important; }
}

/* design-v3.css */
/* Reserve the mobile gallery before FlexSlider creates its viewport. */
@media(max-width:767px) {
 body.ecuapro-design-v2 .header-inner > .site-branding { width:100%!important; box-sizing:border-box; padding-right:54px!important; }
 body.single-product.ecuapro-design-v2 .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper { height:var(--ecuapro-gallery-height,260px)!important; overflow:hidden; }
 body.single-product.ecuapro-design-v2 .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { display:none!important; }
}
/* Same two actions and hierarchy in the side cart on every screen. */
body.ecuapro-design-v2 #esc-panel .esc-actions .esc-view { display:none!important; }
body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue { display:flex!important; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px!important; box-sizing:border-box; border:1px solid #b8c9ee!important; border-radius:11px!important; background:#f8faff!important; color:#244b91!important; font-size:14px!important; font-weight:600!important; line-height:1.25!important; text-decoration:none!important; box-shadow:none!important; }
body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue::before { content:'\2190'; font-size:18px; line-height:1; }
body.ecuapro-design-v2 #esc-panel .esc-actions .esc-continue:hover { background:#edf3ff!important; }
body.ecuapro-design-v2 #esc-panel .esc-actions .esc-checkout { font-size:17px!important; min-height:58px; }
body.ecuapro-design-v2 .wc-proceed-to-checkout .checkout-button { white-space:normal!important; font-size:16px!important; line-height:1.25!important; min-height:56px; }
@media(min-width:768px) {
 body.ecuapro-design-v2 main.container { max-width:1200px; width:calc(100% - 48px); margin-left:auto; margin-right:auto; box-sizing:border-box; }
 body.ecuapro-design-v2 .header-inner { max-width:1200px; margin-left:auto; margin-right:auto; padding-right:80px!important; box-sizing:border-box; }
 body.ecuapro-design-v2.woocommerce-cart .top-submenu { display:none!important; }
 body.ecuapro-design-v2.woocommerce-cart main.container { max-width:1120px; }
 body.ecuapro-design-v2 a.WhatsappFlotanteLetra { display:flex!important; align-items:center!important; justify-content:center!important; gap:7px!important; width:156px!important; min-height:56px!important; height:auto!important; padding:8px 10px!important; box-sizing:border-box; border:1px solid #066b3b!important; border-radius:18px!important; background:rgba(4,105,55,.86)!important; color:#fff!important; font-size:14px!important; font-weight:700!important; line-height:1.2!important; text-decoration:none!important; box-shadow:0 4px 12px rgba(5,71,38,.18)!important; right:18px!important; bottom:18px!important; }
 body.ecuapro-design-v2 a.WhatsappFlotanteLetra .w-label { color:#fff!important; }
 body.ecuapro-design-v2 a.WhatsappFlotanteLetra img { flex:0 0 26px!important; width:26px!important; height:26px!important; max-width:26px!important; min-width:26px!important; padding:2px!important; box-sizing:border-box; border-radius:50%; background:#fff!important; }
 body.ecuapro-design-v2.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab { background:rgba(14,56,200,.86)!important; bottom:18px!important; left:18px!important; right:auto!important; }
}


/* Approved floating cart guide on production and staging. */
body.ecuapro-design-v2.ecuapro-cart-guide #esc-fab-wrap #esc-fab {
    width:230px!important; max-width:calc(100vw - 36px)!important;
    gap:8px!important; padding:8px 12px!important; min-height:56px!important;
}
body.ecuapro-cart-guide #esc-fab .ecuapro-cart-label {
    display:flex!important; flex:1 1 auto; min-width:0; flex-direction:column;
    gap:3px; text-align:left; color:#fff!important;
}
body.ecuapro-cart-guide #esc-fab .ecuapro-cart-guide-primary {
    display:block; font-size:13px; font-weight:700; line-height:1.2; white-space:normal;
}
body.ecuapro-cart-guide #esc-fab .ecuapro-cart-guide-secondary {
    display:block; font-size:11px; font-weight:500; line-height:1.2; white-space:nowrap;
}
body.ecuapro-cart-guide #esc-fab .esc-badge { display:none!important; }
body.ecuapro-cart-guide #esc-fab.ecuapro-cart-guide-highlight {
    animation:ecuapro-cart-guide-emphasis 1.45s ease-out 1!important;
}
@keyframes ecuapro-cart-guide-emphasis {
    0%,100% { box-shadow:0 4px 12px rgba(36,59,83,.18); }
    35% { box-shadow:0 0 0 6px rgba(36,59,83,.2),0 4px 18px rgba(36,59,83,.3); }
}
@media(max-width:767px) {
    body.ecuapro-design-v2.ecuapro-cart-guide #esc-fab-wrap #esc-fab {
        width:calc(50vw - 16px)!important; max-width:190px!important;
        min-width:0!important; gap:5px!important; padding:6px!important;
    }
    body.ecuapro-cart-guide #esc-fab .ecuapro-cart-label { gap:2px; }
    body.ecuapro-cart-guide #esc-fab .ecuapro-cart-guide-primary { font-size:12px; line-height:1.15; }
    body.ecuapro-cart-guide #esc-fab .ecuapro-cart-guide-secondary { font-size:10px; }
    body.ecuapro-design-v2.ecuapro-cart-guide #esc-fab .esc-fab-icon {
        flex-basis:18px!important; width:18px!important; height:18px!important;
    }
}
@media(prefers-reduced-motion:reduce) {
    body.ecuapro-cart-guide #esc-fab.ecuapro-cart-guide-highlight { animation:none!important; }
}


/* Muted slate-blue floating cart for the approved cart guide. */
body.ecuapro-design-v2.ecuapro-cart-guide.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab {
    background:rgba(36,59,83,.90)!important;
    border-color:#1c3044!important;
    box-shadow:0 4px 12px rgba(36,59,83,.18)!important;
    color:#fff!important;
}
body.ecuapro-design-v2.ecuapro-cart-guide.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab:hover,
body.ecuapro-design-v2.ecuapro-cart-guide.ecuapro-translucent-buttons #esc-fab-wrap #esc-fab:active {
    background:rgba(28,48,68,.96)!important;
}
body.ecuapro-design-v2.ecuapro-cart-guide #esc-fab-wrap #esc-fab:focus-visible {
    outline-color:#9fb8cf!important;
}
