/* =========================
       STEP 2 â€” Hero
       Checkpoint: Replace hero.jpg with an aviation-visual (hangar/airplane cockpit)
    ========================= */
        .hero {
            position: relative;
            height: 90vh;
            /* mÃ¡s alto para impacto */
            background-attachment: fixed;
            /* ðŸ”¥ PARALLAX */
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-overlay {
            background: rgba(0, 0, 0, 0.58) !important;
            /* overlay mÃ¡s oscuro */
            position: absolute;
            inset: 0;
            ;
            /* sutil para lujo */
        }

        .hero-title,
        .hero-sub {
            opacity: 0;
            transform: translateY(15px);
            animation: fadeUp 0.8s ease-out forwards;
            color: white;
        }

        .hero-title {
            animation-delay: 0.15s;
        }

        .hero-sub {
            animation-delay: 0.3s;
        }

        .hero-btn {
            animation: fadeUp 0.8s ease-out forwards;
            animation-delay: 0.5s;
        }

        .hero-left {
            color: #eaf6f8;
        }

        .eyebrow {
            color: var(--teal);
            font-weight: 700;
            font-size: 13px;
            margin-bottom: 12px
        }

        .hero h2 {
            font-family: Poppins, Inter;
            font-size: 36px;
            margin: 0 0 12px;
            color: #ffffff;
            line-height: 1.03
        }

        .hero p.lead {
            color: var(--muted);
            margin: 0 0 18px
        }

        .hero-ctas {
            display: flex;
            gap: 12px
        }

        .btn {
            padding: 12px 16px;
            border-radius: 10px;
            border: 0;
            font-weight: 700;
            cursor: pointer
        }

        .btn-primary {
            background: linear-gradient(90deg, var(--teal), #35e0ff);
            color: #021018
        }

        .hero-body {
            display: grid;
            grid-template-columns: 1fr 420px;
            gap: 28px;
            align-items: center;
        }

        @keyframes fadeUp {
            0% {
                opacity: 0;
                transform: translateY(15px);
            }

            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* =========================
       STEP 3 â€” Services
       Cards for installation, repuestos, certificacion
    ========================= */
        .services {
            display: flex;
            gap: 16px;
            padding: 24px 0;
        }

        .card {
            background: transparent;
            border: 1px solid rgba(255, 255, 255, 0.03);
            padding: 18px;
            border-radius: 12px;
            flex: 1
        }

        .card h3 {
            margin: 6px 0
        }

        .card p {
            color: var(--muted);
            margin: 0;
            font-size: 14px
        }

        /* =========================
       STEP 4 â€” Catalog (grid)
    ========================= */

        .catalogo {
            padding: 3rem 0;
            background-color: #ebebeb38;
        }

        .grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 18px
        }

        .prod {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.00));
            padding: 14px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.02)
        }

        .prod img {
            width: 100%;
            height: 150px;
            object-fit: cover;
            border-radius: 8px
        }

        .tag {
            display: inline-block;
            padding: 6px 8px;
            border-radius: 8px;
            background: rgba(10, 183, 215, 0.12);
            color: var(--teal);
            font-weight: 700;
            font-size: 12px
        }

        .catalog-card {
            transition: all 0.28s ease;
            transform: translateY(0);
            backdrop-filter: blur(4px);
            background-color: white;
            border: 1px solid rgba(2, 6, 23, 0.06);
            cursor: pointer;
        }

        .catalog-card img {
            transition: transform 0.35s ease;
        }

        /* Efecto hover: luxury tech */
        .catalog-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.113);
            /* azul avionics cyan */
        }

        /* Imagen zoom suave */
        .catalog-card:hover img {
            transform: scale(1.045);
        }

        @keyframes cardEnter {
            from {
                opacity: 0;
                transform: translateY(20px);
                /* movimiento mÃ¡s pequeÃ±o */
                /* blur suave para suavidad */
            }

            to {
                opacity: 3;
                transform: translateY(0);
            }
        }

        .card-enter {
            animation: cardEnter 0.7s ease-out forwards;
            /* ease-out = mÃ¡s suave al final */
        }

        /* =========================
       STEP 5 â€” Before/After showcase (optional)
       We'll include a compact slider you already built earlier.
    ========================= */
        .ba-wrap {
            padding: 3rem 20px;
        }

        .ba-box {
            position: relative;
            border-radius: 12px;
            overflow: hidden;
            background: #071826;
            border: 1px solid rgba(255, 255, 255, 0.03);
        }

        .ba-container {
            width: 100%;
            border-radius: var(--radius);
            overflow: hidden;
            background: #fff;
            position: relative;
            user-select: none;
            touch-action: none;
            /* mejora el comportamiento tÃ¡ctil */
        }

        /* Imagen base (after) ocupa todo */
        .ba-inner {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 7;
            /* ajusta al tamaÃ±o real de tu foto */
            overflow: hidden;
        }

        /* Ambas imágenes siempre a tamaño completo */
        .ba-before,
        .ba-after {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        /* La imagen BEFORE se recorta sin cambiar tamaño */
        .ba-before {
            clip-path: inset(0 50% 0 0);
            /* 50% por defecto */
        }

        .ba-img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            /* evita distorsiÃ³n entre before y after */
        }

        .ba-before img,
        .ba-after img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }


        /* LÃ­nea divisoria fina */
        .ba-divider {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 2px;
            background: linear-gradient(180deg, #fff, #0002);
            pointer-events: none;
        }

        /* Handle (bola) */
        .ba-handle {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: var(--handle-size);
            height: var(--handle-size);
            border-radius: 50%;
            background: linear-gradient(180deg, #fff, #f3f4f6);
            box-shadow: 0 6px 18px rgba(2, 6, 23, 0.16);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: grab;
            z-index: 5;
            border: 2px solid rgba(15, 23, 42, 0.06);
        }

        .ba-handle:active {
            cursor: grabbing;
        }

        /* Icon inside handle */
        .ba-handle::before {
            content: "";
            width: 14px;
            height: 14px;
            background:
                linear-gradient(180deg, rgba(6, 182, 212, 1), rgba(6, 182, 212, 0.9));
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M12 7a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2H9a1 1 0 1 1 0-2h2V8a1 1 0 0 1 1-1z"/></svg>') center/contain no-repeat;
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M12 7a1 1 0 0 1 1 1v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2H9a1 1 0 1 1 0-2h2V8a1 1 0 0 1 1-1z"/></svg>') center/contain no-repeat;
        }

        /* Controls: slider range (visually hidden but useful as alternative) */
        .ba-controls {
            display: flex;
            gap: 10px;
            align-items: center;
            padding: 12px;
            background: linear-gradient(180deg, #ffffff00, #f8fafc);
        }

        .ba-range {
            width: 100%;
        }

        /* Accessibility focus */
        .ba-handle:focus {
            outline: 3px solid rgba(6, 182, 212, 0.22);
            outline-offset: 4px;
        }

        /* Fallback cuando JS desactivado: muestra las dos imÃ¡genes apiladas */
        noscript .ba-inner {
            padding-bottom: 0;
            display: flex;
            gap: 0;
        }

        noscript .ba-after,
        noscript .ba-before {
            position: relative;
            width: 50%;
            height: auto;
        }

        /* =========================
       STEP 6 â€” Trust & CTA
    ========================= */
        .trust {
            padding: 28px 20px;
            display: flex;
            align-items: center;
            gap: 24px;
            border-top: 1px solid rgba(255, 255, 255, 0.02)
        }

        .trust .logos {
            display: flex;
            gap: 12px;
            align-items: center
        }

        .trust p {
            color: var(--muted);
            margin: 0
        }

        /* =========================
       STEP 7 â€” COMENTS
    ========================= */
        .contacto {
            background: #ebebeb38;
        }

        .contact-section {
            padding: 80px 20px;
            color: #fff;
            font-family: Inter, sans-serif;
        }

        .contact-wrapper {
            display: flex;
            flex-wrap: wrap;
            gap: 40px;
            margin: 0 auto;
        }

        .contact-info {
            flex: 1 1 300px;
        }

        .contact-info h3 {
            color: black;
            /* dorado luxury */
            margin-bottom: 16px;
        }

        .contact-info .p-contact-info {
            color: var(--muted);
            margin: 0;
            font-size: 14px;
        }

        .contact-list {
            list-style: none;
            padding: 0;
            margin-top: 24px;
        }

        .contact-list li {
            margin-bottom: 12px;
            color: var(--muted);
            font-size: 14px;
        }

        .contact-form-card {
            flex: 1 1 350px;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 16px;
            backdrop-filter: blur(10px);
        }

        .field {
            margin-bottom: 20px;
            display: flex;
            flex-direction: column;
        }

        .field label {
            margin-bottom: 6px;
            font-size: 14px;
            color: #545454;
        }

        .field input,
        .field textarea {
            padding: 12px 14px;
            font-size: 14px;
            color: #474747;
            background: rgb(251 251 251);
            border-radius: 8px;
            resize: none;
            font-family: Inter, sans-serif;
            border: 1px solid rgba(2, 6, 23, 0.06);

        }

        .field input:focus,
        .field textarea:focus {
            outline: none;
            border-color: #dbdbdb;
            /* cyan tech */
            box-shadow: 0 3px 15px rgba(2, 6, 23, 0.12);
        }

        .btn-send {
            display: block;
            width: 100%;
            padding: 14px 0;
            font-size: 16px;
            font-weight: 600;
            color: #ffffff;
            background: #1ac7ff;
            border: none;
            border-radius: 12px;
            cursor: pointer;
            transition: background 0.3s, box-shadow 0.3s;
        }

        .btn-send:hover {
            background: #1ac7ff;
            box-shadow: 0 3px 20px rgba(0, 0, 0, 0.113);
        }

        /* Responsivo */
        @media (max-width: 768px) {
            .contact-wrapper {
                flex-direction: column;
                gap: 20px;
            }
        }

        /* AnimaciÃ³n de entrada */
        @keyframes fadeInContact {
            from {
                opacity: 0;
                transform: translateY(20px);
                filter: blur(4px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
                filter: blur(0);
            }
        }


        /* ===== FAQ (adaptado a tu theme) ===== */
        .faq-section {
            color: var(--tech-dark);
        }

        .section-title {
            color: var(--tech-dark);
            margin-bottom: 20px;
        }

        /* Ajuste de tarjeta FAQ: claro, con borde y sombra sutil */
        .faq-item {
            background: var(--surface);
            border-radius: 12px;
            margin-bottom: 12px;
            overflow: hidden;
            border: 1px solid rgba(2, 6, 23, 0.06);

        }

        /* Pregunta: estilo botón, alineado al look de nav/cta */
        .faq-question {
            width: 100%;
            background: transparent;
            color: var(--tech-dark);
            padding: 18px 20px;
            text-align: left;
            border: 0;
            font-size: 16px;
            font-family: "Inter", sans-serif;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            color: var(--muted);


        }


        .faq-item[data-open="true"] .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            /* cerrado */
            overflow: hidden;
            transition: max-height 0.35s ease;
            padding: 0 18px;
            /* solo laterales */
            color: var(--muted);
            font-size: 15px;
            line-height: 1.5;
            background: aliceblue;

        }

        /* Solo cuando está abierto se agregan padding top/bottom */
        .faq-item[data-open="true"] .faq-answer {
            padding-top: 10px;
        }

        /* abierta */
        .faq-item.open .faq-answer {
            display: block;
        }

        .faq-item.open .faq-question::after {
            transform: rotate(180deg);
            color: var(--tech-accent);
        }



        /* ===== Galería (adaptada) ===== */
        .gallery-section .section-title {
            color: var(--tech-dark);
        }

        .gallery-grid {
            display: grid;
            gap: 18px;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            margin-top: 18px;
        }

        /* card */
        .gallery-card {
            background: var(--surface);
            border-radius: 14px;
            overflow: hidden;
            border: 1px solid rgba(2, 6, 23, 0.06);
            transition: transform .28s ease;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            width: 100%;
            margin: 0;
        }

        /* thumbnail */
        .gallery-card img {
            width: 100%;
            height: 180px;
            object-fit: cover;
            display: block;
            transition: transform .35s ease;
        }

        /* caption */
        .gallery-card figcaption {
            padding: 30px 20px;
            font-size: 14px;
            color: var(--tech-dark);
            display: flex;
            flex-direction: column;
            gap: 6px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.02));
        }

        .gallery-card figcaption strong {
            font-weight: 700;
            font-family: Poppins, sans-serif;
        }

        .gallery-card figcaption span {
            color: var(--muted);
            font-size: 13px;
        }

        /* hover */
        .gallery-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 2px 10px rgba(2, 6, 23, 0.12);
        }

        .gallery-card:hover img {
            transform: scale(1.045);
        }

        /* ===== Lightbox ===== */
        .lb {
            position: fixed;
            inset: 0;
            display: none;
            justify-content: center;
            align-items: center;
            background: rgba(2, 6, 23, 0.88);
            z-index: 9999;
            padding: 30px;
            gap: 12px;
            flex-direction: column;
        }

        .lb img {
            max-width: 92%;
            max-height: 78vh;
            border-radius: 12px;
            box-shadow: 0 20px 60px rgba(2, 6, 23, 0.6);
        }

        .lb-caption {
            color: #dfeff4;
            font-size: 14px;
            margin-top: 8px;
            text-align: center;
            max-width: 92%;
        }

        /* close */
        .lb-close {
            position: absolute;
            top: 20px;
            right: 22px;
            background: transparent;
            border: 0;
            color: #fff;
            font-size: 24px;
            cursor: pointer;
        }

        /* responsive tweaks */
        @media (max-width:600px) {
            .faq-section {
                padding: 36px 12px;
            }

            .gallery-card img {
                height: 140px;
            }
        }



        /* Responsive small: stack and show burger */
        @media (max-width:1100px) {
            .hero-body {
                grid-template-columns: 48fr 328px;
            }
        }

        @media (max-width:900px) {

            .hero-body {
                display: flex;
                grid-template-columns: 1fr 420px;
                gap: 28px;
                align-items: center;
            }

            .hero {
                grid-template-columns: 1fr;
            }

            .hero-right {
                order: 2
            }

            .hero-left {
                order: 1
            }

            .services {
                flex-direction: column;
                padding: 18px
            }

            .catalog {
                padding: 18px
            }

            .ba-wrap {
                padding: 18px
            }

            
        }

        /* 🌐 RESPONSIVE (menos de 800px) */
        @media (max-width: 800px) {
            footer {
                flex-direction: row;
                flex-wrap: wrap;
                justify-content: flex-start;
                align-items: flex-start;
            }

            /* Imagen y sus iconos a la izquierda */
            #img_footer {
                flex: 1 1 100%;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
            }

            #img_footer img {
                max-width: 180px;
            }

            /* Iconos debajo de la imagen */
            .iconos {
                flex: 1 1 100%;
                justify-content: flex-start;
                text-align: left;
                margin-top: 0.5rem;
                order: 2;
            }

            /* Datos a la derecha y abajo */
            .div_info_cont {
                flex: 1 1 100%;
                display: flex;
                flex-direction: column;
                margin-top: 1rem;
                order: 3;
            }

            .div_informacion {
                width: 100%;
                text-align: left;
            }

            .div_cont {
                justify-content: flex-start;
            }
        }