/* ==========================================================
   INDEX.CSS | Portada editorial
   Paleta verde eléctrico metálico, inspirada en el nuevo logo.
   Estilos aislados para no alterar las páginas interiores.
   ========================================================== */

/* 01. Identidad y dimensiones generales */
.page-index {
    /* Colores exclusivos de la portada. */
    --index-electric: #69e52a;
    --index-highlight: #c5ff91;
    --index-dark: #102410;
    margin: 0;
    overflow-x: hidden;
    color: #ffffff;
    font-family: 'Manrope', 'Helvetica Neue', Arial, sans-serif;
}

.page-index .hero {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 40px 28px;
    background: #162719 url('../images/index.webp') center / cover no-repeat;
}

/* 02. Contraste fotográfico sin apagar la imagen */
.page-index .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        115deg,
        rgba(4, 19, 27, 0.40),
        rgba(4, 19, 27, 0.26) 55%,
        rgba(4, 19, 27, 0.18)
    );
}

/* 03. Composición central, espaciosa y sin bloques de texto */
.page-index .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(100%, 980px);
    text-align: center;
}

.page-index .hero-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0 0 24px;
    color: #f6fff0;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    text-shadow: 0 2px 12px #102410;
}

/* Líneas ornamentales: acento eléctrico discreto */
.page-index .hero-kicker::before,
.page-index .hero-kicker::after {
    content: '';
    width: 42px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--index-highlight));
}

.page-index .hero-kicker::after {
    transform: rotate(180deg);
}

/* 04. Cristal panorámico: blanco sutil y contraste central */
.page-index .logo-glass-card {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    padding: 24px 46px;
    min-height: 235px;
    margin-bottom: 24px;
    border: 1px solid rgba(226, 255, 210, 0.40);
    border-radius: 24px;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.16),
        rgba(18, 33, 16, 0.22) 52%,
        rgba(255, 255, 255, 0.10)
    );
    -webkit-backdrop-filter: blur(12px) saturate(115%);
    backdrop-filter: blur(12px) saturate(115%);
    box-shadow:
        0 18px 55px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.30);
}

/* Reflejo fino sobre el canto, sin manchas sobre el logotipo */
.page-index .logo-glass-card::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 25%;
    right: 25%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--index-highlight), transparent);
    box-shadow: 0 0 12px rgba(105, 229, 42, 0.35);
    pointer-events: none;
}

.page-index .hero-logo {
    display: block;
    width: 100%;
    max-width: 790px;
    max-height: 290px;
    height: auto;
    object-fit: contain;
    /* El SVG conserva su acabado metálico original. */
    filter: none;
}

/* 05. Botones comerciales, finos y coherentes con el logo */
.page-index .hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    width: 100%;
}

.page-index .btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 50px;
    min-width: 230px;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: background 250ms ease, box-shadow 250ms ease, transform 250ms ease;
}

.page-index .btn span {
    font-size: 17px;
    line-height: 1;
}

/* Compra: verde eléctrico metálico con texto oscuro legible */
.page-index .btn-primary {
    color: var(--index-dark);
    border-color: rgba(197, 255, 145, 0.8);
    background: linear-gradient(115deg, #d5ffa9 0%, #83ed42 48%, #5dce24 100%);
    box-shadow: 0 4px 22px rgba(105, 229, 42, 0.16);
}

/* Venta: cristal oscuro con borde verde eléctrico */
.page-index .btn-secondary {
    color: #f6fff0;
    border-color: rgba(165, 241, 108, 0.65);
    background: rgba(16, 36, 16, 0.48);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

@media (hover: hover) {
    .page-index .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 0 24px rgba(105, 229, 42, 0.25);
    }

    .page-index .btn-primary:hover {
        background: #baff81;
    }

    .page-index .btn-secondary:hover {
        background: rgba(30, 65, 23, 0.76);
    }
}

/* Navegación por teclado */
.page-index .btn:focus-visible {
    outline: 2px solid var(--index-highlight);
    outline-offset: 5px;
}

/* 06. Tablet */
@media (max-width: 991px) {
    .page-index .hero {
        padding: 32px 24px;
    }

    .page-index .logo-glass-card {
        padding: 20px 30px;
        min-height: 210px;
    }
}

/* 07. Móvil: tarjeta fluida y botones táctiles */
@media (max-width: 600px) {
    .page-index .hero {
        padding: 30px 18px;
        background-position: 43% center;
    }

    .page-index .hero-kicker {
        gap: 10px;
        font-size: 10px;
        letter-spacing: 0.15em;
        margin-bottom: 18px;
    }

    .page-index .hero-kicker::before,
    .page-index .hero-kicker::after {
        width: 16px;
        flex-shrink: 0;
    }

    .page-index .logo-glass-card {
        min-height: 155px;
        padding: 18px 12px;
        border-radius: 18px;
        margin-bottom: 20px;
    }

    .page-index .hero-actions {
        flex-direction: column;
        max-width: 340px;
        gap: 12px;
    }

    .page-index .btn {
        width: 100%;
        min-width: 0;
    }
}

/* 08. Pantallas de poca altura: permitir desplazamiento si hace falta */
@media (max-height: 540px) and (min-width: 601px) {
    .page-index .hero {
        padding: 20px 24px;
    }

    .page-index .logo-glass-card {
        min-height: 130px;
        padding: 12px 24px;
        margin-bottom: 16px;
    }

    .page-index .hero-logo {
        max-height: 190px;
    }
}

/* 09. Accesibilidad: respetar preferencias de movimiento */
@media (prefers-reduced-motion: reduce) {
    .page-index .btn {
        transition: none;
    }

    .page-index .btn:hover {
        transform: none;
    }
}
