/* Keep the original buttons and native form submission in their own form. */
body.reservation-navigation-active{padding-bottom:var(--reservation-navigation-height,140px)}
html{scroll-padding-bottom:var(--reservation-navigation-height,140px)}
.reservation-reference .step-panel .actions.reservation-navigation{position:fixed;bottom:0;left:0;right:0;z-index:900;margin:0;padding:12px max(20px,calc((100vw - 960px)/2)) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ded6c8;box-shadow:0 -3px 16px #332a2010;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.reservation-reference .reservation-navigation .primary{margin-left:auto}
.reservation-reference .reservation-navigation button{min-height:48px;max-width:100%;white-space:normal;line-height:1.4}
.reservation-reference .navigation-hint{flex:0 0 100%;margin:0;color:#65523c;font-size:14px;line-height:1.5;text-align:right}
.reservation-reference .navigation-hint[hidden]{display:none}
body.reservation-navigation-obscured .actions.reservation-navigation{visibility:hidden;pointer-events:none}
@media(max-width:600px){.reservation-reference .step-panel .actions.reservation-navigation{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:6px 10px}.reservation-reference .reservation-navigation button{font-size:15px;padding:12px 16px}.reservation-reference .reservation-navigation .primary{flex:1}.reservation-reference .reservation-navigation .secondary{max-width:34%}.reservation-reference .navigation-hint{text-align:left;font-size:13px}}
/* White, centered frames for all official payment artwork. */
.reservation-reference [data-payment-brands] .payment-brand-list{align-items:center;gap:12px}
.reservation-reference [data-payment-brands] .payment-brand,
.reservation-reference #payment-choice [data-payment-brands] .payment-brand{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ded6c8;border-radius:8px;padding:8px;min-width:80px;height:66px;box-sizing:border-box}
.reservation-reference [data-payment-brands] .payment-brand img{display:block;object-fit:contain;margin:0;flex-shrink:0}
/* Store payment badges: compact, with the same frame for both options. */
.reservation-reference .store.rsd-store-card .store-payment,
.reservation-reference .store.rsd-store-card.card .store-payment{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:fit-content;max-width:100%;margin-top:6px;padding:4px 7px;border:1px solid #c8bda9;border-radius:5px;background:#fff;color:#725b38;font-size:12px;font-weight:600;line-height:1.5}
.reservation-reference .store.rsd-store-card.card .store-payment{border-color:#21664d;background:#21664d;color:#fff}
.reservation-reference .store.rsd-store-card.card .store-payment:before{font-size:12px;flex-shrink:0}
/* Three compact logos also fit the narrow payment panel on phones. */
.reservation-reference [data-payment-brands] .payment-brand-list,
.reservation-reference #payment-choice [data-payment-brands] .payment-brand-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,310px);margin:8px 0 0}
.reservation-reference [data-payment-brands] .payment-brand,
.reservation-reference #payment-choice [data-payment-brands] .payment-brand{min-width:0;width:100%;height:52px;padding:6px}
.reservation-reference [data-payment-brands] .payment-brand img{max-width:100%;width:auto;max-height:38px;height:auto;object-fit:contain}
#reservation-conditions-popup{padding:0;width:min(720px,calc(100vw - 24px));max-width:none;max-height:85dvh;margin:auto;border:1px solid #d9ccba;border-radius:14px;background:#fff;color:#392f26}
#reservation-conditions-popup::backdrop{background:#0007}
#reservation-conditions-popup .conditions-popup-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:14px 18px;border-bottom:1px solid #ddd}
#reservation-conditions-popup h2{font-size:20px;margin:0}
#reservation-conditions-popup button{min-height:44px;min-width:80px;padding:8px;border:1px solid #bca786;border-radius:8px;background:#fff;color:#392f26}
#reservation-conditions-popup .conditions-popup-content{padding:20px;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
#reservation-conditions-popup .conditions-popup-content h2{font-size:19px;margin:24px 0 12px}
#reservation-conditions-popup a{text-decoration:underline;color:#21664d}
