/* Navigation et pied de page repris de la version d'accueil validée. */
/* Petit chevron actionnable sur ordinateur et sur mobile. */
.nav-dropdown{position:relative;isolation:isolate}
.nav-dropdown-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;border:0!important;min-width:28px;min-height:34px;padding:6px!important;background:transparent!important;color:#a48222!important;cursor:pointer}
.nav-dropdown-toggle:focus-visible{outline:2px solid #d3aa38;outline-offset:2px}
.nav-dropdown-menu{z-index:110!important}
@media(min-width:901px){
.nav-dropdown-menu{top:100%!important;left:0!important;margin-top:0!important;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:block!important}
}
@media(max-width:900px){
.nav-dropdown-toggle{min-height:44px;min-width:44px}
.nav-dropdown-menu{position:static!important;}
.nav-dropdown.is-open .nav-dropdown-menu{display:block!important}
}

/* Footer : même structure visuelle que l'accueil, marque/badges/réseaux sur UNE bande. */
.footer-v7{padding-top:58px!important}
.footer-v7 .footer-brand-column{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:space-between!important;text-align:left!important;flex-wrap:wrap!important;
 gap:22px 32px!important;width:100%!important;
 border-bottom:1px solid rgba(211,170,56,.22)!important;
 padding-bottom:28px!important;margin:0 0 34px!important;
}
.footer-v7 .footer-brand-column .footer-logo-link{flex:0 0 132px!important;width:132px!important;max-width:132px!important;margin:0!important}
.footer-v7 .footer-brand-column .footer-logo{display:block;width:100%!important;height:auto!important;max-height:230px!important;object-fit:contain}
.footer-v7 .footer-brand-column .partner-logos{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:20px!important;flex-wrap:wrap!important;margin:0!important}
.footer-v7 .footer-brand-column .matterport-badge{width:132px!important;max-height:65px!important;object-fit:contain}
.footer-v7 .footer-brand-column .google-badge{width:105px!important;max-height:114px!important;object-fit:contain}
.footer-v7 .footer-brand-column .footer-social{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important}
.footer-v7 .footer-social a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border:1px solid rgba(211,170,56,.72)!important;border-radius:50%!important;color:#d3aa38!important;box-sizing:border-box}
.footer-v7 .footer-social svg{display:block!important;width:21px!important;height:21px!important}
.footer-v7 .footer-top{display:grid!important;grid-template-columns:1.15fr 1fr 1fr!important;gap:clamp(20px,4vw,62px)!important;align-items:start!important}
.footer-v7 .footer-col{min-width:0}
.footer-v7 .footer-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important}
.footer-v7 .footer-bottom{margin-top:35px!important;display:flex!important;justify-content:space-between!important;gap:20px!important;flex-wrap:wrap!important}
.footer-v7 .footer-bottom .footer-legal-nav{display:flex!important;gap:clamp(10px,2vw,24px)!important;flex-wrap:wrap!important}
.footer-v7 h4{margin-bottom:17px!important}
@media(max-width:900px){
 .footer-v7 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .footer-v7 .footer-brand-column{justify-content:center!important;text-align:center!important}
}
@media(max-width:650px){
 .footer-v7 .footer-top{grid-template-columns:1fr!important;gap:26px!important}
 .footer-v7 .footer-brand-column{flex-direction:column!important;align-items:center!important;text-align:center!important}
 .footer-v7 .footer-brand-column .partner-logos{justify-content:center!important}
 .footer-v7 .footer-brand-column .footer-social{justify-content:center!important}
}

/* Une seule fleche de navigation : conserver uniquement le bouton accessible. */
.nav-dropdown-main .nav-chevron{display:none!important;}

/* ==========================================================
   Corrections mobile - 02/11/2026 (Claude, validation Caro)
   Uniquement sous 900 px / 650 px : la version ordinateur ne change pas.
   ========================================================== */
@media (max-width: 900px) {
  /* Menu mobile : panneau sous l'en-tete (hauteur variable selon le logo) */
  .header .nav { top: 100%; }
  /* Accueil : fond du menu opaque (le texte du bandeau transparaissait) */
  body[data-page="accueil"] .nav { background: #101010; }
}
@media (max-width: 650px) {
  /* Paragraphes justifies aussi sur telephone (demande de Caro, 03/11/2026), sans cesure automatique */
  /* :not(#h3d-m) repete = priorite superieure aux regles par identifiant de page (inline-06.css) */
  .page p:not(#h3d-m):not(#h3d-m), .page li:not(#h3d-m):not(#h3d-m), .footer p {
    text-align: justify !important;
    -webkit-hyphens: manual; hyphens: manual;
    text-wrap: wrap;
  }
  /* Sur-titres avec tiret : la 2e ligne reste alignee apres le tiret */
  .eyebrow.dash { display: flex; align-items: center; }
  .eyebrow.dash::before { flex: none; }
  /* Accueil : visuel du bandeau centre et pleine largeur */
  body[data-page="accueil"] .hero-visual { width: 100%; margin-inline: 0; }
  body[data-page="accueil"] .hero-photo-frame { width: 100%; }
  body[data-page="accueil"] .hero-photo-frame::before { inset: -12px -12px 12px 12px; }
}

/* Fiches projet : texte sous l'encadre, ecart reduit (03/11/2026) */
.section.pf-detail-text { padding-top: 40px; }
@media (max-width: 650px) { .section.pf-detail-text { padding-top: 24px; } }
@media (min-width: 651px) { .section.pf-detail-text .page-copy p { text-align: justify; -webkit-hyphens: manual; hyphens: manual; } }

/* Justification de tous les paragraphes, ordinateur et telephone (03/11/2026).
   Seuls les textes centres par le design (.value-item) restent centres. */
.page p:not(#h3d-m):not(#h3d-m), .page li:not(#h3d-m):not(#h3d-m), .local-support p:not(#h3d-m):not(#h3d-m), .footer p:not(#h3d-m):not(#h3d-m) { text-align: justify !important; -webkit-hyphens: manual; hyphens: manual; }
.page .value-item p:not(#h3d-m):not(#h3d-m) { text-align: center !important; }

/* Grilles incompletes (ex. 2 cartes) : cartes centrees sur la page (03/11/2026) */
.grid3.grid-centre { justify-content: center; margin-left: auto; margin-right: auto; }

/* Pages locales (Metz, Luxembourg, Thionville) : image de chaque carte cliquable (03/11/2026) */
.page-local .local-proof > article > a.local-proof-media { display: block; flex: 0 0 255px; overflow: hidden; }
.page-local .local-proof > article > a.local-proof-media > img { display: block; width: 100%; height: 255px; object-fit: cover; object-position: center center; transition: transform .4s ease; }
.page-local .local-proof > article > a.local-proof-media:hover > img { transform: scale(1.03); }

/* Page Agences : galerie de photographies sous les packs (03/11/2026) */
.photo-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.photo-gallery-item { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #eee; }
.photo-gallery-item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.photo-gallery-item:hover img { transform: scale(1.03); }
.page p.photo-gallery-link:not(#h3d-m):not(#h3d-m) { margin-top: 22px; text-align: center !important; }
@media (max-width: 650px) { .photo-gallery { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; } }

/* Fiches projet : bandeau noir sous l'image retire quand un bouton dore existe deja (03/11/2026).
   Les fiches video (lien <a>, sans bouton dore) gardent leur bandeau. */
button.pf-image-launch .pf-image-cta { display: none !important; }
