/* ============================================
   RESPONSIVE CSS - Climatic'Confort
   Style propre et esthétique
   ============================================ */

/* ============================================
   TRÈS GRANDS ÉCRANS (> 1920px)
   ============================================ */
@media (min-width: 1921px) {
    .container {
        max-width: 1400px;
        margin: 0 auto;
    }

    .navbar .container {
        max-width: 1760px;
    }

    section .container {
        max-width: 1400px;
    }
}

/* ============================================
   DESKTOP - Masquer éléments mobile
   ============================================ */
.mobile-header,
.mobile-nav-bottom,
.mobile-text {
    display: none !important;
}

/* Masquer header mobile et hamburger sur desktop uniquement */
@media (min-width: 745px) {
    .mobile-header-bar,
    .mobile-search-bar,
    .mobile-nav-menu,
    .hamburger {
        display: none !important;
    }
}

/* Cacher le br mobile sur desktop */
.mobile-break,
.mobile-br {
    display: none;
}

/* ============================================
   TABLETTE (max-width: 950px)
   ============================================ */
@media (max-width: 950px) {
    .container {
        padding: 0 20px;
    }

    .nav-menu {
        gap: 1rem;
    }

    .nav-menu > li:nth-child(-n+6) a {
        font-size: 0.95rem;
    }

    .features-grid,
    .services-grid,
    .engagement-grid-new {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ============================================
   MOBILE (max-width: 744px)
   ============================================ */
@media (max-width: 744px) {

    /* === BASE === */
    * {
        -webkit-tap-highlight-color: transparent;
    }

    body {
        padding-top: 60px !important;
    }

    .container {
        padding: 0 12px;
        max-width: 100%;
    }

    /* === HEADER MOBILE === */
    header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: #fff;
        height: 60px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    }

    /* Cacher le navbar desktop sur mobile */
    .navbar {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    /* Afficher le header mobile */
    .mobile-header-bar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px !important;
        height: 60px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Forcer l'affichage du logo mobile même avec .scrolled */
    header .mobile-header-bar .nav-logo,
    header.scrolled .mobile-header-bar .nav-logo {
        display: flex !important;
        flex-shrink: 0 !important;
        position: static !important;
        left: auto !important;
    }

    header .mobile-header-bar .nav-logo a,
    header.scrolled .mobile-header-bar .nav-logo a {
        display: flex !important;
    }

    header .mobile-header-bar .nav-logo img,
    header.scrolled .mobile-header-bar .nav-logo img {
        display: block !important;
        width: 32px !important;
        height: 32px !important;
    }

    header .mobile-header-bar .nav-logo picture,
    header.scrolled .mobile-header-bar .nav-logo picture {
        display: block !important;
    }

    .mobile-header-bar .mobile-search-bar {
        display: flex !important;
        flex: 1 1 auto !important;
        margin: 0 12px !important;
        position: relative !important;
        max-width: none !important;
    }

    .mobile-header-bar .mobile-search-bar input {
        width: 100% !important;
        height: 36px !important;
        padding: 0 40px 0 14px !important;
        border: none !important;
        border-radius: 20px !important;
        font-size: 14px !important;
        background: #f3f4f6 !important;
        color: #333 !important;
        box-sizing: border-box !important;
    }

    .mobile-header-bar .mobile-search-bar input::placeholder {
        color: #9ca3af !important;
    }

    .mobile-header-bar .mobile-search-bar input:focus {
        background: #e5e7eb !important;
        outline: none !important;
    }

    .mobile-header-bar .mobile-search-bar button {
        position: absolute !important;
        right: 6px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 28px !important;
        height: 28px !important;
        border: none !important;
        border-radius: 50% !important;
        background: transparent !important;
        color: #6b7280 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .mobile-header-bar .mobile-search-bar button i {
        font-size: 14px !important;
    }

    .mobile-header-bar .hamburger {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 44px !important;
        height: 44px !important;
        gap: 5px !important;
        cursor: pointer !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
        z-index: 1002 !important;
        position: relative !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .mobile-header-bar .hamburger span {
        display: block !important;
        width: 22px !important;
        height: 2px !important;
        background: #333 !important;
        border-radius: 2px !important;
        transition: 0.3s !important;
        pointer-events: none !important;
    }

    /* Animation hamburger en X */
    .mobile-header-bar .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px) !important;
    }

    .mobile-header-bar .hamburger.active span:nth-child(2) {
        opacity: 0 !important;
    }

    .mobile-header-bar .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px) !important;
    }

    /* Menu mobile */
    .mobile-nav-menu {
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: calc(100vh - 60px) !important;
        background: #fff !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        overflow-y: auto !important;
        transform: translateX(-100%) !important;
        transition: transform 0.25s ease !important;
        z-index: 999 !important;
    }

    .mobile-nav-menu.active {
        transform: translateX(0) !important;
    }

    .mobile-nav-menu li {
        border-bottom: 1px solid #eee;
    }

    .mobile-nav-menu li a {
        display: block !important;
        padding: 16px 20px !important;
        color: #333 !important;
        text-decoration: none !important;
        font-size: 1rem !important;
    }

    .mobile-nav-menu li.mobile-contact-info a {
        display: inline !important;
        padding: 0 !important;
    }

    .mobile-nav-menu li a:hover,
    .mobile-nav-menu li a.active {
        background: #f5f5f5 !important;
        color: #0066cc !important;
    }

    /* Sous-menus mobile */
    .mobile-nav-menu .submenu-toggle {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .mobile-nav-menu .submenu-toggle i {
        transition: transform 0.3s ease !important;
    }

    .mobile-nav-menu .has-submenu.open .submenu-toggle i {
        transform: rotate(180deg) !important;
    }

    .mobile-nav-menu .mobile-submenu {
        display: none;
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        background: #f9f9f9 !important;
    }

    .mobile-nav-menu .has-submenu.open .mobile-submenu {
        display: block !important;
    }

    .mobile-nav-menu .mobile-submenu li {
        border-bottom: 1px solid #eee !important;
    }

    .mobile-nav-menu .mobile-submenu li:last-child {
        border-bottom: none !important;
    }

    .mobile-nav-menu .mobile-submenu li a {
        padding: 14px 20px 14px 40px !important;
        font-size: 0.95rem !important;
        color: #555 !important;
    }

    .mobile-nav-menu .mobile-submenu li a:hover {
        background: #f0f0f0 !important;
        color: #0066cc !important;
    }

    .mobile-nav-menu .mobile-submenu li a.submenu-main,
    .mobile-nav-menu .mobile-submenu li:first-child a {
        font-weight: 600 !important;
        color: #0066cc !important;
        padding-left: 20px !important;
    }

    .mobile-nav-menu .mobile-submenu li a.submenu-main i {
        margin-right: 8px;
        font-size: 0.8rem;
    }

    /* Section contact dans le menu mobile */
    .mobile-nav-menu .mobile-contact-info {
        margin-top: 0 !important;
        padding: 20px !important;
        padding-bottom: 65px !important;
        background: #2C3E50 !important;
        border-top: none !important;
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .mobile-nav-menu .mobile-contact-info > * {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    .mobile-nav-menu .mobile-contact-info > *:last-child {
        margin-bottom: 0 !important;
    }

    .mobile-nav-menu .mobile-contact-info div {
        color: white !important;
    }

    .mobile-nav-menu .mobile-contact-info a {
        color: white !important;
    }


    .mobile-nav-menu .mobile-contact-info div:first-child {
        margin-bottom: 18px !important;
    }

    .mobile-nav-menu .mobile-contact-info a:hover {
        color: #0066cc !important;
    }

    .nav-menu > li {
        width: 100%;
        border-bottom: 1px solid #eee;
    }

    .nav-menu > li:nth-child(n+8) {
        display: block !important;
    }

    .nav-menu > li > a,
    .nav-menu > li:nth-child(-n+6) a {
        display: flex !important;
        align-items: center !important;
        min-height: 48px !important;
        padding: 0 16px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #333 !important;
    }

    .dropdown-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        background: #f8f8f8 !important;
        display: none;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .dropdown.active .dropdown-menu {
        display: block;
    }

    .dropdown-menu a {
        padding: 0 16px 0 32px !important;
        min-height: 44px !important;
        font-size: 13px !important;
        color: #555 !important;
    }

    .social-links {
        display: flex !important;
        justify-content: center !important;
        gap: 24px !important;
        padding: 16px !important;
        border-top: 1px solid #eee;
    }

    .social-links a {
        font-size: 20px !important;
        color: #333 !important;
    }

    /* === PAGE HEADER === */
    .page-header {
        padding: 16px 0 !important;
    }

    .page-header h1 {
        font-size: 1.1rem !important;
        line-height: 1.3 !important;
        padding: 0 8px !important;
        padding-top: 3px !important;
        margin: 0 !important;
        text-align: center !important;
        font-weight: bold !important;
        text-transform: uppercase !important;
    }

    .mobile-break {
        display: block !important;
    }

    .h1-line1,
    .h1-line2 {
        display: block !important;
        font-size: 1.15rem !important;
        font-weight: bold !important;
        text-transform: uppercase !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0.3 !important;
        font-family: inherit !important;
    }

    /* === SECTIONS === */
    section {
        padding: 24px 0 !important;
    }

    /* === HERO SECTION MOBILE === */
    .container.hero-content {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 100% !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }

    h1.hero-title {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
        margin-bottom: 1rem !important;
        padding: 0 10px !important;
    }

    h2.hero-subtitle {
        font-size: 0.9rem !important;
        margin-bottom: 1.2rem !important;
    }

    .mobile-br {
        display: block !important;
    }

    .hero-actions-bar {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 16px !important;
        border-radius: 20px !important;
        width: 90% !important;
        max-width: 280px !important;
    }

    .hero-btn {
        width: 100% !important;
        text-align: center !important;
        padding: 10px 16px !important;
        font-size: 0.8rem !important;
    }

    .hero-separator {
        display: none !important;
    }

    .hero-search-wrapper {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .hero-search-wrapper > div {
        width: 100% !important;
    }

    #cityInput {
        width: 100% !important;
        min-width: auto !important;
        font-size: 0.8rem !important;
        text-align: center !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        font-weight: 600 !important;
        color: white !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    }

    #cityInput::placeholder {
        text-align: center !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        color: white !important;
        opacity: 1 !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    }

    #cityInput::-webkit-input-placeholder {
        text-align: center !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        color: white !important;
        opacity: 1 !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    }

    #cityInput::-moz-placeholder {
        text-align: center !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        color: white !important;
        opacity: 1 !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    }

    #cityInput:-ms-input-placeholder {
        text-align: center !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        color: white !important;
        opacity: 1 !important;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    }

    .about-page {
        padding: 16px 0 !important;
    }

    /* === TYPOGRAPHIE PROPORTIONNELLE === */
    h2, .section-title {
        font-size: 1rem !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
        text-align: center !important;
    }

    h3 {
        font-size: 0.9rem !important;
    }

    p {
        font-size: 0.8rem !important;
        line-height: 1.5 !important;
        text-align: justify !important;
    }

    /* === SECTION ENTREPRISE === */
    .notre-entreprise-section .about-text-content {
        display: contents !important;
    }

    .notre-entreprise-section .about-text-content h2 {
        order: 2 !important;
        margin-bottom: 14px !important;
        margin-top: 0.5rem !important;
        text-align: center !important;
    }

    .content-grid {
        display: contents !important;
    }

    .notre-entreprise-section {
        display: flex !important;
        flex-direction: column !important;
    }

    .about-image-wrapper {
        order: 1 !important;
    }

    /* Texte après le titre */
    .text-paragraphs {
        order: 3 !important;
        margin-top: 0 !important;
    }

    .text-paragraphs p {
        margin-bottom: 2rem !important;
    }

    .text-paragraphs p:first-child {
        margin-top: 0 !important;
    }

    .text-paragraphs p:last-child {
        margin-bottom: 0 !important;
    }

    .about-image-wrapper {
        order: 1;
        margin: 0 !important;
        margin-top: -1rem !important;
        margin-bottom: 0.5rem !important;
        width: 100% !important;
        max-width: 100% !important;
        max-width: 280px;
        height: auto !important;
        min-height: auto !important;
        display: flex !important;
        justify-content: center !important;
    }

    .about-image-wrapper picture {
        width: 100% !important;
        height: auto !important;
        display: flex !important;
        justify-content: center !important;
    }

    .about-image-wrapper img {
        height: 200px !important;
        width: 100% !important;
        border-radius: 0 !important;
        object-fit: cover;
        object-position: center top !important;
        margin-bottom: 16px !important;
        margin-top: 0 !important;
        display: block !important;
    }

    /* Espace sous la section "L'entreprise en quelques mots" */
    .notre-entreprise-section {
        margin-bottom: 16px !important;
        padding-bottom: 0 !important;
    }

    /* === SECTION QUI SUIS-JE === */
    .about-intro-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    /* Réduire espace fin section Qui suis-je */
    .about-intro-grid .about-text-content p:last-child {
        margin-bottom: 0 !important;
    }

    /* Section Qui suis-je - réduire padding bas */
    section.about-page[style*="background-color: #2c3e50"] {
        padding-bottom: 0.3rem !important;
    }

    .about-intro-grid > div:first-child {
        margin: 0 auto !important;
        display: flex;
        justify-content: center;
    }

    /* Espace après "Qui suis-je" */
    .about-intro-grid .about-text-content h2 {
        margin-bottom: 18px !important;
        text-align: center !important;
    }

    .polaroid-image {
        max-width: 100% !important;
        width: 100% !important;
        padding: 8px 8px 32px 8px !important;
        margin-bottom: 0.5rem !important;
        transform: none !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    }

    .polaroid-image img {
        width: 100% !important;
        height: 200px !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    .polaroid-caption {
        font-size: 0.8rem !important;
        bottom: 8px !important;
    }

    /* === CARTES ENGAGEMENT === */
    /* Titre "Notre approche" et phrase réduits */
    .engagement-section > .container > h2 {
        margin-bottom: 0.1rem !important;
    }

    .engagement-section > .container > p {
        text-align: center !important;
        margin-top: -0.3rem !important;
        margin-bottom: 1.3rem !important;
    }

    .engagement-grid-new {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .engagement-card {
        padding: 16px !important;
    }

    .engagement-icon-wrapper {
        width: 60px !important;
        height: 60px !important;
        margin-bottom: 12px !important;
    }

    .engagement-icon-wrapper i {
        font-size: 1.3rem !important;
    }

    .engagement-card h3 {
        font-size: 1rem !important;
        margin-bottom: 8px !important;
    }

    .engagement-divider {
        margin-bottom: 12px !important;
    }

    .engagement-card p {
        font-size: 0.75rem !important;
    }

    /* === VALEURS RONDES === */
    /* Titre "Nos valeurs" et phrase réduits */
    .values-section .container > h2 {
        margin-bottom: 0.1rem !important;
    }

    .values-section .container > p {
        text-align: center !important;
        margin-top: -0.3rem !important;
        margin-bottom: 32px !important;
    }

    .values-flip-grid {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
        margin-top: 0 !important;
        margin-bottom: 16px !important;
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Texte centré dans le modal des valeurs */
    .value-modal-content p,
    #modalDesc {
        text-align: center !important;
    }

    .value-round-card {
        width: 85px !important;
        height: 85px !important;
    }

    .value-round-card::after {
        display: none !important;
    }

    .value-round-inner {
        box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    }

    .value-round-inner i {
        font-size: 1.5rem !important;
        margin-bottom: 3px !important;
    }

    .value-round-inner h3 {
        font-size: 0.6rem !important;
    }

    /* Modal valeurs */
    .value-modal-content {
        padding: 20px !important;
        width: 90% !important;
        max-width: 300px !important;
    }

    .value-modal-icon {
        width: 60px !important;
        height: 60px !important;
        margin-bottom: 12px !important;
    }

    .value-modal-icon i {
        font-size: 1.8rem !important;
    }

    .value-modal-content h2 {
        font-size: 1.1rem !important;
        margin-bottom: 8px !important;
    }

    .value-modal-content p {
        font-size: 0.8rem !important;
    }

    /* === TIMELINE CERTIFICATIONS === */
    /* Espace après le h2 "Nos certifications" */
    .certifications h2.section-title {
        margin-bottom: 20px !important;
    }

    .timeline-container {
        padding-left: 0 !important;
    }

    .timeline-container::before {
        left: 24px !important;
        width: 2px !important;
    }

    .timeline-item {
        gap: 12px !important;
        margin-bottom: 16px !important;
    }

    .timeline-badge {
        width: 48px !important;
        height: 48px !important;
        flex-shrink: 0;
    }

    .timeline-badge i {
        font-size: 1.1rem !important;
    }

    .timeline-content {
        padding: 12px !important;
        margin-top: 0 !important;
    }

    .timeline-content h3 {
        font-size: 0.9rem !important;
        margin-bottom: 6px !important;
    }

    .timeline-content p {
        font-size: 0.75rem !important;
        margin: 0 !important;
    }

    /* === ZONE INTERVENTION === */
    .zone-section {
        padding: 10px 0 24px !important;
    }

    .zone-section h2 {
        font-size: 1rem !important;
        margin-bottom: 28px !important;
    }

    /* Texte sans saut de ligne, justifié */
    .zone-section > .container > p {
        font-size: 0.75rem !important;
        margin-bottom: 16px !important;
        text-align: justify !important;
    }

    .zone-section > .container > p br {
        display: none !important;
    }

    /* Villes qui défilent centrées */
    .zone-section div[style*="text-align: center"] {
        text-align: center !important;
    }

    .zone-section p[style*="min-height: 70px"],
    .zone-section p[style*="min-height"] {
        min-height: 40px !important;
        text-align: center !important;
    }

    #animatedCity {
        font-size: 1rem !important;
        text-align: center !important;
    }

    #cursor {
        height: 1rem !important;
    }

    .zone-section p[style*="min-height"] {
        min-height: 30px !important;
        margin-bottom: 0 !important;
    }

    /* === CTA === */
    .cta {
        padding: 20px 0 !important;
    }

    .cta h2 {
        font-size: 1rem !important;
        margin-bottom: 0.1rem !important;
    }

    .cta p {
        font-size: 0.75rem !important;
        margin-top: -0.3rem !important;
        margin-bottom: 16px !important;
        text-align: center !important;
    }

    .cta .desktop-text {
        display: none !important;
    }

    .cta .mobile-text {
        display: inline !important;
    }

    .cta .btn,
    .cta .btn-light {
        padding: 10px 20px !important;
        font-size: 0.75rem !important;
        max-width: none !important;
    }

    /* === BOUTONS === */
    .btn {
        padding: 10px 16px !important;
        font-size: 0.8rem !important;
        border-radius: 20px !important;
    }

    .btn-devis,
    .btn-devis-cta {
        padding: 10px 16px !important;
        font-size: 0.8rem !important;
    }

    /* === FOOTER COMPACT === */
    footer {
        padding: 12px 0 8px !important;
    }

    footer .container {
        padding: 0 12px !important;
    }

    .footer-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .footer-links {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 3px 0 !important;
        width: 100% !important;
    }

    .footer-links a {
        font-size: 0.65rem !important;
        padding: 0 4px !important;
    }

    .footer-links .separator {
        font-size: 0.65rem !important;
        opacity: 0.5 !important;
        padding: 0 2px !important;
    }

    /* Cacher le séparateur après PAC Air-Air (5ème) */
    .footer-links .separator:nth-of-type(5) {
        display: none !important;
    }

    /* Cacher la barre de recherche du footer sur mobile (elle est dans le header) */
    .footer-search {
        display: none !important;
    }

    .footer-bottom {
        padding-top: 0 !important;
        margin-top: 0 !important;
        border-top: none !important;
        position: relative !important;
    }

    .footer-bottom::before {
        display: none !important;
    }

    .footer-bottom p {
        font-size: 0.55rem !important;
        margin: 0 !important;
    }

    .footer-bottom a {
        font-size: 0.55rem !important;
    }

    /* === GRILLES GÉNÉRALES === */
    .features-grid,
    .services-grid,
    .testimonials-grid,
    .certification-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    div[style*="grid-template-columns: repeat(3"] {
        grid-template-columns: 1fr !important;
    }

    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns: 1.15fr 1fr"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* === CARDS === */
    .feature-card,
    .service-card,
    .certification-card {
        padding: 16px !important;
    }

    .info-card,
    .info-card-cee {
        padding: 14px !important;
        margin-bottom: 10px !important;
    }

    /* === SECTION TÉMOIGNAGES === */
    .reviews-section .section-title {
        margin-bottom: 2.5rem !important;
    }
}

/* ============================================
   PETIT MOBILE (max-width: 375px)
   ============================================ */
@media (max-width: 375px) {
    .page-header h1 {
        font-size: 1.3rem !important;
    }

    h2, .section-title {
        font-size: 0.9rem !important;
    }

    p {
        font-size: 0.75rem !important;
    }

    .polaroid-image {
        max-width: 140px !important;
    }

    .polaroid-caption {
        font-size: 0.8rem !important;
    }

    .value-round-card {
        width: 60px !important;
        height: 60px !important;
    }

    .value-round-inner i {
        font-size: 1.2rem !important;
    }

    .value-round-inner h3 {
        font-size: 0.5rem !important;
    }

    .engagement-card p {
        font-size: 0.7rem !important;
    }

    .timeline-badge {
        width: 40px !important;
        height: 40px !important;
    }

    .timeline-badge i {
        font-size: 0.9rem !important;
    }

    .timeline-container::before {
        left: 20px !important;
    }

    .footer-links a {
        font-size: 0.55rem !important;
    }

    .footer-bottom p {
        font-size: 0.5rem !important;
    }
}

/* ============================================
   INTERACTIONS TACTILES
   ============================================ */
@media (hover: none) and (pointer: coarse) {
    .btn:active,
    .feature-card:active,
    .service-card:active,
    .engagement-card:active,
    .value-round-card:active {
        transform: scale(0.97);
        transition: transform 0.1s;
    }

    .feature-card:hover,
    .service-card:hover,
    .engagement-card:hover,
    .value-round-card:hover {
        transform: none;
    }
}

/* ============================================
   MODE PAYSAGE MOBILE
   ============================================ */
@media (max-width: 744px) and (orientation: landscape) {
    .nav-menu {
        padding-bottom: 60px !important;
    }

    section {
        padding: 16px 0 !important;
    }
}

/* ============================================
   ACCESSIBILITÉ
   ============================================ */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

:focus-visible {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

/* ============================================
   PRINT
   ============================================ */
@media print {
    header, .hamburger, .nav-menu, footer, .btn-devis {
        display: none !important;
    }

    body {
        padding: 0 !important;
    }
}
