/* ==========================================================================
   Landing Enfriadores — estilos propios de la página pilar
   arriendo-enfriadores-de-aire.html
   Solo cubre lo que el tema base (themev2.min.css) no resuelve.
   Prefijo `le-` propio: NO se comparte con landing-calefactores.css, para que
   un ajuste visual en una landing no pueda romper la otra (D-2026-08-29-N).
   ========================================================================== */

:root {
    --le-hero-bg: #f1f2f3;
    --le-ink: #1a1a1a;
    --le-accent: #f5a637;
    --le-step-num-bg: #1a1a1a;
    --le-success: #28a745;
    --le-panel-bg: #f8f9fa;
    --le-border: #f0f0f0;
    --le-text-muted: #666;
    --le-radius: 8px;
}

/* --- Hero base -----------------------------------------------------------
   `background`/`color` son el fallback gris con texto oscuro (el estado
   original de D-2026-08-29-K). Las páginas con foto lo pisan agregando el
   modificador `le-hero--photo` + una clase de imagen (`le-hero--pilar` o
   `le-hero--eventos`) a la misma sección. */

.le-hero {
    background: var(--le-hero-bg);
    color: var(--le-ink);
    padding: 8rem 0 4rem;
    min-height: 420px;
    display: flex;
    align-items: center;
}

.le-hero__title {
    color: var(--le-ink);
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}

.le-hero__price {
    color: var(--le-ink);
    font-weight: 300;
    margin-bottom: 1.5rem;
}

/* El público objetivo del sitio es de 35-65 años: no bajar de 1.15rem. */
.le-hero__lead {
    color: #333;
    font-size: 1.15rem;
    max-width: 720px;
    margin: 0 auto 1rem;
}

.le-hero__note {
    color: #5a5a5a;
    font-size: 0.9rem;
    margin-bottom: 2rem;
}

/* --- Hero con foto, modificador `le-hero--photo` -------------------------
   Mismo patrón que `.lc-hero` de landing-calefactores.css: imagen a cover con
   una capa oscura encima para que el texto blanco tenga contraste suficiente.
   Supera, para el hero, la parte de D-2026-08-29-K que decía "sin foto": el
   pilar (arriendo-enfriadores-de-aire.html) y arriendo-aire-acondicionado-
   eventos.html ahora llevan cada uno su propia foto. `le-hero--photo` pone
   el tratamiento común (tamaño, min-height, colores de texto); la imagen y
   su encuadre van en `le-hero--pilar` / `le-hero--eventos`, porque cada foto
   es distinta y necesita su propio background-position. */

.le-hero--photo {
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 520px;
}

.le-hero--photo .le-hero__title,
.le-hero--photo .le-hero__price {
    color: #fff;
}

.le-hero--photo .le-hero__lead {
    color: rgba(255, 255, 255, .9);
}

.le-hero--photo .le-hero__note {
    color: rgba(255, 255, 255, .7);
}

.le-hero--pilar {
    background-image: linear-gradient(rgba(0, 0, 0, .58), rgba(0, 0, 0, .58)),
        url("../images/hero_enfriador_ventilador.jpeg");
    /* El ventilador y el enfriador ocupan aprox. del 58% al 93% del ancho de
       la imagen; a la izquierda queda la terraza con las mesas. 75% deja los
       equipos centrados en el recorte en cualquier ancho. */
    background-position: 75% center;
}

.le-hero--eventos {
    background-image: linear-gradient(rgba(0, 0, 0, .58), rgba(0, 0, 0, .58)),
        url("../images/hero_enfriador_ventilador_airecondicionado.jpeg");
    /* Los equipos ocupan aprox. del 50% al 97% del ancho de la imagen; a la
       izquierda quedan las mesas del matrimonio. 75% deja los equipos
       centrados en el recorte en cualquier ancho. */
    background-position: 75% center;
}

/* --- Bifurcación por ICP (D-2026-08-29-F) -------------------------------
   Dos tarjetas de igual peso visual, sin jerarquía entre ellas: el hero no
   elige bando y la bifurcación reparte hacia #empresas y #eventos. */

.le-icp__card {
    background-color: var(--le-panel-bg);
    border: 1px solid #e6e6e6;
    border-radius: var(--le-radius);
    padding: 28px 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.le-icp__title {
    font-size: 1.3rem;
    margin-bottom: 10px;
}

.le-icp__text {
    color: var(--le-text-muted);
    font-size: 1rem;
    flex-grow: 1;
}

.le-icp__link {
    margin-top: 18px;
    font-size: 0.75rem;
}

/* --- Tabla comparativa: scroll horizontal en móvil ----------------------- */

.le-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--le-radius);
}

.le-table {
    min-width: 720px;
    margin-bottom: 0;
}

.le-table th,
.le-table td {
    vertical-align: middle;
}

.le-table__row-title {
    font-weight: 700;
    text-align: left;
}

/* Caudal y precio no deben partirse en dos líneas */
.le-table__nowrap {
    white-space: nowrap;
}

/* --- Tabla de precio por duración ---------------------------------------- */

.le-price-table {
    margin-bottom: 0;
}

.le-price-table th,
.le-price-table td {
    vertical-align: middle;
}

.le-price-note {
    font-size: 0.85rem;
    color: var(--le-text-muted);
    margin-top: 15px;
}

/* --- Pasos "Cómo cotizamos" ---------------------------------------------
   Números en negro, no en color de acento (ajuste ya hecho en calefactores,
   LAND-CALE-2608-006). */

.le-step {
    margin-bottom: 25px;
}

.le-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--le-step-num-bg);
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.le-step h5 {
    margin-bottom: 8px;
}

.le-btn {
    width: 100%;
    max-width: 235px;
    font-size: 0.85rem;
    letter-spacing: 0;
}

.le-btn--sec {
    margin-top: 14px;
    font-size: 0.62rem;
}

/* --- Botón al cierre de una sección -------------------------------------
   Evita que el botón quede pegado al borde inferior de la sección
   (.section_border_bottom) o al inicio de la sección siguiente. */

.le-cta-end {
    margin-bottom: 45px;
}

/* Anula el border-bottom de .section_menu__item (themev2.min.css): sin esto,
   cada tarjeta de equipo deja una línea visible justo antes del siguiente
   bloque de la sección (p. ej. el botón "Ver comparativa..."). */
.le-card-no-divider {
    border-bottom: none;
}

/* --- Panel destacado (precio / encuadre de rama) ------------------------- */

.le-panel {
    background-color: var(--le-panel-bg);
    border-radius: var(--le-radius);
    padding: 25px;
}

.le-panel__price {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.le-list {
    padding-left: 20px;
    margin-bottom: 0;
}

.le-list li {
    margin-bottom: 8px;
}

/* --- Fotos de casos reales (rama empresas) ------------------------------- */

.le-case {
    margin-bottom: 25px;
}

.le-case__img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: var(--le-radius);
}

.le-case__caption {
    color: var(--le-text-muted);
    font-size: 0.9rem;
    margin-top: 10px;
}

/* --- Bloque "cuándo NO te sirve" ----------------------------------------- */

.le-warning {
    background-color: var(--le-panel-bg);
    border-left: 4px solid var(--le-accent);
    border-radius: var(--le-radius);
    padding: 25px 28px;
}

.le-warning p+p {
    margin-top: 14px;
}

/* --- FAQ en acordeón (<details>, sin JS) ---------------------------------
   Compartido entre arriendo-enfriadores-de-aire.html y
   arriendo-aire-acondicionado-eventos.html: vivía solo en
   landing-enfriadores-pilar.css hasta que la landing de eventos también
   pasó a usar este mismo estilo de acordeón. */

.le-acc {
    border: 1px solid #e3e3e3;
    border-radius: var(--le-radius);
    margin-bottom: 10px;
    background: #fff;
    transition: border-color .2s ease;
}

.le-acc[open] {
    border-color: var(--le-success);
}

.le-acc__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
    cursor: pointer;
    list-style: none;
}

.le-acc__q::-webkit-details-marker {
    display: none;
}

.le-acc__q h3 {
    font-size: 1.1rem;
    margin: 0;
}

.le-acc__q::after {
    flex: none;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e8f5e9;
    color: var(--le-success);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: transform .2s ease;
}

.le-acc[open] .le-acc__q::after {
    content: "\f068";
}

.le-acc__q:focus-visible {
    outline: 3px solid #1e88e5;
    outline-offset: 2px;
}

.le-acc__a {
    padding: 0 20px 18px;
    margin: 0;
    color: #444;
}

/* --- Grilla estática de fichas (D-2026-08-29-G) --------------------------
   Reemplaza al buscador que inyectaba search-filter.js. Renderizada en HTML,
   sin JS, para que el contenido exista también para el crawler. */

.le-grid-card {
    border: 1px solid #e6e6e6;
    border-radius: var(--le-radius);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.le-grid-card__img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    background-color: var(--le-panel-bg);
}

.le-grid-card__body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-align: center;
}

.le-grid-card__title {
    font-size: 1.05rem;
    margin-bottom: 10px;
}

.le-grid-card__text {
    color: var(--le-text-muted);
    font-size: 0.92rem;
    flex-grow: 1;
}

.le-grid-card__link {
    margin-top: 16px;
    font-size: 0.62rem;
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 768px) {
    .le-hero {
        padding: 7rem 0 3rem;
        min-height: 360px;
    }

    .le-hero--photo {
        min-height: 440px;
    }

    .le-hero__title {
        font-size: 1.9rem;
    }

    .le-hero__lead {
        font-size: 1.05rem;
    }

    .le-icp__card {
        margin-bottom: 20px;
    }

    .le-step {
        text-align: center;
    }

    .le-cta-end {
        margin-bottom: 30px;
    }

    .le-panel {
        padding: 20px;
    }

    .le-warning {
        padding: 20px;
    }

    .le-case__img {
        height: 220px;
    }
}

@media (max-width: 576px) {
    .le-hero__title {
        font-size: 1.6rem;
    }

    .le-step__num {
        width: 38px;
        height: 38px;
        font-size: 1.1rem;
    }

    .le-case__img {
        height: 180px;
    }
}

/* --- Sección 2: comparación de equipos (le-eq) --- */

.le-eq {
    margin-top: 10px;
}

.le-eq__card {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border-radius: var(--le-radius);
    text-align: left;
}

.le-eq__card--ac {
    background-color: var(--le-panel-bg);
    border: 1px solid #e3e3e3;
}

.le-eq__card--ours {
    background-color: #fff;
    border: 2px solid var(--le-success);
}

.le-eq__kicker {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 700;
    margin: 0;
}

.le-eq__card--ac .le-eq__kicker {
    color: var(--le-text-muted);
}

.le-eq__card--ours .le-eq__kicker {
    color: var(--le-success);
}

.le-eq__media {
    height: 96px;
    display: flex;
    align-items: center;
    margin: 10px 0;
}

.le-eq__media img {
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.le-eq__media-icon {
    font-size: 3.2rem;
    color: var(--le-text-muted);
}

.le-eq__title {
    font-weight: 400;
    font-size: 1.4rem;
    color: var(--le-ink);
    margin: 0 0 10px;
}

.le-eq__how {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 10px;
    min-height: 8rem;
}

.le-eq__ideal {
    font-size: 0.92rem;
    color: var(--le-text-muted);
    display: flex;
    gap: 8px;
    align-items: baseline;
    min-height: 3.4rem;
}

.le-eq__chips {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 6px;
    padding: 0;
    min-height: 4.4rem;
}

.le-eq__chips li {
    --le-eq-chip-bg: #e8f5e9;
    font-size: 0.85rem;
    padding: 4px 10px;
    border-radius: 14px;
    background-color: var(--le-eq-chip-bg);
}

.le-eq__chips li i {
    color: var(--le-success);
    margin-right: 6px;
}

.le-eq__checks {
    list-style: none;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #e3e3e3;
}

.le-eq__checks li {
    display: flex;
    gap: 10px;
    align-items: baseline;
    margin: 10px 0;
    font-size: 1rem;
    min-height: 5.2rem;
}

.le-eq__yes {
    color: #28a745;
}

.le-eq__no {
    color: #dc3545;
}

/* --- Precio + CTA al cierre de la tarjeta de equipo (le-eq__buy) ---------
   Compartido con arriendo-enfriadores-de-aire.html: vivía solo en
   landing-enfriadores-pilar.css hasta que la landing de eventos también
   mostró precio y botón dentro de la tarjeta de "lo que sí arrendamos". */

.le-eq__buy {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e3e3e3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}

.le-eq__price {
    margin: 0;
    color: var(--le-ink);
}

.le-eq__price b {
    font-size: 1.9rem;
    font-weight: 700;
}

.le-eq__price small {
    font-size: 0.95rem;
    color: var(--le-text-muted);
}

.le-eq__more {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--le-ink);
}

.le-eq__more i {
    margin-left: 4px;
    font-size: 0.8rem;
}

.le-eq__key {
    --le-eq-key-bg: #e6f1fc;
    --le-eq-key-accent: #1e88e5;
    display: flex;
    gap: 16px;
    padding: 18px 22px;
    border-radius: var(--le-radius);
    background-color: var(--le-eq-key-bg);
    border-left: 5px solid var(--le-eq-key-accent);
}

.le-eq__key i {
    font-size: 1.4rem;
    color: var(--le-eq-key-accent);
}

.le-eq__key p {
    margin: 0;
    font-size: 1rem;
}

.le-eq__key a {
    color: var(--le-ink);
    text-decoration: underline;
}

.le-eq__key .le-eq__key-inline {
    font-size: 1rem;
    color: var(--le-accent);
    margin-right: 6px;
}

/* Variante de .le-eq__key para el enlace a la landing B2B de eventos
   corporativos: mismo borde de acento, fondo blanco en vez de celeste. */
.le-eq__key.le-uses__corp {
    background-color: #fff;
}

.le-eq__next {
    margin-top: 24px;
    padding: 22px 24px;
    background-color: var(--le-panel-bg);
    border-radius: var(--le-radius);
}

.le-eq__next p {
    font-size: 1.05rem;
}

.le-eq__next-btn {
    font-weight: 700;
    text-transform: uppercase;
}

.le-eq__next-btn i {
    margin-left: 6px;
}

@media (max-width: 768px) {
    .le-eq__card {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .le-eq__key {
        padding: 16px;
    }

    .le-eq__title {
        font-size: 1.3rem;
    }
}

/* --- Sección 4: comparativa (le-need) --- */

.le-need__card {
    height: 100%;
    padding: 22px 24px;
    border-radius: var(--le-radius);
    text-align: left;
}

.le-need__card--yes {
    background-color: #fff;
    border: 2px solid var(--le-success);
}

.le-need__card--no {
    background-color: var(--le-panel-bg);
    border: 1px solid #e3e3e3;
}

.le-need__head {
    font-weight: 700;
    font-size: 1.1rem;
    display: flex;
    gap: 10px;
    align-items: center;
}

.le-need__card--yes .le-need__head i {
    color: var(--le-success);
}

.le-need__card--no .le-need__head i {
    color: #dc3545;
}

.le-need__row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 14px 0;
}

.le-need__icon {
    --le-need-icon-bg: #e8f5e9;
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    background-color: var(--le-need-icon-bg);
    color: var(--le-success);
}

.le-need__card--no .le-need__icon {
    --le-need-icon-bg: #fdecea;
    color: #dc3545;
}

.le-need__title {
    font-weight: 700;
    font-size: 1.05rem;
    margin: 0;
}

.le-need__text {
    font-size: 1rem;
    color: var(--le-text-muted);
    margin: 0;
}

.le-need__tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
    padding: 0;
}

.le-need__tags li {
    font-size: 0.9rem;
    padding: 4px 10px;
    border-radius: 14px;
    background-color: #e8f5e9;
}

.le-need__tags li i {
    color: var(--le-success);
    margin-right: 6px;
}

.le-need__density {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-left: 58px;
}

.le-need__case {
    background-color: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
}

.le-need__case p {
    font-size: 0.9rem;
    color: var(--le-text-muted);
    line-height: 1.4;
    margin: 0;
}

.le-need__dots {
    height: 74px;
    border: 2px dashed #e3e3e3;
    border-radius: 6px;
    color: var(--le-text-muted);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.le-need__dots--dense {
    display: grid;
    grid-template-columns: repeat(5, auto);
    justify-content: center;
    align-content: center;
    gap: 6px 8px;
    font-size: 0.9rem;
}

.le-need__dots--sparse {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 26px;
}

/* --- Sección 4: calculadora (le-calc) --- */

.le-calc {
    margin-top: 10px;
    border: 2px solid var(--le-success);
    border-radius: 12px;
    padding: 26px 24px;
}

.le-calc__title {
    font-family: inherit;
    font-weight: normal;
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 22px;
}

.le-calc__title i {
    color: var(--le-success);
    margin-right: 8px;
}

.le-calc__row {
    display: grid;
    grid-template-columns: 1fr auto 1.2fr auto 1fr;
    gap: 12px;
    align-items: stretch;
}

.le-calc__row > * {
    min-width: 0;
}

.le-calc__box {
    background-color: var(--le-panel-bg);
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.le-calc__label {
    font-weight: 700;
    font-size: 1rem;
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 0;
}

.le-calc__label em {
    font-weight: normal;
    font-style: normal;
    font-size: 0.9rem;
    color: var(--le-text-muted);
}

.le-calc__step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--le-success);
    color: #fff;
    font-size: 0.8rem;
    flex: none;
}

.le-calc__op {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: var(--le-text-muted);
    min-width: 0;
}

.le-calc__input {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #fff;
    border: 2px solid #e3e3e3;
    border-radius: 8px;
    padding: 0 14px;
}

.le-calc__input:focus-within {
    border-color: var(--le-success);
}

.le-calc__input input {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 12px 0;
}

.le-calc__input span {
    font-size: 1.1rem;
    color: var(--le-text-muted);
}

.le-calc__equip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.le-calc__opt,
.le-calc__spaces label {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.le-calc__opt input,
.le-calc__spaces input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.le-calc__opt span {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 10px 6px;
    border: 2px solid #e3e3e3;
    border-radius: 8px;
    background-color: #fff;
}

.le-calc__opt span img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.le-calc__opt span b {
    font-size: 0.95rem;
}

.le-calc__opt span small {
    font-size: 0.85rem;
    color: var(--le-text-muted);
}

.le-calc__opt input:checked + span,
.le-calc__spaces input:checked + span {
    border-color: var(--le-success);
    background-color: #e8f5e9;
}

.le-calc__opt input:focus-visible + span,
.le-calc__spaces input:focus-visible + span {
    outline: 3px solid #1e88e5;
    outline-offset: 2px;
}

.le-calc__result {
    background-color: #e8f5e9;
    border: 2px solid var(--le-success);
    align-items: center;
    justify-content: center;
    text-align: center;
}

.le-calc__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border: none;
    border-radius: 6px;
    background-color: var(--le-success);
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    text-transform: uppercase;
    cursor: pointer;
}

.le-calc__btn:hover {
    filter: brightness(.95);
}

.le-calc__btn:focus-visible {
    outline: 3px solid #1e88e5;
    outline-offset: 2px;
}

.le-calc__hint {
    font-size: 0.9rem;
    color: var(--le-text-muted);
    margin: 6px 0 0;
}

.le-calc__out {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.le-calc [hidden] {
    display: none !important;
}

.le-calc__num {
    font-family: inherit;
    font-size: 3rem;
    line-height: 1;
    color: var(--le-ink);
}

.le-calc__unit {
    font-size: 0.95rem;
    color: var(--le-text-muted);
}

.le-calc__again {
    background: none;
    border: none;
    padding: 0;
    color: var(--le-success);
    text-decoration: underline;
    font-size: 0.95rem;
    cursor: pointer;
}

.le-calc__space {
    margin-top: 20px;
}

.le-calc__spaces {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.le-calc__spaces span {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 96px;
    padding: 12px 6px;
    border: 2px solid #e3e3e3;
    border-radius: 8px;
    background-color: #fff;
    font-size: 0.95rem;
    text-align: center;
}

.le-calc__spaces span i {
    font-size: 1.4rem;
    color: var(--le-success);
}

.le-calc__warn {
    --le-calc-warn-bg: #fff4e0;
    margin: 12px 0 0;
    padding: 12px 16px;
    border-radius: 8px;
    background-color: var(--le-calc-warn-bg);
    font-size: 0.95rem;
}

.le-calc__warn i {
    color: var(--le-accent);
}

.le-calc__note {
    text-align: center;
    font-size: 0.95rem;
    color: var(--le-text-muted);
    margin: 18px 0;
}

.le-calc__wa-hint {
    font-size: 0.9rem;
    color: var(--le-text-muted);
    margin: 10px 0 0;
}

@media (max-width: 992px) {
    .le-calc__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 576px) {
    .le-need__density {
        margin-left: 0;
    }

    .le-calc__spaces label {
        flex: 1 1 calc(33.33% - 10px);
    }

    .le-calc__spaces span {
        width: auto;
    }
}

/* --- Sección 5 de AC eventos: cards de equipo con escenarios (le-evcard) ---
   Mismo lenguaje que .le-use del pilar (LAND-AC-EVEN-CARD-EQUI). Reemplaza a
   .le-prodcard / .le-card__*, que se eliminaron por quedar sin uso. */

.le-evcards {
    --le-evcard-evap: #343a40;
    --le-evcard-neb: var(--le-success);
    --le-evcard-check: #3f9a43;
    --le-evcard-ok: #1e7e34;
    --le-evcard-tile: #f3f5f7;
    --le-evcard-strong: #3a3d40;
    margin-top: 8px;
}

.le-evcard {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .10);
}

.le-evcard__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 28px;
    color: #fff;
}
.le-evcard--evap .le-evcard__head { background: var(--le-evcard-evap); }
.le-evcard--neb  .le-evcard__head { background: var(--le-evcard-neb); }
.le-evcard__head i { font-size: 1.4rem; flex: none; }

.le-evcard__title {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    margin: 0;
}

.le-evcard__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 26px 30px 30px;
}

/* Foto del equipo + etiqueta de espacio + para qué sirve */
.le-evcard__top { display: flex; gap: 18px; align-items: center; }
.le-evcard__img {
    flex: none;
    width: 108px;
    height: 108px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--le-evcard-tile);
    overflow: hidden;
}
.le-evcard__img img {
    width: 88%;
    height: 88%;
    object-fit: contain;
    mix-blend-mode: multiply;
}
.le-evcard__intro { display: flex; flex-direction: column; gap: 8px; }
.le-evcard__badge {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #eaf5ea;
    color: var(--le-evcard-ok);
    font-size: 0.8rem;
    font-weight: 700;
}
.le-evcard__for { margin: 0; color: var(--le-text-muted); font-size: 1.05rem; line-height: 1.5; }

/* Precio destacado */
.le-evcard__price { margin: 22px 0 0; color: var(--le-text-muted); font-size: 1.05rem; }
.le-evcard__price b { font-size: 2.6rem; font-weight: 900; color: var(--le-ink); letter-spacing: -0.5px; }
.le-evcard__more {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin: 4px 0 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--le-evcard-ok);
}

/* Datos técnicos: 4 recuadros con ícono */
.le-evcard__specs {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.le-evcard__specs li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 12px 6px;
    border-radius: 10px;
    background: var(--le-evcard-tile);
    text-align: center;
}
.le-evcard__specs i { font-size: 1.2rem; color: var(--le-evcard-evap); }
.le-evcard__specs b { font-size: 0.95rem; font-weight: 900; color: var(--le-ink); }
.le-evcard__specs span {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--le-text-muted);
}

/* Características con check */
.le-evcard__list {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.le-evcard__list li {
    display: flex;
    gap: 12px;
    align-items: baseline;
    min-height: 3.15rem; /* 2 líneas: reserva el mismo alto en ambas cards aunque el texto de cada check difiera */
    font-size: 1.05rem;
    line-height: 1.5;
    color: var(--le-text-muted);
}
.le-evcard__list li i { flex: none; font-size: 1.15rem; color: var(--le-evcard-check); }
.le-evcard__list b { color: var(--le-evcard-strong); }

.le-evcard__note {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin: 14px 0 0;
    font-size: 0.875rem;
    color: var(--le-text-muted);
}

/* Escenarios */
.le-evcard__label {
    margin: 24px 0 10px;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--le-text-muted);
}
.le-evcard__photos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.le-evcard__photos figure { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.le-evcard__photos a {
    display: block;
    border-radius: 8px;
    overflow: hidden;
}
.le-evcard__photos img {
    display: block;
    width: 100%;
    height: 128px;
    object-fit: cover;
    border-radius: 8px;
    transition: transform .3s ease;
}
.le-evcard__photos a:hover img {
    transform: scale(1.05);
}
.le-evcard__photos figcaption {
    font-size: 0.92rem;
    font-weight: 700;
    text-align: center;
    color: var(--le-evcard-strong);
}

/* CTA: margin-top:auto alinea los botones de ambas cards aunque una tenga
   más texto (en el mockup quedaban desalineados por eso) */
.le-evcard__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: auto;
    padding-top: 26px;
    text-align: center;
}
.le-evcard__btn { font-size: 0.95rem; letter-spacing: 0; padding: 12px 30px; }
.le-evcard__link {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--le-ink);
    text-decoration: underline;
}
.le-evcard__link i { margin-left: 4px; font-size: 0.8rem; }

@media (max-width: 576px) {
    .le-evcard__head { padding: 16px 20px; }
    .le-evcard__title { font-size: 1.35rem; }
    .le-evcard__body { padding: 22px 20px 24px; }
    .le-evcard__img { width: 84px; height: 84px; }
    .le-evcard__price b { font-size: 2.2rem; }
    .le-evcard__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .le-evcard__photos { gap: 8px; }
    .le-evcard__photos img { height: 96px; }
    .le-evcard__photos figcaption { font-size: 0.8rem; }
    .le-evcard__btn { align-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {

    .le-step,
    .le-panel,
    .le-warning,
    .le-icp__card,
    .le-grid-card,
    .le-acc {
        transition: none !important;
        animation: none !important;
    }
}

/* --- Barra de confianza: calificación Google (le-rating) --- */

.le-rating {
    padding: 1.5rem 0;
    text-align: center;
}

.le-rating__bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 16px;
}

.le-rating__stars {
    color: var(--le-accent);
    font-size: 1.1rem;
}

.le-rating__text {
    font-size: 1rem;
    color: var(--le-ink);
}

.le-rating__link {
    font-size: 0.85rem;
    text-decoration: underline;
    color: var(--le-text-muted);
}
