/* Pietrosella · habillage conforme à la maquette mairie
   Le moteur CMS et les traitements restent inchangés. */

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;font-family:Montserrat,Arial,sans-serif!important;color:#080808;background:#fff}
body button,body input,body textarea,body select{font-family:Montserrat,Arial,sans-serif!important}
body h1,body h2,body h3,body h4,body h5,body h6,
body .post-title,body .cms-page-document-title,body .lf-photo-gallery-title,
body .lf-photo-gallery-nav a span:first-child{font-family:Montserrat,Arial,sans-serif!important}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 56px),1440px)!important;max-width:1440px!important;margin-left:auto!important;margin-right:auto!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ===== HEADER / MENU : comportement de la maquette ===== */
body .header,
body.editorial-home .header,
body.editorial-pages .header{
  position:fixed!important;z-index:5000!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;height:78px!important;min-height:78px!important;
  color:#fff!important;background:transparent!important;border:0!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow:visible!important;transform:none!important;
  transition:background .25s,color .25s,border-color .25s,box-shadow .25s!important;
}
body .header>.container,
body.editorial-pages .header>.container,
body.editorial-pages .header .container{
  position:relative!important;width:min(calc(100% - 56px),1440px)!important;max-width:1440px!important;
  height:78px!important;min-height:78px!important;margin:0 auto!important;padding:0!important;overflow:visible!important;
}
body .header .home-button,
body.editorial-pages .header .home-button{
  position:absolute!important;left:26px!important;top:50%!important;z-index:5!important;
  width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;
  margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
  gap:0!important;opacity:.92!important;transform:translateY(-50%)!important;transition:opacity .2s,transform .2s!important;
}
body .header .home-button span{display:none!important}
body .header .home-button img,
body.editorial-pages .header .home-button img{
  display:block!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;
  object-fit:contain!important;filter:brightness(0) invert(1)!important;transform:none!important;
}
body .header .home-button:hover{opacity:.65!important;transform:translateY(-50%) scale(.96)!important}
body .header .navigation-wrap{display:contents!important}
body .header .nav,
body.editorial-pages .header .nav{
  position:static!important;display:flex!important;align-items:stretch!important;justify-content:center!important;
  width:auto!important;max-width:none!important;min-width:0!important;height:78px!important;min-height:78px!important;
  margin:0 auto!important;padding:0!important;gap:0!important;overflow:visible!important;
  color:#fff!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body .header .nav-item,
body.editorial-pages .header .nav-item{
  position:relative!important;display:flex!important;align-items:stretch!important;justify-content:center!important;
  flex:0 0 auto!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;
}
body .header .nav-cat,
body.editorial-pages .header .nav-cat{
  position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;min-height:78px!important;height:78px!important;
  margin:0!important;padding:0 18px!important;border:0!important;background:transparent!important;color:#fff!important;
  font:700 11px/1.2 Montserrat,Arial,sans-serif!important;letter-spacing:.04em!important;white-space:nowrap!important;text-align:center!important;
}
body .header .nav-cat:hover,
body .header .nav-item.open>.nav-cat,
body .header .nav-item:focus-within>.nav-cat{background:rgba(255,255,255,.08)!important;color:#fff!important}
body .header .drop,
body.editorial-pages .header .drop{
  position:absolute!important;top:100%!important;left:0!important;right:auto!important;z-index:5100!important;
  display:block!important;width:auto!important;min-width:280px!important;max-width:calc(100vw - 40px)!important;height:auto!important;
  margin:0!important;padding:10px!important;overflow:visible!important;
  background:rgba(7,7,7,.96)!important;border:0!important;box-shadow:none!important;
  opacity:0!important;visibility:visible!important;pointer-events:none!important;transform:translateY(7px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
body .header .nav-item:nth-last-of-type(-n+2)>.drop{left:auto!important;right:0!important}
body .header .nav-item:hover>.drop,
body .header .nav-item.open>.drop,
body .header .nav-item:focus-within>.drop{
  display:block!important;opacity:1!important;pointer-events:auto!important;transform:none!important;
}
body .header .drop a,
body.editorial-pages .header .drop a{
  display:block!important;width:100%!important;margin:0!important;padding:11px 12px!important;
  color:#fff!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
  font:400 12px/1.4 Montserrat,Arial,sans-serif!important;white-space:normal!important;transform:none!important;
}
body .header .drop a:hover{background:#fff!important;color:#000!important}
body .header .contact-btn,
body.editorial-pages .header .contact-btn{
  align-self:center!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;
  margin:0 0 0 16px!important;padding:10px 16px!important;border:0!important;border-radius:999px!important;
  background:#fff!important;color:#000!important;font:700 11px/1.2 Montserrat,Arial,sans-serif!important;
  letter-spacing:.06em!important;white-space:nowrap!important;transition:.2s ease!important;
}
body .header .contact-btn:hover{transform:translateY(-1px)!important;opacity:.88!important}
body .header .mobile-menu-btn,
body.editorial-pages .header .mobile-menu-btn{display:none!important}

body .header.scrolled,
body.editorial-pages .header.scrolled{
  background:rgba(255,255,255,.96)!important;color:#000!important;border-bottom-color:rgba(0,0,0,.10)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.06)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
body .header.scrolled .nav-cat{color:#000!important}
body .header.scrolled .nav-cat:hover,
body .header.scrolled .nav-item.open>.nav-cat,
body .header.scrolled .nav-item:focus-within>.nav-cat{background:rgba(0,0,0,.05)!important;color:#000!important}
body .header.scrolled .home-button img{filter:brightness(0)!important}
body .header.scrolled .contact-btn{background:#000!important;color:#fff!important}

/* ===== HERO ACCUEIL : uniquement identité animée centrée ===== */
body.editorial-home .hero{
  position:relative!important;height:92vh!important;min-height:720px!important;padding:0!important;overflow:hidden!important;
  background:#050505!important;color:#fff!important;isolation:isolate!important;
}
body.editorial-home .hero-photo,
body.editorial-home .hero-video{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 55%!important;
}
body.editorial-home .hero-photo{z-index:-3!important}
body.editorial-home .hero-video{display:block!important;z-index:-2!important}
body.editorial-home .hero:before{content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;background:rgba(0,0,0,.45)!important}
body.editorial-home .hero:after{display:none!important}
body.editorial-home .hero-in{
  position:relative!important;z-index:2!important;height:100%!important;min-height:0!important;padding:0!important;
  display:grid!important;place-items:center!important;
}
body.editorial-home .hero-logo,
body.editorial-home .custom-logo{
  display:block!important;width:min(760px,68vw)!important;max-width:min(760px,68vw)!important;max-height:72%!important;height:auto!important;
  object-fit:contain!important;background:transparent!important;margin:auto!important;
}
body.editorial-home .video-toggle{position:absolute!important;right:24px!important;bottom:24px!important;z-index:3!important}

/* ===== BANDEAU COORDONNEES SOUS HERO ===== */
body .contact{background:#fff!important;border:0!important;border-bottom:1px solid #ddd!important;color:#080808!important}
body .contact-in{display:flex!important;justify-content:center!important;align-items:stretch!important;gap:0!important}
body .contact .cell{
  flex:0 0 auto!important;margin:0!important;padding:21px 34px!important;border:0!important;border-right:1px solid #ddd!important;
  font:400 12px/1.45 Montserrat,Arial,sans-serif!important;color:#080808!important;
}
body .contact .cell:last-child{border-right:0!important}
body .contact .lab{margin:0 0 4px!important;color:#777!important;font:700 10px/1.3 Montserrat,Arial,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important}
body .contact .cell b{font-weight:700!important}
body .contact .cell a{font:inherit!important}

/* ===== ACCUEIL : ordre et rendu maquette ===== */
body.editorial-home section{padding:100px 0}
body.editorial-home h2{
  margin:0 0 42px!important;text-align:center!important;text-transform:uppercase!important;
  color:#080808!important;font:600 clamp(40px,5vw,72px)/1 Montserrat,Arial,sans-serif!important;letter-spacing:-.045em!important;
}
body.editorial-home .featured-info{padding:0!important;background:#000!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
body.editorial-home .featured-info-inner{display:grid!important;grid-template-columns:1fr auto!important;gap:40px!important;align-items:center!important;padding-top:34px!important;padding-bottom:34px!important}
body.editorial-home .featured-info-kicker{margin-bottom:10px!important;color:rgba(255,255,255,.55)!important;font:700 10px/1.3 Montserrat,Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important}
body.editorial-home .featured-info h3{margin:0 0 10px!important;color:#fff!important;font:600 clamp(22px,2.4vw,34px)/1.05 Montserrat,Arial,sans-serif!important;letter-spacing:-.03em!important;text-transform:none!important}
body.editorial-home .featured-info p{margin:0!important;max-width:850px!important;color:rgba(255,255,255,.76)!important;font-size:14px!important;line-height:1.6!important}
body.editorial-home .info-button{display:inline-flex!important;width:max-content!important;min-height:0!important;margin:0!important;padding:12px 17px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:999px!important;background:transparent!important;color:#fff!important;font:700 11px/1.2 Montserrat,Arial,sans-serif!important;white-space:nowrap!important}
body.editorial-home .info-button:hover{background:#fff!important;color:#000!important}

body.editorial-home .home-instagram{background:#fff!important}
body.editorial-home .home-instagram .feed,
body.editorial-home .home-instagram-grid{
  width:auto!important;max-width:920px!important;margin:0 auto!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;align-items:stretch!important;
}
body.editorial-home .home-instagram .post,
body.editorial-home .home-instagram-card{
  position:relative!important;display:block!important;min-width:0!important;aspect-ratio:4/5!important;overflow:hidden!important;background:#eee!important;
  grid-column:auto!important;grid-row:auto!important;box-shadow:none!important;transform:none!important;
}
body.editorial-home .home-instagram .post img,
body.editorial-home .home-instagram-card img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;padding:0!important;
  transition:transform .45s cubic-bezier(.2,.65,.2,1)!important;
}
body.editorial-home .home-instagram .post:hover{transform:translateY(-3px)!important;box-shadow:0 12px 28px rgba(0,0,0,.12)!important;z-index:2!important}
body.editorial-home .home-instagram .post:hover img{transform:scale(1.035)!important}
body.editorial-home .home-instagram .post-title{display:none!important}

body.editorial-home .requests{background:#f4f4f1!important}
body.editorial-home .requests .req-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;border-top:1px solid #d8d8d5!important;border-left:1px solid #d8d8d5!important}
body.editorial-home .requests .req{
  min-height:185px!important;margin:0!important;padding:25px!important;border:0!important;border-right:1px solid #d8d8d5!important;border-bottom:1px solid #d8d8d5!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;gap:20px!important;
  background:transparent!important;color:#080808!important;font:600 18px/1.35 Montserrat,Arial,sans-serif!important;
}
body.editorial-home .requests .req:hover{background:#000!important;color:#fff!important}
body.editorial-home .requests .arr{align-self:flex-end!important;margin:0!important;font-size:22px!important;color:inherit!important}

body.editorial-home .connect{padding:0!important;background:#000!important;color:#fff!important;display:grid!important;grid-template-columns:1.1fr .9fr!important}
body.editorial-home .connect-img{position:relative!important;min-height:580px!important;overflow:hidden!important;background:#111!important}
body.editorial-home .connect-img img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.editorial-home .connect-copy{padding:70px 8vw!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
body.editorial-home .connect h2{margin:0 0 42px!important;color:#fff!important;text-align:left!important}
body.editorial-home .connect p{margin:0!important;max-width:580px!important;color:rgba(255,255,255,.72)!important;line-height:1.7!important}
body.editorial-home .nl{display:flex!important;max-width:560px!important;margin:25px 0 42px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.5)!important;position:relative!important}
body.editorial-home .nl input[type=email]{flex:1!important;min-width:0!important;width:auto!important;padding:13px 0!important;border:0!important;background:none!important;color:#fff!important;font-size:14px!important}
body.editorial-home .nl input::placeholder{color:rgba(255,255,255,.65)!important}
body.editorial-home .nl button{flex:0 0 auto!important;padding:13px 0 13px 15px!important;border:0!important;background:none!important;color:#fff!important;font-weight:700!important}
body.editorial-home .newsletter-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.editorial-home .newsletter-consent{display:none!important}
body.editorial-home .socials{display:flex!important;gap:10px!important;margin:0!important}
body.editorial-home .socials a{border:1px solid rgba(255,255,255,.5)!important;border-radius:999px!important;padding:10px 14px!important;font-size:12px!important}

/* ===== PAGES INTERIEURES : Montserrat + bandeau image ===== */
body.editorial-pages{background:#fff!important;color:#080808!important}
body.editorial-pages main{padding:0!important;margin:0!important}
body.editorial-pages main>.inner-hero{
  position:relative!important;isolation:isolate!important;width:100%!important;max-width:none!important;min-height:360px!important;height:360px!important;
  margin:0!important;padding:120px max(28px,calc((100vw - 1320px)/2)) 48px!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;
  background-position:center!important;background-size:cover!important;color:#fff!important;
}
body.editorial-pages main>.inner-hero .inner-hero-overlay{position:absolute!important;inset:0!important;z-index:-1!important;background:rgba(0,0,0,.42)!important}
body.editorial-pages main>.inner-hero h1,
body.editorial-pages main>.page-hero h1{
  width:auto!important;max-width:1050px!important;margin:0!important;padding:0!important;color:#fff!important;text-align:left!important;text-transform:uppercase!important;
  font:600 clamp(42px,5vw,72px)/1 Montserrat,Arial,sans-serif!important;letter-spacing:-.04em!important;overflow-wrap:anywhere!important;
}
body.editorial-pages .editorial-breadcrumb{
  width:min(calc(100% - 56px),1440px)!important;max-width:1440px!important;margin:0 auto!important;padding:22px 0!important;
  display:flex!important;gap:12px!important;flex-wrap:wrap!important;color:#777!important;font:500 11px/1.4 Montserrat,Arial,sans-serif!important;border-bottom:1px solid #e4e4e4!important;
}
body.editorial-pages main h2,body.editorial-pages main h3{font-family:Montserrat,Arial,sans-serif!important}
body.editorial-pages main h2{font-weight:600!important;letter-spacing:-.035em!important}
body.editorial-pages main h3{font-weight:600!important;letter-spacing:-.02em!important}
body.editorial-pages main p,body.editorial-pages main li{font-family:Montserrat,Arial,sans-serif!important}
body.editorial-pages .cms-eyebrow,body.editorial-pages .lf-photo-gallery-kicker,body.editorial-pages .lf-photo-gallery-nav-label{font-family:Montserrat,Arial,sans-serif!important}

/* ===== FOOTER ===== */
body .site-footer{background:#000!important;color:#fff!important;padding:46px 0!important;border:0!important}
body .site-footer .footer-inner{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:40px!important}
body .site-footer .footer-brand img{display:block!important;width:250px!important;max-width:250px!important;max-height:none!important;filter:none!important}
body .site-footer .footer-contact{color:rgba(255,255,255,.82)!important;text-align:right!important;font:400 12px/1.7 Montserrat,Arial,sans-serif!important}
body .site-footer .footer-contact div:first-child{margin-bottom:4px!important;color:#fff!important;font-weight:700!important}
body .site-footer .footer-legal{font-family:Montserrat,Arial,sans-serif!important}

/* ===== MOBILE ===== */
body.menu-open{overflow:hidden!important}
@media(max-width:1150px){
  body.editorial-home .requests .req-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  html{scroll-padding-top:72px}
  .container{width:min(calc(100% - 28px),1440px)!important}
  body .header,body.editorial-home .header,body.editorial-pages .header{height:72px!important;min-height:72px!important;border-bottom:0!important}
  body .header>.container,body.editorial-pages .header>.container,body.editorial-pages .header .container{width:100%!important;max-width:none!important;height:72px!important;min-height:72px!important}
  body .header .home-button,body.editorial-pages .header .home-button{left:16px!important;width:25px!important;height:25px!important;min-width:25px!important;max-width:25px!important}
  body .header .mobile-menu-btn,body.editorial-pages .header .mobile-menu-btn{
    position:absolute!important;right:14px!important;top:50%!important;z-index:5200!important;transform:translateY(-50%)!important;
    display:block!important;width:36px!important;height:36px!important;min-width:36px!important;margin:0!important;padding:7px!important;
    border:0!important;background:transparent!important;color:#fff!important;
  }
  body .header .mobile-menu-btn span{display:block!important;width:100%!important;height:2px!important;margin:5px 0!important;padding:0!important;background:#fff!important;transition:.2s ease!important}
  body .header .mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  body .header .mobile-menu-btn.open span:nth-child(2){opacity:0!important}
  body .header .mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
  /* Mobile : au scroll, la barre reste noire comme demandé par la mairie */
  body .header.scrolled,body.editorial-home .header.scrolled,body.editorial-pages .header.scrolled{
    background:rgba(0,0,0,.96)!important;color:#fff!important;border-bottom:0!important;border-bottom-color:transparent!important;
    box-shadow:0 8px 30px rgba(0,0,0,.20)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
  }
  body .header.scrolled .home-button img{filter:brightness(0) invert(1)!important}
  body .header.scrolled .mobile-menu-btn{color:#fff!important}
  body .header.scrolled .mobile-menu-btn span{background:#fff!important}
  body .header .nav,body.editorial-pages .header .nav{
    position:fixed!important;top:72px!important;left:0!important;right:0!important;z-index:5100!important;
    display:none!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 72px)!important;
    margin:0!important;padding:8px 0 20px!important;overflow-y:auto!important;overflow-x:hidden!important;
    background:rgba(0,0,0,.97)!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.12)!important;box-shadow:0 18px 40px rgba(0,0,0,.18)!important;
  }
  body .header .nav.mobile-open{display:flex!important}
  body .header.scrolled .nav{background:rgba(0,0,0,.98)!important;color:#fff!important;border-top-color:rgba(255,255,255,.12)!important}
  body .header .nav-item,body.editorial-pages .header .nav-item{display:block!important;width:100%!important;flex:0 0 auto!important}
  body .header .nav-cat,body.editorial-pages .header .nav-cat{
    width:100%!important;height:auto!important;min-height:56px!important;padding:0 22px!important;justify-content:space-between!important;
    color:#fff!important;border-bottom:1px solid rgba(255,255,255,.10)!important;font-size:11px!important;letter-spacing:.035em!important;text-align:left!important;
  }
  body .header.scrolled .nav-cat{color:#fff!important;border-bottom-color:rgba(255,255,255,.10)!important}
  body .header .drop,body.editorial-pages .header .drop,
  body .header .nav-item:nth-last-of-type(-n+2)>.drop{
    position:static!important;inset:auto!important;display:none!important;width:100%!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;background:rgba(255,255,255,.05)!important;border:0!important;box-shadow:none!important;
    opacity:1!important;pointer-events:auto!important;transform:none!important;
  }
  body .header .nav-item.open>.drop{display:block!important}
  body .header.scrolled .drop{background:rgba(255,255,255,.05)!important}
  body .header .drop a{padding:13px 30px!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
  body .header.scrolled .drop a{color:#fff!important;border-bottom-color:rgba(255,255,255,.07)!important}
  body .header:not(.scrolled) .drop a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
  body .header.scrolled .drop a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
  body .header .contact-btn,body.editorial-pages .header .contact-btn{
    display:flex!important;width:calc(100% - 32px)!important;min-height:46px!important;margin:14px 16px 6px!important;padding:10px 16px!important;border-radius:999px!important;background:#fff!important;color:#000!important;
  }
  body .header.scrolled .contact-btn{background:#fff!important;color:#000!important;border-color:#fff!important}

  body.editorial-home .hero{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
  body.editorial-home .hero-logo,body.editorial-home .custom-logo{width:min(68vw,520px)!important;max-width:min(68vw,520px)!important;max-height:72%!important}

  body .contact-in{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  body .contact .cell{padding:15px 10px!important;border-right:0!important;border-bottom:1px solid #ddd!important}
  body .contact .cell:last-child{border-bottom:0!important}

  body.editorial-home section{padding:72px 0}
  body.editorial-home h2{font-size:clamp(34px,10vw,52px)!important;margin-bottom:32px!important}
  body.editorial-home .featured-info-inner{grid-template-columns:1fr!important;gap:20px!important;padding-top:28px!important;padding-bottom:28px!important}
  body.editorial-home .home-instagram .feed,body.editorial-home .home-instagram-grid{
    width:calc(100% + 28px)!important;max-width:none!important;margin-left:-14px!important;margin-right:-14px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px!important;
  }
  body.editorial-home .home-instagram .post:hover{transform:none!important;box-shadow:none!important}
  body.editorial-home .home-instagram .post:hover img{transform:none!important}
  body.editorial-home .requests .req-grid{grid-template-columns:1fr!important}
  body.editorial-home .requests .req{min-height:125px!important}
  body.editorial-home .connect{grid-template-columns:1fr!important}
  body.editorial-home .connect-img{min-height:420px!important}
  body.editorial-home .connect-copy{padding:48px 28px!important}
  body.editorial-home .connect h2{text-align:left!important}

  body.editorial-pages main>.inner-hero{height:250px!important;min-height:250px!important;padding:105px 20px 34px!important}
  body.editorial-pages main>.inner-hero h1,body.editorial-pages main>.page-hero h1{font-size:clamp(32px,9vw,48px)!important}
  body.editorial-pages .editorial-breadcrumb{width:calc(100% - 28px)!important;padding:18px 0!important;font-size:10px!important}

  body .site-footer .footer-inner{flex-direction:column!important;align-items:flex-start!important}
  body .site-footer .footer-contact{text-align:left!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.editorial-home .hero-video{display:none!important}
  body.editorial-home .home-instagram .post,body.editorial-home .home-instagram .post img{transition:none!important;transform:none!important}
}


/* =========================================================
   CHARTE TYPOGRAPHIQUE GLOBALE PIETROSELLA
   Montserrat + noir pour les contenus du site
   ========================================================= */
html, body,
button, input, select, textarea,
h1, h2, h3, h4, h5, h6,
p, li, a, span, label, small, strong, em,
table, th, td, blockquote, figcaption {
  font-family:Montserrat,Arial,sans-serif!important;
}

/* Pages intérieures, Contact et modules CMS */
body.editorial-pages main,
body.editorial-pages main p,
body.editorial-pages main li,
body.editorial-pages main a,
body.editorial-pages main span,
body.editorial-pages main label,
body.editorial-pages main small,
body.editorial-pages main strong,
body.editorial-pages main h1,
body.editorial-pages main h2,
body.editorial-pages main h3,
body.editorial-pages main h4,
body.editorial-pages main h5,
body.editorial-pages main h6,
body.editorial-pages main th,
body.editorial-pages main td {
  color:#000!important;
}

/* Accueil : contenus éditoriaux noirs */
body.editorial-home main,
body.editorial-home main p,
body.editorial-home main li,
body.editorial-home main a,
body.editorial-home main span,
body.editorial-home main h1,
body.editorial-home main h2,
body.editorial-home main h3,
body.editorial-home main h4 {
  font-family:Montserrat,Arial,sans-serif!important;
  color:#000!important;
}

/* Exceptions nécessaires sur fonds sombres / images */
body.editorial-pages main>.inner-hero,
body.editorial-pages main>.inner-hero h1,
body.editorial-pages main>.page-hero,
body.editorial-pages main>.page-hero h1,
body.editorial-home .hero,
body.editorial-home .hero h1,
body.editorial-home .hero h2,
body.editorial-home .hero p,
body .site-footer,
body .site-footer *,
body .site-footer a {
  color:#fff!important;
}

/* Contrôles et formulaires : texte noir */
body input,
body textarea,
body select,
body option {
  color:#000!important;
  font-family:Montserrat,Arial,sans-serif!important;
}


/* Exception : initiales des élus sur portrait sombre */
body.editorial-pages main .conseil-portrait-placeholder,
body.editorial-pages main .conseil-portrait-placeholder span {
  color:#fff!important;
}


/* =========================================================
   FIL D'ARIANE — CENTRAGE GLOBAL
   ========================================================= */
body.editorial-pages .breadcrumb,
body.editorial-pages .breadcrumbs,
body.editorial-pages .breadcrumb-wrap,
body.editorial-pages .breadcrumb-inner,
body.editorial-pages nav[aria-label="Fil d’Ariane"],
body.editorial-pages nav[aria-label="Fil d'ariane"],
body.editorial-pages nav[aria-label="Breadcrumb"] {
  text-align:center!important;
  justify-content:center!important;
}

body.editorial-pages .breadcrumb ul,
body.editorial-pages .breadcrumbs ul,
body.editorial-pages .breadcrumb ol,
body.editorial-pages .breadcrumbs ol,
body.editorial-pages nav[aria-label="Fil d’Ariane"] ul,
body.editorial-pages nav[aria-label="Fil d’Ariane"] ol,
body.editorial-pages nav[aria-label="Fil d'ariane"] ul,
body.editorial-pages nav[aria-label="Fil d'ariane"] ol,
body.editorial-pages nav[aria-label="Breadcrumb"] ul,
body.editorial-pages nav[aria-label="Breadcrumb"] ol {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* =========================================================
   BOUTONS — ROLLOVER GLOBAL
   État normal : noir / blanc
   Survol      : blanc / noir
   Sortie      : retour noir / blanc
   ========================================================= */
body main .works-btn,
body main .culture-btn,
body main .plu-download,
body main .school-download,
body main .waste-link,
body main .map-action,
body main .pill,
body main .contact-submit button,
body main .cms-block-btn,
body main .cms-document-link,
body main .button,
body main .info-button {
  background:#000!important;
  color:#fff!important;
  border-color:#000!important;
  opacity:1!important;
  transform:none!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease!important;
}

body main .works-btn:hover,
body main .culture-btn:hover,
body main .plu-download:hover,
body main .school-download:hover,
body main .waste-link:hover,
body main .map-action:hover,
body main .pill:hover,
body main .contact-submit button:hover,
body main .cms-block-btn:hover,
body main .cms-document-link:hover,
body main .button:hover,
body main .info-button:hover {
  background:#fff!important;
  color:#000!important;
  border-color:#000!important;
  opacity:1!important;
  transform:none!important;
}

/* Bouton CONTACT du header : même comportement */
body .header .contact-btn {
  background:#000!important;
  color:#fff!important;
  border:1px solid #000!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease!important;
}
body .header .contact-btn:hover {
  background:#fff!important;
  color:#000!important;
  border-color:#000!important;
}


/* Correctif final mobile : aucune séparation entre le header et le hero */
@media(max-width:760px){
  body.editorial-home .header,
  body.editorial-home .header.scrolled{
    border-bottom:0!important;
    box-shadow:none!important;
  }
}


/* =========================================================
   V1.1 - FINITIONS RECETTE MAIRIE
   Corrections ciblées, sans modification de structure.
   ========================================================= */

/* 1. Hero pages : le réglage CMS d'alignement vertical est réellement appliqué. */
body.editorial-pages main > .inner-hero{
  align-items:var(--lf-hero-vertical-align,center)!important;
  padding-top:78px!important;
  padding-bottom:78px!important;
}

/* 2. Boutons de contenu : noir/blanc, inversion au survol et centrage systématique. */
body.editorial-pages main .works-btn,
body.editorial-pages main .culture-btn,
body.editorial-pages main .plu-download,
body.editorial-pages main .school-download,
body.editorial-pages main .waste-link,
body.editorial-pages main .map-action,
body.editorial-pages main .pill,
body.editorial-pages main .info-button,
body.editorial-pages main .cms-block-btn,
body.editorial-pages main .cms-document-link,
body.editorial-pages main .contact-submit button{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:#000!important;
  color:#fff!important;
  border:1px solid #000!important;
  opacity:1!important;
  transform:none!important;
}
body.editorial-pages main .works-btn:hover,
body.editorial-pages main .culture-btn:hover,
body.editorial-pages main .plu-download:hover,
body.editorial-pages main .school-download:hover,
body.editorial-pages main .waste-link:hover,
body.editorial-pages main .map-action:hover,
body.editorial-pages main .pill:hover,
body.editorial-pages main .info-button:hover,
body.editorial-pages main .cms-block-btn:hover,
body.editorial-pages main .cms-document-link:hover,
body.editorial-pages main .contact-submit button:hover{
  background:#fff!important;
  color:#000!important;
  border-color:#000!important;
  opacity:1!important;
  transform:none!important;
}
body.editorial-pages main .works-actions,
body.editorial-pages main .culture-actions,
body.editorial-pages main .event-actions,
body.editorial-pages main .market-actions,
body.editorial-pages main .reservations-actions,
body.editorial-pages main .electoral-buttons,
body.editorial-pages main .regulations-direct-buttons,
body.editorial-pages main .more,
body.editorial-pages main .contact-submit,
body.editorial-pages main .cms-block-action{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

/* 3. Agenda : premier bloc de texte centré. */
body.editorial-pages main .agenda-intro{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.editorial-pages main .agenda-intro p,
body.editorial-pages main .agenda-intro h2,
body.editorial-pages main .agenda-intro h3{
  text-align:center!important;
}

/* 4. Accueil : Demandes fréquentes ne passe plus en pavé noir au survol. */
body.editorial-home .requests .req:hover,
body.editorial-home .requests .req:focus-visible{
  background:#fff!important;
  color:#000!important;
}

/* 5. Mobile : le bandeau du header devient noir avec le menu ouvert. */
@media(max-width:760px){
  body.menu-open .header,
  body.menu-open.editorial-home .header,
  body.menu-open.editorial-pages .header,
  body.menu-open .header.scrolled{
    background:#000!important;
    color:#fff!important;
    border-bottom:0!important;
    box-shadow:none!important;
  }
  body.menu-open .header .home-button img{filter:brightness(0) invert(1)!important}
  body.menu-open .header .mobile-menu-btn,
  body.menu-open .header .nav-cat,
  body.menu-open .header .nav-item.open>.nav-cat,
  body.menu-open .header .nav-item:focus-within>.nav-cat{
    color:#fff!important;
  }
  body.menu-open .header .mobile-menu-btn span{background:#fff!important}
  body.menu-open .header .nav-item.open>.nav-cat,
  body.menu-open .header .nav-cat:active,
  body.menu-open .header .nav-cat:focus{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
  }

  /* 6. Gouttières et corps de texte mobiles harmonisés sur les pages intérieures. */
  body.editorial-pages main .school-wrap,
  body.editorial-pages main .works-page,
  body.editorial-pages main .health-wrap,
  body.editorial-pages main .plu-wrap,
  body.editorial-pages main .waste-wrap,
  body.editorial-pages main .culture-wrap,
  body.editorial-pages main .infrastructures-wrap,
  body.editorial-pages main .associations-section,
  body.editorial-pages main .services-section,
  body.editorial-pages main .contact-wrap,
  body.editorial-pages main .agenda-wrap,
  body.editorial-pages main .civil-wrap,
  body.editorial-pages main .text-content,
  body.editorial-pages main .cms-block-inner,
  body.editorial-pages main .cms-page-documents-inner{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.editorial-pages main p,
  body.editorial-pages main li,
  body.editorial-pages main .cms-richtext{
    font-size:14px!important;
    line-height:1.7!important;
  }
  body.editorial-pages main > .inner-hero{
    height:250px!important;
    min-height:250px!important;
    padding:72px 20px!important;
    align-items:var(--lf-hero-vertical-align,center)!important;
  }
}

/* V1.1 - Agenda : centrage réel du bloc d’introduction actuel */
body.editorial-pages main .lf-agenda-intro{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 46px!important;
  text-align:center!important;
}
body.editorial-pages main .lf-agenda-intro p,
body.editorial-pages main .lf-agenda-intro h2,
body.editorial-pages main .lf-agenda-intro h3,
body.editorial-pages main .lf-agenda-intro *{
  text-align:center!important;
}
