/* ========================================
   TEMA NEGRONI BRICKELL
   Version: 2026.07.02-3
   Colores: #efdcc0 (beige), #e94e1b (accent), #1a1a1a (negro)
   Tipografías: TT-Modernoir (títulos), Darleston (script), Nexa (texto)
   ======================================== */

/* ===== TIPOGRAFÍAS ===== */
@font-face {
    font-family: 'TTModernoir';
    src: url('../fonts/TT-Modernoir-Light.woff2') format('woff2'),
         url('../fonts/TT-Modernoir-Light.woff') format('woff');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'TTModernoir';
    src: url('../fonts/TT-Modernoir-Regular.woff2') format('woff2'),
         url('../fonts/TT-Modernoir-Regular.woff') format('woff');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'TTModernoir';
    src: url('../fonts/TT-Modernoir-Medium.woff2') format('woff2'),
         url('../fonts/TT-Modernoir-Medium.woff') format('woff');
    font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Darleston';
    src: url('../fonts/Darleston 400.woff2') format('woff2'),
         url('../fonts/Darleston 400.woff') format('woff');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Nexa';
    src: url('../fonts/nexa-regular-webfont.woff2') format('woff2'),
         url('../fonts/nexa-regular-webfont.woff') format('woff');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Nexa';
    src: url('../fonts/nexa-bold-webfont.woff2') format('woff2'),
         url('../fonts/nexa-bold-webfont.woff') format('woff');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Nexa';
    src: url('../fonts/nexa-heavy-webfont.woff2') format('woff2'),
         url('../fonts/nexa-heavy-webfont.woff') format('woff');
    font-weight: 900; font-style: normal; font-display: swap;
}

/* ===== VARIABLES ===== */
:root {
    --bg-color:      #efdcc0;
    --accent-color:  #e94e1b;
    --text-color:    #1a1a1a;
    --card-bg:       #ffffff;
    --border-radius: 10px;
    --transition:    all 0.3s ease;
}

/* ===== BASE ===== */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}
body {
    background: var(--bg-color);
    font-family: 'Nexa', Arial, sans-serif;
    color: var(--text-color);
}
.container {
    overflow-x: hidden;
}

/* ===== HEADER ===== */
.menu-header {
    text-align: center;
    padding: 15px 20px 10px;
    background: var(--bg-color);
    border-bottom: none;
}
.menu-header h1 {
    font-family: 'TTModernoir', serif;
    font-weight: 400;
    font-size: clamp(4em, 8vw, 4.5em);
    color: var(--text-color);
    margin: 0 0 4px 0;
    letter-spacing: 0.02em;
    line-height: 1;
}
.menu-header .subtitle {
    font-family: 'Nexa', Arial, sans-serif;
    font-size: 0.82em;
    font-weight: 400;
    color: #999;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0 0 16px 0;
}
.header-logo-img {
    max-width: 160px;
    max-height: 160px;
    margin-bottom: 12px;
}

/* ===== CATEGORÍAS — container ===== */
.nav-container {
    position: relative;
    top: auto;
    background: var(--bg-color);
    padding: 10px 20px;
    margin-bottom: 20px;
    overflow: hidden;
}
.category {
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 20px 16px !important;
    background: var(--bg-color);
}
@media (max-width: 768px) {
    .category { padding: 16px 10px; }
}

/* ===== LAYOUT GENERAL DE CATEGORÍA ===== */
.category-content-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;       /* productos a ancho completo; evita márgenes distintos por largo de texto */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Títulos / dual-title siguen centrados como bloques propios */
.category-content-layout > .category-title,
.category-content-layout > .dual-title,
.category-content-layout > .section-title-divider,
.category-content-layout .section-title-divider {
    align-self: center;
    width: auto;
    max-width: 100%;
}

.category-content-layout .products-grid,
.category-content-layout .section-group-box,
.category-content-layout .subcategories-container,
.category-content-layout .subcategory-section,
.category-content-layout .super-featured-pinned-section,
.category-content-layout .featured-products-section,
.menu-content .products-grid,
.menu-content .section-group-box {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Menú especial / contenido: gutters consistentes en mobile */
@media (max-width: 768px) {
    .menu-content {
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
    }

    .menu-content .products-grid,
    .menu-content .section-group-box,
    .category-content-layout .products-grid {
        width: 100% !important;
        max-width: 100% !important;
    }

    .menu-content .section-group-box,
    .category-content-layout .section-group-box {
        padding: 14px 12px;
        margin-left: 0;
        margin-right: 0;
    }

    .menu-content .product-card,
    .category-content-layout .product-card {
        padding-left: 0;
        padding-right: 0;
    }
}

/* ===== BOTONERA PRINCIPAL — 2 cols mobile, flex desktop ===== */
.categories-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 10px auto;
    width: 100%;
}


.btn-label {
    font-size: 1em;
    font-weight: 400;
    text-align: center;
}

@media (min-width: 769px) {
    .categories-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin: 20px auto;
    }
    .categories-buttons .category-button {
        flex: 0 1 auto;
    }
}

/* ===== BOTONES DE CATEGORÍA ===== */
.category-button {
    background: white;
    border: 2px solid var(--accent-color);
    padding: 18px 24px;
    border-radius: var(--border-radius);
    font-size: 1em;
    font-weight: 700;
    color: var(--text-color);
    cursor: pointer;
    transition: var(--transition);
    font-family: 'Nexa', Arial, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
@media (min-width: 769px) {
    .category-button:hover,
    .category-button.active {
        background: var(--accent-color);
        border-color: transparent;
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 5px 16px rgba(233,78,27,0.35);
    }
    .category-button:hover .btn-icon img,
    .category-button.active .btn-icon img {
        filter: brightness(0) invert(1);
    }
}
@media (max-width: 768px) {
    .category-button {
        background-image: url('../img/boton.svg');
        background-size: 100% 100%;
        background-color: transparent;
        border: none;
        border-radius: 0;
        box-shadow: none;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 14px 10px;
        min-height: 90px;
        gap: 6px;
        font-size: 1em;
        color: var(--text-color);
    }
    .category-button.active,
    .category-button:hover {
        background-image: url('../img/boton.svg');
        background-color: transparent;
        color: var(--accent-color);
        box-shadow: none;
        filter: drop-shadow(0 2px 6px rgba(233,78,27,0.3));
    }
    .category-button .btn-icon {
        width: 44px; height: 44px; font-size: 1.8em;
    }
    .category-button .btn-icon img {
        width: 38px; height: 38px; max-width: 38px; max-height: 38px;
    }
    .special-menu-button {
        background-image: url('../img/boton.svg');
        background-size: 100% 100%;
        background-color: transparent;
        border: none;
    }
}

/* ===== TÍTULOS DE CATEGORÍA ===== */
.category-title {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    font-size: clamp(1.9em, 80%, 3em)!important;
    color: var(--text-color);
    text-align: center;
    margin: 25px 0 10px;
    letter-spacing: 0.06em;
    display: block;
    width: 100%;
    border-bottom: none !important;
}
/* Sin línea decorativa */
.category-title::before { display: none !important; }

/* ===== TÍTULO DOBLE (Darleston + TTModernoir) ===== */
.dual-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.5;
    margin: 40px 0 15px;
    text-align: center;
}
.dual-title .script-part {
    font-family: 'Darleston', cursive;
    font-size: clamp(8rem, 10vw, 4.5rem) !important;
    font-weight: 300;
    letter-spacing: initial;
    color: var(--accent-color);
    line-height: 0.4;
}
category.title h2 {
   
    font-size: clamp(8rem, 10vw, 4.5rem) !important;
    
}
.dual-title .caps-part {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    font-size: clamp(3rem, 5vw, 2.6rem);
    color: var(--text-color);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding-left: 65px;
}

.category-small-footer-text
{
text-align: center;
}

/* ===== SUBCATEGORÍAS — pastillas TTModernoir ===== */
.subcategories-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
    margin: 16px 0 24px;
    padding: 0;
    align-items: center;
    justify-content: center;
}
.subcategory-button {
    padding: 9px 24px;
    border-radius: 30px;
    border: 1.5px solid #000;
    background: transparent;
    color: #000;
    cursor: pointer;
    font-size: 2em;
    font-weight: 400;
    font-family: 'TTModernoir', serif;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: all 0.2s ease;
    /* Fix overflow: */
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    max-width: 100%;
    text-align: center;
}
.subcategory-button:hover,
.subcategory-button.active {
    background: var(--accent-color);
    border: 1.5px solid var(--accent-color);
    color: white;
}
@media (max-width: 600px) {
    .subcategories-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    .subcategory-button {
        font-size: 2em;
        padding: 12px 20px;
    }
}

/* ===== PRODUCT CARD ===== */
/* Grid: col1=contenido, col2=thumb */
.product-card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    column-gap: 12px;
    row-gap: 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(233,78,27,0.15);
    border-radius: 0;
    padding: 16px 0;
    box-shadow: none;
    transition: border-color 0.2s;
}
.product-card:hover {
    border-color: rgba(233,78,27,0.35);
    transform: none;
    box-shadow: none;
    background: transparent;
}

/* Thumb: col2, abarca todas las filas */
.product-card .product-image {
    grid-column: 2;
    grid-row: 1 / 99;
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    align-self: start;
    margin: 0;
    flex-shrink: 0;
}


/* ===================================================
   FILA NOMBRE + ICONOS + PRECIO — fix de alineación
   Reemplaza los bloques anteriores de .product-name-row,
   .inline-icons y .price-container en el tema Negroni
   =================================================== */

.product-card .product-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 6px;
    row-gap: 2px;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 0;
}

.product-name-row .product-name {
    font-family: 'Nexa', Arial, sans-serif;
    font-size: 1em;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--text-color);
    line-height: 1.15;
    flex: 0 1 auto;
    min-width: 0;
    margin-bottom: 0 !important;
}

.product-name-row .inline-icons {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 4px;
    flex-shrink: 0;
    height: 1em;
    overflow: visible;
    transform: translateY(-0.1em);
}

.product-name-row .inline-icons svg {
    display: block;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.product-name-row .inline-icons img,
.product-name-row .inline-icons .product-icon-custom {
    display: block;
    width: 1em;
    height: 1em;
    max-width: 1em;
    max-height: 1em;
    object-fit: contain;
    flex-shrink: 0;
    margin: 0;
}

.product-name-row .inline-icons i,
.product-name-row .inline-icons [class*="fa-"] {
    font-size: 0.95em;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    height: 1em;
}

.product-name-row .inline-icons .badge-pill,
.product-name-row .inline-icons .badge-nuevo,
.product-name-row .inline-icons .badge-sin-tacc,
.product-name-row .inline-icons .custom-product-badge,
.product-name-row .inline-icons .product-icon-emoji {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    margin: 0;
    transform: none;
}

.product-name-row .price-container {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    margin-left: 0;
    margin-top: 0 !important;
    transform: translateY(-0.08em);
}

.product-name-row .price-container .product-price {
    line-height: 1;
}

/* Precio sin VAT */
.product-card .price-without-vat {
    grid-column: 1;
    font-size: 0.72em;
    color: #aaa;
    margin: 0 !important;
}

/* Descripción */
.product-card .product-description {
    grid-column: 1;
    font-size: 1em;
    color: #555;
    line-height: 1;
    margin: 4px 0 0;
}

/* Spotlight badge */
.product-card .spotlight-badge {
    grid-column: 1;
    margin-top: 6px;
    align-self: start;
}

/* Promo / out-of-stock */
.product-card .promotion-badge,
.product-card .out-of-stock-badge {
    grid-column: 1;
}

.product-price {
    font-family: 'Nexa', Arial, sans-serif;
    font-size: 1em;
    font-weight: 700;
    color: var(--text-color);
    white-space: nowrap;
    line-height: 1.15;
}
.product-price.old-price {
    text-decoration: line-through;
    color: #aaa;
    font-size: 0.85em;
}
.product-price.promo-price {
    color: var(--accent-color);
}

/* ===== CHEF SPECIAL — recuadro con accent ===== */
.chef-special-card {
    padding: 16px;
    margin-bottom: 12px;
    background: rgba(233,78,27,0.04);
}
/* Nombre + precio en la misma línea base (TTModernoir) */
.chef-special-card .product-name-row {
    align-items: baseline;
}
.chef-special-card .product-name-row .price-container {
    transform: none;
    align-items: baseline;
    margin-top: 0 !important;
}
.chef-special-card .product-name,
.chef-special-card .product-name-row .product-name {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    color: var(--accent-color);
    font-size: 1.6em;
    letter-spacing: 0.08em;
    line-height: 1.15;
}
.chef-special-card .product-price,
.chef-special-card .product-name-row .price-container .product-price {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    color: var(--accent-color);
    font-size: 1.6em;
    letter-spacing: 0.08em;
    line-height: 1.15;
}

/* ===== SUPER DESTACADO ===== */
.super-featured-card {
    max-width: min(640px, 94vw);
    border: 2px solid var(--accent-color);
    border-radius: 10px;
    width: fit-content;
    margin: 20px auto;
    background: rgba(233,78,27,0.04);
    box-sizing: border-box;
}
.super-featured-info {
    padding: 14px 16px;
    background: rgba(233,78,27,0.04);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

@media (min-width: 769px) {
    /* Contenedor que envuelve el super-featured — necesita ser flex para centrar */
    .super-featured-wrapper,
    .featured-products-section {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* name-row: nombre + precio pegados, como product-card */
.super-featured-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 6px;
    row-gap: 1px;
    width: fit-content;
    max-width: 100%;
}
.super-featured-name {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    font-size: 1.6em;
    color: var(--accent-color);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    flex: 0 1 auto;
    min-width: 0;
}
.super-featured-name-row .price-container {
    flex-shrink: 0;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
}

.super-featured-name-row .product-price {
font-family: 'TTModernoir', serif;
font-size: 1.6em;
}

/* Precio sin VAT — después del name-row */
.super-featured-info > .price-without-vat {
    font-size: 0.75em;
    color: #aaa;
    margin: 0;
}
/* Descripción */
.super-featured-desc {
    font-size: 1.1em;
    color: #555;
    line-height: 1.2;
    margin-top: 4px;
}
/* Spotlight */
.super-featured-info > .spotlight-badge {
    margin-top: 6px;
    align-self: flex-start;
}
/* Iconos al final */
.super-featured-info > .product-icon-row,
.super-featured-info > div[style*="flex"] {
    margin-top: 8px;
}

/* ===== SECTION TITLE — caja con fondo accent ===== */
.section-title-divider {
    margin: 28px 0 20px;
    gap: 0;
    justify-content: center;
    max-width: 100%;
    flex-wrap: wrap;
}
.section-title-lines { display: none; }
.section-title-text {
    background: var(--accent-color);
    color: white;
    padding: 7px 28px 5px;
    font-family: 'TTModernoir', serif;
    font-weight: 400;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: clamp(1.15em, 5.5vw, 2em);
    border-radius: 2px;
    display: inline-block;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: center;
    line-height: 1.25;
}
.section-title-description {
    text-align: center;
    font-family: 'Nexa', Arial, sans-serif;
    font-size: 0.95em;
    font-weight: 400;
    color: var(--text-color);
    opacity: 0.75;
    line-height: 1.5;
    margin: 10px auto 18px;
    max-width: min(640px, 100%);
    padding: 0 8px;
    box-sizing: border-box;
    letter-spacing: 0.02em;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Título del menú especial — misma tipografía que el header Brickell */
.special-menu-title {
    font-family: 'TTModernoir', serif !important;
    font-weight: 400 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
    white-space: normal !important;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.2;
}

/* Caja destacada — imagen contenida (también vía ASSET_VERSION del theme) */
.featured-box,
.featured-box--image-only {
    max-width: min(600px, 90vw) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.featured-box--image-only {
    padding: 0 !important;
}
.featured-box .featured-box-image,
.featured-box-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    box-sizing: border-box !important;
}

@media (max-width: 600px) {
    .section-title-text {
        padding: 7px 14px 5px;
        letter-spacing: 0.12em;
        font-size: clamp(1.05em, 5vw, 1.45em);
    }
    .special-menu-title {
        font-size: clamp(1.35em, 7vw, 2em) !important;
        gap: 8px !important;
        padding: 0 8px;
    }
}

/* ===== SECTION GROUP BOX ===== */
.section-group-box {
    border: 2px solid var(--accent-color);
    border-radius: var(--border-radius);
    padding: 20px;
    margin-bottom: 20px;
    background: transparent !important;
}

/* ===== FEATURED PRODUCTS ===== */
.featured-products-section {
    margin: 30px 0;
    padding: 25px;
    background: rgba(233,78,27,0.04);
    border: 2px solid var(--accent-color);
    border-radius: var(--border-radius);
}
.featured-products-section h3,
.featured-products-title {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    color: var(--accent-color);
    font-size: 1.4em;
    margin-bottom: 20px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.featured-product-name {
    font-family: 'TTModernoir', serif;
    font-weight: 600;
    font-size: 1.1em;
    color: var(--text-color);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.featured-product-price {
    font-size: 1.1em;
    font-weight: 700;
    color: var(--accent-color);
}

/* ===== SUPER FEATURED — imagen completa (cócteles verticales, etc.) ===== */
.super-featured-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center top;
    display: block;
    cursor: zoom-in;
    background: #f0e2cc;
}

/* ===== IMAGEN DESTACADA DE CATEGORÍA — ancho completo en móvil, esquinas redondeadas ===== */
.category-featured-image-wrap {
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
    border-radius: var(--border-radius);
    overflow: hidden;
}

.category-featured-image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    object-position: center top;
}

@media (max-width: 768px) {
    .category > .category-featured-image-wrap {
        /* Rompe padding de .category (10px) + body (5px) → casi ancho de pantalla */
        width: calc(100% + 30px);
        max-width: none;
        margin-left: -15px;
        margin-right: -15px;
        margin-top: 16px;
        margin-bottom: 20px;
        border-radius: var(--border-radius);
    }

    .category.category--sub > .category-featured-image-wrap {
        width: calc(100% + 40px);
        margin-left: -30px;
        margin-right: -10px;
    }
}

/* ===== INFO BAR ===== */
.info-bar {
    background: var(--accent-color);
    color: white;
    padding: 10px 16px;
    text-align: center;
    font-size: 0.88em;
    font-family: 'Nexa', Arial, sans-serif;
    font-weight: 700;
    border-radius: var(--border-radius);
    margin: 12px 0;
}

/* ===== BADGES ===== */
.badge-sin-tacc {
    background: var(--accent-color);
    color: white;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 0.7em;
    font-weight: 700;
}
.badge-nuevo {
    background: var(--accent-color);
    color: white;
    padding: 3px 8px;
    border-radius: 20px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* ===== SPOTLIGHT BADGE ===== */
.spotlight-badge {
    border-color: var(--accent-color);
    color: var(--accent-color);
}

/* ===== PRICE WITHOUT VAT ===== */
.price-without-vat {
    font-size: 0.72em;
    color: #aaa;
    margin-top: 2px;
}

/* ===== BOTONES FLOTANTES ===== */
.legend-btn { background: var(--accent-color); color: white; }
.back-to-top { background: var(--accent-color); color: white; }

/* ===== MENÚS ESPECIALES ===== */
.special-menu-button { border-color: var(--accent-color); }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar-thumb { background: var(--accent-color); }

/* ===== LANG SELECTOR ===== */
.lang-btn.active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}

/* ===== CUSTOM TEXT ===== */
.custom-text-container { 
justify-content: center;
text-align: center !important;
padding-bottom: 10px !important;
 }

/* ===== TÍTULO DOBLE INVERTIDO (caps arriba, script abajo) ===== */
/* Uso en admin: "NEGRONI || fountain"                            */

.dual-title--inverted .caps-part {
    padding-left: 0;         
    padding-right: 40px;    
    order: 1;
}

.dual-title--inverted .script-part {
    order: 2;
    padding-left: 60px;      /* el script va indentado a la derecha           */
}

/* ── Iconos custom en texto enriquecido ── */
.desc-custom-icon {
    height: 2.5em;
    width: auto;
    display: inline-block;
    vertical-align: middle;
    margin: 0 3px;
    position: relative;
    top: -1px;
}

/* ── Listas en descripciones ── */
.desc-list {
    margin: 4px 0 2px 14px;
    padding: 0;
    list-style: disc;
}
.desc-list li {
    line-height: 1.5;
    margin-bottom: 2px;
}

/* ===== LAYOUT GRID + SUPER DESTACADO (como theme-negroni) ===== */

.category-products-column {
    width: 100%;
    flex: none;
    min-width: 0;
}

/* Desktop: 2 columnas fila-por-fila (no 3 de styles-base) */
@media (min-width: 769px) {
    .products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-count: unset !important;
        gap: 0 48px !important;
    }

    .product-card,
    .products-grid .super-featured-card--in-grid,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid {
        break-inside: avoid !important;
    }
}

@media (max-width: 768px) {
    .products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Super destacado: cuerpo compacto, imagen arriba */
.super-featured-card-body,
.products-grid .super-featured-card--in-grid .super-featured-card-body,
.products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-card-body,
.super-featured-pinned-section .super-featured-card-body,
.super-featured-pinned-section .super-featured-card-especial .super-featured-card-body {
    padding: 2px !important;
}

/* Pineado arriba: tarjeta centrada, ancho acotado */
.super-featured-pinned-section .super-featured-card,
.super-featured-pinned-section .super-featured-card-especial {
    width: fit-content !important;
    max-width: min(640px, 94vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.super-featured-pinned-section .super-featured-card-body {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 769px) {
    /* En grid: ocupa el ancho completo del grid pero la tarjeta queda centrada */
    .category-products-column .products-grid .super-featured-card--in-grid,
    .category-products-column .products-grid .super-featured-card-especial.super-featured-card--in-grid {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: min(640px, 94vw) !important;
        min-width: 0 !important;
        margin: 0 auto 20px !important;
        justify-self: center !important;
        overflow: hidden !important;
        display: inline-flex !important;
        flex-direction: column !important;
    }

    .category-products-column .products-grid .super-featured-card--in-grid .super-featured-card-body,
    .category-products-column .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-card-body,
    .super-featured-pinned-section .super-featured-card-body,
    .super-featured-pinned-section .super-featured-card-especial .super-featured-card-body {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: min(640px, 94vw) !important;
        min-width: 0 !important;
        padding: 2px !important;
        overflow: hidden !important;
    }

    .category-products-column .products-grid .super-featured-card--in-grid .super-featured-img,
    .category-products-column .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-img,
    .super-featured-pinned-section .super-featured-img,
    .products-grid .super-featured-card--in-grid .super-featured-img,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-img {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        flex: none !important;
        object-fit: contain !important;
        aspect-ratio: auto !important;
        margin: 0 !important;
    }

    .category-products-column .products-grid .super-featured-card--in-grid .super-featured-info,
    .category-products-column .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-info,
    .super-featured-pinned-section .super-featured-info {
        width: 100% !important;
        max-width: 100% !important;
        padding: 14px 16px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    /* Pisa styles-base: layout horizontal en desktop */
    .super-featured-pinned-section .super-featured-card-body,
    .products-grid .super-featured-card--in-grid .super-featured-card-body,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-card-body {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 0 !important;
    }
}

@media (max-width: 768px) {
    .super-featured-card,
    .super-featured-pinned-section .super-featured-card,
    .super-featured-pinned-section .super-featured-card-especial,
    .category-products-column .products-grid .super-featured-card--in-grid,
    .category-products-column .products-grid .super-featured-card-especial.super-featured-card--in-grid,
    .products-grid .super-featured-card--in-grid,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: min(640px, 94vw) !important;
        margin: 0 auto 20px !important;
        justify-self: center !important;
    }

    .super-featured-pinned-section .super-featured-card-body,
    .super-featured-pinned-section .super-featured-card-especial .super-featured-card-body,
    .products-grid .super-featured-card--in-grid .super-featured-card-body,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-card-body {
        width: 100% !important;
        max-width: 100% !important;
        align-items: stretch !important;
    }

    /* Pisa styles-base: max-width 320px deja gutters en los costados */
    .super-featured-pinned-section .super-featured-img,
    .products-grid .super-featured-card--in-grid .super-featured-img,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        flex: none !important;
        object-fit: contain !important;
        aspect-ratio: auto !important;
    }

    .super-featured-pinned-section .super-featured-info,
    .products-grid .super-featured-card--in-grid .super-featured-info,
    .products-grid .super-featured-card-especial.super-featured-card--in-grid .super-featured-info {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* ===== FLYERS (página promos) ===== */
.flyers-grid-desktop,
.flyers-grid-mobile {
    margin: 24px 0;
}

.flyers-grid-desktop {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    width: 100%;
}

.flyers-grid-mobile {
    display: none;
}

@media (max-width: 768px) {
    .flyers-grid-desktop {
        display: none;
    }

    .flyers-grid-mobile {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
        overflow: hidden;
    }

    .flyers-grid-mobile .flyer-item {
        width: 100%;
        max-width: 100%;
    }

    .flyers-grid-mobile .flyer-item img {
        width: 100%;
        height: auto;
    }
}

.flyer-item img {
    border-radius: var(--border-radius);
    border: 2px solid var(--accent-color);
    display: block;
    width: 100%;
    height: auto;
}

/* ===== VOLVER AL MENÚ (promos / menú especial) ===== */
.back-to-menu-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 32px !important;
    background: transparent !important;
    color: var(--accent-color) !important;
    border: 2px solid var(--accent-color) !important;
    border-radius: 50px !important;
    font-family: 'Nexa', Arial, sans-serif !important;
    font-size: 0.9em !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.back-to-menu-btn:hover {
    background: var(--accent-color) !important;
    color: white !important;
    transform: translateX(-3px) !important;
}

/* ===== v19 ===== */
