/* =========================================
   CESTA BUILDER — Configurador "Crea tu Cesta"
   Sigue el sistema de diseño del tema:
   variables --ai-*, Lato títulos, Inter texto,
   tarjetas blancas + acentos dorados.
   Cargado solo donde vive [ai_cesta_builder].
   =========================================
   ÍNDICE
   1. Layout general (PC: grid + panel sticky)
   2. Buscador y chips de categorías
   3. Grid de productos (tarjetas)
   4. Panel resumen de la cesta
   5. Barra móvil fija + panel deslizante
   6. Responsive
   ========================================= */

/* =========================================
   1. LAYOUT GENERAL
   ========================================= */
.ai-cesta {
    /* ── AJUSTES RÁPIDOS ──────────────────────────
       Cambia estos valores para afinar el diseño
       sin tocar el resto del CSS. */
    --cesta-buscador-alto: 40px;  /* Altura de la barra de búsqueda */
    --cesta-movil-alto: 480px;    /* Altura del cuadro de productos en móvil (≈3 filas) */
    --cesta-movil-columnas: 2;    /* Columnas del grid en móvil (2 recomendado; prueba 3) */

    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 0 40px;
    font-family: var(--font-text);
}

.ai-cesta__top {
    margin-bottom: 16px;
}

.ai-cesta__cuerpo {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 24px;
    align-items: stretch;
    min-width: 0;
}

/* =========================================
   2. BUSCADOR Y CHIPS
   ========================================= */
.ai-cesta__buscador {
    display: flex;
    align-items: center;
    gap: 10px;
    height: var(--cesta-buscador-alto);
    background: #fff;
    border: 2px solid var(--ai-gray-border);
    border-radius: 50px;
    padding: 0 18px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.ai-cesta__buscador:focus-within {
    border-color: var(--ai-gold);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.12);
}

.ai-cesta__buscador svg {
    color: var(--ai-gold-dark);
    flex-shrink: 0;
}

/* Reset reforzado del input: los temas suelen aplicar fondo gris,
   altura y bordes propios a los inputs con mucha especificidad, y el
   campo "se sale" de la píldora. Estas reglas ganan siempre. */
#ai-cesta .ai-cesta__buscador input,
#ai-cesta .ai-cesta__buscador input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
    flex: 1;
    width: auto;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--font-text);
    font-size: 14px;
    color: var(--ai-black);
    line-height: 1.4;
}

#ai-cesta .ai-cesta__buscador input:focus,
#ai-cesta .ai-cesta__buscador input:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Quitar la "X" nativa de los input[type=search] en WebKit,
   que desentona con el diseño de la píldora. */
#ai-cesta .ai-cesta__buscador input::-webkit-search-decoration,
#ai-cesta .ai-cesta__buscador input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

#ai-cesta .ai-cesta__buscador input::placeholder {
    color: #aaa;
    opacity: 1;
}

#ai-cesta .ai-cesta__buscador input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 100px #fff inset !important;
    box-shadow: 0 0 0 100px #fff inset !important;
}

.ai-cesta__chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 16px 2px 12px;
    scrollbar-width: thin;
    scrollbar-color: var(--ai-gold) var(--ai-scroll-bg);
    -webkit-overflow-scrolling: touch;
}

.ai-cesta__chips::-webkit-scrollbar {
    height: 4px;
}

.ai-cesta__chips::-webkit-scrollbar-thumb {
    background-color: var(--ai-gold);
    border-radius: 10px;
}

.ai-cesta-chip {
    flex-shrink: 0;
    padding: 8px 18px;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 50px;
    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: var(--ai-text-gray);
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.ai-cesta-chip:hover {
    border-color: var(--ai-gold);
    color: var(--ai-black);
}

.ai-cesta-chip.is-active {
    background: var(--ai-black);
    border-color: var(--ai-black);
    color: #fff;
}

/* =========================================
   3. VENTANA DE CATÁLOGO (scroll interno)
   El configurador ocupa un bloque fijo en la
   página: los productos se recorren DENTRO,
   con su propia scrollbar dorada. La página
   no crece y el panel queda siempre a mano.
   ========================================= */
.ai-cesta__ventana {
    height: 620px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 2px 10px 2px 2px;
    scrollbar-width: thin;
    scrollbar-color: var(--ai-gold) var(--ai-scroll-bg);
}

.ai-cesta__ventana::-webkit-scrollbar {
    width: 5px;
}

.ai-cesta__ventana::-webkit-scrollbar-track {
    background: var(--ai-scroll-bg);
    border-radius: 10px;
}

.ai-cesta__ventana::-webkit-scrollbar-thumb {
    background-color: var(--ai-gold);
    border-radius: 10px;
}

.ai-cesta__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--ai-gap);
}

.ai-cesta-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 14px;
    padding: 14px;
    transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.ai-cesta-card:hover {
    border-color: var(--ai-gold);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.ai-cesta-card.en-cesta {
    border-color: var(--ai-gold);
    box-shadow: inset 0 0 0 1px var(--ai-gold);
}

.ai-cesta-card.en-cesta::after {
    content: "En tu cesta ✓";
    position: absolute;
    top: 10px;
    left: 10px;
    background: var(--ai-gold);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 50px;
}

.ai-cesta-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
    background: var(--ai-gray-light);
}

.ai-cesta-card h3 {
    font-family: var(--font-title);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ai-black);
    margin: 10px 0 8px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ai-cesta-card__pie {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
}

.ai-cesta-card__precio {
    font-family: var(--font-title);
    font-size: 16px;
    font-weight: 700;
    color: var(--ai-gold-dark);
}

.ai-cesta-card__btn {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border: 1px solid var(--ai-black);
    border-radius: 50%;
    background: #fff;
    color: var(--ai-black);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.25s ease;
}

.ai-cesta-card__btn::before {
    content: "+";
}

.ai-cesta-card__btn:hover {
    background: var(--ai-black);
    color: #fff;
}

.ai-cesta-card__btn.is-ok {
    background: var(--ai-gold);
    border-color: var(--ai-gold);
    color: #fff;
}

.ai-cesta-card__btn.is-ok::before {
    content: "✓";
    font-size: 16px;
}

.ai-cesta__estado {
    padding: 30px 10px;
    text-align: center;
    font-size: 14px;
    color: var(--ai-text-gray);
}

.ai-cesta__mas {
    display: block;
    margin: 24px auto 0;
    padding: 12px 34px;
    background: #fff;
    border: 1px solid var(--ai-black);
    border-radius: 50px;
    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--ai-black);
    cursor: pointer;
    transition: all 0.3s ease;
}

.ai-cesta__mas:hover {
    background: var(--ai-black);
    color: #fff;
}

/* =========================================
   4. PANEL RESUMEN DE LA CESTA
   ========================================= */
.ai-cesta__panel {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

.ai-cesta__panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ai-gray-border);
}

.ai-cesta__panel-icono {
    font-size: 28px;
}

.ai-cesta__panel-head strong {
    display: block;
    font-family: var(--font-title);
    font-size: 16px;
    color: var(--ai-black);
}

.ai-cesta__panel-head small {
    display: block;
    font-size: 11px;
    color: var(--ai-text-gray);
    margin-top: 2px;
}

.ai-cesta__panel-head small b {
    color: var(--ai-gold-dark);
}

.ai-cesta__progreso {
    padding: 14px 0 4px;
}

.ai-cesta__progreso-barra {
    height: 8px;
    background: var(--ai-gray-light);
    border-radius: 10px;
    overflow: hidden;
}

.ai-cesta__progreso-barra span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--ai-gold), var(--ai-gold-dark));
    border-radius: 10px;
    transition: width 0.4s ease;
}

.ai-cesta__progreso-barra span.is-completo {
    background: #2e7d4f;
}

.ai-cesta__progreso p {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--ai-text-gray);
}

.ai-cesta__lista {
    list-style: none;
    margin: 8px 0;
    padding: 0;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--ai-gold) var(--ai-scroll-bg);
}

.ai-cesta__lista::-webkit-scrollbar {
    width: 4px;
}

.ai-cesta__lista::-webkit-scrollbar-thumb {
    background-color: var(--ai-gold);
    border-radius: 10px;
}

.ai-cesta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ai-gray-light);
}

.ai-cesta-item img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--ai-gray-border);
    flex-shrink: 0;
}

.ai-cesta-item__info {
    flex: 1;
    min-width: 0;
}

.ai-cesta-item__nombre {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--ai-black);
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ai-cesta-item__precio {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--ai-gold-dark);
    margin-top: 2px;
}

.ai-cesta-item__ctrl {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.ai-cesta-item__ctrl button {
    width: 26px;
    height: 26px;
    border: 1px solid var(--ai-gray-border);
    border-radius: 50%;
    background: #fff;
    color: var(--ai-black);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ai-cesta-item__ctrl button:hover {
    border-color: var(--ai-gold);
    background: var(--ai-gold);
    color: #fff;
}

.ai-cesta-item__ctrl span {
    min-width: 18px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: var(--ai-black);
}

.ai-cesta__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-top: 2px solid var(--ai-black);
    margin-top: 6px;
}

.ai-cesta__total span {
    font-size: 13px;
    color: var(--ai-text-gray);
}

.ai-cesta__total strong {
    font-family: var(--font-title);
    font-size: 24px;
    color: var(--ai-black);
}

.ai-cesta__cta {
    width: 100%;
    padding: 15px;
    background: var(--ai-gold);
    border: none;
    border-radius: 12px;
    font-family: var(--font-text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ai-cesta__cta:hover:not(:disabled) {
    background: var(--ai-gold-dark);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(148, 113, 8, 0.3);
}

.ai-cesta__cta:disabled {
    background: var(--ai-gray-border);
    color: #999;
    cursor: not-allowed;
}

.ai-cesta__nota {
    margin: 12px 0 0;
    text-align: center;
    font-size: 11px;
    color: var(--ai-text-gray);
}

/* =========================================
   5. BARRA MÓVIL FIJA
   ========================================= */
.ai-cesta__barra-movil {
    display: none;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 999;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    background: var(--ai-black);
    border: none;
    border-radius: 50px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transform: translateY(120%);
    transition: transform 0.35s ease;
}

.ai-cesta__barra-movil.is-visible {
    transform: translateY(0);
}

.ai-cesta__barra-info {
    font-family: var(--font-text);
    font-size: 13px;
    color: #fff;
}

.ai-cesta__barra-info b {
    color: var(--ai-gold);
}

.ai-cesta__barra-accion {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--ai-gold);
    white-space: nowrap;
}

/* =========================================
   6. RESPONSIVE
   ========================================= */
@media (max-width: 1023px) {

    .ai-cesta {
        padding-bottom: 90px; /* Hueco para la barra fija */
    }

    .ai-cesta__cuerpo {
        grid-template-columns: 1fr;
    }

    /* Cuadro de productos: el scroll ocurre DENTRO del cuadro y la
       altura se ajusta con --cesta-movil-alto (≈3 filas por defecto).
       En móvil NO hay carga automática: el cliente busca o pulsa
       "Ver más productos". */
    .ai-cesta__ventana {
        height: auto;
        max-height: var(--cesta-movil-alto);
    }

    .ai-cesta__grid {
        grid-template-columns: repeat(var(--cesta-movil-columnas), 1fr);
        gap: 12px;
    }

    /* ── MODO 3 COLUMNAS (opcional) ──
       Si pones --cesta-movil-columnas: 3 arriba, descomenta este
       bloque para que las tarjetas quepan bien en pantallas estrechas. */
    /*
    .ai-cesta-card { padding: 10px; border-radius: 12px; }
    .ai-cesta-card h3 { font-size: 11px; margin: 8px 0 6px; }
    .ai-cesta-card__precio { font-size: 12.5px; }
    .ai-cesta-card__btn { width: 30px; height: 30px; font-size: 16px; }
    .ai-cesta-card.en-cesta::after { font-size: 8px; padding: 3px 7px; top: 6px; left: 6px; }
    */

    .ai-cesta__barra-movil {
        display: flex;
    }

    /* El panel se convierte en hoja deslizante desde abajo */
    .ai-cesta__panel {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        top: auto;
        z-index: 998;
        max-height: 78vh;
        overflow-y: auto;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.25);
        transform: translateY(110%);
        transition: transform 0.35s ease;
        padding-bottom: 88px; /* La barra fija no tapa el CTA */
    }

    .ai-cesta__panel.is-abierto {
        transform: translateY(0);
    }

    .ai-cesta__lista {
        max-height: 34vh;
    }
}

@media (max-width: 480px) {

    .ai-cesta-card h3 {
        font-size: 12px;
    }

    .ai-cesta-card__precio {
        font-size: 14px;
    }

    .ai-cesta__buscador {
        padding: 0 14px;
    }
}


/* =========================================
   =========================================
   SECCIONES DE LA LANDING DE LOTES
   (Widgets HTML de Elementor en la categoría)
   =========================================
   ÍNDICE LANDING
    7. Componentes compartidos (headers, botones, separador)
    8. Franja de ventajas
    9. Cabecera del configurador + pasos
   10. Empresas (B2B)
   11. Ocasiones
   12. Presupuesto
   13. Directo del productor
   ========================================= */

/* =========================================
   7. COMPONENTES COMPARTIDOS
   ========================================= */
.lotes-ventajas,
.lotes-config,
.lotes-empresas,
.lotes-ocasiones,
.lotes-presupuesto,
.lotes-productor {
    font-family: var(--font-text);
    max-width: 1200px;
    margin: 0 auto;
    padding: 44px 16px;
}

.lotes-seccion-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 30px;
}

.lotes-kicker {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--ai-gold-dark);
    margin-bottom: 10px;
}

.lotes-seccion-header h2,
.lotes-empresas h2,
.lotes-productor h2 {
    font-family: var(--font-title);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ai-black);
    margin: 0 0 14px;
}

.lotes-separador {
    display: block;
    width: 55px;
    height: 3px;
    background: var(--ai-gold);
    border-radius: 3px;
    margin: 0 auto 18px;
}

.lotes-separador--izq {
    margin-left: 0;
}

.lotes-seccion-intro {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ai-text-gray);
    margin: 0;
}

/* Botones de la landing */
.lotes-btn {
    display: inline-block;
    padding: 13px 30px;
    border-radius: 50px;
    font-family: var(--font-text);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.lotes-btn--oro {
    background: var(--ai-gold);
    color: #fff;
}

.lotes-btn--oro:hover {
    background: var(--ai-gold-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(148, 113, 8, 0.3);
}

.lotes-btn--negro {
    background: var(--ai-black);
    color: #fff;
}

.lotes-btn--negro:hover {
    background: var(--ai-gold);
    color: #fff;
    transform: translateY(-1px);
}

.lotes-btn--linea {
    background: transparent;
    border: 1px solid var(--ai-black);
    color: var(--ai-black);
}

.lotes-btn--linea:hover {
    background: var(--ai-black);
    color: #fff;
}

/* =========================================
   8. FRANJA DE VENTAJAS
   ========================================= */
/* La franja ocupa el 100% del contenedor donde se coloque (va pegada
   al hero): sin max-width, sin margin y sin padding propios — el
   espaciado exterior lo da el contenedor de Elementor. */
.lotes-ventajas {
    max-width: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.lotes-ventajas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 16px;
    padding: 16px 12px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}

/* En móvil solo se muestran 3 ventajas: se oculta la 3ª ("Sin
   alcohol"). Cambia el número de nth-child si prefieres ocultar
   otra (1=envío, 2=presentación, 3=sin alcohol, 4=productor). */
.lotes-ventaja:nth-child(3) {
    display: none;
}

/* Móvil: las 4 ventajas en horizontal, cada una en vertical
   (icono arriba, título centrado debajo). */
.lotes-ventaja {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.lotes-ventaja-icono {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    background: #fdfaf1;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 50%;
    color: var(--ai-gold-dark);
}

.lotes-ventaja-icono svg {
    width: 21px;
    height: 21px;
}

.lotes-ventaja-texto strong {
    display: block;
    font-family: var(--font-title);
    font-size: 11px;
    color: var(--ai-black);
    line-height: 1.3;
}

/* La descripción larga se oculta en móvil: a 4 columnas no cabe
   de forma legible. Reaparece a partir de tablet. */
.lotes-ventaja-texto span {
    display: none;
    font-size: 12px;
    color: var(--ai-text-gray);
    margin-top: 3px;
    line-height: 1.4;
}

/* =========================================
   9. CABECERA DEL CONFIGURADOR + PASOS
   ========================================= */
/* Igual que la franja de ventajas: la sección ocupa el 100% del
   contenedor, sin margin/padding propios. El espaciado exterior
   lo controla el contenedor de Elementor. */
.lotes-config {
    max-width: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.lotes-config-pasos {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    max-width: 900px;
    margin: 6px auto 0;
}

.lotes-paso {
    position: relative;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-left: 3px solid var(--ai-gold);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: left;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.lotes-paso:hover {
    border-color: var(--ai-gold);
    border-left-color: var(--ai-gold);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

/* Sin círculo: una etiqueta discreta "PASO 1 · 2 · 3" en dorado. */
.lotes-paso-num {
    display: block;
    margin: 0 0 6px;
    font-family: var(--font-text);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--ai-gold-dark);
}

.lotes-paso-num::before {
    content: "Paso ";
}

.lotes-paso strong {
    display: block;
    font-family: var(--font-title);
    font-size: 15px;
    color: var(--ai-black);
    margin-bottom: 5px;
}

.lotes-paso span {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: var(--ai-text-gray);
}

/* =========================================
   10. EMPRESAS (B2B) — banda oscura premium
   ========================================= */
.lotes-empresas {
    max-width: none;
    background: var(--ai-black);
    border-radius: 0;
    padding: 50px 16px;
}

.lotes-empresas-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: center;
}

.lotes-empresas .lotes-kicker {
    color: var(--ai-gold);
}

.lotes-empresas h2 {
    color: #fff;
}

.lotes-empresas-texto p {
    font-size: 15px;
    line-height: 1.75;
    color: #d6d6d6;
    margin: 0 0 14px;
}

.lotes-empresas-texto p strong {
    color: #fff;
}

.lotes-empresas-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}

.lotes-empresas .lotes-btn--linea {
    border-color: rgba(255, 255, 255, 0.5);
    color: #fff;
}

.lotes-empresas .lotes-btn--linea:hover {
    background: #fff;
    border-color: #fff;
    color: var(--ai-black);
}

.lotes-empresas-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.lotes-empresas-lista li {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-left: 3px solid var(--ai-gold);
    border-radius: 12px;
    padding: 16px 18px;
}

.lotes-empresas-lista strong {
    display: block;
    font-family: var(--font-title);
    font-size: 14.5px;
    color: #fff;
    margin-bottom: 4px;
}

.lotes-empresas-lista span {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #b9b9b9;
}

/* =========================================
   11. OCASIONES
   ========================================= */
.lotes-ocasiones-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.lotes-ocasion {
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 16px;
    padding: 26px 22px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.lotes-ocasion:hover {
    transform: translateY(-4px);
    border-color: var(--ai-gold);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.lotes-ocasion-emoji {
    display: block;
    font-size: 34px;
    margin-bottom: 12px;
}

.lotes-ocasion h3 {
    font-family: var(--font-title);
    font-size: 16px;
    font-weight: 700;
    color: var(--ai-black);
    margin: 0 0 10px;
}

.lotes-ocasion p {
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--ai-text-gray);
    margin: 0;
}

.lotes-ocasiones-cta {
    text-align: center;
    margin-top: 28px;
}

/* =========================================
   12. PRESUPUESTO
   ========================================= */
.lotes-presupuesto-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: stretch;
}

.lotes-banda {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--ai-gray-border);
    border-radius: 16px;
    padding: 30px 24px 26px;
    text-align: center;
    transition: box-shadow 0.3s ease;
}

.lotes-banda:hover {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.lotes-banda--destacada {
    border: 2px solid var(--ai-gold);
    box-shadow: 0 8px 26px rgba(212, 175, 55, 0.18);
}

.lotes-banda-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--ai-gold);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 5px 16px;
    border-radius: 50px;
    white-space: nowrap;
}

.lotes-banda-rango {
    display: block;
    font-family: var(--font-title);
    font-size: 26px;
    font-weight: 700;
    color: var(--ai-gold-dark);
    margin-bottom: 6px;
}

.lotes-banda h3 {
    font-family: var(--font-title);
    font-size: 17px;
    font-weight: 700;
    color: var(--ai-black);
    margin: 0 0 12px;
}

.lotes-banda p {
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--ai-text-gray);
    margin: 0 0 14px;
    flex: 1;
}

.lotes-banda-nota {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #2e7d4f;
    margin-bottom: 18px;
}

.lotes-banda .lotes-btn {
    align-self: center;
    min-width: 160px;
}

.lotes-presupuesto-pie {
    text-align: center;
    font-size: 14px;
    color: var(--ai-text-gray);
    margin: 26px 0 0;
}

.lotes-presupuesto-pie a {
    color: var(--ai-gold-dark);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.lotes-presupuesto-pie a:hover {
    color: var(--ai-black);
}

/* =========================================
   13. DIRECTO DEL PRODUCTOR
   ========================================= */
.lotes-productor {
    max-width: none;
    background: #fdfaf1;
    padding: 50px 16px;
}

.lotes-productor-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: center;
}

.lotes-productor-texto p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--ai-text-gray);
    margin: 0 0 14px;
}

.lotes-productor-texto p strong {
    color: var(--ai-black);
}

.lotes-productor-texto .lotes-btn {
    margin-top: 10px;
}

.lotes-productor-valores {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.lotes-valor {
    background: #fff;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 14px;
    padding: 18px;
    text-align: center;
    transition: box-shadow 0.3s ease;
}

.lotes-valor:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

.lotes-valor-icono {
    display: block;
    font-size: 26px;
    margin-bottom: 8px;
}

.lotes-valor strong {
    display: block;
    font-family: var(--font-title);
    font-size: 14px;
    color: var(--ai-black);
    margin-bottom: 5px;
}

.lotes-valor span {
    display: block;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--ai-text-gray);
}

/* =========================================
   RESPONSIVE LANDING — TABLET ≥ 600px
   ========================================= */
@media (min-width: 600px) {

    .lotes-ventajas-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
        padding: 26px;
    }

    .lotes-ventaja {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 14px;
    }

    .lotes-ventaja:nth-child(3) {
        display: flex;
    }

    .lotes-ventaja-icono {
        width: 48px;
        height: 48px;
    }

    .lotes-ventaja-icono svg {
        width: 26px;
        height: 26px;
    }

    .lotes-ventaja-texto strong {
        font-size: 13.5px;
    }

    .lotes-ventaja-texto span {
        display: block;
    }

    .lotes-config-pasos {
        grid-template-columns: repeat(3, 1fr);
    }

    .lotes-ocasiones-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .lotes-empresas-lista {
        grid-template-columns: repeat(2, 1fr);
    }

    .lotes-productor-valores {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* =========================================
   RESPONSIVE LANDING — DESKTOP ≥ 1024px
   ========================================= */
@media (min-width: 1024px) {

    .lotes-config,
    .lotes-ocasiones,
    .lotes-presupuesto {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .lotes-seccion-header h2,
    .lotes-empresas h2,
    .lotes-productor h2 {
        font-size: 30px;
    }

    .lotes-ventajas-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .lotes-empresas-inner {
        grid-template-columns: 1.1fr 1fr;
        gap: 50px;
    }

    .lotes-ocasiones-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .lotes-presupuesto-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .lotes-banda--destacada {
        transform: scale(1.03);
    }

    .lotes-productor-inner {
        grid-template-columns: 1.1fr 1fr;
        gap: 50px;
    }
}