﻿:root {
    --primary-bg: #1E1E2C; /* Fondo principal de cards */
    --secondary-bg: #2C2C3E; /* Fondo secciones y navbar */
    --accent-orange: #ED733F; /* Color principal para detalles */
    --accent-gold: #F6CE98; /* Color de acento dorado */
    --text-color: #FFFFFF; /* Texto general */
}

/* BODY */
body {
    font-family: 'Cairo', sans-serif;
    background-color: #f5f5f5;
    color: var(--text-color);
    margin: 0;
    padding-top: 80px; /* espacio para navbar fijo */
}

/* NAVBAR */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 2rem;
    background-color: rgba(30,41,76,0.85);
    backdrop-filter: blur(10px);
    padding: 1rem 2rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    z-index: 1000;
}

    .navbar a {
        color: var(--text-color);
        text-decoration: none;
        font-weight: 600;
        font-size: 1.2rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.5rem 1rem;
        border-radius: 8px;
        transition: all 0.3s ease;
    }

        .navbar a:hover {
            background-color: var(--accent-orange);
            color: #fff;
            transform: translateY(-2px);
        }

/* HERO IMAGE */
.hero-image {
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 12/5;
    margin: 20px auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    overflow: hidden;
}

    .hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .hero-image::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.25);
        z-index: 1;
    }

.hero-text {
    position: absolute;
    color: var(--text-color);
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(2rem, 5vw, 4rem);
    text-align: center;
    z-index: 2;
    padding: 0 1rem;
}

/* SECCIONES */
#contenido-intro {
    max-width: 1000px;
    margin: 3rem auto;
    text-align: center;
}

    #contenido-intro h2 {
        font-family: 'Poppins', sans-serif;
        font-size: 2.5rem;
        margin-bottom: 1rem;
        color: var(--accent-orange);
    }

    #contenido-intro p {
        background-color: var(--secondary-bg);
        color: var(--accent-gold);
        padding: 1.5rem 2rem;
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.25);
        font-size: 1.1rem;
        line-height: 1.6;
    }

/* CAROUSEL DE CARDS */
.carousel-container {
    position: relative;
    max-width: 1200px;
    margin: auto;
    padding: 2rem 0;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    gap: 2rem;
    transition: transform 0.3s ease;
    overflow: visible; /* permite que las cards escaladas sobresalgan */
}

.card-green {
    background-color: var(--primary-bg);
    color: var(--accent-gold);
    border-radius: 12px;
    flex: 0 0 300px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    text-decoration: none;
    display: block;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    will-change: transform; /* mejora el rendimiento de animación */
    z-index: 1; /* base */
    align-items:center;
}

    .card-green:hover {
        transform: scale(1.05); /* solo escala la card */
        z-index: 10; /* se pone por encima del resto */
        box-shadow: 0 15px 25px rgba(0,0,0,0.35);
    }

    .card-green img {
        width: 100%;
        filter: grayscale(100%);
        height: 300px; /* 🔹 ajusta según el tamaño que quieras */
        object-fit: cover; /* recorta y centra la imagen */
        border-radius: 8px;
        margin-bottom: 1rem;
    }
        .card-green img:hover {
            filter: grayscale(0%);
        }
    .card-green h4 {
        color: var(--text-color);
        margin-bottom: 1.5rem; /* espacio con la línea */
        position: relative; /* necesario para ubicar el ::after */
        display: inline-block; /* se ajusta al ancho del texto */
        font-weight: 600;
    }

        /* Línea decorativa debajo del h4 */
        .card-green h4::after {
            content: "";
            display: block;
            width: 100%; /* ancho de la línea relativo al texto */
            height: 3px; /* grosor */
            margin: 0.5rem auto 0; /* centrado debajo del texto */
            border-radius: 2px;
            background: linear-gradient(90deg, var(--accent-gold), var(--accent-orange));
        }

    .card-green p {
        color: var(--accent-gold);
        font-size: 1rem;
        line-height: 1.5;
    }
    .card-green .card-icon {
        font-size: 4rem; /* tamaño grande (3 rem = relativo al root) */
        color: var(--accent-gold); 
        margin-bottom: 1rem; /* espacio debajo del icono */
        transition: transform 0.3s ease, color 0.3s ease;
    }

    /* efecto al pasar el mouse */
    .card-green:hover .card-icon {
        transform: scale(1.2);
        color: #27ae60;
    }


/* BOTÓN COTIZAR */
.quote-button-container {
    display: flex;
    justify-content: center;
    margin: 2rem 0;
}

.quote-button {
    padding: 14px 40px;
    font-size: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-gold));
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

    .quote-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(0,0,0,0.35);
    }

/* BOTONES DEL CAROUSEL */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--secondary-bg);
    border: none;
    color: var(--text-color);
    padding: 0.5rem 1rem;
    cursor: pointer;
    border-radius: 50%;
    font-size: 1.5rem;
    z-index: 10;
    transition: background-color 0.3s ease;
}

    .carousel-btn:hover {
        background-color: var(--accent-orange);
    }

    .carousel-btn.prev {
        left: 10px;
    }

    .carousel-btn.next {
        right: 10px;
    }
.ultimo {
    color: black;
    width: 100%;
    padding: 0.625rem; /* 10px */
    box-shadow: 0 0.25rem 0.625rem rgba(255,255,255,0.2); /* 4px 10px */
    margin-top: 0.625rem; /* 10px */
}
/* RESPONSIVE */
@media (max-width: 900px) {
    .card-green {
        flex: 0 0 45%;
    }
}

@media (max-width: 600px) {
    .card-green {
        flex: 0 0 90%;
    }

    .hero-image {
        aspect-ratio: 4/3;
    }

    .hero-text {
        font-size: clamp(1.5rem, 6vw, 3rem);
    }

    #contenido-intro h2 {
        font-size: 2rem;
    }

    #contenido-intro p {
        font-size: 1rem;
    }
}
/* ================= CAROUSEL RESPONSIVE ================= */

/* Desktop: ya está definido con flex: 0 0 300px */

/* Pantallas medianas (tablets) */
@media (max-width: 1024px) {
    .card-green {
        flex: 0 0 45%; /* 2 tarjetas por fila */
    }

    .carousel-btn.prev {
        left: 5px;
    }

    .carousel-btn.next {
        right: 5px;
    }
}

/* Pantallas pequeñas (móviles grandes) */
@media (max-width: 768px) {
    .card-green {
        flex: 0 0 60%; /* 1.5 tarjetas visibles */
    }

    .carousel-track {
        gap: 1rem;
    }

    .carousel-btn {
        padding: 0.3rem 0.8rem;
        font-size: 1.2rem;
    }
}

/* Pantallas muy pequeñas (móviles pequeños) */
@media (max-width: 320px) {
    .card-green {
        flex: 0 0 90%; /* 1 tarjeta visible, centrada */
        margin: 0 auto;
    }

    .carousel-track {
        gap: 0.8rem;
    }

    .carousel-btn.prev {
        left: 2px;
    }

    .carousel-btn.next {
        right: 2px;
    }
}
