/* CTA_PUBLIC_PREMIUM_V1 */
/* Continental Airlines Virtual - Premium public design */

:root {
    --cap-navy: #06172d;
    --cap-navy-2: #102e50;
    --cap-blue: #1279e4;
    --cap-cyan: #51c8ff;
    --cap-paper: #edf3fa;
    --cap-ink: #102b48;
    --cap-border: #d7e5f3;
}

/* Identite generale */
body.cta-public-premium {
    color: var(--cap-ink);
    background: var(--cap-paper);
    font-family: "Inter", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.cta-public-premium h1,
body.cta-public-premium h2,
body.cta-public-premium h3 {
    font-family: "Montserrat", "Inter", Arial, sans-serif;
    letter-spacing: -.035em;
}

/* Navigation */
body.cta-public-premium .navbar {
    background:
        linear-gradient(
            105deg,
            rgba(4,19,38,.98),
            rgba(13,42,72,.97)
        );
    border-bottom: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 8px 28px rgba(2,15,36,.13);
}

body.cta-public-premium .navbar .brand {
    text-decoration: none;
}

body.cta-public-premium .navbar .nav-links a {
    transition: color .2s ease, opacity .2s ease;
}

body.cta-public-premium .navbar .nav-links a:hover {
    color: #69c4ff;
}

/* Boutons */
body.cta-public-premium .btn,
body.cta-public-premium button:not(.menu-button) {
    border-radius: 11px;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

body.cta-public-premium .btn-primary {
    background: linear-gradient(115deg, #0765c5, #1786ed);
    box-shadow: 0 7px 22px rgba(12,105,202,.2);
}

@media (hover:hover) {
    body.cta-public-premium .btn:hover,
    body.cta-public-premium button:not(.menu-button):hover {
        transform: translateY(-2px);
    }
}

/* Bannieres principales */
body.cta-public-premium .page-hero,
body.cta-public-premium .inner-hero,
body.cta-public-premium .subpage-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            ellipse at 82% 15%,
            rgba(50,155,255,.28),
            transparent 45%
        ),
        linear-gradient(
            115deg,
            #041429,
            #10375e 65%,
            #11588e
        );
    color: #fff;
}

body.cta-public-premium .page-hero h1,
body.cta-public-premium .inner-hero h1,
body.cta-public-premium .subpage-hero h1 {
    color: #fff;
    font-size: clamp(32px, 4.8vw, 60px);
    font-weight: 800;
    line-height: 1.15;
}

body.cta-public-premium .page-hero p,
body.cta-public-premium .inner-hero p,
body.cta-public-premium .subpage-hero p {
    color: #d9eafd;
}

/* Cartes de contenu */
body.cta-public-premium .card,
body.cta-public-premium .info-card,
body.cta-public-premium .feature-card,
body.cta-public-premium .destination-card,
body.cta-public-premium .fleet-card,
body.cta-public-premium .pilot-card,
body.cta-public-premium .staff-card,
body.cta-public-premium .team-card,
body.cta-public-premium .section {
    border-radius: 17px;
    border-color: var(--cap-border);
    box-shadow: 0 8px 30px rgba(12,41,76,.06);
}

@media (hover:hover) {
    body.cta-public-premium .info-card,
    body.cta-public-premium .feature-card,
    body.cta-public-premium .destination-card,
    body.cta-public-premium .fleet-card,
    body.cta-public-premium .pilot-card,
    body.cta-public-premium .staff-card,
    body.cta-public-premium .team-card {
        transition: transform .22s ease, box-shadow .22s ease;
    }

    body.cta-public-premium .info-card:hover,
    body.cta-public-premium .feature-card:hover,
    body.cta-public-premium .destination-card:hover,
    body.cta-public-premium .fleet-card:hover,
    body.cta-public-premium .pilot-card:hover,
    body.cta-public-premium .staff-card:hover,
    body.cta-public-premium .team-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 18px 40px rgba(12,41,76,.11);
    }
}

/* Pied de page */
body.cta-public-premium footer {
    background: linear-gradient(110deg, #041429, #092947);
    color: #d6e7f7;
    border-top: 1px solid rgba(255,255,255,.08);
}

body.cta-public-premium footer a {
    transition: color .2s ease;
}

body.cta-public-premium footer a:hover {
    color: #64c6ff;
}

/* Accessibilite */
body.cta-public-premium a:focus-visible,
body.cta-public-premium button:focus-visible {
    outline: 3px solid #5dbbff;
    outline-offset: 3px;
}

/* Tablettes */
@media (max-width: 1024px) {
    body.cta-public-premium .page-hero h1,
    body.cta-public-premium .inner-hero h1,
    body.cta-public-premium .subpage-hero h1 {
        font-size: clamp(30px, 5vw, 45px);
    }
}

/* Telephones */
@media (max-width: 650px) {
    body.cta-public-premium .page-hero h1,
    body.cta-public-premium .inner-hero h1,
    body.cta-public-premium .subpage-hero h1 {
        font-size: 32px;
    }

    body.cta-public-premium .card,
    body.cta-public-premium .info-card,
    body.cta-public-premium .feature-card,
    body.cta-public-premium .section {
        border-radius: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cta-public-premium *,
    body.cta-public-premium *::before,
    body.cta-public-premium *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}