/* ============================================================
   CANTINE LATINA — CSS PERSONNALISÉ UNIQUE
   V13 — 11/09/2026
   Tous les styles propres au site sont regroupés ici.
   Les CSS du template (Bootstrap, plugins, style.css, etc.) restent séparés.
   ============================================================ */

/* ---------- HOME ---------- */
/* Accueil Cantine Latina — vague 1 */
.home-v1{color:#25211e;background:#fff;font-family:'Open Sans',sans-serif}.home-v1 h2,.home-v1 h3{font-family:Cubano,Oswald,sans-serif;font-weight:normal}.home-v1 p{font-size:18px;line-height:1.7}.home-v1 section{scroll-margin-top:110px}.home-v1 .home-section{padding:80px 0}.home-v1 .home-section h2{font-size:clamp(32px,3.6vw,54px);line-height:1.12;color:#CB1429;margin:12px 0 25px}.home-kicker{display:block;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.home-duo{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.home-duo img{width:100%;display:block;object-fit:cover;border-radius:20px}.home-portrait{margin:0;padding:0 0 18px 18px;background:linear-gradient(15deg,#1CBFE2 65%,transparent 65%);border-radius:20px}.home-portrait img{max-height:590px}.home-signature{font-family:Cubano,sans-serif;font-size:23px;color:#CB1429}.home-v1 #section-hero{position:relative;margin-top:0;height:clamp(420px,65vh,730px);padding:0;display:grid;place-items:center;overflow:hidden;background:#652323}.home-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.home-hero h1{position:relative;z-index:1;text-align:center;color:white;font-family:Cubano,Oswald,sans-serif;font-size:clamp(35px,5vw,76px);line-height:1.1;max-width:1100px;padding:25px;margin:0;text-shadow:0 2px 18px #000b}.home-hero *{animation:none!important;transition:none!important;opacity:1!important;visibility:visible!important}.home-hours{background:#fff;border:0}.home-hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:25px 0;border:0}.home-hours-grid strong,.home-hours-grid span{display:block;font-size:17px;line-height:1.7}.home-hours-grid strong{color:#CB1429;margin-bottom:8px}.home-v1 .home-hours-note{font-size:14px;margin:16px 0;color:#59524a}.home-hours-note a{color:inherit;text-decoration:underline}.home-hours-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.home-hours-bottom p{margin:0}.home-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:20px}.home-v1 .cta-button{white-space:normal;text-align:center;max-width:100%;font-size:17px;min-height:54px;padding:18px 28px;background:#FFA61D;color:#15110d}.home-text-link{font-weight:bold;text-decoration:underline;color:#CB1429}.home-v1 .google-reviews-section{padding:60px 0;background:white}.home-review-title{font-size:30px;color:#CB1429}.home-v1 .reviews-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.home-v1 .reviews-track{display:flex;gap:24px;transform:none!important;transition:none!important}.home-v1 .review-card{flex:0 0 calc(50% - 12px);min-width:0;scroll-snap-align:start;height:auto;max-height:none}.home-v1 .review-card p{font-size:16px;display:block;overflow:visible;max-height:none}.review-card h3 a{color:inherit}.home-v1 .home-thursday{background:#CB1429;color:white}.home-v1 .home-thursday h2{color:white}.home-thursday img{height:400px}.home-private{background:#f5f1eb}.home-section-heading{max-width:820px;margin:0 auto 40px;text-align:center}.home-private-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.home-private-grid article{background:white;overflow:hidden;border-radius:18px}.home-private-grid img{width:100%;height:300px;object-fit:cover}.home-private-grid article>div{padding:30px}.home-private-grid h3{color:#CB1429;font-size:29px}.home-private-bottom{text-align:center;margin-top:35px}.home-v1 .home-private-bottom p{font-size:14px;margin-top:15px}.home-contact a:not(.cta-button){color:#CB1429}.home-map iframe{width:100%;height:320px;border:0;border-radius:18px}.home-order{text-align:center;padding-top:20px}.home-order a{color:inherit;text-decoration:underline}.home-v1 #specialites h2{font-size:clamp(32px,4vw,55px)}.home-v1 .foodtruck-home{min-height:0;height:auto;padding:80px 0}.home-v1 .foodtruck-home h2{font-size:clamp(32px,4vw,55px)}.home-v1 a:focus-visible,.home-v1 button:focus-visible{outline:3px solid #1CBFE2;outline-offset:4px}
@media(max-width:767px){.home-v1 .home-section{padding:48px 0}.home-duo{grid-template-columns:1fr;gap:30px}.home-v1 p{font-size:16px}.home-v1 #section-hero{margin-top:0;height:440px}.home-hero h1{font-size:36px;padding:20px}.home-portrait{grid-row:1}.home-hours-grid{grid-template-columns:1fr;gap:16px}.home-hours-grid>div{display:flex;justify-content:space-between;gap:20px}.home-hours-grid span{text-align:right}.home-hours-grid strong{max-width:55%}.home-hours-bottom{display:block}.home-v1 .review-card{flex-basis:100%}.home-private-grid{grid-template-columns:1fr}.home-private-grid img{height:240px}.home-thursday img{height:290px}.home-map iframe{pointer-events:none}.home-v1 .google-reviews-layout{display:block}.home-v1 .google-reviews-summary{margin-bottom:30px}.home-v1 .home-hours-bottom .home-actions{gap:16px}.home-v1 .cta-button{font-size:16px}.home-v1 .specialite-title{font-size:22px}}

/* Corrections vague 003 : le body réserve déjà la hauteur du menu fixe. */
.home-v1 #section-hero{margin-top:0!important}
.home-v1 .google-reviews-label{color:#CB1429!important}
.home-v1 #francisca p{font-weight:400;font-style:normal}
.home-v1 .home-restaurant{background:#fff}
.home-restaurant h2{color:#CB1429}
.home-restaurant .cta-buttons{margin-top:28px}
.restaurant-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:18px;margin-top:30px}
.restaurant-mosaic .mosaic-item:first-child{grid-row:span 2}
.restaurant-mosaic .mosaic-item,.restaurant-mosaic .mosaic-item>div{height:100%;min-width:0;overflow:hidden;border-radius:12px}
.restaurant-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.home-v1 #horaires{padding:32px 0;background:#fff;border:0}
.home-v1 #horaires h2{font-size:30px;margin:0 0 18px}
.home-v1 #horaires .home-hours-grid{padding:16px 0}
.home-v1 #horaires .home-hours-note{margin-bottom:0}
.home-v1 #jeudis{background:#fff;color:#25211e}
.home-v1 #jeudis h2{color:#CB1429}
.home-v1 #food-truck{position:relative;background-color:#562624;background-image:url('../images/accueil/SLIDE-FOODTRUCK.jpg');background-size:cover;background-position:center}
.home-v1 #food-truck>.sw-overlay{background:rgba(0,0,0,.48);opacity:1;position:absolute;inset:0;pointer-events:none}
.home-v1 .home-private-bottom{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
@media(max-width:767px){.restaurant-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 160px 160px;gap:10px}.restaurant-mosaic .mosaic-item:first-child{grid-column:span 2;grid-row:span 1}.home-v1 #horaires h2{font-size:26px}.home-v1 .home-private-bottom{flex-direction:column;align-items:center}}

/* HOME 005 : espacement du header + galerie restaurant stable sans Isotope. */
.home-v1 main{padding:0!important;margin:0!important}
.home-v1 #section-hero{margin:0!important;padding:0!important}
.home-v1 .review-stars{color:#f5a623;font-size:20px;letter-spacing:2px;display:block;margin:12px 0}

/* Mosaïque restaurant : 1 grande photo à gauche + 4 petites à droite. */
.home-v1 #masonry{
  display:grid!important;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:220px 220px;
  gap:18px;
  width:100%;
  height:auto!important;
  margin:0!important;
  position:relative!important;
  overflow:visible;
}
.home-v1 #masonry .grid-sizer{display:none!important}
.home-v1 #masonry .item{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border-radius:12px;
}
.home-v1 #masonry .item.s-50{grid-row:1 / span 2}
.home-v1 #masonry .item>div{width:100%;height:100%;border-radius:12px;overflow:hidden}
.home-v1 #masonry .item img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  border-radius:0;
}
@media(max-width:767px){
  .home-v1 #masonry{
    grid-template-columns:1fr 1fr;
    grid-template-rows:260px 160px 160px;
    gap:10px;
  }
  .home-v1 #masonry .item.s-50{grid-column:1 / span 2;grid-row:1}
}

/* HOME 007 : comportement uniforme des CTA — aucune bordure visible, y compris au survol. */
.home-v1 .cta-button,
.home-v1 .site-header-cta{
  border:none!important;
  outline:none;
}
.home-v1 .cta-button:hover,
.home-v1 .site-header-cta:hover{
  border:none!important;
}


.home-v1 .home-hours{background:#fff!important;}

/* ---------- ÉLÉMENTS PARTAGÉS : HEADER / FOOTER / CTA ---------- */
/* Cantine Latina — règles partagées */
.site-header-cta,
.site-header-cta:hover,
.site-header-cta:focus,
.cta-button,
.cta-button:hover,
.cta-button:focus {
  border: 0 !important;
}

/* Le header est injecté par js/site-header.js. Empêche un saut visuel avant injection. */
#site-header-slot { min-height: 0; }


/* Footer unique mutualisé — js/site-footer.js */
#site-footer-slot { min-height: 0; }
.site-footer .social-icons {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.site-footer .social-icons a,
.site-footer .social-icons a:hover,
.site-footer .social-icons a:focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  text-decoration: none !important;
}
.site-footer .social-icons i,
.site-footer .social-icons i:hover,
.site-footer .social-icons a:hover i,
.site-footer .social-icons a:focus i {
  display: block;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 28px;
  line-height: 1;
  text-shadow: none !important;
}
.site-footer .social-icons a:hover i { opacity: .78; }
.site-footer .social-icons a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* ---------- PAGE HORAIRES & CONTACT ---------- */
/* Horaires & contact — Cantine Latina */
.info-page{color:#25211e;background:#fff;font-family:'Open Sans',sans-serif}
.info-page h1,.info-page h2,.info-page h3{font-family:Cubano,Oswald,sans-serif;font-weight:normal}
.info-page p{font-size:18px;line-height:1.7}
.info-hero{background:#fff;padding:58px 0 48px;text-align:center}
.info-hero::before,.info-hero::after{content:none!important;display:none!important}
.info-hero-inner{max-width:900px;margin:0 auto;padding:0 24px;color:#25211e}
.info-hero h1{font-size:clamp(36px,4.2vw,54px);line-height:1.08;margin:0 0 14px;color:#CB1429}
.info-hero p{font-size:18px;line-height:1.65;max-width:780px;margin:0 auto;color:#59524a}
.info-section{padding:76px 0}
.info-section h2{color:#CB1429;font-size:clamp(32px,4vw,52px);line-height:1.1;margin:0 0 22px}
.info-hours{background:#f5f1eb}
.info-hours-weeks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0 18px}
.info-week-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.info-week-heading{padding:22px 24px 18px;border-bottom:1px solid #eee7de}
.info-week-heading span{display:block;color:#CB1429;font-size:18px;font-weight:700;margin-bottom:4px}
.info-week-heading strong{display:block;font-size:15px;font-weight:600;color:#59524a}
.info-week-days{display:block}
.info-day-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:18px;align-items:center;padding:15px 24px;border-bottom:1px solid #f0ebe4}
.info-day-row:last-child{border-bottom:0}
.info-day-row.is-today{background:#eef8f1}
.info-day-name{font-weight:700;color:#25211e}
.info-day-date{font-size:13px;color:#756d64;margin-left:6px;font-weight:400}
.info-day-hours{text-align:right;font-size:16px;line-height:1.45}
.info-day-hours.is-closed{color:#756d64}
.info-day-hours span{display:block}
.info-hours-noscript{background:#fff;border-radius:16px;padding:22px;margin-top:24px}
.info-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.info-page .cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 26px;background:#FFA61D;color:#15110d;text-align:center;text-decoration:none}
.info-contact-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:54px;align-items:stretch}
.info-contact-card{background:#fff}
.info-contact-card h3{font-size:27px;color:#CB1429;margin:28px 0 8px}
.info-contact-card h3:first-of-type{margin-top:0}
.info-contact-card a:not(.cta-button){color:#CB1429;text-decoration:none}
.info-map iframe{width:100%;height:100%;min-height:470px;border:0;border-radius:18px;display:block}
.info-practical{padding:70px 0 80px;background:#fff}
.info-practical-box{background:#CB1429;color:#fff;border-radius:18px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.info-practical-box h2{color:#fff;font-size:32px;margin:0 0 8px}
.info-practical-box p{margin:0;color:#fff;max-width:720px}
.info-practical-box .cta-button{flex:0 0 auto}
@media(max-width:900px){
  .info-hours-weeks{grid-template-columns:1fr}
  .info-contact-grid{grid-template-columns:1fr}
  .info-map iframe{min-height:360px}
  .info-practical-box{display:block}
  .info-practical-box .cta-button{margin-top:22px}
}

/* V70 — Blog compact et template article commun */
.blog-page .section-kicker{display:block!important;font-family:'Open Sans',Arial,sans-serif!important;font-size:13px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.blog-article-shell{padding:34px 0 76px}
.blog-back{margin-bottom:20px}
.blog-article-hero{max-width:1120px;margin:0 0 42px}
.blog-article-hero h1{max-width:980px;margin:8px 0 15px;color:#CB1429;font-family:Cubano,Oswald,sans-serif;font-size:clamp(44px,5vw,60px);font-weight:400;line-height:1.04}
.blog-article-hero .blog-article-intro{max-width:820px;margin:0 0 12px;font-size:20px;line-height:1.55}
.blog-article-hero .blog-main-image{max-width:1120px;margin:26px 0 0}
.blog-article-hero .blog-main-image img{width:100%;max-height:540px;object-fit:cover;border-radius:18px}
.blog-article-layout{grid-template-columns:minmax(0,7fr) minmax(250px,3fr);gap:54px}
.blog-article-body{width:100%;max-width:780px;font-family:'Open Sans',Arial,sans-serif}
.blog-article-body h2,.blog-article-body h3,.blog-related h2,.blog-commercial h2{font-family:'Open Sans',Arial,sans-serif!important;font-weight:800}
.blog-article-body h2{margin:40px 0 13px;color:#2a2420;font-size:clamp(28px,3vw,34px);line-height:1.22}
.blog-article-body h3{margin:30px 0 10px;font-size:24px;line-height:1.3}
.blog-article-body p,.blog-article-body li{font-size:18px;line-height:1.75}
.blog-article-body img{display:block;width:100%;height:auto;margin:26px 0;border-radius:18px}
.blog-related{padding:22px;background:#fff7e8}
.blog-related h2{font-size:25px}
.blog-related-item{color:#2a2420;text-decoration:none}
.blog-commercial{width:100%;margin-top:46px;padding:30px}
.blog-commercial h2{font-size:30px;line-height:1.2}
.home-blog{padding:46px 0;background:#fff7e8}
.home-blog-head{max-width:680px;margin-bottom:24px}
.home-blog h2{font-size:clamp(31px,3.4vw,45px)}
.home-blog-grid{gap:22px}
.home-blog .blog-card-image{aspect-ratio:2.35/1}
.home-blog .blog-card-copy{padding:18px 20px}
.home-blog .blog-card h2{display:-webkit-box;overflow:hidden;margin-bottom:8px;font-family:'Open Sans',Arial,sans-serif;font-size:22px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-blog .blog-card p{display:-webkit-box;overflow:hidden;margin-bottom:10px;font-size:15px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.home-blog-more{margin-top:20px;text-align:left}.home-blog-more .cta-button{padding:0;background:none!important;color:#CB1429!important;box-shadow:none!important}
@media(max-width:800px){.blog-article-hero h1{font-size:clamp(38px,11vw,48px)}.blog-article-layout{grid-template-columns:1fr;gap:34px}.blog-related{position:static}.blog-article-body{max-width:none}.home-blog{padding:38px 0}.home-blog .blog-card-image{aspect-ratio:2/1}}

/* V71 — finition Blog : flux fiable et composant Article unique */
.blog-page .blog-hero{position:relative!important;inset:auto!important;z-index:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:56px 0 34px!important;overflow:visible!important;transform:none!important}
.blog-page .blog-list{position:relative!important;z-index:auto!important;clear:both!important;margin:0!important;padding:46px 0 90px!important;transform:none!important}
.blog-page .blog-hero h1{margin-top:0}.blog-article-shell{padding-top:30px}.blog-article-hero h1{margin-top:0;font-size:clamp(38px,4.6vw,58px)}
.blog-related{background:transparent;padding:0}.blog-related-grid{display:grid;gap:14px}.blog-related-item{grid-template-columns:96px minmax(0,1fr);padding:12px;border:1px solid #eadfd8;border-radius:14px;background:#fff}.blog-related-item:first-child{border-top:1px solid #eadfd8}.blog-related-item img{width:96px;height:78px}
.blog-commercial{background:#CB1429;color:#fff}.blog-commercial h2{margin-top:0;color:#fff}
.home-blog .blog-card-image{aspect-ratio:16/9}.home-blog .blog-card-copy{padding:24px}.home-blog .blog-card h2{display:block;overflow:visible;margin:0 0 12px;font-family:Cubano,Oswald,sans-serif;font-size:clamp(25px,2.4vw,34px);font-weight:400;line-height:1.12}.home-blog .blog-card p{display:block;overflow:visible;margin:0 0 16px;font-size:inherit;-webkit-line-clamp:unset}
@media(max-width:800px){.blog-page .blog-hero{padding:42px 0 26px!important}.blog-page .blog-list{padding:34px 0 65px!important}.blog-article-hero h1{font-size:clamp(36px,10vw,48px)}.home-blog .blog-card-image{aspect-ratio:16/9}}
@media(max-width:767px){
  .info-page p{font-size:16px}
  .info-hero{padding:42px 0 34px}
  .info-hero h1{font-size:34px}
  .info-hero p{font-size:16px}
  .info-practical{padding:52px 0 60px}
  .info-section{padding:52px 0}
  .info-day-row{grid-template-columns:1fr;gap:5px;padding:14px 18px}
  .info-day-hours{text-align:left}
  .info-actions{flex-direction:column;align-items:stretch}
  .info-page .cta-button{width:100%}
}


/* ---------- HOME : HORAIRES EXCEPTIONNELS PILOT ---------- */
.home-hours-exceptions{margin-top:18px;padding:18px 20px;background:#fff7e8;border-radius:14px}
.home-hours-exceptions[hidden]{display:none!important}
.home-hours-exceptions-title{display:block;color:#CB1429;font-size:16px;margin-bottom:10px}
.home-hours-exceptions-list{display:grid;gap:7px}
.home-hours-exception-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;font-size:15px}
.home-hours-exception-day{font-weight:700;color:#25211e}
.home-hours-exception-value{text-align:right;color:#25211e}
.home-hours-exception-value.is-closed{color:#CB1429;font-weight:700}
@media(max-width:767px){
  .home-hours-exception-row{display:block}
  .home-hours-exception-value{display:block;text-align:left;margin-top:2px}
}

/* ---------- PAGE PRIVATISATION ---------- */
.private-page{color:#25211e;background:#fff;font-family:'Open Sans',sans-serif}
.private-page h1,.private-page h2,.private-page h3{font-family:Cubano,Oswald,sans-serif;font-weight:normal}
.private-page p{font-size:18px;line-height:1.7}
.private-hero{position:relative;min-height:500px;display:grid;place-items:center;overflow:hidden;background:#562624}
.private-hero::before{content:"";position:absolute;inset:0;background:url('../images/accueil/PRIVA1.png') center/cover no-repeat;transform:scale(1.01)}
.private-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.52)}
.private-hero-inner{position:relative;z-index:1;color:#fff;text-align:center;max-width:950px;padding:70px 24px}
.private-hero h1{font-size:clamp(46px,6vw,82px);line-height:1.02;margin:0 0 20px;color:#fff}
.private-hero p{font-size:21px;max-width:760px;margin:0 auto;color:#fff}
.private-intro{padding:72px 0 34px;text-align:center}
.private-intro-inner{max-width:900px;margin:0 auto}
.private-intro h2{font-size:clamp(34px,4vw,56px);line-height:1.08;color:#CB1429;margin:0 0 20px}
.private-intro p{margin:0}
.private-options{padding:42px 0 80px}
.private-option{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:80px}
.private-option:last-child{margin-bottom:0}
.private-option.is-reverse .private-option-media{order:2}
.private-option-media{min-width:0}
.private-option-media img{display:block;width:100%;height:520px;object-fit:cover;border-radius:20px}
.private-option-content h2{font-size:clamp(36px,4vw,58px);line-height:1.05;color:#CB1429;margin:0 0 20px}
.private-option-content h3{font-size:20px;color:#25211e;margin:0 0 16px;text-transform:uppercase;letter-spacing:normal}
.private-option-content p{margin:0 0 18px}
.private-option-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}
.private-page .cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 26px;background:#FFA61D;color:#15110d;text-align:center;text-decoration:none;border:0!important}
.private-trust{padding:76px 0;background:#f5f1eb;text-align:center}
.private-trust h2{font-size:clamp(34px,4vw,54px);color:#CB1429;margin:0 0 12px}
.private-trust-intro{max-width:720px;margin:0 auto 36px}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto}
.partner-card{background:#fff;border-radius:16px;min-height:132px;display:flex;align-items:center;justify-content:center;padding:24px;box-shadow:0 6px 24px rgba(0,0,0,.035)}
.partner-card img{display:block;width:100%;height:72px;object-fit:contain;filter:grayscale(1);opacity:.78;transition:opacity .2s ease,filter .2s ease,transform .2s ease}
.partner-card:hover img{filter:grayscale(0);opacity:1;transform:translateY(-2px)}
.private-final{padding:76px 0}
.private-final-box{background:#CB1429;color:#fff;border-radius:20px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.private-final-box h2{font-size:clamp(32px,4vw,48px);color:#fff;margin:0 0 10px}
.private-final-box p{margin:0;color:#fff;max-width:720px}
.private-final-box .cta-button{flex:0 0 auto}
@media(max-width:900px){
  .private-option{grid-template-columns:1fr;gap:30px;margin-bottom:60px}
  .private-option.is-reverse .private-option-media{order:0}
  .private-option-media img{height:420px}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .private-final-box{display:block}
  .private-final-box .cta-button{margin-top:24px}
}
@media(max-width:767px){
  .private-page p{font-size:16px}
  .private-hero{min-height:410px}
  .private-hero p{font-size:18px}
  .private-intro{padding:54px 0 24px}
  .private-options{padding:30px 0 58px}
  .private-option-media img{height:320px}
  .private-option-actions{flex-direction:column;align-items:stretch}
  .private-page .cta-button{width:100%}
  .partner-grid{grid-template-columns:1fr 1fr;gap:12px}
  .partner-card{min-height:110px;padding:16px}
  .partner-card img{height:58px}
  .private-final{padding:54px 0}
  .private-final-box{padding:30px 24px}
}

/* ---------- V14 : COMPOSANTS MUTUALISÉS ---------- */
.shared-google-reviews{background:#fff}
.shared-specialities .cta-buttons{margin-top:34px}
.shared-menu-updated{margin:14px 0 0;color:#c8c2bb;font-size:13px}
.shared-restaurant-mosaic{margin-top:0!important}

/* ---------- PAGE RESTAURANT ---------- */
.restaurant-page{color:#25211e;background:#fff;font-family:'Open Sans',sans-serif}
.restaurant-page h1,.restaurant-page h2,.restaurant-page h3{font-family:Cubano,Oswald,sans-serif;font-weight:normal}
.restaurant-page p{font-size:18px;line-height:1.7}
.restaurant-page a{transition:none}
.restaurant-page .cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 26px;background:#FFA61D;color:#15110d;text-align:center;text-decoration:none;border:0!important}
.restaurant-page .cta-button:hover,.restaurant-page .cta-button:focus{border:0!important}
.restaurant-page .secondary-cta{background:#fff;color:#CB1429;box-shadow:inset 0 0 0 2px #CB1429}
.restaurant-page .secondary-cta:hover,.restaurant-page .secondary-cta:focus{box-shadow:inset 0 0 0 2px #CB1429!important}
.restaurant-kicker,.restaurant-eyebrow{display:block;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px}
.restaurant-kicker{color:#CB1429;margin-bottom:12px}
.restaurant-hero{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;background:#562624}
.restaurant-hero::before{content:"";position:absolute;inset:0;background:url('../images/restaurant/hero.jpg') center/cover no-repeat;transform:scale(1.01)}
.restaurant-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.34) 58%,rgba(0,0,0,.22))}
.restaurant-hero-inner{position:relative;z-index:1;color:#fff;width:min(1180px,calc(100% - 48px));margin:0 auto;padding:80px 0}
.restaurant-eyebrow{color:#fff;margin-bottom:18px}
.restaurant-hero h1{font-size:clamp(48px,6vw,84px);line-height:1.01;color:#fff;margin:0 0 22px;max-width:790px}
.restaurant-hero p{font-size:21px;line-height:1.65;color:#fff;max-width:720px;margin:0}
.restaurant-hero-actions,.restaurant-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.restaurant-section{padding:80px 0}
.restaurant-section h2{font-size:clamp(36px,4.5vw,60px);line-height:1.06;color:#CB1429;margin:0 0 24px}
.restaurant-welcome{background:#fff}
.restaurant-welcome-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.restaurant-welcome-copy p{max-width:660px;margin:0 0 18px}
.restaurant-welcome-photo img{width:100%;height:500px;display:block;object-fit:cover;border-radius:20px}
.restaurant-gallery-section{background:#f5f1eb}
.restaurant-section-heading{max-width:820px;margin:0 0 34px}
.restaurant-section-heading h2{margin-bottom:0}
.restaurant-page #masonry{display:grid!important;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:18px;width:100%;height:auto!important;margin:0!important;position:relative!important;overflow:visible}
.restaurant-page #masonry .grid-sizer{display:none!important}
.restaurant-page #masonry .item{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden;border-radius:12px}
.restaurant-page #masonry .item.s-50{grid-row:1 / span 2}
.restaurant-page #masonry .item>div{width:100%;height:100%;border-radius:12px;overflow:hidden}
.restaurant-page #masonry .item img{display:block;width:100%!important;height:100%!important;object-fit:cover;border-radius:0}
.restaurant-page .shared-specialities{padding:78px 0}
.restaurant-page .shared-specialities h2{color:#fff;font-size:clamp(34px,4vw,55px)}
.restaurant-page .shared-specialities .specialite-description{font-size:15px;line-height:1.55;color:#ddd}
.restaurant-page .shared-specialities .col>img{height:220px;object-fit:cover;border-radius:12px}
.restaurant-menu-pdf{background:#fff}
.restaurant-menu-pdf-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:60px;align-items:center}
.restaurant-menu-pdf-photo img{width:100%;height:470px;object-fit:cover;display:block;border-radius:20px}
.restaurant-menu-date{font-size:13px!important;color:#756d64;margin:14px 0 0}
.restaurant-clickcollect{background:#f5f1eb}
.restaurant-split-card{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 12px 42px rgba(0,0,0,.05)}
.restaurant-split-card.is-reverse .restaurant-split-media{order:2}
.restaurant-split-media img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.restaurant-split-content{padding:58px;display:flex;flex-direction:column;justify-content:center}
.restaurant-split-content h2{margin-bottom:20px}
.restaurant-split-content p{margin:0 0 18px}
.restaurant-split-content .cta-button{align-self:flex-start;margin-top:12px}
.restaurant-tienda{background:#fff}
.restaurant-tienda .restaurant-split-card{background:#fff7e8}
.restaurant-practical{background:#f5f1eb}
.restaurant-practical-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:54px;align-items:start}
.restaurant-practical h2{margin-bottom:22px}
.restaurant-practical a:not(.cta-button){color:#CB1429;text-decoration:none}
.restaurant-address{margin-top:0}
.restaurant-hours-card{background:#fff;border-radius:20px;padding:36px;box-shadow:0 8px 30px rgba(0,0,0,.04)}
.restaurant-hours-card h3{font-size:28px;color:#CB1429;margin:0 0 18px}
.restaurant-hours-card .home-hours-grid{grid-template-columns:1fr;gap:0;padding:0}
.restaurant-hours-card .home-hours-grid>div{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:14px 0;border-bottom:1px solid #f0ebe4}
.restaurant-hours-card .home-hours-grid>div:last-child{border-bottom:0}
.restaurant-hours-card .home-hours-grid strong{margin:0}
.restaurant-hours-card .home-hours-grid span{text-align:right}
.restaurant-page .google-reviews-section{padding:72px 0;background:#fff}
.restaurant-page .reviews-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.restaurant-page .reviews-track{display:flex;gap:24px;transform:none!important;transition:none!important}
.restaurant-page .review-card{flex:0 0 calc(50% - 12px);min-width:0;scroll-snap-align:start;height:auto;max-height:none}
.restaurant-page .review-card p{font-size:16px;display:block;overflow:visible;max-height:none}
.restaurant-page .review-stars{color:#f5a623;font-size:20px;letter-spacing:2px;display:block;margin:12px 0}
.restaurant-private-rebound{padding:80px 0;background:#CB1429;color:#fff}
.restaurant-private-rebound-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:center}
.restaurant-private-photo img{width:100%;height:430px;object-fit:cover;display:block;border-radius:20px}
.restaurant-private-copy .restaurant-kicker{color:#fff}
.restaurant-private-copy h2{font-size:clamp(36px,4.5vw,58px);line-height:1.05;color:#fff;margin:0 0 20px}
.restaurant-private-copy p{color:#fff;margin:0 0 18px}
.restaurant-private-copy .cta-button{margin-top:10px}
@media(max-width:960px){
  .restaurant-welcome-grid,.restaurant-menu-pdf-grid,.restaurant-practical-grid,.restaurant-private-rebound-inner{grid-template-columns:1fr}
  .restaurant-welcome-photo img,.restaurant-menu-pdf-photo img{height:420px}
  .restaurant-menu-pdf-photo{order:-1}
  .restaurant-split-content{padding:44px}
  .restaurant-private-photo img{height:380px}
}
@media(max-width:767px){
  .restaurant-page p{font-size:16px}
  .restaurant-hero{min-height:500px}
  .restaurant-hero-inner{width:min(100% - 36px,1180px);padding:62px 0}
  .restaurant-hero p{font-size:18px}
  .restaurant-hero-actions,.restaurant-actions{flex-direction:column;align-items:stretch}
  .restaurant-page .cta-button{width:100%}
  .restaurant-section{padding:54px 0}
  .restaurant-welcome-grid{gap:30px}
  .restaurant-welcome-photo img,.restaurant-menu-pdf-photo img{height:320px}
  .restaurant-page #masonry{grid-template-columns:1fr 1fr;grid-template-rows:260px 160px 160px;gap:10px}
  .restaurant-page #masonry .item.s-50{grid-column:1 / span 2;grid-row:1}
  .restaurant-page .shared-specialities{padding:54px 0}
  .restaurant-page .shared-specialities .col>img{height:240px}
  .restaurant-split-card{grid-template-columns:1fr}
  .restaurant-split-card.is-reverse .restaurant-split-media{order:0}
  .restaurant-split-media img{min-height:0;height:300px}
  .restaurant-split-content{padding:30px 24px}
  .restaurant-split-content .cta-button{align-self:stretch}
  .restaurant-hours-card{padding:26px 22px}
  .restaurant-hours-card .home-hours-grid>div{grid-template-columns:1fr;gap:5px}
  .restaurant-hours-card .home-hours-grid span{text-align:left}
  .restaurant-page .review-card{flex-basis:100%}
  .restaurant-private-photo img{height:300px}
}

/* ---------- V15 : HOME + CONNEXION PILOT HORAIRES ---------- */
/* Les horaires compactés peuvent contenir 3, 4 ou plus de groupes selon les exceptions PILOT. */
.home-v1 .home-hours-grid{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  border:0!important;
}
.home-v1 .home-hours-grid>div{min-width:0}
.home-v1 .home-hours-grid span.is-closed{color:#59524a}

/* Adresse directement sous les CTA du bloc Restaurant. */
.home-restaurant-address{
  width:max-content;
  max-width:calc(100% - 40px);
  margin:22px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#CB1429!important;
  font-size:16px;
  font-weight:700;
  text-decoration:none!important;
}
.home-restaurant-address:hover,.home-restaurant-address:focus{color:#CB1429!important;text-decoration:underline!important}
.home-restaurant-address-icon{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#CB1429;
  color:#fff;
  font-size:18px;
  line-height:1;
}

/* Avatars type Google : plusieurs teintes sobres et distinctes. */
.review-avatar.review-avatar-tone-1{background:#6f7782!important}
.review-avatar.review-avatar-tone-2{background:#4285f4!important}
.review-avatar.review-avatar-tone-3{background:#7e57c2!important}
.review-avatar.review-avatar-tone-4{background:#b08968!important}

/* Photos produits : même langage visuel arrondi que le reste du site. */
.shared-specialities .shared-speciality-image{
  display:block;
  width:100%;
  border-radius:12px!important;
  overflow:hidden;
  object-fit:cover;
}
.home-v1 .shared-specialities .shared-speciality-image{height:220px}

@media(max-width:767px){
  .home-v1 .home-hours-grid{grid-template-columns:1fr}
  .home-v1 .home-hours-grid>div{display:flex;justify-content:space-between;gap:20px}
  .home-v1 .home-hours-grid span{text-align:right}
  .home-v1 .home-hours-grid strong{max-width:55%}
  .home-restaurant-address{width:auto;max-width:100%;padding:0 18px;text-align:center}
  .home-v1 .shared-specialities .shared-speciality-image{height:240px}
}

/* ---------- V17 : PRIVATISATION — double CTA final ---------- */
.private-final-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.private-page .secondary-cta{background:#fff;color:#CB1429;box-shadow:inset 0 0 0 2px #fff}
.private-page .secondary-cta:hover,.private-page .secondary-cta:focus{color:#CB1429;box-shadow:inset 0 0 0 2px #fff!important}
@media(max-width:900px){
  .private-final-actions{margin-top:24px;justify-content:flex-start}
  .private-final-box .private-final-actions .cta-button{margin-top:0}
}
@media(max-width:767px){
  .private-final-actions{flex-direction:column;align-items:stretch}
}

/* ---------- V19 : PAGE HORAIRES & CONTACT + FORMULAIRE ---------- */
.info-page .info-hero-inner{max-width:980px}
.info-page .info-hero-inner p{max-width:860px}
.info-page .info-hours{background:#f5f1eb}
.info-page .info-week-heading span{font-size:19px;line-height:1.35;color:#CB1429;font-weight:700}
.info-page .info-week-heading strong{display:inline;font-size:inherit;color:inherit;font-weight:700}
.info-page .info-find-us{background:#fff}
.info-page .info-contact-card strong{font-weight:700}

.info-contact-form-section{background:#f5f1eb;position:relative;overflow:hidden}
.contact-form-heading{max-width:800px;margin-bottom:34px}
.contact-form-heading h2{margin-bottom:14px}
.contact-form-heading p{margin:0;color:#59524a}
.cantine-contact-form{width:100%}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.contact-field{position:relative}
.contact-field-message{grid-column:1 / -1}
.contact-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-field input,
.contact-field textarea{
  width:100%;
  border:1px solid #e6ded5!important;
  border-radius:16px;
  background:#fff;
  color:#25211e;
  box-shadow:none!important;
  font:inherit;
  font-size:17px;
  line-height:1.45;
  padding:19px 21px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.contact-field input{min-height:64px}
.contact-field textarea{min-height:220px;resize:vertical}
.contact-field input::placeholder,
.contact-field textarea::placeholder{color:#777069;opacity:1}
.contact-field input:focus,
.contact-field textarea:focus{
  border-color:#CB1429!important;
  outline:0;
  box-shadow:0 0 0 3px rgba(203,20,41,.10)!important;
}
.contact-field input[aria-invalid="true"],
.contact-field textarea[aria-invalid="true"]{border-color:#CB1429!important}
.contact-form-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0 0;font-size:15px;line-height:1.5;color:#4c4640}
.contact-form-consent input{width:21px;height:21px;flex:0 0 21px;margin-top:1px;accent-color:#CB1429}
.contact-form-consent label{cursor:pointer}
.form-privacy-note,.booking-privacy-note,.project-privacy{
  margin:14px 0 0;color:#716861;font-size:13px;line-height:1.55
}
.form-privacy-note a,.booking-privacy-note a,.project-privacy a{
  color:#CB1429;text-decoration:underline;text-underline-offset:2px
}
.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form-footer{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}
.info-page .contact-submit{border:0!important;min-width:190px;cursor:pointer;font-family:inherit;font-weight:700}
.info-page .contact-submit[disabled]{opacity:.65;cursor:wait}
.contact-form-status{margin:0!important;font-size:15px!important;font-weight:600;line-height:1.5!important;min-height:23px}
.contact-form-status.is-success{
  display:flex;align-items:center;gap:10px;max-width:520px;padding:13px 16px!important;
  border:1px solid #9fcca9;border-radius:12px;background:#eef8f0;color:#216b35;
  box-shadow:0 4px 14px rgba(33,107,53,.08)
}
.contact-form-status.is-success::before{
  content:'✓';display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;
  border-radius:50%;background:#24753c;color:#fff;font-size:14px;font-weight:800
}
.contact-form-status.is-error{color:#CB1429}

/* Deuxième rangée de références, volontairement en sens inverse. */
.partner-carousel-reverse{margin-top:22px}
.partner-carousel-reverse .partner-carousel-track{animation-direction:reverse}

/* Blog V1 — même design system, lecture volontairement sobre. */
.blog-page{background:#fff;color:#2a2420;font-family:'Open Sans',sans-serif}.blog-page h1,.blog-page h2,.blog-page h3{font-family:Cubano,Oswald,sans-serif;font-weight:400}.blog-hero{padding:72px 0 42px;background:#fff7e8}.blog-hero .section-kicker,.blog-article .section-kicker,.home-blog .section-kicker{display:block;margin-bottom:10px;color:#CB1429;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:normal}.blog-hero h1{max-width:850px;margin:0 0 16px;color:#CB1429;font-size:clamp(38px,5vw,66px);line-height:1.03}.blog-hero p{max-width:700px;margin:0;font-size:19px;line-height:1.6}.blog-list{padding:60px 0 90px}.blog-grid,.home-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.blog-card{overflow:hidden;border:1px solid #eadfd8;border-radius:18px;background:#fff}.blog-card-image{display:block;aspect-ratio:16/9;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.blog-card:hover .blog-card-image img{transform:scale(1.02)}.blog-card-copy{padding:24px}.blog-card time,.blog-related time{display:block;margin-bottom:8px;color:#766b64;font-size:13px}.blog-card h2{margin:0 0 12px;font-size:clamp(25px,2.4vw,34px);line-height:1.12}.blog-card h2 a{color:#CB1429;text-decoration:none}.blog-card p{margin:0 0 16px;line-height:1.6}.blog-read,.blog-back{color:#CB1429;font-weight:800;text-decoration:none}.blog-article-shell{padding:54px 0 90px}.blog-back{display:inline-block;margin-bottom:30px}.blog-article-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(250px,3fr);gap:62px;align-items:start}.blog-article{max-width:820px}.blog-article h1{margin:8px 0 18px;color:#CB1429;font-size:clamp(40px,5.2vw,70px);line-height:1.03}.blog-article-intro{font-size:21px;line-height:1.55}.blog-meta{color:#766b64;font-size:14px}.blog-article h2{margin:44px 0 14px;color:#CB1429;font-size:clamp(28px,3vw,40px);line-height:1.12}.blog-article p{font-size:18px;line-height:1.75}.blog-article p a{color:#CB1429;font-weight:700}.blog-main-image,.blog-inline-image{margin:34px 0}.blog-main-image img,.blog-inline-image img{display:block;width:100%;max-height:610px;object-fit:cover;border-radius:18px}.blog-article figcaption{margin-top:9px;color:#766b64;font-size:13px}.blog-related{position:sticky;top:100px;padding:24px;border-radius:18px;background:#fff7e8}.blog-related h2{margin:0 0 20px;color:#CB1429;font-size:29px}.blog-related-item{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:14px 0;border-top:1px solid #ead7bd}.blog-related-item img{width:88px;height:72px;object-fit:cover;border-radius:9px}.blog-related-item strong{display:block;line-height:1.3}.blog-commercial{margin-top:55px;padding:38px;border-radius:18px;background:#CB1429;color:#fff}.blog-commercial .section-kicker,.blog-commercial h2{color:#fff}.blog-commercial h2{margin:7px 0 12px}.blog-commercial p{font-size:17px}.blog-commercial>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.home-blog{padding:80px 0;background:#fff7e8}.home-blog-head{max-width:720px;margin-bottom:35px}.home-blog h2{margin:0 0 15px;color:#CB1429;font-size:clamp(34px,4vw,55px)}.home-blog-more{text-align:center;margin-top:30px}
.home-blog .blog-card h2{font-size:clamp(25px,2.4vw,34px)}
.restaurant-references{padding:70px 0;background:#fff7e8}.restaurant-references h2{text-align:center;color:#CB1429;margin:0 0 34px}.shared-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.shared-reference-grid .partner-card{min-height:120px;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:14px;background:#fff}.shared-reference-grid img{display:block;max-width:100%;max-height:74px;object-fit:contain}.ft-references [data-cms-reference-grid]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;transform:none!important;animation:none!important}.ft-references [data-cms-reference-grid]>.partner-card{min-height:120px;padding:20px}.ft-references [data-cms-reference-grid]~*{display:none}
@media(max-width:800px){.blog-grid,.home-blog-grid,.blog-article-layout{grid-template-columns:1fr}.blog-article-layout{gap:42px}.blog-related{position:static}.blog-hero{padding:48px 0 32px}.blog-article-shell{padding:36px 0 65px}.blog-article p{font-size:17px}.blog-commercial{padding:28px 22px}.blog-commercial .cta-button{width:100%;text-align:center}.home-blog{padding:54px 0}}
@media(max-width:700px){.shared-reference-grid,.ft-references [data-cms-reference-grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shared-reference-grid .partner-card,.ft-references [data-cms-reference-grid]>.partner-card{min-height:100px;padding:14px}}
.restaurant-v58-week [data-pilot-news-list][data-news-count="2"],.restaurant-v58-week [data-pilot-news-list][data-news-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.restaurant-v58-week [data-pilot-news-list][data-news-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-v58-week [data-news-count="2"] .restaurant-v58-feature-card,.restaurant-v58-week [data-news-count="3"] .restaurant-v58-feature-card{display:block;min-height:0}.restaurant-v58-week [data-news-count="2"] .restaurant-v58-feature-media,.restaurant-v58-week [data-news-count="3"] .restaurant-v58-feature-media{height:190px;min-height:0}.restaurant-v58-week [data-news-count="2"] .restaurant-v58-feature-copy,.restaurant-v58-week [data-news-count="3"] .restaurant-v58-feature-copy{padding:24px}.private-trust .partner-carousel,.ft-references .partner-carousel{overflow:visible;padding:0}.private-trust .partner-carousel:before,.private-trust .partner-carousel:after,.ft-references .partner-carousel:before,.ft-references .partner-carousel:after{display:none}.private-trust [data-cms-reference-grid],.ft-references [data-cms-reference-grid]{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:auto!important;animation:none!important;transform:none!important}.private-trust [data-cms-reference-grid]>.partner-card,.ft-references [data-cms-reference-grid]>.partner-card{min-height:112px;padding:18px}.private-trust [data-cms-reference-grid]>.partner-card img,.ft-references [data-cms-reference-grid]>.partner-card img{max-width:100%;max-height:72px;object-fit:contain}
@media(max-width:800px){.restaurant-v58-week [data-pilot-news-list][data-news-count]{grid-template-columns:1fr}.private-trust [data-cms-reference-grid],.ft-references [data-cms-reference-grid]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.private-trust [data-cms-reference-grid]>.partner-carousel-group,.ft-references [data-cms-reference-grid]>.partner-carousel-group{display:contents}.private-trust [data-cms-reference-grid]>.partner-carousel-group[aria-hidden="true"],.ft-references [data-cms-reference-grid]>.partner-carousel-group[aria-hidden="true"]{display:none}.private-trust [data-cms-reference-grid] .partner-slide,.ft-references [data-cms-reference-grid] .partner-slide{width:auto;min-width:0}.private-trust [data-cms-reference-grid] .partner-card,.ft-references [data-cms-reference-grid] .partner-card{min-height:112px;padding:18px}

@media(max-width:767px){
  .contact-form-grid{grid-template-columns:1fr;gap:14px}
  .contact-field-message{grid-column:auto}
  .contact-field input,.contact-field textarea{font-size:16px;padding:17px 18px;border-radius:14px}
  .contact-field input{min-height:58px}
  .contact-field textarea{min-height:190px}
  .contact-form-footer{display:block}
  .info-page .contact-submit{width:100%}
  .contact-form-status{margin-top:14px!important;text-align:center}
}


/* V20 — hero Privatisation identique au hero Restaurant */
.private-page .restaurant-hero.private-hero-v20::before{
  background-image:url('../images/accueil/PRIVA1.png');
  background-position:center;
}
.private-page .restaurant-hero.private-hero-v20 .restaurant-hero-inner{
  text-align:left;
}
.private-page .restaurant-hero.private-hero-v20 p{
  margin-left:0;
  margin-right:0;
}
.private-page .restaurant-hero.private-hero-v20 .restaurant-hero-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:30px;
}
@media(max-width:767px){
  .private-page .restaurant-hero.private-hero-v20{min-height:500px}
  .private-page .restaurant-hero.private-hero-v20 .restaurant-hero-inner{width:min(100% - 36px,1180px);padding:62px 0}
  .private-page .restaurant-hero.private-hero-v20 p{font-size:18px}
  .private-page .restaurant-hero.private-hero-v20 .restaurant-hero-actions{flex-direction:column;align-items:stretch}
  .private-page .restaurant-hero.private-hero-v20 .cta-button{width:100%}
}

/* ========================================================================== 
   HOME — HORAIRES UX V22
   Statut du jour + 4 prochaines ouvertures. Les données restent alimentées
   par PILOT via pilot-public.js ; le détail complet reste sur Horaires & contact.
   ========================================================================== */
.home-v1 .home-hours-v22{
  background:#fff!important;
  padding-top:64px;
  padding-bottom:64px;
}
.home-v1 .home-hours-v22 .home-hours-shell{
  max-width:980px;
  margin:0 auto;
}
.home-v1 .home-hours-v22 h2{
  margin:0 0 24px;
  color:#CB1429;
  font-size:clamp(30px,3.3vw,48px);
  line-height:1.08;
  text-transform:uppercase;
}
.home-hours-status{
  padding:22px 26px;
  border:1px solid #ebe4df;
  border-radius:18px;
  background:#f8f6f4;
}
.home-hours-status.is-open{
  background:#eef8f1;
  border-color:#d8eadc;
}
.home-hours-status.is-closed{
  background:#faf5f3;
  border-color:#eee0dc;
}
.home-hours-status.is-exceptional{
  background:#fff0f1;
  border-color:#f3d7da;
}
.home-v1 .home-hours-status-title{
  display:block;
  margin:0 0 4px;
  color:#25211e;
  font-family:'Open Sans',sans-serif;
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}
.home-v1 .home-hours-status.is-open .home-hours-status-title{
  color:#28743d;
}
.home-v1 .home-hours-status-detail{
  margin:0;
  color:#403a35;
  font-size:17px;
  line-height:1.55;
}
.home-hours-preview{
  margin-top:28px;
}
.home-v1 .home-hours-preview h3{
  margin:0 0 8px;
  color:#25211e;
  font-family:'Open Sans',sans-serif;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}
.home-hours-preview-list{
  border-top:1px solid #eee8e3;
}
.home-hours-preview-row{
  display:grid;
  grid-template-columns:minmax(150px,190px) 1fr;
  gap:24px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #eee8e3;
}
.home-hours-preview-day{
  color:#25211e;
  font-size:16px;
  font-weight:700;
}
.home-hours-preview-value{
  color:#49423c;
  font-size:16px;
  line-height:1.45;
}
.home-hours-preview-empty{
  margin:0;
  padding:14px 0;
  color:#68605a;
  font-size:15px;
}
.home-v1 .home-hours-cta{
  display:inline-flex;
  margin-top:24px;
}
@media(max-width:767px){
  .home-v1 .home-hours-v22{
    padding-top:48px;
    padding-bottom:48px;
  }
  .home-v1 .home-hours-v22 h2{
    margin-bottom:20px;
    font-size:30px;
  }
  .home-hours-status{
    padding:19px 20px;
    border-radius:15px;
  }
  .home-v1 .home-hours-status-title{
    font-size:18px;
  }
  .home-v1 .home-hours-status-detail{
    font-size:16px;
  }
  .home-hours-preview-row{
    grid-template-columns:1fr;
    gap:3px;
    padding:12px 0;
  }
  .home-hours-preview-day,
  .home-hours-preview-value{
    font-size:15px;
  }
}


/* ---------- V23 : CARROUSEL RÉFÉRENCES PRIVATISATION ---------- */
.private-trust-intro{max-width:760px;margin:0 auto 36px}
.partner-carousel{position:relative;overflow:hidden;max-width:1180px;margin:0 auto;padding:6px 38px}
.partner-carousel::before,.partner-carousel::after{content:"";position:absolute;top:0;bottom:0;width:42px;z-index:2;pointer-events:none}
.partner-carousel::before{left:0;background:linear-gradient(90deg,#f5f1eb 0%,rgba(245,241,235,0) 100%)}
.partner-carousel::after{right:0;background:linear-gradient(270deg,#f5f1eb 0%,rgba(245,241,235,0) 100%)}
.partner-carousel-track{display:flex;align-items:stretch;gap:18px;width:max-content;animation:partner-carousel-scroll 36s linear infinite}
.partner-carousel:hover .partner-carousel-track{animation-play-state:paused}
.partner-carousel-group{display:flex;align-items:stretch;gap:18px}
.partner-slide{flex:0 0 230px}
.partner-slide.partner-slide-wide{flex-basis:280px}
.partner-slide.partner-slide-square{flex-basis:200px}
.partner-card{background:#fff;border-radius:16px;min-height:132px;display:flex;align-items:center;justify-content:center;padding:22px 24px;box-shadow:0 6px 24px rgba(0,0,0,.035)}
.partner-card img{display:block;width:100%;height:80px;object-fit:contain;filter:none;opacity:1;transition:transform .2s ease}
.partner-card:hover img{transform:translateY(-2px)}
@keyframes partner-carousel-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 9px))}
}
@media(max-width:900px){
  .partner-carousel{padding:6px 28px}
  .partner-slide{flex-basis:210px}
  .partner-slide.partner-slide-wide{flex-basis:248px}
  .partner-slide.partner-slide-square{flex-basis:186px}
}
@media(max-width:767px){
  .partner-carousel{padding:4px 18px}
  .partner-carousel::before,.partner-carousel::after{width:18px}
  .partner-carousel-track{gap:12px;animation-duration:30s}
  .partner-carousel-group{gap:12px}
  .partner-slide{flex-basis:172px}
  .partner-slide.partner-slide-wide{flex-basis:214px}
  .partner-slide.partner-slide-square{flex-basis:150px}
  .partner-card{min-height:108px;padding:14px}
  .partner-card img{height:56px}
}


/* ========================================================================== 
   V24 — PAGE HORAIRES & CONTACT : COHÉRENCE AVEC LE MODULE D’ACCUEIL
   Même statut du jour, puis détail compact des deux semaines civiles.
   ========================================================================== */
.info-page .info-hours{
  background:#fff;
  padding-top:58px;
  padding-bottom:72px;
}
.info-page .info-hours .container{
  max-width:1180px;
}
.info-page .info-hours h2{
  margin:0 0 24px;
  color:#CB1429;
  font-size:clamp(30px,3.3vw,48px);
  line-height:1.08;
  text-transform:uppercase;
}
.info-hours-status-shell{
  max-width:980px;
  margin:0 0 42px;
}
.info-page .home-hours-status-title{
  display:block;
  margin:0 0 4px;
  color:#25211e;
  font-family:'Open Sans',sans-serif;
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}
.info-page .home-hours-status.is-open .home-hours-status-title{color:#28743d}
.info-page .home-hours-status-detail{
  margin:0;
  color:#403a35;
  font-size:17px;
  line-height:1.55;
}
.info-hours-detail-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 18px;
}
.info-hours-detail-heading h3{
  margin:0;
  color:#25211e;
  font-family:'Open Sans',sans-serif;
  font-size:19px;
  font-weight:800;
  line-height:1.35;
}
.info-hours-detail-heading p{
  margin:0;
  color:#6c645d;
  font-size:14px;
  line-height:1.5;
}
.info-page .info-hours-weeks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:0 0 26px;
}
.info-page .info-week-card{
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  background:#fff;
  border:1px solid #e9e3dd;
  border-radius:16px;
  overflow:hidden;
  box-shadow:none;
}
.info-page .info-week-heading{
  padding:17px 20px;
  margin:0;
  background:#f8f6f4;
  border-bottom:1px solid #e9e3dd;
}
.info-page .info-week-heading span{
  display:block;
  margin:0;
  color:#CB1429;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}
.info-page .info-week-heading strong{
  display:inline;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
}
.info-page .info-day-row{
  display:grid;
  grid-template-columns:minmax(118px,.85fr) minmax(0,1.15fr);
  gap:18px;
  align-items:center;
  min-height:54px;
  padding:11px 20px;
  border-bottom:1px solid #eee8e3;
  background:#fff;
}
.info-page .info-day-row:last-child{border-bottom:0}
.info-page .info-day-row.is-today{
  background:#eef8f1;
  box-shadow:inset 4px 0 0 #28743d;
}
.info-page .info-day-row.is-today-closed{
  background:#faf5f3;
  box-shadow:inset 4px 0 0 #756d64;
}
.info-page .info-day-row.is-exceptional{
  background:#fff4f4;
}
.info-page .info-day-row.is-today.is-exceptional{
  background:#fff0f1;
  box-shadow:inset 4px 0 0 #CB1429;
}
.info-page .info-day-name{
  color:#25211e;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
.info-page .info-day-date{
  margin-left:5px;
  color:#80776f;
  font-size:12px;
  font-weight:400;
}
.info-page .info-day-hours{
  color:#403a35;
  text-align:right;
  font-size:15px;
  line-height:1.4;
}
.info-page .info-day-hours.is-closed{color:#756d64}
.info-page .info-day-row.is-exceptional .info-day-hours{
  color:#A71A2A;
  font-weight:700;
}
.info-page .info-day-hours span{display:block}
.info-page .info-hours .info-actions{
  margin-top:24px;
}
@media(max-width:900px){
  .info-page .info-hours-weeks{grid-template-columns:1fr}
  .info-hours-detail-heading{display:block}
  .info-hours-detail-heading p{margin-top:5px}
}
@media(max-width:767px){
  .info-page .info-hours{
    padding-top:46px;
    padding-bottom:54px;
  }
  .info-page .info-hours h2{
    margin-bottom:20px;
    font-size:30px;
  }
  .info-hours-status-shell{margin-bottom:32px}
  .info-page .home-hours-status-title{font-size:18px}
  .info-page .home-hours-status-detail{font-size:16px}
  .info-page .info-week-heading{padding:15px 16px}
  .info-page .info-week-heading span{font-size:16px}
  .info-page .info-day-row{
    grid-template-columns:minmax(98px,.8fr) minmax(0,1.2fr);
    gap:10px;
    min-height:52px;
    padding:10px 16px;
  }
  .info-page .info-day-name,
  .info-page .info-day-hours{font-size:14px}
  .info-page .info-day-date{display:block;margin:2px 0 0}
}


/* ============================================================
   PAGE FOOD TRUCK — V1 / V25
   ============================================================ */
.foodtruck-page{color:#25211e;background:#fff;font-family:'Open Sans',sans-serif}
.foodtruck-page h1,.foodtruck-page h2,.foodtruck-page h3{font-family:Cubano,Oswald,sans-serif;font-weight:normal}
.foodtruck-page p{font-size:18px;line-height:1.7}
.foodtruck-page .cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:17px 26px;background:#FFA61D;color:#15110d;text-align:center;text-decoration:none;border:0!important}
.foodtruck-page .cta-button:hover,.foodtruck-page .cta-button:focus{border:0!important}
.ft-kicker{display:block;margin:0 0 12px;color:#CB1429;font-size:14px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.ft-section-heading{max-width:820px;margin:0 0 38px}
.ft-section-heading.is-centered{margin-left:auto;margin-right:auto;text-align:center}
.ft-section-heading h2{margin:0 0 16px;color:#CB1429;font-size:clamp(36px,4.5vw,60px);line-height:1.04}
.ft-section-heading p{margin:0;color:#514a44}

/* hero */
.ft-hero{position:relative;min-height:clamp(560px,72vh,760px);display:flex;align-items:flex-end;overflow:hidden;background:#3d2421}
.ft-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.ft-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,13,10,.78) 0%,rgba(20,13,10,.56) 43%,rgba(20,13,10,.16) 72%,rgba(20,13,10,.06) 100%)}
.ft-hero-inner{position:relative;z-index:2;width:min(1320px,calc(100% - 48px));margin:0 auto;padding:86px 0 82px;color:#fff}
.ft-hero-copy{max-width:760px}
.ft-hero h1{margin:0 0 22px;color:#fff;font-size:clamp(48px,6.4vw,88px);line-height:.98;text-wrap:balance}
.ft-hero p{max-width:720px;margin:0;color:#fff;font-size:clamp(18px,1.6vw,21px);line-height:1.62}
.ft-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.ft-hero-actions .cta-button{min-width:205px}

/* histoire */
.ft-story{padding:88px 0}
.ft-story-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:70px;align-items:center}
.ft-story-copy h2{margin:0 0 24px;color:#CB1429;font-size:clamp(38px,4.4vw,62px);line-height:1.04}
.ft-story-copy p{margin:0 0 17px}
.ft-story-copy p:last-child{margin-bottom:0}
.ft-story-visual{display:grid;grid-template-columns:1.22fr .78fr;gap:14px;align-items:end}
.ft-story-photo{margin:0;overflow:hidden;border-radius:20px;background:#eee}
.ft-story-photo:first-child{height:520px}
.ft-story-photo:last-child{height:390px;margin-bottom:-34px}
.ft-story-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* produits */
.ft-products{padding:86px 0;background:#f5f1eb}
.ft-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ft-product-card{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(49,36,27,.055)}
.ft-product-media{aspect-ratio:1/1;overflow:hidden;background:#e8e1da}
.ft-product-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ft-product-card:hover .ft-product-media img{transform:scale(1.035)}
.ft-product-body{padding:23px 22px 25px}
.ft-product-body h3{margin:0 0 10px;color:#CB1429;font-size:25px;line-height:1.05}
.ft-product-body p{margin:0;color:#514a44;font-size:15px;line-height:1.55}
.ft-product-note{margin:28px 0 0;color:#716960;text-align:center;font-size:14px!important}

/* galerie */
.ft-gallery{padding:90px 0;background:#fff;overflow:hidden}
.ft-gallery-shell{position:relative}
.ft-gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px max(24px,calc((100vw - 1320px)/2)) 16px;overscroll-behavior-inline:contain}
.ft-gallery-track::-webkit-scrollbar{display:none}
.ft-gallery-slide{position:relative;flex:0 0 clamp(300px,39vw,570px);height:clamp(300px,39vw,470px);scroll-snap-align:start;overflow:hidden;border-radius:20px;background:#ddd}
.ft-gallery-slide.is-portrait{flex-basis:clamp(250px,27vw,390px)}
.ft-gallery-slide img{display:block;width:100%;height:100%;object-fit:cover}
.ft-gallery-caption{position:absolute;left:18px;right:18px;bottom:16px;padding:10px 13px;border-radius:10px;background:rgba(20,13,10,.72);backdrop-filter:blur(5px);color:#fff;font-size:14px;line-height:1.35}
.ft-gallery-controls{display:flex;justify-content:flex-end;gap:10px;width:min(1320px,calc(100% - 48px));margin:8px auto 0}
.ft-gallery-button{width:48px;height:48px;border:0;border-radius:50%;background:#CB1429;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.ft-gallery-button:disabled{opacity:.25;cursor:default}

/* références */
.ft-references{padding:80px 0;background:#f5f1eb;text-align:center}
.ft-references .partner-carousel{margin-top:34px}
.ft-reference-labels{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px auto 0;max-width:850px}
.ft-reference-labels span{padding:8px 13px;border-radius:999px;background:#fff;color:#625a53;font-size:13px;font-weight:700}

/* conversion */
.ft-organizers{padding:90px 0;background:#fff}
.ft-conversion-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.ft-conversion-media{height:540px;border-radius:20px;overflow:hidden}
.ft-conversion-media img{display:block;width:100%;height:100%;object-fit:cover}
.ft-conversion-copy h2{margin:0 0 22px;color:#CB1429;font-size:clamp(38px,4.5vw,62px);line-height:1.04}
.ft-conversion-copy p{margin:0 0 18px}
.ft-conversion-copy .cta-button{margin-top:10px}

.ft-private{padding:76px 0 88px;background:#fff}
.ft-private-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:46px 50px;border-radius:20px;background:#CB1429;color:#fff}
.ft-private-box .ft-kicker{color:#ffd9db}
.ft-private-box h2{margin:0 0 14px;color:#fff;font-size:clamp(34px,4vw,52px);line-height:1.04}
.ft-private-box p{max-width:760px;margin:0;color:#fff}
.ft-private-box .cta-button{min-width:245px}

@media(max-width:1050px){
  .ft-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-story-grid,.ft-conversion-grid{gap:42px}
  .ft-story-photo:first-child{height:470px}
  .ft-story-photo:last-child{height:340px}
}
@media(max-width:900px){
  .ft-story-grid,.ft-conversion-grid{grid-template-columns:1fr}
  .ft-story-copy{max-width:760px}
  .ft-story-visual{max-width:760px}
  .ft-conversion-media{height:430px;order:2}
  .ft-private-box{grid-template-columns:1fr}
  .ft-private-box .cta-button{justify-self:start}
}
@media(max-width:767px){
  .foodtruck-page p{font-size:16px}
  .ft-hero{min-height:610px;align-items:flex-end}
  .ft-hero::after{background:linear-gradient(0deg,rgba(20,13,10,.84) 0%,rgba(20,13,10,.66) 50%,rgba(20,13,10,.18) 100%)}
  .ft-hero-media{object-position:66% center}
  .ft-hero-inner{width:calc(100% - 36px);padding:72px 0 44px}
  .ft-hero h1{font-size:clamp(43px,13vw,62px)}
  .ft-hero p{font-size:16px;line-height:1.55}
  .ft-hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
  .ft-hero-actions .cta-button{width:100%;min-width:0}
  .ft-story,.ft-products,.ft-gallery,.ft-organizers{padding:62px 0}
  .ft-story-grid{gap:34px}
  .ft-story-visual{grid-template-columns:1fr 1fr;gap:10px}
  .ft-story-photo:first-child{height:350px}
  .ft-story-photo:last-child{height:280px;margin-bottom:-22px}
  .ft-product-grid{grid-template-columns:1fr 1fr;gap:11px}
  .ft-product-card{border-radius:14px}
  .ft-product-body{padding:18px 15px 20px}
  .ft-product-body h3{font-size:21px}
  .ft-product-body p{font-size:14px}
  .ft-gallery-track{gap:12px;padding-left:18px;padding-right:18px}
  .ft-gallery-slide{flex-basis:84vw;height:72vw;border-radius:16px}
  .ft-gallery-slide.is-portrait{flex-basis:72vw}
  .ft-gallery-controls{width:calc(100% - 36px)}
  .ft-references{padding:58px 0}
  .ft-conversion-media{height:340px}
  .ft-private{padding:56px 0 66px}
  .ft-private-box{padding:32px 24px}
  .ft-private-box .cta-button{width:100%;min-width:0}
}
@media(max-width:520px){
  .ft-product-grid{grid-template-columns:1fr}
  .ft-product-media{aspect-ratio:4/3}
  .ft-story-visual{display:block}
  .ft-story-photo:first-child{height:360px}
  .ft-story-photo:last-child{height:300px;margin:12px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .ft-product-media img{transition:none}
  .partner-carousel-track{animation:none!important}
}


/* ============================================================
   FOOD TRUCK — PROCHAINES DATES PILOT / V26
   ============================================================ */
.ft-dates{padding:82px 0;background:#fff}
.ft-dates[hidden]{display:none!important}
.ft-dates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto}
.ft-date-card{position:relative;display:flex;flex-direction:column;min-height:210px;padding:25px 24px 23px;border:1px solid #eee6df;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(49,36,27,.045)}
.ft-date-date{margin:0 0 10px;color:#CB1429;font-size:14px;font-weight:900;line-height:1.25;text-transform:uppercase;letter-spacing:.45px}
.ft-date-card h3{margin:0 0 12px;color:#25211e;font-size:26px;line-height:1.06}
.ft-date-meta{display:flex;flex-direction:column;gap:5px;margin-top:auto;color:#645c55;font-size:15px;line-height:1.4}
.ft-date-place{font-weight:700;color:#403934}
.ft-date-description{margin:12px 0 0!important;color:#6a625c;font-size:14px!important;line-height:1.5!important}
.ft-date-link{display:inline-flex;align-items:center;align-self:flex-start;margin-top:16px;color:#CB1429;font-size:14px;font-weight:900;text-decoration:none}
.ft-date-link:hover{text-decoration:underline}
.ft-date-link::after{content:" →";margin-left:3px}
@media(max-width:980px){.ft-dates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  .ft-dates{padding:58px 0}
  .ft-dates-grid{grid-template-columns:1fr;gap:11px}
  .ft-date-card{min-height:0;padding:20px 19px;border-radius:15px}
  .ft-date-card h3{font-size:23px}
  .ft-date-meta{margin-top:10px}
}


/* ========================================================================== 
   V27 — HAUT DE PAGE HORAIRES & CONTACT
   Un H1 unique, statut du jour directement sous l’introduction, puis détail.
   ========================================================================== */
.info-page .info-hero{
  padding:48px 0 18px;
}
.info-page .info-hero-inner{
  width:min(1320px,calc(100% - 48px));
  max-width:none;
  padding:0;
  text-align:left;
}
.info-page .info-hero h1{
  margin:0 0 10px;
  font-size:clamp(36px,4.2vw,54px);
}
.info-page .info-hero p{
  max-width:850px;
  margin:0;
  font-size:17px;
  line-height:1.6;
}
.info-page .info-hours{
  padding-top:10px;
  padding-bottom:72px;
}
.info-page .info-hours-status-shell{
  max-width:980px;
  margin:0 0 34px;
}
.info-page .info-hours .home-hours-status{
  padding:20px 24px;
  border-radius:14px;
}
.info-page .info-hours .home-hours-status-title{
  margin:0 0 5px;
  font-size:19px;
  line-height:1.35;
}
.info-page .info-hours .home-hours-status-detail{
  font-size:16px;
  line-height:1.5;
}
.info-page .info-hours-detail-heading{
  display:block;
  margin:0 0 16px;
}
.info-page .info-hours-detail-heading h2{
  margin:0;
  color:#CB1429;
  font-size:clamp(24px,2.5vw,34px);
  line-height:1.15;
  text-transform:none;
}
.info-page .info-hours-detail-heading p{display:none!important}
@media(max-width:767px){
  .info-page .info-hero{
    padding:34px 0 12px;
  }
  .info-page .info-hero-inner{
    width:calc(100% - 36px);
    padding:0;
  }
  .info-page .info-hero h1{
    font-size:34px;
    margin-bottom:8px;
  }
  .info-page .info-hero p{
    font-size:15px;
    line-height:1.55;
  }
  .info-page .info-hours{
    padding-top:8px;
    padding-bottom:54px;
  }
  .info-page .info-hours-status-shell{
    margin-bottom:28px;
  }
  .info-page .info-hours .home-hours-status{
    padding:17px 18px;
  }
  .info-page .info-hours .home-hours-status-title{
    font-size:17px;
  }
  .info-page .info-hours .home-hours-status-detail{
    font-size:15px;
  }
  .info-page .info-hours-detail-heading h2{
    font-size:26px;
  }
}


/* =========================================================
   V38 — Adresse intégrée au bloc Horaires + CTA menu intro
   ========================================================= */
.home-hours-location{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:10px 0 20px;
  color:#5d554e!important;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
  text-decoration:none!important;
}
.home-hours-location:hover,.home-hours-location:focus{
  color:#CB1429!important;
  text-decoration:none!important;
}
.home-hours-location-icon{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#FCEDEF;
  color:#CB1429;
}
.restaurant-welcome-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
@media(max-width:767px){
  .home-hours-location{margin:8px 0 18px;font-size:14px}
  .restaurant-welcome-actions{margin-top:20px}
}
.home-v1 .home-hours-v22 .home-hours-shell > h2{margin-bottom:8px}
.home-hours-location{margin-top:0}


/* =========================================================
   Popup d'information pilotée depuis PILOT
   ========================================================= */
html.pilot-site-popup-open,
html.pilot-site-popup-open body {
    overflow: hidden;
}

.pilot-site-popup {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(20, 20, 20, .52);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.pilot-site-popup-card {
    position: relative;
    width: min(560px, 100%);
    max-height: min(720px, calc(100vh - 48px));
    overflow: auto;
    padding: 34px 34px 30px;
    border: 1px solid rgba(203, 20, 41, .13);
    border-radius: 18px;
    background: #fff;
    color: #202124;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
    text-align: left;
}

.pilot-site-popup-eyebrow {
    margin: 0 42px 12px 0;
    color: #CB1429;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .11em;
}

.pilot-site-popup-card h2 {
    margin: 0 42px 14px 0;
    color: #202124;
    font-size: clamp(25px, 4vw, 34px);
    line-height: 1.12;
}

.pilot-site-popup-message {
    margin: 0;
    color: #5F6368;
    font-size: 16px;
    line-height: 1.65;
    white-space: pre-line;
}

.pilot-site-popup-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: #F4F5F6;
    color: #5F6368;
    font: inherit;
    font-size: 29px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
}

.pilot-site-popup-close:hover,
.pilot-site-popup-close:focus-visible {
    background: #FCEDEF;
    color: #CB1429;
    outline: none;
}

.pilot-site-popup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.pilot-site-popup-cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 19px;
    border-radius: 10px;
    background: #CB1429;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: opacity .2s ease;
}

.pilot-site-popup-cta:hover,
.pilot-site-popup-cta:focus-visible {
    opacity: .9;
}

@media (max-width: 575px) {
    .pilot-site-popup {
        align-items: flex-end;
        padding: 12px;
    }

    .pilot-site-popup-card {
        width: 100%;
        max-height: calc(100vh - 24px);
        padding: 30px 24px 25px;
        border-radius: 18px;
    }

    .pilot-site-popup-card h2 {
        font-size: 25px;
    }

    .pilot-site-popup-actions,
    .pilot-site-popup-cta {
        width: 100%;
    }
}

/* =========================================================
   V42 — Formulaire projet événementiel (front client)
   ========================================================= */
html.project-form-open,html.project-form-open body{overflow:hidden}
.project-form-modal{position:fixed;inset:0;z-index:110000;display:flex;align-items:center;justify-content:center;padding:24px}
.project-form-modal[hidden]{display:none!important}
.project-form-backdrop{position:absolute;inset:0;background:rgba(44,24,20,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.project-form-panel{position:relative;width:min(900px,100%);max-height:calc(100vh - 48px);overflow:hidden;border-radius:22px;background:#fffaf4;color:#25211e;box-shadow:0 24px 70px rgba(35,18,14,.28)}
.project-form-scroll{max-height:calc(100vh - 48px);overflow:auto;padding:42px 46px 38px;overscroll-behavior:contain}
.project-form-close{position:absolute;z-index:3;top:17px;right:17px;width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#6a514a;font:300 31px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 3px 16px rgba(67,35,27,.08)}
.project-form-close:hover,.project-form-close:focus-visible{background:#FCEDEF;color:#CB1429}
.project-form-heading{max-width:720px;margin:0 auto 30px;text-align:center;padding:0 32px}
.project-form-heading h2,.project-success h2{margin:0 0 13px;color:#CB1429;font-family:Cubano,Oswald,sans-serif;font-weight:normal;font-size:clamp(31px,4vw,46px);line-height:1.08}
.project-form-heading p,.project-success p{margin:0;color:#66564f;font-size:17px;line-height:1.65}
.project-form-section{margin:0;padding:26px 0;border:0;border-top:1px solid #eadfd6}
.project-form-section-first{border-top:0;padding-top:0}
.project-form-section legend{float:none;width:100%;margin:0 0 16px;padding:0;color:#2c211d;font-family:Cubano,Oswald,sans-serif;font-size:23px;font-weight:normal;line-height:1.25}
.project-form-section legend span{color:#CB1429}
.project-form-grid{display:grid;gap:16px}.project-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.project-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-field{min-width:0}.project-field label{display:block;margin:0 0 7px;color:#44342e;font-size:14px;font-weight:700}
.project-field input,.project-field select,.project-field textarea{width:100%;min-height:48px;margin:0;padding:11px 13px;border:1px solid #d9c9be;border-radius:10px;background:#fff;color:#2c211d;font:inherit;font-size:15px;box-shadow:none;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.project-field textarea{min-height:145px;resize:vertical;line-height:1.55}
.project-field input:focus,.project-field select:focus,.project-field textarea:focus{border-color:#CB1429;box-shadow:0 0 0 3px rgba(203,20,41,.10)}
.project-field input[aria-invalid="true"],.project-field select[aria-invalid="true"],.project-field textarea[aria-invalid="true"]{border-color:#B3261E;background:#fff9f8}
.project-field-error{min-height:18px;margin:5px 0 0;color:#B3261E;font-size:12px;line-height:1.35}
.project-service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.project-service-card{position:relative;margin:0;cursor:pointer}
.project-service-card input{position:absolute;opacity:0;pointer-events:none}
.project-service-card-content{display:flex;min-height:138px;height:100%;flex-direction:column;justify-content:center;gap:7px;padding:20px;border:1px solid #dccfc6;border-radius:15px;background:#fff;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.project-service-card-content strong{color:#2c211d;font-size:16px;line-height:1.3}.project-service-card-content>span{color:#74625a;font-size:14px;line-height:1.45}
.project-service-card:hover .project-service-card-content{border-color:#c9b6aa;background:#fffdf9}
.project-service-card input:focus-visible+.project-service-card-content{outline:3px solid rgba(28,191,226,.35);outline-offset:2px}
.project-service-card input:checked+.project-service-card-content{border-color:#CB1429;background:#fff0f1;box-shadow:inset 0 0 0 1px #CB1429}
.project-service-card input:checked+.project-service-card-content strong{color:#CB1429}
.project-service-cards.is-invalid .project-service-card-content{border-color:#B3261E}
.project-other-field{margin-top:14px;max-width:520px}
.project-date-row{display:grid;grid-template-columns:minmax(210px,.45fr) minmax(260px,1fr);gap:20px;align-items:end}
.project-check{min-height:48px;display:flex;align-items:center;gap:10px;margin:0;padding:9px 0;color:#44342e;font-size:14px;font-weight:600;cursor:pointer}
.project-check input{width:19px;height:19px;accent-color:#CB1429}
.project-message-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.project-message-meta>span:last-child{flex:0 0 auto;margin-top:5px;color:#8a786f;font-size:12px}
.project-privacy{margin:2px 0 18px;color:#74625a;font-size:12.5px;line-height:1.55}.project-privacy a{color:#CB1429;text-decoration:underline;text-underline-offset:2px}
.project-form-status{min-height:20px;margin:0 0 10px;color:#137333;font-size:14px;font-weight:700}.project-form-status.is-error{color:#B3261E}
.project-submit{width:100%;min-height:56px!important;background:#CB1429!important;color:#fff!important;font-size:17px!important;border-radius:12px!important}.project-submit:hover{background:#b71124!important}.project-submit:disabled{opacity:.55;cursor:wait}
.project-form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.project-success{max-width:650px;margin:0 auto;padding:58px 20px 40px;text-align:center}.project-success-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 22px;border-radius:50%;background:#E6F4EA;color:#137333;font-size:31px;font-weight:900}.project-success .cta-button{margin-top:28px;min-width:160px;background:#CB1429!important;color:#fff!important}
@media(max-width:820px){.project-form-grid-3{grid-template-columns:1fr}.project-service-cards{grid-template-columns:1fr}.project-service-card-content{min-height:0}.project-date-row{grid-template-columns:1fr}.project-form-heading{padding:0 20px}.project-form-scroll{padding:38px 28px 30px}}
@media(max-width:575px){.project-form-modal{padding:0;align-items:stretch}.project-form-panel{width:100%;max-height:100vh;border-radius:0}.project-form-scroll{max-height:100vh;padding:34px 20px 28px}.project-form-heading{padding:0 24px 0 0;text-align:left;margin-bottom:24px}.project-form-heading h2,.project-success h2{font-size:31px}.project-form-heading p,.project-success p{font-size:15px}.project-form-section{padding:22px 0}.project-form-section legend{font-size:21px}.project-form-grid-2{grid-template-columns:1fr}.project-form-close{top:10px;right:10px;background:#fff4eb}.project-success{padding:70px 8px 28px}}

/* Popup PILOT sur le front : même langage visuel que le site, pas celui du back-office. */
.pilot-site-popup{background:rgba(44,24,20,.58)!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}
.pilot-site-popup-card{border:1px solid #eadfd6!important;border-radius:20px!important;background:#fffaf4!important;color:#25211e!important;box-shadow:0 22px 65px rgba(35,18,14,.25)!important}
.pilot-site-popup-card h2{color:#CB1429!important;font-family:Cubano,Oswald,sans-serif!important;font-weight:normal!important}
.pilot-site-popup-message{color:#66564f!important}
.pilot-site-popup-close{background:#fff!important;color:#6a514a!important;box-shadow:0 3px 16px rgba(67,35,27,.08)!important}
.pilot-site-popup-cta{min-height:50px!important;border-radius:10px!important;background:#CB1429!important;color:#fff!important;font-weight:700!important}


/* =========================================================
   V43 — Ajustements popup, formulaire projet et page légale
   ========================================================= */

/* Popup front : le titre suffit, pas de surtitre de marque. */
.pilot-site-popup-card h2{margin-top:0!important}

/* Formulaire projet : modal réellement scrollable et CTA toujours accessible. */
.project-form-panel{
  display:flex;
  flex-direction:column;
  height:min(880px,calc(100dvh - 48px));
  max-height:calc(100dvh - 48px);
}
.project-form-scroll{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-bottom:46px;
}
.project-form-heading{margin-bottom:28px}
.project-form-heading h2{margin-top:0}

/* Date + option inconnue : regroupées visuellement dans une seule ligne compacte. */
.project-date-row{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:14px 18px;
}
.project-date-row>.project-field{
  flex:0 1 330px;
  width:min(100%,330px);
}
.project-date-row>.project-check{
  flex:0 1 auto;
  margin-top:27px;
  padding:0;
  min-height:48px;
  white-space:normal;
}
.project-submit{margin-bottom:4px}

/* Page Données personnelles : page légale volontairement sobre et compacte. */
.info-page[data-page="donnees-personnelles"] .info-hero{
  padding:44px 0 32px;
}
.info-page[data-page="donnees-personnelles"] .info-hero h1{
  font-size:clamp(32px,3.4vw,44px);
  margin-bottom:10px;
}
.info-page[data-page="donnees-personnelles"] .info-hero p{
  max-width:720px;
  font-size:16px;
  line-height:1.55;
}
.info-page[data-page="donnees-personnelles"] .info-section{
  padding:48px 0 64px;
}
.info-page[data-page="donnees-personnelles"] .info-section .container{
  max-width:780px!important;
}
.info-page[data-page="donnees-personnelles"] .info-section h2{
  margin:28px 0 8px;
  color:#25211e;
  font-family:'Open Sans',Arial,sans-serif;
  font-size:20px;
  font-weight:700;
  line-height:1.35;
}
.info-page[data-page="donnees-personnelles"] .info-section h2:first-child{
  margin-top:0;
}
.info-page[data-page="donnees-personnelles"] .info-section p{
  margin:0 0 12px;
  color:#59524a;
  font-size:15.5px;
  line-height:1.65;
}
.info-page[data-page="donnees-personnelles"] .info-actions{
  margin-top:30px;
}
.legal-page-content{background:#fff}
.legal-content{max-width:880px}
.legal-section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid #eee5dd;scroll-margin-top:120px}
.legal-section:last-of-type{margin-bottom:0}
.legal-section h2{margin:0 0 18px!important}
.legal-section h3{
  margin:26px 0 10px;color:#2f2925;font-family:'Open Sans',Arial,sans-serif;
  font-size:18px;font-weight:750;line-height:1.35;text-transform:none;letter-spacing:normal
}
.legal-section p{margin-bottom:12px!important}
.legal-section ul{margin:6px 0 16px;padding-left:22px;color:#59524a}
.legal-section li{margin:6px 0;font-size:15.5px;line-height:1.55}
.legal-section a{color:#CB1429;text-decoration:underline;text-underline-offset:2px}
.legal-address{margin:0 0 16px;color:#59524a;font-style:normal;font-size:15.5px;line-height:1.65}
.legal-data-section{padding-top:4px}
.legal-updated{margin:4px 0 0!important;color:#6d655e!important;font-size:14px!important}

@media(max-width:820px){
  .project-form-panel{
    height:calc(100dvh - 24px);
    max-height:calc(100dvh - 24px);
  }
  .project-date-row{display:block}
  .project-date-row>.project-field{width:100%;max-width:100%}
  .project-date-row>.project-check{margin-top:8px;min-height:42px}
}
@media(max-width:575px){
  .project-form-panel{height:100dvh;max-height:100dvh}
  .project-form-scroll{height:100%;max-height:none;padding-bottom:38px}
  .info-page[data-page="donnees-personnelles"] .info-hero{padding:36px 0 26px}
  .info-page[data-page="donnees-personnelles"] .info-section{padding:38px 0 52px}
  .info-page[data-page="donnees-personnelles"] .info-section h2{font-size:22px}
  .legal-section{padding-bottom:26px;margin-bottom:28px}
  .legal-section h3{font-size:17px}
  .legal-section li{font-size:15px}
}

/* V44 — CTA configurateur piloté par PILOT : invisible tant que la fonctionnalité est OFF. */
[data-pilot-event-configurator][hidden] {
  display: none !important;
}


/* =========================================================
   V45 — Formulaire projet : modal au-dessus du header + lieu simplifié
   ========================================================= */
/* Le template Caffino donne au header un z-index très élevé (999999).
   La modale doit donc passer au-dessus pour que TOUT le site, header compris,
   reste derrière le voile flouté. */
.project-form-modal{z-index:2147483000!important}
html.project-form-open .site-header{pointer-events:none}
.project-form-grid-location{grid-template-columns:minmax(0,520px)}

/* V57 — Espacement natif de la police Cubano sur tous les titres du front. */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.hero-title,.slider-title,.home-signature,.wm{
  letter-spacing:normal!important;
}

/* =========================================================
   V58 — Page Restaurant : expérience, preuve sociale, conversion
   ========================================================= */
.restaurant-page-v58{background:#fff;color:#302824}
.restaurant-page-v58 .restaurant-section{padding:72px 0}
.restaurant-page-v58 .restaurant-section h2{
  max-width:850px;font-size:clamp(34px,4.2vw,56px);line-height:1.08;margin:0 0 22px
}
.restaurant-page-v58 p{font-size:17px;line-height:1.68}
.restaurant-page-v58 [hidden]{display:none!important}

.restaurant-v58-hero{
  min-height:440px;height:56vh;max-height:620px;place-items:center;background:#4d2720
}
.restaurant-v58-hero::before{
  background-image:url('../images/restaurant/hero.jpg');background-position:center 54%;transform:scale(1.015)
}
.restaurant-v58-hero::after{
  background:linear-gradient(90deg,rgba(24,12,8,.72) 0%,rgba(24,12,8,.55) 48%,rgba(24,12,8,.24) 100%)
}
.restaurant-v58-hero .restaurant-hero-inner{padding:52px 0}
.restaurant-v58-hero h1{max-width:790px;font-size:clamp(46px,5.5vw,76px);line-height:1.02}
.restaurant-v58-hero p{max-width:760px;font-size:clamp(18px,1.7vw,21px);line-height:1.55}
.restaurant-v58-hero .secondary-cta{background:#fff;color:#CB1429}

.restaurant-v58-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:64px;align-items:center}
.restaurant-v58-copy p{max-width:700px;margin:0 0 17px}
.restaurant-v58-photo{margin:0;overflow:hidden;border-radius:20px;background:#eee2da}
.restaurant-v58-photo img{display:block;width:100%;height:100%;object-fit:cover}
.restaurant-v58-story-photo{height:420px}

.restaurant-v58-week{background:#f7f1eb}
.restaurant-v58-section-heading{max-width:850px;margin-bottom:30px}
.restaurant-v58-section-heading h2{margin-bottom:0!important}
.restaurant-v58-heading-center{margin:0 auto 38px;text-align:center}
.restaurant-v58-heading-center p{max-width:720px;margin:0 auto}
.restaurant-v58-feature-card{
  display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:370px;
  overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 12px 38px rgba(67,38,27,.07)
}
.restaurant-v58-feature-media{margin:0;min-height:370px;overflow:hidden}
.restaurant-v58-feature-media img{display:block;width:100%;height:100%;object-fit:cover}
.restaurant-v58-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 52px}
.restaurant-v58-label{
  display:block;margin:0 0 10px;color:#CB1429;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em
}
.restaurant-v58-feature-copy h3{margin:0 0 14px;color:#2f2521;font-size:clamp(30px,3vw,42px);line-height:1.08}
.restaurant-v58-feature-copy p{max-width:620px;margin:0 0 20px}
.restaurant-v58-text-link{width:max-content;max-width:100%;color:#CB1429!important;font-weight:800;text-decoration:none!important}
.restaurant-v58-text-link:hover,.restaurant-v58-text-link:focus{text-decoration:underline!important;text-underline-offset:4px}

.restaurant-v58-news{padding:58px 0!important;background:#fff}
.restaurant-v58-news-card{
  display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);overflow:hidden;
  border-radius:20px;background:#CB1429;color:#fff
}
.restaurant-v58-news-media{margin:0;min-height:310px}
.restaurant-v58-news-media img{display:block;width:100%;height:100%;object-fit:cover}
.restaurant-v58-news-copy{display:flex;flex-direction:column;justify-content:center;padding:40px 48px}
.restaurant-v58-news-copy .restaurant-v58-label,.restaurant-v58-news-copy h2,.restaurant-v58-news-copy p{color:#fff}
.restaurant-v58-news-copy h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:14px}
.restaurant-v58-news-copy p{max-width:680px;margin:0 0 22px}
.restaurant-v58-news-copy .cta-button{align-self:flex-start;background:#fff;color:#CB1429}

.restaurant-v58-reviews .google-reviews-section{padding:66px 0!important;background:#f7f1eb!important}
.restaurant-v58-reviews .google-reviews-label{font-family:Cubano,Oswald,sans-serif;font-size:clamp(30px,3.5vw,44px);line-height:1;color:#CB1429!important}
.restaurant-v58-reviews .google-stars{margin-top:13px}
.restaurant-v58-reviews .review-card{background:#fff}

.restaurant-v58-experience{background:#fff}
.restaurant-v58-experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.restaurant-v58-experience-grid article{

  padding:28px;border:1px solid #eadfd6;border-radius:18px;background:#fffaf6
}
.restaurant-v58-icon{display:block;margin-bottom:15px;font-size:26px;line-height:1}
.restaurant-v58-experience-grid h3{margin:0 0 11px;color:#CB1429;font-size:25px;line-height:1.15}
.restaurant-v58-experience-grid p{margin:0;font-size:15.5px;line-height:1.58}
.restaurant-v58-atmosphere{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);margin-top:28px;
  overflow:hidden;border-radius:22px;background:#241b18;color:#fff
}
.restaurant-v58-atmosphere .restaurant-v58-photo{height:410px;border-radius:0}
.restaurant-v58-thursday{display:flex;flex-direction:column;justify-content:center;padding:42px}
.restaurant-v58-thursday .restaurant-v58-label,.restaurant-v58-thursday h3,.restaurant-v58-thursday p{color:#fff}
.restaurant-v58-thursday h3{margin:0 0 14px;font-size:clamp(34px,4vw,50px);line-height:1}
.restaurant-v58-thursday p{margin:0 0 22px;font-size:16px}
.restaurant-v58-thursday .cta-button{align-self:flex-start}

.restaurant-v58-practical{background:#f7f1eb}
.restaurant-v58-practical-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.restaurant-v58-practical-grid article{padding:24px;border-radius:16px;background:#fff}
.restaurant-v58-practical-grid article>span{display:block;margin-bottom:12px;font-size:23px;line-height:1}
.restaurant-v58-practical-grid h3{margin:0 0 8px;color:#CB1429;font-size:21px;line-height:1.2}
.restaurant-v58-practical-grid p{margin:0;font-size:14.5px;line-height:1.55}
.restaurant-v58-hours{
  display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:24px 46px;
  align-items:start;margin-top:22px;padding:30px;border-radius:18px;background:#fff
}
.restaurant-v58-hours h3{margin:0 0 8px;color:#CB1429;font-size:27px;line-height:1.2}
.restaurant-v58-hours p{margin:0;font-size:15px;line-height:1.55}
.restaurant-v58-hours-preview{grid-template-columns:1fr!important;gap:0!important;padding:0!important}
.restaurant-v58-hours-preview>div{
  display:grid!important;grid-template-columns:1fr 1fr;gap:18px;padding:10px 0;border-bottom:1px solid #eee5dd
}
.restaurant-v58-hours-preview>div:last-child{border-bottom:0}
.restaurant-v58-hours-preview strong{margin:0!important}
.restaurant-v58-hours-preview span{text-align:right}
.restaurant-v58-hours .home-hours-exceptions{grid-column:1 / -1}
.restaurant-v58-hours-actions{grid-column:1 / -1;display:flex;align-items:center;gap:22px;flex-wrap:wrap}

.restaurant-v58-booking{padding:58px 0;background:#CB1429;color:#fff}
.restaurant-v58-booking-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.restaurant-v58-booking .restaurant-kicker,.restaurant-v58-booking h2,.restaurant-v58-booking p{color:#fff}
.restaurant-v58-booking h2{margin:0 0 10px;font-size:clamp(36px,4vw,54px);line-height:1.05}
.restaurant-v58-booking p{margin:0}
.restaurant-v58-booking-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.restaurant-v58-booking .cta-button{background:#FFA61D;color:#15110d}
.restaurant-v58-booking .secondary-cta{background:#fff;color:#CB1429;box-shadow:none}

.restaurant-v58-private{background:#fff}
.restaurant-v58-private-inner{
  display:flex;align-items:center;justify-content:space-between;gap:50px;padding:42px;
  border-radius:20px;background:#fff4e3
}
.restaurant-v58-private-inner>div{max-width:780px}
.restaurant-v58-private h2{margin-bottom:14px!important}
.restaurant-v58-private p{margin:0}
.restaurant-v58-private .cta-button{flex:0 0 auto}

@media(max-width:991px){
  .restaurant-v58-split{grid-template-columns:1fr;gap:32px}
  .restaurant-v58-story-photo{height:380px}
  .restaurant-v58-experience-grid{grid-template-columns:1fr 1fr}
  .restaurant-v58-experience-grid article:last-child{grid-column:1 / -1}
  .restaurant-v58-practical-grid{grid-template-columns:1fr 1fr}
  .restaurant-v58-booking-inner,.restaurant-v58-private-inner{align-items:flex-start;flex-direction:column}
  .restaurant-v58-booking-actions{justify-content:flex-start}
}

@media(max-width:767px){
  .restaurant-page-v58 .restaurant-section{padding:50px 0}
  .restaurant-page-v58 p{font-size:16px;line-height:1.62}
  .restaurant-v58-hero{height:460px;min-height:460px;max-height:none}
  .restaurant-v58-hero::before{background-position:58% center}
  .restaurant-v58-hero::after{background:rgba(24,12,8,.57)}
  .restaurant-v58-hero .restaurant-hero-inner{padding:45px 0}
  .restaurant-v58-hero h1{font-size:clamp(39px,12vw,54px)}
  .restaurant-v58-hero p{font-size:17px;line-height:1.5}
  .restaurant-v58-story-photo{height:310px}
  .restaurant-v58-feature-card,.restaurant-v58-news-card,.restaurant-v58-atmosphere{grid-template-columns:1fr}
  .restaurant-v58-feature-media{min-height:0;height:285px}
  .restaurant-v58-feature-copy,.restaurant-v58-news-copy,.restaurant-v58-thursday{padding:28px 24px}
  .restaurant-v58-news{padding:44px 0!important}
  .restaurant-v58-news-media{min-height:0;height:265px}
  .restaurant-v58-news-copy .cta-button,.restaurant-v58-thursday .cta-button{align-self:stretch;width:100%}
  .restaurant-v58-reviews .google-reviews-section{padding:50px 0!important}
  .restaurant-v58-experience-grid{grid-template-columns:1fr;gap:12px}
  .restaurant-v58-experience-grid article:last-child{grid-column:auto}
  .restaurant-v58-atmosphere .restaurant-v58-photo{height:290px}
  .restaurant-v58-practical-grid{grid-template-columns:1fr 1fr;gap:10px}
  .restaurant-v58-practical-grid article{padding:20px 17px}
  .restaurant-v58-hours{grid-template-columns:1fr;padding:24px 20px;gap:22px}
  .restaurant-v58-hours-preview>div{grid-template-columns:1fr;gap:3px}
  .restaurant-v58-hours-preview span{text-align:left}
  .restaurant-v58-hours-actions{grid-column:auto;align-items:stretch;flex-direction:column}
  .restaurant-v58-hours-actions .cta-button{width:100%}
  .restaurant-v58-booking{padding:48px 0}
  .restaurant-v58-booking-actions{width:100%;flex-direction:column}
  .restaurant-v58-booking-actions .cta-button{width:100%}
  .restaurant-v58-private-inner{padding:30px 24px;gap:26px}
  .restaurant-v58-private .cta-button{width:100%}
}

@media(max-width:430px){
  .restaurant-v58-practical-grid{grid-template-columns:1fr}
}
@media(max-width:575px){.project-form-grid-location{grid-template-columns:1fr}}

/* =========================================================
   V46 — Hotfix formulaire projet
   Le template Caffino applique un padding vertical global à toutes les balises
   <section>. La modale est elle-même une <section> : on neutralise donc ce
   padding hérité pour supprimer le grand vide au-dessus du titre.
   ========================================================= */
.project-form-panel{
  padding:0!important;
}
.project-form-scroll{
  padding-top:58px;
}
@media(max-width:575px){
  .project-form-scroll{padding-top:52px}
}


/* =========================================================
   V48 — formulaire projet : confirmation + survol CTA
   ========================================================= */
.private-page .project-submit,
.private-page .project-submit:hover,
.private-page .project-submit:focus,
.foodtruck-page .project-submit,
.foodtruck-page .project-submit:hover,
.foodtruck-page .project-submit:focus{
  background:#CB1429!important;
  color:#fff!important;
  border:0!important;
  transform:none!important;
}
.private-page .project-submit:hover,
.private-page .project-submit:focus,
.foodtruck-page .project-submit:hover,
.foodtruck-page .project-submit:focus{background:#B71124!important}

/* =========================================================
   V52 — Footer global enrichi + composants front mutualisés
   ========================================================= */
@font-face{
  font-family:"Cubano";
  src:url("../fonts/cubano/cubano.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* Composant formulaire front commun : projet + réservation. */
.project-field,.front-field{min-width:0}
.project-field label,.front-field label{display:block;margin:0 0 7px;color:#44342e;font-size:14px;font-weight:700}
.project-field input,.project-field select,.project-field textarea,
.front-field input,.front-field select,.front-field textarea{
  width:100%;min-height:48px;margin:0;padding:11px 13px;border:1px solid #d9c9be;border-radius:10px;
  background:#fff;color:#2c211d;font:inherit;font-size:15px;box-shadow:none;outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease
}
.project-field textarea,.front-field textarea{min-height:145px;resize:vertical;line-height:1.55}
.project-field input:focus,.project-field select:focus,.project-field textarea:focus,
.front-field input:focus,.front-field select:focus,.front-field textarea:focus{border-color:#CB1429;box-shadow:0 0 0 3px rgba(203,20,41,.10)}
.project-field input[aria-invalid="true"],.project-field select[aria-invalid="true"],.project-field textarea[aria-invalid="true"],
.front-field input[aria-invalid="true"],.front-field select[aria-invalid="true"],.front-field textarea[aria-invalid="true"]{border-color:#B3261E;background:#fff9f8}
.project-field-error,.front-field-error{min-height:18px;margin:5px 0 0;color:#B3261E;font-size:12px;line-height:1.35}

.site-footer-v54{
  margin:0!important;
  padding:0!important;
  background:#CB1429!important;
  color:#fff!important;
  font-family:'Open Sans',Arial,sans-serif;
}
.site-footer-v54 .site-footer-main{padding-top:38px;padding-bottom:32px}
.site-footer-v54 .site-footer-grid{
  display:grid;
  grid-template-columns:minmax(190px,1.1fr) minmax(130px,.7fr) minmax(190px,.95fr) minmax(240px,1.35fr);
  gap:34px;
  align-items:start;
}
.site-footer-v54 .site-footer-logo-link{display:inline-block;line-height:0}
.site-footer-v54 .logo-footer{display:block;width:150px;max-width:100%;height:auto;margin:0}
.site-footer-v54 .site-footer-baseline{margin:9px 0 14px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}
.site-footer-v54 h2{
  margin:2px 0 14px!important;
  color:#fff!important;
  font-family:'Open Sans',Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}
.site-footer-v54 a{color:#fff!important;text-decoration:none!important}
.site-footer-v54 .site-footer-links{display:grid;gap:8px}
.site-footer-v54 .site-footer-links a,.site-footer-v54 .site-footer-contact-link,.site-footer-v54 .site-footer-access-link{
  width:max-content;max-width:100%;font-size:14px;line-height:1.45;color:rgba(255,255,255,.9)!important
}
.site-footer-v54 .site-footer-links a:hover,.site-footer-v54 .site-footer-contact-link:hover,.site-footer-v54 .site-footer-access-link:hover{text-decoration:underline!important;text-underline-offset:3px}
.site-footer-v54 .site-footer-contact address{display:grid;gap:2px;margin:0 0 11px;color:rgba(255,255,255,.94);font-size:14px;font-style:normal;line-height:1.45}
.site-footer-v54 .site-footer-contact-link{display:block;margin-top:5px}
.site-footer-v54 .site-footer-access-link{display:inline-block;margin-top:11px;font-weight:800}
.site-footer-v54 .site-footer-social{display:flex;gap:7px;flex-wrap:wrap}
.site-footer-v54 .site-footer-social a{
  display:inline-flex;align-items:center;justify-content:center;gap:0;width:38px;height:38px;padding:0!important;
  border:1px solid rgba(255,255,255,.32)!important;border-radius:999px!important;background:transparent!important;color:#fff!important
}
.site-footer-v54 .site-footer-social a:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.65)!important}
.site-footer-v54 .site-footer-social i{font-size:17px!important;line-height:1!important;color:#fff!important}
.site-footer-v54 .site-footer-social span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-footer-v54 .site-footer-cta-list{display:grid;gap:8px}
.site-footer-v54 .site-footer-cta{
  display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 13px!important;
  border:1px solid rgba(255,255,255,.5)!important;border-radius:10px!important;background:transparent!important;
  color:#fff!important;font-size:14px;font-weight:800;text-align:center;transition:background .18s ease,color .18s ease,border-color .18s ease
}
.site-footer-v54 .site-footer-cta:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important}
.site-footer-v54 .site-footer-cta-primary{background:#fff!important;border-color:#fff!important;color:#CB1429!important}
.site-footer-v54 .site-footer-cta-primary:hover{background:#fff3f4!important;color:#a90f22!important}
.site-footer-v54 .site-footer-bottom{margin:0!important;padding:0!important;border-top:1px solid rgba(255,255,255,.18)!important;background:transparent!important}
.site-footer-v54 .site-footer-bottom-inner{
  min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px;padding-bottom:12px;
  color:rgba(255,255,255,.78);font-size:12.5px;line-height:1.45
}
.site-footer-v54 .site-footer-bottom nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.site-footer-v54 .site-footer-bottom a{color:rgba(255,255,255,.82)!important}
.site-footer-v54 a:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}

@media(max-width:991px){
  .site-footer-v54 .site-footer-grid{grid-template-columns:1.2fr .8fr 1fr;gap:28px}
  .site-footer-v54 .site-footer-actions{grid-column:1/-1}
  .site-footer-v54 .site-footer-cta-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .site-footer-v54 .site-footer-main{padding-top:30px;padding-bottom:24px}
  .site-footer-v54 .site-footer-grid{grid-template-columns:1fr 1fr;gap:26px 24px}
  .site-footer-v54 .site-footer-brand,.site-footer-v54 .site-footer-actions{grid-column:1/-1}
  .site-footer-v54 .site-footer-brand{text-align:center}
  .site-footer-v54 .site-footer-logo-link{margin:0 auto}
  .site-footer-v54 .logo-footer{margin:0 auto;width:138px}
  .site-footer-v54 .site-footer-social{justify-content:center}
  .site-footer-v54 .site-footer-actions h2{text-align:center;max-width:360px;margin-left:auto!important;margin-right:auto!important}
  .site-footer-v54 .site-footer-cta-list{grid-template-columns:1fr;max-width:430px;margin:0 auto}
  .site-footer-v54 .site-footer-bottom-inner{flex-direction:column;justify-content:center;gap:7px;text-align:center;padding-top:15px;padding-bottom:15px}
  .site-footer-v54 .site-footer-bottom nav{justify-content:center}
}
@media(max-width:480px){
  .site-footer-v54 .site-footer-grid{grid-template-columns:1fr;gap:36px}
  .site-footer-v54 .site-footer-brand,.site-footer-v54 .site-footer-actions{grid-column:auto}
  .site-footer-v54 .site-footer-section:not(.site-footer-actions){text-align:center}
  .site-footer-v54 .site-footer-links{justify-items:center}
  .site-footer-v54 .site-footer-contact address{justify-items:center}
  .site-footer-v54 .site-footer-contact-link,.site-footer-v54 .site-footer-access-link{margin-left:auto;margin-right:auto}
}

/* =========================================================
   V52 — Tunnel Réservation : design system front Cantine Latina
   ========================================================= */
body.booking-public{
  min-height:100vh;
  margin:0;
  background:#f7f1ea!important;
  color:#2c211d!important;
  font-family:'Open Sans',Arial,sans-serif!important;
}
.booking-public .booking-brandbar{
  min-height:96px!important;
  padding:14px 0!important;
  background:#CB1429!important;
}
.booking-public .booking-brandbar-inner{
  width:min(900px,calc(100% - 40px));
  min-height:68px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
}
.booking-public .booking-brand-home{display:block;line-height:0}
.booking-public .booking-brand-logo{width:128px!important;height:auto!important}
.booking-public .booking-return-site{
  width:max-content;max-width:100%;color:#fff!important;text-decoration:none;font-size:14px;font-weight:700;line-height:1.3
}
.booking-public .booking-return-site:hover{text-decoration:underline;text-underline-offset:3px}
.booking-public .booking-brandbar-spacer{display:block}
.booking-public .booking-shell{width:min(760px,calc(100% - 40px));padding:40px 0 36px}
.booking-public .booking-app,.booking-public .booking-success-screen,.booking-public .booking-paused-screen{
  background:#fff!important;border:1px solid #eadfd6!important;border-radius:22px!important;box-shadow:0 8px 28px rgba(72,44,33,.045)!important
}
.booking-public .booking-app{overflow:hidden}
.booking-public .booking-app-top{display:block;padding:28px 32px 20px;border-bottom:1px solid #f0e7df}
.booking-public .booking-app-top h1,
.booking-public .booking-step h2,
.booking-public .booking-success-screen h1,
.booking-public .booking-paused-screen h1{
  margin:0;color:#CB1429!important;font-family:Cubano,Oswald,sans-serif!important;font-weight:400!important;letter-spacing:0!important;line-height:1.08!important
}
.booking-public .booking-app-top h1{font-size:clamp(29px,4vw,38px)!important}
.booking-public .booking-step h2{font-size:clamp(27px,3.7vw,35px)!important}
.booking-public .booking-step-subtitle{margin:8px 0 25px;color:#6e5f57;font-size:15.5px;line-height:1.55}
.booking-public .booking-step-count{display:none}
.booking-public .booking-step-inner{padding:26px 32px 32px}

.booking-public .booking-progress{margin-top:22px;padding:0}
.booking-public .booking-progress-desktop{display:flex;align-items:center;gap:10px;width:100%}
.booking-public .booking-progress-step{display:flex;align-items:center;gap:8px;color:#8a7a72;font-size:12.5px;font-weight:700;white-space:nowrap}
.booking-public .booking-progress-step b{
  width:26px;height:26px;display:grid;place-items:center;border:1px solid #d9c9be;border-radius:50%;background:#fff;color:#7d6e67;font-size:12px
}
.booking-public .booking-progress-step.is-active{color:#CB1429}
.booking-public .booking-progress-step.is-active b{border-color:#CB1429;background:#fff0f1;color:#CB1429}
.booking-public .booking-progress-step.is-done{color:#554a45}
.booking-public .booking-progress-step.is-done b{border-color:#d7aeb4;background:#fff6f7;color:#CB1429}
.booking-public .booking-progress-separator{height:1px;flex:1 1 30px;background:#e7ddd5;min-width:20px}
.booking-public .booking-progress-mobile{display:none}
.booking-public .booking-progress-bar{height:4px;display:block;overflow:hidden;border-radius:999px;background:#eadfd6}
.booking-public .booking-progress-bar i{display:block;width:33.333%;height:100%;border-radius:inherit;background:#CB1429;transition:width .25s ease}

.booking-public .booking-step-one-grid{gap:16px}
.booking-public .booking-flat-field label{color:#44342e!important;font-size:14px!important;font-weight:700!important}
.booking-optional-hint{color:#8a8078;font-weight:400!important;font-size:13px!important}
.booking-public .booking-flat-field input,
.booking-public .booking-flat-field select,
.booking-public .booking-flat-field textarea,
.booking-public .booking-date-trigger{
  min-height:48px;border:1px solid #d9c9be!important;border-radius:10px!important;background:#fff!important;color:#2c211d!important;padding:11px 13px!important;font-family:'Open Sans',Arial,sans-serif!important;font-size:15px!important
}
.booking-public .booking-flat-field input:focus,
.booking-public .booking-flat-field select:focus,
.booking-public .booking-flat-field textarea:focus,
.booking-public .booking-date-trigger:focus{
  outline:none!important;border-color:#CB1429!important;box-shadow:0 0 0 3px rgba(203,20,41,.10)!important
}
.booking-public .booking-party-control{height:48px;border:1px solid #d9c9be;border-radius:10px;background:#fff}
.booking-public .booking-party-btn{min-height:46px;background:#fff!important;color:#493b35!important;border:0!important}
.booking-public .booking-party-btn:hover{background:#fff5f5!important;color:#CB1429!important}
.booking-public .booking-party-value{gap:6px;color:#2c211d}
.booking-public .booking-party-value input{
  width:34px!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;color:#2c211d!important;
  box-shadow:none!important;text-align:right!important;font-size:18px!important;font-weight:800!important;line-height:1.2!important
}
.booking-public .booking-party-value span{color:#554a45!important;font-size:15px!important}
.booking-public .booking-time-chips{gap:9px}
.booking-public .booking-time-chip{
  min-height:44px;min-width:76px;padding:10px 14px;border:1px solid #dccfc6!important;border-radius:999px!important;background:#fff!important;color:#44342e!important;font-weight:700!important;box-shadow:none!important
}
.booking-public .booking-time-chip:hover{border-color:#c9a6ab!important;color:#CB1429!important;transform:none!important}
.booking-public .booking-time-chip.is-selected{background:#fff0f1!important;border-color:#CB1429!important;color:#CB1429!important}
.booking-public .booking-empty-slots{color:#82736b}
.booking-public .booking-step-error{color:#B3261E}
.booking-public .booking-recap-strip{background:#fff8f2;border:1px solid #efe2d8;color:#5d504a}
.booking-public .booking-contact-grid{gap:16px}
.booking-public .booking-optional{font-size:12px;color:#8e7c73;font-weight:500}
.booking-public .booking-final-recap{
  grid-template-columns:1.45fr .75fr .9fr;border:1px solid #eadfd6!important;background:#eadfd6!important;border-radius:14px!important
}
.booking-public .booking-final-recap>div{background:#fffaf6!important}
.booking-public .booking-final-recap span{color:#8c7a71!important}
.booking-public .booking-final-recap strong{color:#2c211d!important}
.booking-public .booking-consent-flat{color:#675a53}
.booking-public .booking-privacy-note{margin:12px 0 0;color:#7c6d66;font-size:12.5px;line-height:1.5}
.booking-public .booking-privacy-note a{color:#CB1429;font-weight:600}
.booking-public .booking-primary-btn{
  min-height:48px;border-radius:12px!important;background:#CB1429!important;color:#fff!important;font-family:'Open Sans',Arial,sans-serif!important;font-weight:800!important;box-shadow:none!important
}
.booking-public .booking-primary-btn:hover{background:#b71124!important;transform:none!important}
.booking-public .booking-back-link{color:#6c5e57!important;font-family:'Open Sans',Arial,sans-serif!important}
.booking-public .booking-back-link:hover{color:#CB1429!important}
.booking-public .booking-last-minute{border-top:1px solid #f0e7df;color:#786a63;font-size:13px}
.booking-public .booking-last-minute a{color:#CB1429!important}

.booking-public #bookingCalendar.booking-calendar{
  border:1px solid #eadfd6!important;background:#fff!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(70,42,31,.12)!important
}
.booking-public #bookingCalendar .calendar-day{border:1px solid transparent!important;background:#fff!important;color:#44342e!important}
.booking-public #bookingCalendar .calendar-day.available{border-color:#eadfd6!important;background:#fff!important;color:#44342e!important}
.booking-public #bookingCalendar .calendar-day.available:hover{border-color:#CB1429!important;color:#CB1429!important}
.booking-public #bookingCalendar .calendar-day.selected{border-color:#CB1429!important;background:#fff0f1!important;color:#CB1429!important;box-shadow:none!important}
.booking-public #bookingCalendar .calendar-day.closed,
.booking-public #bookingCalendar .calendar-day.past,
.booking-public #bookingCalendar .calendar-day.outside-window{background:#f2efec!important;color:#b1a8a3!important;border-color:#f2efec!important}
.booking-public #bookingCalendar .calendar-day.today:not(.selected){box-shadow:inset 0 0 0 1px #d7aaaF!important;position:relative}
.booking-public #bookingCalendar .calendar-day.today:not(.selected)::after{content:'';position:absolute;left:50%;bottom:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#CB1429}
.booking-public .calendar-nav{background:#fff!important;color:#44342e!important;border:1px solid #eadfd6!important}
.booking-public .calendar-nav:hover{color:#CB1429!important;border-color:#CB1429!important}

.booking-public .booking-success-screen{padding:48px 34px;text-align:center}
.booking-public .booking-success-screen h1{font-size:clamp(30px,4.3vw,42px)!important}
.booking-public .booking-success-icon{background:#E6F4EA;color:#137333}
.booking-public .booking-success-recap{max-width:420px;margin:22px auto 8px;padding:16px 18px;border:1px solid #eadfd6;border-radius:14px;background:#fffaf6}
.booking-public .booking-success-recap strong,.booking-public .booking-success-recap span{display:block}
.booking-public .booking-success-recap strong{color:#2c211d;font-size:16px}
.booking-public .booking-success-recap span{margin-top:4px;color:#6e5f57;font-size:15px}
.booking-public .booking-success-confirm{color:#655850;line-height:1.55}
.booking-public .booking-success-return{display:inline-flex;text-decoration:none!important;padding:13px 20px}

.booking-public .booking-public-footer{padding:0 0 28px!important;color:#76685f!important;background:transparent!important}
.booking-public .booking-public-footer-inner{
  width:min(760px,calc(100% - 40px));margin:0 auto;padding:20px 0 0!important;border-top:1px solid #dfd2c8!important;
  display:grid!important;grid-template-columns:1fr auto;gap:8px 22px;align-items:center!important
}
.booking-public .booking-footer-place{grid-row:1/3;display:grid;gap:3px;color:#76685f;font-size:12.5px}
.booking-public .booking-footer-place strong{color:#44342e;font-size:13px}
.booking-public .booking-footer-mini-links,.booking-public .booking-footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;font-size:12.5px}
.booking-public .booking-public-footer a{color:#6d5f58!important;text-decoration:none!important;font-weight:600}
.booking-public .booking-public-footer a:hover{color:#CB1429!important;text-decoration:underline!important;text-underline-offset:2px}

@media(max-width:760px){
  .booking-public .booking-brandbar{min-height:84px!important;padding:11px 0!important}
  .booking-public .booking-brandbar-inner{width:calc(100% - 28px);min-height:62px;grid-template-columns:1fr auto 1fr;gap:8px}
  .booking-public .booking-brand-logo{width:104px!important}
  .booking-public .booking-return-site{font-size:12.5px}
  .booking-public .booking-shell{width:100%;padding:0}
  .booking-public .booking-app,.booking-public .booking-success-screen,.booking-public .booking-paused-screen{min-height:0!important;border-left:0!important;border-right:0!important;border-radius:0!important;box-shadow:none!important}
  .booking-public .booking-app-top{padding:24px 20px 18px}
  .booking-public .booking-step-inner{padding:24px 20px 28px}
  .booking-public .booking-progress-desktop{display:none}
  .booking-public .booking-progress-mobile{display:grid;gap:8px;color:#6f625b;font-size:12.5px;font-weight:700}
  .booking-public .booking-step-one-grid,.booking-public .booking-contact-grid{grid-template-columns:1fr!important}
  .booking-public .booking-primary-btn{width:100%;min-height:50px}
  .booking-public .booking-time-chip{min-height:46px;flex:1 1 calc(33.333% - 9px)}
  .booking-public .booking-final-recap{grid-template-columns:1fr!important}
  .booking-public .booking-success-screen{padding:46px 22px}
  .booking-public .booking-public-footer{padding:22px 0 24px!important}
  .booking-public .booking-public-footer-inner{width:calc(100% - 40px);display:flex!important;flex-direction:column;align-items:center!important;gap:9px;text-align:center}
  .booking-public .booking-footer-place{display:grid;justify-items:center}
  .booking-public .booking-footer-mini-links,.booking-public .booking-footer-legal{justify-content:center}
}
@media(max-width:430px){
  .booking-public .booking-brandbar-inner{grid-template-columns:auto 1fr}
  .booking-public .booking-brand-home{justify-self:end}
  .booking-public .booking-brandbar-spacer{display:none}
  .booking-public .booking-time-chip{flex-basis:calc(50% - 9px)}
}

/* =========================================================
   V59 — Restaurant : mega hero, spécialités et horaires accueil
   ========================================================= */
.restaurant-page-v59 .restaurant-v59-hero .ft-hero-media{object-position:center 54%}
.restaurant-page-v59 .restaurant-v59-hero .secondary-cta{background:#fff;color:#CB1429}

.restaurant-page-v59 .restaurant-v58-week{padding:48px 0}
.restaurant-page-v59 .restaurant-v58-week .restaurant-v58-section-heading{margin-bottom:20px}
.restaurant-page-v59 .restaurant-v58-feature-card{
  grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);
  min-height:260px
}
.restaurant-page-v59 .restaurant-v58-feature-media{min-height:260px;height:260px}
.restaurant-page-v59 .restaurant-v58-feature-copy{padding:28px 36px}
.restaurant-page-v59 .restaurant-v58-feature-copy h3{font-size:clamp(28px,2.7vw,38px)}
.restaurant-page-v59 .restaurant-v58-feature-copy .cta-button{align-self:flex-start}

.restaurant-v59-specialities{padding:72px 0;background:#CB1429;color:#fff}
.restaurant-v59-specialities h2{
  max-width:940px;margin:0 auto 42px;color:#fff;text-align:center;
  font-size:clamp(40px,5.5vw,72px);line-height:1.03;text-transform:uppercase
}
.restaurant-v59-dish-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}
.restaurant-v59-dish-card{min-width:0}
.restaurant-v59-dish-card img{
  display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:15px;background:#a91022
}
.restaurant-v59-dish-card h3{
  margin:18px 0 8px;color:#fff;font-size:clamp(21px,2vw,27px);line-height:1.08;text-transform:uppercase
}
.restaurant-v59-dish-card p{margin:0;color:#fff;font-size:15px;line-height:1.55;opacity:.94}
.restaurant-v59-menu-action{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:40px}
.restaurant-v59-specialities .cta-button{background:#FFA61D;color:#15110d}

.restaurant-page-v59 .restaurant-v59-hours{
  display:block;max-width:980px;margin:42px auto 0;padding:0;border-radius:0;background:transparent
}
.restaurant-page-v59 .restaurant-v59-hours>h2{
  margin:0 0 8px;color:#CB1429;font-size:clamp(32px,3.6vw,48px);line-height:1.08;text-transform:uppercase
}
.restaurant-page-v59 .restaurant-v59-hours .home-hours-status-title{
  display:block;margin:0 0 4px;color:#25211e;font-family:'Open Sans',Arial,sans-serif;
  font-size:20px;font-weight:800;line-height:1.3
}
.restaurant-page-v59 .restaurant-v59-hours .home-hours-status.is-open .home-hours-status-title{color:#28743d}
.restaurant-page-v59 .restaurant-v59-hours .home-hours-status-detail{
  margin:0;color:#403a35;font-size:17px;line-height:1.55
}
.restaurant-page-v59 .restaurant-v59-hours .home-hours-preview h3{
  margin:0 0 8px;color:#25211e;font-family:'Open Sans',Arial,sans-serif;
  font-size:17px;font-weight:800;line-height:1.4;text-transform:uppercase
}
.restaurant-page-v59 .restaurant-v59-hours .home-hours-cta{display:inline-flex;margin-top:24px}

@media(max-width:991px){
  .restaurant-v59-dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .restaurant-page-v59 .restaurant-v59-hero .ft-hero-media{object-position:58% center}
  .restaurant-page-v59 .restaurant-v58-week{padding:40px 0}
  .restaurant-page-v59 .restaurant-v58-feature-card{grid-template-columns:1fr;min-height:0}
  .restaurant-page-v59 .restaurant-v58-feature-media{height:220px;min-height:0}
  .restaurant-page-v59 .restaurant-v58-feature-copy{padding:25px 22px}
  .restaurant-page-v59 .restaurant-v58-feature-copy .cta-button{align-self:stretch;width:100%}
  .restaurant-v59-specialities{padding:52px 0}
  .restaurant-v59-specialities h2{margin-bottom:30px;font-size:clamp(34px,10vw,48px)}
  .restaurant-v59-menu-action{margin-top:32px}
  .restaurant-v59-specialities .cta-button{width:100%}
  .restaurant-page-v59 .restaurant-v59-hours{margin-top:34px}
  .restaurant-page-v59 .restaurant-v59-hours .home-hours-status-title{font-size:18px}
  .restaurant-page-v59 .restaurant-v59-hours .home-hours-status-detail{font-size:16px}
  .restaurant-page-v59 .restaurant-v59-hours .home-hours-cta{width:100%}
}
@media(max-width:560px){
  .restaurant-v59-dish-grid{grid-template-columns:1fr;gap:24px}
  .restaurant-v59-dish-card{display:block}
  .restaurant-v59-dish-card img{width:100%;height:200px;aspect-ratio:auto;margin-bottom:12px}
  .restaurant-v59-dish-card h3{margin:0 0 6px;font-size:20px}
  .restaurant-v59-dish-card p{font-size:14px;line-height:1.45}
}

/* =========================================================
   V60 — Design system partagé et harmonisation transverse
   ========================================================= */
.section-kicker,
.ft-kicker,
.home-kicker,
.restaurant-kicker,
.restaurant-eyebrow{
  display:block;margin:0 0 12px;color:#CB1429;
  font-family:'Open Sans',Arial,sans-serif;font-size:14px;font-weight:800;
  line-height:1.35;letter-spacing:1.3px;text-transform:uppercase
}
.home-thursday .section-kicker{color:#ffd9db}
.private-option-content .section-kicker{margin-bottom:16px;color:#25211e}

.restaurant-page-v59 .restaurant-v58-atmosphere{background:#fff4e3;color:#302824}
.restaurant-page-v59 .restaurant-v58-thursday .section-kicker{color:#CB1429}
.restaurant-page-v59 .restaurant-v58-thursday h3{color:#CB1429}
.restaurant-page-v59 .restaurant-v58-thursday p{color:#302824}
.restaurant-page-v59 .restaurant-v58-thursday .cta-button{background:#FFA61D;color:#15110d}

.private-page .private-final-box{background:#FFA61D;color:#211914}
.private-page .private-final-box h2,
.private-page .private-final-box p{color:#211914}
.private-page .private-final-box .cta-button{background:#211914;color:#fff}
.private-page .private-final-box .cta-button:hover,
.private-page .private-final-box .cta-button:focus{background:#CB1429;color:#fff}
.private-page .private-final-box .secondary-cta{
  background:#fff;color:#211914;box-shadow:inset 0 0 0 2px #211914
}
.private-page .private-final-box .secondary-cta:hover,
.private-page .private-final-box .secondary-cta:focus{
  background:#fff;color:#CB1429;box-shadow:inset 0 0 0 2px #CB1429!important
}

/* Le conteneur extérieur des horaires suit désormais la largeur du site. */
.home-v1 .home-hours-v22 .home-hours-shell,
.restaurant-page-v59 .restaurant-v59-hours{width:100%;max-width:none}

.restaurant-v60-menu-updated{
  margin:14px 0 0;color:#f7dedf;font-size:13px;text-align:center
}
.home-thursday [data-pilot-thursday-image],
.restaurant-v58-atmosphere [data-pilot-thursday-image]{object-fit:cover}

@media(max-width:767px){
  .section-kicker,
  .ft-kicker,
  .home-kicker,
  .restaurant-kicker,
  .restaurant-eyebrow{font-size:13px;margin-bottom:10px}
}

/* V61 — priorités finales après les anciens correctifs */
.section-kicker,.ft-kicker,.home-kicker,.restaurant-kicker,.restaurant-eyebrow,.pilot-site-popup-eyebrow{display:none!important}
.private-page .private-final-box{background:#CB1429;color:#fff}
.private-page .private-final-box h2,.private-page .private-final-box p{color:#fff}
.private-page .private-final-box .cta-button{background:#FFA61D;color:#15110d}
.private-page .private-final-box .cta-button:hover,.private-page .private-final-box .cta-button:focus{background:#fff;color:#CB1429}
.private-foodtruck-slider{position:relative;overflow:hidden}.private-foodtruck-slider-track{position:absolute;inset:0}.private-foodtruck-slider-track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}.private-foodtruck-slider-track img.is-active{opacity:1}.private-foodtruck-slider-dots{position:absolute;z-index:2;left:50%;bottom:14px;display:flex;gap:7px;transform:translateX(-50%)}.private-foodtruck-slider-dots button{width:9px;height:9px;min-height:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55)}.private-foodtruck-slider-dots button.is-active{background:#fff;transform:scale(1.15)}
.home-v1 .foodtruck-home,.home-v1 .foodtruck-home h2,.home-v1 .foodtruck-home h3,.home-v1 .foodtruck-home p,.home-v1 .foodtruck-home strong{color:#fff!important}
.home-current-news>.container>h2{margin-top:0!important;margin-bottom:34px!important;text-align:center}
.home-current-news .home-duo h3{margin:0 0 15px;color:#fff;font-size:clamp(32px,4vw,52px);line-height:1.05}
.home-current-news .home-duo p{color:#fff}
.home-v1 .home-current-news{background:#fff;color:#25211e}
.home-v1 .home-current-news h2,.home-current-news .home-duo h3{color:#CB1429}
.home-current-news .home-duo p{color:#25211e}
.home-current-news [data-pilot-news-list]{display:grid;gap:42px}
.restaurant-v58-week [data-pilot-news-list]{display:grid;gap:32px}
.restaurant-page-v59 main{display:flex;flex-direction:column}
.restaurant-page-v59 .restaurant-v59-hero{order:1}.restaurant-page-v59 .restaurant-v58-story{order:2}.restaurant-page-v59 .restaurant-v58-week{order:3}.restaurant-page-v59 .restaurant-v59-specialities{order:4}.restaurant-page-v59 .restaurant-v58-experience{order:5}.restaurant-page-v59 .restaurant-v58-news{order:6}.restaurant-page-v59 .restaurant-v58-reviews{order:7}.restaurant-page-v59 .restaurant-v58-practical{order:8}.restaurant-page-v59 .restaurant-v58-private{order:9}
.restaurant-hours-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.restaurant-hours-actions .cta-button{margin-top:0!important}
.restaurant-page-v59 .restaurant-v59-hours{width:100%;max-width:none}
.restaurant-page-v59 .restaurant-v58-private-inner{background:#CB1429;color:#fff}.restaurant-page-v59 .restaurant-v58-private-inner h2,.restaurant-page-v59 .restaurant-v58-private-inner p{color:#fff}.restaurant-page-v59 .restaurant-v58-private-inner .cta-button{background:#FFA61D;color:#15110d}
.info-page .info-hours .container{width:min(1320px,calc(100% - 48px));max-width:none}
.booking-public .booking-party-value input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}
.booking-public .booking-party-value strong{display:inline-block;min-width:24px;color:#2c211d;font-size:18px;font-weight:800;line-height:1.2;text-align:right}
@media(max-width:767px){.home-current-news>.container>h2{text-align:left;margin-bottom:24px!important}.restaurant-hours-actions{flex-direction:column}.restaurant-hours-actions .cta-button{width:100%}.info-page .info-hours .container{width:calc(100% - 36px)}}

/* V70 final — priorité sur les anciens styles Blog */
.blog-page .section-kicker{display:block!important;font-family:'Open Sans',Arial,sans-serif!important;font-size:13px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.blog-article-shell{padding:34px 0 76px}.blog-back{margin-bottom:20px}.blog-article-hero{max-width:1120px;margin:0 0 42px}.blog-article-hero h1{max-width:980px;margin:8px 0 15px;color:#CB1429;font-family:Cubano,Oswald,sans-serif;font-size:clamp(44px,5vw,60px);font-weight:400;line-height:1.04}.blog-article-hero .blog-article-intro{max-width:820px;margin:0 0 12px;font-size:20px;line-height:1.55}.blog-article-hero .blog-main-image{max-width:1120px;margin:26px 0 0}.blog-article-hero .blog-main-image img{width:100%;max-height:540px;object-fit:cover;border-radius:18px}.blog-article-layout{grid-template-columns:minmax(0,7fr) minmax(250px,3fr);gap:54px}.blog-article-body{width:100%;max-width:780px;font-family:'Open Sans',Arial,sans-serif}.blog-article-body h2,.blog-article-body h3,.blog-related h2,.blog-commercial h2{font-family:'Open Sans',Arial,sans-serif!important;font-weight:800}.blog-article-body h2{margin:40px 0 13px;color:#2a2420;font-size:clamp(28px,3vw,34px);line-height:1.22}.blog-article-body h3{margin:30px 0 10px;font-size:24px;line-height:1.3}.blog-article-body p,.blog-article-body li{font-size:18px;line-height:1.75}.blog-article-body img{display:block;width:100%;height:auto;margin:26px 0;border-radius:18px}.blog-related{padding:22px;background:#fff7e8}.blog-related h2{font-size:25px}.blog-related-item{color:#2a2420;text-decoration:none}.blog-commercial{width:100%;margin-top:46px;padding:30px}.blog-commercial h2{font-size:30px;line-height:1.2}.home-blog{padding:46px 0;background:#fff7e8}.home-blog-head{max-width:680px;margin-bottom:24px}.home-blog h2{font-size:clamp(31px,3.4vw,45px)}.home-blog-grid{gap:22px}.home-blog .blog-card-image{aspect-ratio:2.35/1}.home-blog .blog-card-copy{padding:18px 20px}.home-blog .blog-card h2{display:-webkit-box;overflow:hidden;margin-bottom:8px;font-family:'Open Sans',Arial,sans-serif;font-size:22px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-blog .blog-card p{display:-webkit-box;overflow:hidden;margin-bottom:10px;font-size:15px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-blog-more{margin-top:20px;text-align:left}.home-blog-more .cta-button{padding:0;background:none!important;color:#CB1429!important;box-shadow:none!important}
@media(max-width:800px){.blog-article-hero h1{font-size:clamp(38px,11vw,48px)}.blog-article-layout{grid-template-columns:1fr;gap:34px}.blog-related{position:static}.blog-article-body{max-width:none}.home-blog{padding:38px 0}.home-blog .blog-card-image{aspect-ratio:2/1}}

/* V71.2 Phase 2 — largeurs d'introduction pleine largeur + carte Blog Accueil identique à /blog/ */
.home-blog-head{max-width:none}
.blog-hero p{max-width:none}
.ft-gallery .ft-section-heading{max-width:none}
.home-blog .blog-card-image{aspect-ratio:16/9}
.home-blog .blog-card h2{display:block;overflow:visible;margin:0 0 12px;font-family:Cubano,Oswald,sans-serif;font-weight:400;font-size:clamp(25px,2.4vw,34px);line-height:1.12;-webkit-line-clamp:unset}
.home-blog .blog-card h2 a{color:#CB1429;text-decoration:none}
.home-blog .blog-card p{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:inherit;margin:0 0 16px}

/* V71.2 Phase 3 — pictogrammes Restaurant > Ambiance */
.restaurant-v58-experience-picto{display:block;width:46px;height:46px;margin:0 0 14px}
.restaurant-v58-experience-picto img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:767px){.restaurant-v58-experience-picto{width:38px;height:38px;margin-bottom:10px}}

/* V71.2.19 — pictogrammes des blocs pratiques (Adresse/Stationnement/Terrasse/Enfants) */
img.restaurant-v58-practical-picto{display:block;width:auto;height:64px;object-fit:contain;margin:0 0 14px}
@media(max-width:767px){img.restaurant-v58-practical-picto{height:52px;margin-bottom:10px}}

/* V71.2 Phase 3 — "En ce moment" Accueil : même composant que Restaurant (carte + grille 3 colonnes) */
.home-current-news [data-pilot-news-list]{gap:32px}
.home-current-news [data-pilot-news-list][data-news-count="2"],.home-current-news [data-pilot-news-list][data-news-count="3"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-current-news [data-pilot-news-list][data-news-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-current-news [data-news-count="2"] .restaurant-v58-feature-card,.home-current-news [data-news-count="3"] .restaurant-v58-feature-card{display:block;min-height:0}
.home-current-news [data-news-count="2"] .restaurant-v58-feature-media,.home-current-news [data-news-count="3"] .restaurant-v58-feature-media{height:190px;min-height:0}
.home-current-news [data-news-count="2"] .restaurant-v58-feature-copy,.home-current-news [data-news-count="3"] .restaurant-v58-feature-copy{padding:24px}
@media(max-width:800px){.home-current-news [data-pilot-news-list][data-news-count]{grid-template-columns:1fr}}

/* V71.2 Phase 4 — reconstruction Blog Article sur la grille Bootstrap native (row/col-lg-8/col-lg-4),
   comme le reste du site, au lieu d'une grille CSS personnalisée qui entrait en conflit avec les
   styles historiques. Bootstrap gère seul la répartition des colonnes et l'empilement mobile :
   aucune règle de grille personnalisée n'est nécessaire ici, uniquement l'habillage du contenu. */
.blog-back{display:inline-block;margin-bottom:24px;color:#CB1429;font-weight:800;text-decoration:none}
.blog-article-hero{margin:0 0 34px}
.blog-article-hero h1{margin:8px 0 15px;color:#CB1429;font-family:Cubano,Oswald,sans-serif;font-weight:400;font-size:clamp(34px,4.2vw,54px);line-height:1.06}
.blog-article-hero .blog-article-intro{margin:0 0 12px;font-size:19px;line-height:1.55}
.blog-article-hero .blog-meta{color:#766b64;font-size:14px}
.blog-article-hero .blog-main-image{margin:26px 0 0}
.blog-article-hero .blog-main-image img{display:block;width:100%;max-height:480px;object-fit:cover;border-radius:18px}
.blog-article-prose{font-family:'Open Sans',Arial,sans-serif}
.blog-article-prose h2{margin:40px 0 13px;color:#2a2420;font-size:clamp(26px,2.8vw,32px);line-height:1.22;font-family:'Open Sans',Arial,sans-serif;font-weight:800}
.blog-article-prose h3{margin:30px 0 10px;font-size:22px;line-height:1.3;font-family:'Open Sans',Arial,sans-serif;font-weight:800}
.blog-article-prose p,.blog-article-prose li{font-size:18px;line-height:1.75}
.blog-article-prose img{display:block;width:100%;height:auto;margin:26px 0;border-radius:18px}
.blog-commercial{margin-top:46px;padding:30px;border-radius:18px;background:#CB1429;color:#fff}
.blog-commercial .section-kicker,.blog-commercial h2{color:#fff;font-family:'Open Sans',Arial,sans-serif;font-weight:800}
.blog-commercial h2{margin:7px 0 12px;font-size:28px;line-height:1.2}
.blog-commercial p{font-size:17px}
.blog-commercial>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.blog-related{padding:24px;border-radius:18px;background:#fff7e8}
.blog-related h2{margin:0 0 20px;color:#CB1429;font-size:25px;line-height:1.25;font-family:'Open Sans',Arial,sans-serif;font-weight:800}
.blog-related-grid{display:flex;flex-direction:column;gap:14px}
.blog-related-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #eadfd8;border-radius:14px;background:#fff;color:#2a2420;text-decoration:none}
.blog-related-item img{flex:0 0 88px;width:88px;height:72px;object-fit:cover;border-radius:9px}
.blog-related-item div{min-width:0}
.blog-related-item strong{display:block;line-height:1.3}
.blog-related-item time{display:block;margin-bottom:4px;color:#766b64;font-size:12px}
@media(min-width:992px){.blog-related{position:sticky;top:100px}}

/* V72 §12 — espacement mobile entre le CTA de fin d'article et "À lire aussi" */
@media(max-width:800px){
  .blog-commercial{margin-bottom:28px}
}

/* V76 — badge environnement PREPROD (site public, jamais affiché en production) */
.site-env-badge{
  display:inline-flex;align-items:center;margin-left:10px;
  padding:3px 10px;border-radius:999px;
  background:#fff3cd;color:#8a6300;border:1px solid #f0d68a;
  font-size:.7rem;font-weight:800;letter-spacing:.04em;
  vertical-align:middle;
}
