/* R7P_R15R6_SPA_POLISH — visual only, no business logic */
#spa-booking {max-width:1080px;margin:28px auto 54px;padding:0 18px;box-sizing:border-box}
#spa-booking *,#spa-booking *::before,#spa-booking *::after{box-sizing:border-box}
#spa-booking .booking-card{background:#fff;border:1px solid #e5ebf2;border-radius:20px;padding:26px 28px;margin:0 0 18px;box-shadow:0 8px 28px rgba(31,65,100,.055)}
#spa-booking .booking-card h2{font-size:21px;line-height:1.45;color:#18344c;margin:0 0 20px;font-weight:800}
#spa-booking .booking-card h2::before{background:#3298ee;height:22px}
#spa-booking .booking-field input,#spa-booking .booking-field select{min-height:52px;border-radius:12px;border:1px solid #d5e1ec;font-size:16px;background:#fff}
#spa-booking .booking-field select{cursor:pointer}
#spa-booking .select-booking-time{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
#spa-booking .select-booking-time h3{font-size:17px;color:#1e3b54;margin:0 0 14px!important}
#spa-booking .r15r3-calendar .flatpickr-calendar.inline{max-width:100%;width:100%;padding:12px;border:1px solid #e2eaf2;border-radius:16px;background:#fff;box-shadow:none}
#spa-booking .r15r3-calendar .flatpickr-innerContainer,#spa-booking .r15r3-calendar .flatpickr-rContainer,#spa-booking .r15r3-calendar .flatpickr-days,#spa-booking .r15r3-calendar .dayContainer{max-width:none;min-width:0;width:100%}
#spa-booking .r15r3-calendar .flatpickr-day{max-width:none;flex-basis:14.285714%;border-radius:10px}
#spa-booking .r15r3-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:328px;overflow:auto;padding:2px 3px 4px}
#spa-booking .r15r3-time-btn{min-height:49px;border-radius:11px;border:1px solid #d7e5f1;background:#fff;font-size:15px;font-weight:700;cursor:pointer}
#spa-booking .r15r3-time-btn.is-selected{color:#fff;background:#1677c9;border-color:#1677c9;box-shadow:0 3px 9px rgba(22,119,201,.18)}
#spa-booking .r15r3-time-btn:hover:not(:disabled):not(.is-selected){border-color:#70b5ec;background:#f0f8ff}
#spa-booking .r15r3-time-btn:focus-visible{outline:3px solid #90caff;outline-offset:2px}
#spa-booking .r15r3-time-btn:disabled{opacity:.38;cursor:not-allowed}
#spa-booking .select-display{border:1px solid #e1ebf4;background:#f7faff;border-radius:14px;padding:16px 19px;margin-top:18px}
#spa-booking .r15r5-fee-section{margin:12px 0 18px}
#spa-booking .r15r4-fee-heading{font-size:19px;font-weight:800;color:#1b3a55;padding:12px 0;margin:0 0 8px;border-top:0}
#spa-booking .r15r5-fee-section .booking-card{margin-bottom:0}
#spa-booking .fee-row{align-items:center;padding:8px 0;line-height:1.6}
#spa-booking .fee-total{border-top:1px solid #dfe8f0;margin-top:12px;padding-top:17px;font-size:19px}
#spa-booking .r15r5-submit-card{padding-top:19px;padding-bottom:22px}
#spa-booking .r15r5-submit-card .reserve-btn{min-height:56px;margin-top:12px;border-radius:13px;font-size:17px;background:linear-gradient(90deg,#1684dc,#38a5ed)}
#spa-booking .booking-note{line-height:1.7;font-size:14px}
@media(max-width:850px){#spa-booking .select-booking-time{grid-template-columns:1fr;gap:24px}#spa-booking .r15r3-time-grid{max-height:none;overflow:visible}}
@media(max-width:600px){#spa-booking{padding:0 12px;margin:18px auto 38px}#spa-booking .booking-card{padding:19px 16px;border-radius:16px;margin-bottom:14px}#spa-booking .booking-card h2{font-size:19px}#spa-booking .r15r3-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#spa-booking .r15r3-time-btn{font-size:14px;min-height:46px}#spa-booking .fee-total{font-size:17px}}
