/* Reservation layout only; shares the approved Personal Order typography and colors. */
/* Container width, centering and side padding come from shared personal-order.css. */
.freedom-order-form.freedom-reservation{color:var(--freedom-order-ink);background:var(--freedom-order-canvas)}
.freedom-reservation [hidden]{display:none!important}
.freedom-reservation h1{font-size:clamp(32px,4vw,44px);line-height:1.5}
.freedom-order-form.freedom-reservation .freedom-order-form-header{text-align:center}
.freedom-reservation .freedom-order-form-header p{margin-inline:auto}
/* Keep the shared Order outer spacing; do not stack another intro inset on PC. */
@media(min-width:1024px){
 .freedom-order-form.freedom-reservation .freedom-order-form-header{padding-top:0}
 .freedom-reservation .freedom-order-form-header>p:first-child{margin-top:0}
}
.freedom-order-form.freedom-reservation .freedom-order-step{background:var(--freedom-order-paper)}
.freedom-reservation h2{font-size:24px;line-height:1.5;margin:0 0 24px}
.freedom-reservation label{display:grid;gap:10px;margin:20px 0;font-weight:600}
.freedom-reservation input,.freedom-reservation select,.freedom-reservation textarea{box-sizing:border-box;width:100%;border:1px solid var(--fd-order-input-border);font:inherit;min-height:52px;padding:12px 14px;border-radius:5px;background:var(--freedom-order-paper)}
.freedom-reservation input[type=date]{min-height:52px;padding:12px 14px;border-radius:5px;background:#fffdfa}
.freedom-reservation textarea{resize:vertical}
.freedom-reservation .reservation-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.freedom-reservation .reservation-actions{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}
.freedom-reservation button{cursor:pointer;border:1px solid #a18d7b}
.freedom-reservation button:disabled{opacity:.45;cursor:not-allowed}
.freedom-reservation .freedom-order-step{margin-top:32px}
.reservation-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.freedom-reservation .reservation-service{background:#fffdfa;border-radius:8px;padding:22px;text-align:left;display:grid;gap:10px;font:inherit;min-height:110px}
.reservation-service span{font-size:13px;color:#655b53}
.freedom-reservation [aria-pressed=true]{border-color:var(--freedom-order-accent);background:var(--freedom-order-soft);box-shadow:inset 0 0 0 1px var(--freedom-order-accent)}
.reservation-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
.reservation-calendar-header button{font:inherit;padding:10px 14px;border-radius:5px;background:#fffdfa}
.reservation-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center}
.reservation-calendar-days button{min-height:44px;padding:8px 2px;border-radius:5px;font:inherit;background:#fffdfa}
.reservation-calendar-days button:disabled{background:transparent}
.reservation-times{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 24px}
.reservation-times button{min-height:48px;min-width:92px;padding:12px 18px;font:inherit;background:#fffdfa;border-radius:6px}
.reservation-info{background:var(--freedom-order-soft);border:1px solid var(--freedom-order-line);border-radius:6px;padding:24px;margin:24px 0;line-height:1.8}
.reservation-inquiry{text-align:center;font-size:18px}
.reservation-inquiry p{margin:8px 0}
.reservation-phone{display:inline-block;font-size:22px;font-weight:600;color:var(--freedom-order-accent-dark)}
.reservation-danger-area{margin-top:40px;padding-top:24px;border-top:1px solid #c9b9aa}
.freedom-reservation button:focus-visible,.freedom-reservation a:focus-visible{outline:3px solid #655b53;outline-offset:3px}
@media(max-width:420px){.reservation-services{grid-template-columns:1fr}.reservation-calendar-days{gap:4px}.reservation-info{padding:16px}}
.freedom-reservation .reservation-danger{color:#9b2635!important;border-color:#9b2635!important}
.freedom-reservation [data-message]{color:#9b2635;min-height:1.8em;overflow-wrap:anywhere}
.freedom-reservation dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:14px;margin:24px 0}
.freedom-reservation dt{color:#655b53}.freedom-reservation dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.freedom-reservation [data-success-code]{font-size:24px;font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){.freedom-reservation .reservation-two{grid-template-columns:1fr;gap:0}.freedom-reservation .reservation-actions>button{width:100%}.freedom-reservation dl{grid-template-columns:1fr;gap:6px}.freedom-reservation dd{margin-bottom:14px}}
