/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TEC-ALUM â€” WooCommerce UI
   Shop Â· Producto Â· Carrito Â· Checkout Â· ConfirmaciÃ³n
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   RESET / BASE WC
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce-products-header { display: none; }

/* El div.woocommerce que generan los shortcodes clÃ¡sicos:
   â€“ Cuenta y confirmaciÃ³n: contenedor centrado con padding.
   â€“ Carrito y Checkout gestionan su propio layout con hero + grid. */
body.woocommerce-account  .woocommerce,
body.woocommerce-order-received .woocommerce {
    max-width: var(--ta-max-width);
    margin: 0 auto;
    padding: 0 var(--ta-container-x);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   HERO DE TIENDA / CATEGORÃA
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ta-shop-hero {
    background: var(--ta-primary);
    position: relative;
    overflow: hidden;
    padding: 48px 0 40px;
    margin-bottom: 40px;
}

.ta-shop-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 100% at 100% 50%, rgba(0,100,200,0.4) 0%, transparent 65%);
    pointer-events: none;
}

.ta-shop-hero__inner {
    position: relative;
    max-width: var(--ta-max-width);
    margin: 0 auto;
    padding: 0 var(--ta-container-x);
}

.ta-shop-hero__breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    color: rgba(255,255,255,0.65);
    margin-bottom: 14px;
}

.ta-shop-hero__breadcrumb a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    transition: color .2s;
}

.ta-shop-hero__breadcrumb a:hover { color: #fff; }
.ta-shop-hero__breadcrumb .sep   { opacity: .5; }

.ta-shop-hero__title {
    font-family: var(--ta-font-display);
    font-size: clamp(26px, 4vw, 42px);
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    line-height: 1.15;
}

.ta-shop-hero__subtitle {
    font-size: 15px;
    color: rgba(255,255,255,0.76);
    max-width: 560px;
    line-height: 1.65;
    margin: 0;
}

/* ─────────────────────────────────────────
   LAYOUT TIENDA CON SIDEBAR
   ───────────────────────────────────────── */
.ta-shop-body {
    padding: 40px var(--ta-container-x) 80px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start;
}

.ta-shop-content {
    min-width: 0;
}

/* Ocultar breadcrumbs por defecto de WC porque usamos el del Hero */
.woocommerce-breadcrumb {
    display: none !important;
}

/* ─────────────────────────────────────────
   SIDEBAR (Widgets y Filtros)
   ───────────────────────────────────────── */
.ta-shop-sidebar {
    position: sticky;
    top: calc(76px + 24px); /* Debajo del navbar */
}

.ta-shop-sidebar-header {
    display: none; /* Solo visible en móvil */
}

/* ─────────────────────────────────────────
   WIDGETS PREMIUM SIDEBAR
   ───────────────────────────────────────── */
.ta-shop-widget {
    margin-bottom: 40px;
}

.ta-shop-widget .widget-title {
    font-family: var(--ta-font-display);
    font-size: 16px;
    font-weight: 800;
    color: var(--ta-on-surface);
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid rgba(0,52,111,0.08);
    letter-spacing: 0.02em;
}

/* Listas generales (Categorías, Atributos) */
.ta-shop-widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ta-shop-widget ul li {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px dashed transparent;
    transition: all var(--ta-transition);
}

.ta-shop-widget ul li:hover {
    border-bottom-color: rgba(0,52,111,0.15);
    padding-left: 8px;
}

.ta-shop-widget ul li a {
    color: var(--ta-on-surface-variant);
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 500;
    display: flex;
    align-items: center;
    transition: color var(--ta-transition);
    flex: 1;
}

.ta-shop-widget ul li a::before {
    content: '\e5cc'; /* chevron_right */
    font-family: 'Material Symbols Outlined';
    font-size: 16px;
    margin-right: 6px;
    color: var(--ta-primary-fixed-dim);
    transition: transform var(--ta-transition);
}

.ta-shop-widget ul li:hover a {
    color: var(--ta-primary);
}

.ta-shop-widget ul li:hover a::before {
    transform: translateX(3px);
    color: var(--ta-primary);
}

/* Conteo de productos */
.ta-shop-widget ul li .count {
    font-size: 12px;
    color: var(--ta-outline);
    background: var(--ta-surface-container-high);
    padding: 2px 8px;
    border-radius: 99px;
    margin-left: 8px;
    font-weight: 600;
}

/* Widget Buscar Productos */
.ta-shop-widget.widget_product_search form {
    position: relative;
    display: flex;
}
.ta-shop-widget.widget_product_search input[type="search"] {
    width: 100%;
    padding: 12px 16px 12px 16px;
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-lg);
    font-family: var(--ta-font-body);
    font-size: 14px;
    background: var(--ta-surface-container-lowest);
    color: var(--ta-on-surface);
    transition: border-color var(--ta-transition), box-shadow var(--ta-transition);
}
.ta-shop-widget.widget_product_search input[type="search"]:focus {
    outline: none;
    border-color: var(--ta-primary);
    box-shadow: 0 0 0 3px rgba(0,52,111,0.1);
}
.ta-shop-widget.widget_product_search button {
    position: absolute;
    right: 6px;
    top: 6px;
    bottom: 6px;
    width: 36px;
    background: var(--ta-primary);
    color: #fff;
    border: none;
    border-radius: var(--ta-radius-md);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--ta-transition);
}
.ta-shop-widget.widget_product_search button:hover {
    background: var(--ta-primary-dark);
}
.ta-shop-widget.widget_product_search button {
    font-size: 0; /* oculta el texto "Buscar"; solo se ve la lupa */
}
.ta-shop-widget.widget_product_search button::before {
    content: '\e8b6'; /* search icon */
    font-family: 'Material Symbols Outlined';
    font-size: 18px;
}

/* Filtro de precio (Slider nativo de WC) */
.widget_price_filter .price_slider {
    background: var(--ta-surface-container-high);
    border-radius: 4px;
    height: 6px;
    margin-bottom: 24px;
    position: relative;
}
.widget_price_filter .ui-slider-range {
    background: var(--ta-primary);
    position: absolute;
    height: 100%;
    border-radius: 4px;
}
.widget_price_filter .ui-slider-handle {
    width: 18px;
    height: 18px;
    background: #fff;
    border: 2px solid var(--ta-primary);
    border-radius: 50%;
    position: absolute;
    top: -6px;
    cursor: pointer;
    outline: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: transform 0.1s;
}
.widget_price_filter .ui-slider-handle:active {
    transform: scale(1.2);
}
.widget_price_filter .price_slider_amount {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
}
.widget_price_filter .price_slider_amount .button {
    background: var(--ta-surface-container-high);
    color: var(--ta-on-surface);
    border: none;
    padding: 8px 16px;
    border-radius: var(--ta-radius-md);
    font-weight: 600;
    cursor: pointer;
    transition: background var(--ta-transition);
}
.widget_price_filter .price_slider_amount .button:hover {
    background: var(--ta-surface-container-highest);
}
.widget_price_filter .price_slider_amount .price_label {
    font-weight: 600;
    color: var(--ta-on-surface-variant);
}

/* Filtros activos (Chips) */
.widget_layered_nav_filters ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.widget_layered_nav_filters ul li {
    padding: 0 !important;
    border: none !important;
}
.widget_layered_nav_filters ul li a {
    background: var(--ta-primary-fixed);
    color: var(--ta-primary-dark) !important;
    padding: 6px 12px;
    border-radius: 99px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
}
.widget_layered_nav_filters ul li a::before {
    content: '\e5cd'; /* close icon */
    font-family: 'Material Symbols Outlined';
    font-size: 14px;
    margin-right: 4px;
}
.widget_layered_nav_filters ul li a:hover {
    background: var(--ta-primary);
    color: #fff !important;
}

/* Botón toggle móvil (Oculto en desktop) */
.ta-shop-filter-toggle {
    display: none;
}

/* Overlay móvil */
.ta-shop-sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity 0.3s var(--ta-ease);
}

.ta-shop-sidebar-overlay.is-visible {
    opacity: 1;
}

/* ─────────────────────────────────────────
   TOOLBAR DE TIENDA
   ───────────────────────────────────────── */
.woocommerce .woocommerce-notices-wrapper {
    padding: 0 0 16px;
}

.woocommerce-result-count {
    font-size: 13px;
    color: var(--ta-on-surface-variant);
    margin: 0 0 20px;
}

.woocommerce-ordering {
    margin-bottom: 20px;
}

.woocommerce-ordering select {
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-md);
    padding: 8px 36px 8px 14px;
    font-family: var(--ta-font-body);
    font-size: 14px;
    color: var(--ta-on-surface);
    background: #fff;
    cursor: pointer;
    appearance: auto;
}

/* Barra de herramientas flex en tablet/desktop */
@media (min-width: 769px) {
    .ta-shop-content {
        /* Para alinear toolbar si se desea */
    }
}

/* ─────────────────────────────────────────
   GRID DE PRODUCTOS
   ───────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px !important;
    float: none !important;
    width: 100% !important;
}

/* El clearfix de WooCommerce (::before/::after con display:table) se
   convierte en una celda fantasma vacía dentro del grid — se elimina. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
    content: none !important;
}

/* ─────────────────────────────────────────
   RESPONSIVE MÓVIL
   ───────────────────────────────────────── */
@media (max-width: 1024px) {
    /* Layout: Quitar grid, el sidebar se oculta */
    .ta-shop-body {
        grid-template-columns: 1fr;
        padding-top: 24px;
    }

    /* Botón Toggle */
    .ta-shop-filter-toggle {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: var(--ta-surface-container-lowest);
        border: 1px solid var(--ta-outline-variant);
        color: var(--ta-on-surface);
        padding: 10px 20px;
        border-radius: var(--ta-radius-md);
        font-family: var(--ta-font-body);
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        margin-bottom: 24px;
        width: 100%;
        justify-content: center;
    }

    .ta-shop-filter-toggle .material-symbols-outlined {
        font-size: 20px;
    }

    /* Sidebar off-canvas */
    .ta-shop-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(320px, 85vw);
        background: #fff;
        z-index: 1000;
        padding: 0;
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.35s var(--ta-ease-out);
        display: flex;
        flex-direction: column;
    }

    .ta-shop-sidebar.is-open {
        transform: translateX(0);
    }

    .ta-shop-sidebar-overlay {
        display: block; /* Solo habilitado en DOM, oculto visualmente por opacity:0 y pointer-events:none si no está is-visible */
        pointer-events: none;
    }
    
    .ta-shop-sidebar-overlay.is-visible {
        pointer-events: auto;
    }

    /* Header del Drawer */
    .ta-shop-sidebar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 20px 24px;
        border-bottom: 1px solid var(--ta-outline-variant);
        background: var(--ta-surface-container-lowest);
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .ta-shop-sidebar-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: var(--ta-font-display);
        font-size: 18px;
        font-weight: 700;
        color: var(--ta-primary);
    }

    .ta-shop-sidebar-close {
        background: none;
        border: none;
        color: var(--ta-on-surface-variant);
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 4px;
    }

    .ta-shop-sidebar-content {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    /* 2 Columnas en móvil como solicitó el usuario */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 480px) {
    /* Ajustes mínimos para pantallas muy pequeñas, pero manteniendo 2 columnas */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        gap: 8px !important;
    }
    
    .ta-wc-product-card h2.woocommerce-loop-product__title {
        font-size: 13px !important;
        margin: 10px 12px 4px !important;
    }
    
    .ta-wc-product-card .price {
        font-size: 15px !important;
        margin: 0 12px 10px !important;
    }
    
    .ta-wc-atc-btn,
    .woocommerce ul.products li.product .button {
        margin: auto 12px 12px !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
        width: calc(100% - 24px) !important;
    }
}

/* ─────────────────────────────────────────
   TARJETA DE PRODUCTO
   ───────────────────────────────────────── */
.woocommerce ul.products li.product,
.ta-wc-product-card {
    background: #fff !important;
    border: 1px solid var(--ta-outline-variant) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: box-shadow .3s var(--ta-ease), transform .3s var(--ta-ease), border-color .25s !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    position: relative !important;
}

.ta-wc-product-card:hover {
    box-shadow: 0 12px 40px rgba(0,52,111,0.13) !important;
    transform: translateY(-5px) !important;
    border-color: var(--ta-primary) !important;
}

/* Imagen */
.ta-wc-product-card a.woocommerce-loop-product__link {
    display: block;
    text-decoration: none;
    overflow: hidden;
}

.ta-wc-product-card img {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform .45s var(--ta-ease) !important;
}

.ta-wc-product-card:hover img {
    transform: scale(1.06) !important;
}

/* Cuerpo */
.ta-wc-product-card h2.woocommerce-loop-product__title {
    font-family: var(--ta-font-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ta-on-surface) !important;
    line-height: 1.35 !important;
    margin: 14px 18px 6px !important;
    padding: 0 !important;
}

.ta-wc-product-card .price {
    display: block !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: var(--ta-primary) !important;
    margin: 0 18px 14px !important;
    padding: 0 !important;
}

.ta-wc-product-card .price del {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--ta-on-surface-variant) !important;
    opacity: 0.7 !important;
    margin-right: 4px !important;
}

.ta-wc-product-card .price ins {
    text-decoration: none !important;
}

/* Spacer para empujar el botÃ³n al fondo */
.ta-wc-product-card .woocommerce-loop-product__link {
    flex-shrink: 0;
}

/* BotÃ³n agregar al pedido */
.ta-wc-atc-btn,
.woocommerce ul.products li.product .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: auto 18px 18px !important;
    padding: 11px 16px !important;
    background: var(--ta-primary) !important;
    color: #fff !important;
    font-family: var(--ta-font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ta-radius-md) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    letter-spacing: 0.01em !important;
    transition: background .2s, transform .2s var(--ta-ease) !important;
    width: calc(100% - 36px) !important;
}

.ta-wc-atc-btn:hover,
.woocommerce ul.products li.product .button:hover {
    background: var(--ta-primary-container) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

/* Badge oferta */
.woocommerce span.onsale {
    background: var(--ta-tertiary) !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    min-height: auto !important;
    min-width: auto !important;
    padding: 4px 10px !important;
    top: 10px !important;
    left: 10px !important;
    line-height: 1.4 !important;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BREADCRUMB BAR (detalle de producto)
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ta-prod-breadbar {
    background: var(--ta-primary);
    border-bottom: none;
}

.ta-prod-breadbar__inner {
    max-width: var(--ta-max-width);
    margin: 0 auto;
    padding: 12px var(--ta-container-x);
}

.ta-prod-breadbar nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    color: rgba(255,255,255,0.65);
}

.ta-prod-breadbar nav a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    transition: color .2s;
}

.ta-prod-breadbar nav a:hover {
    color: #fff;
}

.ta-prod-breadbar nav span[aria-current] {
    color: #fff;
    font-weight: 600;
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   WRAP PRINCIPAL DEL PRODUCTO
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ta-prod-wrap {
    max-width: var(--ta-max-width);
    margin: 0 auto;
    padding: 20px var(--ta-container-x) 40px;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   LAYOUT 2 COLUMNAS: GALERÃA + RESUMEN
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ta-prod-layout {
    display: grid;
    grid-template-columns: 1fr 460px;
    gap: 56px;
    align-items: start;
    margin: 56px;
}

/* â€” GalerÃ­a â€” */

/* WooCommerce por defecto: float:left; width:48% â€” debemos anularlo */
.ta-prod-layout__gallery .woocommerce-product-gallery,
.ta-prod-layout__gallery .woocommerce-product-gallery.images {
    float: none !important;
    width: 100% !important;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--ta-outline-variant);
    background: var(--ta-surface-container-low);
    /* WC usa opacity:0 mientras carga JS de galerÃ­a */
    opacity: 1 !important;
}

.ta-prod-layout__gallery .woocommerce-product-gallery__wrapper {
    margin: 0;
}

.ta-prod-layout__gallery .woocommerce-product-gallery__image img,
.ta-prod-layout__gallery .wp-post-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}

/* Zoom wrapper que WC inyecta */
.ta-prod-layout__gallery .woocommerce-product-gallery__image a {
    display: block !important;
    width: 100% !important;
}

/* Sin imagen: placeholder centrado y con aspecto de marca */
.ta-prod-layout__gallery .woocommerce-product-gallery--without-images {
    background: linear-gradient(145deg, var(--ta-surface-container-low) 0%, var(--ta-surface-container) 100%) !important;
    min-height: 320px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ta-prod-layout__gallery .woocommerce-product-gallery__image--placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    padding: 48px !important;
}

.ta-prod-layout__gallery .woocommerce-product-gallery__image--placeholder img {
    width: 96px !important;
    height: 96px !important;
    aspect-ratio: 1/1 !important;
    object-fit: contain !important;
    opacity: 0.22 !important;
    filter: grayscale(100%) !important;
    border-radius: 0 !important;
}

/* Thumbnails */
.ta-prod-layout__gallery .flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    padding: 12px !important;
    background: var(--ta-surface-container-low) !important;
    border-top: 1px solid var(--ta-outline-variant) !important;
    overflow-x: auto !important;
}

.ta-prod-layout__gallery .flex-control-thumbs li {
    list-style: none !important;
    flex-shrink: 0 !important;
}

.ta-prod-layout__gallery .flex-control-thumbs li img {
    width: 72px !important;
    height: 56px !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    transition: border-color .2s, opacity .2s !important;
    opacity: .7 !important;
}

.ta-prod-layout__gallery .flex-control-thumbs li img:hover,
.ta-prod-layout__gallery .flex-control-thumbs li img.flex-active {
    border-color: var(--ta-primary) !important;
    opacity: 1 !important;
}

/* â€” Resumen â€” */
.ta-prod-layout__summary {
    position: sticky;
    top: calc(76px + 24px);
}

/* Badge de categorÃ­a */
.ta-prod-cat-badge {
    margin-bottom: 12px;
}

.ta-prod-cat-badge a {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--ta-primary);
    background: rgba(0,52,111,0.08);
    padding: 4px 12px;
    border-radius: 999px;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background .2s, color .2s;
}

.ta-prod-cat-badge a:hover {
    background: var(--ta-primary);
    color: #fff;
}

/* TÃ­tulo */
.ta-prod-layout__summary .product_title {
    font-family: var(--ta-font-display) !important;
    font-size: clamp(22px, 2.8vw, 30px) !important;
    font-weight: 800 !important;
    color: var(--ta-on-surface) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
}

/* Precio */
.ta-prod-layout__summary .price {
    display: block !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--ta-primary) !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}

.ta-prod-layout__summary .price del {
    font-size: 17px !important;
    font-weight: 400 !important;
    color: var(--ta-on-surface-variant) !important;
    opacity: .65 !important;
    margin-right: 6px !important;
}

.ta-prod-layout__summary .price ins {
    text-decoration: none !important;
}

/* DescripciÃ³n corta */
.ta-prod-layout__summary .woocommerce-product-details__short-description {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: var(--ta-on-surface-variant) !important;
    margin: 16px 0 24px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--ta-outline-variant) !important;
}

/* Formulario agregar al carrito */
.ta-prod-layout__summary form.cart {
    margin-bottom: 20px !important;
}

.ta-prod-layout__summary form.cart .quantity {
    display: none !important; /* productos en metro/mÂ², cantidad no aplica */
}

.ta-prod-layout__summary .single_add_to_cart_button,
.ta-prod-layout__summary .button.alt,
.woocommerce div.product form.cart .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--ta-primary) !important;
    color: #fff !important;
    font-family: var(--ta-font-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--ta-radius-md) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background .2s, transform .2s var(--ta-ease), box-shadow .2s !important;
    box-shadow: 0 4px 16px rgba(0,52,111,0.2) !important;
    letter-spacing: 0.01em !important;
}

.ta-prod-layout__summary .single_add_to_cart_button:hover,
.ta-prod-layout__summary .button.alt:hover,
.woocommerce div.product form.cart .button:hover {
    background: var(--ta-primary-container) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0,52,111,0.28) !important;
}

/* Meta: SKU y categorÃ­as */
.ta-prod-layout__summary .product_meta {
    display: none !important; /* lo mostramos como ta-prod-sku */
}

.ta-prod-sku {
    font-size: 13px;
    color: var(--ta-on-surface-variant);
    margin: 12px 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ta-prod-sku span {
    font-weight: 500;
}

.ta-prod-sku strong {
    font-weight: 700;
    color: var(--ta-on-surface);
    font-family: monospace;
    font-size: 12px;
    background: var(--ta-surface-container);
    padding: 2px 8px;
    border-radius: 4px;
}

/* Chips de confianza */
.ta-prod-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--ta-outline-variant);
}

.ta-prod-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ta-on-surface-variant);
    background: var(--ta-surface-container-low);
    padding: 5px 12px;
    border-radius: 999px;
    border: 1px solid var(--ta-outline-variant);
}

.ta-prod-chip svg {
    fill: var(--ta-primary);
    flex-shrink: 0;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   SECCIÃ“N INFERIOR (TABS + RELACIONADOS)
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.ta-prod-below {
    border-top: 1px solid var(--ta-outline-variant);
    padding-top: 48px;
}

/* Tabs */
.ta-prod-below .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 4px !important;
    border-bottom: 2px solid var(--ta-outline-variant) !important;
    padding: 0 !important;
    margin: 0 0 36px !important;
    list-style: none !important;
}

.ta-prod-below .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ta-prod-below .woocommerce-tabs ul.tabs li::before,
.ta-prod-below .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.ta-prod-below .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 12px 20px !important;
    font-family: var(--ta-font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ta-on-surface-variant) !important;
    text-decoration: none !important;
    border-bottom: 3px solid transparent !important;
    transition: color .2s, border-color .2s !important;
    margin-bottom: -2px !important;
    border-radius: 0 !important;
    background: none !important;
}

.ta-prod-below .woocommerce-tabs ul.tabs li.active a {
    color: var(--ta-primary) !important;
    border-bottom-color: var(--ta-primary) !important;
}

.ta-prod-below .woocommerce-tabs .panel {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: var(--ta-on-surface-variant) !important;
    max-width: 760px !important;
}

.ta-prod-below .woocommerce-tabs .panel h2 {
    display: none !important;
}

/* Productos relacionados */
.ta-prod-below .related.products,
.ta-prod-below .up-sells.products {
    padding: 10px !important;
    border-top: 1px solid var(--ta-outline-variant) !important;
}

.ta-prod-below .related.products > h2,
.ta-prod-below .up-sells.products > h2 {
    font-family: var(--ta-font-display) !important;
    font-size: clamp(20px, 2.5vw, 26px) !important;
    font-weight: 800 !important;
    color: var(--ta-on-surface) !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 28px !important;
}

.ta-prod-below .related ul.products,
.ta-prod-below .up-sells ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BOTONES WC GENERALES
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background: var(--ta-primary) !important;
    color: #fff !important;
    font-family: var(--ta-font-body) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: var(--ta-radius-md) !important;
    padding: 12px 22px !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background .2s, transform .18s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--ta-primary-container) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--ta-primary) !important;
}

/* â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• 
   CARRITO â€” DISEÃ‘O PREMIUM (desde cero)
   â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â• â•  */

/* ─── Ocultar título WordPress de Carrito y Checkout ─── */
.woocommerce-cart .entry-header,
.woocommerce-cart .page-title,
.woocommerce-cart > h1.page-title,
.woocommerce-cart > article > h1,
.woocommerce-cart .ta-page-header,
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-title,
.woocommerce-checkout > h1.page-title {
    display: none !important;
}

/* Eliminar gap en la parte superior para que el hero pegue con el header */
.woocommerce-cart .ta-page-content,
.woocommerce-checkout .ta-page-content,
.woocommerce-cart .ta-page-article,
.woocommerce-checkout .ta-page-article,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty,
.woocommerce-checkout .woocommerce-notices-wrapper:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ─── Contenedor del carrito: layout grid 2 columnas ─── */
.woocommerce-cart .woocommerce {
    padding: 0 var(--ta-container-x) 100px !important;
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    grid-template-rows: auto !important;
    column-gap: 32px !important;
    align-items: start !important;
}

/* El hero ocupa toda la fila superior */
.woocommerce-cart .ta-wc-hero {
    grid-column: 1 / -1 !important;
}

/* Avisos también van a todo el ancho */
.woocommerce-cart .woocommerce-notices-wrapper {
    grid-column: 1 / -1 !important;
}

/* Tabla del carrito: columna izquierda */
.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1 !important;
    grid-row: 3 !important;
}

/* Totales: columna derecha, misma fila que el form */
.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 3 !important;
}

/* Header interno tipo hero slim
   Breakout para que ocupe todo el ancho de la pantalla independientemente del contenedor */
.ta-wc-hero {
    background: linear-gradient(135deg, var(--ta-primary) 0%, #003580 100%);
    padding: 48px var(--ta-container-x) 40px;
    margin-bottom: 48px;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: hidden;
}

.ta-wc-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 60% 120% at 100% 50%, rgba(255,255,255,0.07) 0%, transparent 70%);
    pointer-events: none;
}

.ta-wc-hero__inner {
    max-width: var(--ta-max-width);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.ta-wc-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
    margin-bottom: 10px;
}

.ta-wc-hero__title {
    font-family: var(--ta-font-display);
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.03em;
    margin: 0;
    line-height: 1.1;
}

/* Layout 2 columnas */
.ta-cart-grid {
    max-width: var(--ta-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    align-items: start;
}

/* Ocultar pseudo-elementos que añade WooCommerce */
.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after,
.woocommerce-cart .clear {
    display: none !important;
}

/* ──────────────────────────────────────────────
   TABLA DEL CARRITO
────────────────────────────────────────────── */
.woocommerce-cart-form {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 24px rgba(0,52,111,0.06);
    border: 1px solid rgba(0,52,111,0.07);
    overflow: hidden;
}

.woocommerce-cart-form__contents {
    width: 100%;
    border-collapse: collapse;
}

/* Cabecera */
.woocommerce-cart-form__contents thead tr th {
    background: var(--ta-surface-container-lowest) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--ta-on-surface-variant) !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(0,52,111,0.07) !important;
    border-top: none !important;
}

/* Filas */
.woocommerce-cart-form__contents tbody tr {
    border-bottom: 1px solid rgba(0,52,111,0.05) !important;
    transition: background .2s !important;
}

.woocommerce-cart-form__contents tbody tr:hover {
    background: rgba(0,52,111,0.015) !important;
}

.woocommerce-cart-form__contents tbody td {
    padding: 20px !important;
    vertical-align: middle !important;
    border: none !important;
}

/* Imagen del producto */
.woocommerce-cart-form__contents td.product-thumbnail {
    width: 90px !important;
}
.woocommerce-cart-form__contents td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,52,111,0.08) !important;
}

/* Nombre */
.woocommerce-cart-form__contents td.product-name {
    width: auto !important;
}
.woocommerce-cart-form__contents td.product-name a {
    font-family: var(--ta-font-display) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--ta-on-surface) !important;
    text-decoration: none !important;
    transition: color .2s !important;
    display: block !important;
}

.woocommerce-cart-form__contents td.product-name a:hover {
    color: var(--ta-primary) !important;
}

/* Precio */
.woocommerce-cart-form__contents td.product-price,
.woocommerce-cart-form__contents td.product-subtotal {
    font-weight: 800 !important;
    font-size: 16px !important;
    color: var(--ta-primary) !important;
}

/* Cantidad */
.woocommerce-cart-form__contents .qty {
    width: 64px !important;
    padding: 9px 12px !important;
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-align: center !important;
    background: var(--ta-surface-container-lowest) !important;
    transition: border-color .2s, box-shadow .2s !important;
}

.woocommerce-cart-form__contents .qty:focus {
    outline: none !important;
    border-color: var(--ta-primary) !important;
    box-shadow: 0 0 0 3px rgba(0,52,111,0.12) !important;
}

/* BotÃ³n eliminar */
.woocommerce-cart-form__contents a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: var(--ta-surface-container-low) !important;
    color: var(--ta-on-surface-variant) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background .2s, color .2s, transform .2s !important;
}

.woocommerce-cart-form__contents a.remove:hover {
    background: #fde8e8 !important;
    color: #c0392b !important;
    transform: rotate(90deg) !important;
}

/* Fila de acciones (cupón + actualizar) */
.woocommerce-cart-form__contents td.actions {
    background: var(--ta-surface-container-lowest) !important;
    border-top: 1px solid rgba(0,52,111,0.07) !important;
    padding: 20px !important;
    text-align: right !important;
}

.woocommerce-cart-form__contents td.actions .coupon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    float: left !important;
}

.woocommerce-cart-form__contents td.actions .coupon input[type="text"] {
    width: 200px !important;
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 10px !important;
    padding: 11px 16px !important;
    font-size: 14px !important;
    font-family: var(--ta-font-body) !important;
    background: #fff !important;
    transition: border-color .2s !important;
    margin: 0 !important;
}

.woocommerce-cart-form__contents td.actions .coupon input[type="text"]:focus {
    outline: none !important;
    border-color: var(--ta-primary) !important;
}

.woocommerce-cart-form__contents td.actions .coupon button {
    background: var(--ta-surface-container) !important;
    color: var(--ta-on-surface) !important;
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 10px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: var(--ta-font-body) !important;
    cursor: pointer !important;
    transition: background .2s !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

.woocommerce-cart-form__contents td.actions .coupon button:hover {
    background: var(--ta-outline-variant) !important;
}

.woocommerce-cart-form__contents td.actions button[name="update_cart"] {
    display: inline-block !important;
    background: transparent !important;
    color: var(--ta-on-surface-variant) !important;
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 10px !important;
    padding: 11px 18px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: var(--ta-font-body) !important;
    cursor: pointer !important;
    transition: background .2s, color .2s !important;
}

.woocommerce-cart-form__contents td.actions button[name="update_cart"]:hover {
    background: var(--ta-surface-container) !important;
    color: var(--ta-on-surface) !important;
}

/* ─────────────────────────────
   PANEL DE TOTALES
───────────────────────────── */
.woocommerce-cart .cart-collaterals,
.woocommerce-page .cart-collaterals {
    margin-top: 0 !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 24px rgba(0,52,111,0.07) !important;
    border: 1px solid rgba(0,52,111,0.08) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 100px !important;
}

.cart_totals h2 {
    font-family: var(--ta-font-display) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: var(--ta-on-surface) !important;
    margin: 0 !important;
    padding: 24px 28px 16px !important;
    border-bottom: 1px solid rgba(0,52,111,0.07) !important;
    letter-spacing: -0.01em !important;
}

.cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.cart_totals table th,
.cart_totals table td {
    padding: 14px 28px !important;
    border-bottom: 1px solid rgba(0,52,111,0.04) !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}

.cart_totals table th {
    font-weight: 600 !important;
    color: var(--ta-on-surface-variant) !important;
    width: 130px !important;
}

.cart_totals table td {
    font-weight: 700 !important;
    color: var(--ta-on-surface) !important;
    text-align: right !important;
}

.cart_totals table tr.order-total th,
.cart_totals table tr.order-total td {
    font-size: 19px !important;
    color: var(--ta-primary) !important;
    border-bottom: none !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.cart_totals .wc-proceed-to-checkout {
    padding: 20px 28px 28px !important;
}

.cart_totals .checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 17px 24px !important;
    background: linear-gradient(135deg, var(--ta-primary) 0%, #003580 100%) !important;
    color: #fff !important;
    font-family: var(--ta-font-body) !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    border-radius: 13px !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    transition: transform .22s var(--ta-ease), box-shadow .22s !important;
    box-shadow: 0 8px 24px rgba(0,52,111,0.22) !important;
}

.cart_totals .checkout-button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 36px rgba(0,52,111,0.32) !important;
    color: #fff !important;
}

/* ──────────────────────────────
   CARRITO VACÍO (Empty State)
────────────────────────────── */
/* Forzar a que el contenido vacío ocupe todo el ancho del grid */
.woocommerce-cart .woocommerce .cart-empty,
.woocommerce-cart .woocommerce .return-to-shop {
    grid-column: 1 / -1 !important;
    text-align: center !important;
}

.woocommerce-cart .woocommerce .cart-empty {
    background: transparent !important;
    border: none !important;
    padding: 60px 20px 20px !important;
    font-family: var(--ta-font-display) !important;
    font-size: clamp(22px, 4vw, 32px) !important;
    font-weight: 800 !important;
    color: var(--ta-primary) !important;
    margin: 0 !important;
}

/* Icono gigante de carrito vacío */
.woocommerce-cart .woocommerce .cart-empty::before {
    content: '\e8cc'; /* Material Symbols: shopping_cart */
    font-family: 'Material Symbols Outlined' !important;
    display: block !important;
    font-size: 80px !important;
    color: var(--ta-outline-variant) !important;
    margin-bottom: 20px !important;
    line-height: 1 !important;
}

.woocommerce-cart .woocommerce .return-to-shop {
    margin-bottom: 80px !important;
}

.woocommerce-cart .woocommerce .return-to-shop .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--ta-primary) 0%, #003580 100%) !important;
    color: #fff !important;
    font-family: var(--ta-font-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 16px 36px !important;
    border-radius: var(--ta-radius-lg) !important;
    text-decoration: none !important;
    box-shadow: 0 8px 24px rgba(0,52,111,0.2) !important;
    transition: transform .22s var(--ta-ease), box-shadow .22s !important;
}

.woocommerce-cart .woocommerce .return-to-shop .button:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px rgba(0,52,111,0.3) !important;
    color: #fff !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CHECKOUT â€” DISEÃ‘O PREMIUM (desde cero)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.woocommerce-checkout .woocommerce {
    padding: 0 var(--ta-container-x) 100px;
}

/* Aviso WhatsApp */
.ta-checkout-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: linear-gradient(135deg, #054d44 0%, #0a7c6e 100%);
    color: rgba(255,255,255,0.92);
    border-radius: 14px;
    padding: 16px 22px;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 32px;
    max-width: var(--ta-max-width);
    margin-left: auto;
    margin-right: auto;
}

.ta-checkout-notice svg {
    flex-shrink: 0;
    margin-top: 2px;
    fill: #25d366;
}

/* Layout checkout 2 cols */
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 400px !important;
    gap: 32px !important;
    align-items: start !important;
    max-width: var(--ta-max-width) !important;
    margin: 0 auto !important;
}

/* Panel izquierdo: datos del cliente */
.woocommerce-checkout #customer_details {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Secciones de datos */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 24px rgba(0,52,111,0.06);
    border: 1px solid rgba(0,52,111,0.07);
    padding: 32px;
}
.woocommerce-shipping-fields{
    margin-bottom:25px;
}
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
#ship-to-different-address {
    font-family: var(--ta-font-display) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--ta-on-surface) !important;
    margin: 0 0 24px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(0,52,111,0.08) !important;
    letter-spacing: -0.02em !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Campos del formulario */
.woocommerce form .form-row {
    margin-bottom: 20px !important;
}

.woocommerce form .form-row label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--ta-on-surface-variant) !important;
    margin-bottom: 7px !important;
    display: block !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.woocommerce form .form-row .required {
    color: #e74c3c !important;
    text-decoration: none !important;
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea {
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 11px !important;
    padding: 13px 16px !important;
    font-family: var(--ta-font-body) !important;
    font-size: 14px !important;
    color: var(--ta-on-surface) !important;
    background: var(--ta-surface-container-lowest) !important;
    width: 100% !important;
    transition: border-color .2s, box-shadow .2s, background .2s !important;
    appearance: auto !important;
}

.woocommerce form .input-text:hover,
.woocommerce form select:hover,
.woocommerce form textarea:hover {
    background: #fff !important;
}

.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
    outline: none !important;
    background: #fff !important;
    border-color: var(--ta-primary) !important;
    box-shadow: 0 0 0 3px rgba(0,52,111,0.1) !important;
}

/* Checkbox envÃ­o diferente */
#ship-to-different-address label {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ta-on-surface) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
}

/* Panel derecho: resumen del pedido */
.woocommerce-checkout #order_review_heading {
    display: none !important;
}

.woocommerce-checkout #order_review {
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 24px rgba(0,52,111,0.07) !important;
    border: 1px solid rgba(0,52,111,0.08) !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 96px !important;
    grid-column: 2 !important;
    grid-row: 1 / span 4 !important;
}

/* Header del resumen */
.woocommerce-checkout #order_review::before {
    content: "Resumen del pedido";
    display: block;
    font-family: var(--ta-font-display);
    font-size: 17px;
    font-weight: 800;
    color: var(--ta-on-surface);
    padding: 24px 28px 16px;
    border-bottom: 1px solid rgba(0,52,111,0.07);
    letter-spacing: -0.01em;
}

/* Tabla de revisiÃ³n */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 14px !important;
    margin: 0 !important;
}

.woocommerce-checkout-review-order-table thead {
    display: none !important;
}

.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tbody th {
    padding: 14px 28px !important;
    border-bottom: 1px solid rgba(0,52,111,0.04) !important;
    vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table .product-name {
    font-weight: 600 !important;
    color: var(--ta-on-surface) !important;
    line-height: 1.45 !important;
}

.woocommerce-checkout-review-order-table .product-total {
    font-weight: 800 !important;
    color: var(--ta-primary) !important;
    text-align: right !important;
}

.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
    padding: 12px 28px !important;
    border-bottom: 1px solid rgba(0,52,111,0.04) !important;
    font-size: 13px !important;
}

.woocommerce-checkout-review-order-table tfoot tr th {
    color: var(--ta-on-surface-variant) !important;
    font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table tfoot tr td {
    text-align: right !important;
    font-weight: 700 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: var(--ta-primary) !important;
    border-bottom: none !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

/* SecciÃ³n de pago */
#payment {
    background: var(--ta-surface-container-lowest) !important;
    border-top: 1px solid rgba(0,52,111,0.07) !important;
    padding: 24px 28px !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

#payment .payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
}

#payment ul.payment_methods li {
    background: #fff !important;
    border: 1.5px solid var(--ta-outline-variant) !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    transition: border-color .2s, box-shadow .2s !important;
}

#payment ul.payment_methods li:hover {
    border-color: var(--ta-primary) !important;
    box-shadow: 0 2px 12px rgba(0,52,111,0.08) !important;
}

#payment ul.payment_methods li label {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--ta-on-surface) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

#payment .payment_box {
    background: var(--ta-surface-container-low) !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    color: var(--ta-on-surface-variant) !important;
    padding: 14px !important;
    margin: 10px 0 0 !important;
    border: none !important;
}

#payment .place-order {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

#payment #place_order {
    width: 100% !important;
    padding: 18px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    background: linear-gradient(135deg, #25d366 0%, #128c5e 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 13px !important;
    font-family: var(--ta-font-body) !important;
    cursor: pointer !important;
    transition: transform .22s var(--ta-ease), box-shadow .22s !important;
    box-shadow: 0 8px 28px rgba(37,211,102,0.28) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    letter-spacing: 0.02em !important;
}

#payment #place_order:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 40px rgba(37,211,102,0.38) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CONFIRMACIÃ“N DE PEDIDO (THANK YOU)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ta-thankyou-wrap {
    max-width: 680px;
    margin: 64px auto;
    padding: 0 var(--ta-container-x);
    text-align: center;
}

.ta-thankyou-icon {
    width: 88px;
    height: 88px;
    background: rgba(0,52,111,0.07);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 28px;
}

.ta-thankyou-icon svg {
    width: 44px;
    height: 44px;
    fill: var(--ta-primary);
}

.ta-thankyou-title {
    font-family: var(--ta-font-display);
    font-size: clamp(26px, 4vw, 38px);
    font-weight: 800;
    color: var(--ta-on-surface);
    letter-spacing: -0.02em;
    margin: 0 0 14px;
    line-height: 1.2;
}

.ta-thankyou-subtitle {
    font-size: 16px;
    color: var(--ta-on-surface-variant);
    line-height: 1.7;
    margin: 0 0 36px;
}

.ta-thankyou-wa-card {
    background: linear-gradient(135deg, #054d44 0%, #0a7c6e 100%);
    border-radius: 20px;
    padding: 36px 40px;
    margin-bottom: 44px;
    color: #fff;
    text-align: center;
}

.ta-thankyou-wa-card__title {
    font-family: var(--ta-font-display);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px;
}

.ta-thankyou-wa-card__desc {
    font-size: 15px;
    opacity: .82;
    margin: 0 0 28px;
    line-height: 1.65;
}

.ta-thankyou-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #25d366;
    color: #fff;
    font-family: var(--ta-font-body);
    font-size: 16px;
    font-weight: 700;
    padding: 16px 36px;
    border-radius: 999px;
    text-decoration: none;
    transition: background .2s, transform .2s;
    box-shadow: 0 6px 24px rgba(37,211,102,0.4);
}

.ta-thankyou-wa-btn:hover {
    background: #20c05a;
    color: #fff;
    transform: scale(1.04);
}

.ta-thankyou-order-details {
    text-align: left;
    background: #fff;
    border: 1px solid var(--ta-outline-variant);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 32px;
}

.ta-thankyou-order-details h2 {
    font-family: var(--ta-font-display);
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    padding: 16px 24px;
    background: var(--ta-primary);
    color: #fff;
}

.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-order-overview li {
    padding: 16px 24px !important;
    border-bottom: 1px solid var(--ta-outline-variant) !important;
    font-size: 13px !important;
    color: var(--ta-on-surface-variant) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.woocommerce-order-overview li:nth-child(odd) {
    border-right: 1px solid var(--ta-outline-variant) !important;
}

.woocommerce-order-overview li strong {
    color: var(--ta-on-surface) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    display: block !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MENSAJES Y ALERTAS WC
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--ta-radius-md) !important;
    border-top: none !important;
    padding: 14px 18px 14px 50px !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
    position: relative !important;
}

.woocommerce-message {
    background: rgba(0,52,111,0.06) !important;
    border-left: 4px solid var(--ta-primary) !important;
    color: var(--ta-primary) !important;
}

.woocommerce-info {
    background: rgba(0,52,111,0.04) !important;
    border-left: 4px solid var(--ta-secondary) !important;
    color: var(--ta-secondary) !important;
}

.woocommerce-error {
    background: rgba(201,94,0,0.06) !important;
    border-left: 4px solid var(--ta-tertiary) !important;
    color: var(--ta-tertiary) !important;
}

.woocommerce-message a,
.woocommerce-info a {
    color: var(--ta-primary) !important;
    font-weight: 600 !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PAGINACIÃ“N
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.woocommerce nav.woocommerce-pagination ul {
    display: flex !important;
    gap: 6px !important;
    justify-content: center !important;
    list-style: none !important;
    padding: 40px 0 0 !important;
    margin: 0 !important;
    border-top: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--ta-radius-md) !important;
    border: 1px solid var(--ta-outline-variant) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ta-on-surface) !important;
    text-decoration: none !important;
    transition: all .2s !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--ta-primary) !important;
    border-color: var(--ta-primary) !important;
    color: #fff !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   RESPONSIVE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Tablet grande */
@media (max-width: 1180px) {
    .ta-prod-layout {
        grid-template-columns: 1fr 380px;
        gap: 40px;
        margin:10px;
    }
    .ta-prod-below .related ul.products,
    .ta-prod-below .up-sells ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* Tablet */
@media (max-width: 960px) {
    .ta-prod-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .ta-prod-layout__summary {
        position: static;
    }
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    /* Carrito — se abandona el grid de 2 columnas por completo en
       mobile/tablet, así ningún grid-column/grid-row heredado del
       layout de escritorio puede sacar el resumen fuera de pantalla. */
    .woocommerce-cart .woocommerce {
        display: block !important;
    }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        display: block !important;
        width: 100% !important;
        margin-top: 24px !important;
    }
    .woocommerce-cart .cart-collaterals .cart_totals {
        position: static !important;
        top: auto !important;
    }
    /* Checkout */
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-checkout #order_review {
        position: static !important;
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    .ta-thankyou-wa-card {
        padding: 28px 24px;
    }
    .ta-prod-below .related ul.products,
    .ta-prod-below .up-sells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* MÃ³vil */
@media (max-width: 640px) {
    .ta-prod-breadbar nav span[aria-current] {
        max-width: 160px;
    }
    .woocommerce-order-overview {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-order-overview li:nth-child(odd) {
        border-right: none !important;
    }
    .cart_totals {
        max-width: 100% !important;
    }
    .ta-thankyou-wrap {
        margin: 40px auto;
    }
    .ta-thankyou-wa-btn {
        width: 100%;
        justify-content: center;
    }
    .ta-prod-chips {
        gap: 6px;
    }
    .ta-prod-chip {
        font-size: 11px;
    }
    /* Cart responsive */
    .woocommerce-cart-form {
        border-radius: 14px;
        padding: 16px !important;
    }
    .woocommerce-cart-form__contents,
    .woocommerce-cart-form__contents tbody,
    .woocommerce-cart-form__contents tr,
    .woocommerce-cart-form__contents td {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce-cart-form__contents thead {
        display: none !important;
    }
    .woocommerce-cart-form__contents tbody tr {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 16px 0 !important;
        border-bottom: 1px solid rgba(0,52,111,0.07) !important;
        position: relative !important;
    }
    .woocommerce-cart-form__contents td {
        border: none !important;
        padding: 8px 0 !important;
    }
    .woocommerce-cart-form__contents td.product-remove {
        position: absolute !important;
        top: 16px !important;
        right: 0 !important;
        width: auto !important;
        padding: 0 !important;
        z-index: 2;
    }
    .woocommerce-cart-form__contents td.product-thumbnail {
        width: 80px !important;
        padding-right: 16px !important;
    }
    .woocommerce-cart-form__contents td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
    }
    .woocommerce-cart-form__contents td.product-name {
        flex: 1 !important;
        width: calc(100% - 80px) !important;
        padding-right: 32px !important; /* Space for remove button */
    }
    .woocommerce-cart-form__contents td.product-price,
    .woocommerce-cart-form__contents td.product-subtotal,
    .woocommerce-cart-form__contents td.product-quantity {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    .woocommerce-cart-form__contents td.product-price::before { content: "Precio"; }
    .woocommerce-cart-form__contents td.product-subtotal::before { content: "Subtotal"; }
    .woocommerce-cart-form__contents td.product-quantity::before { content: "Cantidad"; }
    .woocommerce-cart-form__contents td.product-price::before,
    .woocommerce-cart-form__contents td.product-subtotal::before,
    .woocommerce-cart-form__contents td.product-quantity::before {
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--ta-on-surface-variant);
    }
    
    /* Mobile Actions Row */
    .woocommerce-cart-form__contents td.actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 24px 0 8px !important;
        text-align: left !important;
    }
    .woocommerce-cart-form__contents td.actions .coupon {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        float: none !important;
    }
    .woocommerce-cart-form__contents td.actions .coupon input[type="text"],
    .woocommerce-cart-form__contents td.actions .coupon button,
    .woocommerce-cart-form__contents td.actions button[name="update_cart"] {
        width: 100% !important;
        display: block !important;
        text-align: center !important;
    }
    /* Checkout responsive */
    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields {
        padding: 22px;
        border-radius: 14px;
    }
    .ta-wc-hero {
        padding: 36px var(--ta-container-x) 30px;
    }
}

/* Móvil pequeño */
@media (max-width: 400px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ═════════════════════════════════════════════════════════════
   MI CUENTA (My Account)
   ═════════════════════════════════════════════════════════════ */

.ta-wc-hero__subtitle {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    margin: 10px 0 0;
    line-height: 1.6;
    max-width: 560px;
}

/* Layout: nav lateral + contenido */
body.woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    align-items: start;
    padding-bottom: 80px;
}

body.woocommerce-account .ta-account-hero,
body.woocommerce-account .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

/* ── Navegación lateral ─────────────────────────────────────── */
.woocommerce-MyAccount-navigation {
    background: var(--ta-surface-container-lowest);
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-lg);
    padding: 12px;
    position: sticky;
    top: calc(76px + 24px);
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: var(--ta-radius-md);
    color: var(--ta-on-surface-variant);
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 600;
    transition: background .2s, color .2s;
}

.woocommerce-MyAccount-navigation li a::before {
    font-family: 'Material Symbols Outlined';
    font-size: 20px;
    color: var(--ta-primary-fixed-dim);
    transition: color .2s;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before        { content: '\e871'; }
.woocommerce-MyAccount-navigation-link--orders a::before           { content: '\ef6e'; }
.woocommerce-MyAccount-navigation-link--downloads a::before        { content: '\f090'; }
.woocommerce-MyAccount-navigation-link--edit-address a::before     { content: '\e0c8'; }
.woocommerce-MyAccount-navigation-link--payment-methods a::before  { content: '\e870'; }
.woocommerce-MyAccount-navigation-link--edit-account a::before     { content: '\e7fd'; }
.woocommerce-MyAccount-navigation-link--customer-logout a::before  { content: '\e9ba'; }

.woocommerce-MyAccount-navigation li a:hover {
    background: var(--ta-surface-container-high);
    color: var(--ta-primary);
}

.woocommerce-MyAccount-navigation li.is-active a {
    background: var(--ta-primary);
    color: #fff;
}
.woocommerce-MyAccount-navigation li.is-active a::before {
    color: #fff;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #b3261e;
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    color: #b3261e;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #fdecea;
    color: #93000a;
}

/* ── Contenido ──────────────────────────────────────────────── */
.woocommerce-MyAccount-content {
    background: var(--ta-surface-container-lowest);
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-lg);
    padding: 32px 36px;
    min-width: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--ta-on-surface-variant);
}

.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
    font-family: var(--ta-font-display);
    color: var(--ta-on-surface);
    margin-top: 0;
}

.woocommerce-MyAccount-content a {
    color: var(--ta-primary);
    font-weight: 600;
}

/* Tabla de pedidos */
.woocommerce-MyAccount-content table.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.woocommerce-orders-table th {
    text-align: left;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ta-outline);
    padding: 12px 14px;
    border-bottom: 2px solid var(--ta-outline-variant);
}
.woocommerce-orders-table td {
    padding: 14px;
    border-bottom: 1px solid var(--ta-surface-container-high);
    vertical-align: middle;
}
.woocommerce-orders-table .button {
    display: inline-block;
    background: var(--ta-primary);
    color: #fff !important;
    padding: 8px 18px;
    border-radius: var(--ta-radius-md);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s;
}
.woocommerce-orders-table .button:hover {
    background: var(--ta-primary-dark, #00254f);
}

/* Direcciones */
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.woocommerce-Address {
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-md);
    padding: 20px 24px;
}
.woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.woocommerce-Address-title h3 {
    font-size: 17px;
    margin: 0;
}
.woocommerce-Address address {
    font-style: normal;
    margin-top: 12px;
    color: var(--ta-on-surface-variant);
}

/* Formularios (editar cuenta / direcciones / login) */
body.woocommerce-account .woocommerce form .form-row label {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ta-on-surface);
    margin-bottom: 6px;
    display: block;
}
body.woocommerce-account .woocommerce form .form-row input.input-text,
body.woocommerce-account .woocommerce form .form-row select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-md);
    font-size: 14.5px;
    background: #fff;
    color: var(--ta-on-surface);
    transition: border-color .2s, box-shadow .2s;
}
body.woocommerce-account .woocommerce form .form-row input.input-text:focus,
body.woocommerce-account .woocommerce form .form-row select:focus {
    outline: none;
    border-color: var(--ta-primary);
    box-shadow: 0 0 0 3px rgba(0,52,111,0.1);
}
body.woocommerce-account .woocommerce form fieldset {
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-md);
    padding: 18px 22px;
    margin: 24px 0;
}
body.woocommerce-account .woocommerce form fieldset legend {
    font-weight: 700;
    color: var(--ta-on-surface);
    padding: 0 8px;
}

body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce .button[name] {
    background: var(--ta-primary);
    color: #fff;
    border: none;
    padding: 13px 30px;
    border-radius: var(--ta-radius-md);
    font-size: 14.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, transform .1s;
}
body.woocommerce-account .woocommerce button.button:hover {
    background: var(--ta-primary-dark, #00254f);
    transform: translateY(-1px);
}

/* ── Login / Registro ───────────────────────────────────────── */
body.woocommerce-account:not(.logged-in) .woocommerce {
    padding-bottom: 80px;
}

#customer_login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 920px;
    margin: 0 auto;
}
#customer_login .u-column1,
#customer_login .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce > h2 + form.login,
.woocommerce-ResetPassword {
    background: var(--ta-surface-container-lowest);
    border: 1px solid var(--ta-outline-variant);
    border-radius: var(--ta-radius-lg);
    padding: 36px 40px;
}
#customer_login h2 {
    font-family: var(--ta-font-display);
    font-size: 22px;
    color: var(--ta-on-surface);
    margin: 0 0 22px;
}
#customer_login form {
    border: none;
    padding: 0;
    margin: 0;
}
.woocommerce-LostPassword a {
    color: var(--ta-primary);
    font-size: 13.5px;
}
.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0 14px !important;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
    body.woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .woocommerce-MyAccount-navigation {
        position: static;
        padding: 8px;
    }
    .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        overflow-x: auto;
        gap: 6px;
        -webkit-overflow-scrolling: touch;
    }
    .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }
    .woocommerce-MyAccount-navigation li a {
        padding: 10px 14px;
        white-space: nowrap;
    }
    .woocommerce-MyAccount-content {
        padding: 24px 20px;
    }
    .woocommerce-Addresses,
    #customer_login {
        grid-template-columns: 1fr;
    }
    .woocommerce-orders-table thead { display: none; }
    .woocommerce-orders-table td {
        display: block;
        text-align: right;
    }
    .woocommerce-orders-table td::before {
        content: attr(data-title);
        float: left;
        font-weight: 700;
        color: var(--ta-on-surface);
    }
}

/* ── Mi Cuenta: overrides del layout nativo de WooCommerce ──── */

/* El hero de cuenta NO usa el breakout 100vw (desborda en móvil):
   se queda dentro del contenedor como banner redondeado. */
.ta-account-hero {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: var(--ta-radius-lg);
    margin-bottom: 32px !important;
}
.ta-account-hero .ta-wc-hero__inner {
    max-width: none;
}

/* Sin desbordes horizontales en Mi Cuenta */
body.woocommerce-account {
    overflow-x: clip;
}
body.woocommerce-account .woocommerce {
    min-width: 0;
    max-width: min(var(--ta-max-width), 100%);
    box-sizing: border-box;
}
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: 280px minmax(0, 1fr) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    width: 100%;
}

.woocommerce-MyAccount-navigation li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.woocommerce-MyAccount-navigation li a {
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
}

@media (max-width: 900px) {
    body.woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-MyAccount-navigation {
        position: static !important;
    }
    .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        overflow-x: auto;
    }
    .woocommerce-MyAccount-navigation li {
        width: auto;
    }
}
