/* Les pages de visite et de retrait partagent la matière et les couleurs du site. */
.visit-section{padding-block:36px 64px}
.visit-grid{max-width:1120px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:'intro intro' 'photo hours' 'contact hours';gap:28px 48px;align-items:start}
.visit-intro{grid-area:intro;max-width:760px;margin-bottom:6px}
.visit-intro h1{font-size:clamp(38px,4.6vw,62px);max-width:20ch}
.visit-intro .page-lead{max-width:60ch;margin-top:16px}
.visit-photo{grid-area:photo;margin:0;border-radius:12px;overflow:hidden;background:#e7e5dc}
.visit-photo img{width:100%;max-height:480px;object-fit:cover;object-position:center 50%}
.visit-photo figcaption{padding:20px 24px;background:var(--soft)}
.visit-photo figcaption p{font-size:15px;line-height:1.6}
.visit-photo figcaption .text-link{margin-top:8px}
.visit-hours{grid-area:hours;min-width:0}
.visit-hours .opening-hours-card{padding:28px 32px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:none}
.visit-hours h2{font-size:32px;color:var(--red);margin-bottom:20px}
.visit-hours .opening-hours-table{font-size:15px;line-height:1.8}
.visit-hours .opening-hours-table th,.visit-hours .opening-hours-table td{padding-block:12px;border-color:var(--line)}
.visit-hours .opening-hours-table th{width:35%;font-weight:500}
.visit-hours .opening-hours-closed{color:var(--muted)}
.visit-hours .opening-hours-note{font-size:13px!important;margin-top:20px}
.visit-hours .opening-hours-note a{text-decoration:underline;text-underline-offset:3px}
.visit-contact{grid-area:contact;padding:2px 0}
.visit-contact h2{font-size:25px;margin-bottom:10px}
.visit-contact .text-link{display:flex;width:fit-content;font-size:14px;overflow-wrap:anywhere}
.page-poulet-du-dimanche .reservation-grid{max-width:1120px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:'intro form' 'photo form';column-gap:48px;row-gap:24px}
.page-poulet-du-dimanche .reservation-intro .intro-icon{display:none}
.page-poulet-du-dimanche .reservation-intro h1{font-size:clamp(38px,4.8vw,58px);max-width:15ch}
.page-poulet-du-dimanche .reservation-intro .page-lead{font-size:16px;margin-top:16px}
.page-poulet-du-dimanche .reservation-picture{padding:0;max-width:420px;background:none;border:0;box-shadow:none;border-radius:12px;overflow:hidden}
.page-poulet-du-dimanche .reservation-picture img{max-height:310px;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.page-poulet-du-dimanche .reservation-panel .booking-form{padding:26px 28px;border-radius:12px}
.page-poulet-du-dimanche .booking-form h2{font-size:30px}
.page-poulet-du-dimanche .booking-availability:has(.available-dates:empty){margin-bottom:0}
.page-poulet-du-dimanche .available-dates:empty{display:none}
.page-poulet-du-dimanche .booking-availability .slot-fallback{display:flex;width:fit-content;gap:8px;padding:12px 18px;border-radius:999px;background:var(--red);color:white;text-decoration:none;font-size:14px;line-height:1.5}
.page-poulet-du-dimanche .booking-availability .slot-fallback::before{content:'';width:18px;height:18px;flex:none;background:url('assets/icons/phone.svg') center/contain no-repeat;filter:brightness(0) invert(1)}
.page-poulet-du-dimanche .booking-form legend{font-size:21px}
.page-poulet-du-dimanche .booking-confirmation{font-size:13px}
@media(max-width:980px){.visit-grid,.page-poulet-du-dimanche .reservation-grid{column-gap:28px}.visit-hours .opening-hours-card{padding:24px}.visit-hours .opening-hours-table{font-size:14px}}
@media(max-width:760px){
 .visit-section{padding-block:24px 42px}
 .visit-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'hours' 'photo' 'contact';gap:22px}
 .visit-intro h1{font-size:38px}.visit-intro .page-lead{font-size:15px}
 .visit-hours .opening-hours-card{padding:22px 20px}.visit-hours h2{font-size:28px;margin-bottom:12px}
 .visit-hours .opening-hours-table th,.visit-hours .opening-hours-table td{padding-block:9px}
 .visit-photo{max-width:500px;justify-self:center;width:100%}.visit-photo img{max-height:370px}.visit-photo figcaption{padding:18px 20px}
 .page-poulet-du-dimanche .reservation-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'form' 'photo';gap:22px}
 .page-poulet-du-dimanche .reservation-intro h1{font-size:38px}.page-poulet-du-dimanche .reservation-intro .form-shortcut{margin-top:8px}
 .page-poulet-du-dimanche .reservation-panel .booking-form{padding:22px 20px}
 .page-poulet-du-dimanche .reservation-picture{max-width:420px;justify-self:center;width:100%}.page-poulet-du-dimanche .reservation-picture img{max-height:240px}
}
@media(max-width:360px){.visit-hours .opening-hours-card{padding-inline:16px}.visit-hours .opening-hours-table{font-size:13px}.page-poulet-du-dimanche .reservation-panel .booking-form{padding-inline:16px}.page-poulet-du-dimanche .booking-availability .slot-fallback{padding-inline:14px;font-size:13px}}
@media(forced-colors:active){.visit-hours .opening-hours-card,.visit-photo,.visit-photo figcaption{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.page-poulet-du-dimanche .booking-availability .slot-fallback{background:ButtonFace;color:ButtonText;border:1px solid ButtonText}}
@media print{.visit-grid{display:block}.visit-photo{max-width:280px;margin-block:20px}.visit-hours .opening-hours-card{box-shadow:none;border-color:#888}.visit-contact{margin-top:20px}}
