/* ============================================================
   AFRICAN MANPOWER ENERGY — Responsive global (mobile-first)
   Breakpoints : 480px | 640px | 768px | 900px | 1024px
   ============================================================ */

/* ── Grids inline 1fr 1fr → 1fr sur mobile ───────────────── */
@media (max-width: 480px) {
  /* auth-fields prénom/nom */
  .auth-name-row {
    grid-template-columns: 1fr !important;
  }
  /* checkout adresse */
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Grids minmax(260-320px) sécurisés mobile ─────────────── */
@media (max-width: 559px) {
  /* produits-grid page produits */
  .products-grid {
    grid-template-columns: 1fr !important;
  }
  /* alltop-grid */
  .alltop-grid {
    grid-template-columns: 1fr !important;
  }
  /* grids auto-fill minmax 260-320px génériques */
  .mvv-grid,
  .partners-detail-grid,
  .faq-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (min-width: 560px) and (max-width: 900px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .alltop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .mvv-grid,
  .partners-detail-grid,
  .faq-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Prévention débordement global ─────────────────────────── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
*, *::before, *::after {
  box-sizing: border-box;
  min-width: 0; /* empêche les flex/grid items de déborder */
}
img, video, iframe, table {
  max-width: 100%;
}

/* ══════════════════════════════════════════════════════════
   TOPBAR
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .topbar-left  { display: none; }
  .topbar-right { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   NAVBAR / BURGER
══════════════════════════════════════════════════════════ */
@media (max-width: 959px) {
  .nav-links   { display: none !important; }
  .burger      { display: flex !important; }
}
@media (max-width: 640px) {
  .nav-inner   { height: 64px !important; }
  .nav-logo img{ height: 40px !important; max-width: 140px; }
  .nav-auth-btn{ display: none !important; }
  .nav-actions { gap: 6px; }
  .nav-btn-icon{ width: 38px; height: 38px; font-size: 15px; }
}
/* Menu mobile — prend toute la hauteur et scrolle */
#mob-menu {
  position: fixed;
  inset: 0;
  top: 64px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* ══════════════════════════════════════════════════════════
   HERO SLIDER
══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .slide-img-col { display: none !important; }
  .slide-inner   { grid-template-columns: 1fr !important; }
  .slide         { min-height: 420px; }
  .slide h1      { font-size: clamp(22px, 5vw, 34px); }
  .slide p       { font-size: 13px; }
  .slide-actions { flex-wrap: wrap; gap: 8px; }
  .slide-actions .btn { width: 100%; justify-content: center; }
}
@media (max-width: 480px) {
  .slide         { min-height: 360px; }
  .slide-inner   { padding: 28px 0 40px; }
  .slide h1      { font-size: clamp(20px, 6vw, 28px); }
  .slide-price-badge { padding: 10px 16px; }
  .slider-btn    { width: 36px; height: 36px; font-size: 13px; }
  .slider-prev   { left: 8px; }
  .slider-next   { right: 8px; }
}

/* ══════════════════════════════════════════════════════════
   BARRE PARTENAIRES
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .pb-inner {
    gap: 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .pb-inner::-webkit-scrollbar { display: none; }
  .pb-badge      { flex-shrink: 0; }
  .pb-sub        { display: none; }
}

/* ══════════════════════════════════════════════════════════
   GRILLE PRODUITS
══════════════════════════════════════════════════════════ */
@media (max-width: 479px) {
  .products-grid { grid-template-columns: 1fr; gap: 12px; }
  .pc-img        { aspect-ratio: 4/3; }
  .pc-body       { padding: 12px; }
  .pc-name       { font-size: 13px; }
  .btn-cart      { padding: 8px 12px; font-size: 10px; }
}
@media (min-width: 480px) and (max-width: 767px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ══════════════════════════════════════════════════════════
   SECTION POURQUOI NOUS
══════════════════════════════════════════════════════════ */
@media (max-width: 559px) {
  .why-grid { grid-template-columns: 1fr; }
  .why-card { padding: 20px; }
  .why-num  { font-size: 36px; }
}

/* ══════════════════════════════════════════════════════════
   SECTION CONTACT (index.html)
══════════════════════════════════════════════════════════ */
@media (max-width: 959px) {
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 480px) {
  .contact-form  { padding: 20px 16px; }
  .fg-row        { grid-template-columns: 1fr; }
  #contact       { padding: 48px 0; }
}

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 32px;
  }
  .footer-brand { grid-column: 1 / -1; }
  .footer-logo img { height: 44px; }
}
@media (max-width: 479px) {
  .footer-grid   { grid-template-columns: 1fr; }
  .footer-brand  { grid-column: unset; }
  footer         { padding: 40px 0 20px; }
  .footer-bot    { flex-direction: column; gap: 10px; text-align: center; }
  .socials       { justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   NEWSLETTER
══════════════════════════════════════════════════════════ */
@media (max-width: 860px) {
  .nl-inner      { flex-direction: column; gap: 28px; text-align: center; }
  .nl-form       { max-width: 100%; width: 100%; }
  .nl-sub        { max-width: 100%; }
  .nl-hint       { justify-content: center; }
  .newsletter-section { padding: 50px 0; }
}
@media (max-width: 480px) {
  .nl-input-wrap { flex-direction: column; border-radius: 16px; padding: 8px; gap: 6px; }
  .nl-ico        { display: none; }
  .nl-input-wrap input  { width: 100%; padding: 12px 14px; text-align: center; border-radius: 10px; }
  .nl-input-wrap button { width: 100%; justify-content: center; border-radius: 10px; padding: 13px; }
  .nl-title      { font-size: 20px; }
}

/* ══════════════════════════════════════════════════════════
   MODALS (panier, auth, checkout)
══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .cart-panel    { max-width: 100%; }
  .auth-box      { padding: 28px 18px; margin: 0 12px; }
  .checkout-box  { max-height: 96vh; }
  .payment-methods { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════
   PAGE PRODUITS — sections ALLTOP / grille lampes
══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .alltop-grid,
  .lamp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
}
@media (max-width: 540px) {
  .alltop-grid,
  .lamp-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .alltop-card,
  .lamp-card {
    max-width: 100% !important;
  }
}

/* Filtres produits scroll horizontal mobile */
@media (max-width: 640px) {
  .filters {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding-bottom: 8px;
  }
  .f-btn { flex-shrink: 0; }
}

/* Bannière CTA produits */
@media (max-width: 640px) {
  .cta-banner,
  .prod-cta { flex-direction: column !important; text-align: center; gap: 16px; }
  .cta-banner .btn, .prod-cta .btn { width: 100%; }
}

/* ══════════════════════════════════════════════════════════
   PAGE ÉCLAIRAGE
══════════════════════════════════════════════════════════ */
/* Grille avantages */
@media (max-width: 640px) {
  .adv-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .adv-card { padding: 20px 16px; }
}
@media (max-width: 380px) {
  .adv-grid { grid-template-columns: 1fr !important; }
}

/* Étapes installation */
@media (max-width: 640px) {
  .install-steps {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .install-step { padding: 18px 14px; }
  .is-num  { font-size: 36px; }
}
@media (max-width: 380px) {
  .install-steps { grid-template-columns: 1fr !important; }
}

/* Réalisations */
@media (max-width: 640px) {
  .real-grid { grid-template-columns: 1fr !important; }
}

/* Catalogue mini section */
@media (max-width: 640px) {
  .ec-catalog .container { text-align: center; }
  .ec-catalog .btn { width: 100%; }
}

/* ══════════════════════════════════════════════════════════
   PAGE À PROPOS
══════════════════════════════════════════════════════════ */
/* Timeline */
@media (max-width: 640px) {
  .about-timeline .tl-grid,
  .tl-grid {
    grid-template-columns: 1fr !important;
  }
  .tl-item { padding-left: 0 !important; border-left: none !important; padding-top: 0; }
}

/* Certifications — scroll horizontal sur petit mobile */
@media (max-width: 640px) {
  .certs-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 6px;
    justify-content: flex-start !important;
  }
  .certs-row::-webkit-scrollbar { display: none; }
  .cert-badge { flex-shrink: 0; min-width: 80px; }
}

/* Partenaires */
@media (max-width: 767px) {
  .about-partners .partners-grid,
  .partners-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}
@media (max-width: 420px) {
  .partners-grid { grid-template-columns: 1fr !important; }
}

/* Stats / chiffres clés */
@media (max-width: 640px) {
  .stats-grid,
  .about-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}
@media (max-width: 340px) {
  .stats-grid,
  .about-stats { grid-template-columns: 1fr !important; }
}

/* Hero about */
@media (max-width: 768px) {
  .about-hero-inner,
  .about-hero .hero-inner { flex-direction: column !important; gap: 24px; text-align: center; }
  .about-hero-img { max-width: 100% !important; }
}

/* ══════════════════════════════════════════════════════════
   PAGE CONTACT
══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .contact-page-grid { grid-template-columns: 1fr !important; gap: 32px; }
}
@media (max-width: 640px) {
  .contact-map { height: 240px !important; }
  .type-chips  { flex-wrap: wrap; gap: 8px; }
  .type-chip   { flex: 1; min-width: 120px; text-align: center; }
  .contact-page { padding: 40px 0; }
}
@media (max-width: 480px) {
  .contact-page-form { padding: 20px 16px; }
  .faq-grid { grid-template-columns: 1fr !important; }
  .contact-cards-grid { grid-template-columns: 1fr !important; gap: 12px; }
}

/* ══════════════════════════════════════════════════════════
   TITRES DE SECTION — évite débordement
══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .sec-title { font-size: clamp(20px, 6vw, 28px) !important; }
  .sec-sub   { font-size: 13px !important; }
  .sec-head  { margin-bottom: 28px; }
}

/* ══════════════════════════════════════════════════════════
   TABLEAUX — scroll horizontal forcé
══════════════════════════════════════════════════════════ */
.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table {
  min-width: 480px;
  border-collapse: collapse;
}

/* ══════════════════════════════════════════════════════════
   MODAL PRODUIT (page produits)
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .prod-modal-box,
  .prod-modal {
    margin: 12px !important;
    padding: 20px 16px !important;
    max-height: 90vh;
    overflow-y: auto;
  }
  .prod-modal-grid { grid-template-columns: 1fr !important; }
  .prod-modal-img  { max-height: 220px !important; }
}

/* ══════════════════════════════════════════════════════════
   GENERAL UTILITY — texte long, liens e-mail
══════════════════════════════════════════════════════════ */
.c-val,
.footer-col a,
.contact-info a {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Boutons pleine largeur sur mobile */
@media (max-width: 480px) {
  .btn-lg { padding: 14px 24px; font-size: 14px; }
  .slide-actions .btn,
  .hero-actions .btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════
   WHATSAPP — ne pas chevaucher le contenu
══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .wa-float { bottom: 16px; right: 14px; }
  .wa-btn   { width: 50px; height: 50px; font-size: 22px; }
  /* Cache la bulle sur mobile (tap affiche) */
  .wa-float:hover .wa-bubble { display: none; }
}

/* ══════════════════════════════════════════════════════════
   CORRECTIONS OVERFLOW CONNUES
══════════════════════════════════════════════════════════ */

/* Évite que les cartes stretch hors du container */
.prod-card,
.lamp-card,
.alltop-card,
.adv-card,
.install-step,
.why-card,
.light-card,
.real-card {
  min-width: 0;
  word-wrap: break-word;
}

/* Images dans les cartes */
.lamp-img img,
.alltop-card img,
.pc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Badges trop longs */
.pc-badge,
.b-new, .b-pop, .b-top {
  max-width: calc(100% - 20px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Tags / filtres */
.f-btn, .sec-tag, .nl-tag {
  white-space: nowrap;
}

/* Sections padding réduit mobile */
@media (max-width: 768px) {
  section, .ec-advantages, .ec-installation,
  .ec-realisations, .about-section, .about-timeline,
  .about-stats, .about-partners, .contact-page {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
}
@media (max-width: 480px) {
  section, .ec-advantages, .ec-installation,
  .ec-realisations, .about-section, .about-timeline,
  .about-stats, .about-partners, .contact-page {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
}

/* ══════════════════════════════════════════════════════════
   ÉCLAIRAGE — corrections supplémentaires
══════════════════════════════════════════════════════════ */
/* Hero éclairage : titre très grand sur desktop → réduit sur mobile */
@media (max-width: 640px) {
  .hero-ec-inner h1 { font-size: clamp(26px, 7vw, 40px) !important; }
  .hero-ec-inner p  { font-size: 14px !important; }
  .page-hero-eclairage { padding: 48px 0 !important; }
  .hero-ec-stats { gap: 10px; }
  .ecs { min-width: 80px; padding: 10px 14px; }
  .ecs-num { font-size: 22px; }
}

/* Hero lampadaire visuel 2 colonnes → 1 colonne */
@media (max-width: 640px) {
  .hero-lamp-visual {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .hlv-card { padding: 16px 12px; }
}

/* Lamp-grid minmax 300px → responsive */
@media (max-width: 640px) {
  .lamp-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (min-width: 641px) and (max-width: 900px) {
  .lamp-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}

/* Lamp-actions wrap sur très petit écran */
@media (max-width: 380px) {
  .lamp-actions { flex-direction: column; }
  .btn-lamp-cart, .btn-lamp-devis { width: 100%; }
}

/* Demo panel padding réduit */
@media (max-width: 640px) {
  .demo-panel { padding: 24px 18px; }
  .sim-result .sim-num { font-size: 28px; }
}

/* Real-grid minmax 280 */
@media (max-width: 560px) {
  .real-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ══════════════════════════════════════════════════════════
   À PROPOS — corrections supplémentaires
══════════════════════════════════════════════════════════ */
/* Hero about : texte + image */
@media (max-width: 768px) {
  .hero-ap-inner,
  .ap-hero-inner {
    flex-direction: column !important;
    gap: 24px;
    text-align: center;
  }
  .hero-ap-inner h1,
  .ap-hero-inner h1 { font-size: clamp(26px, 7vw, 40px) !important; }
  .ap-hero-badges { justify-content: center; flex-wrap: wrap; }
}

/* Timeline verticale */
@media (max-width: 640px) {
  .timeline-grid,
  .tl-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .tl-item  { padding: 20px !important; }
  .tl-year  { font-size: 32px !important; }
}

/* MVV grid (Mission Valeurs Vision) */
@media (max-width: 560px) {
  .mvv-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Partners detail grid */
@media (max-width: 560px) {
  .partners-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
@media (min-width: 561px) and (max-width: 900px) {
  .partners-detail-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Certifications scroll horizontal */
@media (max-width: 640px) {
  .certs-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    gap: 10px;
  }
  .cert-item, .cert-badge {
    flex-shrink: 0;
    min-width: 72px;
  }
}

/* Stats about */
@media (max-width: 480px) {
  .ap-stats-grid,
  .about-kpis { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .ap-stat-num { font-size: 28px !important; }
}

/* ══════════════════════════════════════════════════════════
   CONTACT — corrections supplémentaires
══════════════════════════════════════════════════════════ */
/* Hero contact */
@media (max-width: 640px) {
  .contact-hero { padding: 48px 0 !important; }
  .contact-hero h1 { font-size: clamp(24px, 7vw, 36px) !important; }
}

/* Grille formulaire/infos */
@media (max-width: 900px) {
  .main-contact-grid,
  .contact-layout { grid-template-columns: 1fr !important; gap: 28px !important; }
}

/* Type chips (type de demande) */
@media (max-width: 540px) {
  .type-chips { flex-wrap: wrap !important; gap: 8px; }
  .type-chip  { flex: 1; min-width: 130px; padding: 10px 12px; text-align: center; }
}

/* FAQ grid minmax 280 */
@media (max-width: 560px) {
  .faq-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
}
@media (min-width: 561px) and (max-width: 1024px) {
  .faq-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Contact cards (email / téléphone / adresse) */
@media (max-width: 640px) {
  .contact-cards,
  .contact-info-cards { grid-template-columns: 1fr !important; gap: 12px !important; }
}

/* Map embed */
@media (max-width: 640px) {
  .map-embed iframe,
  .contact-map iframe { height: 220px !important; }
}

/* Formulaire contact : fg-row 2 colonnes → 1 colonne */
@media (max-width: 480px) {
  .fg-row { grid-template-columns: 1fr !important; }
  .contact-form,
  .contact-form-box { padding: 22px 16px !important; }
}

/* ══════════════════════════════════════════════════════════
   PRODUITS — corrections supplémentaires
══════════════════════════════════════════════════════════ */
/* Barre filtres et tri */
@media (max-width: 640px) {
  .shop-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px;
  }
  .shop-sort { width: 100%; }
  .shop-sort select { width: 100%; }
  .shop-count { align-self: flex-end; }
}

/* Prod-card body padding réduit sur mobile */
@media (max-width: 480px) {
  .prod-body   { padding: 14px 12px !important; }
  .prod-name   { font-size: 13px !important; }
  .prod-img-wrap { height: 160px !important; }
  .at-img-wrap { height: 160px !important; }
  .at-body     { padding: 14px 12px 16px !important; }
}

/* Boutons d'action carte produit */
@media (max-width: 380px) {
  .prod-actions { flex-direction: column !important; gap: 8px; }
  .prod-actions .btn { width: 100% !important; }
  .at-actions   { flex-direction: column !important; gap: 8px; }
  .at-actions .btn { width: 100% !important; }
}

/* Modal détail produit */
@media (max-width: 640px) {
  .pm-overlay .pm-box,
  .prod-modal-overlay .prod-modal-box {
    margin: 10px !important;
    padding: 20px 14px !important;
    max-height: 92vh;
    overflow-y: auto;
  }
  .pm-body { grid-template-columns: 1fr !important; }
  .pm-img-wrap { max-height: 200px !important; }
}

/* Section CTA ALLTOP */
@media (max-width: 640px) {
  .alltop-cta-inner { flex-direction: column !important; text-align: center; gap: 16px; }
  .alltop-cta-inner .btn { width: 100%; justify-content: center; }
}

/* Pagination */
@media (max-width: 480px) {
  .pagination { flex-wrap: wrap; gap: 6px; justify-content: center; }
  .page-btn   { min-width: 36px; height: 36px; font-size: 12px; }
}

/* ══════════════════════════════════════════════════════════
   SECTION-HEADER-ROW (produits.html — ALLTOP)
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .section-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .section-header-row .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════
   BOUTONS CTA SUR FOND SOMBRE (eclairage, a-propos)
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .ec-cta-btns,
  .about-cta-btns {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .ec-cta-btns .btn,
  .about-cta-btns .btn {
    width: 100%;
    max-width: 340px;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════
   PRODUITS — section CTA « Un projet sur mesure »
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  [style*="display:flex;gap:14px;justify-content:center;flex-wrap:wrap"] {
    flex-direction: column !important;
    align-items: center !important;
  }
  [style*="display:flex;gap:14px;justify-content:center;flex-wrap:wrap"] .btn {
    width: 100%;
    max-width: 340px;
    justify-content: center;
  }
}

/* ══════════════════════════════════════════════════════════
   NOTE DE BAS DE SECTION (produits.html)
══════════════════════════════════════════════════════════ */
@media (max-width: 540px) {
  [style*="display:flex;align-items:center;gap:14px;flex-wrap:wrap"] {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
}

/* ══════════════════════════════════════════════════════════
   TOPBAR — numéro de téléphone lisible
══════════════════════════════════════════════════════════ */
.topbar-left span,
.topbar-left a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .topbar-left { max-width: calc(100% - 120px); }
}

/* ══════════════════════════════════════════════════════════
   PAGES LÉGALES — layout responsive
══════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .legal-hero { padding: 40px 0 32px !important; }
  .legal-hero h1 { font-size: clamp(22px, 6vw, 32px) !important; }
  .legal-body { padding: 40px 0 56px !important; }
  .legal-content h2 { font-size: clamp(18px, 5vw, 24px) !important; margin: 32px 0 12px !important; }
  .legal-contact-box { padding: 24px 20px !important; }
  .legal-contact-box a { display: block; margin-top: 8px; word-break: break-all; }
}

/* ══════════════════════════════════════════════════════════
   CORRECTIONS TOPBAR MOBILE COMPLÈTES
══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  .topbar { padding: 6px 0; }
  .topbar-inner { gap: 6px; }
  .topbar-left span:not(:first-child) { display: none; }
  .tb-sep { display: none !important; }
}

/* ══════════════════════════════════════════════════════════
   CONTAINER — évite débordement latéral
══════════════════════════════════════════════════════════ */
.container {
  width: 100%;
  max-width: 1240px;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
@media (max-width: 480px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

