/* MMF Enveloppe – feuille de style v17 (accueil, en-tête, cookies) */

/* Conteneur et rythme */
.mmf-wrap{width:100%;max-width:76rem;margin-inline:auto;padding-inline:1.25rem}
.mmf-section{padding-block:clamp(3.5rem,7vw,6rem)}
.mmf-section-muted{background:hsl(var(--muted))}
.mmf-h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.15;font-weight:700;letter-spacing:-.015em;color:hsl(var(--foreground));text-wrap:balance;margin:0 0 .75rem}
.mmf-sub{color:hsl(var(--muted-foreground));max-width:42rem;line-height:1.65;font-size:1.0625rem;margin:0}
.mmf-head{margin-bottom:clamp(1.75rem,4vw,2.75rem)}

/* Boutons */
.mmf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.5rem;border-radius:.5rem;border:2px solid transparent;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s,filter .2s}
.mmf-btn:active{transform:scale(.98)}
.mmf-btn:focus-visible,.mmf-card:focus-visible,.mmf-proj:focus-visible{outline:3px solid hsl(var(--accent));outline-offset:3px}
.mmf-btn-accent{background:hsl(var(--accent));color:#fff}
.mmf-btn-accent:hover{filter:brightness(.92)}
.mmf-btn-ghost{border-color:rgb(255 255 255/.6);color:#fff;background:transparent}
.mmf-btn-ghost:hover{background:rgb(255 255 255/.12)}
.mmf-btn-dark{background:hsl(var(--primary));color:#fff}
.mmf-btn-dark:hover{filter:brightness(1.25)}
.mmf-btn-sm{min-height:2.5rem;padding:.45rem 1rem;font-size:.875rem}
.mmf-actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* En-tête : bouton devis et appel mobile */
.mmf-hide-mobile{display:none}
.mmf-call-mobile{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.5rem;color:#fff}
.mmf-call-mobile:hover{background:rgb(255 255 255/.12)}
@media (min-width:768px){
  .mmf-hide-mobile{display:inline-flex}
  .mmf-call-mobile{display:none}
}
.mmf-menu-cta{margin-top:.5rem;width:100%}

/* Héros */
.mmf-hero{position:relative;color:#fff;background:hsl(var(--primary));overflow:hidden}
.mmf-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.mmf-hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,hsl(var(--primary)/.96) 0%,hsl(var(--primary)/.84) 48%,hsl(var(--primary)/.4) 100%)}
.mmf-hero-in{position:relative;max-width:76rem;margin-inline:auto;padding:clamp(4rem,10vw,8rem) 1.25rem clamp(3.5rem,8vw,6rem)}
.mmf-eyebrow{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#9CCBF7;margin:0 0 1.25rem}
.mmf-h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08;font-weight:700;letter-spacing:-.02em;max-width:20em;text-wrap:balance;margin:0}
.mmf-lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;max-width:38rem;color:rgb(255 255 255/.88);margin:1.5rem 0 2rem}

/* Bandeau de repères */
.mmf-facts{background:#fff;border-bottom:1px solid hsl(var(--border))}
.mmf-facts-in{max-width:76rem;margin-inline:auto;padding:0 1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.mmf-fact{padding:1.4rem 1.25rem 1.4rem 0}
.mmf-fact strong{display:block;font-size:1rem;color:hsl(var(--foreground));margin-bottom:.2rem}
.mmf-fact span{font-size:.9rem;line-height:1.5;color:hsl(var(--muted-foreground))}

/* Cartes métiers */
.mmf-grid-4{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.mmf-card{display:flex;flex-direction:column;gap:.6rem;padding:1.6rem;border:1px solid hsl(var(--border));border-radius:.75rem;background:#fff;text-decoration:none;color:hsl(var(--foreground));transition:border-color .2s,transform .2s,box-shadow .2s}
.mmf-card:hover{border-color:hsl(var(--accent));transform:translateY(-2px);box-shadow:0 8px 24px -12px rgb(0 33 61/.25)}
.mmf-num{font-size:.85rem;font-weight:700;letter-spacing:.1em;color:hsl(var(--accent))}
.mmf-card h3{font-size:1.3rem;line-height:1.2;font-weight:700;margin:0}
.mmf-card p{margin:0;color:hsl(var(--muted-foreground));line-height:1.6;font-size:.98rem;flex-grow:1}
.mmf-more{font-weight:600;font-size:.95rem;color:hsl(var(--accent));margin-top:.4rem}

/* Réalisations */
.mmf-grid-3{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.mmf-proj{display:flex;flex-direction:column;border-radius:.75rem;overflow:hidden;background:#fff;border:1px solid hsl(var(--border));text-decoration:none;color:hsl(var(--foreground));transition:box-shadow .2s,transform .2s}
.mmf-proj:hover{transform:translateY(-2px);box-shadow:0 10px 28px -14px rgb(0 33 61/.35)}
.mmf-proj-img{aspect-ratio:4/3;width:100%;object-fit:cover;background:hsl(var(--muted));display:block}
.mmf-proj-body{padding:1.1rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.3rem}
.mmf-tag{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:hsl(var(--accent))}
.mmf-proj h3{font-size:1.1rem;line-height:1.3;font-weight:700;margin:0}
.mmf-proj p{margin:0;font-size:.92rem;color:hsl(var(--muted-foreground))}
.mmf-after{margin-top:2rem}

/* Fabricants */
.mmf-brands{display:flex;flex-wrap:wrap;gap:.75rem 2.5rem;margin:1.75rem 0 0;padding:0;list-style:none}
.mmf-brands li{font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--secondary))}

/* Zone d'intervention */
.mmf-zone{display:grid;gap:2rem;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.mmf-zone{grid-template-columns:1.1fr 1fr}}
.mmf-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.mmf-pills li{padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:999px;background:#fff;font-size:.95rem;font-weight:500;color:hsl(var(--foreground))}

/* Appel à l'action final */
.mmf-cta{background:hsl(var(--primary));color:#fff;text-align:center}
.mmf-cta .mmf-h2{color:#fff;max-width:30ch;margin-inline:auto}
.mmf-cta .mmf-sub{color:rgb(255 255 255/.82);margin:0 auto 2rem}
.mmf-cta .mmf-actions{justify-content:center}

/* Bandeau cookies plus compact sur mobile */
@media (max-width:767px){
  [role="dialog"][aria-label="Gestion des cookies"]{left:.5rem!important;right:.5rem!important;bottom:.5rem!important;padding:.75rem!important;border-radius:.75rem!important}
  [role="dialog"][aria-label="Gestion des cookies"] > p:first-child{display:none}
  [role="dialog"][aria-label="Gestion des cookies"] > p{font-size:.75rem!important;line-height:1.4!important;margin-bottom:.6rem!important}
  [role="dialog"][aria-label="Gestion des cookies"] button{min-height:2.5rem;font-size:.85rem}
}

/* Page partenaires */
.mmf-pagehero{background:hsl(var(--primary));color:#fff;padding-block:clamp(3rem,7vw,5.5rem)}
.mmf-pagehero .mmf-lead{margin-bottom:1.75rem}
.mmf-pnav{display:flex;flex-wrap:wrap;gap:.6rem}
.mmf-pill{display:inline-flex;align-items:center;min-height:2.5rem;padding:.4rem 1rem;border:1px solid rgb(255 255 255/.4);border-radius:999px;color:#fff;font-size:.95rem;font-weight:500;text-decoration:none;transition:background-color .2s}
.mmf-pill:hover{background:rgb(255 255 255/.14)}
.mmf-pill:focus-visible{outline:3px solid #fff;outline-offset:2px}
section[id]{scroll-margin-top:5rem}
.mmf-partner-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.mmf-partner{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.25rem;background:#fff;border:1px solid hsl(var(--border));border-radius:.6rem;text-decoration:none;color:hsl(var(--foreground));transition:border-color .2s,transform .2s,box-shadow .2s}
.mmf-partner:hover{border-color:hsl(var(--accent));transform:translateY(-2px);box-shadow:0 8px 22px -12px rgb(0 33 61/.3)}
.mmf-partner:focus-visible{outline:3px solid hsl(var(--accent));outline-offset:3px}
.mmf-partner-name{font-size:1.05rem;font-weight:700;line-height:1.25}
.mmf-partner-host{font-size:.85rem;color:hsl(var(--accent));font-weight:500;overflow-wrap:anywhere}
.mmf-legal{max-width:76rem;margin:0 auto;padding:1.25rem;font-size:.8rem;color:hsl(var(--muted-foreground));text-align:center}

.mmf-partner-logo{display:flex;align-items:center;justify-content:center;height:5.5rem;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border));background:#fff}
.mmf-partner-logo img{max-width:85%;max-height:4.25rem;width:auto;height:auto;object-fit:contain}
.mmf-partner-wordmark{font-size:1.3rem;font-weight:700;letter-spacing:.02em;color:hsl(var(--secondary));text-align:center}
