/**
 * QUEMPANADA.ES — Custom CSS Premium
 * PrestaShop Child Classic Theme
 * Paleta: Negro #1A1A1A · Blanco #FFFFFF · Naranja #E07020
 * Font Awesome 6 · Sin emojis
 * ============================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;900&family=Poppins:wght@400;500;600&family=Playfair+Display:wght@400;500;600;700;800;900&family=Lora:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500;600;700&family=Caveat:wght@500;700&family=Oswald:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');


/* ============================================================
   1. VARIABLES GLOBALES
   ============================================================ */
:root {
    --q-orange:      #E07020;
    --q-orange-dark: #C05A10;
    --q-orange-light:#F28C40;
    --q-black:       #1A1A1A;
    --q-black-soft:  #242424;
    --q-black-mid:   #2D2D2D;
    --q-white:       #FFFFFF;
    --q-off-white:   #F5F5F5;
    --q-gray:        #6B6B6B;
    --q-gray-light:  #E2E2E2;
    --font-head: 'Montserrat', 'Segoe UI', sans-serif;
    --font-body: 'Poppins', 'Segoe UI', sans-serif;
    --s-xs:  8px;
    --s-sm:  16px;
    --s-md:  32px;
    --s-lg:  64px;
    --s-xl:  96px;
    --radius: 0px;
    --transition: 0.25s ease;
}

/* ============================================================
   2. RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    max-width: 100%;
}
body {
    font-family: var(--font-body);
    background: var(--q-white);
    color: var(--q-black);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    max-width: 100%;
}

/* ============================================================
   GLOBAL: Eliminar el "cajón" del Classic theme en TODAS las páginas
   ============================================================ */

/* Header siempre full-width — Classic theme a veces lo restringe */
#header {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Wrapper global sin sombra ni restricción */
#wrapper {
    box-shadow: none !important;
    max-width: 100% !important;
    width: 100% !important;
    background: transparent !important;
    overflow: visible !important;
}

/* Content-wrapper global sin restricción */
#content-wrapper,
#content-wrapper.js-content-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
}

/* ============================================================
   TODAS las páginas CMS — full-width completo
   ============================================================ */

/* CRÍTICO: el body tiene clase page-cms en PS8 — forzar full-width */
body.page-cms {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: visible !important;  /* permite el breakout */
}
/* html controla el scroll horizontal global */
html {
    overflow-x: hidden !important;
}

body.page-cms #wrapper,
body.page-cms #main,
body.page-cms section#main,
body.page-cms #content-wrapper,
body.page-cms #content-wrapper.js-content-wrapper,
body.page-cms #main > .container,
body.page-cms #content-wrapper > .container,
body.page-cms .js-content-wrapper > .container {
    max-width: 100% !important;
    width: 100% !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;  /* clave para el breakout */
}
body.page-cms .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}
body.page-cms #content,
body.page-cms #content.col-xs-12,
body.page-cms #content.col-sm-12,
body.page-cms #content.col-md-12 {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
    overflow: visible !important;
}

/* Para páginas de cuenta, contacto, etc. */
body.page-customer-account #wrapper,
body.page-contact #wrapper,
body.page-search #wrapper,
body.page-order #wrapper,
body.page-cart #wrapper {
    box-shadow: none !important;
    max-width: 100% !important;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-head);
    font-weight: 700;
    color: var(--q-black);
    line-height: 1.2;
    margin-bottom: var(--s-sm);
}
a { color: var(--q-orange); text-decoration: none; }
a:hover { color: var(--q-orange-dark); }
img { max-width: 100%; height: auto; }

/* ============================================================
   3. HEADER
   ============================================================ */

/* — Fondo negro en toda la cabecera — */
#header,
#header .header-banner,
#header .header-nav,
#header .header-top,
#header nav,
#header nav.main-menu {
    background: var(--q-black) !important;
    color: var(--q-white) !important;
    border-bottom: none !important;
}
#header .header-top {
    border-bottom: 3px solid var(--q-orange) !important;
    padding: 12px 0 !important;
}

/* — BARRA NAV SUPERIOR (header-nav): idioma / login / carrito — */
#header .header-nav .container,
#header .header-nav > .container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    gap: 2px !important;
    min-height: 38px !important;
}
#header .header-nav .left-nav {
    display: flex !important;
    align-items: center !important;
    margin-right: auto !important;
    gap: 8px !important;
    font-size: 11px !important;
    color: rgba(255,255,255,0.5) !important;
}
#header .header-nav .left-nav a {
    color: rgba(255,255,255,0.5) !important;
    font-size: 11px !important;
}
#header .header-nav .right-nav {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
}

/* — Idioma y moneda — */
#header .language-selector,
#header .currency-selector,
#header .language-selector-wrapper,
#header .currency-selector-wrapper,
#_desktop_language_selector,
#_desktop_currency_selector,
.js-language-selector,
.js-currency-selector {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}
#header .language-selector a,
#header .currency-selector a,
#_desktop_language_selector a,
#_desktop_currency_selector a {
    color: rgba(255,255,255,0.6) !important;
    font-size: 11px !important;
    font-family: var(--font-body) !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

/* — Usuario / Iniciar sesión — */
#header .user-info,
#_desktop_user_info,
#_desktop_user_info .user-info {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}
#header .user-info a,
#_desktop_user_info a {
    color: rgba(255,255,255,0.7) !important;
    font-size: 12px !important;
    font-family: var(--font-body) !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}
#header .user-info a:hover,
#_desktop_user_info a:hover { color: var(--q-orange) !important; }

/* — CARRITO — cubre todos los selectores PS conocidos — */
#header .blockcart,
#_desktop_cart .blockcart,
#_desktop_cart .cart-preview,
#_desktop_cart .blockcart.inactive,
#_desktop_cart .cart-preview.inactive {
    background: var(--q-orange) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
}
#header .blockcart a,
#_desktop_cart .blockcart a,
#_desktop_cart .cart-preview a,
#_desktop_cart .blockcart .shopping-cart,
#_desktop_cart a.cart-detailed-link,
.blockcart a.cart-detailed-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 14px !important;
    background: var(--q-orange) !important;
    color: var(--q-white) !important;
    font-family: var(--font-head) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-radius: 0 !important;
    transition: background var(--transition) !important;
    text-decoration: none !important;
}
#header .blockcart a:hover,
#_desktop_cart .blockcart a:hover,
#_desktop_cart .cart-preview a:hover {
    background: var(--q-orange-dark) !important;
    color: var(--q-white) !important;
}
/* Icono carrito (material icons y font awesome) */
#_desktop_cart .material-icons,
#_desktop_cart i {
    color: var(--q-white) !important;
    font-size: 16px !important;
}
/* Contador de productos */
.cart-products-count,
#_desktop_cart .cart-products-count {
    background: var(--q-black) !important;
    color: var(--q-white) !important;
    border-radius: 50% !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    min-width: 18px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
    line-height: 1 !important;
}

/* — Links genéricos del header-nav — */
#header .header-nav a,
#header .header-banner a {
    color: rgba(255,255,255,0.7) !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    transition: color var(--transition) !important;
}
#header .header-nav a:hover,
#header .header-banner a:hover { color: var(--q-orange) !important; }

/* — HEADER PRINCIPAL: logo + búsqueda — */
#header .header-top .logo,
#header .header-top .logo img { filter: brightness(0) invert(1); }

/* Búsqueda — cubre selectores PS y desktop search widget */
#header .search-widget input,
#header .header-top .search-widget input,
#_desktop_search_widget input,
#search_widget input,
.search-widget form input[type="text"],
.search-widget form input[type="search"] {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: var(--q-white) !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
}
#header .search-widget input::placeholder,
#_desktop_search_widget input::placeholder,
#search_widget input::placeholder {
    color: rgba(255,255,255,0.35) !important;
}
#header .search-widget button,
#header .header-top .search-widget button,
#_desktop_search_widget button,
#search_widget button,
.search-widget form button[type="submit"] {
    background: var(--q-orange) !important;
    border: none !important;
    color: var(--q-white) !important;
    border-radius: 0 !important;
}
#header .search-widget button:hover,
#_desktop_search_widget button:hover {
    background: var(--q-orange-dark) !important;
}
/* Icono lupa (Material Icons y FA) en botón búsqueda */
.search-widget button .material-icons,
.search-widget button i {
    color: var(--q-white) !important;
}
/* PS8 Classic usa <i class="material-icons search"> sin botón */
#search_widget i.material-icons,
#search_widget .material-icons,
.search-widgets i.material-icons,
.search-widgets .material-icons {
    color: var(--q-orange) !important;
    font-size: 20px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

/* ============================================================
   4. MENÚ PRINCIPAL DE CATEGORÍAS PS — OCULTAR
   El usuario usa q-nav-pages (en index.tpl / cms/page.tpl).
   El menú PS de categorías (EMPANADAS, KITS Y LOTES) se oculta.
   ============================================================ */
/* Solo ocultar el menú de categorías — NO ocultar nav.header-nav */
nav.main-menu,
#header nav.main-menu,
#header .main-menu,
#_desktop_top_menu,
.main-menu-wrapper,
#block-topmenu,
div[id="_desktop_top_menu"],
#top-menu,
.js-top-menu {
    display: none !important;
}

/* Mostrar explícitamente la barra de navegación superior (idioma/login/carrito) */
#header nav.header-nav,
nav.header-nav {
    display: block !important;
}

/* ============================================================
   5. BREADCRUMB
   ============================================================ */
.breadcrumb {
    display: block !important;
    background: var(--q-off-white) !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--q-gray-light) !important;
}
.breadcrumb ol { margin: 0; padding: 0; }
.breadcrumb li a,
.breadcrumb .breadcrumb-item a {
    color: var(--q-gray) !important;
    font-size: 12px !important;
    font-family: var(--font-body) !important;
}
.breadcrumb li.current span,
.breadcrumb .breadcrumb-item.current {
    color: var(--q-orange) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
}

/* ============================================================
   6. BOTONES GLOBALES
   ============================================================ */
.btn-primary,
.btn-primary:link,
button[type="submit"].btn-primary,
.add-to-cart,
.ajax-add-to-cart-button {
    background: var(--q-orange) !important;
    border-color: var(--q-orange) !important;
    color: var(--q-white) !important;
    font-family: var(--font-head) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: var(--radius) !important;
    padding: 13px 28px !important;
    transition: all var(--transition) !important;
    border: none !important;
}
.btn-primary:hover,
button[type="submit"].btn-primary:hover,
.add-to-cart:hover,
.ajax-add-to-cart-button:hover {
    background: var(--q-orange-dark) !important;
    border-color: var(--q-orange-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 18px rgba(224,112,32,0.35) !important;
}
.btn-secondary,
.btn-default {
    background: transparent !important;
    border: 2px solid var(--q-black) !important;
    color: var(--q-black) !important;
    font-family: var(--font-head) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: var(--radius) !important;
    padding: 12px 24px !important;
    transition: all var(--transition) !important;
}
.btn-secondary:hover,
.btn-default:hover {
    background: var(--q-black) !important;
    color: var(--q-white) !important;
}

/* ============================================================
   7. PÁGINAS CMS
   ============================================================ */
/* .page-cms es una clase del BODY en PS8 — NO poner max-width aquí o rompe el layout */
/* La restricción de 900px clipping se aplica si body.page-cms tiene max-width
   Ver: body.page-cms overrides en Section 2 */
.page-header h1,
.cms-page .page-header h1 {
    font-family: var(--font-head) !important;
    font-size: clamp(26px, 4vw, 40px) !important;
    font-weight: 900 !important;
    color: var(--q-black) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
    border-left: 5px solid var(--q-orange) !important;
    padding-left: 16px !important;
    margin-bottom: var(--s-md) !important;
}
.page-cms h1 {
    font-family: var(--font-head);
    font-size: clamp(24px, 3.5vw, 36px);
    font-weight: 900;
    color: var(--q-black);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    border-left: 5px solid var(--q-orange);
    padding-left: 16px;
    margin-bottom: 24px;
    margin-top: 0;
}
.page-cms h2 {
    font-family: var(--font-head);
    font-size: clamp(16px, 2.5vw, 22px);
    font-weight: 700;
    color: var(--q-black);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-top: 48px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--q-orange);
    display: inline-block;
}
.page-cms h3 {
    font-family: var(--font-head);
    font-size: clamp(14px, 2vw, 17px);
    font-weight: 700;
    color: var(--q-black);
    margin-top: 32px;
    margin-bottom: 10px;
    padding-left: 14px;
    border-left: 3px solid var(--q-orange);
}
.page-cms p {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 18px;
}
.page-cms ul, .page-cms ol {
    padding-left: 0;
    list-style: none;
    margin-bottom: 24px;
}
.page-cms ul li {
    font-family: var(--font-body);
    font-size: 15px;
    color: #333;
    padding: 8px 0 8px 20px;
    border-bottom: 1px solid var(--q-gray-light);
    position: relative;
}
.page-cms ul li::before { content: '\203A'; position: absolute; left: 0; color: var(--q-orange); font-weight: 700; font-size: 18px; line-height: 1.4; }
.page-cms strong { color: var(--q-black); font-weight: 700; }
.page-cms a { color: var(--q-orange); font-weight: 600; border-bottom: 1px solid transparent; transition: border-color var(--transition); }
.page-cms a:hover { border-bottom-color: var(--q-orange); }
.page-cms table { width: 100%; border-collapse: collapse; margin: 24px 0; }
.page-cms table thead { background: var(--q-black); }
.page-cms table thead th { padding: 13px 16px; text-align: left; font-family: var(--font-head); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--q-white); }
.page-cms table tbody tr { border-bottom: 1px solid var(--q-gray-light); transition: background var(--transition); }
.page-cms table tbody tr:hover { background: var(--q-off-white); }
.page-cms table tbody td { padding: 13px 16px; font-size: 14px; color: var(--q-black); }
.page-cms table tbody td:first-child { font-weight: 600; }

/* CMS ID overrides */
body.cms-id-6 .page-cms { max-width: 960px; }
body.cms-id-7 .page-cms ul li { padding: 10px 0 10px 24px; font-size: 15px; }
body.cms-id-7 .page-cms h3 { margin-top: 24px; }
body.cms-id-8 .page-cms h3 { background: var(--q-off-white); border-left: 4px solid var(--q-orange); padding: 13px 18px; margin-top: 32px; }
body.cms-id-8 .page-cms h3::before { display: none; }

/* ============================================================
   11. LISTADO DE PRODUCTOS
   ============================================================ */
.category-header h1 {
    font-family: var(--font-head) !important;
    font-size: clamp(26px, 4vw, 42px) !important;
    font-weight: 900 !important;
    color: var(--q-black) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
}
#products, .products-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
    gap: 40px 28px !important;
    padding: 48px 0 !important;
}
.product-miniature, article.product-miniature {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    transition: transform 0.3s ease !important;
}
.product-miniature:hover { transform: translateY(-5px) !important; }
.product-miniature .thumbnail-container {
    background: var(--q-off-white) !important;
    border: none !important;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: block;
}
.product-miniature .thumbnail-container img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform 0.45s ease !important; }
.product-miniature:hover .thumbnail-container img { transform: scale(1.05) !important; }
.product-miniature .product-title, .product-miniature h2.h3 {
    font-family: var(--font-head) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--q-black) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    margin: 16px 0 8px !important;
}
.product-miniature .product-title a { color: var(--q-black) !important; }
.product-miniature .product-title a:hover { color: var(--q-orange) !important; }
.product-miniature .price { font-family: var(--font-head) !important; font-size: 20px !important; font-weight: 900 !important; color: var(--q-orange) !important; }
.product-miniature .regular-price { color: var(--q-gray) !important; font-size: 14px !important; text-decoration: line-through !important; }
.product-miniature .add-to-cart { width: 100% !important; margin-top: 12px !important; padding: 12px !important; font-size: 11px !important; }

/* ============================================================
   13. FOOTER — selectores basados en HTML REAL de PS 8 Classic
   Estructura verificada con Chrome inspector:
   #footer > .container > .row > .block_newsletter.col-lg-8
   #footer > .footer-container > .container > .row > [columnas]
   Copyright: #footer p.text-sm-center > a
   ============================================================ */

/* ── BASE ── */
#footer, footer#footer, .js-footer {
    background: var(--q-black) !important;
    color: var(--q-white) !important;
    border-top: 3px solid var(--q-orange) !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

/* ══════════════════════════════════════════════════════
   FILA SUPERIOR: Newsletter (col-lg-8) + Social (col-lg-4)
   El top .container envuelve ambos bloques
   ══════════════════════════════════════════════════════ */

/* Top container: fondo oscuro especial */
#footer > .container {
    background: var(--q-black-soft) !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 48px 40px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
#footer > .container > .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 32px !important;
    float: none !important;
}
#footer > .container > .row > [class*="col-"] {
    float: none !important;
}

/* ── NEWSLETTER (#blockEmailSubscription_displayFooterBefore) ── */
/* Verificado: es col-lg-8, clase block_newsletter */
#footer .block_newsletter,
#footer #blockEmailSubscription_displayFooterBefore {
    flex: 1 1 auto !important;
    background: transparent !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
/* Flex interno: descripción izquierda, form derecha */
#footer .block_newsletter > .row {
    display: flex !important;
    align-items: center !important;
    gap: 40px !important;
    flex-wrap: wrap !important;
    float: none !important;
    margin: 0 !important;
}
#footer .block_newsletter > .row > [class*="col-"] {
    float: none !important;
    flex: 1 1 220px !important;
    padding: 0 !important;
}

/* Descripción/título newsletter: PS8 usa <p id="block-newsletter-label"> */
#footer p#block-newsletter-label,
#footer .block_newsletter > .row p {
    font-family: var(--font-head) !important;
    font-size: clamp(18px, 2.2vw, 26px) !important;
    font-weight: 900 !important;
    color: var(--q-white) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.01em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* Form wrapper: flex para poner input+botón inline */
/* PS genera: .row > .col-xs-12 > [submit ANTES] + .input-wrapper > [email] */
#footer .block_newsletter form .col-xs-12,
#footer .block_newsletter form .row .col-xs-12 {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    flex-wrap: wrap !important;
}

/* Email input (dentro de .input-wrapper) */
#footer .block_newsletter .input-wrapper {
    flex: 1 1 200px !important;
    order: 1 !important;
    display: flex !important;
    min-width: 0 !important;
}
#footer .block_newsletter .input-wrapper input,
#footer .block_newsletter input[name="email"] {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.18) !important;
    border-right: none !important;
    color: var(--q-white) !important;
    border-radius: 0 !important;
    padding: 13px 18px !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    flex: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
}
#footer .block_newsletter .input-wrapper input::placeholder {
    color: rgba(255,255,255,0.3) !important;
}

/* Botón submit — en HTML aparece ANTES del input (float-xs-right PS8) */
/* Con flex order, lo ponemos visualmente A LA DERECHA */
#footer input[name="submitNewsletter"],
#footer .block_newsletter input[type="submit"] {
    background: var(--q-orange) !important;
    border: none !important;
    color: var(--q-white) !important;
    font-family: var(--font-head) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    padding: 13px 28px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    float: none !important;
    order: 2 !important;
    transition: background var(--transition) !important;
}
#footer input[name="submitNewsletter"]:hover {
    background: var(--q-orange-dark) !important;
}
/* Ocultar el botón "OK" de móvil (hidden-sm-up = solo móvil) */
#footer input[name="submitNewsletter"].hidden-sm-up {
    display: none !important;
}

/* GDPR / condición */
#footer .block_newsletter .gdpr_fields,
#footer .block_newsletter .alert,
#footer .block_newsletter p.condition {
    color: rgba(255,255,255,0.25) !important;
    font-size: 10px !important;
    margin: 8px 0 0 !important;
    line-height: 1.5 !important;
    width: 100% !important;
    order: 3 !important;
}

/* Social block — vacío, ocultar */
#footer .block-social {
    display: none !important;
}

/* ══════════════════════════════════════════════════════
   FOOTER-CONTAINER: columnas de links + copyright
   Verificado: div.footer-container > .container > .row
   ══════════════════════════════════════════════════════ */
#footer .footer-container {
    background: var(--q-black) !important;
    width: 100% !important;
}
#footer .footer-container > .container {
    max-width: 100% !important;
    padding: 48px 40px 0 !important;
}
/* Fila de columnas */
#footer .footer-container > .container > .row:first-child {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 0 !important;
    float: none !important;
}
#footer .footer-container > .container > .row:first-child > [class*="col-"] {
    float: none !important;
    flex: 1 1 180px !important;
    padding: 0 20px 40px !important;
    min-width: 0 !important;
}
/* .links contiene Products + Our Company juntos en una col-md-6 */
#footer .footer-container .links > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    float: none !important;
}
#footer .footer-container .links > .row > [class*="col-"] {
    float: none !important;
    flex: 1 1 160px !important;
    padding: 0 20px 0 0 !important;
    min-width: 0 !important;
}

/* Títulos de columnas — PS8 usa <p class="h3 hidden-sm-down"> */
#footer .footer-container p.h3,
#footer .footer-container p.h4,
#footer .footer-container p.block-contact-title,
#footer .footer-container p.myaccount-title {
    font-family: var(--font-head) !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: var(--q-orange) !important;
    margin: 0 0 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    display: block !important;
    visibility: visible !important;
    line-height: 1.3 !important;
}

/* Listas de links — PS usa ul.collapse (acordeón mobile) */
#footer .footer-container ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Forzar visible en desktop (Bootstrap colapsa en mobile) */
@media (min-width: 768px) {
    #footer .footer-container ul.collapse {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
    }
}
#footer .footer-container li a,
#footer .footer-container a.cms-page-link {
    color: rgba(255,255,255,0.48) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 2.8 !important;
    display: block !important;
    text-decoration: none !important;
    transition: color var(--transition), padding-left var(--transition) !important;
}
#footer .footer-container li a:hover {
    color: var(--q-orange) !important;
    padding-left: 6px !important;
}

/* Info de la tienda */
#footer .footer-container .block-contact {
    padding-bottom: 40px !important;
}
#footer .footer-container #contact-infos,
#footer .footer-container .contact-rich {
    color: rgba(255,255,255,0.48) !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

/* ── OCULTAR SU CUENTA ── */
#block_myaccount_infos,
#footer [id*="myaccount"] {
    display: none !important;
}

/* ── COPYRIGHT (PS8: p.text-sm-center > a dentro de footer-container) ── */
#footer p.text-sm-center {
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: visible !important;
    position: relative !important;
    display: block !important;
}
#footer p.text-sm-center a,
#footer p.text-sm-center * {
    font-size: 0 !important;
    visibility: hidden !important;
    color: transparent !important;
    pointer-events: none !important;
}
/* Barra copyright */
#footer .footer-container > .container > .row:last-child {
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    background: rgba(0,0,0,0.35) !important;
    margin-top: 0 !important;
    padding: 0 !important;
}
#footer .col-md-12:has(p.text-sm-center) {
    padding: 18px 0 !important;
    text-align: center !important;
    position: relative !important;
}
/* Inyectar copyright nuevo */
#footer p.text-sm-center::after {
    content: '\00A9 2026 \2014 Navyx' !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    color: rgba(255,255,255,0.35) !important;
    font-family: 'Poppins', sans-serif !important;
    visibility: visible !important;
    display: block !important;
    text-align: center !important;
    padding: 18px 0 !important;
    position: relative !important;
    height: auto !important;
    overflow: visible !important;
}

/* Ocultar el bloque accordion toggle (mobile) — span.h3 duplicado */
#footer .footer-container .title.clearfix {
    display: none !important;
}

/* ============================================================
   15. FORMULARIOS
   ============================================================ */
.form-control, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], textarea, select {
    border: 1px solid var(--q-gray-light) !important;
    border-radius: var(--radius) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: var(--q-black) !important;
    padding: 12px 16px !important;
    transition: border-color var(--transition) !important;
    background: var(--q-white) !important;
}
.form-control:focus, input[type="text"]:focus, input[type="email"]:focus {
    border-color: var(--q-orange) !important;
    box-shadow: 0 0 0 3px rgba(224,112,32,0.1) !important;
    outline: none !important;
}
label {
    font-family: var(--font-head) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--q-black) !important;
    margin-bottom: 6px !important;
    display: block;
}
.login-form .btn-primary, .register-form .btn-primary { background: var(--q-black) !important; border-color: var(--q-black) !important; width: 100%; }
.login-form .btn-primary:hover, .register-form .btn-primary:hover { background: var(--q-orange) !important; border-color: var(--q-orange) !important; }

/* ============================================================
   16. OCULTAR MÓDULOS PS NO DESEADOS EN HOME
   ============================================================ */

/* ps_imageslider — muestra "SAMPLE 1" con Lorem ipsum demo */
body.page-index #index-carousel,
body.page-index .carousel.slide,
body.page-index #carousel,
body.page-index .ps-imageslider,
body.page-index [id*="imageslider"],
body.page-index [class*="imageslider"],
body.page-index .slick-slider,
body.page-index .slider-container,
body.page-index .ps-carousel {
    display: none !important;
}

/* ps_banner — "20% OFF ON CLOTHES" banner demo */
body.page-index a.banner,
body.page-index .banner,
a.banner {
    display: none !important;
}

/* ps_customtext — "CUSTOM TEXT BLOCK" Lorem ipsum demo */
body.page-index #custom-text,
body.page-index [id="custom-text"],
body.page-index .blockcmsinfo,
body.page-index [id*="customtext"],
body.page-index [class*="customtext"] {
    display: none !important;
}

/* Módulos de banner decorativos con olas / waves */
body.page-index [class*="waves"],
body.page-index .waves-container,
body.page-index .shape-divider,
body.page-index .wave-block {
    display: none !important;
}

/* ps_emailsubscription en home si no se quiere */
/* body.page-index #ps-emailsubscription { display: none !important; } */

/* ============================================================
   17-20. PAGINACIÓN · BADGES · ALERTAS · OCULTOS
   ============================================================ */
.pagination { display: flex !important; justify-content: center !important; gap: 3px !important; margin: 48px 0 !important; }
.pagination .page-link { border: 1px solid var(--q-gray-light) !important; color: var(--q-black) !important; font-family: var(--font-head) !important; font-weight: 600 !important; font-size: 12px !important; padding: 10px 16px !important; border-radius: 0 !important; transition: all var(--transition) !important; background: var(--q-white) !important; }
.pagination .page-link:hover, .pagination .active .page-link { background: var(--q-orange) !important; border-color: var(--q-orange) !important; color: var(--q-white) !important; }
.product-flags .product-flag { background: var(--q-orange) !important; color: var(--q-white) !important; font-family: var(--font-head) !important; font-weight: 700 !important; font-size: 10px !important; text-transform: uppercase !important; border-radius: 0 !important; padding: 4px 10px !important; }
.product-flags .product-flag.new { background: var(--q-black) !important; }
.alert-success { background: rgba(34,160,80,0.07) !important; border: 1px solid rgba(34,160,80,0.25) !important; color: #1a7a3c !important; border-radius: 0 !important; }
.alert-danger, .alert-warning { background: rgba(224,112,32,0.07) !important; border: 1px solid rgba(224,112,32,0.25) !important; color: var(--q-orange-dark) !important; border-radius: 0 !important; }
.footer_content_links .footer_powered_by { display: none !important; }
.star-content { display: none !important; }
.product-compare-list { display: none !important; }

/* ============================================================
   21. RESPONSIVE GENERAL
   ============================================================ */
@media (max-width: 992px) { #products, .products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 20px !important; } }
@media (max-width: 768px) { #products, .products-grid { grid-template-columns: 1fr !important; gap: 28px !important; } .page-cms { padding: 32px 16px; } }
@media (max-width: 480px) { .page-cms h1 { font-size: 20px !important; } .page-cms h2 { font-size: 15px !important; } }


/* ============================================================
   22. HOME PAGE — Barra de Navegación + Hero + Secciones
   ============================================================ */

/* --- CONTENEDOR GENÉRICO --- */
.q-container { max-width: 1280px; margin: 0 auto; padding: 0 48px; }

/* ============================================================
   BARRA DE NAVEGACIÓN DE PÁGINAS
   ============================================================ */
.q-nav-pages {
    background: var(--q-black-soft);
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.q-nav-pages-inner {
    display: flex;
    align-items: stretch;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 48px;
}
.q-nav-pages a {
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,0.5);
    font-family: var(--font-head);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 13px 18px;
    border-bottom: 2px solid transparent;
    transition: all var(--transition);
    text-decoration: none !important;
    white-space: nowrap;
}
.q-nav-pages a i { font-size: 12px; }
.q-nav-pages a:hover,
.q-nav-pages a.q-nav-active {
    color: var(--q-white);
    border-bottom-color: var(--q-orange);
}
.q-nav-pages a.q-nav-cta {
    margin-left: auto;
    color: var(--q-orange);
    font-weight: 700;
    padding-right: 0;
}
.q-nav-pages a.q-nav-cta:hover {
    color: var(--q-orange-light);
    border-bottom-color: var(--q-orange);
}

/* --- HERO --- */
.q-hero {
    background: var(--q-black);
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 96px 48px;
    position: relative;
    overflow: hidden;
}
.q-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        linear-gradient(135deg, rgba(224,112,32,0.08) 0%, transparent 55%),
        linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
    background-size: auto, 64px 64px, 64px 64px;
    pointer-events: none;
}
.q-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
}
.q-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(224,112,32,0.12);
    border: 1px solid rgba(224,112,32,0.3);
    color: var(--q-orange);
    font-family: var(--font-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 7px 18px;
    margin-bottom: 28px;
}
.q-hero-h1 {
    font-family: var(--font-head) !important;
    font-size: clamp(42px, 7.5vw, 84px) !important;
    font-weight: 900 !important;
    color: var(--q-white) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.03em !important;
    line-height: 0.9 !important;
    margin-bottom: 28px !important;
    border: none !important;
    padding-left: 0 !important;
}
.q-hero-h1 span { color: var(--q-orange); }
.q-hero-p {
    color: rgba(255,255,255,0.55) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 40px !important;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
.q-hero-btns {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}
.q-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--q-orange);
    color: var(--q-white) !important;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 14px 32px;
    border: none;
    cursor: pointer;
    transition: all var(--transition);
    text-decoration: none !important;
}
.q-btn-primary:hover {
    background: var(--q-orange-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(224,112,32,0.4);
    color: var(--q-white) !important;
}
.q-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: rgba(255,255,255,0.7) !important;
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 13px 28px;
    border: 1px solid rgba(255,255,255,0.2);
    cursor: pointer;
    transition: all var(--transition);
    text-decoration: none !important;
}
.q-btn-outline:hover {
    border-color: var(--q-orange);
    color: var(--q-orange) !important;
}
.q-btn-lg { padding: 17px 44px; font-size: 13px; }

/* --- STRIP BENEFICIOS --- */
.q-strip {
    background: var(--q-orange);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}
.q-strip-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--q-white);
    font-family: var(--font-head);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 17px 32px;
    border-right: 1px solid rgba(255,255,255,0.18);
}
.q-strip-item:last-child { border-right: none; }
.q-strip-icon { font-size: 15px; opacity: 0.95; }

/* --- ESTADÍSTICAS --- */
.q-stats {
    background: var(--q-black);
    padding: 72px 48px;
}
.q-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    max-width: 1280px;
    margin: 0 auto;
}
.q-stat-item {
    text-align: center;
    padding: 48px 24px;
    background: var(--q-black-soft);
    position: relative;
    border-top: 3px solid transparent;
    transition: border-top-color var(--transition);
}
.q-stat-item:hover { border-top-color: var(--q-orange); }
.q-stat-num {
    font-family: var(--font-head);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 900;
    color: var(--q-orange);
    line-height: 1;
    display: block;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
}
.q-stat-label {
    font-family: var(--font-body);
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

/* --- PRODUCTOS DESTACADOS --- */
.q-home-products {
    padding: 96px 0;
    background: var(--q-off-white);
}
.q-section-title {
    font-family: var(--font-head);
    font-size: clamp(20px, 3vw, 30px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: var(--q-black);
    margin-bottom: 56px;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
}
.q-section-title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 48px; height: 3px;
    background: var(--q-orange);
}
.q-section-subtitle {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--q-gray);
    text-align: center;
    margin-top: -40px;
    margin-bottom: 56px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.7;
}

/* --- PROCESO B2B --- */
.q-proceso {
    background: var(--q-white);
    padding: 96px 48px;
    border-top: 1px solid var(--q-gray-light);
}
.q-proceso-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
    max-width: 1280px;
    margin: 0 auto;
}
.q-paso { text-align: center; position: relative; }
.q-paso:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 32px;
    right: -28px;
    width: 16px;
    height: 2px;
    background: var(--q-orange);
    opacity: 0.5;
}
.q-paso-num {
    width: 64px; height: 64px;
    background: var(--q-black);
    color: var(--q-orange);
    font-family: var(--font-head);
    font-size: 22px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    letter-spacing: -0.02em;
}
.q-paso-title {
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--q-black);
    margin-bottom: 10px;
}
.q-paso-desc {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    line-height: 1.65;
}

/* --- CARDS SECCIONES --- */
.q-cards-section {
    padding: 96px 48px;
    background: var(--q-black);
}
.q-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    max-width: 1280px;
    margin: 0 auto;
}
.q-card {
    display: block;
    background: var(--q-black-soft);
    padding: 52px 44px;
    color: var(--q-white);
    text-decoration: none !important;
    transition: background var(--transition), transform var(--transition);
    border-top: 3px solid transparent;
}
.q-card:hover {
    background: var(--q-black-mid);
    border-top-color: var(--q-orange);
    color: var(--q-white);
    transform: translateY(-4px);
}
.q-card-icon {
    width: 52px; height: 52px;
    background: var(--q-orange);
    color: var(--q-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 24px;
    transition: background var(--transition);
}
.q-card:hover .q-card-icon { background: var(--q-orange-dark); }
.q-card-title {
    font-family: var(--font-head);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--q-white);
    margin-bottom: 14px;
}
.q-card-desc {
    font-family: var(--font-body);
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    line-height: 1.75;
    margin-bottom: 28px;
}
.q-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-head);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--q-orange);
    transition: gap var(--transition);
}
.q-card:hover .q-card-cta { gap: 10px; }

/* --- VENTAJAS B2B --- */
.q-ventajas {
    background: var(--q-off-white);
    padding: 96px 48px;
}
.q-ventajas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 56px;
    max-width: 1280px;
    margin: 0 auto;
}
.q-ventaja {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.q-ventaja-icon-wrap {
    width: 48px; height: 48px;
    background: var(--q-orange);
    color: var(--q-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
    transition: background var(--transition);
}
.q-ventaja:hover .q-ventaja-icon-wrap { background: var(--q-orange-dark); }
.q-ventaja-title {
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--q-black);
    margin-bottom: 8px;
}
.q-ventaja-desc {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    line-height: 1.7;
}

/* --- CTA BAR FINAL --- */
.q-cta-bar {
    background: var(--q-orange);
    padding: 64px 48px;
}
.q-cta-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
    max-width: 1280px;
    margin: 0 auto;
}
.q-cta-bar-text {
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    max-width: 620px;
    line-height: 1.4;
}
.q-cta-bar-text strong {
    display: block;
    font-size: 28px;
    font-weight: 900;
    color: var(--q-white);
    margin-bottom: 6px;
    letter-spacing: -0.01em;
}
.q-cta-bar .q-btn-primary {
    background: var(--q-black);
    color: var(--q-white) !important;
    padding: 18px 44px;
    font-size: 13px;
    white-space: nowrap;
    flex-shrink: 0;
}
.q-cta-bar .q-btn-primary:hover {
    background: var(--q-black-soft);
    box-shadow: 0 10px 32px rgba(0,0,0,0.35);
}

/* --- RESPONSIVE HOME --- */
@media (max-width: 1100px) {
    .q-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .q-proceso-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .q-ventajas-grid { grid-template-columns: repeat(2, 1fr); }
    .q-paso:not(:last-child)::after { display: none; }
}
@media (max-width: 900px) {
    .q-cards-grid { grid-template-columns: 1fr; }
    .q-nav-pages a span { display: none; }
    .q-nav-pages a { padding: 13px 14px; }
    .q-nav-pages a i { font-size: 14px; }
}
@media (max-width: 768px) {
    .q-container, .q-nav-pages-inner { padding: 0 20px; }
    .q-strip { flex-direction: column; }
    .q-strip-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); padding: 13px 20px; font-size: 12px; }
    .q-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2px; }
    .q-proceso-grid { grid-template-columns: 1fr; gap: 24px; }
    .q-ventajas-grid { grid-template-columns: 1fr; gap: 32px; }
    .q-cta-bar-inner { flex-direction: column; text-align: center; }
    .q-cards-section, .q-proceso, .q-ventajas { padding: 64px 20px; }
    .q-home-products { padding: 64px 0; }
    .q-hero { padding: 72px 20px; }
}
@media (max-width: 560px) {
    .q-hero-h1 { font-size: 38px !important; }
    .q-hero-btns { flex-direction: column; align-items: center; }
    .q-stats { padding: 48px 20px; }
    .q-cta-bar { padding: 48px 20px; }
    .q-nav-pages-inner { padding: 0 8px; }
    .q-nav-pages a { padding: 12px 10px; }
}

/* ============================================================
   24. COMPONENTES DE PÁGINA — CMS, INTERIOR PAGES
   Clases reutilizables para todas las páginas interiores.
   Usadas en templates/cms/page.tpl y product-list.tpl
   ============================================================ */

/* ── HERO INTERIOR (más compacto que el home hero) ── */
.q-page-hero {
    background: var(--q-black);
    padding: 80px 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.q-page-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        linear-gradient(135deg, rgba(224,112,32,0.06) 0%, transparent 50%),
        linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
    background-size: auto, 56px 56px, 56px 56px;
    pointer-events: none;
}
.q-page-hero-inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.q-page-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(224,112,32,0.1);
    border: 1px solid rgba(224,112,32,0.25);
    color: var(--q-orange);
    font-family: var(--font-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    padding: 6px 16px;
    margin-bottom: 20px;
}
.q-page-hero-h1 {
    font-family: var(--font-head) !important;
    font-size: clamp(30px, 5vw, 56px) !important;
    font-weight: 900 !important;
    color: var(--q-white) !important;
    text-transform: uppercase !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    border: none !important;
    padding-left: 0 !important;
}
.q-page-hero-h1 span { color: var(--q-orange); }
.q-page-hero-sub {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: rgba(255,255,255,0.5) !important;
    line-height: 1.7 !important;
    max-width: 520px;
    margin: 0 auto !important;
}

/* ── BLOQUE GENÉRICO ── */
.q-block { padding: 88px 0; }
.q-block--cream { background: var(--q-off-white); }
.q-block--dark  { background: var(--q-black); }
.q-block--orange { background: var(--q-orange); }
.q-block--white { background: var(--q-white); }

/* ── CABECERA DE BLOQUE ── */
.q-block-head {
    text-align: center;
    margin-bottom: 64px;
}
.q-block-head__title {
    font-family: var(--font-head);
    font-size: clamp(22px, 3.5vw, 38px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: var(--q-black);
    margin-bottom: 14px;
    position: relative;
    padding-bottom: 20px;
}
.q-block-head__title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 40px; height: 3px;
    background: var(--q-orange);
}
.q-block-head__title--white { color: var(--q-white) !important; }
.q-block-head__title--white::after { background: var(--q-white); }
.q-block-head__sub {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--q-gray);
    max-width: 540px;
    margin: 0 auto;
    line-height: 1.75;
}
.q-block-head__sub--white { color: rgba(255,255,255,0.6) !important; }

/* ── TEXTO INTRO GRANDE ── */
.q-intro-text {
    font-family: var(--font-body);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.8;
    color: var(--q-black);
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.q-intro-text strong { color: var(--q-orange); font-weight: 700; }

/* ── DOS COLUMNAS ── */
.q-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.q-two-col--60 { grid-template-columns: 3fr 2fr; }
.q-two-col--text h2 {
    font-family: var(--font-head);
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    color: var(--q-black);
    margin-bottom: 20px;
    border-left: 4px solid var(--q-orange);
    padding-left: 16px;
}
.q-two-col--text p {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--q-gray);
    line-height: 1.8;
    margin-bottom: 16px;
}

/* ── TRES COLUMNAS ── */
.q-three-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

/* ── CUATRO COLUMNAS ── */
.q-four-col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

/* ── ICON CARD ── */
.q-icard {
    background: var(--q-white);
    border: 1px solid var(--q-gray-light);
    padding: 40px 32px;
    transition: border-color var(--transition), transform var(--transition);
}
.q-icard:hover {
    border-color: var(--q-orange);
    transform: translateY(-4px);
}
.q-block--cream .q-icard { background: var(--q-white); }
.q-block--dark .q-icard  { background: var(--q-black-soft); border-color: rgba(255,255,255,0.07); }
.q-block--dark .q-icard:hover { border-color: var(--q-orange); }
.q-icard__icon {
    width: 52px; height: 52px;
    background: var(--q-orange);
    color: var(--q-white);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    margin-bottom: 24px;
    flex-shrink: 0;
}
.q-icard__title {
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--q-black);
    margin-bottom: 12px;
}
.q-block--dark .q-icard__title { color: var(--q-white); }
.q-icard__text {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    line-height: 1.75;
}
.q-block--dark .q-icard__text { color: rgba(255,255,255,0.45); }

/* ── NÚMEROS GRANDES (stats grid) ── */
.q-nums-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
}
.q-num {
    background: var(--q-off-white);
    padding: 40px 24px;
    text-align: center;
    transition: border-top-color var(--transition);
    border-top: 3px solid transparent;
}
.q-num:hover { border-top-color: var(--q-orange); }
.q-num__n {
    font-family: var(--font-head);
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 900;
    color: var(--q-orange);
    line-height: 1;
    display: block;
    margin-bottom: 8px;
    letter-spacing: -0.02em;
}
.q-num__label {
    font-family: var(--font-body);
    font-size: 11px;
    color: var(--q-gray);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* ── PASOS (standalone, más grandes) ── */
.q-steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
}
.q-step-big {
    background: var(--q-off-white);
    padding: 48px 32px;
    position: relative;
    border-top: 3px solid transparent;
    transition: border-color var(--transition);
}
.q-step-big:hover { border-top-color: var(--q-orange); }
.q-step-big__num {
    font-family: var(--font-head);
    font-size: 48px;
    font-weight: 900;
    color: var(--q-orange);
    opacity: 0.18;
    line-height: 1;
    margin-bottom: 20px;
    letter-spacing: -0.03em;
}
.q-step-big__title {
    font-family: var(--font-head);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--q-black);
    margin-bottom: 14px;
}
.q-step-big__desc {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    line-height: 1.75;
}
.q-step-big__arrow {
    position: absolute;
    top: 52px; right: -14px;
    width: 28px; height: 28px;
    background: var(--q-orange);
    color: var(--q-white);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    z-index: 1;
}
.q-step-big:last-child .q-step-big__arrow { display: none; }

/* ── ZONAS DE REPARTO ── */
.q-zones-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 48px;
}
.q-zone {
    border: 1px solid var(--q-gray-light);
    padding: 48px 40px;
    position: relative;
    transition: all var(--transition);
}
.q-zone--primary { border-color: var(--q-orange); border-width: 2px; }
.q-zone:hover { transform: translateY(-4px); }
.q-zone__tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--q-orange);
    color: var(--q-white);
    font-family: var(--font-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 5px 14px;
    margin-bottom: 20px;
}
.q-zone--primary .q-zone__tag { background: var(--q-black); }
.q-zone__title {
    font-family: var(--font-head);
    font-size: 20px;
    font-weight: 900;
    text-transform: uppercase;
    color: var(--q-black);
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}
.q-zone__sub {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-orange);
    font-weight: 600;
    margin-bottom: 24px;
}
.q-zone__list {
    list-style: none;
    padding: 0; margin: 0;
}
.q-zone__list li {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    padding: 9px 0;
    border-bottom: 1px solid var(--q-gray-light);
    display: flex;
    align-items: center;
    gap: 10px;
}
.q-zone__list li:last-child { border-bottom: none; }
.q-zone__list li i { color: var(--q-orange); font-size: 12px; width: 14px; }

/* ── TABLA CONDICIONES ── */
.q-table-wrap { overflow-x: auto; }
.q-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
    font-size: 13px;
}
.q-table thead tr { background: var(--q-black); }
.q-table thead th {
    padding: 14px 20px;
    text-align: left;
    font-family: var(--font-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--q-white);
}
.q-table thead th:first-child { color: var(--q-orange); }
.q-table tbody tr { border-bottom: 1px solid var(--q-gray-light); transition: background var(--transition); }
.q-table tbody tr:hover { background: #fafafa; }
.q-table tbody td { padding: 14px 20px; color: var(--q-black); }
.q-table tbody td:first-child { font-weight: 700; }
.q-table .q-badge {
    display: inline-block;
    background: rgba(224,112,32,0.1);
    color: var(--q-orange);
    font-family: var(--font-head);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 10px;
    letter-spacing: 0.08em;
}

/* ── CADENA DE FRÍO (highlight dark) ── */
.q-cold-block {
    display: flex;
    align-items: center;
    gap: 56px;
    max-width: 900px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.q-cold-temp {
    font-family: var(--font-head);
    font-size: clamp(56px, 8vw, 96px);
    font-weight: 900;
    color: var(--q-orange);
    line-height: 1;
    letter-spacing: -0.03em;
    white-space: nowrap;
    flex-shrink: 0;
}
.q-cold-text h3 {
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--q-white);
    margin-bottom: 12px;
    letter-spacing: 0.03em;
}
.q-cold-text p {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    line-height: 1.75;
    margin: 0;
}

/* ── FAQ ── */
.q-faq-list { max-width: 760px; margin: 0 auto; }
.q-faq {
    border-bottom: 1px solid var(--q-gray-light);
    padding: 24px 0;
}
.q-faq:first-child { border-top: 1px solid var(--q-gray-light); }
.q-faq__q {
    font-family: var(--font-head);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--q-black);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.q-faq__q i { color: var(--q-orange); font-size: 12px; }
.q-faq__a {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--q-gray);
    line-height: 1.75;
    padding-left: 26px;
}

/* ── REQUISITOS / INFO BOX ── */
.q-info-box {
    border: 1px solid var(--q-gray-light);
    border-left: 4px solid var(--q-orange);
    padding: 32px;
    background: var(--q-white);
}
.q-info-box h3 {
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--q-black);
    margin-bottom: 16px;
}
.q-info-box ul {
    list-style: none;
    padding: 0; margin: 0;
}
.q-info-box ul li {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--q-gray);
    padding: 7px 0;
    border-bottom: 1px solid var(--q-gray-light);
    display: flex;
    align-items: center;
    gap: 10px;
}
.q-info-box ul li:last-child { border-bottom: none; }
.q-info-box ul li i { color: var(--q-orange); font-size: 11px; }

/* ── CTA INLINE ── */
.q-cta-inline {
    text-align: center;
    padding: 40px 0 0;
}

/* ── RESPONSIVE CMS COMPONENTS ── */
@media (max-width: 1024px) {
    .q-four-col  { grid-template-columns: repeat(2, 1fr); }
    .q-steps-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .q-block { padding: 56px 0; }
    .q-page-hero { padding: 56px 20px; }
    .q-two-col, .q-two-col--60 { grid-template-columns: 1fr; gap: 32px; }
    .q-three-col { grid-template-columns: 1fr; gap: 20px; }
    .q-four-col  { grid-template-columns: 1fr; }
    .q-steps-grid { grid-template-columns: 1fr; gap: 3px; }
    .q-zones-grid { grid-template-columns: 1fr; gap: 20px; }
    .q-nums-grid { grid-template-columns: repeat(2, 1fr); }
    .q-cold-block { flex-direction: column; gap: 24px; text-align: center; }
    .q-step-big__arrow { display: none; }
}
@media (max-width: 560px) {
    .q-nums-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   23. HOMEPAGE FULL-WIDTH — Romper el container Bootstrap
   Estrategia doble:
   A) Resetear max-width en todos los wrappers posibles
   B) Técnica breakout: sacar cada sección al 100vw
   ============================================================ */

/* — A) RESET WRAPPERS — */
body.page-index #wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;     /* Classic theme añade box-shadow */
    background: transparent !important;
}
body.page-index #content-wrapper,
body.page-index #content-wrapper.js-content-wrapper,
body.page-index #main,
body.page-index section#main,
body.page-index section#main.main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}
body.page-index #main > .container,
body.page-index #content-wrapper > .container,
body.page-index .js-content-wrapper > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
}
body.page-index .row,
body.page-index #content-wrapper > .container > .row,
body.page-index #main > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}
body.page-index #content,
body.page-index #content.col-xs-12,
body.page-index #content.col-md-12,
body.page-index #content.col-sm-12,
body.page-index section#content,
body.page-index .page-content.page-index {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
    overflow: visible !important;
}

/* — B) TÉCNICA BREAKOUT: cada sección rompe el container —
   Requiere html/body { overflow-x: hidden } ya presente arriba.
   Funciona aunque el .container tenga max-width residual.
   ---------------------------------------------------------- */
body.page-index .q-nav-pages,
body.page-index .q-hero,
body.page-index .q-strip,
body.page-index .q-stats,
body.page-index .q-home-products,
body.page-index .q-proceso,
body.page-index .q-cards-section,
body.page-index .q-ventajas,
body.page-index .q-cta-bar {
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* Ocultar breadcrumb en home (no tiene sentido en la landing) */
body.page-index .breadcrumb,
body.page-index #notifications,
body.page-index .alert {
    display: none !important;
}

/* ============================================================
   24. FULL-WIDTH TAMBIÉN EN CMS PAGES CON DISEÑO CUSTOM
   ============================================================ */

/* — A) RESET WRAPPERS CMS — */
body.cms-id-6 #wrapper,
body.cms-id-7 #wrapper,
body.cms-id-8 #wrapper {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
body.cms-id-6 #content-wrapper,
body.cms-id-7 #content-wrapper,
body.cms-id-8 #content-wrapper,
body.cms-id-6 #content-wrapper.js-content-wrapper,
body.cms-id-7 #content-wrapper.js-content-wrapper,
body.cms-id-8 #content-wrapper.js-content-wrapper,
body.cms-id-6 #main,
body.cms-id-7 #main,
body.cms-id-8 #main,
body.cms-id-6 section#main,
body.cms-id-7 section#main,
body.cms-id-8 section#main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.cms-id-6 #content-wrapper > .container,
body.cms-id-7 #content-wrapper > .container,
body.cms-id-8 #content-wrapper > .container,
body.cms-id-6 .js-content-wrapper > .container,
body.cms-id-7 .js-content-wrapper > .container,
body.cms-id-8 .js-content-wrapper > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.cms-id-6 .row,
body.cms-id-7 .row,
body.cms-id-8 .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
}
body.cms-id-6 #content,
body.cms-id-7 #content,
body.cms-id-8 #content {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    flex: 0 0 100% !important;
}
body.cms-id-6 .page-cms,
body.cms-id-7 .page-cms,
body.cms-id-8 .page-cms {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* — B) TÉCNICA BREAKOUT CMS (funciona para cualquier CMS con nuestro template) — */
body.page-cms .q-page-hero,
body.page-cms .q-block,
body.page-cms .q-cta-bar {
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* Fallback específico por ID (redundante pero seguro) */
body.cms-id-6 .q-page-hero,
body.cms-id-7 .q-page-hero,
body.cms-id-8 .q-page-hero,
body.cms-id-6 .q-block,
body.cms-id-7 .q-block,
body.cms-id-8 .q-block,
body.cms-id-6 .q-cta-bar,
body.cms-id-7 .q-cta-bar,
body.cms-id-8 .q-cta-bar {
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* ============================================================
   25. AJUSTES DE COLOR EN SECCIONES OSCURAS
   ============================================================ */

/* Título de sección en fondo negro (q-cards-section) */
.q-cards-section .q-section-title {
    color: var(--q-white) !important;
}
.q-cards-section .q-section-title::after {
    background: var(--q-orange);
}

/* Block head title en secciones oscuras */
.q-block--dark .q-block-head__title {
    color: var(--q-white) !important;
}
.q-block--dark .q-block-head__title::after {
    background: var(--q-orange);
}
.q-block--dark .q-block-head__sub {
    color: rgba(255,255,255,0.55) !important;
}

/* Block head title en secciones naranja */
.q-block--orange .q-block-head__title {
    color: var(--q-white) !important;
}
.q-block--orange .q-block-head__sub {
    color: rgba(255,255,255,0.75) !important;
}

/* ============================================================
   26. BREADCRUMB — ocultar en páginas CMS con diseño custom
   ============================================================ */
body.cms-id-6 .breadcrumb,
body.cms-id-7 .breadcrumb,
body.cms-id-8 .breadcrumb {
    display: none !important;
}

/* ============================================================
   27. CATÁLOGO — mejoras visuales página de categoría
   ============================================================ */
body.page-category .category-header {
    padding: 48px 0 24px !important;
    border-bottom: 1px solid var(--q-gray-light);
    margin-bottom: 8px;
}
body.page-category .category-header h1 {
    margin-bottom: 8px !important;
}
body.page-category .category-description p {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: var(--q-gray) !important;
    margin: 0 !important;
}
/* Filtros de ordenación */
body.page-category .products-selection {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid var(--q-gray-light) !important;
    margin-bottom: 32px !important;
}
body.page-category .products-selection .showing,
body.page-category .products-selection .total-products {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    color: var(--q-gray) !important;
}
body.page-category .sort-by-row select,
body.page-category .products-selection select {
    border: 1px solid var(--q-gray-light) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    color: var(--q-black) !important;
    background: var(--q-white) !important;
}


/* ============================================================ */
/* CSS DE REPARACIÓN — NAVYX — 2026-05-31 */
/* Aplicado al final para sobreescribir por specificity */
/* ============================================================ */

/* ===================================================================
   QUEMPANADA.ES — CSS DE REPARACIÓN COMPLETA
   Aplica encima del custom.css existente. Arregla:
   - Material Icons (texto "shopping_cart" → icono real)
   - Google Fonts (Playfair Display + Lora + Inter + Montserrat)
   - Header roto (carrito superpuesto, falta menú)
   - Grid de productos (sin imagen → placeholder bonito)
   - Responsive completo
   - Paleta terracota unificada
   =================================================================== */

/* ---- 1) FONTS — CARGA AL INICIO ---- */

/* ---- 2) TOKENS UNIFICADOS ---- */
:root {
  --q-orange:       #E07020;
  --q-orange-lt:    #E89858;
  --q-orange-dk:    #B45612;
  --q-dark:         #1A1A1A;
  --q-dark-2:       #2A2A2A;
  --q-cream:        #FAF6EE;
  --q-cream-dk:     #EDE4D0;
  --q-ink:          #1A1A1A;
  --q-muted:        rgba(26,26,26,0.60);
  --q-line:         rgba(26,26,26,0.10);
  --q-line-strong:  rgba(26,26,26,0.20);

  --q-f-display:    "Playfair Display", Georgia, serif;
  --q-f-body:       "Lora", Georgia, serif;
  --q-f-label:      "Inter", "Montserrat", system-ui, sans-serif;
}

/* ---- 3) MATERIAL ICONS — FIX DEL CARRITO ---- */
.material-icons,
i.material-icons,
.blockcart i,
[class*="material-icons"] {
  font-family: 'Material Icons' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 24px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-feature-settings: 'liga' !important;
  -webkit-font-smoothing: antialiased !important;
  font-feature-settings: 'liga' !important;
  vertical-align: middle !important;
}

/* ---- 4) HEADER — REPARACIÓN ---- */
body:not(#index) #header {
  background: var(--q-dark) !important;
}

body:not(#index) #header .header-top {
  padding: 18px 0 !important;
  background: var(--q-dark) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

/* Carrito — arreglar superposición */
body:not(#index) .blockcart,
body:not(#index) #_desktop_cart,
body:not(#index) .header .cart-preview {
  background: var(--q-orange) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-weight: 600 !important;
  font-size: 0.86rem !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transition: background 200ms ease !important;
  box-shadow: 0 4px 16px rgba(224,112,32,0.25) !important;
}

body:not(#index) .blockcart:hover { background: var(--q-orange-dk) !important; }
body:not(#index) .blockcart a,
body:not(#index) .blockcart span { color: #fff !important; text-decoration: none !important; }

/* Iniciar sesión / Usuario */
body:not(#index) .user-info,
body:not(#index) #_desktop_user_info {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-size: 0.88rem !important;
}
body:not(#index) .user-info a,
body:not(#index) #_desktop_user_info a {
  color: #fff !important;
  text-decoration: none !important;
}
body:not(#index) .user-info a:hover { color: var(--q-orange-lt) !important; }

/* Buscador */
body:not(#index) #search_widget,
body:not(#index) #_desktop_search_widget {
  position: relative;
}
body:not(#index) #search_widget input[type="text"],
body:not(#index) #search_widget input[type="search"],
body:not(#index) #_desktop_search_widget input {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 10px 16px 10px 42px !important;
  font-family: var(--q-f-body) !important;
  font-size: 0.92rem !important;
  width: 100% !important;
  outline: none !important;
  transition: all 200ms ease !important;
}
body:not(#index) #search_widget input::placeholder { color: rgba(255,255,255,0.45) !important; }
body:not(#index) #search_widget input:focus {
  background: rgba(255,255,255,0.12) !important;
  border-color: var(--q-orange) !important;
  box-shadow: 0 0 0 3px rgba(224,112,32,0.20) !important;
}

/* Logo */
body:not(#index) .logo,
body:not(#index) #_desktop_logo img,
body:not(#index) .header-logo img {
  max-height: 68px !important;
  width: auto !important;
  display: block;
}

/* ---- 5) MENÚ PRINCIPAL ---- */
body:not(#index) .top-menu,
body:not(#index) #_desktop_top_menu,
body:not(#index) #top-menu {
  background: var(--q-dark) !important;
  padding: 0 !important;
  display: block !important;
}
body:not(#index) .top-menu > .menu,
body:not(#index) .top-menu ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  justify-content: center;
}
body:not(#index) .top-menu li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body:not(#index) .top-menu a,
body:not(#index) .top-menu li > a {
  display: inline-block !important;
  padding: 16px 22px !important;
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-weight: 500 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  transition: all 180ms ease !important;
}
body:not(#index) .top-menu a:hover,
body:not(#index) .top-menu li > a:hover {
  color: var(--q-orange-lt) !important;
  border-bottom-color: var(--q-orange) !important;
  background: rgba(255,255,255,0.04) !important;
}

/* Banda naranja decorativa bajo header */
body:not(#index) #header::after {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--q-orange) 0%, var(--q-orange-lt) 100%);
}

/* ---- 6) CATEGORY PAGE — REPARACIÓN ---- */
body.page-category #wrapper,
body.category #wrapper {
  background: var(--q-cream) !important;
  padding-bottom: 60px;
}

body.page-category .breadcrumb,
body.category .breadcrumb {
  background: transparent !important;
  padding: 24px 0 12px !important;
  font-family: var(--q-f-label);
  font-size: 0.74rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--q-muted);
}
body.page-category .breadcrumb ol {
  display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0;
}
body.page-category .breadcrumb li::after { content: '/'; margin-left: 10px; color: rgba(26,26,26,0.30); }
body.page-category .breadcrumb li:last-child::after { content: ''; }
body.page-category .breadcrumb a { color: var(--q-muted) !important; text-decoration: none; }

body.page-category .block-category,
body.page-category #js-product-list-header {
  background: transparent !important;
  padding: 24px 0 !important;
  border: none !important;
}
body.page-category h1 {
  font-family: var(--q-f-display) !important;
  font-size: clamp(2rem, 4.5vw, 3.6rem) !important;
  font-weight: 900 !important;
  color: var(--q-ink) !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase;
}
body.page-category h1::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: var(--q-orange);
  margin-top: 14px;
  border-radius: 2px;
}

/* Esconder duplicado de "INICIO" */
body.page-category #content > .h1,
body.page-category .block-category .category-cover ~ .h1 { display: none; }

/* ---- 7) SUBCATEGORÍAS COMO CHIPS ---- */
body.page-category #subcategories,
body.page-category .subcategories {
  background: transparent !important;
  border: none !important;
  padding: 16px 0 32px !important;
  margin: 0 0 24px !important;
  border-bottom: 1px solid var(--q-line);
}
body.page-category #subcategories ul,
body.page-category .subcategories ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-category #subcategories li,
body.page-category .subcategories li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}
body.page-category #subcategories li a,
body.page-category .subcategories li a {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--q-cream-dk) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 999px !important;
  padding: 10px 22px !important;
  font-family: var(--q-f-label) !important;
  font-weight: 600 !important;
  font-size: 0.80rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--q-ink) !important;
  text-decoration: none !important;
  transition: all 200ms ease !important;
}
body.page-category #subcategories li a:hover {
  background: var(--q-orange) !important;
  border-color: var(--q-orange) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(224,112,32,0.25);
}

/* Esconder imagenes/placeholders feos de subcategorias */
body.page-category #subcategories img,
body.page-category #subcategories .subcategory-image,
body.page-category #subcategories .thumbnail-container { display: none !important; }

/* ---- 8) PRODUCT GRID — REPARACIÓN COMPLETA ---- */
body.page-category #products,
body.page-category .products,
body.page-category #js-product-list,
body.featured-products .products {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.page-category #products .products,
body.page-category #js-product-list .products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
  gap: 28px 24px !important;
  padding: 24px 0 !important;
  margin: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

body.page-category .products > li,
body.page-category .products > article,
body.page-category .products .product-miniature {
  list-style: none !important;
  margin: 0 !important;
  width: auto !important;
  max-width: 100% !important;
}

body.page-category .product-miniature,
body.page-category .js-product-miniature {
  background: var(--q-cream) !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 8px rgba(26,26,26,0.04) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 280ms ease, box-shadow 280ms ease !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
body.page-category .product-miniature:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(26,26,26,0.10) !important;
}

/* Thumbnail container */
body.page-category .product-miniature .thumbnail-container,
body.page-category .product-miniature .product-thumbnail,
body.page-category .product-miniature .product-image {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 30% 30%, rgba(224,112,32,0.18) 0%, transparent 55%),
    radial-gradient(circle at 70% 70%, rgba(200,148,60,0.12) 0%, transparent 55%),
    var(--q-cream-dk) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* Imagen */
body.page-category .product-miniature img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 600ms ease !important;
}
body.page-category .product-miniature:hover img { transform: scale(1.05) !important; }

/* Placeholder visual cuando no hay imagen */
body.page-category .product-miniature img[src*="no_default_image"],
body.page-category .product-miniature img[src=""],
body.page-category .product-miniature img:not([src]),
body.page-category .product-miniature img[alt=""] {
  opacity: 0 !important;
}
body.page-category .product-miniature .thumbnail-container::before {
  content: '🥟';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5rem;
  opacity: 0.18;
  pointer-events: none;
  z-index: 0;
}

/* Banderas (NUEVO, FUERA DE STOCK) */
body.page-category .product-flags {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  z-index: 2 !important;
}
body.page-category .product-flag {
  background: var(--q-dark) !important;
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-weight: 600 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  display: inline-block !important;
  position: static !important;
  margin: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
}
body.page-category .product-flag.new,
body.page-category .product-flag.online-only { background: var(--q-orange) !important; color: #fff !important; }
body.page-category .product-flag.out_of_stock { background: #B91C1C !important; }
body.page-category .product-flag.discount,
body.page-category .product-flag.discount-percentage,
body.page-category .product-flag.on-sale { background: #C8943C !important; color: #1A0F00 !important; }

/* Wishlist heart */
body.page-category .product-miniature .wishlist-button-add,
body.page-category .product-miniature .product-add-to-favorites {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 38px !important;
  height: 38px !important;
  background: rgba(255,255,255,0.95) !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 3 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important;
  transition: all 200ms ease !important;
}
body.page-category .product-miniature .wishlist-button-add:hover {
  background: var(--q-orange) !important;
  color: #fff !important;
  transform: scale(1.08) !important;
}

/* Descripción producto */
body.page-category .product-miniature .product-description {
  padding: 18px 18px 22px !important;
  background: var(--q-cream) !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.page-category .product-title,
body.page-category .product-miniature .product-title {
  margin: 0 !important;
}
body.page-category .product-title a {
  font-family: var(--q-f-display) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  color: var(--q-ink) !important;
  text-decoration: none !important;
  letter-spacing: -0.01em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  transition: color 180ms ease !important;
}
body.page-category .product-title a:hover { color: var(--q-orange) !important; }

body.page-category .product-price-and-shipping .price,
body.page-category .product-miniature .price {
  font-family: var(--q-f-display) !important;
  font-weight: 900 !important;
  font-size: 1.5rem !important;
  color: var(--q-orange) !important;
  line-height: 1 !important;
}

body.page-category .regular-price {
  text-decoration: line-through;
  color: var(--q-muted) !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
}

/* ---- 9) SORT BAR ---- */
body.page-category #js-product-list-top,
body.page-category .products-sort-order,
body.page-category .total-products {
  background: var(--q-cream) !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  font-family: var(--q-f-label) !important;
  font-size: 0.86rem !important;
  margin-bottom: 16px !important;
}

body.page-category .total-products p { margin: 0; font-weight: 600; }

body.page-category .products-sort-order .select-title,
body.page-category .products-sort-order .dropdown-toggle {
  background: var(--q-cream-dk) !important;
  border: 1px solid var(--q-line-strong) !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  font-family: var(--q-f-label) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: var(--q-ink) !important;
  cursor: pointer !important;
}

/* ---- 10) PAGINACIÓN ---- */
body.page-category .pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 40px 0 60px !important;
  padding: 0 !important;
  list-style: none !important;
}
body.page-category .pagination .page-list {
  display: flex !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body.page-category .pagination a,
body.page-category .pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  background: var(--q-cream) !important;
  border: 1px solid var(--q-line) !important;
  border-radius: 10px !important;
  color: var(--q-ink) !important;
  font-family: var(--q-f-label) !important;
  font-weight: 600 !important;
  font-size: 0.86rem !important;
  text-decoration: none !important;
  transition: all 180ms ease !important;
}
body.page-category .pagination a:hover {
  background: var(--q-orange) !important;
  color: #fff !important;
  border-color: var(--q-orange) !important;
}
body.page-category .pagination .current a,
body.page-category .pagination .current span,
body.page-category .pagination li.current span {
  background: var(--q-orange) !important;
  color: #fff !important;
  border-color: var(--q-orange) !important;
}

/* ---- 11) BOTONES Y FORMULARIOS ---- */
body:not(#index) .btn-primary,
body:not(#index) button[type="submit"]:not(.btn-secondary):not(.btn-link),
body:not(#index) .add-to-cart {
  background: var(--q-orange) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  padding: 14px 26px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: all 200ms ease !important;
  box-shadow: 0 4px 16px rgba(224,112,32,0.22) !important;
}
body:not(#index) .btn-primary:hover,
body:not(#index) button[type="submit"]:hover,
body:not(#index) .add-to-cart:hover {
  background: var(--q-orange-dk) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(224,112,32,0.32) !important;
}

/* ---- 12) FOOTER ---- */
body:not(#index) #footer,
body:not(#index) .footer-container {
  background: var(--q-dark) !important;
  color: #fff !important;
  padding: 60px 0 32px !important;
  margin-top: 80px !important;
  border-top: 4px solid var(--q-orange) !important;
}
body:not(#index) #footer h3,
body:not(#index) #footer .h3 {
  color: #fff !important;
  font-family: var(--q-f-label) !important;
  font-size: 0.80rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
}
body:not(#index) #footer a {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.88rem !important;
  line-height: 2 !important;
  text-decoration: none !important;
}
body:not(#index) #footer a:hover { color: var(--q-orange-lt) !important; }

/* Newsletter en footer */
body:not(#index) .block_newsletter {
  background: transparent !important;
}
body:not(#index) .block_newsletter h3 { color: #fff !important; }
body:not(#index) .block_newsletter input[type="email"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #fff !important;
  padding: 12px 16px !important;
  border-radius: 999px 0 0 999px !important;
}
body:not(#index) .block_newsletter input[type="email"]::placeholder { color: rgba(255,255,255,0.40) !important; }
body:not(#index) .block_newsletter button[type="submit"] {
  border-radius: 0 999px 999px 0 !important;
  padding: 12px 22px !important;
}

/* ---- 13) 403/404 ---- */
body#pagenotfound,
body[id*="403"],
body[id*="404"] {
  background: var(--q-cream);
}
body#pagenotfound h1,
body[id*="403"] h1 {
  font-family: var(--q-f-display) !important;
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  color: var(--q-ink) !important;
}

/* ---- 14) RESPONSIVE ---- */
@media (max-width: 991.98px) {
  body.page-category #products .products,
  body.page-category #js-product-list .products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 18px !important;
  }
  body:not(#index) .top-menu a { padding: 12px 14px !important; font-size: 0.74rem !important; }
}

@media (max-width: 767.98px) {
  body:not(#index) #header .header-top { padding: 12px 0 !important; }
  body:not(#index) .blockcart { padding: 8px 14px !important; font-size: 0.76rem !important; }
  body:not(#index) .logo img { max-height: 48px !important; }
  body.page-category h1 { font-size: 1.8rem !important; }
  body.page-category #products .products,
  body.page-category #js-product-list .products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  body.page-category .product-miniature .product-description { padding: 12px !important; }
  body.page-category .product-title a { font-size: 0.86rem !important; }
  body.page-category .price { font-size: 1.1rem !important; }
}

@media (max-width: 479.98px) {
  body:not(#index) .top-menu ul { justify-content: flex-start !important; overflow-x: auto !important; flex-wrap: nowrap !important; }
  body:not(#index) .top-menu li { flex-shrink: 0; }
  body.page-category #subcategories ul { gap: 8px !important; }
  body.page-category #subcategories li a { padding: 8px 14px !important; font-size: 0.72rem !important; }
}

/* ---- 15) UTILIDADES ---- */
::selection { background: var(--q-orange); color: #fff; }
body:not(#index) hr { border: none; height: 1px; background: var(--q-line); margin: 32px 0; }
body:not(#index) { color: var(--q-ink); }
body:not(#index) a:not(.btn):not(.product-flag) { color: var(--q-orange); }
body:not(#index) a:not(.btn):not(.product-flag):hover { color: var(--q-orange-dk); }


/* ============================================================
   FIX FINAL: Material Icons override (NAVYX 2026-05-31)
   ============================================================ */
.material-icons,
i.material-icons,
[class*="material-icons"] {
    font-family: 'Material Icons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    direction: ltr !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
    font-feature-settings: 'liga' !important;
}
#header .blockcart i.material-icons,
#_desktop_cart i.material-icons,
#header i.material-icons,
.material-icons.shopping-cart {
    font-family: 'Material Icons' !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 20px !important;
    width: auto !important;
    height: auto !important;
}

/* ============================================================
   CATEGORY PAGE — Minimal product grid (NAVYX 2026-05-31)
   ============================================================ */

/* Ocultar breadcrumb en página categoría */
body.page-category .breadcrumb,
body.page-category nav.breadcrumb,
body.page-category #wrapper > .breadcrumb,
body.page-category #wrapper .container > .breadcrumb {
    display: none !important;
}

/* Ocultar sidebar izquierda */
body.page-category #left-column,
body.page-category .col-left,
body.page-category aside#left-column {
    display: none !important;
}

/* Content full-width al quitar sidebar */
body.page-category #content-wrapper,
body.page-category .js-content-wrapper,
body.page-category #content-wrapper.col-md-8,
body.page-category #content-wrapper.col-lg-9 {
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    flex: 0 0 100% !important;
    padding: 24px !important;
    float: none !important;
}

/* Ocultar título grande "INICIO" / block-category */
body.page-category .block-category,
body.page-category #js-product-list-top .block-category,
body.page-category #js-product-list-top h1,
body.page-category #js-product-list-top .page-header,
body.page-category .page-header h1.h1,
body.page-category .block-category h1,
body.page-category .block-category .h1,
body.page-category .category-cover {
    display: none !important;
}

/* Ocultar bloque "Subcategorías" */
body.page-category #subcategories,
body.page-category section#subcategories,
body.page-category .subcategories,
body.page-category #subcategories-list {
    display: none !important;
}

/* Simplificar barra "Hay N productos / Ordenar por" */
body.page-category #js-product-list-header,
body.page-category .products-selection,
body.page-category .products-selection > .row {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 8px 0 20px 0 !important;
    margin-bottom: 8px !important;
}
body.page-category .total-products,
body.page-category .total-products p {
    color: var(--q-gray) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    background: transparent !important;
    border: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
}
body.page-category .products-sort-order .select-title {
    background: var(--q-white) !important;
    border: 1px solid var(--q-gray-light) !important;
    border-radius: 0 !important;
    color: var(--q-black) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
}

/* Grid de productos — 4 columnas XL, 3 LG, 2 SM, 1 XS */
body.page-category .products.row,
body.page-category #js-product-list .products {
    margin: 0 -12px !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
}
body.page-category .products > .js-product,
body.page-category .products > .product {
    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    padding: 12px !important;
    margin: 0 !important;
}
@media (max-width: 1199px) {
    body.page-category .products > .js-product,
    body.page-category .products > .product {
        width: 33.333% !important;
        max-width: 33.333% !important;
        flex: 0 0 33.333% !important;
    }
}
@media (max-width: 767px) {
    body.page-category .products > .js-product,
    body.page-category .products > .product {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        padding: 8px !important;
    }
}
@media (max-width: 480px) {
    body.page-category .products > .js-product,
    body.page-category .products > .product {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* Tarjeta de producto limpia */
body.page-category .product-miniature {
    background: var(--q-white) !important;
    border: 1px solid var(--q-gray-light) !important;
    border-radius: 0 !important;
    transition: all var(--transition) !important;
    height: 100% !important;
    overflow: hidden !important;
}
body.page-category .product-miniature:hover {
    border-color: var(--q-orange) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important;
    transform: translateY(-2px) !important;
}

/* Paginación centrada y limpia */
body.page-category .pagination,
body.page-category #js-product-list-bottom .pagination {
    justify-content: center !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--q-gray-light) !important;
    margin-top: 24px !important;
}

/* ============================================================
   CATEGORY PAGE — Fix v2: full-width + 4 cols + hide top-menu
   ============================================================ */

/* Forzar content-wrapper full-width incluso con col-md-8/lg-9 */
body.page-category #content-wrapper.col-md-8,
body.page-category #content-wrapper.col-lg-9,
body.page-category .js-content-wrapper.col-md-8,
body.page-category .js-content-wrapper.col-lg-9,
body.page-category #content-wrapper.left-column,
body.page-category .js-content-wrapper.left-column,
html body.page-category #content-wrapper {
    width: 100% !important;
    max-width: 1400px !important;
    flex: 0 0 100% !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    float: none !important;
}

/* Ocultar TOP MENU (que solo muestra "QUEMPANADA" como única categoría) en página categoría */
body.page-category #_desktop_top_menu,
body.page-category .top-menu,
body.page-category ul.top-menu,
body.page-category .js-top-menu,
body.page-category .category-top-menu,
body.page-category #top-menu {
    display: none !important;
}

/* Override Bootstrap col-xs-12 col-sm-6 col-xl-4 en cards de producto → 4 cols XL */
@media (min-width: 1200px) {
    body.page-category .products > .js-product,
    body.page-category .products > .product,
    body.page-category .products > .col-xs-12.col-sm-6.col-xl-4 {
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    body.page-category .products > .js-product,
    body.page-category .products > .product {
        width: 33.333% !important;
        max-width: 33.333% !important;
        flex: 0 0 33.333% !important;
    }
}

/* Banner orange después del header ocupa todo el viewport */
body.page-category #wrapper {
    padding: 0 !important;
}

/* ============================================================
   CATEGORY PAGE — Fix v3: override Bootstrap .container width
   ============================================================ */

body.page-category #wrapper > .container,
body.page-category #wrapper .container,
body.page-category section#wrapper > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}
body.page-category #wrapper .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* En XL (>=1281px viewport), forzar 4 columnas */
@media (min-width: 1200px) {
    body.page-category .products.row > .js-product,
    body.page-category .products.row > .product,
    body.page-category #js-product-list .products > article {
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
    }
}

/* ============================================================
   CATEGORY PAGE — Fix v4: lower 4-col breakpoint + force hide top-menu
   ============================================================ */

/* Hide top-menu de forma agresiva (override del display:block del Classic theme) */
html body.page-category div#_desktop_top_menu,
html body.page-category #_desktop_top_menu.js-top-menu,
html body.page-category .menu.js-top-menu,
html body.page-category div.js-top-menu,
html body.page-category #top-menu,
html body.page-category ul#top-menu,
html body.page-category ul.top-menu {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* 4 columnas a partir de 1000px (no 1200) — la mayoría de monitores hoy */
@media (min-width: 1000px) {
    body.page-category .products.row > .js-product,
    body.page-category .products.row > .product,
    body.page-category .products.row > .col-xs-12.col-sm-6.col-xl-4 {
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
    }
}
@media (min-width: 600px) and (max-width: 999px) {
    body.page-category .products.row > .js-product,
    body.page-category .products.row > .product {
        width: 33.333% !important;
        max-width: 33.333% !important;
        flex: 0 0 33.333% !important;
    }
}
@media (max-width: 599px) {
    body.page-category .products.row > .js-product,
    body.page-category .products.row > .product {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
    }
}

/* ============================================================
   CATEGORY PAGE — Fix v5: CSS Grid forzado (más confiable que Bootstrap flex)
   ============================================================ */

body.page-category .products.row,
body.page-category #js-product-list .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: unset !important;
}

body.page-category .products.row > .js-product,
body.page-category .products.row > .product {
    width: auto !important;
    max-width: none !important;
    flex: unset !important;
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 1099px) {
    body.page-category .products.row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 799px) {
    body.page-category .products.row {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}
@media (max-width: 479px) {
    body.page-category .products.row {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   CATEGORY PAGE — Fix v6: card internal layout (después de grid)
   ============================================================ */

/* Forzar product-miniature a ocupar todo el grid cell y mostrar contenido */
body.page-category .products.row > .js-product > .product-miniature,
body.page-category .products.row > .product > .product-miniature,
body.page-category .products.row article.product-miniature {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    left: auto !important;
    right: auto !important;
    position: relative !important;
    display: block !important;
}
body.page-category .product-miniature .thumbnail-container,
body.page-category .product-miniature .product-thumbnail,
body.page-category .product-miniature .product-description {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    left: auto !important;
}

/* Asegurar que la imagen del producto se centra */
body.page-category .product-miniature .product-thumbnail img,
body.page-category .product-miniature img.product-thumbnail {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Forzar hide del top-menu en página categoría (más alto en specificity) */
html body.page-category div#_desktop_top_menu.menu,
html body.page-category div#_desktop_top_menu.js-top-menu,
html body.page-category #header div#_desktop_top_menu,
html[lang] body[class*="page-category"] #_desktop_top_menu {
    display: none !important;
}

/* ============================================================
   CATEGORY PAGE — Fix v7: REVERTIR CSS Grid (rompía cards Classic)
   ============================================================ */

/* Cancelar CSS grid - volver a flex/Bootstrap */
body.page-category .products.row,
body.page-category #js-product-list .products {
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: unset !important;
    gap: 0 !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
}

/* Cells: restaurar padding Bootstrap */
body.page-category .products.row > .js-product,
body.page-category .products.row > .product {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-top: 0 !important;
    padding-bottom: 24px !important;
    margin: 0 !important;
}

/* Forzar 4 columnas en viewport >= 1000px (override Bootstrap col-xl-4 = 33%) */
@media (min-width: 1000px) {
    body.page-category .products.row > .js-product,
    body.page-category .products.row > .product,
    body.page-category .products.row > .col-xl-4 {
        width: 25% !important;
        max-width: 25% !important;
        flex: 0 0 25% !important;
    }
}

/* Restaurar product-miniature al default (no más overrides agresivos) */
body.page-category .products.row .product-miniature {
    width: auto !important;
    max-width: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

/* ============================================================
   HEADER — Language/Currency dropdown menu fix (NAVYX 2026-05-31)
   ============================================================ */

/* Dropdown menu del language/currency selector — fondo oscuro */
#header .language-selector .dropdown-menu,
#header .currency-selector .dropdown-menu,
#_desktop_language_selector .dropdown-menu,
#_desktop_currency_selector .dropdown-menu,
.language-selector-wrapper .dropdown-menu,
.currency-selector-wrapper .dropdown-menu {
    background: var(--q-black-soft) !important;
    border: 1px solid var(--q-orange) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.4) !important;
    padding: 4px 0 !important;
    margin-top: 6px !important;
    min-width: 140px !important;
    z-index: 1000 !important;
}

/* Items del dropdown */
#header .language-selector .dropdown-menu li,
#header .currency-selector .dropdown-menu li,
#_desktop_language_selector .dropdown-menu li,
#_desktop_currency_selector .dropdown-menu li {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

#header .language-selector .dropdown-menu a,
#header .language-selector .dropdown-menu .dropdown-item,
#header .currency-selector .dropdown-menu a,
#header .currency-selector .dropdown-menu .dropdown-item,
#_desktop_language_selector .dropdown-menu a,
#_desktop_language_selector .dropdown-item,
#_desktop_currency_selector .dropdown-menu a,
#_desktop_currency_selector .dropdown-item {
    color: rgba(255,255,255,0.85) !important;
    background: transparent !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    padding: 9px 16px !important;
    display: block !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: all 0.2s ease !important;
    border: none !important;
    line-height: 1.4 !important;
}

/* Hover de los items */
#header .language-selector .dropdown-menu a:hover,
#header .language-selector .dropdown-menu .dropdown-item:hover,
#header .currency-selector .dropdown-menu a:hover,
#_desktop_language_selector .dropdown-menu a:hover,
#_desktop_language_selector .dropdown-item:hover,
#_desktop_currency_selector .dropdown-menu a:hover,
#_desktop_currency_selector .dropdown-item:hover {
    color: var(--q-white) !important;
    background: var(--q-orange) !important;
}

/* Item actualmente seleccionado */
#header .language-selector .dropdown-menu li.current a,
#_desktop_language_selector .dropdown-menu li.current a,
#_desktop_currency_selector .dropdown-menu li.current a {
    color: var(--q-orange) !important;
    font-weight: 600 !important;
    background: rgba(224,112,32,0.08) !important;
}
#header .language-selector .dropdown-menu li.current a:hover,
#_desktop_language_selector .dropdown-menu li.current a:hover {
    color: var(--q-white) !important;
    background: var(--q-orange) !important;
}

/* Botón trigger "Español" en el header — color naranja al abrir */
#header .language-selector button.expand-more,
#header .language-selector button,
#_desktop_language_selector button {
    color: rgba(255,255,255,0.7) !important;
    background: transparent !important;
    border: none !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    padding: 4px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer !important;
}
#header .language-selector button:hover,
#header .language-selector .dropdown.show button,
#_desktop_language_selector button:hover,
#_desktop_language_selector .dropdown.show button {
    color: var(--q-orange) !important;
}
#header .language-selector button .expand-more,
#_desktop_language_selector button .expand-more {
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   HEADER — Rediseño completo: alineación, sizes, search icons
   (NAVYX 2026-05-31 v9)
   ============================================================ */

/* === TOP BAR === Distribución horizontal limpia */
#header .header-nav,
#header nav.header-nav {
    background: var(--q-black) !important;
    padding: 0 !important;
    min-height: 44px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
#header .header-nav > .container,
#header .header-nav .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    min-height: 44px !important;
    padding: 4px 24px !important;
    gap: 16px !important;
    max-width: 100% !important;
}
/* Izquierda: "Contacte con nosotros" + (cualquier otra cosa) */
#header .header-nav .left-nav,
#header .header-nav > .container > div:first-child,
#header .header-nav .left {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-right: auto !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.6) !important;
}
#header .header-nav .left-nav a,
#header .header-nav .left a {
    color: rgba(255,255,255,0.6) !important;
    font-size: 12px !important;
}
/* Derecha: idioma + login + carrito */
#header .header-nav .right-nav,
#header .header-nav > .container > div:last-child,
#header .header-nav .right {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

/* === CARRITO === Tamaño compacto */
#header .blockcart,
#_desktop_cart .blockcart,
#_desktop_cart .cart-preview {
    background: var(--q-orange) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 0 !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    overflow: hidden !important;
    transition: background var(--transition) !important;
}
#header .blockcart:hover,
#_desktop_cart .blockcart:hover {
    background: var(--q-orange-dark) !important;
}
#header .blockcart .header,
#_desktop_cart .blockcart .header {
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 32px !important;
}
#header .blockcart a,
#_desktop_cart .blockcart a,
#_desktop_cart a.cart-detailed-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 14px !important;
    height: 32px !important;
    background: transparent !important;
    color: var(--q-white) !important;
    font-family: var(--font-head) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
#_desktop_cart i.material-icons.shopping-cart,
#_desktop_cart i.material-icons {
    color: var(--q-white) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.cart-products-count,
#_desktop_cart .cart-products-count {
    background: var(--q-black) !important;
    color: var(--q-white) !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin-left: 2px !important;
}

/* === USER / Iniciar sesión === */
#header .user-info,
#_desktop_user_info,
#_desktop_user_info .user-info {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    height: 32px !important;
}
#_desktop_user_info a {
    color: rgba(255,255,255,0.85) !important;
    font-size: 12px !important;
    font-family: var(--font-body) !important;
    padding: 0 10px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
}
#_desktop_user_info a:hover {
    color: var(--q-orange) !important;
}
#_desktop_user_info a i.material-icons {
    font-size: 18px !important;
    color: inherit !important;
}

/* === LANGUAGE / CURRENCY trigger en top bar === */
#header .language-selector,
#_desktop_language_selector,
#_desktop_language_selector .language-selector-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    height: 32px !important;
}
#header .language-selector button,
#_desktop_language_selector button {
    height: 32px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

/* === HEADER TOP (Logo + Search) === Alineación flex */
#header .header-top {
    background: var(--q-black) !important;
    border-bottom: 3px solid var(--q-orange) !important;
    padding: 14px 0 !important;
    min-height: 90px !important;
}
#header .header-top > .container,
#header .header-top .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 24px !important;
    padding: 0 24px !important;
    max-width: 100% !important;
    min-height: 62px !important;
}
#header .header-top .logo,
#header .header-top a.logo {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* === SEARCH WIDGET === Iconos centrados verticalmente */
#header .search-widget,
#header .search-widgets,
#search_widget {
    position: relative !important;
    width: 320px !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
#header .search-widget form,
#search_widget form {
    position: relative !important;
    width: 100% !important;
    display: block !important;
}
#header .search-widget input,
#search_widget input[type="text"],
#search_widget input[name="s"] {
    width: 100% !important;
    height: 36px !important;
    padding: 0 38px 0 36px !important;
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    color: var(--q-white) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    line-height: 36px !important;
}
#header .search-widget input::placeholder,
#search_widget input::placeholder {
    color: rgba(255,255,255,0.4) !important;
}
#header .search-widget input:focus,
#search_widget input:focus {
    outline: none !important;
    border-color: var(--q-orange) !important;
    background: rgba(255,255,255,0.1) !important;
}
/* LUPA icon centrado vertical, izquierda */
#search_widget i.material-icons.search,
#header .search-widget i.material-icons.search {
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--q-orange) !important;
    font-size: 18px !important;
    pointer-events: none !important;
    margin: 0 !important;
    line-height: 1 !important;
    z-index: 2 !important;
}
/* X (clear) icon centrado vertical, derecha */
#search_widget i.material-icons.clear,
#header .search-widget i.material-icons.clear,
#search_widget .clear,
#search_widget button.clear {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--q-orange) !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin: 0 !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    z-index: 2 !important;
}

/* ============================================================
   HEADER — v10: alineación real basada en DOM PS Classic
   ============================================================ */

/* === CONTAINER full-width en header (no Bootstrap 1140) === */
#header .header-nav > .container,
#header .header-nav .container,
#header .header-top > .container,
#header .header-top .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}
#header .header-nav .container > .row,
#header .header-top .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    align-items: center !important;
}

/* === TOP BAR === space-between dentro del .hidden-sm-down === */
#header .header-nav .row > .hidden-sm-down {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
    padding: 0 !important;
    min-height: 44px !important;
}
/* "Contacte con nosotros" a la izquierda — usar margin-right:auto */
#header .header-nav .row > .hidden-sm-down > ul:first-child,
#header .header-nav .row > .hidden-sm-down > .left-nav,
#header .header-nav .row > .hidden-sm-down > div:first-child {
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

/* === HEADER TOP === Logo izquierda, search derecha === */
#header .header-top > .container > .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
}
#header .header-top .row > .col-md-2 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
#header .header-top .row > .header-top-right,
#header .header-top .row > .col-md-10 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
    padding: 0 !important;
}

/* Logo: tamaño correcto */
#header .header-top .logo,
#header .header-top a.logo,
#header .logo {
    display: inline-flex !important;
    align-items: center !important;
    height: 62px !important;
    max-height: 62px !important;
    width: auto !important;
    margin: 0 !important;
}
#header .header-top .logo img,
#header .header-top a.logo img,
#header .logo img,
#_desktop_logo img {
    height: 62px !important;
    max-height: 62px !important;
    width: auto !important;
    max-width: 220px !important;
    display: block !important;
    object-fit: contain !important;
}

/* OCULTAR el "QuEmpanada" residual del top-menu en header-top */
#header .header-top #_desktop_top_menu,
#header .header-top .top-menu,
#header .header-top ul.top-menu,
#header .header-top .js-top-menu {
    display: none !important;
}

/* Search a la derecha del header-top */
#header .header-top .search-widgets,
#header .header-top #search_widget {
    flex: 0 0 auto !important;
    width: 320px !important;
    max-width: 360px !important;
    margin-left: auto !important;
}

/* ============================================================
   HEADER — v11: ocultar mobile menu en desktop + alineación final
   ============================================================ */

/* CRITICAL: ocultar elementos mobile en desktop — Bootstrap default */
@media (min-width: 768px) {
    #header .header-top .row.hidden-md-up,
    #header .header-top #mobile_top_menu_wrapper,
    #mobile_top_menu_wrapper,
    #mobile_top_menu,
    .row.hidden-md-up,
    .hidden-md-up,
    body .hidden-md-up {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
    }
}

/* Reforzar el flex sobre el row CORRECTO (no el mobile) */
#header .header-top > .container > .row:not(.hidden-md-up):not(#mobile_top_menu_wrapper) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

/* También el de header-nav */
#header .header-nav > .container > .row:not(.hidden-md-up) {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* ============================================================
   HOME — ocultar sección NOVEDADES (mantener Productos Destacados)
   (NAVYX 2026-05-31)
   ============================================================ */

/* La sección Novedades es la única .featured-products con clase .mt-3 */
body#index section.featured-products.mt-3,
body.page-index section.featured-products.mt-3 {
    display: none !important;
}

/* ============================================================
   FOOTER — Copyright bar Navyx + fix mancha negra
   (NAVYX 2026-05-31)
   ============================================================ */

/* Asegurar que el footer cierra limpio sin gaps debajo */
body, html {
    background: var(--q-black) !important;
}
main {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}
#footer,
footer#footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    position: relative !important;
}
/* Eliminar cualquier gap residual entre footer y body */
#footer + *,
footer + * {
    display: none !important;
}

/* Copyright bar al final del footer — sin tocar templates */
#footer::after,
footer#footer::after,
.js-footer::after {
    content: "© 2026 Quempanada.es — Website made with Navyx";
    display: block;
    background: #0A0A0A;
    color: rgba(255, 255, 255, 0.5);
    text-align: center;
    padding: 16px 20px;
    font-size: 12px;
    font-family: var(--font-body, 'Poppins', sans-serif);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

/* ============================================================
   FOOTER — Unificar todos los tonos al mismo color
   (NAVYX 2026-05-31 v12)
   ============================================================ */

/* Todo el footer: mismo q-black uniforme */
#footer,
footer#footer,
.js-footer,
#footer > *,
#footer .container,
#footer .footer-container,
#footer .block_newsletter,
#footer .links,
#footer .block-contact,
footer#footer .container,
footer#footer .footer-container {
    background: var(--q-black) !important;
    background-color: var(--q-black) !important;
}

/* Copyright bar — mismo color, sin borde superior visible */
#footer::after,
footer#footer::after,
.js-footer::after {
    background: var(--q-black) !important;
    background-color: var(--q-black) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
}

/* Eliminar cualquier separator/divider raro */
#footer hr,
#footer .footer-separator,
#footer > .container::after,
#footer > .container::before {
    display: none !important;
}

/* ============================================================
   FOOTER — v13: TODO al mismo gris #242424 (q-black-soft)
   y restaurar texto del copyright visible
   ============================================================ */

/* Override: footer todo al gris medio #242424 (no negro) */
#footer,
footer#footer,
.js-footer,
#footer .container,
#footer .footer-container,
#footer .block_newsletter,
footer#footer .container,
footer#footer .footer-container {
    background: #242424 !important;
    background-color: #242424 !important;
}

/* Copyright bar — MISMO gris, texto BLANCO bien visible, sin borde */
#footer::after,
footer#footer::after,
.js-footer::after {
    content: "© 2026 Quempanada.es — Website made with Navyx" !important;
    display: block !important;
    background: #242424 !important;
    background-color: #242424 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    text-align: center !important;
    padding: 20px 20px !important;
    font-size: 13px !important;
    font-family: var(--font-body, 'Poppins', sans-serif) !important;
    border-top: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.02em !important;
}

/* ============================================================
   FOOTER — v14: forzar TODOS los sub-bloques al mismo gris
   ============================================================ */

/* Cubrir TODOS los wrappers internos del footer */
#footer *,
#footer .links,
#footer .block-contact,
#footer .block-contact.wrapper,
#footer .col-md-6.links,
#footer .block_newsletter,
#footer .container > .row,
#footer .footer-container > .row,
#footer .row {
    background: transparent !important;
    background-color: transparent !important;
}

/* Pero los wrappers principales SÍ con el gris uniforme */
#footer,
#footer > .container,
#footer > .footer-container,
footer#footer,
footer#footer > .container,
footer#footer > .footer-container {
    background: #242424 !important;
    background-color: #242424 !important;
}

/* Inputs del newsletter mantienen su estilo translúcido */
#footer input[type="email"],
#footer input[type="text"]:not([type="hidden"]) {
    background: rgba(255, 255, 255, 0.08) !important;
}
#footer input[type="submit"].btn-primary,
#footer input.btn-primary,
#footer .btn-primary {
    background: var(--q-orange) !important;
}

/* ============================================================
   FOOTER — v15: eliminar overlay rgba(0,0,0,0.35) del .row inferior
   ============================================================ */

/* El .row con overlay negro 35% — selector explícito y alto specificity */
html body #footer .row,
html body #footer .footer-container .row,
html body #footer > .footer-container > .row,
html body footer#footer .row,
html body footer#footer .footer-container .row,
html body #footer div.row,
#footer > .footer-container > div.row[class*="row"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* También limpiar cualquier overlay/shadow heredado */
#footer .col-md-12 {
    background: transparent !important;
}

/* ============================================================
   FOOTER — v16: el .row está anidado en .footer-container > .container > .row
   ============================================================ */

/* TODO ROW dentro de cualquier descendiente del footer */
html body footer#footer .footer-container .row,
html body footer#footer .footer-container .container .row,
html body footer#footer .footer-container > .container > .row,
html body #footer .footer-container .container .row,
html body #footer .footer-container > .container > .row,
html body #footer .footer-container .container,
footer#footer .footer-container > .container,
footer#footer .footer-container > .container > .row {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* Asegurar el .container interno del .footer-container también transparente */
#footer .footer-container > .container {
    background: transparent !important;
    max-width: 1400px !important;
}

/* ============================================================
   FOOTER — v17: OCULTAR copyright nativo PrestaShop
   (Era el rectángulo oscuro que veíamos. Mi ::after lo reemplaza.)
   ============================================================ */

/* El row final con "© 2026 - Software Ecommerce desarrollado por PrestaShop™" */
html body footer#footer .footer-container > .container > .row:last-child,
html body #footer .footer-container > .container > .row:last-child,
#footer .footer-container .container .row:has(.col-md-12),
#footer .col-md-12 {
    display: none !important;
}

/* Por si :has no funciona en browsers viejos, target directo a la última row */
#footer .footer-container > .container {
    padding-bottom: 0 !important;
}

/* ============================================================
   ============================================================
   ESTÉTICA TRADICIONAL ARGENTINA — Override total (NAVYX v18)
   Paleta tierra · Tipografía serif · Calidez de almacén de barrio
   ============================================================
   ============================================================ */

/* === NUEVA PALETA — colores tierra cálidos === */
:root {
    /* Fondos cálidos */
    --q-cream:           #FAF3E2;   /* crema clara papel kraft */
    --q-cream-soft:      #F4EAD0;   /* crema con más cuerpo */
    --q-cream-warm:      #EBDDB8;   /* crema dorada */

    /* Tintes marrón */
    --q-brown:           #4A2F1B;   /* marrón cuero profundo */
    --q-brown-mid:       #6B4423;   /* marrón cuero medio */
    --q-brown-soft:      #8B6841;   /* marrón claro */

    /* Acentos */
    --q-terra:           #B84A22;   /* terracota auténtico (menos saturado) */
    --q-terra-dark:      #8E3416;   /* terracota oscuro */
    --q-terra-light:     #D6764A;   /* terracota cálido claro */
    --q-olive:           #6B7A2B;   /* verde oliva chimichurri */
    --q-wine:            #7B2D26;   /* vino tinto */
    --q-mustard:         #C9924C;   /* mostaza/ocre */
    --q-paprika:         #C8401C;   /* paprika para detalles */

    /* Overrides de variables anteriores */
    --q-orange:          var(--q-terra) !important;
    --q-orange-dark:     var(--q-terra-dark) !important;
    --q-orange-light:    var(--q-terra-light) !important;
    --q-black:           var(--q-brown);
    --q-black-soft:      var(--q-brown-mid);
    --q-white:           var(--q-cream);
    --q-off-white:       var(--q-cream-soft);
    --q-gray:            var(--q-brown-soft);
    --q-gray-light:      var(--q-cream-warm);

    /* Tipografía serif tradicional */
    --font-head: 'Playfair Display', 'Lora', Georgia, serif !important;
    --font-body: 'Lora', 'Georgia', serif !important;
    --font-script: 'Caveat', 'Brush Script MT', cursive;

    /* Radius más cálidos */
    --radius-sm: 6px;
    --radius-md: 14px;
    --radius-lg: 999px;
}

/* === Importar Caveat (handwriting) y asegurar Playfair === */
/* (Ya se importó Playfair, añadimos Caveat) */


/* === BODY/HTML === Fondo crema cálido === */
html, body {
    background: var(--q-cream) !important;
    background-color: var(--q-cream) !important;
    color: var(--q-brown) !important;
}
body {
    font-family: var(--font-body) !important;
}

/* === HEADER TOP BAR === Marrón profundo con calidez === */
#header .header-nav,
#header nav.header-nav {
    background: var(--q-brown) !important;
    border-bottom: 2px solid var(--q-mustard) !important;
}
#header .header-nav .left-nav,
#header .header-nav .right-nav {
    color: rgba(255, 235, 200, 0.8) !important;
}
#header .header-nav a {
    color: rgba(255, 235, 200, 0.85) !important;
}
#header .header-nav a:hover {
    color: var(--q-mustard) !important;
}

/* === HEADER PRINCIPAL === Crema con detalles === */
#header .header-top {
    background: var(--q-cream) !important;
    border-bottom: 4px solid var(--q-terra) !important;
    box-shadow: 0 2px 12px rgba(74, 47, 27, 0.08) !important;
    padding: 18px 0 !important;
}

/* Logo: invertir filter porque ahora estamos sobre fondo claro */
#header .header-top .logo img,
#header .logo img {
    filter: none !important;
    /* Si el logo es blanco, lo oscurecemos a marrón */
    /* opcional: filter: brightness(0) sepia(1) saturate(7) hue-rotate(0deg); */
}

/* Search bar con fondo crema y borde terracota */
#header .search-widget input,
#search_widget input[type="text"],
#search_widget input[name="s"] {
    background: var(--q-cream-soft) !important;
    border: 1px solid var(--q-brown-soft) !important;
    color: var(--q-brown) !important;
    border-radius: 999px !important;
}
#header .search-widget input::placeholder,
#search_widget input::placeholder {
    color: var(--q-brown-soft) !important;
}
#search_widget i.material-icons.search,
#search_widget i.material-icons.clear {
    color: var(--q-terra) !important;
}

/* === CARRITO === Terracota cálido === */
#header .blockcart,
#_desktop_cart .blockcart {
    background: var(--q-terra) !important;
    box-shadow: 0 2px 8px rgba(184, 74, 34, 0.3) !important;
}
#header .blockcart:hover {
    background: var(--q-terra-dark) !important;
}
#header .blockcart a {
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}
.cart-products-count {
    background: var(--q-brown-dark, var(--q-brown)) !important;
    color: var(--q-cream) !important;
}

/* === MENÚ GLOBAL (q-nav-pages) === Sobre fondo crema con borde === */
nav.q-nav-pages {
    background: var(--q-cream-soft) !important;
    border-top: 1px solid var(--q-cream-warm) !important;
    border-bottom: 1px solid var(--q-cream-warm) !important;
    padding: 0 !important;
}
.q-nav-pages-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 24px !important;
    gap: 6px !important;
}
.q-nav-pages a {
    color: var(--q-brown) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    padding: 16px 18px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-bottom: 3px solid transparent !important;
}
.q-nav-pages a i.fa-solid {
    color: var(--q-terra) !important;
    font-size: 15px !important;
}
.q-nav-pages a:hover {
    color: var(--q-terra) !important;
    background: var(--q-cream-warm) !important;
}
.q-nav-pages a.q-nav-active {
    color: var(--q-terra) !important;
    border-bottom-color: var(--q-terra) !important;
}
.q-nav-pages a.q-nav-cta {
    margin-left: auto !important;
    background: var(--q-terra) !important;
    color: var(--q-cream) !important;
    border-radius: 999px !important;
    padding: 12px 22px !important;
    border-bottom: none !important;
}
.q-nav-pages a.q-nav-cta i.fa-solid {
    color: var(--q-cream) !important;
}
.q-nav-pages a.q-nav-cta:hover {
    background: var(--q-terra-dark) !important;
    color: var(--q-cream) !important;
}

/* === HERO === Fondo crema con textura cálida === */
section.q-hero {
    background: linear-gradient(135deg, var(--q-cream) 0%, var(--q-cream-soft) 100%) !important;
    background-image:
        radial-gradient(circle at 10% 20%, rgba(184,74,34,0.06) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(107,122,43,0.05) 0%, transparent 40%),
        linear-gradient(135deg, var(--q-cream) 0%, var(--q-cream-soft) 100%) !important;
    color: var(--q-brown) !important;
    padding: 80px 24px !important;
    position: relative !important;
}
.q-hero-inner {
    max-width: 980px !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.q-hero-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: 2px solid var(--q-terra) !important;
    color: var(--q-terra) !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-bottom: 32px !important;
}
.q-hero-tag i.fa-solid {
    color: var(--q-terra) !important;
}
.q-hero-h1 {
    font-family: var(--font-head) !important;
    font-size: clamp(48px, 7vw, 88px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: var(--q-brown) !important;
    margin: 0 0 24px !important;
    text-transform: none !important;
    letter-spacing: -0.02em !important;
    font-style: italic !important;
}
.q-hero-h1 span {
    color: var(--q-terra) !important;
    font-style: italic !important;
    display: block !important;
}
.q-hero-p {
    font-family: var(--font-body) !important;
    font-size: 18px !important;
    color: var(--q-brown-mid) !important;
    max-width: 580px !important;
    margin: 0 auto 36px !important;
    line-height: 1.7 !important;
}

/* === BOTONES === Pill redondeados cálidos === */
.q-btn-primary,
.q-btn-primary.q-btn-lg,
a.q-btn-primary,
.btn-primary,
.btn.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
    background: var(--q-terra) !important;
    color: var(--q-cream) !important;
    border: 2px solid var(--q-terra) !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 32px !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(184, 74, 34, 0.25) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.q-btn-primary:hover,
.btn-primary:hover {
    background: var(--q-terra-dark) !important;
    border-color: var(--q-terra-dark) !important;
    box-shadow: 0 6px 20px rgba(184, 74, 34, 0.4) !important;
    transform: translateY(-2px) !important;
}

.q-btn-outline,
.q-btn-outline.q-btn-lg,
a.q-btn-outline,
.btn-secondary,
.btn.btn-secondary {
    background: transparent !important;
    color: var(--q-brown) !important;
    border: 2px solid var(--q-brown) !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 32px !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.q-btn-outline:hover,
.btn-secondary:hover {
    background: var(--q-brown) !important;
    color: var(--q-cream) !important;
}

/* === STRIP NARANJA → CINTA MOSTAZA con bordes ornamentados === */
.q-strip {
    background: var(--q-mustard) !important;
    color: var(--q-brown) !important;
    padding: 20px 24px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 40px !important;
    border-top: 3px double var(--q-brown) !important;
    border-bottom: 3px double var(--q-brown) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}
.q-strip-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.q-strip-icon {
    color: var(--q-terra-dark) !important;
}

/* === SECCIONES INTERNAS DEL HOME === */
.q-home-products,
.q-home-explore,
.q-home-features,
section[class*="q-home"] {
    background: var(--q-cream) !important;
    color: var(--q-brown) !important;
    padding: 70px 24px !important;
}
.q-section-title,
h2.q-section-title {
    font-family: var(--font-head) !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    font-weight: 900 !important;
    color: var(--q-brown) !important;
    text-align: center !important;
    margin-bottom: 16px !important;
    text-transform: none !important;
    font-style: italic !important;
    letter-spacing: -0.01em !important;
}
.q-section-title::after,
h2.q-section-title::after {
    content: "" !important;
    display: block !important;
    width: 60px !important;
    height: 3px !important;
    background: var(--q-terra) !important;
    margin: 14px auto 0 !important;
}
.q-section-subtitle {
    text-align: center !important;
    color: var(--q-brown-mid) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    max-width: 600px !important;
    margin: 0 auto 40px !important;
    line-height: 1.7 !important;
}

/* === PRODUCT CARDS === Tarjetas estilo "pizarra de menú" === */
.product-miniature {
    background: var(--q-cream-soft) !important;
    border: 1px solid var(--q-cream-warm) !important;
    border-radius: var(--radius-md) !important;
    transition: all 0.3s ease !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(74, 47, 27, 0.06) !important;
}
.product-miniature:hover {
    border-color: var(--q-terra) !important;
    box-shadow: 0 8px 24px rgba(74, 47, 27, 0.15) !important;
    transform: translateY(-4px) !important;
}
.product-miniature .product-title a,
.product-miniature h3.product-title a {
    color: var(--q-brown) !important;
    font-family: var(--font-head) !important;
    font-weight: 700 !important;
    font-style: italic !important;
    font-size: 17px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.product-miniature .price,
.product-miniature .product-price-and-shipping {
    color: var(--q-terra) !important;
    font-family: var(--font-head) !important;
    font-weight: 900 !important;
    font-size: 18px !important;
}
.product-miniature .product-flag.new,
.product-miniature .product-flag.online-only {
    background: var(--q-brown) !important;
    color: var(--q-cream) !important;
    border-radius: 999px !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 4px 12px !important;
}
.product-miniature .product-flag.discount,
.product-miniature .product-flag.out_of_stock {
    background: var(--q-wine) !important;
    color: var(--q-cream) !important;
    border-radius: 999px !important;
}

/* === CTA BANNER NARANJA → CINTA TERRACOTA con tipografía script === */
.b2b-cta,
section.b2b-cta,
[class*="cta-banner"],
.banner-cta {
    background: var(--q-terra) !important;
    color: var(--q-cream) !important;
    padding: 50px 24px !important;
    border-top: 4px solid var(--q-terra-dark) !important;
    border-bottom: 4px solid var(--q-terra-dark) !important;
}

/* === FOOTER === Marrón profundo cálido con texto crema === */
#footer,
footer#footer,
#footer .container,
#footer .footer-container,
footer#footer .container,
footer#footer .footer-container {
    background: var(--q-brown) !important;
    background-color: var(--q-brown) !important;
    color: var(--q-cream-soft) !important;
}
#footer h3, #footer h4,
#footer .h3, #footer .h4,
#footer [class*="title"] {
    color: var(--q-mustard) !important;
    font-family: var(--font-head) !important;
    font-weight: 700 !important;
    font-style: italic !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid rgba(250, 243, 226, 0.15) !important;
}
#footer a {
    color: var(--q-cream-soft) !important;
    font-family: var(--font-body) !important;
}
#footer a:hover {
    color: var(--q-mustard) !important;
}
#footer p, #footer li, #footer span, #footer div {
    color: var(--q-cream-soft) !important;
}

/* Newsletter dentro del footer */
#footer .block_newsletter input[type="email"],
#footer .block_newsletter input[type="text"] {
    background: var(--q-cream) !important;
    color: var(--q-brown) !important;
    border: 1px solid var(--q-brown-soft) !important;
    border-radius: 999px !important;
    padding: 0 18px !important;
}
#footer .block_newsletter input::placeholder {
    color: var(--q-brown-soft) !important;
}
#footer .btn-primary,
#footer input[type="submit"].btn-primary {
    background: var(--q-mustard) !important;
    color: var(--q-brown) !important;
    border-color: var(--q-mustard) !important;
}
#footer .btn-primary:hover {
    background: var(--q-cream) !important;
}

/* Copyright Navyx en footer */
#footer::after,
footer#footer::after {
    background: var(--q-brown-mid, #6B4423) !important;
    color: var(--q-cream-soft) !important;
    font-family: var(--font-body) !important;
    border-top: 1px solid rgba(250, 243, 226, 0.1) !important;
    letter-spacing: 0.03em !important;
}

/* === PÁGINA DE CATEGORÍA === Fondo crema, tono cálido === */
body.page-category {
    background: var(--q-cream) !important;
}
body.page-category .total-products,
body.page-category .total-products p {
    color: var(--q-brown-mid) !important;
    font-family: var(--font-body) !important;
    font-style: italic !important;
}
body.page-category .products-sort-order .select-title {
    background: var(--q-cream-soft) !important;
    border: 1px solid var(--q-brown-soft) !important;
    border-radius: 999px !important;
    color: var(--q-brown) !important;
    font-family: var(--font-body) !important;
}

/* === BREADCRUMB === Estilo papel kraft === */
.breadcrumb {
    background: var(--q-cream-soft) !important;
    border-bottom: 1px solid var(--q-cream-warm) !important;
    color: var(--q-brown-mid) !important;
    font-family: var(--font-body) !important;
    font-style: italic !important;
}
.breadcrumb a {
    color: var(--q-brown-mid) !important;
}
.breadcrumb li.current span {
    color: var(--q-terra) !important;
    font-weight: 700 !important;
}

/* === PÁGINAS CMS === Tipografía warm, fondo crema === */
.page-cms,
body.page-cms,
.page-content {
    background: var(--q-cream) !important;
    color: var(--q-brown) !important;
}
.page-cms h1, .page-cms h2, .page-cms h3,
body.page-cms h1, body.page-cms h2, body.page-cms h3 {
    font-family: var(--font-head) !important;
    color: var(--q-brown) !important;
    font-style: italic !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-left: 5px solid var(--q-terra) !important;
}
.page-cms p, body.page-cms p {
    font-family: var(--font-body) !important;
    color: var(--q-brown) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* === LOGIN PAGE === */
body.page-authentication,
body.page-login {
    background: var(--q-cream) !important;
}
body.page-authentication h1,
body.page-login h1,
body.page-authentication .h1,
body.page-login .h1 {
    font-family: var(--font-head) !important;
    color: var(--q-brown) !important;
    font-style: italic !important;
    text-transform: none !important;
    border-left: 5px solid var(--q-terra) !important;
}

/* === LINKS DENTRO DEL CONTENIDO === */
main a:not(.btn):not([class*="q-nav"]):not([class*="q-btn"]):not(.dropdown-item):not(.product-thumbnail):not(.cart-detailed-link) {
    color: var(--q-terra) !important;
    text-decoration: none !important;
}
main a:not(.btn):not([class*="q-nav"]):not([class*="q-btn"]):not(.product-thumbnail):not(.cart-detailed-link):hover {
    color: var(--q-terra-dark) !important;
    text-decoration: underline !important;
}

/* === SCROLL & BARRAS GENERALES === */
::selection {
    background: var(--q-terra) !important;
    color: var(--q-cream) !important;
}

/* ============================================================
   v18 fix: Logo invertido para fondo crema
   El logo PNG es blanco, lo convertimos a marrón con filtros CSS
   ============================================================ */

#header .header-top .logo img,
#header .logo img,
#_desktop_logo img,
.header-top a.logo img {
    /* Invertir blanco → negro, luego tintar marrón cálido */
    filter: brightness(0) sepia(1) hue-rotate(335deg) saturate(7) brightness(0.45) !important;
}

/* También asegurar que el header-top no se quede sin contraste */
#header .header-top {
    background: var(--q-cream-soft) !important;
}

/* ============================================================
   ============================================================
   BRANDING CANAL FRANQUICIA — EMPANADA CLUB
   Activo solo cuando body.canal-group-49 (Franquicia logueado)
   Replica estética de empanadaclub.es
   ============================================================
   ============================================================ */

/* Importar Oswald + Plus Jakarta Sans para Empanada Club */


/* === OVERRIDE de variables para canal Franquicia === */
body.canal-group-49 {
    --q-cream:           #0a0a0a !important;   /* Fondo dark */
    --q-cream-soft:      #1a1a1a !important;   /* Cards/secciones */
    --q-cream-warm:      #2a2a2a !important;   /* Borders */
    --q-brown:           #ffffff !important;   /* Texto principal blanco */
    --q-brown-mid:       #ccbb8e !important;   /* Texto secundario dorado */
    --q-brown-soft:      #888 !important;
    --q-terra:           #ccbb8e !important;   /* Acento dorado */
    --q-terra-dark:      #a8966c !important;
    --q-terra-light:     #e0d4ab !important;
    --q-mustard:         #c40947 !important;   /* Magenta wine */
    --q-paprika:         #c40947 !important;
    --q-olive:           #ccbb8e !important;
    --q-wine:            #c40947 !important;
    --font-head: 'Oswald', 'Arial Narrow', sans-serif !important;
    --font-body: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
}

/* === BODY HTML === */
body.canal-group-49,
body.canal-group-49 html {
    background: #0a0a0a !important;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* === HEADER TOP BAR === Dark + dorado === */
body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav {
    background: #000000 !important;
    border-bottom: 1px solid #ccbb8e !important;
    color: #ccbb8e !important;
}
body.canal-group-49 #header .header-nav a,
body.canal-group-49 #header .header-nav .left-nav,
body.canal-group-49 #header .header-nav .right-nav {
    color: rgba(204, 187, 142, 0.85) !important;
}
body.canal-group-49 #header .header-nav a:hover {
    color: #ccbb8e !important;
}

/* === HEADER PRINCIPAL === */
body.canal-group-49 #header .header-top {
    background: #0a0a0a !important;
    border-bottom: 2px solid #ccbb8e !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.8) !important;
}

/* Logo: ahora estamos sobre dark, mantener blanco/dorado */
body.canal-group-49 #header .header-top .logo img,
body.canal-group-49 #header .logo img {
    filter: brightness(0) saturate(100%) invert(78%) sepia(20%) saturate(380%) hue-rotate(13deg) brightness(94%) contrast(88%) !important;
    /* Tinta el logo a dorado #ccbb8e */
}

/* Search bar dark */
body.canal-group-49 #search_widget input,
body.canal-group-49 #header .search-widget input {
    background: rgba(204, 187, 142, 0.08) !important;
    border: 1px solid rgba(204, 187, 142, 0.3) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
}
body.canal-group-49 #search_widget input::placeholder {
    color: rgba(204, 187, 142, 0.5) !important;
}
body.canal-group-49 #search_widget i.material-icons.search,
body.canal-group-49 #search_widget i.material-icons.clear {
    color: #ccbb8e !important;
}

/* === CARRITO === Magenta wine en lugar de terracota === */
body.canal-group-49 #header .blockcart,
body.canal-group-49 #_desktop_cart .blockcart {
    background: #c40947 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 12px rgba(196, 9, 71, 0.4) !important;
}
body.canal-group-49 #header .blockcart:hover {
    background: #a3073b !important;
}
body.canal-group-49 #header .blockcart a {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
}

/* === MENU GLOBAL === Dark con acento dorado === */
body.canal-group-49 nav.q-nav-pages {
    background: #0a0a0a !important;
    border-top: 1px solid #2a2a2a !important;
    border-bottom: 1px solid #2a2a2a !important;
}
body.canal-group-49 .q-nav-pages a {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
}
body.canal-group-49 .q-nav-pages a i.fa-solid {
    color: #ccbb8e !important;
}
body.canal-group-49 .q-nav-pages a:hover {
    color: #ccbb8e !important;
    background: #1a1a1a !important;
}
body.canal-group-49 .q-nav-pages a.q-nav-active {
    color: #ccbb8e !important;
    border-bottom-color: #ccbb8e !important;
}
body.canal-group-49 .q-nav-pages a.q-nav-cta {
    background: #c40947 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 10px 22px !important;
}
body.canal-group-49 .q-nav-pages a.q-nav-cta:hover {
    background: #a3073b !important;
}

/* === HERO === Fondo dark cinematográfico === */
body.canal-group-49 section.q-hero {
    background:
        linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%) !important;
    background-image:
        radial-gradient(circle at 50% 0%, rgba(204, 187, 142, 0.08) 0%, transparent 60%),
        linear-gradient(180deg, #0a0a0a 0%, #1a1a1a 100%) !important;
    color: #ffffff !important;
    border-bottom: 1px solid #2a2a2a !important;
}
body.canal-group-49 .q-hero-tag {
    background: transparent !important;
    border: 1px solid #ccbb8e !important;
    color: #ccbb8e !important;
    border-radius: 0 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
}
body.canal-group-49 .q-hero-tag i.fa-solid {
    color: #ccbb8e !important;
}
body.canal-group-49 .q-hero-h1 {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}
body.canal-group-49 .q-hero-h1 span {
    color: #ccbb8e !important;
    font-style: normal !important;
}
body.canal-group-49 .q-hero-p {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* === BOTONES === Rectos, premium === */
body.canal-group-49 .q-btn-primary,
body.canal-group-49 a.q-btn-primary,
body.canal-group-49 .btn-primary {
    background: #c40947 !important;
    color: #ffffff !important;
    border: 1px solid #c40947 !important;
    border-radius: 4px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    box-shadow: 0 4px 14px rgba(196, 9, 71, 0.3) !important;
}
body.canal-group-49 .q-btn-primary:hover {
    background: #a3073b !important;
    border-color: #a3073b !important;
}
body.canal-group-49 .q-btn-outline,
body.canal-group-49 a.q-btn-outline,
body.canal-group-49 .btn-secondary {
    background: transparent !important;
    color: #ccbb8e !important;
    border: 1px solid #ccbb8e !important;
    border-radius: 4px !important;
    font-family: 'Oswald', sans-serif !important;
}
body.canal-group-49 .q-btn-outline:hover {
    background: #ccbb8e !important;
    color: #0a0a0a !important;
}

/* === STRIP FEATURES === Dark con dorado === */
body.canal-group-49 .q-strip {
    background: #1a1a1a !important;
    color: #ccbb8e !important;
    border-top: 1px solid #ccbb8e !important;
    border-bottom: 1px solid #ccbb8e !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
}
body.canal-group-49 .q-strip-icon {
    color: #ccbb8e !important;
}

/* === SECCIONES INTERNAS === */
body.canal-group-49 .q-home-products,
body.canal-group-49 .q-home-explore,
body.canal-group-49 .q-home-features,
body.canal-group-49 section[class*="q-home"] {
    background: #0a0a0a !important;
    color: #ffffff !important;
}
body.canal-group-49 .q-section-title,
body.canal-group-49 h2.q-section-title {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
body.canal-group-49 .q-section-title::after {
    background: #ccbb8e !important;
}
body.canal-group-49 .q-section-subtitle {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* === PRODUCT CARDS === Dark elegantes === */
body.canal-group-49 .product-miniature {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
body.canal-group-49 .product-miniature:hover {
    border-color: #ccbb8e !important;
    box-shadow: 0 8px 24px rgba(204, 187, 142, 0.15) !important;
}
body.canal-group-49 .product-miniature .product-title a {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
body.canal-group-49 .product-miniature .price,
body.canal-group-49 .product-miniature .product-price-and-shipping {
    color: #ccbb8e !important;
}
body.canal-group-49 .product-miniature .product-flag.new {
    background: #ccbb8e !important;
    color: #0a0a0a !important;
}
body.canal-group-49 .product-miniature .product-flag.discount,
body.canal-group-49 .product-miniature .product-flag.out_of_stock {
    background: #c40947 !important;
    color: #ffffff !important;
}

/* === CATEGORY PAGE === */
body.canal-group-49.page-category {
    background: #0a0a0a !important;
    color: #ffffff !important;
}
body.canal-group-49 .total-products,
body.canal-group-49 .total-products p {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
}
body.canal-group-49 .products-sort-order .select-title {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.canal-group-49 #js-product-list-header,
body.canal-group-49 .products-selection {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 4px !important;
    padding: 16px 24px !important;
}

/* === BREADCRUMB === */
body.canal-group-49 .breadcrumb {
    background: #1a1a1a !important;
    border-bottom: 1px solid #2a2a2a !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
}
body.canal-group-49 .breadcrumb a {
    color: rgba(255, 255, 255, 0.6) !important;
}
body.canal-group-49 .breadcrumb li.current span {
    color: #ccbb8e !important;
    font-weight: 600 !important;
}

/* === FOOTER === Negro absoluto con dorado === */
body.canal-group-49 #footer,
body.canal-group-49 footer#footer,
body.canal-group-49 #footer .container,
body.canal-group-49 #footer .footer-container {
    background: #000000 !important;
    color: rgba(255, 255, 255, 0.7) !important;
}
body.canal-group-49 #footer h3,
body.canal-group-49 #footer h4,
body.canal-group-49 #footer [class*="title"] {
    color: #ccbb8e !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}
body.canal-group-49 #footer a {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.canal-group-49 #footer a:hover {
    color: #ccbb8e !important;
}
body.canal-group-49 #footer p,
body.canal-group-49 #footer li,
body.canal-group-49 #footer span {
    color: rgba(255, 255, 255, 0.7) !important;
}
body.canal-group-49 #footer .btn-primary {
    background: #c40947 !important;
    color: #ffffff !important;
    border-color: #c40947 !important;
}
body.canal-group-49 #footer::after,
body.canal-group-49 footer#footer::after {
    background: #000000 !important;
    color: rgba(204, 187, 142, 0.6) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    border-top: 1px solid rgba(204, 187, 142, 0.1) !important;
}

/* === CTA BANNER === */
body.canal-group-49 .b2b-cta,
body.canal-group-49 section.b2b-cta,
body.canal-group-49 [class*="cta-banner"] {
    background: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
}

/* === LOGIN PAGE / CMS === */
body.canal-group-49.page-authentication,
body.canal-group-49.page-login,
body.canal-group-49.page-cms {
    background: #0a0a0a !important;
    color: #ffffff !important;
}
body.canal-group-49.page-cms h1,
body.canal-group-49.page-cms h2,
body.canal-group-49.page-login h1 {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    border-left-color: #ccbb8e !important;
}
body.canal-group-49.page-cms p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* === SELECTION === */
body.canal-group-49 ::selection {
    background: #ccbb8e !important;
    color: #0a0a0a !important;
}

/* ============================================================
   FRANQUICIA (canal-group-49) — Vista simplificada
   Solo top bar visible (contact + idioma + login + usuario)
   ============================================================ */

/* Ocultar el header-top completo (logo + search) */
body.canal-group-49 #header .header-top,
body.canal-group-49 #header > .header-top,
body.canal-group-49 .header-top {
    display: none !important;
}

/* Ocultar el menú de navegación global (INICIO, LA EMPRESA, etc.) */
body.canal-group-49 nav.q-nav-pages,
body.canal-group-49 .q-nav-pages {
    display: none !important;
}

/* Reforzar el header-nav (top bar) para que destaque como único elemento del header */
body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav {
    background: #000000 !important;
    border-bottom: 2px solid #ccbb8e !important;
    padding: 6px 0 !important;
    min-height: 56px !important;
}
body.canal-group-49 #header .header-nav > .container {
    padding: 8px 32px !important;
    min-height: 56px !important;
}

/* Espaciado tras el header-nav: el contenido empieza directo */
body.canal-group-49 #wrapper {
    padding-top: 24px !important;
}

/* ============================================================
   FRANQUICIA — Mini header Empanada Club personalizado
   Solo visible para canal-group-49 (Franquiciados)
   ============================================================ */

.ec-mini-header {
    background: #0a0a0a !important;
    border-bottom: 1px solid #ccbb8e !important;
    padding: 18px 0 !important;
    position: relative !important;
}
.ec-mini-header::before,
.ec-mini-header::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, rgba(204, 187, 142, 0.3) 50%, transparent 100%) !important;
}
.ec-mini-header::before {
    top: 0 !important;
}
.ec-mini-header::after {
    bottom: -2px !important;
}
.ec-mini-header-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 32px !important;
    padding: 0 32px !important;
}
.ec-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: opacity 0.25s ease !important;
}
.ec-logo-link:hover {
    opacity: 0.85 !important;
}
.ec-logo {
    height: 72px !important;
    width: auto !important;
    display: block !important;
}
.ec-tagline {
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid rgba(204, 187, 142, 0.3) !important;
    padding-left: 32px !important;
    line-height: 1.3 !important;
}
.ec-tagline-line1 {
    color: #ccbb8e !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    font-size: 22px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}
.ec-tagline-line2 {
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-top: 4px !important;
}

/* Responsive: en mobile más compacto */
@media (max-width: 767px) {
    .ec-mini-header {
        padding: 14px 0 !important;
    }
    .ec-mini-header-inner {
        gap: 16px !important;
        padding: 0 16px !important;
        flex-direction: column !important;
    }
    .ec-logo {
        height: 56px !important;
    }
    .ec-tagline {
        border-left: none !important;
        border-top: 1px solid rgba(204, 187, 142, 0.3) !important;
        padding-left: 0 !important;
        padding-top: 12px !important;
        text-align: center !important;
        align-items: center !important;
    }
    .ec-tagline-line1 {
        font-size: 16px !important;
    }
    .ec-tagline-line2 {
        font-size: 11px !important;
    }
}

/* Asegurar que NO se ve para otros canales (defensivo) */
body:not(.canal-group-49) .ec-mini-header {
    display: none !important;
}

/* ============================================================
   FRANQUICIA — Eliminar espacio sobrante antes del footer
   Ocultar newsletter + b2b-cta (no aplican a franquiciado logueado)
   ============================================================ */

/* Ocultar la zona de newsletter "Infórmese de nuestras últimas noticias" */
body.canal-group-49 #footer > .container,
body.canal-group-49 #footer .container.block_newsletter,
body.canal-group-49 #footer .block_newsletter,
body.canal-group-49 #footer > div.container:first-of-type {
    display: none !important;
}

/* Ocultar CTA banner "¿Eres hostelero?" si aparece */
body.canal-group-49 .b2b-cta,
body.canal-group-49 section.b2b-cta,
body.canal-group-49 [class*="cta-banner"],
body.canal-group-49 .home-cta-banner {
    display: none !important;
}

/* Eliminar padding/margin extra en wrapper antes del footer */
body.canal-group-49 #wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body.canal-group-49 #content-wrapper,
body.canal-group-49 .js-content-wrapper {
    padding-bottom: 32px !important;
}

/* Footer empieza directamente con las columnas */
body.canal-group-49 #footer .footer-container {
    padding-top: 50px !important;
}

/* ============================================================
   FRANQUICIA — quitar borders terracota del footer
   ============================================================ */

body.canal-group-49 #footer,
body.canal-group-49 footer#footer,
body.canal-group-49 #footer .footer-container,
body.canal-group-49 footer#footer .footer-container {
    border-top: none !important;
    border-bottom: none !important;
}

/* Si quieres una línea sutil dorada como separador, descomenta: */
/*
body.canal-group-49 #footer {
    border-top: 1px solid rgba(204, 187, 142, 0.2) !important;
}
*/

/* ============================================================
   FRANQUICIA — KILL gap: padding/margin/border del footer
   ============================================================ */

html body.canal-group-49 #footer,
html body.canal-group-49 footer#footer {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
    border: none !important;
}
html body.canal-group-49 #footer .footer-container,
html body.canal-group-49 footer#footer .footer-container {
    padding-top: 40px !important;
    margin-top: 0 !important;
    border-top: none !important;
    border: none !important;
}
/* Wrapper sin padding bottom */
html body.canal-group-49 #wrapper,
html body.canal-group-49 section#wrapper,
html body.canal-group-49 #content-wrapper,
html body.canal-group-49 .js-content-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ============================================================
   FRANQUICIA v41 — Specificity batalla: vencer body:not(#index) #footer
   ============================================================ */

body:not(#index).canal-group-49 #footer,
body:not(#index).canal-group-49 footer#footer,
body:not(#index).canal-group-49 #footer .footer-container,
body:not(#index).canal-group-49 footer#footer .footer-container {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
    border: none !important;
}

/* Footer-container con un poco de padding-top para separar columnas */
body:not(#index).canal-group-49 #footer .footer-container,
body:not(#index).canal-group-49 footer#footer .footer-container {
    padding-top: 40px !important;
}

/* También para body#index si fuera el caso (home) */
body#index.canal-group-49 #footer {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
}

/* ============================================================
   FRANQUICIA v42 — Quitar fondo blanco del <ul> de paginación
   ============================================================ */

body:not(#index).canal-group-49 ul.page-list,
body:not(#index).canal-group-49 .pagination ul.page-list,
body:not(#index).canal-group-49 .pagination ul,
body:not(#index).canal-group-49 .page-list.clearfix {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    border: none !important;
    box-shadow: none !important;
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
}

/* Items individuales de paginación con estilo Empanada Club */
body:not(#index).canal-group-49 .page-list li,
body:not(#index).canal-group-49 ul.page-list li {
    background: transparent !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body:not(#index).canal-group-49 .page-list li a,
body:not(#index).canal-group-49 .page-list li .page-link,
body:not(#index).canal-group-49 ul.page-list li > a {
    background: #1a1a1a !important;
    color: #ccbb8e !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 4px !important;
    padding: 8px 14px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-width: 36px !important;
    justify-content: center !important;
}
body:not(#index).canal-group-49 .page-list li a:hover {
    background: #2a2a2a !important;
    border-color: #ccbb8e !important;
    color: #ccbb8e !important;
}
body:not(#index).canal-group-49 .page-list li.current a,
body:not(#index).canal-group-49 .page-list li.current .page-link {
    background: #c40947 !important;
    color: #ffffff !important;
    border-color: #c40947 !important;
}

/* Eliminar fondo del wrapper col-md-6 */
body:not(#index).canal-group-49 .pagination .col-md-6,
body:not(#index).canal-group-49 .pagination .col-md-4 {
    background: transparent !important;
}

/* ============================================================
   FRANQUICIA — Ocultar footer completo
   No tiene sentido para usuarios B2B logueados en zona exclusiva
   ============================================================ */

body.canal-group-49 #footer,
body.canal-group-49 footer#footer,
body.canal-group-49 .js-footer,
html body:not(#index).canal-group-49 #footer,
html body:not(#index).canal-group-49 footer#footer {
    display: none !important;
}

/* También ocultar el ::after (copyright) que está pegado al footer */
body.canal-group-49 #footer::after,
body.canal-group-49 footer#footer::after,
body:not(#index).canal-group-49 #footer::after {
    display: none !important;
    content: none !important;
}

/* ============================================================
   FRANQUICIA v44 — Limpiar línea y rectángulo gris bajo mini-header
   ============================================================ */

/* Quitar border-bottom del mini-header (la línea "naranja") */
body.canal-group-49 .ec-mini-header,
body:not(#index).canal-group-49 .ec-mini-header {
    border-bottom: none !important;
}
body.canal-group-49 .ec-mini-header::before,
body.canal-group-49 .ec-mini-header::after,
body:not(#index).canal-group-49 .ec-mini-header::before,
body:not(#index).canal-group-49 .ec-mini-header::after {
    display: none !important;
    content: none !important;
}

/* Ocultar el #js-product-list-header (rectángulo gris con "Inicio") */
body.canal-group-49 #js-product-list-header,
body:not(#index).canal-group-49 #js-product-list-header,
html body:not(#index).canal-group-49 #js-product-list-header {
    display: none !important;
}

/* Asegurar que la barra "Hay 77 productos / Ordenar por" no tenga borders ni bg distinto */
body:not(#index).canal-group-49 #js-product-list-top,
body:not(#index).canal-group-49 .products-selection {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-top: 24px !important;
}

/* ============================================================
   FRANQUICIA v45 — Quitar borde naranja/dorado del top bar
   ============================================================ */

body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav,
html body.canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header .header-nav {
    border-bottom: none !important;
    border: none !important;
}

/* Por si hay alguna línea residual de otros elementos del header */
body.canal-group-49 #header {
    border: none !important;
    box-shadow: none !important;
}

/* ============================================================
   FRANQUICIA v46 — Restaurar líneas doradas (revertir v45)
   El user quiere las líneas separadoras dorado champagne
   ============================================================ */

/* Top bar con border-bottom dorado */
body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav,
html body.canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header .header-nav {
    border-bottom: 1px solid #ccbb8e !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* Mini-header con border-bottom dorado */
body.canal-group-49 .ec-mini-header,
body:not(#index).canal-group-49 .ec-mini-header {
    border-bottom: 1px solid #ccbb8e !important;
    border-top: none !important;
}

/* Líneas decorativas con gradient dorado */
body.canal-group-49 .ec-mini-header::before,
body:not(#index).canal-group-49 .ec-mini-header::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, rgba(204, 187, 142, 0.3) 50%, transparent 100%) !important;
    display: block !important;
}
body.canal-group-49 .ec-mini-header::after,
body:not(#index).canal-group-49 .ec-mini-header::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -2px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, rgba(204, 187, 142, 0.3) 50%, transparent 100%) !important;
    display: block !important;
}

/* ============================================================
   FRANQUICIA v48 — Quitar línea dorada bajo top bar
   Mantener la del mini-header como separador
   ============================================================ */

body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav,
html body.canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header nav.header-nav {
    border-bottom: none !important;
    border: none !important;
}

/* ============================================================
   FRANQUICIA v49 — Quitar SOLO el ::before del mini-header
   (la línea decorativa superior gradient dorado)
   Mantener el ::after y el border-bottom como separadores inferiores
   ============================================================ */

body.canal-group-49 .ec-mini-header::before,
body:not(#index).canal-group-49 .ec-mini-header::before,
html body.canal-group-49 .ec-mini-header::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* ============================================================
   FRANQUICIA v50 — Ocultar #header::after (gradient naranja terracota)
   Era la línea naranja persistente bajo el top bar
   ============================================================ */

body.canal-group-49 #header::after,
body:not(#index).canal-group-49 #header::after,
html body.canal-group-49 #header::after {
    display: none !important;
    content: none !important;
    background: none !important;
    height: 0 !important;
}

/* ============================================================
   FRANQUICIA v51 — Unificar color top bar al gris del body
   El top bar estaba en #000 puro, el resto en #0a0a0a → unificar
   ============================================================ */

body.canal-group-49 #header .header-nav,
body.canal-group-49 #header nav.header-nav,
html body.canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header .header-nav,
body:not(#index).canal-group-49 #header nav.header-nav {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
}

/* ============================================================
   FRANQUICIA v52 — Ocultar "Contacte con nosotros" + logo sin link
   ============================================================ */

/* Ocultar Contacte con nosotros del top bar */
body.canal-group-49 #contact-link,
body.canal-group-49 #header #contact-link,
body:not(#index).canal-group-49 #contact-link,
html body.canal-group-49 a#contact-link {
    display: none !important;
}

/* Si hay un parent que contiene solo este link, ocultar el contenedor también */
body.canal-group-49 #header .header-nav .left-nav:has(#contact-link:only-child),
body.canal-group-49 #header .header-nav .col-md-5:has(#contact-link:only-child) {
    display: none !important;
}

/* Logo del mini-header: quitar cursor pointer y subrayado al hover (visualmente no clicable) */
body.canal-group-49 .ec-logo-link {
    cursor: default !important;
    pointer-events: none !important;
}
body.canal-group-49 .ec-logo-link:hover {
    opacity: 1 !important;
}

/* ============================================================
   ============================================================
   FRANQUICIA — Página de PRODUCTO con fondo claro
   Header sigue dark + dorado, pero el contenido es cream legible
   (NAVYX 2026-05-31 v53)
   ============================================================
   ============================================================ */

/* === BODY: fondo cream/beige claro === */
html body.canal-group-49.page-product,
body.canal-group-49.page-product {
    background: #f7f1e3 !important;
    background-color: #f7f1e3 !important;
    color: #2a1f18 !important;
}

/* === HEADER y MINI-HEADER: mantener dark === */
body.canal-group-49.page-product #header,
body.canal-group-49.page-product #header .header-nav,
body.canal-group-49.page-product .ec-mini-header {
    background: #0a0a0a !important;
    color: #ffffff !important;
}

/* === WRAPPER del contenido === */
body.canal-group-49.page-product #wrapper,
body.canal-group-49.page-product #content-wrapper,
body.canal-group-49.page-product main {
    background: #f7f1e3 !important;
    color: #2a1f18 !important;
}

/* === BREADCRUMB === */
html body.canal-group-49.page-product .breadcrumb,
body.canal-group-49.page-product nav.breadcrumb {
    background: #ede2c4 !important;
    border-bottom: 1px solid #d4c69d !important;
    padding: 12px 24px !important;
    color: #5a4226 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    margin-bottom: 24px !important;
}
body.canal-group-49.page-product .breadcrumb a {
    color: #8b6841 !important;
    font-weight: 500 !important;
}
body.canal-group-49.page-product .breadcrumb a:hover {
    color: #c40947 !important;
}
body.canal-group-49.page-product .breadcrumb li.current span,
body.canal-group-49.page-product .breadcrumb-item.current {
    color: #2a1f18 !important;
    font-weight: 700 !important;
}

/* === TÍTULO PRODUCTO H1 === */
body.canal-group-49.page-product h1.h1,
body.canal-group-49.page-product h1,
body.canal-group-49.page-product .product-information h1 {
    color: #1a1a1a !important;
    background: transparent !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    font-size: clamp(22px, 3.5vw, 32px) !important;
    border-left: 4px solid #c40947 !important;
    padding-left: 16px !important;
    margin-bottom: 24px !important;
    line-height: 1.2 !important;
}

/* === SECCIÓN INFORMACIÓN DEL PRODUCTO === */
body.canal-group-49.page-product .product-information,
body.canal-group-49.page-product .product-prices {
    background: transparent !important;
    color: #2a1f18 !important;
}
body.canal-group-49.page-product .product-information p,
body.canal-group-49.page-product .product-information span,
body.canal-group-49.page-product .product-information div {
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* === SOCIAL SHARING (facebook/twitter/pinterest) === */
body.canal-group-49.page-product .social-sharing {
    background: transparent !important;
    margin-bottom: 24px !important;
}
body.canal-group-49.page-product .social-sharing span {
    color: #5a4226 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
}
body.canal-group-49.page-product .social-sharing a,
body.canal-group-49.page-product .social-sharing li {
    background: #2a1f18 !important;
    color: #f7f1e3 !important;
    border-radius: 50% !important;
}
body.canal-group-49.page-product .social-sharing a:hover {
    background: #c40947 !important;
}

/* === BOTÓN "ESCRIBA SU PROPIA RESEÑA" === */
body.canal-group-49.page-product .write-product-review,
body.canal-group-49.page-product .btn-comment,
body.canal-group-49.page-product [class*="write-product"],
body.canal-group-49.page-product [class*="comment-button"] {
    background: #2a1f18 !important;
    color: #f7f1e3 !important;
    border: 1px solid #2a1f18 !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body.canal-group-49.page-product .write-product-review:hover,
body.canal-group-49.page-product .btn-comment:hover {
    background: #c40947 !important;
    border-color: #c40947 !important;
}

/* === BLOCK REASSURANCE (Security/Delivery/Return policy) === */
html body.canal-group-49.page-product .blockreassurance,
body.canal-group-49.page-product .blockreassurance_product,
body.canal-group-49.page-product .block-reassurance {
    background: #ffffff !important;
    color: #2a1f18 !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
}
body.canal-group-49.page-product .blockreassurance_product div,
body.canal-group-49.page-product .blockreassurance_product p,
body.canal-group-49.page-product .blockreassurance_product span,
body.canal-group-49.page-product .blockreassurance_product li,
body.canal-group-49.page-product .blockreassurance_product h3,
body.canal-group-49.page-product .blockreassurance_product strong {
    color: #2a1f18 !important;
    background: transparent !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.canal-group-49.page-product .blockreassurance_product img,
body.canal-group-49.page-product .blockreassurance_product svg {
    filter: none !important;
    opacity: 1 !important;
}

/* === DETALLES DEL PRODUCTO (card) === */
body.canal-group-49.page-product .product-tabs,
body.canal-group-49.page-product .tabs {
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    padding: 24px !important;
    margin: 24px 0 !important;
}
body.canal-group-49.page-product .nav-tabs {
    border-bottom: 2px solid #ede2c4 !important;
    margin-bottom: 20px !important;
    display: flex !important;
    gap: 16px !important;
}
body.canal-group-49.page-product .nav-tabs .nav-item,
body.canal-group-49.page-product .nav-tabs li {
    background: transparent !important;
}
body.canal-group-49.page-product .nav-tabs .nav-link,
body.canal-group-49.page-product .nav-tabs a {
    color: #5a4226 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 8px 0 !important;
    border-bottom: 3px solid transparent !important;
    background: transparent !important;
    text-decoration: none !important;
}
body.canal-group-49.page-product .nav-tabs .nav-link.active,
body.canal-group-49.page-product .nav-tabs a.active {
    color: #c40947 !important;
    border-bottom-color: #c40947 !important;
    background: transparent !important;
}

/* === Tabla de Referencia / Estado === */
body.canal-group-49.page-product .product-features,
body.canal-group-49.page-product .product-reference,
body.canal-group-49.page-product .data-sheet,
body.canal-group-49.page-product table.table {
    background: transparent !important;
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}
body.canal-group-49.page-product .product-features dt,
body.canal-group-49.page-product .product-features dd,
body.canal-group-49.page-product .data-sheet dt,
body.canal-group-49.page-product .data-sheet dd,
body.canal-group-49.page-product table td,
body.canal-group-49.page-product table th {
    color: #2a1f18 !important;
    background: transparent !important;
    border-color: #ede2c4 !important;
    padding: 10px !important;
}
body.canal-group-49.page-product .data-sheet dt,
body.canal-group-49.page-product .label,
body.canal-group-49.page-product table th {
    color: #8b6841 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
}

/* === COMENTARIOS / RESEÑAS === */
body.canal-group-49.page-product .comments-block,
body.canal-group-49.page-product .product-comments,
body.canal-group-49.page-product [class*="comment"] {
    background: transparent !important;
    color: #2a1f18 !important;
}
body.canal-group-49.page-product .comments-nb,
body.canal-group-49.page-product .product-comments h3 {
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    text-transform: uppercase !important;
}

/* === "Sea el primero en escribir una reseña" CTA === */
body.canal-group-49.page-product .product-comment-list-item,
body.canal-group-49.page-product .empty-product-comment {
    background: #ffffff !important;
    color: #2a1f18 !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    padding: 24px !important;
    text-align: center !important;
}

/* === IMAGEN DEL PRODUCTO === */
body.canal-group-49.page-product .product-cover,
body.canal-group-49.page-product .images-container {
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
}
body.canal-group-49.page-product .product-images img.js-thumb {
    border: 2px solid #d4c69d !important;
    border-radius: 4px !important;
}
body.canal-group-49.page-product .product-images img.js-thumb.selected,
body.canal-group-49.page-product .product-images .selected img {
    border-color: #c40947 !important;
}

/* === Flag NUEVO en imagen === */
body.canal-group-49.page-product .product-flag.new,
body.canal-group-49.page-product .product-flag {
    background: #c40947 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 6px 14px !important;
}

/* === Tab "REFERENCIA" / "ESTADO" labels grandes === */
body.canal-group-49.page-product .product-tabs .label,
body.canal-group-49.page-product .product-tabs strong.label,
body.canal-group-49.page-product .product-features-label {
    color: #8b6841 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 700 !important;
    display: block !important;
    margin-bottom: 4px !important;
}

/* === Asegurar contraste en TODOS los textos dentro de wrapper === */
body.canal-group-49.page-product #wrapper p,
body.canal-group-49.page-product #wrapper span:not([class*="product-flag"]):not([class*="badge"]),
body.canal-group-49.page-product #wrapper li,
body.canal-group-49.page-product #wrapper td,
body.canal-group-49.page-product #wrapper dt,
body.canal-group-49.page-product #wrapper dd {
    color: #2a1f18 !important;
}
body.canal-group-49.page-product #wrapper a:not(.btn):not([class*="ec-"]):not(.product-flag) {
    color: #c40947 !important;
}

/* ============================================================
   FRANQUICIA v54 — Ocultar sección de comentarios/reseñas
   ============================================================ */

body.canal-group-49.page-product #product-comments-list,
body.canal-group-49.page-product #product-comments-list-header,
body.canal-group-49.page-product .product-comments,
body.canal-group-49.page-product .comments-nb,
body.canal-group-49.page-product .comments-block,
body.canal-group-49.page-product .empty-product-comment,
body.canal-group-49.page-product .product-comment-list-item,
body.canal-group-49.page-product .btn-comment,
body.canal-group-49.page-product .write-product-review,
body.canal-group-49.page-product [class*="product-comment"],
body.canal-group-49.page-product [id*="product-comment"] {
    display: none !important;
}

/* ============================================================
   FRANQUICIA v55 — Ocultar breadcrumb + social sharing en producto
   ============================================================ */

/* Ocultar breadcrumb en página producto (Franquicia ya sabe dónde está) */
body.canal-group-49.page-product .breadcrumb,
body.canal-group-49.page-product nav.breadcrumb,
body.canal-group-49.page-category .breadcrumb,
body.canal-group-49.page-category nav.breadcrumb {
    display: none !important;
}

/* Ocultar social sharing completo (es B2B, no aporta) */
body.canal-group-49.page-product .social-sharing,
body.canal-group-49.page-product .product-share,
body.canal-group-49.page-product [class*="social-share"],
body.canal-group-49.page-product [class*="share-button"] {
    display: none !important;
}

/* ============================================================
   ============================================================
   FIXES MASIVOS Walkthrough Horeca (NAVYX v56)
   ============================================================
   ============================================================ */

/* === FIX 1: Logo Horeca/visitante (filtro CSS) === */
/* El filtro anterior dejaba el logo borroso. Mejor approach: cambiar filtro
   para invertir y tintar correctamente a marrón cuero. */
body:not(.canal-group-49) #header .header-top .logo img,
body:not(.canal-group-49) #header .logo img,
body:not(.canal-group-49) #_desktop_logo img {
    filter: brightness(0) saturate(100%) invert(15%) sepia(20%) saturate(2500%) hue-rotate(0deg) brightness(0.95) contrast(1.1) !important;
    /* Esto da un marrón cuero limpio sin borroso */
    image-rendering: -webkit-optimize-contrast !important;
}

/* === FIX 2: Carrito Horeca (tradicional, no canal-49) === */
body:not(.canal-group-49) #header .blockcart,
body:not(.canal-group-49) #_desktop_cart .blockcart {
    background: var(--q-terra, #B84A22) !important;
    border-radius: 999px !important;
    padding: 0 !important;
    min-width: 130px !important;
    height: 38px !important;
}
body:not(.canal-group-49) #header .blockcart a,
body:not(.canal-group-49) #_desktop_cart .blockcart a {
    height: 38px !important;
    padding: 0 18px !important;
    font-family: 'Lora', serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--q-cream, #FAF3E2) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body:not(.canal-group-49) .cart-products-count {
    background: var(--q-brown, #4A2F1B) !important;
    color: var(--q-cream, #FAF3E2) !important;
    font-size: 11px !important;
    min-width: 22px !important;
    height: 22px !important;
}

/* === FIX 3: Línea naranja header::after (eliminar para canal-50 y visitante) === */
/* Ya eliminada para canal-49; ahora hacerlo más sutil/dorado para tradicional */
body:not(.canal-group-49) #header::after {
    background: linear-gradient(90deg, transparent 0%, var(--q-terra, #B84A22) 30%, var(--q-terra, #B84A22) 70%, transparent 100%) !important;
    height: 2px !important;
    opacity: 0.6 !important;
}

/* === FIX 4: Botón "REGISTRARME COMO CLIENTE B2B" === */
.b2b-cta a,
.b2b-cta .btn,
[class*="cta-banner"] a,
[class*="cta-banner"] .btn {
    background: var(--q-brown, #4A2F1B) !important;
    color: var(--q-cream, #FAF3E2) !important;
    border: 2px solid var(--q-cream, #FAF3E2) !important;
    border-radius: 999px !important;
    padding: 14px 28px !important;
    font-family: 'Lora', serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    transition: all 0.25s ease !important;
}
.b2b-cta a:hover,
.b2b-cta .btn:hover {
    background: var(--q-cream, #FAF3E2) !important;
    color: var(--q-brown, #4A2F1B) !important;
}

/* === FIX 5: Footer zona oscura entre banner y columnas (para Horeca) === */
body:not(.canal-group-49) #footer > .container,
body:not(.canal-group-49) #footer .block_newsletter {
    background: var(--q-brown, #4A2F1B) !important;
    padding: 50px 24px !important;
}
body:not(.canal-group-49) #footer .footer-container {
    background: var(--q-brown, #4A2F1B) !important;
    padding: 40px 24px !important;
}

/* === FIX 6: CMS Cómo Funciona — título h1 roto === */
/* El título solo muestra "Funciona" en italic, falta "CÓMO". Reset typografía */
body:not(.canal-group-49) .page-cms h1,
body:not(.canal-group-49) .page-cms .page-title,
body:not(.canal-group-49).page-cms h1 {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(36px, 5vw, 56px) !important;
    font-weight: 900 !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    text-align: center !important;
    margin: 40px 0 24px 0 !important;
    text-transform: none !important;
    border-left: none !important;
    padding-left: 0 !important;
    background: transparent !important;
    display: block !important;
    width: 100% !important;
}
body:not(.canal-group-49) .page-cms .page-content h1,
body:not(.canal-group-49) .page-cms .page-content h2 {
    font-family: 'Playfair Display', serif !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    text-align: center !important;
}

/* Hero del CMS con background terracota sutil */
body:not(.canal-group-49).page-cms #wrapper {
    background: var(--q-cream, #FAF3E2) !important;
}

/* === FIX 7: Botones genéricos forms (Servicio cliente, archivo, enviar) === */
body:not(.canal-group-49) input[type="submit"],
body:not(.canal-group-49) button[type="submit"]:not(.btn-primary):not(.search-widget *):not(#sform_submit),
body:not(.canal-group-49) .btn-default,
body:not(.canal-group-49) .form-control-label + * input[type="file"] + label {
    border-radius: 999px !important;
    font-family: 'Lora', serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 12px 28px !important;
}
body:not(.canal-group-49) input[type="submit"]:not(.btn-primary) {
    background: var(--q-brown, #4A2F1B) !important;
    color: var(--q-cream, #FAF3E2) !important;
    border: none !important;
}
body:not(.canal-group-49) .btn-primary,
body:not(.canal-group-49) input[type="submit"].btn-primary,
body:not(.canal-group-49) button.btn-primary {
    background: var(--q-terra, #B84A22) !important;
    color: var(--q-cream, #FAF3E2) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 28px !important;
}

/* === FIX 8: Página Contacto — añadir h1 grande título página === */
body:not(.canal-group-49).page-contact .page-header,
body:not(.canal-group-49).page-contact h1,
body:not(.canal-group-49).page-contact .contact-form h2 {
    font-family: 'Playfair Display', serif !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    border-left: 4px solid var(--q-terra, #B84A22) !important;
    padding-left: 16px !important;
    margin-bottom: 32px !important;
}
body:not(.canal-group-49) .contact-form .h2,
body:not(.canal-group-49) .contact-form .h3,
body:not(.canal-group-49) .contact-rich h4 {
    font-family: 'Playfair Display', serif !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
}
/* Card "INFORMACIÓN DE LA TIENDA" más visible */
body:not(.canal-group-49) .contact-rich {
    background: var(--q-cream-soft, #F4EAD0) !important;
    border: 1px solid var(--q-cream-warm, #EBDDB8) !important;
    border-radius: 8px !important;
    padding: 24px !important;
}
body:not(.canal-group-49) .contact-rich h4 {
    color: var(--q-brown, #4A2F1B) !important;
    margin-bottom: 16px !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
}
/* Card del form contacto */
body:not(.canal-group-49) .contact-form {
    background: var(--q-cream-soft, #F4EAD0) !important;
    border: 1px solid var(--q-cream-warm, #EBDDB8) !important;
    border-radius: 8px !important;
    padding: 32px !important;
    margin-top: 24px !important;
}

/* === FIX 9: Inputs de formularios — mejor estilo === */
body:not(.canal-group-49) input[type="text"]:not(#search_widget *),
body:not(.canal-group-49) input[type="email"]:not(#search_widget *),
body:not(.canal-group-49) input[type="password"],
body:not(.canal-group-49) textarea,
body:not(.canal-group-49) select {
    background: var(--q-cream, #FAF3E2) !important;
    border: 1px solid var(--q-brown-soft, #8B6841) !important;
    color: var(--q-brown, #4A2F1B) !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
}
body:not(.canal-group-49) input[type="text"]:focus,
body:not(.canal-group-49) input[type="email"]:focus,
body:not(.canal-group-49) input[type="password"]:focus,
body:not(.canal-group-49) textarea:focus {
    border-color: var(--q-terra, #B84A22) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(184, 74, 34, 0.1) !important;
}

/* === FIX 10: Placeholders "Imagen no disponible" más amigables === */
body:not(.canal-group-49) .product-miniature .thumbnail-container img[src*="default-home_default"],
body:not(.canal-group-49) .product-miniature .product-thumbnail img[src*="es-default"] {
    opacity: 0.45 !important;
    filter: sepia(0.3) !important;
}

/* === FIX 11: Background gris feo en CMS hero === */
body:not(.canal-group-49) .page-cms #content-wrapper,
body:not(.canal-group-49) .page-cms .page-content {
    background: transparent !important;
}

/* === FIX 12: Asegurar coherencia textos CMS === */
body:not(.canal-group-49).page-cms .page-content p,
body:not(.canal-group-49).page-cms p {
    color: var(--q-brown, #4A2F1B) !important;
    font-family: 'Lora', serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* === FIX 13: BREADCRUMB Horeca un poco más prominente === */
body:not(.canal-group-49) .breadcrumb {
    background: var(--q-cream-soft, #F4EAD0) !important;
    border-radius: 999px !important;
    padding: 10px 24px !important;
    margin-bottom: 24px !important;
    display: inline-flex !important;
    font-style: italic !important;
}

/* === FIX 14: Página Categoría título "CATEGORÍA" añadir === */
/* No oculto el #js-product-list-header para Horeca, lo hago bonito */
body:not(.canal-group-49) #js-product-list-header {
    background: transparent !important;
    border: none !important;
    margin-top: 16px !important;
}
body:not(.canal-group-49) #js-product-list-header h1,
body:not(.canal-group-49) #js-product-list-header .h1,
body:not(.canal-group-49) .block-category h1 {
    font-family: 'Playfair Display', serif !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    font-size: clamp(28px, 4vw, 38px) !important;
}

/* ============================================================
   FIXES v57 — Hero CMS page (q-page-hero) y más detalles
   ============================================================ */

/* === CMS PAGE HERO === */
body:not(.canal-group-49) .q-page-hero {
    background: var(--q-cream, #FAF3E2) !important;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(184,74,34,0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 50%, rgba(107,122,43,0.05) 0%, transparent 50%) !important;
    color: var(--q-brown, #4A2F1B) !important;
    padding: 60px 24px !important;
    text-align: center !important;
}
body:not(.canal-group-49) .q-page-hero-inner {
    max-width: 900px !important;
    margin: 0 auto !important;
}
body:not(.canal-group-49) .q-page-hero-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: 2px solid var(--q-terra, #B84A22) !important;
    color: var(--q-terra, #B84A22) !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    font-family: 'Lora', serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
}
body:not(.canal-group-49) .q-page-hero-h1 {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(40px, 6vw, 72px) !important;
    font-weight: 900 !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    line-height: 1.1 !important;
    margin: 0 0 24px !important;
    text-transform: none !important;
    border: none !important;
    padding: 0 !important;
}
body:not(.canal-group-49) .q-page-hero-h1 span {
    color: var(--q-terra, #B84A22) !important;
    font-style: italic !important;
    display: inline !important;
}
body:not(.canal-group-49) .q-page-hero-sub {
    font-family: 'Lora', serif !important;
    color: var(--q-brown-mid, #6B4423) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    max-width: 700px !important;
    margin: 0 auto !important;
}

/* === Re-asegurar legibilidad del breadcrumb === */
body:not(.canal-group-49) .breadcrumb,
body:not(.canal-group-49) nav.breadcrumb {
    background: var(--q-cream-soft, #F4EAD0) !important;
    border-radius: 999px !important;
    padding: 10px 24px !important;
    color: var(--q-brown-mid, #6B4423) !important;
    font-family: 'Lora', serif !important;
    font-style: italic !important;
    display: inline-block !important;
    margin: 16px 0 8px 0 !important;
}
body:not(.canal-group-49) .breadcrumb a {
    color: var(--q-brown, #4A2F1B) !important;
    font-weight: 600 !important;
}
body:not(.canal-group-49) .breadcrumb a:hover {
    color: var(--q-terra, #B84A22) !important;
}

/* === Logo Horeca/visitante — mejor filtro === */
/* Anterior dejaba el logo casi negro, ahora más balanceado */
body:not(.canal-group-49) #header .header-top .logo img,
body:not(.canal-group-49) #header .logo img,
body:not(.canal-group-49) #_desktop_logo img {
    filter: brightness(0) saturate(100%) invert(11%) sepia(35%) saturate(2600%) hue-rotate(355deg) brightness(85%) contrast(95%) !important;
    /* Cuero oscuro nítido sin perder detalles */
    height: 56px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* === Verificar consistencia categoría === */
body:not(.canal-group-49) .block-category {
    background: var(--q-cream, #FAF3E2) !important;
    padding: 24px !important;
    border: 1px solid var(--q-cream-warm, #EBDDB8) !important;
    border-radius: 8px !important;
    margin-bottom: 24px !important;
}
body:not(.canal-group-49) .block-category h1.h1 {
    font-family: 'Playfair Display', serif !important;
    color: var(--q-brown, #4A2F1B) !important;
    font-style: italic !important;
    font-size: clamp(28px, 4vw, 38px) !important;
    margin: 0 !important;
    text-transform: none !important;
    border-left: 4px solid var(--q-terra, #B84A22) !important;
    padding-left: 16px !important;
}

/* === Footer Horeca — más limpio === */
body:not(.canal-group-49) #footer h3,
body:not(.canal-group-49) #footer h4,
body:not(.canal-group-49) #footer [class*="title"]:not(.product-title) {
    color: var(--q-mustard, #C9924C) !important;
    font-family: 'Playfair Display', serif !important;
    font-style: italic !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid rgba(250,243,226,0.15) !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
    font-size: 18px !important;
}

/* ============================================================
   FRANQUICIA v58 — Ocultar precio pero mantener Add to Cart
   show_prices=1 ahora hace que aparezca el botón. Ocultamos solo el precio.
   ============================================================ */

/* Ocultar precio en página de producto y listings (canal Franquicia) */
body.canal-group-49 .product-prices,
body.canal-group-49 .product-price,
body.canal-group-49 .current-price,
body.canal-group-49 .product-discount,
body.canal-group-49 .regular-price,
body.canal-group-49 .has-discount,
body.canal-group-49 .product-price-and-shipping,
body.canal-group-49 .price,
body.canal-group-49 .product-miniature .price,
body.canal-group-49 [class*="price"]:not(.product-flag):not([class*="display"]):not([class*="block"]) {
    display: none !important;
}

/* Pero el botón Añadir al carrito sí visible y estilizado magenta wine */
body.canal-group-49 .add-to-cart,
body.canal-group-49 button.add-to-cart,
body.canal-group-49 .product-add-to-cart .btn,
body.canal-group-49 [data-button-action="add-to-cart"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(196, 9, 71, 0.25) !important;
    margin-top: 16px !important;
}
body.canal-group-49 .add-to-cart:hover,
body.canal-group-49 button.add-to-cart:hover {
    background: #a3073b !important;
    box-shadow: 0 6px 20px rgba(196, 9, 71, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* Cambiar texto del botón Add to Cart a "AÑADIR AL PEDIDO" via JS sería ideal,
   pero PrestaShop ya lo tiene en castellano */

/* Selector de cantidad arriba del botón */
body.canal-group-49 .product-quantity,
body.canal-group-49 .qty {
    margin: 16px 0 !important;
}
body.canal-group-49 .product-quantity .input-group,
body.canal-group-49 .qty .input-group {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    padding: 0 !important;
}
body.canal-group-49 .product-quantity input[type="number"],
body.canal-group-49 .qty input[type="number"],
body.canal-group-49 #quantity_wanted {
    background: transparent !important;
    border: none !important;
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: center !important;
    width: 60px !important;
    padding: 8px !important;
}
body.canal-group-49 .product-quantity .btn-number,
body.canal-group-49 .product-quantity button {
    background: #f7f1e3 !important;
    color: #2a1f18 !important;
    border: none !important;
    padding: 8px 14px !important;
    font-family: 'Oswald', sans-serif !important;
    cursor: pointer !important;
}
body.canal-group-49 .product-quantity .btn-number:hover {
    background: #ccbb8e !important;
    color: #ffffff !important;
}

/* Label "Cantidad:" */
body.canal-group-49 .product-quantity label,
body.canal-group-49 label.qty-label {
    color: #5a4226 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Sección "Añadir al carrito" container */
body.canal-group-49 .product-actions,
body.canal-group-49 .product-add-to-cart {
    background: transparent !important;
    margin: 24px 0 !important;
    padding: 0 !important;
}

/* Para listings, botón quick add */
body.canal-group-49 .product-miniature .add-to-cart {
    width: 100% !important;
    margin-top: 8px !important;
    padding: 10px 16px !important;
    font-size: 12px !important;
}

/* ============================================================
   FRANQUICIA v59 — Fix layout cantidad + botón Add to Cart
   ============================================================ */

/* Container general de las acciones del producto */
body.canal-group-49 .product-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Label "Cantidad" arriba */
body.canal-group-49 .product-quantity label,
body.canal-group-49 label[for="quantity_wanted"] {
    display: block !important;
    margin-bottom: 8px !important;
    color: #5a4226 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 500 !important;
}

/* Container cantidad + add to cart en row con gap */
body.canal-group-49 .product-quantity,
body.canal-group-49 .product-add-to-cart .row,
body.canal-group-49 .product-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 8px 0 0 0 !important;
}

/* Input cantidad bien dimensionado */
body.canal-group-49 .qty,
body.canal-group-49 .product-quantity > .qty {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 50px !important;
}
body.canal-group-49 #quantity_wanted,
body.canal-group-49 input[name="qty"],
body.canal-group-49 .input-group input[type="number"] {
    background: transparent !important;
    border: none !important;
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: center !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
}
body.canal-group-49 #quantity_wanted::-webkit-outer-spin-button,
body.canal-group-49 #quantity_wanted::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
/* Botones flecha arriba/abajo */
body.canal-group-49 .qty .input-group-btn-vertical,
body.canal-group-49 .input-group-btn-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    margin: 0 !important;
}
body.canal-group-49 .input-group-btn-vertical button,
body.canal-group-49 .bootstrap-touchspin-up,
body.canal-group-49 .bootstrap-touchspin-down {
    background: #f7f1e3 !important;
    border: none !important;
    color: #2a1f18 !important;
    padding: 4px 12px !important;
    height: 25px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    font-size: 10px !important;
    line-height: 1 !important;
}
body.canal-group-49 .input-group-btn-vertical button:hover {
    background: #ccbb8e !important;
    color: #ffffff !important;
}
body.canal-group-49 .input-group-btn-vertical button .material-icons {
    font-size: 14px !important;
    color: inherit !important;
}

/* Botón Add to Cart con ancho fijo */
body.canal-group-49 .product-add-to-cart .add-to-cart,
body.canal-group-49 button.add-to-cart {
    flex: 0 1 auto !important;
    min-width: 220px !important;
    height: 50px !important;
    margin-top: 0 !important;
    white-space: nowrap !important;
    padding: 0 24px !important;
    justify-content: center !important;
}

/* Botón Wishlist (corazón) al lado */
body.canal-group-49 .wishlist-button-add,
body.canal-group-49 .wishlist {
    flex: 0 0 auto !important;
    height: 50px !important;
    width: 50px !important;
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}
body.canal-group-49 .wishlist-button-add:hover {
    background: #ffffff !important;
    border-color: #c40947 !important;
}
body.canal-group-49 .wishlist-button-add svg,
body.canal-group-49 .wishlist svg {
    fill: #2a1f18 !important;
    width: 22px !important;
    height: 22px !important;
}

/* En stock indicador */
body.canal-group-49 .product-availability,
body.canal-group-49 .product-quantities,
body.canal-group-49 .label.label-success {
    color: #6B7A2B !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    margin-top: 8px !important;
    background: transparent !important;
}
body.canal-group-49 .product-availability i.material-icons {
    color: #6B7A2B !important;
}

/* ============================================================
   FRANQUICIA v60 — Pulido final del quantity selector
   ============================================================ */

/* Reset del touchspin de Bootstrap para canal-49 */
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical {
    position: relative !important;
    width: 30px !important;
    flex: 0 0 30px !important;
}
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button,
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-up,
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-down {
    position: relative !important;
    width: 30px !important;
    height: 25px !important;
    border: none !important;
    border-left: 1px solid #d4c69d !important;
    background: #f7f1e3 !important;
    color: #2a1f18 !important;
    box-shadow: none !important;
}
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-up {
    border-bottom: 1px solid #d4c69d !important;
}
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button i,
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button .material-icons {
    font-size: 14px !important;
    color: #2a1f18 !important;
    line-height: 1 !important;
}
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button:hover {
    background: #ccbb8e !important;
    color: #ffffff !important;
}
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button:hover i,
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button:hover .material-icons {
    color: #ffffff !important;
}

/* Asegurar que el container del touchspin no tenga padding extra */
body.canal-group-49 .product-quantity .bootstrap-touchspin {
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    padding: 0 !important;
    height: 50px !important;
}

/* ============================================================
   FRANQUICIA v61 — Fix carrito halo terracota + touchspin
   ============================================================ */

/* === FIX 1: Eliminar el halo terracota del wrapper #_desktop_cart === */
html body.canal-group-49 #_desktop_cart,
body.canal-group-49 #_desktop_cart {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Asegurar que el blockcart interno mantenga su look magenta */
body.canal-group-49 #_desktop_cart .blockcart,
body.canal-group-49 #header .blockcart {
    background: #c40947 !important;
    box-shadow: 0 2px 12px rgba(196, 9, 71, 0.3) !important;
    border-radius: 999px !important;
    height: 36px !important;
    overflow: hidden !important;
}

/* === FIX 2: Mejorar touchspin quantity selector === */
/* El touchspin tiene scrollbars feas — reset total */
body.canal-group-49 .product-quantity .bootstrap-touchspin,
body.canal-group-49 .input-group.bootstrap-touchspin {
    display: inline-flex !important;
    align-items: stretch !important;
    background: #ffffff !important;
    border: 1px solid #d4c69d !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    padding: 0 !important;
    height: 50px !important;
    width: auto !important;
    box-shadow: none !important;
}

/* Input numérico — sin spinners nativos */
body.canal-group-49 #quantity_wanted,
body.canal-group-49 input.js-input-quantity,
body.canal-group-49 .product-quantity input[type="number"] {
    background: transparent !important;
    border: none !important;
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: 60px !important;
    height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    outline: none !important;
    box-shadow: none !important;
}
body.canal-group-49 input[type="number"]::-webkit-outer-spin-button,
body.canal-group-49 input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    display: none !important;
}

/* Container de las flechas arriba/abajo */
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical,
body.canal-group-49 .input-group-btn-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    width: 32px !important;
    height: 50px !important;
    position: static !important;
    border-left: 1px solid #d4c69d !important;
}

/* Botones individuales arriba/abajo */
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-up,
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-down,
body.canal-group-49 .input-group-btn-vertical .btn,
body.canal-group-49 .input-group-btn-vertical button {
    flex: 1 1 50% !important;
    width: 32px !important;
    height: 25px !important;
    background: #f7f1e3 !important;
    border: none !important;
    color: #2a1f18 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background 0.15s ease !important;
    box-shadow: none !important;
    position: static !important;
    border-radius: 0 !important;
    line-height: 1 !important;
}
body.canal-group-49 .bootstrap-touchspin .bootstrap-touchspin-up {
    border-bottom: 1px solid #d4c69d !important;
}
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button:hover {
    background: #ccbb8e !important;
    color: #ffffff !important;
}

/* Iconos dentro de las flechas */
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button i,
body.canal-group-49 .bootstrap-touchspin .input-group-btn-vertical button .material-icons,
body.canal-group-49 .input-group-btn-vertical .touchspin-up,
body.canal-group-49 .input-group-btn-vertical .touchspin-down {
    font-size: 16px !important;
    color: inherit !important;
    line-height: 1 !important;
}

/* ============================================================
   FRANQUICIA v62 — Specificity fix para #_desktop_cart wrapper
   Vencer body:not(#index) #_desktop_cart (2 IDs)
   ============================================================ */

body:not(#index).canal-group-49 #_desktop_cart,
body#category.canal-group-49 #_desktop_cart,
body#product.canal-group-49 #_desktop_cart,
body[id].canal-group-49 #_desktop_cart {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}

/* ============================================================
   FRANQUICIA v63 — Unificar TODO el pill del carrito a magenta
   El icono estaba en una sección terracota (.cart-preview/.header)
   mientras que el texto estaba en magenta — ahora todo magenta.
   ============================================================ */

/* Pill exterior y todos sus contenedores internos en magenta */
html body.canal-group-49 #_desktop_cart .blockcart,
html body.canal-group-49 #_desktop_cart .cart-preview,
html body.canal-group-49 #_desktop_cart .blockcart.cart-preview,
html body.canal-group-49 #_desktop_cart .blockcart > *,
html body.canal-group-49 #_desktop_cart .cart-preview > *,
html body.canal-group-49 #_desktop_cart .blockcart .header,
html body.canal-group-49 #_desktop_cart .cart-preview .header,
html body.canal-group-49 #header .blockcart,
html body.canal-group-49 #header .cart-preview,
html body.canal-group-49 #header .blockcart .header,
html body.canal-group-49 #header .cart-preview .header {
    background: #c40947 !important;
    background-color: #c40947 !important;
    background-image: none !important;
    border-radius: 999px !important;
    border: none !important;
}

/* Asegurar que el link interno y el icono no tengan fondo propio */
html body.canal-group-49 #_desktop_cart .blockcart a,
html body.canal-group-49 #_desktop_cart .cart-preview a,
html body.canal-group-49 #_desktop_cart a.cart-detailed-link,
html body.canal-group-49 #header .blockcart a {
    background: transparent !important;
    background-color: transparent !important;
}

/* Icono del carrito sobre magenta */
html body.canal-group-49 #_desktop_cart i.material-icons,
html body.canal-group-49 #_desktop_cart i.material-icons.shopping-cart,
html body.canal-group-49 #header .blockcart i.material-icons {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
}

/* Hover unificado */
html body.canal-group-49 #_desktop_cart .blockcart:hover,
html body.canal-group-49 #_desktop_cart .cart-preview:hover,
html body.canal-group-49 #header .blockcart:hover {
    background: #a3073b !important;
    background-color: #a3073b !important;
}

/* Override del wrapper externo (#_desktop_cart) si tuviera color */
html body.canal-group-49 #_desktop_cart {
    background: transparent !important;
    background-color: transparent !important;
}

/* ============================================================
   FRANQUICIA v63b — Unificar también el badge del contador
   El badge (1) estaba en marrón oscuro, ahora subtilmente
   integrado al magenta del pill.
   ============================================================ */

html body.canal-group-49 .cart-products-count,
html body.canal-group-49 #_desktop_cart .cart-products-count,
html body.canal-group-49 #header .cart-products-count {
    background: rgba(0, 0, 0, 0.25) !important;
    background-color: rgba(0, 0, 0, 0.25) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

/* ============================================================
   FRANQUICIA v64 — Página CARRITO con tema producto
   Header oscuro + body crema claro (mismo patrón que .page-product)
   ============================================================ */

/* === FONDO BODY: crema cálido === */
html body.canal-group-49.page-cart,
body.canal-group-49.page-cart,
body#cart.canal-group-49 {
    background: #f7f1e3 !important;
    background-color: #f7f1e3 !important;
    color: #2a1f18 !important;
}

/* === HEADER y MINI-HEADER: mantener dark === */
body.canal-group-49.page-cart #header,
body.canal-group-49.page-cart #header .header-nav,
body.canal-group-49.page-cart .ec-mini-header {
    background: #0a0a0a !important;
    color: #ffffff !important;
}

/* === WRAPPER del contenido === */
body.canal-group-49.page-cart #wrapper,
body.canal-group-49.page-cart #content-wrapper,
body.canal-group-49.page-cart main,
body.canal-group-49.page-cart #main {
    background: #f7f1e3 !important;
    color: #2a1f18 !important;
}

/* === BREADCRUMB (Inicio) === */
html body.canal-group-49.page-cart .breadcrumb,
body.canal-group-49.page-cart nav.breadcrumb {
    background: #ede2c4 !important;
    border-bottom: 1px solid #d4c69d !important;
    padding: 12px 24px !important;
    color: #5a4226 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    margin-bottom: 24px !important;
}
body.canal-group-49.page-cart .breadcrumb a,
body.canal-group-49.page-cart .breadcrumb span,
body.canal-group-49.page-cart .breadcrumb li {
    color: #8b6841 !important;
    font-weight: 500 !important;
}
body.canal-group-49.page-cart .breadcrumb a:hover {
    color: #c40947 !important;
}

/* === TÍTULO "CARRITO" h1 === */
body.canal-group-49.page-cart h1.h1,
body.canal-group-49.page-cart h1,
body.canal-group-49.page-cart .cart-grid h1,
body.canal-group-49.page-cart .card-block h1 {
    color: #1a1a1a !important;
    background: transparent !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    border-left: 4px solid #c40947 !important;
    padding-left: 16px !important;
}

/* === CARDS DEL CARRITO (caja blanca CARRITO + caja resumen) === */
body.canal-group-49.page-cart .cart-grid,
body.canal-group-49.page-cart .cart-grid-body,
body.canal-group-49.page-cart .cart-grid-right,
body.canal-group-49.page-cart .card,
body.canal-group-49.page-cart .card-block,
body.canal-group-49.page-cart .cart-container,
body.canal-group-49.page-cart .cart-item,
body.canal-group-49.page-cart .cart-summary {
    background: #ffffff !important;
    color: #2a1f18 !important;
    border: 1px solid #e8dcb8 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(42, 31, 24, 0.05) !important;
}

/* === TEXTOS DENTRO DE LAS CAJAS === */
body.canal-group-49.page-cart .cart-grid h1,
body.canal-group-49.page-cart .cart-grid h2,
body.canal-group-49.page-cart .cart-grid h3,
body.canal-group-49.page-cart .cart-grid h4,
body.canal-group-49.page-cart .cart-grid .product-line__title,
body.canal-group-49.page-cart .cart-grid .product-line-grid-body,
body.canal-group-49.page-cart .cart-summary-line,
body.canal-group-49.page-cart .cart-total,
body.canal-group-49.page-cart .product-line-info,
body.canal-group-49.page-cart .label,
body.canal-group-49.page-cart .value {
    color: #2a1f18 !important;
    background: transparent !important;
}

/* === NOMBRE DEL PRODUCTO (Empanada de POLLO - EC) === */
body.canal-group-49.page-cart .product-line__title,
body.canal-group-49.page-cart .product-line-grid-body a,
body.canal-group-49.page-cart .product-line__body a {
    color: #c40947 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
body.canal-group-49.page-cart .product-line__title:hover,
body.canal-group-49.page-cart .product-line-grid-body a:hover {
    color: #a3073b !important;
}

/* === BOTÓN FINALIZAR COMPRA === */
body.canal-group-49.page-cart .btn-primary,
body.canal-group-49.page-cart a.btn,
body.canal-group-49.page-cart button.btn-primary,
body.canal-group-49.page-cart .cart-detailed-actions .btn {
    background: #c40947 !important;
    background-color: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 28px !important;
    box-shadow: 0 4px 16px rgba(196, 9, 71, 0.3) !important;
    transition: all 0.3s ease !important;
}
body.canal-group-49.page-cart .btn-primary:hover,
body.canal-group-49.page-cart .cart-detailed-actions .btn:hover {
    background: #a3073b !important;
    background-color: #a3073b !important;
    box-shadow: 0 6px 20px rgba(196, 9, 71, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* === LINK "Continuar comprando" === */
body.canal-group-49.page-cart .label.js-show-on-error,
body.canal-group-49.page-cart .cart-detailed-actions a:not(.btn),
body.canal-group-49.page-cart a[href*="categoria"]:not(.btn),
body.canal-group-49.page-cart .continue {
    color: #5a4226 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 500 !important;
}
body.canal-group-49.page-cart .label.js-show-on-error:hover,
body.canal-group-49.page-cart .continue:hover {
    color: #c40947 !important;
}

/* === BLOQUE POLICIES (Security/Delivery/Return) === */
body.canal-group-49.page-cart .block-reassurance,
body.canal-group-49.page-cart #block-reassurance,
body.canal-group-49.page-cart .block-reassurance ul,
body.canal-group-49.page-cart .block-reassurance li {
    background: transparent !important;
    color: #2a1f18 !important;
}
body.canal-group-49.page-cart .block-reassurance li {
    border-bottom: 1px solid #e8dcb8 !important;
    padding: 14px 0 !important;
}
body.canal-group-49.page-cart .block-reassurance li:last-child {
    border-bottom: none !important;
}
body.canal-group-49.page-cart .block-reassurance h2,
body.canal-group-49.page-cart .block-reassurance h3,
body.canal-group-49.page-cart .block-reassurance p,
body.canal-group-49.page-cart .block-reassurance span,
body.canal-group-49.page-cart .block-reassurance strong {
    color: #2a1f18 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    background: transparent !important;
}
body.canal-group-49.page-cart .block-reassurance img,
body.canal-group-49.page-cart .block-reassurance svg {
    filter: brightness(0) saturate(100%) invert(11%) sepia(35%) saturate(700%) hue-rotate(346deg) !important;
    opacity: 0.7 !important;
}

/* === INPUT QUANTITY (touchspin) === */
body.canal-group-49.page-cart .bootstrap-touchspin,
body.canal-group-49.page-cart .input-group.bootstrap-touchspin {
    background: #f7f1e3 !important;
    border: 1px solid #d4c69d !important;
    border-radius: 4px !important;
}
body.canal-group-49.page-cart .bootstrap-touchspin input,
body.canal-group-49.page-cart input.js-cart-line-product-quantity {
    background: #ffffff !important;
    color: #2a1f18 !important;
    border: 1px solid #d4c69d !important;
    text-align: center !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
}

/* === ICONO TRASH (eliminar producto) === */
body.canal-group-49.page-cart .remove-from-cart i,
body.canal-group-49.page-cart .remove-from-cart .material-icons,
body.canal-group-49.page-cart .cart-line-product-actions i {
    color: #8b6841 !important;
}
body.canal-group-49.page-cart .remove-from-cart:hover i,
body.canal-group-49.page-cart .cart-line-product-actions:hover i {
    color: #c40947 !important;
}

/* === RESUMEN DEL CARRITO (totales) === */
body.canal-group-49.page-cart .cart-summary .cart-total,
body.canal-group-49.page-cart .cart-summary-totals {
    background: #ede2c4 !important;
    color: #1a1a1a !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin-top: 16px !important;
}
body.canal-group-49.page-cart .cart-summary .cart-total .value,
body.canal-group-49.page-cart .cart-summary-totals .value {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #c40947 !important;
}

/* === MEDIA QUERIES SAFETY === */
body.canal-group-49.page-cart * {
    /* asegurar herencia de color en hijos */
}

/* ============================================================
   v65 — HOME HORECA: video hero + galerías local/productos
   Solo aplica a HOME (body#index) y NO canal-49 (Franquicia)
   ============================================================ */

/* === HERO CON VIDEO DE FONDO === */
body#index .q-hero.q-hero-video {
    position: relative !important;
    overflow: hidden !important;
    min-height: 600px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body#index .q-hero-bg-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
    filter: brightness(0.55) saturate(1.1) !important;
}

body#index .q-hero-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        135deg,
        rgba(247, 241, 227, 0.75) 0%,
        rgba(224, 112, 32, 0.35) 50%,
        rgba(26, 26, 26, 0.55) 100%
    ) !important;
    z-index: 1 !important;
}

body#index .q-hero-video .q-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    padding: 60px 24px !important;
    max-width: 900px !important;
}

/* Tag DISTRIBUIDOR sobre video — más contraste */
body#index .q-hero-video .q-hero-tag {
    background: rgba(247, 241, 227, 0.95) !important;
    color: #C05A10 !important;
    border: 1px solid rgba(192, 90, 16, 0.4) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

/* H1 EMPANADAS / AL POR MAYOR — sombra para legibilidad */
body#index .q-hero-video .q-hero-h1 {
    color: #2a1f18 !important;
    text-shadow: 2px 2px 8px rgba(247, 241, 227, 0.7) !important;
}
body#index .q-hero-video .q-hero-h1 span {
    color: #C05A10 !important;
    text-shadow: 2px 2px 8px rgba(247, 241, 227, 0.5) !important;
}

body#index .q-hero-video .q-hero-p {
    color: #2a1f18 !important;
    text-shadow: 1px 1px 4px rgba(247, 241, 227, 0.6) !important;
    font-weight: 500 !important;
}

/* Si el video no carga, fallback con gradient sólido */
body#index .q-hero-video::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, #f7f1e3 0%, #f5e7c9 50%, #e8d4a8 100%) !important;
    z-index: -1 !important;
}

/* === SECCIÓN NUESTRO LOCAL === */
body#index .q-local-section {
    background: #f7f1e3 !important;
    padding: 80px 0 !important;
    position: relative !important;
}

body#index .q-local-section::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 120px !important;
    height: 4px !important;
    background: linear-gradient(90deg, transparent, #C05A10, transparent) !important;
}

body#index .q-local-section .q-section-title {
    font-family: 'Playfair Display', serif !important;
    color: #2a1f18 !important;
    text-align: center !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    margin-bottom: 12px !important;
    font-weight: 700 !important;
}

body#index .q-local-section .q-section-subtitle {
    text-align: center !important;
    max-width: 720px !important;
    margin: 0 auto 48px !important;
    color: #5a4226 !important;
    font-family: 'Lora', serif !important;
    font-style: italic !important;
    line-height: 1.7 !important;
}

body#index .q-local-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: 220px 220px !important;
    gap: 16px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

body#index .q-local-item {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(42, 31, 24, 0.12) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    background: #ede2c4 !important;
}

body#index .q-local-item-tall {
    grid-row: span 2 !important;
}

body#index .q-local-item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 28px rgba(42, 31, 24, 0.2) !important;
}

body#index .q-local-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s ease !important;
}

body#index .q-local-item:hover img {
    transform: scale(1.08) !important;
}

body#index .q-local-caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(transparent, rgba(26, 26, 26, 0.85)) !important;
    color: #ffffff !important;
    padding: 16px 14px 12px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

/* Placeholder cuando no hay imagen */
body#index .q-local-item img[src=""],
body#index .q-local-item img:not([src]),
body#index .q-local-item img[src*="local-1"][src=""] {
    display: none !important;
}
body#index .q-local-item:has(img:not([src])),
body#index .q-local-item:has(img[src=""]) {
    background: linear-gradient(135deg, #ede2c4 0%, #d4c69d 100%) !important;
}

/* === SECCIÓN PRODUCTOS === */
body#index .q-productos-section {
    background: linear-gradient(180deg, #f7f1e3 0%, #ede2c4 100%) !important;
    padding: 80px 0 !important;
}

body#index .q-productos-section .q-section-title {
    font-family: 'Playfair Display', serif !important;
    color: #2a1f18 !important;
    text-align: center !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    margin-bottom: 12px !important;
    font-weight: 700 !important;
}

body#index .q-productos-section .q-section-subtitle {
    text-align: center !important;
    max-width: 720px !important;
    margin: 0 auto 48px !important;
    color: #5a4226 !important;
    font-family: 'Lora', serif !important;
    font-style: italic !important;
    line-height: 1.7 !important;
}

body#index .q-productos-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

body#index .q-producto-card {
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 24px rgba(42, 31, 24, 0.08) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    border: 1px solid rgba(192, 90, 16, 0.1) !important;
}

body#index .q-producto-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 32px rgba(192, 90, 16, 0.18) !important;
}

body#index .q-producto-img {
    width: 100% !important;
    height: 260px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #ede2c4 0%, #d4c69d 100%) !important;
}

body#index .q-producto-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s ease !important;
}

body#index .q-producto-card:hover .q-producto-img img {
    transform: scale(1.08) !important;
}

body#index .q-producto-info {
    padding: 20px !important;
}

body#index .q-producto-nombre {
    font-family: 'Playfair Display', serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #2a1f18 !important;
    margin: 0 0 8px !important;
}

body#index .q-producto-desc {
    font-family: 'Lora', serif !important;
    font-size: 14px !important;
    color: #5a4226 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

body#index .q-productos-cta {
    text-align: center !important;
    margin-top: 48px !important;
}

/* === RESPONSIVE === */
@media (max-width: 991px) {
    body#index .q-local-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: 200px 200px 200px !important;
    }
    body#index .q-local-item-tall {
        grid-row: span 1 !important;
    }
    body#index .q-productos-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    body#index .q-hero.q-hero-video {
        min-height: 480px !important;
    }
}

@media (max-width: 600px) {
    body#index .q-local-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: repeat(5, 180px) !important;
    }
    body#index .q-productos-grid {
        grid-template-columns: 1fr !important;
    }
    body#index .q-hero.q-hero-video {
        min-height: 420px !important;
    }
}

/* ============================================================
   v77 — CATÁLOGO HORECA = clon inverso del catálogo Franquicia
   Misma estructura/tipografía/spacing que canal-49
   pero con colores INVERTIDOS (light mode)
   
   MAPEO INVERSIÓN:
   - Body negro #0a0a0a       → Crema #faf7f0
   - Cards gris #1a1a1a       → Blanco #ffffff
   - Borders #2a2a2a          → #e8dcc8 (cream darker)
   - Acento dorado #ccbb8e    → Terracota #C05A10
   - Acento magenta #c40947   → Marrón oscuro #2a1a0e
   - Texto blanco #ffffff     → Negro #1a1a1a
   - Logo EC SVG              → Quempanada JPG
   ============================================================ */

/* === BODY CATEGORY HORECA — claro === */
body#category:not(.canal-group-49),
html body#category:not(.canal-group-49) {
    background: #faf7f0 !important;
    color: #1a1a1a !important;
}
body#category:not(.canal-group-49) #wrapper,
body#category:not(.canal-group-49) main,
body#category:not(.canal-group-49) #main {
    background: #faf7f0 !important;
    color: #1a1a1a !important;
}

/* === HEADER y TOP BAR — claro === */
body#category:not(.canal-group-49) #header,
body#category:not(.canal-group-49) #header .header-nav {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border-bottom: 1px solid #C05A10 !important;
    box-shadow: 0 2px 8px rgba(26, 26, 26, 0.04) !important;
}
body#category:not(.canal-group-49) #header .header-top {
    background: #ffffff !important;
    color: #1a1a1a !important;
}
body#category:not(.canal-group-49) #header a,
body#category:not(.canal-group-49) #header .header-top a,
body#category:not(.canal-group-49) #header span {
    color: #1a1a1a !important;
}

/* Ocultar logo, search, menú normal en página categoría (igual que EC) */
body#category:not(.canal-group-49) .logo-container,
body#category:not(.canal-group-49) #_desktop_logo,
body#category:not(.canal-group-49) .search-widget,
body#category:not(.canal-group-49) #search_widget,
body#category:not(.canal-group-49) nav.q-nav-pages {
    display: none !important;
}

/* === MINI-HEADER QUEMPANADA — claro (clon inverso del EC) === */
.quemp-mini-header {
    background: #ffffff !important;
    padding: 28px 16px !important;
    position: relative !important;
    border-top: 1px solid #C05A10 !important;
    border-bottom: 1px solid #C05A10 !important;
}
.quemp-mini-header::before {
    content: '' !important;
    position: absolute !important;
    top: 4px !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(192, 90, 16, 0.3) 50%, transparent) !important;
}
.quemp-mini-header::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(192, 90, 16, 0.3) 50%, transparent) !important;
}
.quemp-mini-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    flex-wrap: wrap !important;
}
.quemp-logo-link {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.quemp-logo {
    height: 64px !important;
    width: auto !important;
    max-width: 220px !important;
    object-fit: contain !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}
.quemp-tagline {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    border-left: 1px solid #C05A10 !important;
    padding-left: 24px !important;
}
.quemp-tagline-line1 {
    font-family: 'Oswald', sans-serif !important;
    color: #1a1a1a !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}
.quemp-tagline-line2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #C05A10 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-top: 6px !important;
}

/* === CARRITO — terracota === */
html body#category:not(.canal-group-49) #_desktop_cart {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}
html body#category:not(.canal-group-49) #_desktop_cart .blockcart,
html body#category:not(.canal-group-49) #_desktop_cart .cart-preview {
    background: #C05A10 !important;
    border-radius: 999px !important;
    height: 30px !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}
html body#category:not(.canal-group-49) #_desktop_cart .blockcart a {
    padding: 0 14px !important;
    height: 30px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    background: transparent !important;
}
html body#category:not(.canal-group-49) #_desktop_cart i.material-icons {
    color: #ffffff !important;
    font-size: 16px !important;
}
html body#category:not(.canal-group-49) .cart-products-count {
    background: rgba(0,0,0,0.3) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

/* === BREADCRUMB — claro (igual a EC pero light) === */
body#category:not(.canal-group-49) .breadcrumb {
    background: #f0e8d8 !important;
    border-bottom: 1px solid #e0d4b8 !important;
    color: rgba(26, 26, 26, 0.6) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
}
body#category:not(.canal-group-49) .breadcrumb a {
    color: rgba(26, 26, 26, 0.6) !important;
}
body#category:not(.canal-group-49) .breadcrumb li.current span {
    color: #C05A10 !important;
    font-weight: 600 !important;
}

/* === LEFT COLUMN OCULTO === */
body#category:not(.canal-group-49) #left-column {
    display: none !important;
}
body#category:not(.canal-group-49) #content-wrapper,
body#category:not(.canal-group-49) #content-wrapper.left-column.right-column {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* === HEADER DE CATEGORÍA — invertido === */
body#category:not(.canal-group-49) #js-product-list-header,
body#category:not(.canal-group-49) .products-selection,
body#category:not(.canal-group-49) #js-product-list-top {
    background: #ffffff !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 4px !important;
    padding: 16px 24px !important;
    color: rgba(26, 26, 26, 0.7) !important;
}
body#category:not(.canal-group-49) .total-products,
body#category:not(.canal-group-49) .total-products p {
    color: rgba(26, 26, 26, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
    margin: 0 !important;
}
body#category:not(.canal-group-49) #js-product-list-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}
body#category:not(.canal-group-49) .products-sort-order .select-title {
    background: #ffffff !important;
    border: 1px solid #e8dcc8 !important;
    color: #1a1a1a !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    padding: 8px 14px !important;
    min-width: 180px !important;
}
body#category:not(.canal-group-49) .products-sort-order .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid #e8dcc8 !important;
}
body#category:not(.canal-group-49) .products-sort-order .dropdown-menu a {
    color: #1a1a1a !important;
}
body#category:not(.canal-group-49) .products-sort-order .dropdown-menu a:hover {
    background: #C05A10 !important;
    color: #ffffff !important;
}

/* === GRID PRODUCTOS 4 COLS === */
body#category:not(.canal-group-49) .products,
body#category:not(.canal-group-49) #products .products,
body#category:not(.canal-group-49) #js-product-list .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 24px 0 !important;
}
body#category:not(.canal-group-49) .products > .js-product,
body#category:not(.canal-group-49) .products > div[class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
    display: block !important;
}

/* === PRODUCT CARDS — invertido (blanco con borde cream, hover terracota) === */
body#category:not(.canal-group-49) .js-product .product-miniature,
body#category:not(.canal-group-49) article.product-miniature,
body#category:not(.canal-group-49) .product-miniature .thumbnail-container {
    background: #ffffff !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}
body#category:not(.canal-group-49) .js-product .product-miniature:hover,
body#category:not(.canal-group-49) .product-miniature .thumbnail-container:hover {
    border-color: #C05A10 !important;
    box-shadow: 0 8px 24px rgba(192, 90, 16, 0.15) !important;
}

/* Thumbnail (foto) */
body#category:not(.canal-group-49) .js-product .thumbnail-top {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background: #faf7f0 !important;
    overflow: hidden !important;
}
body#category:not(.canal-group-49) .js-product .thumbnail-top a.thumbnail,
body#category:not(.canal-group-49) .js-product .thumbnail-top a.product-thumbnail,
body#category:not(.canal-group-49) .js-product .thumbnail-top picture,
body#category:not(.canal-group-49) .js-product .thumbnail-top img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Texto y precio */
body#category:not(.canal-group-49) .js-product .product-description {
    background: #ffffff !important;
    color: #1a1a1a !important;
    padding: 16px !important;
    text-align: center !important;
    flex: 1 !important;
    border-top: 1px solid #f0e8d8 !important;
}
body#category:not(.canal-group-49) .js-product h2.product-title,
body#category:not(.canal-group-49) .js-product .product-title,
body#category:not(.canal-group-49) .js-product h3 {
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    margin: 0 0 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1.3 !important;
}
body#category:not(.canal-group-49) .js-product h2.product-title a,
body#category:not(.canal-group-49) .js-product .product-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
}
body#category:not(.canal-group-49) .js-product h2.product-title a:hover {
    color: #C05A10 !important;
}
body#category:not(.canal-group-49) .js-product .product-price-and-shipping,
body#category:not(.canal-group-49) .js-product .price {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
}

/* Badge NUEVO (invertido del dorado de EC) */
body#category:not(.canal-group-49) .product-flag.new {
    background: #C05A10 !important;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 999px !important;
    padding: 4px 10px !important;
    border: none !important;
}
body#category:not(.canal-group-49) .product-flag.discount,
body#category:not(.canal-group-49) .product-flag.out_of_stock {
    background: #2a1a0e !important;
    color: #ffffff !important;
}

/* Wishlist heart (invertido) */
body#category:not(.canal-group-49) .wishlist-button-add,
body#category:not(.canal-group-49) [class*="wishlist"] button {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #e8dcc8 !important;
    color: #1a1a1a !important;
    border-radius: 999px !important;
    width: 32px !important;
    height: 32px !important;
}
body#category:not(.canal-group-49) .wishlist-button-add:hover {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
}

/* === PAGINACIÓN — invertido === */
body#category:not(.canal-group-49) .page-list,
body#category:not(.canal-group-49) ul.page-list {
    background: transparent !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 24px 0 !important;
    margin: 0 !important;
}
body#category:not(.canal-group-49) .page-list li,
body#category:not(.canal-group-49) .page-list li a {
    background: #ffffff !important;
    color: rgba(26, 26, 26, 0.7) !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 4px !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
body#category:not(.canal-group-49) .page-list li a:hover {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
}
body#category:not(.canal-group-49) .page-list li.current,
body#category:not(.canal-group-49) .page-list li.active a {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
}

/* === FOOTER === */
body#category:not(.canal-group-49) #footer {
    background: #ffffff !important;
    color: rgba(26, 26, 26, 0.7) !important;
    border-top: 1px solid #e8dcc8 !important;
}
body#category:not(.canal-group-49) #footer h3,
body#category:not(.canal-group-49) #footer h4 {
    color: #C05A10 !important;
}

/* === HORECA LOGUEADO = idéntico a visitante (ocultar user-info) === */
body.canal-group-50 .user-info,
body.canal-group-50 .user-info .logout,
body.canal-group-50 .user-info .account {
    display: none !important;
}

/* === RESPONSIVE === */
@media (max-width: 991px) {
    body#category:not(.canal-group-49) .products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .quemp-mini-header-inner {
        flex-direction: column !important;
        gap: 16px !important;
    }
    .quemp-tagline {
        border-left: none !important;
        border-top: 1px solid #C05A10 !important;
        padding-left: 0 !important;
        padding-top: 16px !important;
        align-items: center !important;
    }
}
@media (max-width: 600px) {
    body#category:not(.canal-group-49) .products {
        grid-template-columns: 1fr !important;
    }
    .quemp-tagline-line1 { font-size: 20px !important; }
    .quemp-logo { height: 50px !important; }
}

/* ============================================================
   v78a — CAMBIO 1/8: Tipografía título Playfair Display
   ============================================================ */
.quemp-tagline-line1 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
}

/* ============================================================
   v78b — CAMBIO 2/8: Quitar 2 líneas terracotas
   Dejar SOLO la línea inferior del mini-header (gradient sutil)
   ============================================================ */
body#category:not(.canal-group-49) #header,
body#category:not(.canal-group-49) #header .header-nav {
    border-bottom: none !important;
    box-shadow: none !important;
}
.quemp-mini-header {
    border-top: none !important;
    border-bottom: none !important;
}
.quemp-mini-header::before {
    display: none !important;
    content: none !important;
}
.quemp-mini-header::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(192, 90, 16, 0.3) 50%, transparent) !important;
}

/* ============================================================
   v78c — CAMBIO 3/8: Top bar limpio
   Ocultar "Contacte con nosotros" + "Cerrar sesión / Juan Pepe"
   ============================================================ */
body#category:not(.canal-group-49) #contact-link,
body#category:not(.canal-group-49) #_desktop_contact_link,
html body#category:not(.canal-group-49) #contact-link {
    display: none !important;
}

/* Ocultar user-info para Horeca logueado con MAX specificity */
html body.canal-group-50 #header .user-info,
html body.canal-group-50 #_desktop_user_info,
html body.canal-group-50 .user-info,
html body#category.canal-group-50 .user-info,
html body#category.canal-group-50 #_desktop_user_info,
body#category:not(.canal-group-49) .user-info .logout,
body#category:not(.canal-group-49) .user-info .account {
    display: none !important;
    visibility: hidden !important;
}

/* ============================================================
   v78d — CAMBIO 4/8: Carrito Capitalize + centrado + uniforme
   ============================================================ */

/* Wrapper sin halo, transparente */
html body#category:not(.canal-group-49) #_desktop_cart,
html body:not(#index):not(.canal-group-49) #_desktop_cart {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Pill carrito — terracota uniforme, sin gradient */
html body#category:not(.canal-group-49) #_desktop_cart .blockcart,
html body#category:not(.canal-group-49) #_desktop_cart .cart-preview,
html body#category:not(.canal-group-49) #header .blockcart {
    background: #C05A10 !important;
    background-color: #C05A10 !important;
    background-image: none !important;
    border-radius: 999px !important;
    height: 32px !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Link interno — texto en Title Case "Carrito" */
html body#category:not(.canal-group-49) #_desktop_cart .blockcart a,
html body#category:not(.canal-group-49) #_desktop_cart a.cart-detailed-link {
    padding: 0 18px !important;
    height: 32px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    letter-spacing: 0.02em !important;
    text-transform: capitalize !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

/* Forzar text-transform en TODOS los hijos del link */
html body#category:not(.canal-group-49) #_desktop_cart .blockcart a *,
html body#category:not(.canal-group-49) #_desktop_cart .blockcart a span,
html body#category:not(.canal-group-49) #_desktop_cart .blockcart a {
    text-transform: capitalize !important;
}

/* Icono carrito mismo color */
html body#category:not(.canal-group-49) #_desktop_cart i.material-icons,
html body#category:not(.canal-group-49) #_desktop_cart .material-icons {
    color: #ffffff !important;
    background: transparent !important;
    font-size: 16px !important;
}

/* Badge (0) — mismo color, sin contraste raro */
html body#category:not(.canal-group-49) .cart-products-count {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
}

/* ============================================================
   v78d-fix — text-transform Capitalize en spans del carrito
   La estructura real es .blockcart > .header > span (no <a>)
   ============================================================ */

html body#category:not(.canal-group-49) #_desktop_cart .blockcart,
html body#category:not(.canal-group-49) #_desktop_cart .blockcart .header,
html body#category:not(.canal-group-49) #_desktop_cart .blockcart .header span,
html body#category:not(.canal-group-49) #_desktop_cart .blockcart span.hidden-sm-down,
html body#category:not(.canal-group-49) #_desktop_cart .cart-products-count {
    text-transform: none !important;
}

/* Padding y alineación correcta del header interno (no hay <a>) */
html body#category:not(.canal-group-49) #_desktop_cart .blockcart .header {
    padding: 0 18px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: transparent !important;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
}
html body#category:not(.canal-group-49) #_desktop_cart .blockcart .header span {
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    text-transform: none !important;
}

/* ============================================================
   v78e — CAMBIO 5/8: Logo Quempanada reducido y proporcionado
   ============================================================ */
.quemp-logo {
    height: 44px !important;
    width: auto !important;
    max-width: 160px !important;
}

/* Tagline más ajustada al lado del logo (separador más fino) */
.quemp-tagline {
    border-left: 1px solid rgba(192, 90, 16, 0.4) !important;
    padding-left: 20px !important;
    margin-left: 4px !important;
}

.quemp-tagline-line1 {
    font-size: 22px !important;
    line-height: 1.1 !important;
}

.quemp-tagline-line2 {
    font-size: 11px !important;
    margin-top: 5px !important;
}

.quemp-mini-header {
    padding: 22px 16px !important;
}

.quemp-mini-header-inner {
    gap: 22px !important;
}

/* ============================================================
   v78f — CAMBIO 6/8: Caja sort transparente, sin prominencia
   ============================================================ */

/* Ocultar caja vacía superior (#js-product-list-header) */
html body#category:not(.canal-group-49) #js-product-list-header,
body#category:not(.canal-group-49) #js-product-list-header,
body#category:not(.canal-group-49) .block-category {
    display: none !important;
}

/* Caja "Hay 23 productos / Ordenar por" — TRANSPARENTE */
html body#category:not(.canal-group-49) #js-product-list-top,
html body#category:not(.canal-group-49) .products-selection,
body#category:not(.canal-group-49) #js-product-list-top,
body#category:not(.canal-group-49) .products-selection {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 12px 4px !important;
    margin: 8px 0 16px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Total products texto sutil */
body#category:not(.canal-group-49) .total-products,
body#category:not(.canal-group-49) .total-products p,
body#category:not(.canal-group-49) #js-product-list-top .total-products {
    color: rgba(26, 26, 26, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: italic !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Label "Ordenar por:" sutil */
body#category:not(.canal-group-49) #js-product-list-top .products-sort-order .label,
body#category:not(.canal-group-49) #js-product-list-top label {
    color: rgba(26, 26, 26, 0.5) !important;
    font-style: italic !important;
    font-size: 13px !important;
    margin-right: 8px !important;
    background: transparent !important;
}

/* Dropdown más pequeño y sutil */
body#category:not(.canal-group-49) .products-sort-order .select-title {
    background: #ffffff !important;
    border: 1px solid #e8dcc8 !important;
    color: #1a1a1a !important;
    border-radius: 4px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    min-width: 160px !important;
    box-shadow: none !important;
}

/* ============================================================
   v78g — CAMBIO 7/8: Cards más sutiles
   v78h — CAMBIO 8/8: Spacing generoso
   ============================================================ */

/* === 7/8: CARDS más sutiles === */
body#category:not(.canal-group-49) .js-product .product-miniature,
body#category:not(.canal-group-49) article.product-miniature,
body#category:not(.canal-group-49) .product-miniature .thumbnail-container {
    background: #ffffff !important;
    border: 1px solid rgba(232, 220, 200, 0.5) !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 2px rgba(26, 26, 26, 0.02) !important;
    overflow: hidden !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}
body#category:not(.canal-group-49) .js-product .product-miniature:hover,
body#category:not(.canal-group-49) .product-miniature .thumbnail-container:hover {
    border-color: rgba(192, 90, 16, 0.3) !important;
    box-shadow: 0 4px 16px rgba(192, 90, 16, 0.1) !important;
}

/* Placeholder "Imagen no disponible" más sutil — opacity 50% */
body#category:not(.canal-group-49) .js-product .thumbnail-top img[src*="default-home"],
body#category:not(.canal-group-49) .js-product .thumbnail-top img[src*="es-default"] {
    opacity: 0.4 !important;
    transform: scale(0.85) !important;
}

/* Thumbnail-top con fondo neutro y padding sutil */
body#category:not(.canal-group-49) .js-product .thumbnail-top {
    background: #faf7f0 !important;
    aspect-ratio: 1 / 1 !important;
}

/* === Product description más padding generoso === */
body#category:not(.canal-group-49) .js-product .product-description {
    background: #ffffff !important;
    padding: 20px 16px !important;
    border-top: 1px solid rgba(240, 232, 216, 0.5) !important;
    flex: 1 !important;
    text-align: center !important;
}

body#category:not(.canal-group-49) .js-product h2.product-title,
body#category:not(.canal-group-49) .js-product .product-title {
    margin: 0 0 12px !important;
    line-height: 1.35 !important;
    min-height: 36px !important;
}

/* === 8/8: SPACING generoso === */

/* Más espacio entre mini-header y grid */
body#category:not(.canal-group-49) #content-wrapper,
body#category:not(.canal-group-49) #content-wrapper.left-column.right-column {
    padding: 32px 20px 40px !important;
}

/* Grid con gap más generoso */
body#category:not(.canal-group-49) .products,
body#category:not(.canal-group-49) #products .products,
body#category:not(.canal-group-49) #js-product-list .products {
    gap: 28px !important;
    margin: 24px 0 32px !important;
}

/* Más espacio entre el bloque "Hay 23 productos" y el grid */
body#category:not(.canal-group-49) #js-product-list-top {
    margin: 0 0 28px !important;
}

/* Badge NUEVO con padding más generoso */
body#category:not(.canal-group-49) .product-flag.new {
    padding: 5px 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
}

/* Wishlist heart con más espacio */
body#category:not(.canal-group-49) .wishlist-button-add,
body#category:not(.canal-group-49) [class*="wishlist"] button {
    width: 34px !important;
    height: 34px !important;
}

/* ============================================================
   v78i — Quitar marco cream alrededor del dropdown
   ============================================================ */

html body#category:not(.canal-group-49) .products-sort-order,
html body#category:not(.canal-group-49) .products-sort-order.dropdown,
body#category:not(.canal-group-49) .products-sort-order,
body#category:not(.canal-group-49) #js-product-list-top .products-sort-order {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* Por si la row .sort-by-row tiene también background */
body#category:not(.canal-group-49) .row.sort-by-row,
body#category:not(.canal-group-49) .sort-by-row {
    background: transparent !important;
    border: none !important;
}

/* ============================================================
   v78j — Quitar línea terracota + logo y título grandes
   + mostrar usuario/login en top bar
   ============================================================ */

/* === 1. Eliminar TODAS las líneas terracotas === */
.quemp-mini-header::before,
.quemp-mini-header::after {
    display: none !important;
    content: none !important;
}
.quemp-mini-header {
    border-top: none !important;
    border-bottom: none !important;
}
body#category:not(.canal-group-49) #header,
body#category:not(.canal-group-49) #header .header-nav {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* === 2. Logo MUCHO más grande === */
.quemp-logo {
    height: 80px !important;
    max-width: 280px !important;
    width: auto !important;
}

/* === 3. Título y tagline MUCHO más grandes === */
.quemp-tagline-line1 {
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 36px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.04em !important;
}
.quemp-tagline-line2 {
    font-size: 13px !important;
    margin-top: 8px !important;
    letter-spacing: 0.1em !important;
}
.quemp-tagline {
    border-left: 1px solid rgba(192, 90, 16, 0.4) !important;
    padding-left: 28px !important;
}
.quemp-mini-header {
    padding: 32px 16px !important;
}
.quemp-mini-header-inner {
    gap: 28px !important;
}

/* === 4. Top bar: MOSTRAR user-info (login o nombre) === */
html body.canal-group-50 .user-info,
html body.canal-group-50 #_desktop_user_info,
html body.canal-group-50 #_desktop_user_info .user-info,
html body#category.canal-group-50 .user-info,
html body#category.canal-group-50 #_desktop_user_info,
body#category:not(.canal-group-49) .user-info,
body#category:not(.canal-group-49) #_desktop_user_info,
body#category:not(.canal-group-49) .user-info .logout,
body#category:not(.canal-group-49) .user-info .account {
    display: inline-flex !important;
    visibility: visible !important;
    align-items: center !important;
    gap: 8px !important;
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
}

/* Estilo de los links del user-info */
body#category:not(.canal-group-49) .user-info a,
body#category:not(.canal-group-49) #_desktop_user_info a {
    color: #1a1a1a !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
body#category:not(.canal-group-49) .user-info a:hover {
    color: #C05A10 !important;
}

/* ============================================================
   v79 — Quitar selector de idioma del header (GLOBAL toda la web)
   ============================================================ */
#_desktop_language_selector,
.language-selector,
.language-selector-wrapper,
.language-selector.dropdown,
html body #_desktop_language_selector,
html body .language-selector {
    display: none !important;
    visibility: hidden !important;
}

/* ============================================================
   v80 — Unificar color top bar con zona del logo
   ============================================================ */

/* Top bar y todo el header: blanco puro como el mini-header */
body#category:not(.canal-group-49) #header,
body#category:not(.canal-group-49) #header .header-nav,
body#category:not(.canal-group-49) #header .header-top,
body#category:not(.canal-group-49) #header nav.header-nav,
body#category:not(.canal-group-49) #header .container,
html body#category:not(.canal-group-49) #header,
html body#category:not(.canal-group-49) #header .header-nav,
html body#category:not(.canal-group-49) #header .header-top {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
}

/* Mini-header también blanco puro (sin gradient ni tono cream) */
.quemp-mini-header {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: none !important;
}

/* Eliminar cualquier línea terracota residual entre top bar y mini-header */
body#category:not(.canal-group-49) #header::before,
body#category:not(.canal-group-49) #header::after,
body#category:not(.canal-group-49) #header .header-nav::before,
body#category:not(.canal-group-49) #header .header-nav::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
}

/* También para canal-49 si tuviera esa línea */
body.canal-group-49 #header::before,
body.canal-group-49 #header::after {
    display: none !important;
}

/* ============================================================
   v81 — Reducir espacio entre top bar y mini-header
   ============================================================ */

/* Header con padding mínimo */
body#category:not(.canal-group-49) #header,
body#category:not(.canal-group-49) #header .header-nav,
body#category:not(.canal-group-49) #header .header-top {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin: 0 !important;
}

body#category:not(.canal-group-49) #header .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Mini-header con menos padding superior */
.quemp-mini-header {
    padding: 16px 16px 24px !important;
    margin: 0 !important;
}

/* Eliminar márgenes residuales entre header y mini-header */
body#category:not(.canal-group-49) #header + * {
    margin-top: 0 !important;
}
body#category:not(.canal-group-49) #header {
    margin-bottom: 0 !important;
}

/* ============================================================
   v81b — Ocultar .header-top vacío (90px de aire en blanco)
   ============================================================ */
body#category:not(.canal-group-49) .header-top,
body#category:not(.canal-group-49) #header .header-top {
    display: none !important;
}

/* ============================================================
   v83 — 5 FIXES FINALES
   1) Centrar dropdown vertical
   2) Cards: foto 100% + precio en círculo + nombre overlay
   3) Botones paginación coherentes
   4) Quitar rectángulos extra body→footer
   5) Footer color único
   ============================================================ */

/* === 1. DROPDOWN CENTRADO VERTICAL === */
body#category:not(.canal-group-49) #js-product-list-top {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
}
body#category:not(.canal-group-49) .products-sort-order,
body#category:not(.canal-group-49) #js-product-list-top .products-sort-order {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
}
body#category:not(.canal-group-49) #js-product-list-top .total-products {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

/* === 2. CARDS: FOTO 100% + PRECIO EN CÍRCULO + NOMBRE OVERLAY === */

body#category:not(.canal-group-49) .js-product .product-miniature,
body#category:not(.canal-group-49) article.product-miniature,
body#category:not(.canal-group-49) .product-miniature .thumbnail-container {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
    border: 1px solid rgba(232, 220, 200, 0.5) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(26, 26, 26, 0.04) !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    display: block !important;
}
body#category:not(.canal-group-49) .product-miniature .thumbnail-container:hover {
    border-color: rgba(192, 90, 16, 0.4) !important;
    box-shadow: 0 6px 20px rgba(192, 90, 16, 0.15) !important;
}

/* Thumbnail ocupa TODO el card */
body#category:not(.canal-group-49) .js-product .thumbnail-top {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    background: #faf7f0 !important;
    z-index: 1 !important;
}
body#category:not(.canal-group-49) .js-product .thumbnail-top a.thumbnail,
body#category:not(.canal-group-49) .js-product .thumbnail-top a.product-thumbnail,
body#category:not(.canal-group-49) .js-product .thumbnail-top picture,
body#category:not(.canal-group-49) .js-product .thumbnail-top img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Description (nombre + precio) — overlay sobre la foto */
body#category:not(.canal-group-49) .js-product .product-description {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 3 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 70%, transparent 100%) !important;
    color: #ffffff !important;
    padding: 40px 16px 18px !important;
    text-align: center !important;
    border-top: none !important;
    min-height: 100px !important;
}

/* Nombre producto centrado abajo */
body#category:not(.canal-group-49) .js-product h2.product-title,
body#category:not(.canal-group-49) .js-product .product-title,
body#category:not(.canal-group-49) .js-product h3 {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    margin: 0 !important;
    padding-right: 60px !important;
    padding-left: 8px !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-shadow: 0 2px 6px rgba(0,0,0,0.7) !important;
    text-align: left !important;
}
body#category:not(.canal-group-49) .js-product h2.product-title a,
body#category:not(.canal-group-49) .js-product .product-title a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Precio en círculo terracota abajo derecha */
body#category:not(.canal-group-49) .js-product .product-price-and-shipping,
body#category:not(.canal-group-49) .js-product .price {
    position: absolute !important;
    bottom: 12px !important;
    right: 12px !important;
    z-index: 4 !important;
    background: #C05A10 !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(192, 90, 16, 0.4) !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* Badge NUEVO sobre foto - arriba izquierda */
body#category:not(.canal-group-49) .product-flag.new,
body#category:not(.canal-group-49) .product-flags {
    z-index: 4 !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
}

/* Wishlist heart arriba derecha */
body#category:not(.canal-group-49) .wishlist-button-add,
body#category:not(.canal-group-49) [class*="wishlist"] button {
    z-index: 4 !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: rgba(255,255,255,0.95) !important;
    color: #1a1a1a !important;
    border: 1px solid rgba(232,220,200,0.5) !important;
}

/* === 3. PAGINACIÓN — botones coherentes === */
body#category:not(.canal-group-49) .pagination {
    background: transparent !important;
    padding: 32px 0 !important;
    margin: 0 !important;
}
body#category:not(.canal-group-49) .page-list,
body#category:not(.canal-group-49) ul.page-list {
    display: inline-flex !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: transparent !important;
}
body#category:not(.canal-group-49) .page-list li {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
body#category:not(.canal-group-49) .page-list li a,
body#category:not(.canal-group-49) .page-list li span {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid rgba(232, 220, 200, 0.6) !important;
    border-radius: 6px !important;
    padding: 10px 18px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-width: 44px !important;
    justify-content: center !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
}
body#category:not(.canal-group-49) .page-list li a:hover {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
}
body#category:not(.canal-group-49) .page-list li.current a,
body#category:not(.canal-group-49) .page-list li.current,
body#category:not(.canal-group-49) .page-list li.active a {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
    box-shadow: 0 2px 8px rgba(192, 90, 16, 0.3) !important;
}

/* === 4. ELIMINAR RECTÁNGULOS ENTRE BODY Y FOOTER === */
body#category:not(.canal-group-49) #wrapper::after,
body#category:not(.canal-group-49) #wrapper::before,
body#category:not(.canal-group-49) #main::after,
body#category:not(.canal-group-49) #footer::before,
body#category:not(.canal-group-49) #footer::after,
body#category:not(.canal-group-49) #wrapper + *,
body#category:not(.canal-group-49) .footer-before,
body#category:not(.canal-group-49) [class*="footer-divider"] {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
    height: 0 !important;
}
body#category:not(.canal-group-49) #footer {
    border: none !important;
    border-top: none !important;
    margin: 0 !important;
}
body#category:not(.canal-group-49) #main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Eliminar cualquier hook que genere rectángulos */
body#category:not(.canal-group-49) .footer-container::before,
body#category:not(.canal-group-49) .footer-container::after {
    display: none !important;
    content: none !important;
}

/* === 5. FOOTER COLOR ÚNICO (todo el mismo marrón) === */
body#category:not(.canal-group-49) #footer,
body#category:not(.canal-group-49) #footer .container,
body#category:not(.canal-group-49) #footer .footer-container,
body#category:not(.canal-group-49) #footer .row,
body#category:not(.canal-group-49) #footer [class*="footer"],
body#category:not(.canal-group-49) footer#footer {
    background: #3e2418 !important;
    background-color: #3e2418 !important;
    color: rgba(255,255,255,0.7) !important;
    border: none !important;
}

/* Borrar la sección inferior diferenciada (donde estaba "© 2026 ...") */
body#category:not(.canal-group-49) #footer .container > *:last-child:not(.row),
body#category:not(.canal-group-49) #footer .footer-bottom,
body#category:not(.canal-group-49) #footer .copyright,
body#category:not(.canal-group-49) #footer-bottom {
    background: #3e2418 !important;
    background-color: #3e2418 !important;
    border: none !important;
    border-top: none !important;
}

body#category:not(.canal-group-49) #footer h3,
body#category:not(.canal-group-49) #footer h4 {
    color: #C05A10 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
body#category:not(.canal-group-49) #footer a {
    color: rgba(255,255,255,0.7) !important;
}
body#category:not(.canal-group-49) #footer a:hover {
    color: #C05A10 !important;
}

/* ============================================================
   v84 — FIX: Restaurar footer visible
   La regla #wrapper + * de v83 ocultaba el footer
   ============================================================ */

/* Forzar visibilidad del footer y elementos hermanos del wrapper */
body#category:not(.canal-group-49) #wrapper + *,
body#category:not(.canal-group-49) #footer,
body#category:not(.canal-group-49) footer#footer,
html body#category:not(.canal-group-49) #footer {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
}

/* Eliminar SOLO los rectángulos generados via pseudo-elementos (no elementos reales) */
body#category:not(.canal-group-49) #wrapper::after,
body#category:not(.canal-group-49) #wrapper::before,
body#category:not(.canal-group-49) #main::after,
body#category:not(.canal-group-49) #footer::before,
body#category:not(.canal-group-49) #footer::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
    height: 0 !important;
}

/* Footer visible, color marrón único */
body#category:not(.canal-group-49) #footer,
body#category:not(.canal-group-49) #footer .container,
body#category:not(.canal-group-49) #footer .footer-container,
html body#category:not(.canal-group-49) #footer {
    background: #3e2418 !important;
    background-color: #3e2418 !important;
    color: rgba(255,255,255,0.7) !important;
    border: none !important;
    padding: 40px 0 !important;
    display: block !important;
    visibility: visible !important;
}

/* ============================================================
   v85 — FIX doble burbuja precio + espacio dropdown
   ============================================================ */

/* === FIX 1: PRECIO solo UNA burbuja (no anidadas) === */
/* Solo el wrapper externo es círculo */
body#category:not(.canal-group-49) .js-product .product-price-and-shipping {
    position: absolute !important;
    bottom: 12px !important;
    right: 12px !important;
    z-index: 4 !important;
    background: #C05A10 !important;
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(192, 90, 16, 0.4) !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* El span .price interno: transparente, sin tamaño fijo, sin círculo */
body#category:not(.canal-group-49) .js-product .product-price-and-shipping .price,
body#category:not(.canal-group-49) .js-product .product-price-and-shipping span.price,
body#category:not(.canal-group-49) .js-product .price {
    position: static !important;
    background: transparent !important;
    background-color: transparent !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Oswald', sans-serif !important;
}

/* Sobreescribir reglas anteriores que ponían .price standalone como círculo */
body#category:not(.canal-group-49) .js-product .product-miniature > .price,
body#category:not(.canal-group-49) .js-product .product-description > .price {
    position: static !important;
    background: transparent !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* === FIX 2: Espacio entre "Ordenar por:" y dropdown === */
body#category:not(.canal-group-49) #js-product-list-top .products-sort-order > .label,
body#category:not(.canal-group-49) #js-product-list-top label[for*="sort"],
body#category:not(.canal-group-49) .products-sort-order .label {
    margin-right: 18px !important;
}
body#category:not(.canal-group-49) .products-sort-order {
    gap: 18px !important;
}

/* ============================================================
   v86 — Footer compacto + restaurar "made with Navyx"
   ============================================================ */

/* Reducir padding del footer */
body#category:not(.canal-group-49) #footer,
html body#category:not(.canal-group-49) #footer {
    padding: 24px 0 16px !important;
}

/* Reducir padding contenedor footer */
body#category:not(.canal-group-49) #footer .container,
body#category:not(.canal-group-49) #footer .footer-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Quitar margen extra de las columnas */
body#category:not(.canal-group-49) #footer .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body#category:not(.canal-group-49) #footer .row > div,
body#category:not(.canal-group-49) #footer .col,
body#category:not(.canal-group-49) #footer [class*="col-"] {
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}

/* Restaurar visibilidad del "© 2026 Quempanada.es — Website made with Navyx" */
body#category:not(.canal-group-49) #footer .footer-bottom,
body#category:not(.canal-group-49) #footer .copyright,
body#category:not(.canal-group-49) #footer-bottom,
body#category:not(.canal-group-49) #footer p.copyright,
body#category:not(.canal-group-49) #footer .container > *:last-child {
    display: block !important;
    visibility: visible !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.5) !important;
    text-align: center !important;
    font-size: 12px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    padding: 12px 0 4px !important;
    margin-top: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body#category:not(.canal-group-49) #footer .footer-bottom a,
body#category:not(.canal-group-49) #footer .copyright a {
    color: #C05A10 !important;
    text-decoration: none !important;
}
body#category:not(.canal-group-49) #footer .footer-bottom a:hover {
    color: #E07020 !important;
}

/* ============================================================
   v86b — Sustituir copyright PrestaShop por Navyx
   ============================================================ */

/* Ocultar el texto original "Software Ecommerce desarrollado por PrestaShop™" */
body#category:not(.canal-group-49) #footer .container > .row:last-child {
    position: relative !important;
    min-height: 36px !important;
    padding-top: 16px !important;
    margin-top: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: center !important;
}
body#category:not(.canal-group-49) #footer .container > .row:last-child > *,
body#category:not(.canal-group-49) #footer .container > .row:last-child a,
body#category:not(.canal-group-49) #footer .container > .row:last-child p {
    display: none !important;
    visibility: hidden !important;
}

/* Inyectar nuestro propio copyright Navyx */
body#category:not(.canal-group-49) #footer .container > .row:last-child::after {
    content: '© 2026 Quempanada.es — Website made with Navyx' !important;
    display: block !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    text-align: center !important;
    width: 100% !important;
    padding: 4px 0 !important;
    visibility: visible !important;
}

/* ============================================================
   v87 — Quitar duplicado del copyright "Navyx"
   ============================================================ */

/* QUITAR el ::after de TODAS las rows (era el que duplicaba) */
body#category:not(.canal-group-49) #footer .container > .row::after,
body#category:not(.canal-group-49) #footer .container > .row:last-child::after,
body#category:not(.canal-group-49) #footer .row::after {
    content: none !important;
    display: none !important;
}

/* Ocultar TODAS las rows que tengan el texto de copyright (cualquier fila con © o Software o PrestaShop) */
body#category:not(.canal-group-49) #footer .container > .row:last-child {
    display: none !important;
}

/* Inyectar el copyright UNA SOLA VEZ al final del footer entero */
body#category:not(.canal-group-49) #footer::after {
    content: '© 2026 Quempanada.es — Website made with Navyx' !important;
    display: block !important;
    visibility: visible !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    text-align: center !important;
    width: 100% !important;
    padding: 16px 0 12px !important;
    margin-top: 16px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: #3e2418 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ============================================================
   v88 — LOGIN DUAL: Horeca vs Empanada Club
   Detección via ?canal=horeca o ?canal=club
   ============================================================ */

/* ============= LOGIN HORECA (light) ============= */
body#authentication.login-canal-horeca,
html.login-canal-horeca body#authentication {
    background: #faf7f0 !important;
    color: #1a1a1a !important;
}
body#authentication.login-canal-horeca #header,
body#authentication.login-canal-horeca #header .header-nav {
    background: #ffffff !important;
    border-bottom: none !important;
}
body#authentication.login-canal-horeca .header-top {
    display: none !important;
}

/* Wrapper centrado */
body#authentication.login-canal-horeca #wrapper,
body#authentication.login-canal-horeca #main,
body#authentication.login-canal-horeca #content-wrapper {
    background: #faf7f0 !important;
    padding: 60px 20px !important;
}

/* Container del form */
body#authentication.login-canal-horeca #content {
    max-width: 480px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    padding: 40px 32px !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(192, 90, 16, 0.08) !important;
    border: 1px solid rgba(232, 220, 200, 0.6) !important;
}

/* Título */
body#authentication.login-canal-horeca h1 {
    color: #1a1a1a !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    text-align: center !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
}
body#authentication.login-canal-horeca h1::before {
    content: '¡QUEMPANADA!' !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #C05A10 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

/* Form inputs */
body#authentication.login-canal-horeca input[type="email"],
body#authentication.login-canal-horeca input[type="password"],
body#authentication.login-canal-horeca .form-control {
    background: #faf7f0 !important;
    border: 1px solid rgba(232, 220, 200, 0.8) !important;
    color: #1a1a1a !important;
    padding: 12px 16px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
}
body#authentication.login-canal-horeca input:focus {
    border-color: #C05A10 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(192, 90, 16, 0.1) !important;
}

/* Botón */
body#authentication.login-canal-horeca button[type="submit"],
body#authentication.login-canal-horeca .btn-primary {
    background: #C05A10 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}
body#authentication.login-canal-horeca button[type="submit"]:hover {
    background: #a04a08 !important;
}

/* Links de footer del form */
body#authentication.login-canal-horeca a {
    color: #C05A10 !important;
}
body#authentication.login-canal-horeca a:hover {
    color: #E07020 !important;
}

/* Breadcrumb */
body#authentication.login-canal-horeca .breadcrumb {
    display: none !important;
}


/* ============= LOGIN EMPANADA CLUB (dark) ============= */
body#authentication.login-canal-club,
html.login-canal-club body#authentication {
    background: #0a0a0a !important;
    color: #ffffff !important;
}
body#authentication.login-canal-club #header,
body#authentication.login-canal-club #header .header-nav {
    background: #0a0a0a !important;
    border-bottom: 1px solid #ccbb8e !important;
}
body#authentication.login-canal-club .header-top {
    display: none !important;
}
body#authentication.login-canal-club #wrapper,
body#authentication.login-canal-club #main,
body#authentication.login-canal-club #content-wrapper {
    background: #0a0a0a !important;
    padding: 60px 20px !important;
}

/* Container del form */
body#authentication.login-canal-club #content {
    max-width: 480px !important;
    margin: 0 auto !important;
    background: #1a1a1a !important;
    padding: 40px 32px !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
    border: 1px solid #2a2a2a !important;
}

/* Título */
body#authentication.login-canal-club h1 {
    color: #ffffff !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    text-align: center !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
}
body#authentication.login-canal-club h1::before {
    content: 'EMPANADA CLUB' !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #ccbb8e !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

/* Form inputs */
body#authentication.login-canal-club input[type="email"],
body#authentication.login-canal-club input[type="password"],
body#authentication.login-canal-club .form-control {
    background: #0a0a0a !important;
    border: 1px solid #2a2a2a !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
}
body#authentication.login-canal-club input:focus {
    border-color: #ccbb8e !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(204, 187, 142, 0.1) !important;
}

/* Botón */
body#authentication.login-canal-club button[type="submit"],
body#authentication.login-canal-club .btn-primary {
    background: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 32px !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}
body#authentication.login-canal-club button[type="submit"]:hover {
    background: #a3073b !important;
}

body#authentication.login-canal-club a {
    color: #ccbb8e !important;
}
body#authentication.login-canal-club a:hover {
    color: #ffffff !important;
}
body#authentication.login-canal-club label,
body#authentication.login-canal-club .form-group label {
    color: rgba(255,255,255,0.7) !important;
}
body#authentication.login-canal-club .breadcrumb {
    display: none !important;
}

/* Footer común para ambos canales — usar el existente */
body#authentication.login-canal-horeca #footer,
body#authentication.login-canal-club #footer {
    margin-top: 40px !important;
}

/* ============================================================
   v90 — LOGIN CLUB minimalista: solo form sobre fondo negro
   ============================================================ */

/* Ocultar TODO excepto el form */
body#authentication.login-canal-club #header,
body#authentication.login-canal-club .header-top,
body#authentication.login-canal-club .header-nav,
body#authentication.login-canal-club nav.q-nav-pages,
body#authentication.login-canal-club .quemp-mini-header,
body#authentication.login-canal-club .breadcrumb,
body#authentication.login-canal-club #footer,
body#authentication.login-canal-club footer,
html.login-canal-club body#authentication #header,
html.login-canal-club body#authentication #footer {
    display: none !important;
}

/* Body negro fullscreen */
body#authentication.login-canal-club,
html.login-canal-club body#authentication {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
}

/* Wrapper centra el form vertical y horizontal */
body#authentication.login-canal-club #wrapper,
body#authentication.login-canal-club #main {
    background: #0a0a0a !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

body#authentication.login-canal-club #content-wrapper,
body#authentication.login-canal-club .col-md-12 {
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Title encima del form */
body#authentication.login-canal-club h1 {
    text-align: center !important;
    margin: 0 0 28px !important;
}

/* Form en caja oscura */
body#authentication.login-canal-club #content {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 40px 32px !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5) !important;
}

/* ============================================================
   v90b — FIX layout club login centrado
   ============================================================ */

/* Reset complete del layout */
body#authentication.login-canal-club {
    background: #0a0a0a !important;
}

body#authentication.login-canal-club #wrapper,
body#authentication.login-canal-club #main {
    background: #0a0a0a !important;
    min-height: 100vh !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

/* Container que centra */
body#authentication.login-canal-club .container,
body#authentication.login-canal-club #main > .container,
body#authentication.login-canal-club #wrapper > .container {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 20px !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Row dentro del container */
body#authentication.login-canal-club .container > .row,
body#authentication.login-canal-club #content-wrapper {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    flex: none !important;
}

/* Columna del form */
body#authentication.login-canal-club .col-md-12,
body#authentication.login-canal-club [class*="col-"] {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex: 0 0 100% !important;
}

/* Title arriba del form */
body#authentication.login-canal-club h1 {
    text-align: center !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: none !important;
    color: #ffffff !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    width: 100% !important;
    display: block !important;
}

body#authentication.login-canal-club h1::before {
    content: 'EMPANADA CLUB' !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #ccbb8e !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
}

/* Form en caja oscura */
body#authentication.login-canal-club #content {
    background: #1a1a1a !important;
    border: 1px solid #2a2a2a !important;
    border-radius: 8px !important;
    padding: 36px 30px !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5) !important;
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}

/* Form fields */
body#authentication.login-canal-club .login-form {
    width: 100% !important;
}
body#authentication.login-canal-club .form-group {
    margin-bottom: 16px !important;
}

/* Labels y inputs */
body#authentication.login-canal-club label,
body#authentication.login-canal-club .form-control-label,
body#authentication.login-canal-club .form-group label {
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
}

body#authentication.login-canal-club input[type="email"],
body#authentication.login-canal-club input[type="password"],
body#authentication.login-canal-club .form-control {
    background: #0a0a0a !important;
    border: 1px solid #2a2a2a !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    width: 100% !important;
    display: block !important;
}

/* Botón mostrar password */
body#authentication.login-canal-club button[type="button"][data-action*="show-password"],
body#authentication.login-canal-club .input-group-btn button {
    background: #2a2a2a !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border: 1px solid #2a2a2a !important;
}

/* Botón submit */
body#authentication.login-canal-club button[type="submit"],
body#authentication.login-canal-club .btn-primary {
    background: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 24px !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 13px !important;
    width: 100% !important;
    cursor: pointer !important;
    margin-top: 8px !important;
}
body#authentication.login-canal-club button[type="submit"]:hover {
    background: #a3073b !important;
}

/* Links */
body#authentication.login-canal-club a {
    color: #ccbb8e !important;
    text-decoration: none !important;
}
body#authentication.login-canal-club a:hover {
    color: #ffffff !important;
}

/* "¿Olvidó contraseña?" link sutil */
body#authentication.login-canal-club .forgot-password,
body#authentication.login-canal-club a[href*="password"] {
    display: block !important;
    text-align: center !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
}

/* "¿No tiene una cuenta?" footer del form */
body#authentication.login-canal-club .no-account {
    text-align: center !important;
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid #2a2a2a !important;
}
body#authentication.login-canal-club .no-account a {
    font-size: 13px !important;
}

/* Hr separador oculto/sutil */
body#authentication.login-canal-club hr {
    border: none !important;
    margin: 16px 0 !important;
}

/* ============================================================
   v90c — FIX final club login layout (sin flex)
   ============================================================ */

/* Reset agresivo - quitar flex, usar margin auto */
html body#authentication.login-canal-club .container,
html body#authentication.login-canal-club #main > .container,
html body#authentication.login-canal-club #wrapper > .container {
    display: block !important;
    min-height: auto !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important;
    align-items: initial !important;
    justify-content: initial !important;
}

html body#authentication.login-canal-club #wrapper,
html body#authentication.login-canal-club #main {
    display: block !important;
    min-height: 100vh !important;
    width: 100% !important;
    background: #0a0a0a !important;
    padding-top: 5vh !important;
    align-items: initial !important;
    justify-content: initial !important;
}

/* Asegurar que rows y cols se expanden */
html body#authentication.login-canal-club .row,
html body#authentication.login-canal-club #content-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body#authentication.login-canal-club [class*="col-"] {
    display: block !important;
    width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}

/* Form garantizado visible */
html body#authentication.login-canal-club form,
html body#authentication.login-canal-club .login-form,
html body#authentication.login-canal-club section.login-form {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
}

/* ============================================================
   v90d — FIX botón submit width 0
   ============================================================ */

html body#authentication.login-canal-club button[type="submit"],
html body#authentication.login-canal-club .form-control-submit,
html body#authentication.login-canal-club .btn-primary,
html body#authentication.login-canal-club .login-form button {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #c40947 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 13px !important;
    cursor: pointer !important;
    margin: 12px 0 0 !important;
    padding: 0 24px !important;
    flex-shrink: 0 !important;
}

html body#authentication.login-canal-club button[type="submit"]:hover {
    background: #a3073b !important;
}

/* Asegurar que el footer del form (donde está el btn) ocupa width 100% */
html body#authentication.login-canal-club .form-footer,
html body#authentication.login-canal-club .login-form .form-footer {
    width: 100% !important;
    display: block !important;
    margin-top: 8px !important;
}

/* ============================================================
   v91 — Arreglar bordes inputs login Club (visibles)
   ============================================================ */

/* Inputs con borde visible */
html body#authentication.login-canal-club input[type="email"],
html body#authentication.login-canal-club input[type="password"],
html body#authentication.login-canal-club input[type="text"],
html body#authentication.login-canal-club .form-control {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    border: 1px solid #3a3a3a !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    width: 100% !important;
    height: 44px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

html body#authentication.login-canal-club input[type="email"]:focus,
html body#authentication.login-canal-club input[type="password"]:focus,
html body#authentication.login-canal-club input:focus {
    border-color: #ccbb8e !important;
    background: #0a0a0a !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(204, 187, 142, 0.12) !important;
}

/* Input group (password con botón MOSTRAR) — alineación perfecta */
html body#authentication.login-canal-club .input-group {
    display: flex !important;
    width: 100% !important;
    align-items: stretch !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: 1px solid #3a3a3a !important;
    background: #0a0a0a !important;
}

/* Dentro de input-group, el input pierde su propio borde */
html body#authentication.login-canal-club .input-group input[type="password"],
html body#authentication.login-canal-club .input-group input[type="text"] {
    border: none !important;
    border-radius: 0 !important;
    flex: 1 !important;
    height: 44px !important;
    box-shadow: none !important;
}

html body#authentication.login-canal-club .input-group input:focus {
    box-shadow: none !important;
}

/* Botón MOSTRAR alineado a la derecha del password */
html body#authentication.login-canal-club .input-group-btn,
html body#authentication.login-canal-club .input-group-append {
    display: flex !important;
    align-items: stretch !important;
    height: 44px !important;
}

html body#authentication.login-canal-club .input-group-btn button,
html body#authentication.login-canal-club .input-group-append button,
html body#authentication.login-canal-club button[data-action*="show-password"] {
    background: #1a1a1a !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border: none !important;
    border-left: 1px solid #3a3a3a !important;
    border-radius: 0 !important;
    padding: 0 18px !important;
    height: 44px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: auto !important;
    min-width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
}

html body#authentication.login-canal-club .input-group-btn button:hover {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

/* Focus state del input-group entero */
html body#authentication.login-canal-club .input-group:focus-within {
    border-color: #ccbb8e !important;
    box-shadow: 0 0 0 3px rgba(204, 187, 142, 0.12) !important;
}

/* Cuando input-group tiene focus, el border-left del botón también se actualiza */
html body#authentication.login-canal-club .input-group:focus-within .input-group-btn button {
    border-left-color: #ccbb8e !important;
}

/* ============================================================
   v92 — Login Horeca minimalista (cream/light)
   Mismo layout que Club pero colores light
   ============================================================ */

/* Ocultar TODO excepto el form */
body#authentication.login-canal-horeca #header,
body#authentication.login-canal-horeca .header-top,
body#authentication.login-canal-horeca .header-nav,
body#authentication.login-canal-horeca nav.q-nav-pages,
body#authentication.login-canal-horeca .quemp-mini-header,
body#authentication.login-canal-horeca .breadcrumb,
body#authentication.login-canal-horeca #footer,
body#authentication.login-canal-horeca footer,
html.login-canal-horeca body#authentication #header,
html.login-canal-horeca body#authentication #footer {
    display: none !important;
}

/* Body cream fullscreen */
body#authentication.login-canal-horeca,
html.login-canal-horeca body#authentication {
    background: #faf7f0 !important;
    background-color: #faf7f0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
}

/* Wrapper */
html body#authentication.login-canal-horeca #wrapper,
html body#authentication.login-canal-horeca #main {
    display: block !important;
    min-height: 100vh !important;
    width: 100% !important;
    background: #faf7f0 !important;
    padding-top: 5vh !important;
    margin: 0 !important;
    align-items: initial !important;
    justify-content: initial !important;
}

/* Container centra el form */
html body#authentication.login-canal-horeca .container,
html body#authentication.login-canal-horeca #main > .container,
html body#authentication.login-canal-horeca #wrapper > .container {
    display: block !important;
    min-height: auto !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    padding: 60px 20px !important;
    align-items: initial !important;
    justify-content: initial !important;
}

html body#authentication.login-canal-horeca .row,
html body#authentication.login-canal-horeca #content-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body#authentication.login-canal-horeca [class*="col-"] {
    display: block !important;
    width: 100% !important;
    flex: none !important;
    padding: 0 !important;
}

/* Title arriba del form */
html body#authentication.login-canal-horeca h1 {
    text-align: center !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: none !important;
    color: #1a1a1a !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    width: 100% !important;
    display: block !important;
}

html body#authentication.login-canal-horeca h1::before {
    content: '¡QUEMPANADA!' !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #C05A10 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
}

/* Form en caja blanca */
html body#authentication.login-canal-horeca #content {
    background: #ffffff !important;
    border: 1px solid rgba(232, 220, 200, 0.8) !important;
    border-radius: 8px !important;
    padding: 36px 30px !important;
    box-shadow: 0 12px 48px rgba(192, 90, 16, 0.08) !important;
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto !important;
}

/* Labels */
html body#authentication.login-canal-horeca label,
html body#authentication.login-canal-horeca .form-control-label,
html body#authentication.login-canal-horeca .form-group label {
    color: rgba(26, 26, 26, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
}

/* Inputs con borde visible */
html body#authentication.login-canal-horeca input[type="email"],
html body#authentication.login-canal-horeca input[type="password"],
html body#authentication.login-canal-horeca input[type="text"],
html body#authentication.login-canal-horeca .form-control {
    background: #faf7f0 !important;
    background-color: #faf7f0 !important;
    border: 1px solid #e0d4b8 !important;
    color: #1a1a1a !important;
    padding: 12px 14px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    width: 100% !important;
    height: 44px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
}

html body#authentication.login-canal-horeca input:focus {
    border-color: #C05A10 !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(192, 90, 16, 0.12) !important;
}

/* Input group (password con botón MOSTRAR) */
html body#authentication.login-canal-horeca .input-group {
    display: flex !important;
    width: 100% !important;
    align-items: stretch !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: 1px solid #e0d4b8 !important;
    background: #faf7f0 !important;
}

html body#authentication.login-canal-horeca .input-group input[type="password"],
html body#authentication.login-canal-horeca .input-group input[type="text"] {
    border: none !important;
    border-radius: 0 !important;
    flex: 1 !important;
    height: 44px !important;
    box-shadow: none !important;
}

html body#authentication.login-canal-horeca .input-group input:focus {
    box-shadow: none !important;
}

html body#authentication.login-canal-horeca .input-group-btn,
html body#authentication.login-canal-horeca .input-group-append {
    display: flex !important;
    align-items: stretch !important;
    height: 44px !important;
}

html body#authentication.login-canal-horeca .input-group-btn button,
html body#authentication.login-canal-horeca .input-group-append button,
html body#authentication.login-canal-horeca button[data-action*="show-password"] {
    background: #ffffff !important;
    color: rgba(26, 26, 26, 0.7) !important;
    border: none !important;
    border-left: 1px solid #e0d4b8 !important;
    border-radius: 0 !important;
    padding: 0 18px !important;
    height: 44px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin: 0 !important;
    width: auto !important;
    min-width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
}

html body#authentication.login-canal-horeca .input-group-btn button:hover {
    background: #f0e8d8 !important;
    color: #1a1a1a !important;
}

html body#authentication.login-canal-horeca .input-group:focus-within {
    border-color: #C05A10 !important;
    box-shadow: 0 0 0 3px rgba(192, 90, 16, 0.12) !important;
}

html body#authentication.login-canal-horeca .input-group:focus-within .input-group-btn button {
    border-left-color: #C05A10 !important;
}

/* Botón submit terracota */
html body#authentication.login-canal-horeca button[type="submit"],
html body#authentication.login-canal-horeca .form-control-submit,
html body#authentication.login-canal-horeca .btn-primary,
html body#authentication.login-canal-horeca .login-form button {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 48px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #C05A10 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 13px !important;
    cursor: pointer !important;
    margin: 12px 0 0 !important;
    padding: 0 24px !important;
    flex-shrink: 0 !important;
}

html body#authentication.login-canal-horeca button[type="submit"]:hover {
    background: #a04a08 !important;
}

/* Form group spacing */
html body#authentication.login-canal-horeca .form-group {
    margin-bottom: 16px !important;
    width: 100% !important;
}

/* "¿Olvidó contraseña?" link */
html body#authentication.login-canal-horeca .forgot-password,
html body#authentication.login-canal-horeca a[href*="password"] {
    display: block !important;
    text-align: center !important;
    margin: 12px 0 !important;
    font-size: 13px !important;
    color: #C05A10 !important;
}

/* "¿No tiene una cuenta?" footer del form */
html body#authentication.login-canal-horeca .no-account {
    text-align: center !important;
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(232, 220, 200, 0.8) !important;
}
html body#authentication.login-canal-horeca .no-account a {
    color: #C05A10 !important;
    font-size: 13px !important;
}
html body#authentication.login-canal-horeca a {
    color: #C05A10 !important;
    text-decoration: none !important;
}
html body#authentication.login-canal-horeca a:hover {
    color: #a04a08 !important;
}

html body#authentication.login-canal-horeca hr {
    border: none !important;
    margin: 16px 0 !important;
}

/* Form footer (donde está el botón) */
html body#authentication.login-canal-horeca .form-footer,
html body#authentication.login-canal-horeca .login-form .form-footer {
    width: 100% !important;
    display: block !important;
    margin-top: 8px !important;
}

/* Form garantizado visible */
html body#authentication.login-canal-horeca form,
html body#authentication.login-canal-horeca .login-form,
html body#authentication.login-canal-horeca section.login-form {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
}

/* ============================================================
   v93 — Fix botón MOSTRAR del login Horeca
   Específico para button[type="button"] dentro de .input-group-btn
   ============================================================ */

html body#authentication.login-canal-horeca .input-group-btn button,
html body#authentication.login-canal-horeca .input-group .input-group-btn button[type="button"],
html body#authentication.login-canal-horeca .input-group span.input-group-btn button,
html body#authentication.login-canal-horeca button[type="button"].btn,
html body#authentication.login-canal-horeca .input-group-btn .btn {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: rgba(26, 26, 26, 0.6) !important;
    border: none !important;
    border-left: 1px solid #e0d4b8 !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    height: 44px !important;
    width: auto !important;
    min-width: 90px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html body#authentication.login-canal-horeca .input-group-btn button:hover,
html body#authentication.login-canal-horeca button[type="button"].btn:hover {
    background: #f0e8d8 !important;
    color: #1a1a1a !important;
}

/* Re-asegurar input-group height 44px (no 48) */
html body#authentication.login-canal-horeca .input-group {
    height: 44px !important;
    border: 1px solid #e0d4b8 !important;
    background: #faf7f0 !important;
}

html body#authentication.login-canal-horeca .input-group input[type="password"],
html body#authentication.login-canal-horeca .input-group input[type="text"] {
    height: 42px !important;
    background: transparent !important;
    border: none !important;
}

html body#authentication.login-canal-horeca .input-group-btn,
html body#authentication.login-canal-horeca .input-group span.input-group-btn {
    height: 44px !important;
    display: inline-flex !important;
    align-items: stretch !important;
}

/* Mismo arreglo para Club por si acaso */
html body#authentication.login-canal-club .input-group-btn button,
html body#authentication.login-canal-club button[type="button"].btn,
html body#authentication.login-canal-club .input-group-btn .btn {
    background: #1a1a1a !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border: none !important;
    border-left: 1px solid #3a3a3a !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    height: 44px !important;
    width: auto !important;
    min-width: 90px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
}

html body#authentication.login-canal-club .input-group-btn button:hover {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

/* ============================================================
   v94 — Botón flecha atrás en login (ambos canales)
   ============================================================ */

/* === HORECA (cream/light) === */
html body#authentication.login-canal-horeca .quemp-back-home {
    position: fixed !important;
    top: 24px !important;
    left: 24px !important;
    z-index: 100 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #e0d4b8 !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(192, 90, 16, 0.08) !important;
    cursor: pointer !important;
}

html body#authentication.login-canal-horeca .quemp-back-home:hover {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-color: #C05A10 !important;
    transform: translateX(-2px) !important;
    box-shadow: 0 4px 16px rgba(192, 90, 16, 0.25) !important;
}

html body#authentication.login-canal-horeca .quemp-back-arrow {
    font-size: 18px !important;
    line-height: 1 !important;
    transition: transform 0.2s ease !important;
}

html body#authentication.login-canal-horeca .quemp-back-home:hover .quemp-back-arrow {
    transform: translateX(-3px) !important;
}

/* === CLUB (dark) === */
html body#authentication.login-canal-club .quemp-back-home {
    position: fixed !important;
    top: 24px !important;
    left: 24px !important;
    z-index: 100 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    background: #1a1a1a !important;
    color: #ccbb8e !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    cursor: pointer !important;
}

html body#authentication.login-canal-club .quemp-back-home:hover {
    background: #ccbb8e !important;
    color: #0a0a0a !important;
    border-color: #ccbb8e !important;
    transform: translateX(-2px) !important;
    box-shadow: 0 4px 16px rgba(204, 187, 142, 0.3) !important;
}

html body#authentication.login-canal-club .quemp-back-arrow {
    font-size: 18px !important;
    line-height: 1 !important;
    transition: transform 0.2s ease !important;
}

html body#authentication.login-canal-club .quemp-back-home:hover .quemp-back-arrow {
    transform: translateX(-3px) !important;
}

/* Responsive: en móvil hacer el botón más compacto */
@media (max-width: 600px) {
    html body#authentication.login-canal-horeca .quemp-back-home,
    html body#authentication.login-canal-club .quemp-back-home {
        padding: 8px 14px !important;
        font-size: 11px !important;
        top: 16px !important;
        left: 16px !important;
    }
    html body#authentication.login-canal-horeca .quemp-back-text,
    html body#authentication.login-canal-club .quemp-back-text {
        display: none !important;
    }
}

/* Por defecto (sin canal) NO mostrar el botón */
body#authentication:not(.login-canal-horeca):not(.login-canal-club) .quemp-back-home {
    display: none !important;
}

/* ============================================================
   v94b — Quitar botón volver del login Club (solo Horeca)
   ============================================================ */
html body#authentication.login-canal-club .quemp-back-home,
body#authentication.login-canal-club .quemp-back-home {
    display: none !important;
    visibility: hidden !important;
}

/* ============================================================
   v100 — Página producto Horeca minimalista
   body#product NOT canal-49: limpieza + estética cream
   ============================================================ */

/* === HEADER: ocultar elementos innecesarios === */
body#product:not(.canal-group-49) .header-top {
    background: #faf7f0 !important;
}
body#product:not(.canal-group-49) #contact-link,
body#product:not(.canal-group-49) #_desktop_contact_link,
body#product:not(.canal-group-49) .search-widget,
body#product:not(.canal-group-49) #search_widget {
    display: none !important;
}

/* === BREADCRUMB sutil === */
body#product:not(.canal-group-49) .breadcrumb {
    background: transparent !important;
    border: none !important;
    padding: 16px 0 !important;
    margin: 0 0 20px !important;
}
body#product:not(.canal-group-49) .breadcrumb a,
body#product:not(.canal-group-49) .breadcrumb span {
    color: rgba(26, 26, 26, 0.6) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-style: normal !important;
    font-size: 12px !important;
}
body#product:not(.canal-group-49) .breadcrumb li.current span {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

/* === TÍTULO PRODUCTO === */
body#product:not(.canal-group-49) h1.h1,
body#product:not(.canal-group-49) h1 {
    color: #1a1a1a !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 32px !important;
    border-left: 3px solid #C05A10 !important;
    padding-left: 16px !important;
    margin-bottom: 16px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* === PRECIO === */
body#product:not(.canal-group-49) .product-prices,
body#product:not(.canal-group-49) .current-price,
body#product:not(.canal-group-49) .product-price {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin: 8px 0 !important;
    padding: 0 !important;
}

body#product:not(.canal-group-49) .tax-shipping-delivery-label {
    color: rgba(26, 26, 26, 0.5) !important;
    font-size: 11px !important;
    font-style: italic !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    margin-bottom: 16px !important;
}

/* === CANTIDAD + BOTÓN === */
body#product:not(.canal-group-49) .product-add-to-cart .qty,
body#product:not(.canal-group-49) .product-quantity .qty {
    margin-right: 12px !important;
}

body#product:not(.canal-group-49) .product-quantity .input-group,
body#product:not(.canal-group-49) .bootstrap-touchspin {
    border: 1px solid #e0d4b8 !important;
    border-radius: 4px !important;
    background: #faf7f0 !important;
}

body#product:not(.canal-group-49) input.js-cart-line-product-quantity,
body#product:not(.canal-group-49) input[name="qty"] {
    background: transparent !important;
    border: none !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* Botón "Añadir al carrito" */
body#product:not(.canal-group-49) .add-to-cart,
body#product:not(.canal-group-49) button.add-to-cart {
    background: #C05A10 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    box-shadow: 0 4px 12px rgba(192, 90, 16, 0.25) !important;
    transition: all 0.2s ease !important;
}
body#product:not(.canal-group-49) .add-to-cart:hover {
    background: #a04a08 !important;
    box-shadow: 0 6px 18px rgba(192, 90, 16, 0.35) !important;
}

/* Heart wishlist sutil */
body#product:not(.canal-group-49) .wishlist-button-product,
body#product:not(.canal-group-49) [class*="wishlist-button"] {
    background: #ffffff !important;
    border: 1px solid #e0d4b8 !important;
    color: #1a1a1a !important;
    border-radius: 999px !important;
    width: 44px !important;
    height: 44px !important;
}

/* En stock label sutil */
body#product:not(.canal-group-49) .product-availability {
    color: #5a8a3a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin: 16px 0 !important;
}

/* === OCULTAR ELEMENTOS NO BIENVENIDOS === */
/* Sharing social */
body#product:not(.canal-group-49) .social-sharing,
body#product:not(.canal-group-49) .product-share,
body#product:not(.canal-group-49) [class*="social-share"] {
    display: none !important;
}

/* Botón "Escriba su propia reseña" */
body#product:not(.canal-group-49) .write-product-review,
body#product:not(.canal-group-49) #post-product-comment-modal,
body#product:not(.canal-group-49) .btn-comment,
body#product:not(.canal-group-49) [data-target*="post-product-comment"],
body#product:not(.canal-group-49) [class*="post-product-comment"] {
    display: none !important;
}

/* Reseñas / comentarios */
body#product:not(.canal-group-49) #product-comments-list,
body#product:not(.canal-group-49) .product-comments,
body#product:not(.canal-group-49) #product-comments-list-header,
body#product:not(.canal-group-49) .product-comments__items,
body#product:not(.canal-group-49) [id*="product-comment"] {
    display: none !important;
}

/* Customer reassurance: ocultar bloques con "(edit with..." */
body#product:not(.canal-group-49) .block-reassurance,
body#product:not(.canal-group-49) #block-reassurance {
    display: none !important;
}

/* === DETALLES DEL PRODUCTO: limpiar === */
body#product:not(.canal-group-49) .product-tabs,
body#product:not(.canal-group-49) #product-details {
    background: transparent !important;
    border: 1px solid rgba(232, 220, 200, 0.6) !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-top: 24px !important;
}

body#product:not(.canal-group-49) .tab-pane h4,
body#product:not(.canal-group-49) #product-details h1 {
    color: #1a1a1a !important;
    font-family: 'Playfair Display', serif !important;
    border: none !important;
    padding: 0 !important;
    font-size: 18px !important;
    margin-bottom: 16px !important;
}

/* Ocultar referencias, EAN, estado nuevo de la tab "Detalles" */
body#product:not(.canal-group-49) .product-reference,
body#product:not(.canal-group-49) [class*="reference"],
body#product:not(.canal-group-49) .product-quantities,
body#product:not(.canal-group-49) [class*="quantities"]:not(.product-quantity),
body#product:not(.canal-group-49) .product-features,
body#product:not(.canal-group-49) .product-condition,
body#product:not(.canal-group-49) .product-out-of-stock,
body#product:not(.canal-group-49) [data-link-action="product-ean13"] {
    display: none !important;
}

/* === BODY GENERAL: fondo cream + spacing === */
body#product:not(.canal-group-49) {
    background: #faf7f0 !important;
}

body#product:not(.canal-group-49) #wrapper,
body#product:not(.canal-group-49) #content-wrapper {
    background: #faf7f0 !important;
    padding-top: 0 !important;
}

body#product:not(.canal-group-49) .product-container,
body#product:not(.canal-group-49) #content {
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 32px !important;
    box-shadow: 0 2px 8px rgba(192, 90, 16, 0.05) !important;
    margin-top: 16px !important;
}

/* Foto del producto cuadrada con borde sutil */
body#product:not(.canal-group-49) .product-cover,
body#product:not(.canal-group-49) .images-container {
    border: 1px solid rgba(232, 220, 200, 0.5) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #faf7f0 !important;
}
body#product:not(.canal-group-49) .product-cover img,
body#product:not(.canal-group-49) .js-qv-product-cover {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Badge NUEVO sobre foto */
body#product:not(.canal-group-49) .product-flag.new {
    background: #C05A10 !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 4px 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}

/* ============================================================
   v100b — Ocultar blockreassurance_product en producto Horeca
   ============================================================ */
body#product:not(.canal-group-49) .blockreassurance_product,
body#product:not(.canal-group-49) div.blockreassurance_product,
body#product:not(.canal-group-49) #blockreassurance_product,
body#product:not(.canal-group-49) [class*="blockreassurance"],
body#product:not(.canal-group-49) [id*="blockreassurance"],
html body#product:not(.canal-group-49) .blockreassurance_product {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* ============================================================
   v100c — Limpiar espacios vacíos entre body y footer en producto
   ============================================================ */

/* Ocultar el primer .container vacío del footer */
body#product:not(.canal-group-49) #footer > .container:first-child {
    display: none !important;
}

/* Footer padding reducido */
body#product:not(.canal-group-49) #footer {
    padding: 32px 0 16px !important;
    margin: 0 !important;
}

/* Pseudo-elementos eliminados */
body#product:not(.canal-group-49) #footer::before,
body#product:not(.canal-group-49) #footer::after,
body#product:not(.canal-group-49) #main::after,
body#product:not(.canal-group-49) #wrapper::after {
    display: none !important;
    content: none !important;
    height: 0 !important;
}

/* Asegurar fondo único marrón sin separadores */
body#product:not(.canal-group-49) #footer,
body#product:not(.canal-group-49) #footer .footer-container,
body#product:not(.canal-group-49) #footer .row {
    background: #4a2f1b !important;
    background-color: #4a2f1b !important;
    border-top: none !important;
    border-bottom: none !important;
}

/* Conexión directa: main sin margin/padding bottom */
body#product:not(.canal-group-49) #main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Sustituir copyright PrestaShop por Navyx */
body#product:not(.canal-group-49) #footer .container > .row:last-child {
    position: relative !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-top: 16px !important;
    padding-top: 12px !important;
}
body#product:not(.canal-group-49) #footer .container > .row:last-child > *,
body#product:not(.canal-group-49) #footer .container > .row:last-child a {
    display: none !important;
}
body#product:not(.canal-group-49) #footer .container > .row:last-child::after {
    content: '© 2026 Quempanada.es — Website made with Navyx' !important;
    display: block !important;
    text-align: center !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    padding: 4px 0 !important;
    width: 100% !important;
}

/* ============================================================
   v101 — Página carrito/checkout Horeca MINIMALISTA
   Sin header, sin footer, solo el carrito centrado
   ============================================================ */

/* Ocultar TODO menos el contenido del carrito */
body#cart:not(.canal-group-49) #header,
body#cart:not(.canal-group-49) .header-top,
body#cart:not(.canal-group-49) .header-nav,
body#cart:not(.canal-group-49) nav.q-nav-pages,
body#cart:not(.canal-group-49) .quemp-mini-header,
body#cart:not(.canal-group-49) .breadcrumb,
body#cart:not(.canal-group-49) #footer,
body#cart:not(.canal-group-49) footer,
body#cart:not(.canal-group-49) .blockreassurance_product,
body#cart:not(.canal-group-49) [class*="blockreassurance"],
body#cart:not(.canal-group-49) #blockreassurance,
body#cart:not(.canal-group-49) .block-reassurance {
    display: none !important;
}

/* Body cream fullscreen */
body#cart:not(.canal-group-49),
html body#cart:not(.canal-group-49) {
    background: #faf7f0 !important;
    background-color: #faf7f0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 100vh !important;
}

/* Wrapper centrado */
html body#cart:not(.canal-group-49) #wrapper,
html body#cart:not(.canal-group-49) #main {
    background: #faf7f0 !important;
    min-height: 100vh !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 5vh !important;
}

/* Container del carrito centrado */
body#cart:not(.canal-group-49) .container,
body#cart:not(.canal-group-49) #content-wrapper {
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Título "CARRITO" elegante */
body#cart:not(.canal-group-49) h1.h1,
body#cart:not(.canal-group-49) h1 {
    color: #1a1a1a !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 36px !important;
    text-align: center !important;
    margin: 0 0 32px !important;
    border: none !important;
    padding: 0 !important;
}

body#cart:not(.canal-group-49) h1::before {
    content: '¡QUEMPANADA!' !important;
    display: block !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #C05A10 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

/* Cards del carrito (CARRITO + resumen) */
body#cart:not(.canal-group-49) .card,
body#cart:not(.canal-group-49) .cart-grid,
body#cart:not(.canal-group-49) .cart-grid-body,
body#cart:not(.canal-group-49) .cart-grid-right,
body#cart:not(.canal-group-49) .card-block,
body#cart:not(.canal-group-49) .cart-container,
body#cart:not(.canal-group-49) .cart-summary {
    background: #ffffff !important;
    border: 1px solid rgba(232, 220, 200, 0.6) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(192, 90, 16, 0.06) !important;
    padding: 24px !important;
}

/* Quitar redundancia (cards anidadas) */
body#cart:not(.canal-group-49) .cart-grid .card-block {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Item del producto en el carrito */
body#cart:not(.canal-group-49) .product-line__title,
body#cart:not(.canal-group-49) .product-line-grid-body a {
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-size: 15px !important;
}
body#cart:not(.canal-group-49) .product-line__title:hover {
    color: #C05A10 !important;
}

body#cart:not(.canal-group-49) .product-price {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}

/* Botón FINALIZAR COMPRA */
body#cart:not(.canal-group-49) .btn-primary,
body#cart:not(.canal-group-49) a.btn-primary,
body#cart:not(.canal-group-49) .cart-detailed-actions .btn,
body#cart:not(.canal-group-49) button.checkout {
    background: #C05A10 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    width: 100% !important;
    box-shadow: 0 4px 14px rgba(192, 90, 16, 0.3) !important;
    transition: all 0.2s ease !important;
}
body#cart:not(.canal-group-49) .btn-primary:hover {
    background: #a04a08 !important;
    box-shadow: 0 6px 20px rgba(192, 90, 16, 0.4) !important;
}

/* Continuar comprando link */
body#cart:not(.canal-group-49) .label.js-show-on-error,
body#cart:not(.canal-group-49) a[href*="categoria"]:not(.btn),
body#cart:not(.canal-group-49) .continue {
    color: #C05A10 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* Botón volver al inicio (similar al de login) */
body#cart:not(.canal-group-49) .container::before {
    content: '← VOLVER AL INICIO' !important;
    position: fixed !important;
    top: 24px !important;
    left: 24px !important;
    z-index: 100 !important;
    background: #ffffff !important;
    color: #1a1a1a !important;
    border: 1px solid #e0d4b8 !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    box-shadow: 0 2px 8px rgba(192, 90, 16, 0.08) !important;
    cursor: pointer !important;
}

/* Touchspin cantidad */
body#cart:not(.canal-group-49) .input-group.bootstrap-touchspin {
    border: 1px solid #e0d4b8 !important;
    background: #faf7f0 !important;
    border-radius: 4px !important;
}
body#cart:not(.canal-group-49) input.js-cart-line-product-quantity {
    background: transparent !important;
    color: #1a1a1a !important;
    border: none !important;
    text-align: center !important;
    font-weight: 700 !important;
}

/* Cart summary line */
body#cart:not(.canal-group-49) .cart-summary-line {
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(232, 220, 200, 0.5) !important;
    display: flex !important;
    justify-content: space-between !important;
}
body#cart:not(.canal-group-49) .cart-summary-line:last-child {
    border-bottom: none !important;
}
body#cart:not(.canal-group-49) .cart-summary-line .label {
    color: rgba(26, 26, 26, 0.7) !important;
}
body#cart:not(.canal-group-49) .cart-summary-line .value {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

/* Total destacado */
body#cart:not(.canal-group-49) .cart-total,
body#cart:not(.canal-group-49) .cart-summary-totals {
    background: #f0e8d8 !important;
    border-radius: 4px !important;
    padding: 16px !important;
    margin-top: 16px !important;
}
body#cart:not(.canal-group-49) .cart-total .value {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

/* Icono trash */
body#cart:not(.canal-group-49) .remove-from-cart i {
    color: rgba(26, 26, 26, 0.4) !important;
}
body#cart:not(.canal-group-49) .remove-from-cart:hover i {
    color: #C05A10 !important;
}

/* ============================================================
   v102 — Espacios y alineación carrito Horeca
   ============================================================ */

/* Total con flex space-between para que no se solape */
body#cart:not(.canal-group-49) .cart-total,
body#cart:not(.canal-group-49) .cart-summary-totals,
body#cart:not(.canal-group-49) .cart-summary .cart-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    background: #f0e8d8 !important;
    border-radius: 4px !important;
    padding: 16px 20px !important;
    margin-top: 16px !important;
}

body#cart:not(.canal-group-49) .cart-total .label,
body#cart:not(.canal-group-49) .cart-summary-totals .label {
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    flex: 1 !important;
    white-space: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#cart:not(.canal-group-49) .cart-total .value,
body#cart:not(.canal-group-49) .cart-summary-totals .value {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    text-align: right !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Resto de líneas del summary con flex */
body#cart:not(.canal-group-49) .cart-summary-line,
body#cart:not(.canal-group-49) .cart-summary > div:not(.cart-total):not(.cart-summary-totals) {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(232, 220, 200, 0.5) !important;
}
body#cart:not(.canal-group-49) .cart-summary-line:last-of-type {
    border-bottom: none !important;
}

body#cart:not(.canal-group-49) .cart-summary-line .label {
    color: rgba(26, 26, 26, 0.7) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    flex: 1 !important;
    margin: 0 !important;
}

body#cart:not(.canal-group-49) .cart-summary-line .value {
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    text-align: right !important;
    margin: 0 !important;
}

/* Botón FINALIZAR COMPRA con espacio arriba */
body#cart:not(.canal-group-49) .checkout {
    margin-top: 16px !important;
}
body#cart:not(.canal-group-49) .cart-detailed-actions,
body#cart:not(.canal-group-49) .checkout a.btn-primary {
    margin-top: 16px !important;
}

/* Card del carrito: espacios internos consistentes */
body#cart:not(.canal-group-49) .cart-grid-body .card-block {
    padding: 0 !important;
}
body#cart:not(.canal-group-49) .cart-overview,
body#cart:not(.canal-group-49) .cart-items {
    padding: 16px 0 !important;
}

/* Producto en el carrito: layout limpio con flex */
body#cart:not(.canal-group-49) .cart-item,
body#cart:not(.canal-group-49) .product-line {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(232, 220, 200, 0.4) !important;
}
body#cart:not(.canal-group-49) .cart-item:last-child,
body#cart:not(.canal-group-49) .product-line:last-child {
    border-bottom: none !important;
}

body#cart:not(.canal-group-49) .product-line-grid-left,
body#cart:not(.canal-group-49) .product-line-info {
    flex: 0 0 auto !important;
}

body#cart:not(.canal-group-49) .product-line-grid-body {
    flex: 1 !important;
    padding: 0 16px !important;
}

body#cart:not(.canal-group-49) .product-line-grid-right {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

/* Separador entre h1 CARRITO y items */
body#cart:not(.canal-group-49) h1 {
    border-bottom: 1px solid rgba(232, 220, 200, 0.5) !important;
    padding-bottom: 20px !important;
    margin-bottom: 24px !important;
}

/* ============================================================
   v102b — Total dentro del card (sin overflow)
   ============================================================ */

/* Cart summary contenedor padre */
body#cart:not(.canal-group-49) .cart-summary,
body#cart:not(.canal-group-49) .cart-grid-right,
body#cart:not(.canal-group-49) .cart-grid-right .card-block {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Total: width 100% del padre, dentro del card */
body#cart:not(.canal-group-49) .cart-total,
body#cart:not(.canal-group-49) .cart-summary-totals,
body#cart:not(.canal-group-49) .cart-summary .cart-total,
html body#cart:not(.canal-group-49) .cart-total {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
}

/* Asegurar que .card .card-block contiene bien al total */
body#cart:not(.canal-group-49) .cart-summary .card-block,
body#cart:not(.canal-group-49) .cart-grid-right .card-block {
    overflow: visible !important;
    width: 100% !important;
}

/* ============================================================
   v102c — Restaurar layout 2 columnas del carrito
   ============================================================ */

/* Grid del carrito */
body#cart:not(.canal-group-49) .cart-grid,
body#cart:not(.canal-group-49) .row.cart-grid,
body#cart:not(.canal-group-49) #main > .container > .row {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    gap: 24px !important;
    align-items: start !important;
}

/* Cart left (cart-grid-body) */
body#cart:not(.canal-group-49) .cart-grid-body,
body#cart:not(.canal-group-49) .cart-grid > .col-md-8,
body#cart:not(.canal-group-49) .cart-grid > .col-lg-8 {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: none !important;
}

/* Cart right (cart-summary) */
body#cart:not(.canal-group-49) .cart-grid-right,
body#cart:not(.canal-group-49) .cart-grid > .col-md-4,
body#cart:not(.canal-group-49) .cart-grid > .col-lg-4 {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: none !important;
}

/* Asegurar que el cart-summary llena la columna derecha */
body#cart:not(.canal-group-49) .cart-summary {
    width: 100% !important;
    max-width: 100% !important;
}

/* En móvil 1 columna */
@media (max-width: 991px) {
    body#cart:not(.canal-group-49) .cart-grid,
    body#cart:not(.canal-group-49) #main > .container > .row {
        grid-template-columns: 1fr !important;
    }
    body#cart:not(.canal-group-49) .cart-grid-body,
    body#cart:not(.canal-group-49) .cart-grid-right {
        grid-column: 1 !important;
    }
}

/* ============================================================
   v102d — Total ocupa ancho completo del card
   ============================================================ */

/* Quitar el rectángulo separado del Total — hacerlo full width */
body#cart:not(.canal-group-49) .cart-total {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #f0e8d8 !important;
    padding: 18px 20px !important;
    border-radius: 4px !important;
    margin: 20px 0 16px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body#cart:not(.canal-group-49) .cart-total .label {
    flex: 1 1 auto !important;
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.2 !important;
}

body#cart:not(.canal-group-49) .cart-total .value {
    flex: 0 0 auto !important;
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    white-space: nowrap !important;
    text-align: right !important;
    line-height: 1 !important;
    margin: 0 !important;
}

/* Padding interno del card-block del summary */
body#cart:not(.canal-group-49) .cart-summary .card-block,
body#cart:not(.canal-group-49) .cart-grid-right .card-block {
    padding: 24px !important;
}

/* ============================================================
   v102e — Ampliar columna producto + touchspin clean + spacing
   ============================================================ */

/* Grid balanceado: dar más espacio a la izquierda */
body#cart:not(.canal-group-49) .cart-grid,
body#cart:not(.canal-group-49) #main > .container > .row {
    grid-template-columns: 3fr 2fr !important;
    gap: 32px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Container del carrito amplio */
body#cart:not(.canal-group-49) .container,
body#cart:not(.canal-group-49) #content-wrapper {
    max-width: 1200px !important;
    padding: 40px 24px !important;
}

/* Card del producto con más padding interno */
body#cart:not(.canal-group-49) .cart-grid-body .card,
body#cart:not(.canal-group-49) .cart-grid-body {
    padding: 32px !important;
}

/* Item del producto: foto + nombre + cantidad + precio + trash en una sola fila */
body#cart:not(.canal-group-49) .cart-item,
body#cart:not(.canal-group-49) .product-line,
body#cart:not(.canal-group-49) .cart-overview .product-line,
body#cart:not(.canal-group-49) .cart-items .product-line {
    display: grid !important;
    grid-template-columns: 80px 1fr 110px 90px 32px !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 20px 0 !important;
}

/* Foto del producto pequeña */
body#cart:not(.canal-group-49) .product-line-grid-left {
    grid-column: 1 !important;
    width: 80px !important;
    height: 80px !important;
}
body#cart:not(.canal-group-49) .product-line-grid-left img,
body#cart:not(.canal-group-49) .product-line-grid-left .product-image {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    border: 1px solid #e8dcc8 !important;
}

/* Info del producto: nombre + precio individual */
body#cart:not(.canal-group-49) .product-line-grid-body {
    grid-column: 2 !important;
    padding: 0 !important;
    min-width: 0 !important;
}
body#cart:not(.canal-group-49) .product-line__title,
body#cart:not(.canal-group-49) .product-line-grid-body a {
    display: block !important;
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    letter-spacing: 0.04em !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    margin-bottom: 4px !important;
}
body#cart:not(.canal-group-49) .product-line-grid-body .product-price {
    color: rgba(26, 26, 26, 0.5) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

/* Touchspin (cantidad) — limpio */
body#cart:not(.canal-group-49) .product-line-grid-right .product-line-actions {
    grid-column: 3 !important;
}
body#cart:not(.canal-group-49) .input-group.bootstrap-touchspin {
    width: 100px !important;
    height: 40px !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 4px !important;
    background: #faf7f0 !important;
    display: flex !important;
    align-items: stretch !important;
    overflow: hidden !important;
}
body#cart:not(.canal-group-49) input.js-cart-line-product-quantity,
body#cart:not(.canal-group-49) .bootstrap-touchspin input {
    background: transparent !important;
    border: none !important;
    color: #1a1a1a !important;
    text-align: center !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    height: 40px !important;
    width: 60px !important;
    padding: 0 !important;
    flex: 1 !important;
}

/* Botones up/down del touchspin */
body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical,
body#cart:not(.canal-group-49) .bootstrap-touchspin-up,
body#cart:not(.canal-group-49) .bootstrap-touchspin-down {
    background: transparent !important;
}
body#cart:not(.canal-group-49) .bootstrap-touchspin-up,
body#cart:not(.canal-group-49) .bootstrap-touchspin-down,
body#cart:not(.canal-group-49) .input-group-btn-vertical button {
    background: transparent !important;
    border: none !important;
    color: #C05A10 !important;
    padding: 0 8px !important;
    cursor: pointer !important;
    width: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid #e8dcc8 !important;
    width: 28px !important;
}
body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical button {
    height: 20px !important;
    width: 28px !important;
    border-radius: 0 !important;
}
body#cart:not(.canal-group-49) .bootstrap-touchspin-up {
    border-bottom: 1px solid #e8dcc8 !important;
}

/* Ocultar webkit scrollbars del input */
body#cart:not(.canal-group-49) input.js-cart-line-product-quantity::-webkit-inner-spin-button,
body#cart:not(.canal-group-49) input.js-cart-line-product-quantity::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Precio total del item — columna derecha */
body#cart:not(.canal-group-49) .product-price.total,
body#cart:not(.canal-group-49) .product-line-grid-right .product-price,
body#cart:not(.canal-group-49) .cart-line-product-total {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Botón trash al final */
body#cart:not(.canal-group-49) .remove-from-cart {
    grid-column: 5 !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(26, 26, 26, 0.4) !important;
    transition: color 0.2s ease !important;
}
body#cart:not(.canal-group-49) .remove-from-cart:hover {
    color: #C05A10 !important;
}

/* En móvil pasa a una columna */
@media (max-width: 768px) {
    body#cart:not(.canal-group-49) .cart-item,
    body#cart:not(.canal-group-49) .product-line {
        grid-template-columns: 60px 1fr !important;
        grid-template-areas:
            'img info'
            'qty qty'
            'price trash' !important;
    }
    body#cart:not(.canal-group-49) .product-line-grid-left { grid-area: img !important; }
    body#cart:not(.canal-group-49) .product-line-grid-body { grid-area: info !important; }
}

/* ============================================================
   v102f — Reset: layout natural sin grid forzado en items
   ============================================================ */

/* Restaurar el item del producto en flujo natural */
body#cart:not(.canal-group-49) .cart-item,
body#cart:not(.canal-group-49) .product-line,
body#cart:not(.canal-group-49) .cart-overview .product-line,
body#cart:not(.canal-group-49) .cart-items .product-line {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(232, 220, 200, 0.4) !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    width: 100% !important;
}

body#cart:not(.canal-group-49) .product-line-grid-left {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
    grid-column: auto !important;
    grid-area: auto !important;
}

body#cart:not(.canal-group-49) .product-line-grid-body {
    flex: 1 1 auto !important;
    padding: 0 !important;
    min-width: 0 !important;
    grid-column: auto !important;
    grid-area: auto !important;
}

body#cart:not(.canal-group-49) .product-line-grid-right {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    grid-column: auto !important;
    grid-area: auto !important;
}

body#cart:not(.canal-group-49) .product-line__title,
body#cart:not(.canal-group-49) .product-line-grid-body a {
    display: block !important;
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    letter-spacing: 0.04em !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    white-space: normal !important;
}

/* Reset trash position */
body#cart:not(.canal-group-49) .remove-from-cart {
    grid-column: auto !important;
    grid-area: auto !important;
    margin-left: 8px !important;
}

/* Grid balanceado: izquierda más ancha */
body#cart:not(.canal-group-49) .cart-grid,
body#cart:not(.canal-group-49) #main > .container > .row {
    grid-template-columns: 1.5fr 1fr !important;
    gap: 24px !important;
}

/* Container más ancho */
body#cart:not(.canal-group-49) .container,
body#cart:not(.canal-group-49) #content-wrapper {
    max-width: 1300px !important;
    padding: 40px 24px !important;
}

/* ============================================================
   v103 — RESET total carrito + touchspin limpio horizontal
   ============================================================ */

/* Reset cards al 100% width */
body#cart:not(.canal-group-49) .cart-grid-body,
body#cart:not(.canal-group-49) .cart-grid-right,
body#cart:not(.canal-group-49) .cart-grid-body .card,
body#cart:not(.canal-group-49) .cart-grid-right .card {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Cards internas con padding limpio */
body#cart:not(.canal-group-49) .cart-grid-body .card,
body#cart:not(.canal-group-49) .cart-grid-right .card {
    background: #ffffff !important;
    border: 1px solid rgba(232, 220, 200, 0.6) !important;
    border-radius: 8px !important;
    padding: 32px !important;
    box-shadow: 0 4px 16px rgba(192, 90, 16, 0.04) !important;
}

/* Item layout SIMPLE — todo en una línea horizontal */
body#cart:not(.canal-group-49) .product-line {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(232, 220, 200, 0.3) !important;
}

/* Foto pequeña fija */
body#cart:not(.canal-group-49) .product-line-grid-left {
    flex: 0 0 80px !important;
    width: 80px !important;
}
body#cart:not(.canal-group-49) .product-line-grid-left img,
body#cart:not(.canal-group-49) .product-line-grid-left .img-fluid {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    border: 1px solid #e8dcc8 !important;
    display: block !important;
}

/* Nombre + precio unitario: flex 1 (ocupa el resto) */
body#cart:not(.canal-group-49) .product-line-grid-body {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

body#cart:not(.canal-group-49) .product-line__title,
body#cart:not(.canal-group-49) .product-line-grid-body a.label {
    display: block !important;
    color: #1a1a1a !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    letter-spacing: 0.03em !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

/* Right (touchspin + precio + trash) */
body#cart:not(.canal-group-49) .product-line-grid-right {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

body#cart:not(.canal-group-49) .product-line-actions {
    display: flex !important;
    align-items: center !important;
}

/* TOUCHSPIN: limpio horizontal */
body#cart:not(.canal-group-49) .input-group.bootstrap-touchspin,
body#cart:not(.canal-group-49) .bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 110px !important;
    height: 40px !important;
    border: 1px solid #e8dcc8 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    position: relative !important;
}

body#cart:not(.canal-group-49) input.js-cart-line-product-quantity,
body#cart:not(.canal-group-49) .bootstrap-touchspin .form-control {
    flex: 1 1 auto !important;
    width: auto !important;
    background: transparent !important;
    border: none !important;
    text-align: center !important;
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 0 !important;
    height: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    -moz-appearance: textfield !important;
}

body#cart:not(.canal-group-49) input.js-cart-line-product-quantity::-webkit-outer-spin-button,
body#cart:not(.canal-group-49) input.js-cart-line-product-quantity::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Botones up/down a la derecha del input */
body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    border-left: 1px solid #e8dcc8 !important;
    position: relative !important;
}

body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical button,
body#cart:not(.canal-group-49) .bootstrap-touchspin-up,
body#cart:not(.canal-group-49) .bootstrap-touchspin-down {
    flex: 1 1 50% !important;
    width: 28px !important;
    height: 50% !important;
    background: transparent !important;
    border: none !important;
    color: #C05A10 !important;
    cursor: pointer !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body#cart:not(.canal-group-49) .bootstrap-touchspin-up {
    border-bottom: 1px solid #e8dcc8 !important;
}

body#cart:not(.canal-group-49) .bootstrap-touchspin .input-group-btn-vertical button:hover,
body#cart:not(.canal-group-49) .bootstrap-touchspin-up:hover,
body#cart:not(.canal-group-49) .bootstrap-touchspin-down:hover {
    background: #f0e8d8 !important;
    color: #a04a08 !important;
}

/* Ocultar prefix/postfix spans vacíos */
body#cart:not(.canal-group-49) .bootstrap-touchspin-prefix,
body#cart:not(.canal-group-49) .bootstrap-touchspin-postfix {
    display: none !important;
}

/* Precio total del item */
body#cart:not(.canal-group-49) .product-line-grid-right .price,
body#cart:not(.canal-group-49) .product-line-grid-right .product-price,
body#cart:not(.canal-group-49) .product-line__total,
body#cart:not(.canal-group-49) .cart-line-product-total {
    color: #C05A10 !important;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    white-space: nowrap !important;
    min-width: 80px !important;
    text-align: right !important;
}

/* Botón trash al final */
body#cart:not(.canal-group-49) .remove-from-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin-left: 8px !important;
    color: rgba(26, 26, 26, 0.3) !important;
    transition: color 0.2s ease !important;
}
body#cart:not(.canal-group-49) .remove-from-cart:hover {
    color: #C05A10 !important;
}

/* Responsive */
@media (max-width: 768px) {
    body#cart:not(.canal-group-49) .product-line {
        flex-wrap: wrap !important;
    }
    body#cart:not(.canal-group-49) .product-line-grid-body {
        flex-basis: calc(100% - 100px) !important;
    }
    body#cart:not(.canal-group-49) .product-line-grid-right {
        flex-basis: 100% !important;
        justify-content: space-between !important;
    }
}

/* ============================================================
   v104 — Header con TPL custom en una sola fila
   ============================================================ */

/* Flex container del header */
body#index .quemp-header-flex,
.quemp-header-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 16px 0 !important;
    width: 100% !important;
}

/* LEFT — nav menu */
.quemp-header-left {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
}
.q-nav-pages-inline {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.q-nav-pages-inline a {
    color: #1a1a1a !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    transition: color 0.2s ease, background 0.2s ease !important;
    white-space: nowrap !important;
}
.q-nav-pages-inline a:hover {
    color: #C05A10 !impor /* FOOTER minimalista global navyx */ #footer .footer-container{margin-top:0 !important;} #footer{padding-top:34px !important;} #footer .footer-container .links .title,#footer .footer-container h3.title,#footer .footer-container .h3,#footer .footer-container .h4,#footer .quemp-contact-title{border-bottom:0 !important;padding-bottom:6px !important;} #footer .footer-container .links .title::after,#footer .footer-container .h3::after,#footer .quemp-contact-title::after{display:none !important;}