.bp-desktop-booking[hidden]{display:none!important}
@media (min-width:901px){
  main.container{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .header-main{padding-top:34px!important;padding-bottom:104px!important;min-height:0!important}
  main.container>.bp-desktop-booking{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:18px 24px;grid-column:1/-1;align-items:stretch;min-width:0}
  .bp-desktop-booking>h2{grid-column:1/-1;margin:8px 0 0!important;color:#272219!important;font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.2;text-shadow:none}
  .bp-desktop-booking>#commencer-reservation{grid-column:1!important;grid-row:2!important;margin:0!important;padding:24px!important;min-width:0;min-height:284px;width:100%;box-sizing:border-box;color:#f7f7f7!important;align-self:start!important;height:auto!important;position:sticky!important;top:192px}
  .bp-desktop-booking>#reservation{grid-column:2!important;grid-row:2!important;position:relative!important;inset:auto!important;margin:0!important;width:100%!important;min-width:0;min-height:284px;max-width:none!important;height:auto!important;box-sizing:border-box;align-self:stretch}
  .bp-desktop-booking .zone-search-help,.bp-desktop-booking .zone-search-result{color:#c9d3dc}
  .bp-desktop-booking #zonesDetailsToggle{display:none!important}
  #zones.zones-cards{grid-column:1/-1!important;grid-row:auto!important;width:100%;box-sizing:border-box;gap:18px!important;padding:26px!important;scroll-margin-top:120px}
  #zones.zones-cards .zone-card{min-height:252px!important;padding:22px!important;box-sizing:border-box}
  #zones.zones-cards .zone-card-heading{max-width:calc(100% - 30px)}
  #zones.zones-cards .zone-card-name{font-size:22px!important;line-height:1.2!important}
  #zones.zones-cards .zone-communes-link{font-size:13px;max-width:240px}
  #zones.zones-cards .zones-fixed-title{margin:0 auto 8px!important}
  #bp-coverage{grid-column:1/-1!important;grid-row:auto!important;margin-top:0!important}
}
@media (min-width:901px) and (max-width:1100px){
  main.container>.bp-desktop-booking{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
  #zones.zones-cards{gap:12px!important;padding:20px!important}
  #zones.zones-cards .zone-card{padding:16px!important;min-height:252px!important}
  #zones.zones-cards .zone-card-name{font-size:18px!important}
}

/* Keep address, suggestions and action in stable grid cells. */
#commencer-reservation .zone-search-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}
#commencer-reservation #zoneSearchInput{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;min-height:48px;box-sizing:border-box}
#commencer-reservation #zoneSearchBtn{grid-column:2!important;grid-row:1!important;min-height:48px;height:auto!important;align-self:start!important;white-space:normal}
#commencer-reservation #nabInlineAddressSuggestions{grid-column:1/-1!important;grid-row:2!important;width:100%!important;box-sizing:border-box}
#bp-map-address-hint{margin:10px 0 4px;color:#d5dce3;font-size:13px;line-height:1.5}
@media(max-width:1100px){#commencer-reservation .zone-search-row{grid-template-columns:minmax(0,1fr)!important}#commencer-reservation #zoneSearchBtn{grid-column:1!important;grid-row:3!important;width:100%!important}}

/* Ivory booking surfaces, shared by desktop and mobile. */
#commencer-reservation.quick-fare-card,#reservation.form-wrap{background:linear-gradient(145deg,#fffefb,#f5efe3)!important;color:#272b30!important;border:1px solid #d9ccb0!important;box-shadow:0 12px 32px #4c3b1b12!important}
#commencer-reservation *,#reservation *{color:inherit!important;text-shadow:none!important}
#reservation h2,#reservation h3,#commencer-reservation h3{color:#24282c!important}
#reservation h2::after{color:#59616a!important}
#commencer-reservation .zone-search-help,#commencer-reservation .zone-search-result,#commencer-reservation #bp-map-address-hint,#reservation p,#reservation small,#reservation .small-muted,#reservation .booking-quote-summary__address{color:#535b64!important}
#commencer-reservation .quick-fare-kicker{background:#f3e8ca!important;color:#745713!important;border-color:#cdb878!important}
#reservation .form-security-badge,#reservation .booking-prequote__kicker,#reservation .booking-quote-summary__eyebrow,#reservation .nab-calendar-kicker{background:transparent!important;color:#1c6956!important}
#commencer-reservation input,#reservation input:not([type=checkbox]):not([type=hidden]),#reservation select,#reservation textarea{background:#fff!important;color:#272b30!important;border:1px solid #b7bec4!important;box-shadow:inset 0 1px 2px #13212b05!important;color-scheme:light}
#commencer-reservation input::placeholder,#reservation input::placeholder,#reservation textarea::placeholder{color:#68717a!important;opacity:1!important}
#commencer-reservation input:focus,#reservation input:focus,#reservation select:focus,#reservation textarea:focus{outline:2px solid #b58b2b!important;outline-offset:2px;border-color:#a37a21!important}
#reservation input:disabled,#reservation input[readonly]{background:#edeae3!important;color:#59616a!important;opacity:1!important}
#reservation input[type=checkbox]{accent-color:#93701e}
#commencer-reservation .quick-direction-custom__trigger,#commencer-reservation .quick-direction-custom__menu,#commencer-reservation .quick-direction-custom__option{background:#fff!important;color:#272b30!important;border-color:#b7bec4!important;box-shadow:none!important}
#commencer-reservation .quick-direction-custom__option:hover,#commencer-reservation .quick-direction-custom__option.is-selected{background:#f3e8ca!important}
#commencer-reservation .quick-direction-custom__arrow svg{stroke:#4b545d!important}
#commencer-reservation #zoneSearchBtn,#commencer-reservation .zone-search-result button,#reservation #nabAvailQuickBtn,#reservation #payBtn{background:linear-gradient(135deg,#f8d982,#e8b747)!important;color:#302307!important;border:1px solid #d6ac48!important;box-shadow:0 4px 12px #ac822320!important}
#commencer-reservation #bp-map-change-town{color:#775810!important}
#commencer-reservation #nabInlineAddressSuggestions{background:#fff!important;border-color:#c9b981!important;box-shadow:0 8px 20px #30230718!important}
#commencer-reservation #nabInlineAddressSuggestions button{background:#fff!important;color:#272b30!important;box-shadow:none!important;border-radius:8px!important}
#commencer-reservation #nabInlineAddressSuggestions button:hover,#commencer-reservation #nabInlineAddressSuggestions button:focus{background:#f5ecd6!important}
#commencer-reservation #nabInlineAddressSuggestions small{color:#59616a!important}
#commencer-reservation .zone-search-result--found{background:#f4ead2!important;border-color:#cdb878!important;color:#624b15!important}
#commencer-reservation .zone-search-result--error{color:#a13227!important}
#reservation .booking-prequote,#reservation .booking-quote-summary,#reservation .fare-block{background:#fffaf0!important;border:1px solid #d5c59e!important;box-shadow:none!important}
#reservation .booking-prequote strong,#reservation .booking-quote-summary strong{color:#272b30!important}
#reservation #bookingQuoteMeta,#reservation #fareBox{color:#765614!important}
#reservation .booking-quote-summary__edit,#reservation #nabAvailEdit{background:#fff!important;color:#535039!important;border:1px solid #c9b981!important;box-shadow:none!important}
#reservation #nabAvailWrap{background:#fffdf8!important;color:#272b30!important;border:1px solid #d9ccb0!important;box-shadow:none!important}
#reservation .nab-week-nav,#reservation .nab-quick-slot{background:#f3eddf!important;color:#272b30!important;border:1px solid #d5c59e!important;box-shadow:none!important}
#reservation #nabAvailTitle{color:#6d5115!important}
#reservation .nab-week-nav__hint{color:#59616a!important}
#reservation .nab-week-nav__btn{background:#fff!important;border:1px solid #c5b78f!important;color:#71541b!important;box-shadow:none!important;font-size:30px!important;line-height:1!important}
#reservation .nab-week-nav__btn:disabled{background:#eeeae1!important;color:#85877f!important;opacity:.65!important}
#reservation .nab-day-card{background:#fff!important;color:#30363b!important;border:1px solid #c6cbd0!important;box-shadow:none!important;opacity:1!important}
#reservation .nab-day-card__weekday{color:#59616a!important}
#reservation .nab-day-card__status{color:#20664d!important}
#reservation .nab-day-card.is-active,#reservation .nab-day-card[aria-pressed=true]{background:#f5e2a7!important;border:2px solid #a98124!important;color:#3e3214!important;box-shadow:0 2px 8px #80651c14!important}
#reservation .nab-day-card:disabled,#reservation .nab-day-card.is-full{background:#ecece8!important;color:#656b6f!important;border-color:#d3d4cf!important;opacity:1!important}
#reservation .nab-day-card:disabled .nab-day-card__status,#reservation .nab-day-card.is-full .nab-day-card__status{color:#6b6c66!important}
#reservation .nab-time-pill{background:#fff!important;color:#30363b!important;border:1px solid #bfc6cc!important;box-shadow:none!important}
#reservation .nab-time-pill:hover{background:#fcf1d5!important;border-color:#a98124!important}
#reservation .nab-time-pill.is-active,#reservation .nab-time-pill.is-selected,#reservation .nab-time-pill[aria-pressed=true]{background:#f5d47c!important;border-color:#a98124!important;color:#3e3214!important}
#reservation .nab-time-pill:disabled{background:#ecece8!important;color:#656b6f!important}
#reservation .nab-calendar-selection{border-color:#d9ccb0!important}
#reservation #nabAvailSelected{color:#765614!important}
#reservation .policy{background:#f4f0e7!important;border-color:#d9ccb0!important;color:#454c53!important}
#reservation #nabPayLockMsg,#reservation #promoMessage{color:#973b2c!important}
#reservation #payBtn:disabled{background:#e9dfc8!important;color:#6b6048!important;border-color:#ccbea0!important;opacity:1!important;box-shadow:none!important}
#reservation .payment-reassurance{color:#59616a!important}
#reservation button:focus-visible,#commencer-reservation button:focus-visible{outline:2px solid #8b681c!important;outline-offset:3px}

#reservation::before{background:#e7f2eb!important;color:#25624b!important;border-color:#a9c9b5!important}
#reservation #bookingForm label,#reservation #bookingForm label>span{color:#343b42!important}
#reservation #bookingForm .policy,#reservation #bookingForm .policy>span{color:#454c53!important}
#reservation #nabAvailWrap .nab-week-nav{background:#f3eddf!important;border-color:#d5c59e!important;box-shadow:none!important}
#reservation #nabAvailWrap #nabAvailTitle{color:#6d5115!important}
#reservation #nabAvailWrap button#nabAvailPrev,#reservation #nabAvailWrap button#nabAvailNext{background:#fff!important;background-image:none!important;color:#71541b!important;-webkit-text-fill-color:#71541b!important;border-color:#c5b78f!important;font-size:30px!important;box-shadow:none!important}
#reservation #nabAvailWrap button#nabAvailPrev::before,#reservation #nabAvailWrap button#nabAvailNext::before,#reservation #nabAvailWrap button#nabAvailPrev::after,#reservation #nabAvailWrap button#nabAvailNext::after{content:none!important}
#reservation #nabAvailWrap button#nabAvailPrev:disabled,#reservation #nabAvailWrap button#nabAvailNext:disabled{background:#eeeae1!important;color:#85877f!important;-webkit-text-fill-color:#85877f!important;opacity:.65!important}

/* Native mobile direction selector must remain readable on ivory. */
#commencer-reservation select#quickDirection{background:#fff!important;background-image:none!important;color:#272b30!important;-webkit-text-fill-color:#272b30!important;border:1px solid #b7bec4!important;box-shadow:none!important;color-scheme:light}
#commencer-reservation select#quickDirection option{background:#fff!important;color:#272b30!important;-webkit-text-fill-color:#272b30!important}
@media(max-width:900px){#zones:not(.show-zone-details) .zones-fixed-title{display:none!important}}

/* Mobile reading and booking order. */
@media(max-width:900px){
main.container>.bp-desktop-booking{display:block!important;min-width:0;margin:0 0 18px!important}
main.container>.bp-desktop-booking>h2{font-family:Georgia,'Times New Roman',serif;font-size:28px!important;line-height:1.15!important;color:#272b30!important;margin:4px 0 14px!important;padding:0!important;text-shadow:none!important}
.bp-desktop-booking>#commencer-reservation{padding:18px!important;margin:0 0 18px!important;position:static!important}
.bp-desktop-booking>#reservation{padding:20px 18px!important;margin:0!important}
#commencer-reservation .quick-fare-heading h3{font-size:20px!important;line-height:1.25!important}
#commencer-reservation .zone-search-help,#commencer-reservation .zone-search-result{font-size:14px!important;line-height:1.55!important}
#reservation h2{font-size:30px!important;line-height:1.15!important}
#reservation h2::after{font-size:14px!important;line-height:1.5!important}
#reservation .booking-prequote{padding:17px!important;margin-top:16px!important}
#reservation .booking-prequote strong{font-size:23px!important;line-height:1.2!important}
#reservation .booking-prequote p{font-size:14px!important;line-height:1.6!important}
#zones:not(.show-zone-details){padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
#zones #zonesDetailsToggle{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;box-sizing:border-box!important;margin:0!important;padding:16px 18px!important;min-height:56px!important;border:1px solid #d3c49f!important;border-radius:16px!important;background:#fffaf0!important;color:#4a3c1d!important;font-size:15px!important;font-weight:650!important;line-height:1.4!important;text-align:left!important;box-shadow:none!important}
#zones #zonesDetailsToggle::after{content:'+';font-size:24px;line-height:1;color:#88691f;flex:0 0 auto}
#zones #zonesDetailsToggle[aria-expanded=true]::after{content:'−'}
#zones .zones-fixed-title{margin:16px 0!important;padding:16px!important;box-shadow:none!important}
#bp-coverage{margin:18px 0 0!important}
#bp-coverage>summary{padding:16px 18px!important;font-size:15px!important;min-height:56px!important}
#bp-footer{width:calc(100% - 28px)!important;margin:24px auto 20px!important;padding:22px 20px 18px!important;border-radius:22px!important}
#bp-footer .bpf-columns{display:flex!important;flex-direction:column!important;gap:22px!important;padding:0 0 20px!important}
#bp-footer .bpf-brand{order:0!important}
#bp-footer .bpf-brand>a{display:block!important;max-width:210px!important;margin:0!important}
#bp-footer .bpf-brand img{width:100%!important;max-width:210px!important;margin:0!important}
#bp-footer .bpf-brand p{font-size:13px!important;line-height:1.65!important;margin:12px 0!important}
#bp-footer .bpf-capacity{font-size:11px!important;padding:6px 10px!important}
#bp-footer .bpf-columns>nav{order:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:4px 18px!important;margin:0!important}
#bp-footer .bpf-columns>nav h3{grid-column:1/-1;margin:0 0 6px!important;font-size:12px!important;line-height:1.4!important}
#bp-footer .bpf-columns>nav>a{display:flex!important;align-items:center!important;min-height:40px!important;margin:0!important;padding:6px 0!important;font-size:13px!important;line-height:1.4!important}
#bp-footer .bpf-contact{order:2!important;padding:16px!important;margin:0!important}
#bp-footer .bpf-contact h3{font-size:12px!important;margin:0 0 10px!important}
#bp-footer .bpf-hours{margin:0 0 14px!important}
#bp-footer .bpf-hours span{font-size:13px!important}
#bp-footer .bpf-hours strong{font-size:24px!important;line-height:1.3!important}
#bp-footer .bp-footer-phone,#bp-footer .bpf-whatsapp{min-height:46px!important;padding:11px 8px!important;font-size:13px!important}
#bp-footer .bp-footer-phone [data-phone-label]{font-size:13px!important}
#bp-footer .bpf-bottom{display:flex!important;flex-direction:column!important;gap:12px!important;padding-top:16px!important;font-size:11px!important;line-height:1.5!important}
#bp-footer .bpf-bottom nav{display:flex!important;flex-wrap:wrap!important;gap:4px 14px!important}
#bp-footer .bpf-bottom nav a{padding:5px 0!important;min-height:30px!important;font-size:11px!important}
#bpWhatsApp.bp-wa-hide-at-footer{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
}
