
/* ZCEBRA CART — WooCommerce classic cart + WooCommerce Blocks */
body.zcebra-cart-page,
body.zcebra-cart-page button,
body.zcebra-cart-page input,
body.zcebra-cart-page select,
body.zcebra-cart-page textarea,
body.zcebra-cart-page .woocommerce,
body.zcebra-cart-page .wc-block-cart {
    font-family:"League Spartan",Arial,sans-serif !important;
}

body.zcebra-cart-page {
    background:#fff;
    color:#111;
}

body.zcebra-cart-page .site-main,
body.zcebra-cart-page main,
body.zcebra-cart-page .entry-content {
    width:100%;
}

body.zcebra-cart-page .woocommerce,
body.zcebra-cart-page .wc-block-cart {
    max-width:1320px;
    margin:0 auto;
    padding:60px 28px 90px;
}

/* BLOCK CART */
.zcebra-cart-page .wc-block-cart__main {
    padding-right:55px !important;
}

.zcebra-cart-page .wc-block-cart__sidebar {
    padding-left:20px !important;
}

.zcebra-cart-page .wc-block-cart-items {
    border-top:1px solid #bdbdbd !important;
}

.zcebra-cart-page .wc-block-cart-items thead th {
    padding:16px 0 !important;
    color:#111 !important;
    font-size:13px !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:.02em;
    border-bottom:1px solid #d8d8d8 !important;
}

.zcebra-cart-page .wc-block-cart-items__row {
    border-bottom:1px solid #d8d8d8 !important;
}

.zcebra-cart-page .wc-block-cart-item__image {
    padding:25px 18px 25px 0 !important;
}

.zcebra-cart-page .wc-block-cart-item__image img {
    width:90px !important;
    max-height:120px;
    object-fit:contain;
}

.zcebra-cart-page .wc-block-cart-item__product {
    padding:25px 15px !important;
}

.zcebra-cart-page .wc-block-components-product-name {
    color:#111 !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

.zcebra-cart-page .wc-block-components-product-price,
.zcebra-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    color:#111 !important;
    font-weight:600 !important;
}

.zcebra-cart-page .wc-block-components-quantity-selector {
    border:1px solid #c8c8c8 !important;
    border-radius:2px !important;
    min-width:130px;
    height:42px;
}

.zcebra-cart-page .wc-block-components-quantity-selector input {
    font-weight:600 !important;
}

.zcebra-cart-page .wc-block-cart-item__remove-link {
    color:#111 !important;
    font-size:12px !important;
    text-decoration:underline !important;
}

.zcebra-cart-page .wc-block-cart__totals-title {
    font-size:14px !important;
    font-weight:700 !important;
    text-transform:uppercase;
    padding:16px 0 !important;
    border-top:1px solid #bdbdbd;
    border-bottom:1px solid #d8d8d8;
}

.zcebra-cart-page .wc-block-components-totals-wrapper {
    border-top:0 !important;
    border-bottom:1px solid #d8d8d8 !important;
    padding:18px 0 !important;
}

.zcebra-cart-page .wc-block-components-totals-item__label {
    font-size:14px !important;
}

.zcebra-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.zcebra-cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size:21px !important;
    font-weight:600 !important;
}

.zcebra-cart-page .wc-block-cart__submit-container {
    margin-top:18px !important;
}

.zcebra-cart-page .wc-block-cart__submit-button {
    min-height:58px !important;
    background:#111 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.zcebra-cart-page .wc-block-cart__submit-button:hover {
    background:#333 !important;
}

/* CLASSIC WOOCOMMERCE CART */
.zcebra-cart-page table.shop_table {
    border:0 !important;
    border-radius:0 !important;
    border-top:1px solid #aaa !important;
}

.zcebra-cart-page table.shop_table th {
    font-size:13px;
    text-transform:uppercase;
    font-weight:700;
}

.zcebra-cart-page table.shop_table td,
.zcebra-cart-page table.shop_table th {
    border-color:#ddd !important;
}

.zcebra-cart-page table.cart img {
    width:90px !important;
}

.zcebra-cart-page .product-name a {
    color:#111 !important;
    font-weight:700;
}

.zcebra-cart-page .quantity .qty {
    min-height:40px;
    border:1px solid #ccc;
    border-radius:0;
}

.zcebra-cart-page .cart-collaterals .cart_totals {
    width:42%;
}

.zcebra-cart-page .cart_totals h2 {
    font-size:16px;
    text-transform:uppercase;
    font-weight:700;
    border-bottom:1px solid #bbb;
    padding-bottom:15px;
}

.zcebra-cart-page .wc-proceed-to-checkout a.checkout-button,
.zcebra-cart-page .button,
.zcebra-cart-page button.button {
    background:#111 !important;
    color:#fff !important;
    border-radius:0 !important;
    font-weight:700 !important;
}

.zcebra-cart-page .wc-proceed-to-checkout a.checkout-button {
    padding:19px !important;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.zcebra-cart-page .coupon input.input-text {
    min-height:42px;
    border:1px solid #bbb !important;
}

/* Hide page title if theme prints a generic "Cart/Carrito" title above */
.zcebra-cart-page .entry-title {
    font-family:"League Spartan",Arial,sans-serif !important;
    font-size:30px;
    font-weight:800;
    text-transform:uppercase;
}

/* Mobile */
@media(max-width:900px){
    body.zcebra-cart-page .woocommerce,
    body.zcebra-cart-page .wc-block-cart {
        padding:35px 18px 60px;
    }
    .zcebra-cart-page .wc-block-cart__main,
    .zcebra-cart-page .wc-block-cart__sidebar {
        padding-left:0 !important;
        padding-right:0 !important;
    }
    .zcebra-cart-page .cart-collaterals .cart_totals {
        width:100%;
    }
}

@media(max-width:600px){
    .zcebra-cart-page .wc-block-cart-item__image img,
    .zcebra-cart-page table.cart img {
        width:65px !important;
    }
    .zcebra-cart-page .wc-block-components-product-name {
        font-size:14px !important;
    }
}


/* ==========================================================
   ZCEBRA — MOBILE CART / MINI-CART DRAWER FIX
   Se carga en toda la web (no solo en /carrito/).
   ========================================================== */
@media (max-width: 767px) {
    html, body {
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    /* Drawers habituales: Elementor, WooCommerce Mini-Cart y themes */
    .elementor-menu-cart__container,
    .elementor-menu-cart__main,
    .widget_shopping_cart,
    .widget_shopping_cart_content,
    .woocommerce-mini-cart,
    .wc-block-mini-cart__drawer,
    .wc-block-mini-cart__drawer .components-modal__content,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__items,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__footer,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions,
    .wc-block-mini-cart__drawer .wc-block-components-drawer__content {
        box-sizing:border-box !important;
        max-width:100vw !important;
        min-width:0 !important;
    }

    .elementor-menu-cart__container,
    .wc-block-mini-cart__drawer {
        left:0 !important;
        right:0 !important;
        width:100vw !important;
        max-width:100vw !important;
        margin:0 !important;
        transform:none !important;
    }

    .elementor-menu-cart__main,
    .wc-block-mini-cart__drawer .components-modal__content,
    .wc-block-mini-cart__drawer .wc-block-components-drawer__content {
        left:auto !important;
        right:0 !important;
        width:100% !important;
        max-width:100vw !important;
        min-width:0 !important;
        margin:0 !important;
        transform:none !important;
        overflow-x:hidden !important;
    }

    /* Elementor cart products */
    .elementor-menu-cart__products,
    .elementor-menu-cart__product,
    .elementor-menu-cart__subtotal,
    .elementor-menu-cart__footer-buttons {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }

    .elementor-menu-cart__product {
        grid-template-columns:72px minmax(0,1fr) auto !important;
        column-gap:10px !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .elementor-menu-cart__product-image {
        width:72px !important;
        min-width:0 !important;
    }
    .elementor-menu-cart__product-image img {
        display:block !important;
        width:64px !important;
        max-width:64px !important;
        height:auto !important;
    }
    .elementor-menu-cart__product-name,
    .elementor-menu-cart__product-price {
        min-width:0 !important;
        max-width:100% !important;
        overflow-wrap:anywhere !important;
    }

    /* WooCommerce Blocks mini cart */
    .wc-block-mini-cart__drawer .wc-block-mini-cart__items,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
        padding-left:16px !important;
        padding-right:16px !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .wc-block-mini-cart__drawer .wc-block-cart-items,
    .wc-block-mini-cart__drawer .wc-block-cart-items__row,
    .wc-block-mini-cart__drawer .wc-block-mini-cart__products-table {
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }

    .wc-block-mini-cart__drawer .wc-block-cart-items__row {
        display:grid !important;
        grid-template-columns:72px minmax(0,1fr) !important;
        grid-template-areas:"image product" "image total" !important;
    }

    .wc-block-mini-cart__drawer .wc-block-cart-item__image {
        grid-area:image !important;
        width:72px !important;
        min-width:0 !important;
        padding:16px 10px 16px 0 !important;
        box-sizing:border-box !important;
    }
    .wc-block-mini-cart__drawer .wc-block-cart-item__image img {
        width:60px !important;
        max-width:60px !important;
        height:auto !important;
    }
    .wc-block-mini-cart__drawer .wc-block-cart-item__product {
        grid-area:product !important;
        min-width:0 !important;
        padding:16px 0 6px 8px !important;
    }
    .wc-block-mini-cart__drawer .wc-block-cart-item__total {
        grid-area:total !important;
        min-width:0 !important;
        padding:0 0 16px 8px !important;
        text-align:left !important;
    }

    /* Fallback para side-carts de themes/plugins */
    .woocommerce-mini-cart,
    .woocommerce-mini-cart-item,
    .mini_cart_item {
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }
}


/* ==========================================================
   v1.3 — FIX REAL DEL BLOQUE CARRITO EN MOVIL
   La captura muestra el bloque completo desplazado a la izquierda,
   no un mini-cart. Neutralizamos alignwide/alignfull y offsets.
   ========================================================== */
@media (max-width: 767px) {

    body.zcebra-cart-page .entry-content,
    body.zcebra-cart-page .wp-block-post-content {
        padding-left:0 !important;
        padding-right:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        max-width:100% !important;
        width:100% !important;
        overflow:hidden !important;
    }

    body.zcebra-cart-page .wp-block-woocommerce-cart,
    body.zcebra-cart-page .wp-block-woocommerce-cart.alignwide,
    body.zcebra-cart-page .wp-block-woocommerce-cart.alignfull,
    body.zcebra-cart-page .wc-block-cart,
    body.zcebra-cart-page .wc-block-components-sidebar-layout {
        position:relative !important;
        left:0 !important;
        right:auto !important;
        transform:none !important;
        margin-left:0 !important;
        margin-right:0 !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    body.zcebra-cart-page .wp-block-woocommerce-cart,
    body.zcebra-cart-page .wc-block-cart {
        padding:20px 14px 45px !important;
    }

    body.zcebra-cart-page .wc-block-components-sidebar-layout {
        display:block !important;
        padding:0 !important;
    }

    body.zcebra-cart-page .wc-block-components-main,
    body.zcebra-cart-page .wc-block-components-sidebar,
    body.zcebra-cart-page .wc-block-cart__main,
    body.zcebra-cart-page .wc-block-cart__sidebar {
        position:static !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
        float:none !important;
        flex-basis:auto !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
        box-sizing:border-box !important;
    }

    body.zcebra-cart-page .wc-block-cart-items,
    body.zcebra-cart-page .wc-block-cart-items tbody {
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    body.zcebra-cart-page .wc-block-cart-items__row {
        position:relative !important;
        left:0 !important;
        transform:none !important;
        display:grid !important;
        grid-template-columns:72px minmax(0,1fr) !important;
        grid-template-areas:
          "image product"
          "image total" !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    body.zcebra-cart-page .wc-block-cart-item__image {
        grid-area:image !important;
        display:block !important;
        width:72px !important;
        max-width:72px !important;
        padding:18px 10px 18px 0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }

    body.zcebra-cart-page .wc-block-cart-item__image img {
        display:block !important;
        width:60px !important;
        max-width:60px !important;
        height:auto !important;
        margin:0 !important;
    }

    body.zcebra-cart-page .wc-block-cart-item__product {
        grid-area:product !important;
        display:block !important;
        min-width:0 !important;
        width:auto !important;
        padding:18px 0 6px 8px !important;
        margin:0 !important;
    }

    body.zcebra-cart-page .wc-block-cart-item__total {
        grid-area:total !important;
        display:block !important;
        min-width:0 !important;
        width:auto !important;
        padding:0 0 18px 8px !important;
        margin:0 !important;
        text-align:left !important;
    }

    body.zcebra-cart-page .wc-block-components-totals-coupon,
    body.zcebra-cart-page .wc-block-components-totals-footer-item,
    body.zcebra-cart-page .wc-block-cart__submit-container {
        position:relative !important;
        left:0 !important;
        transform:none !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        box-sizing:border-box !important;
    }
}
