/* Site-vitrine editorial des entreprises : identite propre, aucun concurrent. */
.entry-page--site{background:#f9faf6;padding-top:clamp(20px,3.5vw,47px)}
.entry-page--site .breadcrumb{margin-bottom:clamp(20px,2.6vw,36px)}
.entry-page--site .entry-heading{
  position:relative;isolation:isolate;overflow:hidden;max-width:none;
  padding:clamp(28px,5.3vw,72px) clamp(24px,5.7vw,80px);
  margin:0;border:1px solid #cbd6c8;
  border-radius:3px 74px 3px 3px;
  background:linear-gradient(126deg,#f0f3e9 0%,#f7f7f0 59%,#edf2e8 100%);
}
.entry-page--site .entry-heading::after{
  content:"";position:absolute;z-index:-1;right:-96px;bottom:-180px;
  width:440px;height:440px;max-width:55%;
  border:1px solid rgba(52,96,65,.11);border-radius:50%;
  box-shadow:0 0 0 42px rgba(70,114,76,.028),0 0 0 95px rgba(70,114,76,.023);
  pointer-events:none;
}
.entry-page--site .entry-site-eyebrow{
  display:block;margin:0 0 22px;
  color:#5c7765;font:700 10px/1.5 var(--sans);
  text-transform:uppercase;letter-spacing:.16em;
}
.entry-page--site .entry-meta{margin-bottom:16px;color:#745d47}
.entry-page--site h1{
  font-size:clamp(38px,6.3vw,79px);line-height:1.08;max-width:1000px;
  margin:0 0 clamp(21px,2.5vw,34px);letter-spacing:-.047em;
}
.entry-page--site .entry-deck{
  max-width:770px;padding-left:19px;color:#385945;
  font:400 clamp(17px,1.9vw,23px)/1.65 var(--sans);
}
.entry-page--site .entry-actions{
  margin:0;padding:clamp(18px,2.8vw,29px) clamp(3px,1.4vw,20px) clamp(15px,2vw,22px);
  gap:10px;
}
.entry-page--site .entry-actions .entry-action{
  min-height:48px;border-radius:3px;padding-inline:clamp(14px,2vw,22px)
}
.entry-page--site .entry-site-nav{
  display:flex;align-items:center;flex-wrap:wrap;gap:3px clamp(12px,2.5vw,32px);
  padding:14px 6px 16px;border-top:1px solid #d7e1d5;border-bottom:1px solid #d7e1d5;
  margin-bottom:clamp(32px,5vw,67px);
}
.entry-site-nav-label{
  font:700 10px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:#7d8e80;margin-right:auto;
}
.entry-page--site .entry-site-nav a{
  color:#285440;text-decoration:none;font:650 13px/1.35 var(--sans);
  padding:7px 0;white-space:nowrap;position:relative;
}
.entry-page--site .entry-site-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.entry-page--site .entry-site-nav a:focus-visible{outline:2px solid #387e50;outline-offset:3px}
.entry-page--site [id]{scroll-margin-top:100px}
.entry-page--site .entry-photo-intro{margin:0 0 20px}
.entry-site-section-title{
  font:400 clamp(30px,3.6vw,44px)/1.2 var(--serif);
  letter-spacing:-.035em;color:#1f4432;margin:9px 0 0;
}
.entry-page--site .entry-photographs-editorial{max-width:none;gap:14px;margin-bottom:clamp(40px,5vw,68px)}
.entry-page--site .entry-photographs-editorial figure:first-child img{
  border-top-right-radius:56px;object-fit:contain;background:#e8ede5;
}
.entry-page--site .entry-columns{
  grid-template-columns:minmax(0,1.6fr) minmax(270px,350px);
  gap:clamp(28px,5vw,80px);padding:0 clamp(3px,1.4vw,20px);
}
.entry-page--site .entry-divider{margin-bottom:26px}
.entry-site-section-kicker{
  margin:0 0 21px;color:#906950;text-transform:uppercase;
  font:750 10px/1.5 var(--sans);letter-spacing:.14em;
}
.entry-page--site .entry-editorial-section{margin-bottom:clamp(30px,4vw,52px)}
.entry-page--site .entry-editorial-section h2{font-size:clamp(28px,3.1vw,42px);margin-bottom:20px}
.entry-page--site .entry-editorial-section p{font-size:clamp(15px,1.3vw,18px);line-height:1.85;color:#445c4d}
.entry-page--site .entry-editorial-section.entry-specialties{
  padding:27px clamp(18px,3vw,34px);border:1px solid #d9e0d5;
  border-left:3px solid #789481;background:#f0f3ec;
}
.entry-page--site .entry-specialties h2{font-size:clamp(25px,2.9vw,36px)}
.entry-page--site .entry-facts{
  background:#eaf0e6;border:1px solid #d0dccf;border-top:3px solid #447459;
  border-radius:3px 35px 3px 3px;padding:clamp(23px,2.8vw,36px);
}
.entry-site-contact-kicker{display:block;margin:0 0 14px;font:750 10px/1.5 var(--sans);color:#657c6b;letter-spacing:.12em;text-transform:uppercase}
.entry-page--site .entry-facts h2{font-size:clamp(26px,2.7vw,35px);margin-bottom:22px}
.entry-page--site .entry-facts dl div{padding:14px 0}
.entry-page--site .entry-facts dd{font-size:15px}
.entry-page--site .entry-facts a{text-decoration:underline;text-underline-offset:3px}
.entry-site-finale{
  display:flex;justify-content:space-between;align-items:end;gap:28px;
  margin:clamp(38px,5.5vw,75px) 0 0;
  padding:clamp(26px,4.5vw,50px);
  background:#244a36;color:#edf5ea;border-radius:3px 48px 3px 3px;
}
.entry-site-finale div{max-width:780px}
.entry-site-finale span{font:700 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#c3d5c3}
.entry-site-finale h2{
  color:#fff;font:400 clamp(28px,3.8vw,49px)/1.1 var(--serif);
  letter-spacing:-.035em;margin:12px 0 14px;overflow-wrap:anywhere;
}
.entry-site-finale p{color:#d7e4d7;font-size:14px;line-height:1.7;margin:0}
.entry-site-finale a{
  display:inline-flex;align-items:center;gap:12px;flex:none;
  color:#f9fff4;border:1px solid #88aa90;padding:11px 16px;
  text-decoration:none;font-size:13px;line-height:1.4;
}
.entry-site-finale a:hover,.entry-site-finale a:focus-visible{background:#395f47;color:white}
.entry-page--site .entry-service-footer{margin:30px 0 0;padding:24px clamp(3px,1.4vw,20px) 0}
@media(max-width:760px){
  .entry-page--site .entry-heading{padding:31px 25px 36px;border-top-right-radius:45px}
  .entry-page--site .entry-heading::after{right:-160px;bottom:-155px;width:350px;height:350px}
  .entry-page--site h1{font-size:clamp(38px,8.8vw,60px)}
  .entry-page--site .entry-deck{font-size:17px;line-height:1.7;padding-left:15px}
  .entry-page--site .entry-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:0;margin:0}
  .entry-page--site .entry-actions .entry-action{min-height:45px;font-size:13px;padding:10px 13px}
  .entry-page--site .entry-site-nav{flex-wrap:wrap;gap:7px 18px;overflow-x:visible;margin-bottom:36px}
  .entry-page--site .entry-site-nav-label{flex:0 0 100%;margin-bottom:4px}
  .entry-site-nav-label{flex:none}
  .entry-page--site .entry-columns{display:flex;flex-direction:column;gap:26px;padding:0}
  .entry-page--site .entry-content{order:0}
  .entry-page--site .entry-facts{order:1;width:100%;border-top-right-radius:25px}
  .entry-page--site .entry-editorial-section h2{font-size:30px}
  .entry-page--site .entry-photographs-editorial figure:first-child img{border-top-right-radius:36px}
  .entry-site-finale{flex-direction:column;align-items:flex-start;border-top-right-radius:30px;padding:29px 25px;gap:23px}
}
@media(max-width:420px){
  .entry-page--site .entry-heading{padding:26px 20px 31px}
  .entry-page--site h1{font-size:clamp(35px,9vw,43px)}
  .entry-page--site .entry-actions{gap:8px}
  .entry-page--site .entry-site-nav{gap:17px}
  .entry-page--site .entry-site-nav a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .entry-page--site *{scroll-behavior:auto}
}

.entry-owner-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;background:#e5f0e5;border:1px solid #c2d7c5;border-left:4px solid #376e4b;border-radius:2px;padding:12px 16px;margin:6px 0 24px}
.entry-owner-nav a{background:#295940;color:#fff!important;text-decoration:none;padding:11px 15px;font:700 13px/1.4 var(--sans);border-radius:2px;min-height:42px}
.entry-owner-nav a:hover,.entry-owner-nav a:focus-visible{background:#1b3f2d;color:#fff}
.entry-owner-nav span{font:400 12px/1.5 var(--sans);color:#42604d}
@media(max-width:540px){.entry-owner-nav a{width:100%;text-align:center}.entry-owner-nav span{font-size:11px}}

.manage-preview-banner{background:#173d2d;color:#fff;border:2px solid #ad925c;margin:12px 0 24px;padding:clamp(16px,3vw,25px);border-radius:4px}
.manage-preview-banner strong{display:block;font:800 11px/1.5 var(--sans);letter-spacing:.13em;color:#e9d7aa}
.manage-preview-banner p{font:400 13px/1.55 var(--sans);color:#d8e9df;max-width:800px}
.manage-preview-banner .manage-preview-error{background:#fff0e3;color:#803c2a;padding:10px}
.manage-preview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.manage-preview-actions a,.manage-preview-actions button{display:inline-block;border:1px solid #b7d2bb;padding:12px 16px;text-decoration:none;color:white;background:transparent;font:700 13px/1.3 var(--sans);cursor:pointer}
.manage-preview-actions button{background:#f8f7ef;color:#215039}
.manage-preview-actions button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:630px){.manage-preview-actions{display:grid}.manage-preview-actions form,.manage-preview-actions button{width:100%}}

/* Une couverture à forte présence, galerie secondaire compacte et visionneuse accessible. */
.entry-page--site .entry-photographs-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.entry-page--site .entry-photographs-editorial figure:first-child{grid-column:1/-1}
.entry-page--site .entry-photographs-editorial figure{min-width:0}
.entry-page--site .entry-photographs-editorial img{max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.entry-page--site .entry-photographs-editorial figure:first-child img{width:100%;max-height:660px;aspect-ratio:16/8;object-fit:cover}
.entry-gallery-open{display:block;position:relative;overflow:hidden;text-decoration:none}
.entry-gallery-open:hover img{filter:brightness(.92)}
.entry-gallery-open:focus-visible{outline:3px solid #bb8d4c;outline-offset:4px}
.entry-gallery-zoom{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(25,56,40,.88);color:#fff;font:700 11px/1.3 var(--sans);padding:9px 11px}
.entry-gallery-dialog{border:0;border-radius:4px;background:#142c20;color:#fff;padding:clamp(16px,2.8vw,30px);max-width:min(1100px,calc(100% - 20px));width:100%;max-height:calc(100dvh - 20px)}
.entry-gallery-dialog::backdrop{background:rgba(6,19,12,.90)}
.entry-gallery-dialog-head,.entry-gallery-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.entry-gallery-dialog-head{margin:0 0 14px}
.entry-gallery-dialog-head strong{font-size:13px}
.entry-gallery-dialog button{border:1px solid #74937b;background:transparent;color:#fff;padding:9px 12px;font:650 12px var(--sans);cursor:pointer;min-height:42px}
.entry-gallery-dialog button:hover,.entry-gallery-dialog button:focus-visible{background:#355b44}
.entry-gallery-dialog img{display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain}
.entry-gallery-dialog-bottom{margin-top:14px;font-size:12px}
@media(max-width:760px){
 .entry-page--site .entry-photographs-editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .entry-page--site .entry-photographs-editorial figure:first-child{grid-column:1/-1}
 .entry-page--site .entry-photographs-editorial figure:first-child img{aspect-ratio:4/3;max-height:480px}
 .entry-page--site .entry-photographs-editorial figure:not(:first-child) img{aspect-ratio:1/1}
 .entry-gallery-zoom{font-size:10px;padding:6px 8px;bottom:7px;right:7px}
}
@media(max-width:420px){.entry-gallery-dialog{padding:12px}.entry-gallery-dialog-bottom{gap:6px}.entry-gallery-dialog button{font-size:11px;padding:9px 7px}}

/* Restaurants: same premium typographic system, explicit dates, no expired menu. */
.restaurant-menu-showcase{padding:clamp(25px,4vw,48px);background:#f3f1e9;border:1px solid #e3dccf;margin:clamp(23px,4vw,44px) 0;border-radius:3px 40px 3px 3px}
.restaurant-menu-showcase>h2{font:400 clamp(30px,4.5vw,53px)/1.1 var(--serif,Georgia,serif);margin:7px 0 27px;color:#254533}
.restaurant-menu-week{background:#fffdf9;border:1px solid #e4dfd1;padding:clamp(17px,3vw,30px)}
.restaurant-menu-week-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-bottom:1px solid #e5dfd1;padding-bottom:18px;margin-bottom:16px}
.restaurant-menu-week-head span{font:750 11px var(--sans,system-ui);letter-spacing:.11em;text-transform:uppercase;color:#776342}
.restaurant-menu-week-head p{margin:6px 0 0;font-size:13px;color:#6d776b}
.restaurant-menu-price{font:400 clamp(21px,3vw,30px) var(--serif,Georgia,serif);color:#315f42;white-space:nowrap}
.restaurant-menu-price small{font:500 12px var(--sans,system-ui)}
.restaurant-menu-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.restaurant-menu-days article{background:#f7f8f4;border-left:3px solid #85a48b;padding:17px 19px}
.restaurant-menu-days h3{font:400 25px var(--serif,Georgia,serif);margin:0 0 9px;color:#254533}
.restaurant-menu-days p{font-size:14px;line-height:1.7;margin:5px 0;white-space:pre-line}
.restaurant-permanent-card{margin-top:23px;background:#fffdf9;border:1px solid #e4dfd1;padding:clamp(20px,3vw,34px)}
.restaurant-permanent-card h3{font:400 32px var(--serif,Georgia,serif);color:#254533;margin:0 0 15px}
.restaurant-card-text{columns:2;column-gap:35px;font-size:15px;line-height:1.85;white-space:normal;overflow-wrap:anywhere}
.restaurant-card-text p{break-inside:avoid;margin:0 0 16px}
.restaurant-menu-disclaimer{font-size:11px;color:#717971;line-height:1.6;margin:16px 0 0}
@media(max-width:650px){.restaurant-menu-days{grid-template-columns:1fr}.restaurant-card-text{columns:1}.restaurant-menu-showcase{padding:19px;border-top-right-radius:28px}.restaurant-menu-days h3{font-size:23px}}
