*, *::before, *::after { box-sizing: border-box; }
    html, body { overflow-x: hidden; max-width: 100vw; }
    img, video, iframe { max-width: 100%; height: auto; }
    table { max-width: 100%; }

    /* Sin contorno de foco al hacer CLICK/mouse (logo, menús, botones, links…)
       en todo el sitio. Se conserva SOLO en navegación por teclado (:focus-visible)
       para no romper accesibilidad. */
    :focus:not(:focus-visible) { outline: none !important; }
    a:focus:not(:focus-visible),
    button:focus:not(:focus-visible),
    [role="button"]:focus:not(:focus-visible),
    .sam-logo:focus:not(:focus-visible),
    .sam-nav-item:focus:not(:focus-visible),
    .sam-nav-item a:focus:not(:focus-visible),
    .sam-mega-label:focus:not(:focus-visible) { outline: none !important; box-shadow: none !important; }

    /* ===== TABLET (769-1024px) ===== */
    @media (max-width: 1024px) {
        .woocommerce-checkout .col2-set { display: flex; flex-direction: column; }
        .woocommerce-checkout .col2-set .col-1,
        .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }
        .woocommerce-checkout #order_review { width: 100% !important; float: none !important; }
        /* Related products 2 cols on tablet */
        .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    }

    /* ===== MOBILE (max 768px) ===== */
    @media (max-width: 768px) {
        /* Global */
        .ast-container { padding-left: 12px !important; padding-right: 12px !important; }
        .entry-content { overflow-x: hidden; }
        h1 { font-size: 22px !important; }
        h2 { font-size: 18px !important; }

        /* Checkout */
        .woocommerce-checkout table.shop_table { font-size: 13px; }
        .woocommerce-checkout table.shop_table td,
        .woocommerce-checkout table.shop_table th { padding: 8px 10px; }
        .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
        .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display: flex; flex-direction: column; }
        .woocommerce-checkout .form-row { width: 100% !important; float: none !important; padding: 0 !important; margin-bottom: 10px; }
        .woocommerce-checkout #place_order { font-size: 15px !important; padding: 14px !important; }
        .woocommerce-checkout .woocommerce-form-coupon,
        .woocommerce-checkout .woocommerce-form-coupon-toggle,
        .woocommerce-checkout .checkout_coupon { display: none !important; }

        /* FAQ */
        .sam-faq { padding: 0 !important; }
        .sam-faq-answer { font-size: 14px; }

        /* Order received */
        .woocommerce-order-received .woocommerce-thankyou-order-received { font-size: 16px; padding: 16px; }
        .woocommerce-order-received .woocommerce-order-overview { grid-template-columns: 1fr; }
        .woocommerce-order-received table { font-size: 12px; display: block; overflow-x: auto; }

        /* Como comprar & legal pages */
        .page-template-default .entry-content { padding: 0 12px; }
        .page-template-default .entry-content h1 { font-size: 22px !important; }
        .page-template-default .entry-content h2 { font-size: 18px !important; }
        .page-template-default .entry-content img { max-width: 100% !important; height: auto !important; }

        /* Footer */
        .sam-footer-inner { flex-direction: column !important; gap: 24px !important; }
        .sam-footer-col { width: 100% !important; }
        .sam-footer-bottom { flex-direction: column; text-align: center; gap: 8px; }

        /* WC notices: el responsive vive junto a su estilo, más abajo (las reglas de
           acá quedaban muertas por especificidad frente a los :not() de ese bloque) */

        /* Toast global - sobre la mobile bar (la barra existe hasta 768px) */
        #sam-global-toast { bottom: 70px !important; right: 12px !important; }

        /* Astra overrides */
        .ast-separate-container .ast-article-single { padding: 0 !important; }
        #primary { padding: 0 !important; }
    }

    /* ===== SMALL MOBILE (max 480px) ===== */
    @media (max-width: 480px) {
        /* Topbar smaller */
        .sam-topbar { font-size: 11px; padding: 6px 10px; }

        /* Mi Cuenta grid 2 cols */
        .sam-ma-nav { grid-template-columns: 1fr 1fr !important; }

        /* Products horizontal scroll */
        .sam-products-grid > .sam-product-card { flex: 0 0 calc(50% - 5px) !important; }

        /* Search suggestions */
        #sam-search-suggest { font-size: 12px; }

        /* Toast smaller (con !important: el CSS base del toast se imprime después en wp_head prio 99) */
        #sam-global-toast { max-width: 300px !important; font-size: 12px !important; right: 10px !important; bottom: 70px !important; }

        /* Tier card */
        .sam-tier-card { padding: 10px 14px !important; font-size: 12px; }
    }

    /* ===== ORDER RECEIVED PAGE ===== */
    .woocommerce-order-received .entry-header { display: none; }
    /* Full width: liberar los contenedores del theme en esta página */
    .woocommerce-order-received .ast-container,
    .woocommerce-order-received .site-main,
    .woocommerce-order-received #primary,
    .woocommerce-order-received .entry-content,
    .woocommerce-order-received .ast-article-single {
        max-width: 100% !important; width: 100% !important;
        padding-left: 0 !important; padding-right: 0 !important; margin: 0 auto !important;
    }
    .woocommerce-order-received .woocommerce-order {
        max-width: 1280px; margin: 0 auto; padding: 30px 40px;
    }
    /* Muro de invitado: el banner cuelga directo de .woocommerce (sin wrapper
       .woocommerce-order) y quedaba full-bleed — alinearlo con la card de login */
    .woocommerce-order-received .woocommerce > .woocommerce-thankyou-order-received {
        max-width: min(480px, calc(100% - 28px)); margin: 24px auto;
    }
    /* Desktop: 2 columnas — pedido/transferencia a la izquierda, cliente a la derecha */
    @media (min-width: 1024px) {
        .woocommerce-order-received .woocommerce-order {
            display: grid;
            grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
            grid-auto-flow: row dense;
            column-gap: 32px;
            align-items: start;
        }
        .woocommerce-order-received .woocommerce-order > * { grid-column: 1 / -1; }
        /* OJO: `.sam-orec-secure` es un DIV (no un <p>), así que caía en la regla
           de ancho completo de arriba y cruzaba las DOS columnas. Eso hacía de
           barrera: la tarjeta del cliente no podía subir y quedaba ~600px de
           blanco al costado de los datos de transferencia. Va en la columna 1. */
        .woocommerce-order-received .woocommerce-order > .woocommerce-bacs-bank-details,
        .woocommerce-order-received .woocommerce-order > .woocommerce-order-details,
        .woocommerce-order-received .woocommerce-order > .sam-orec-secure,
        .woocommerce-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received) { grid-column: 1; }
        /* La card del cliente arranca en la 1ª fila de contenido (filas 1-3 son
           título + aviso + resumen, que van a ancho completo) para llenar ese
           espacio; el span generoso evita que una fila corta la estire. */
        .woocommerce-order-received .woocommerce-order > .woocommerce-customer-details {
            grid-column: 2; grid-row: 4 / span 20; align-self: start;
        }
    }
    /* Párrafos sueltos del gateway (instrucciones de transferencia) como card */
    .woocommerce-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received):not(.sam-orec-secure) {
        background: #f5f9ff; border: 1px solid #dbe6f8; border-radius: 12px;
        padding: 14px 16px; font-size: 13.5px; font-weight: 600; line-height: 1.65; color: #12233f;
        margin: 0 0 14px;
    }

    /* ── Aviso de éxito ────────────────────────────────────────────────────── */
    .woocommerce-order-received .woocommerce-thankyou-order-received {
        position: relative;
        background: #f2fbf6; border: 1px solid #cdead8; border-radius: 16px;
        padding: 20px 22px 20px 66px; margin: 0 0 16px;
        font-size: 17px; font-weight: 800; color: #14532d; text-align: left;
    }
    .woocommerce-order-received .woocommerce-thankyou-order-received::before {
        content: "\2713";
        position: absolute; left: 20px; top: 50%; transform: translateY(-50%);
        width: 32px; height: 32px; border-radius: 10px;
        background: linear-gradient(135deg, #15803d, #22c55e);
        color: #fff; font-size: 17px; font-weight: 900; line-height: 32px; text-align: center;
        box-shadow: 0 3px 8px rgba(21, 128, 61, .28);
    }

    /* ── Resumen del pedido (order overview) como celdas métricas ──────────── */
    /* WooCommerce trae ul.order_details con li flotados, padding-right grande y
       borde derecho punteado; sin resetear eso el grid queda corrido a la derecha
       con un hueco enorme. De ahí los !important. */
    .woocommerce-order-received ul.order_details,
    .woocommerce-order-received ul.wc-bacs-bank-details,
    .woocommerce-order-received .woocommerce-order-overview {
        display: grid !important; float: none !important;
        list-style: none !important; border: 0;
        gap: 10px;
    }
    .woocommerce-order-received ul.order_details::before,
    .woocommerce-order-received ul.order_details::after,
    .woocommerce-order-received ul.wc-bacs-bank-details::before,
    .woocommerce-order-received ul.wc-bacs-bank-details::after {
        display: none !important; content: none !important;
    }
    .woocommerce-order-received ul.order_details > li,
    .woocommerce-order-received ul.wc-bacs-bank-details > li {
        float: none !important; width: auto !important;
        margin: 0 !important; padding: 11px 13px !important;
        border: 1px solid #e4eefc !important; border-radius: 11px !important;
        text-transform: uppercase !important; line-height: 1.35 !important;
    }
    .woocommerce-order-received .woocommerce-order-overview {
        background: #fff; border: 1px solid #e6ecf5 !important; border-radius: 14px;
        box-shadow: 0 2px 8px rgba(0, 0, 51, .04);
        padding: 14px !important; margin: 0 0 16px !important;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    .woocommerce-order-received .woocommerce-order-overview > li {
        display: flex !important; flex-direction: column; gap: 3px;
        background: linear-gradient(180deg, #f7fbff, #f2f7ff);
        font-size: 9.5px !important; font-weight: 800 !important; letter-spacing: .5px;
        color: #8b96a8 !important;
    }
    .woocommerce-order-received .woocommerce-order-overview > li strong {
        font-size: 14.5px !important; font-weight: 800 !important; letter-spacing: 0 !important;
        text-transform: none !important; color: #1e40af !important;
        overflow-wrap: anywhere; line-height: 1.3;
    }
    .woocommerce-order-received .woocommerce-order-overview > li.total strong .woocommerce-Price-amount { color: #1e40af; }

    /* ── Cards con barra navy (transferencia / pedido / cliente) ───────────── */
    .woocommerce-order-received .woocommerce-bacs-bank-details,
    .woocommerce-order-received .woocommerce-order-details,
    .woocommerce-order-received .woocommerce-customer-details {
        background: #fff; border: 1px solid #e6ecf5; border-radius: 16px;
        box-shadow: 0 10px 30px rgba(0, 0, 51, .06);
        padding: 0 20px 20px; margin: 0 0 16px; overflow: hidden;
    }
    /* El título de "Datos del cliente" es .woocommerce-column__title, que también
       matchea la regla de etiqueta chica de más abajo: acá va con !important para
       que las tres cards tengan la misma barra navy. */
    .woocommerce-order-received .woocommerce-bacs-bank-details > h2,
    .woocommerce-order-received .woocommerce-order-details > h2,
    .woocommerce-order-received .woocommerce-customer-details > h2 {
        margin: 0 -20px 16px !important; padding: 17px 20px !important;
        background: linear-gradient(135deg, #000033, #1e40af) !important;
        border: 0; border-radius: 0;
        font-size: 15px !important; font-weight: 800 !important; letter-spacing: .5px;
        text-transform: uppercase; color: #fff !important; line-height: 1.2;
    }
    /* El h3 global del tema lleva !important (18px navy): hay que pisarlo */
    .woocommerce-order-received h3.wc-bacs-bank-details-account-name {
        margin: 2px 0 12px !important; padding: 0 !important;
        font-size: 11px !important; font-weight: 800 !important; letter-spacing: .4px;
        text-transform: uppercase; color: #5b6472 !important;
    }
    /* ── Datos bancarios para copiar y pegar (los arma sam_orec_bank_copy) ──── */
    /* La regla de reset usa "ul.wc-bacs-bank-details" (con elemento), que le gana a
       un selector de solo clases: acá va con el mismo peso y más abajo. */
    body.woocommerce-order-received ul.sam-bank-src-hidden,
    body.woocommerce-order-received h3.sam-bank-src-hidden { display: none !important; }
    .woocommerce-order-received .sam-bank-list {
        list-style: none; margin: 0 0 14px; padding: 0;
        border: 1px solid #e6ecf5; border-radius: 12px; overflow: hidden;
    }
    .woocommerce-order-received .sam-bank-list li {
        display: grid; grid-template-columns: 130px minmax(0, 1fr) 34px;
        align-items: center; gap: 10px;
        padding: 11px 13px; background: #f7fafd;
        border-bottom: 1px solid #e6ecf5;
    }
    .woocommerce-order-received .sam-bank-list li:last-child { border-bottom: 0; }
    .woocommerce-order-received .sam-bank-k {
        font-size: 10px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: #8b96a8;
    }
    .woocommerce-order-received .sam-bank-v {
        font-size: 15px; font-weight: 800; color: #000033;
        font-variant-numeric: tabular-nums; overflow-wrap: anywhere; user-select: all;
    }
    .woocommerce-order-received .sam-bank-copy {
        display: flex; align-items: center; justify-content: center;
        width: 30px; height: 30px; padding: 0; border-radius: 9px; cursor: pointer;
        background: #fff !important; border: 1px solid #dbe6f8 !important; color: #1e40af !important;
        transition: background .15s, color .15s, border-color .15s;
    }
    .woocommerce-order-received .sam-bank-copy svg { width: 15px; height: 15px; }
    .woocommerce-order-received .sam-bank-copy:hover { background: #1e40af !important; color: #fff !important; border-color: #1e40af !important; }
    .woocommerce-order-received .sam-bank-copy.is-ok { background: #16a34a !important; border-color: #16a34a !important; color: #fff !important; }
    .woocommerce-order-received .sam-bank-copyall {
        display: flex; align-items: center; justify-content: center; gap: 9px;
        width: 100%; padding: 13px 20px; border-radius: 999px; cursor: pointer;
        background: #fff !important; color: #000033 !important;
        border: 1.5px solid #dbe6f8 !important;
        font-size: 12.5px !important; font-weight: 800 !important; letter-spacing: .4px; text-transform: uppercase;
        box-shadow: 0 2px 8px rgba(0, 0, 51, .04);
        transition: background .15s, color .15s, border-color .15s, transform .15s;
    }
    .woocommerce-order-received .sam-bank-copyall svg { width: 16px; height: 16px; flex-shrink: 0; }
    .woocommerce-order-received .sam-bank-copyall:hover {
        background: #000033 !important; color: #fff !important; border-color: #000033 !important; transform: translateY(-1px);
    }
    .woocommerce-order-received .sam-bank-copyall.is-ok {
        background: #16a34a !important; border-color: #16a34a !important; color: #fff !important;
    }
    @media (max-width: 520px) {
        .woocommerce-order-received .sam-bank-list li { grid-template-columns: minmax(0, 1fr) 30px; row-gap: 2px; }
        .woocommerce-order-received .sam-bank-k { grid-column: 1; }
        .woocommerce-order-received .sam-bank-v { grid-column: 1; }
        .woocommerce-order-received .sam-bank-copy { grid-column: 2; grid-row: 1 / span 2; }
    }

    /* Datos bancarios: pares etiqueta/valor en celdas (fallback si el JS no corre) */
    .woocommerce-order-received ul.wc-bacs-bank-details {
        margin: 0 !important; padding: 0 !important;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    .woocommerce-order-received ul.wc-bacs-bank-details > li {
        display: flex !important; flex-direction: column; gap: 3px;
        background: #f7fafd;
        font-size: 9.5px !important; font-weight: 800 !important; letter-spacing: .5px;
        color: #8b96a8 !important;
    }
    .woocommerce-order-received ul.wc-bacs-bank-details > li strong {
        display: block; font-size: 14px !important; font-weight: 800 !important;
        letter-spacing: 0 !important; text-transform: none !important;
        color: #000033 !important; overflow-wrap: anywhere; line-height: 1.3;
    }

    /* ── Tablas (detalle del pedido) ───────────────────────────────────────── */
    .woocommerce-order-received table { width: 100%; border-collapse: collapse; margin: 0; }
    .woocommerce-order-received table th {
        background: none; padding: 11px 0; text-align: left; border: 0;
        border-bottom: 1px solid #f1f5f9;
        font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: #8b96a8;
    }
    .woocommerce-order-received table td {
        padding: 11px 0; border: 0; border-bottom: 1px solid #f1f5f9;
        font-size: 13.5px; font-weight: 600; color: #475569;
    }
    .woocommerce-order-received table td.woocommerce-table__product-name a { color: #000033; font-weight: 800; text-decoration: none; }
    .woocommerce-order-received table td.woocommerce-table__product-name a:hover { color: #1e40af; }
    .woocommerce-order-received table .product-quantity,
    .woocommerce-order-received table td.woocommerce-table__product-total { text-align: right; color: #000033; font-weight: 800; }
    .woocommerce-order-received table tfoot th { border-bottom: 1px solid #f1f5f9; color: #5b6472; font-size: 12.5px; text-transform: none; }
    .woocommerce-order-received table tfoot td { text-align: right; font-weight: 800; color: #000033; }
    .woocommerce-order-received table tfoot tr:last-child th,
    .woocommerce-order-received table tfoot tr:last-child td { border-bottom: 0; padding-top: 14px; }
    .woocommerce-order-received table tfoot tr:last-child td .woocommerce-Price-amount {
        font-size: 22px; font-weight: 900; color: #1e40af; letter-spacing: -.4px;
    }

    /* ── Datos del cliente ─────────────────────────────────────────────────── */
    .woocommerce-order-received .woocommerce-columns--addresses { display: grid; gap: 12px; }
    .woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
        float: none !important; width: auto !important; min-width: 0;
    }
    .woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column__title,
    .woocommerce-order-received .woocommerce-column .woocommerce-column__title {
        margin: 0 0 8px !important; padding: 0 !important; background: none !important;
        font-size: 11px !important; font-weight: 800 !important; letter-spacing: .4px;
        text-transform: uppercase; color: #5b6472 !important;
    }
    .woocommerce-order-received .woocommerce-customer-details address {
        background: #f7fafd; border: 1px solid #e6ecf5; border-radius: 12px;
        padding: 14px 16px; font-style: normal; font-size: 13.5px; font-weight: 600;
        line-height: 1.6; color: #12233f;
    }
    .woocommerce-order-received .woocommerce-customer-details--phone,
    .woocommerce-order-received .woocommerce-customer-details--email {
        margin: 8px 0 0; font-size: 13px; font-weight: 600; color: #5b6472;
    }

    /* H1 + señal de seguridad (hooks woocommerce_before_thankyou / woocommerce_thankyou) */
    .woocommerce-order-received .sam-orec-title { text-align: left; margin: 0 0 14px; }
    .woocommerce-order-received .sam-orec-secure {
        display: flex; align-items: center; gap: 7px;
        font-size: 12px; font-weight: 600; color: #5b6472; margin: 0 0 18px;
    }
    .woocommerce-order-received .sam-orec-secure svg { width: 15px; height: 15px; flex-shrink: 0; stroke: #3399FF; }

    /* Muro de login para invitados: aviso + form como card centrada */
    /* 3 clases + !important: la regla general de avisos usa :not(...) y le ganaba
       al margin auto que centra la card. */
    /* body. delante: la regla general de avisos (con :not(...)) empata en clases y
       se imprime DESPUÉS en el mismo <style>, así que ganaba el margin: 0. */
    body.woocommerce-order-received .woocommerce .woocommerce-info,
    body.woocommerce-order-received .woocommerce .woocommerce-order > .woocommerce-info {
        max-width: min(480px, calc(100% - 28px));
        margin: 20px auto 16px !important;
        justify-self: center;
    }
    .woocommerce-order-received form.login {
        max-width: min(480px, calc(100% - 28px)); margin: 0 auto 40px;
        background: #fff; border: 1px solid #e6ecf5; border-radius: 16px;
        padding: 24px 26px; box-shadow: 0 10px 30px rgba(0, 0, 51, .07);
    }
    .woocommerce-order-received form.login .form-row-first,
    .woocommerce-order-received form.login .form-row-last {
        float: none !important; width: 100% !important; margin: 0 0 14px !important;
    }
    .woocommerce-order-received form.login label {
        display: block; margin-bottom: 6px;
        font-size: 11px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; color: #5b6472;
    }
    .woocommerce-order-received form.login input.input-text,
    .woocommerce-order-received form.login input[type="password"] {
        width: 100%; height: 44px; padding: 0 14px;
        border: 1px solid #dbe6f8 !important; border-radius: 10px !important;
        background-color: #f7fafd !important; box-shadow: none !important;
        font-size: 14px; font-weight: 600; color: #000033;
    }
    /* Solo el submit: el ojo de "ver contraseña" también es un <button> y salía
       como una barra con gradiente bajo el campo. */
    .woocommerce-order-received form.login button.show-password-input {
        background: none !important; box-shadow: none !important; border: 0 !important;
        width: auto !important; margin: 0 !important; padding: 0 !important;
    }
    .woocommerce-order-received form.login button[type="submit"] {
        width: 100%; margin-top: 4px; padding: 14px 22px;
        background: linear-gradient(120deg, #1e40af, #1e6fd0) !important; color: #fff !important;
        border: 0 !important; border-radius: 999px !important;
        font-size: 13.5px !important; font-weight: 800 !important; letter-spacing: .6px; text-transform: uppercase;
        box-shadow: 0 8px 22px rgba(30, 64, 175, .26); cursor: pointer;
    }
    .woocommerce-order-received form.login button[type="submit"]:hover {
        background: linear-gradient(120deg, #000033, #1e40af) !important; color: #fff !important;
    }

    @media (max-width: 768px) {
        .woocommerce-order-received .woocommerce-order-overview,
        .woocommerce-order-received ul.wc-bacs-bank-details { grid-template-columns: 1fr 1fr; gap: 8px; }
        .woocommerce-order-received .woocommerce-order-overview > li,
        .woocommerce-order-received ul.wc-bacs-bank-details > li { padding: 10px 11px !important; }
        .woocommerce-order-received .woocommerce-order-overview > li strong,
        .woocommerce-order-received ul.wc-bacs-bank-details > li strong { font-size: 13.5px !important; }
        /* El correo y el medio de pago son largos: ocupan la fila completa */
        .woocommerce-order-received .woocommerce-order-overview > li.email,
        .woocommerce-order-received .woocommerce-order-overview > li.method { grid-column: 1 / -1; }
        .woocommerce-order-received .woocommerce-order { padding: 18px 12px; }
        .woocommerce-order-received .woocommerce-thankyou-order-received {
            font-size: 15px; padding: 16px 16px 16px 58px; border-radius: 14px;
        }
        .woocommerce-order-received .woocommerce-bacs-bank-details,
        .woocommerce-order-received .woocommerce-order-details,
        .woocommerce-order-received .woocommerce-customer-details { padding: 0 14px 16px; border-radius: 14px; }
        .woocommerce-order-received .woocommerce-bacs-bank-details > h2,
        .woocommerce-order-received .woocommerce-order-details > h2,
        .woocommerce-order-received .woocommerce-customer-details > h2 {
            margin: 0 -14px 14px !important; padding: 15px 16px !important; font-size: 14px !important;
        }
    }

    /* ===== CART IMPROVEMENTS ===== */
    .woocommerce-cart .return-to-shop { text-align: center; margin: 20px 0; }
    .woocommerce-cart .return-to-shop .wc-backward {
        background: #000033 !important; color: #fff !important; border: none !important;
        border-radius: 8px !important; padding: 12px 28px !important; font-weight: 700 !important;
        font-size: 14px !important; text-transform: uppercase;
    }
    .woocommerce-cart .return-to-shop .wc-backward:hover { background: #000066 !important; }
    .sam-keep-shopping {
        display: block; text-align: center; margin: 16px 0; font-size: 14px;
        color: #3399FF; text-decoration: none; font-weight: 600;
    }
    .sam-keep-shopping:hover { text-decoration: underline; }

    /* ===== MOBILE BOTTOM BAR ===== */
    @media (max-width: 768px) {
        .sam-mobile-bar {
            position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
            /* Degradado de marca (135deg navy→azul→celeste), como el resto del sitio */
            background: linear-gradient(135deg, #000033 0%, #1e40af 78%, #3399FF 150%);
            display: flex; justify-content: space-around;
            padding: 6px 0 env(safe-area-inset-bottom, 6px); box-shadow: 0 -2px 14px rgba(0,0,51,0.3);
        }
        .sam-mobile-bar a {
            display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
            color: rgba(255,255,255,0.72); text-decoration: none; font-size: 11px; font-weight: 600;
            padding: 4px 6px; position: relative;
            min-height: 48px; flex: 1; /* touch target: cada link ocupa 1/4 de la barra (~100px) */
            transition: color .15s;
        }
        .sam-mobile-bar a.active { color: #fff; }
        /* Píldora activa detrás del ícono para destacar sobre el degradado */
        .sam-mobile-bar a.active::before {
            content: ''; position: absolute; top: 3px; width: 46px; height: 30px; border-radius: 999px;
            background: rgba(255,255,255,0.16);
        }
        .sam-mobile-bar a .bx { font-size: 23px; position: relative; z-index: 1; }
        .sam-mobile-bar a:active .bx { transform: scale(.88); }
        .sam-mobile-bar a .bx { transition: transform .15s; }
        .sam-mobile-bar a svg { width: 22px; height: 22px; }
        /* Celeste, igual que el contador del header (pedido del dueño 2026-08-06):
           el verde era el único badge de carrito fuera de la paleta. */
        .sam-mobile-bar .sam-mb-badge {
            position: absolute; top: 0; right: 2px; background: #1e6fd0; color: #fff;
            font-size: 11px; font-weight: 700; min-width: 16px; height: 16px;
            border-radius: 8px; display: flex; align-items: center; justify-content: center;
        }
        /* Add padding to body so content doesn't hide behind bar */
        body { padding-bottom: 60px !important; }
        /* Hide on admin */
        .admin-bar .sam-mobile-bar { bottom: 0; }
    }
    @media (min-width: 769px) {
        .sam-mobile-bar { display: none !important; }
    }