/* Réservation native : ivoire, vert profond et dorure Maison Florian. */
.mf-reservation-page{background:#0d1b13;color:#f2eddf}
.mf-reservation-intro{background:#eee8dc;color:#17382a;padding:56px 0 51px;border-bottom:1px solid #b89a64}
.mf-reservation-intro .crumb{display:flex;gap:12px;flex-wrap:wrap;color:#55624f;margin-bottom:30px}
.mf-reservation-intro .crumb a{color:#76572b}
.mf-reservation-intro .eyebrow{color:#76572b}
.mf-reservation-intro h1{font-size:clamp(3.5rem,5.6vw,6rem);margin:16px 0 22px;line-height:1}
.mf-reservation-intro h1 em{color:#88632f}
.mf-reservation-intro p{max-width:680px;color:#455548}
.mf-reservation-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.85fr);gap:64px;padding-top:58px;padding-bottom:76px;align-items:start}
.mf-reservation-panel{min-width:0;padding:32px;border:1px solid #556048;background:#122419;scroll-margin-top:115px}
.mf-reservation-section-title{display:flex;align-items:center;gap:17px;margin-bottom:27px}
.mf-reservation-section-title>span{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #8c764d;border-radius:50%;font-size:.75rem;color:#d2b47d}
.mf-reservation-section-title .eyebrow{font-size:.61rem;letter-spacing:.17em;margin-bottom:8px}
.mf-reservation-section-title h2{font-size:2.15rem}
.mf-reservation-date-grid,.mf-reservation-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.mf-reservation-page .field{color:#e6e4d8;font-size:.87rem;min-width:0}
.mf-reservation-page input,.mf-reservation-page select,.mf-reservation-page textarea{background:#0c1911;border-color:#62715a;color:#f5f1e7;font-size:1rem;min-width:0}
.mf-reservation-page input:focus-visible,.mf-reservation-page select:focus-visible,.mf-reservation-page textarea:focus-visible{outline-color:#d6b578;outline-offset:3px}
.mf-reservation-page input:disabled,.mf-reservation-page select:disabled,.mf-reservation-page textarea:disabled{opacity:.65}
.mf-reservation-page input::placeholder,.mf-reservation-page textarea::placeholder{color:#a2ad9d;opacity:1}
.mf-res-full{grid-column:1/-1}
.mf-res-optional{font-size:.77rem;color:#aeb8a5}
.mf-res-availability{margin-top:27px;min-height:112px}
.mf-res-status,.mf-res-notice{padding:20px;border:1px solid #536146;color:#d7dccb;background:#0c1911;line-height:1.65;font-size:.93rem}
.mf-res-notice{display:flex;gap:15px;flex-wrap:wrap;align-items:center}
.mf-res-notice p{width:100%;color:#d7dccb}
.mf-res-notice>a{color:#dcc18f;text-decoration:underline;text-underline-offset:4px;font-size:.87rem}
.mf-res-notice .text-link{background:none;border:0;padding:8px 0;font-size:.78rem;min-height:44px}
.mf-res-service-fieldset,.mf-res-times{border:0;padding:0;margin:0;min-width:0}
.mf-res-service-fieldset>legend{font-size:.87rem;margin-bottom:12px;color:#e6e4d8}
.mf-res-services{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mf-res-service{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:85px;padding:16px 18px;background:#0d1c13;border:1px solid #62715a;color:#efeadd;text-align:left;transition:background .2s,border-color .2s}
.mf-res-service:hover{background:#203524;border-color:#bd9b5f}
.mf-res-service.is-active{border-color:#d2b273;background:#253923;box-shadow:inset 0 0 0 1px #d2b273}
.mf-res-service strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.55rem}
.mf-res-service-status{font-size:.75rem;color:#b9c4ae;line-height:1.45}
.mf-res-service-status.available{color:#ddd0a9}
.mf-res-service-status.full,.mf-res-service-status.closed{color:#d2bba8}
.mf-res-service-message{font-size:.84rem;line-height:1.6;color:#c4cdbb;margin:17px 0 14px;min-height:26px}
.mf-res-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.mf-res-time{position:relative;cursor:pointer;min-width:0}
.mf-res-time input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;overflow:hidden}
.mf-res-time>span{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:47px;padding:10px 4px;border:1px solid #6a765e;color:#ece8d9;font-size:.87rem;line-height:1.3;background:#0e1c13;transition:background .2s,color .2s}
.mf-res-time input:checked+span{border-color:#d2b273;background:#c8a564;color:#102319;font-weight:500}
.mf-res-time input:focus-visible+span{outline:2px solid #e6c689;outline-offset:3px}
.mf-res-time:not(.is-unavailable):hover>span{border-color:#c8a564}
.mf-res-time.is-unavailable{cursor:not-allowed}
.mf-res-time.is-unavailable>span{color:#acb4a2;border-color:#46553e;background:#132218}
.mf-res-time small{display:block;font-size:.57rem;margin-top:4px;color:#aeb5a5}
.mf-res-selection{margin-top:22px;padding:15px 0;border-top:1px solid #40543a;border-bottom:1px solid #40543a;font-size:.86rem;line-height:1.65;color:#d9c08d;min-height:57px}
.mf-reservation-contact-heading{margin-top:36px}
.mf-res-privacy{font-size:.76rem;color:#b3beaa;line-height:1.65;margin-top:20px}
.mf-res-privacy a{color:#dcc18f;text-decoration:underline;text-underline-offset:3px}
.mf-res-submit-status{font-size:.88rem;line-height:1.65;color:#f1cdb1;margin-top:20px}
.mf-res-submit-status:empty{display:none}
.mf-res-submit-status a{color:#f2d299;text-decoration:underline;text-underline-offset:4px}
.mf-res-submit{width:100%;margin-top:23px;min-height:54px;font-size:.75rem}
.mf-res-submit:disabled{opacity:.6}
.mf-res-submit-note{text-align:center;font-size:.73rem;color:#acb6a1;margin-top:12px;line-height:1.5}
.mf-reservation-aside{padding-top:10px;min-width:0}
.mf-reservation-aside>.eyebrow{font-size:.64rem;letter-spacing:.17em}
.mf-reservation-aside h2{font-size:clamp(2.7rem,3.6vw,3.75rem);margin:16px 0 30px}
.mf-res-aside-block{padding:22px 0;border-top:1px solid #40513a}
.mf-res-aside-block h3{font-size:1.55rem;margin-bottom:10px}
.mf-res-aside-block p{font-size:.91rem;color:#b5c1ac;margin-bottom:11px}
.mf-res-aside-block>a:not(.text-link){font-size:1.08rem;color:#dac089}
.mf-res-aside-block .text-link,.mf-res-card-link{font-size:.72rem;letter-spacing:.08em;gap:16px;min-height:44px}
.mf-res-card-link{margin-top:13px}
.mf-res-confirmation{text-align:center;padding:16px 4px 20px;outline:none}
.mf-res-confirm-mark{display:grid;place-items:center;width:66px;height:66px;border:1px solid #c8a564;border-radius:50%;font-size:1.9rem;color:#d8b97e;margin:0 auto 27px}
.mf-res-confirmation>.eyebrow{font-size:.63rem;letter-spacing:.18em}
.mf-res-confirmation h2{font-size:clamp(2.75rem,4vw,4rem);margin:19px 0 25px}
.mf-res-confirmation p{font-size:.96rem;color:#cad1be}
.mf-res-confirm-details{margin:28px 0;padding:14px 0;border-top:1px solid #536347;border-bottom:1px solid #536347;text-align:left}
.mf-res-confirm-details>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font-size:.9rem;line-height:1.5}
.mf-res-confirm-details dt{color:#adbaa1}
.mf-res-confirm-details dd{margin:0;text-align:right;color:#e7e4d4}
.mf-res-confirm-contact{margin:20px 0 28px}
.mf-res-confirm-contact a{color:#dcc18f;text-decoration:underline;text-underline-offset:4px}
.mf-res-confirmation .button{font-size:.72rem;gap:17px}
.mf-res-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}
@media(max-width:1100px){.mf-reservation-layout{gap:32px;grid-template-columns:minmax(0,1.6fr) minmax(210px,.85fr)}.mf-reservation-panel{padding:25px}.mf-res-times{grid-template-columns:repeat(3,minmax(0,1fr))}.mf-res-service{padding:14px}.mf-reservation-section-title h2{font-size:1.95rem}}
@media(max-width:850px){.mf-reservation-layout{grid-template-columns:1fr;gap:38px}.mf-reservation-aside{display:grid;grid-template-columns:1fr 1fr;column-gap:26px}.mf-reservation-aside>.eyebrow,.mf-reservation-aside>h2,.mf-res-card-link{grid-column:1/-1}.mf-reservation-aside h2{font-size:3rem}.mf-res-times{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.mf-reservation-intro{padding:34px 0 37px}.mf-reservation-intro h1{font-size:3.35rem}.mf-reservation-intro .crumb{font-size:.68rem;margin-bottom:26px;gap:8px}.mf-reservation-intro>.container>.eyebrow{font-size:.59rem;letter-spacing:.18em}.mf-reservation-intro p{font-size:.95rem}.mf-reservation-layout{padding-top:28px;padding-bottom:48px}.mf-reservation-panel{padding:23px 18px}.mf-reservation-section-title{gap:13px;margin-bottom:22px}.mf-reservation-section-title>span{width:34px;height:34px}.mf-reservation-section-title h2{font-size:1.95rem}.mf-reservation-section-title .eyebrow{font-size:.55rem}.mf-reservation-date-grid,.mf-reservation-contact-grid{grid-template-columns:1fr;gap:17px}.mf-res-full{grid-column:auto}.mf-res-services{gap:10px}.mf-res-service{padding:13px 11px;min-height:91px}.mf-res-service strong{font-size:1.5rem}.mf-res-service-status{font-size:.7rem}.mf-res-times{grid-template-columns:repeat(3,minmax(0,1fr))}.mf-res-time>span{font-size:.83rem;min-height:48px}.mf-res-selection{font-size:.79rem}.mf-reservation-aside{display:block}.mf-reservation-aside h2{font-size:3.15rem;margin-bottom:24px}.mf-res-submit{letter-spacing:.12em;gap:15px}.mf-res-confirm-details>div{gap:12px;font-size:.85rem}.mf-res-confirmation{padding-top:9px}.mf-res-confirmation h2{font-size:3rem}.mf-res-confirmation p{font-size:.9rem}.mf-res-confirmation .button{padding-left:13px;padding-right:13px;font-size:.67rem;letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.mf-res-service,.mf-res-time>span{transition:none}}
