﻿/**
 * FTI75 — Interface mobile professionnelle (alignée FNTI)
 */

/* ─── Menu mobile : panneau déroulant sous le header ─── */
@media (max-width: 1024px) {
    .fnti-premium .site-header {
        position: sticky;
        top: 0;
        z-index: 1001;
    }

    .fnti-home-premium .site-header {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
    }

    .fnti-home-premium .header-top-bar {
        position: relative;
        top: auto;
    }

    .fnti-home-premium .site-header.fnti-hp-header-solid,
    .fnti-home-premium .site-header.scrolled {
        top: 0;
    }

    .fnti-premium .header-container {
        position: relative;
        flex-wrap: nowrap;
        align-items: center;
        padding: 12px 16px;
        min-height: auto;
        gap: 12px;
    }

    .fnti-premium .site-logo {
        flex: 1 1 auto;
        min-width: 0;
        gap: 12px;
    }

    .fnti-premium .site-logo__mark .custom-logo,
    .fnti-premium .site-logo img {
        max-height: 52px;
        max-width: 150px;
    }

    .fnti-premium .logo-since {
        padding-left: 12px;
        font-size: 9px;
        letter-spacing: 0.16em;
    }

    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        flex-shrink: 0;
        background: transparent;
        border: 1px solid rgba(201, 169, 98, 0.35);
        border-radius: 2px;
        cursor: pointer;
        font-size: 22px;
        line-height: 1;
        color: var(--hp-gold, #c9a962);
        transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    }

    .mobile-menu-toggle:hover,
    .mobile-menu-toggle:focus {
        border-color: rgba(201, 169, 98, 0.6);
        color: var(--hp-gold-light, #e8d5a3);
        outline: none;
    }

    .fnti-home-premium .mobile-menu-toggle {
        color: var(--hp-white, #fff);
        border-color: rgba(255, 255, 255, 0.25);
    }

    .fnti-home-premium .site-header.fnti-hp-header-solid .mobile-menu-toggle,
    .fnti-home-premium .site-header.scrolled .mobile-menu-toggle {
        color: var(--hp-gold, #c9a962);
        border-color: rgba(201, 169, 98, 0.35);
    }

    .fnti-premium #fti75-main-navigation.fti75-nav {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        background: var(--hp-ink, #0c1118);
        border-top: 1px solid rgba(201, 169, 98, 0.15);
        box-shadow: 0 12px 24px rgba(12, 17, 24, 0.2);
        padding: 8px 0 16px;
        z-index: 1000;
        max-height: calc(100dvh - 120px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .fnti-premium #fti75-main-navigation.fti75-nav.active {
        display: flex !important;
    }

    .fnti-premium #fti75-main-navigation .main-menu,
    .fnti-premium #fti75-main-navigation .menu-primary {
        flex-direction: column;
        width: 100%;
        gap: 0;
    }

    .fnti-premium #fti75-main-navigation .main-menu > li,
    .fnti-premium #fti75-main-navigation .menu-primary > li {
        width: 100%;
        border-bottom: 1px solid rgba(201, 169, 98, 0.15);
    }

    .fnti-premium #fti75-main-navigation .main-menu > li > a,
    .fnti-premium #fti75-main-navigation .menu-primary > li > a {
        display: block;
        padding: 14px 28px;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.92) !important;
        text-decoration: none;
    }

    .fnti-premium #fti75-main-navigation .main-menu > li > a::after,
    .fnti-premium #fti75-main-navigation .menu-primary > li > a::after {
        display: none;
    }

    .fnti-premium #fti75-main-navigation .main-menu > li > a:hover,
    .fnti-premium #fti75-main-navigation .menu-primary > li > a:hover,
    .fnti-premium #fti75-main-navigation .current-menu-item > a {
        color: var(--hp-gold, #c9a962) !important;
        background: rgba(201, 169, 98, 0.08);
    }

    .fnti-premium .header-top-bar {
        font-size: 10px;
        padding: 8px 16px;
    }

    .fnti-premium .header-top-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .fnti-premium .fnti-hp-container,
    .fnti-premium .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.fnti-mobile-nav-open {
        overflow: hidden;
    }

    .fnti-home-premium .fnti-hp-hero__inner {
        padding-top: 48px;
    }
}

@media (max-width: 480px) {
    .fnti-premium .logo-since {
        display: none;
    }

    .fnti-premium .header-top-inner {
        align-items: center;
        text-align: center;
    }
}

@media (min-width: 1025px) {
    .mobile-menu-toggle {
        display: none !important;
    }
}

/* Pages réservation / paiement / contrat */
@media (max-width: 768px) {
    .fti75-booking .reservation-info > div[style*="grid"],
    .fti75-booking [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }

    .fnti-premium .fnti-page-hero {
        padding: 48px 0 40px;
    }

    .fnti-premium .fnti-page-hero__title {
        font-size: clamp(1.75rem, 7vw, 2.25rem);
    }

    .fnti-premium .section {
        padding: 48px 0;
    }

    .fnti-premium .content-card {
        padding: 24px 20px;
    }

    .fnti-premium .footer-bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* Factures HTML : impression PDF navigateur */
@media print {
    .fti75-invoice-pay-bar,
    .site-header,
    .site-footer,
    .header-top-bar,
    .fti75-adhesion-banner {
        display: none !important;
    }
}
