.booking-section{background:#f9f3f6;color:#21101c;padding:100px 0;scroll-margin-top:90px}.booking-heading{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:42px}.booking-heading h2{font-family:Anton,sans-serif;font-size:clamp(40px,5vw,68px);line-height:1.08;text-transform:uppercase;max-width:620px}.booking-heading p{max-width:420px;line-height:1.8;color:#705b68}.booking-heading .eyebrow{color:#c30069}.booking-card{background:white;border:1px solid #eadce4;border-radius:24px;padding:32px;box-shadow:0 12px 50px #36152708}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.booking-section label{display:block;font-size:13px;font-weight:800;letter-spacing:.015em;margin-bottom:10px}.booking-section input,.booking-section select,.booking-section textarea{width:100%;background:#fff;border:1px solid #d8c7d1;border-radius:10px;padding:13px 14px;font:inherit;color:#21101c;margin-top:7px}.booking-section select{margin-bottom:24px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-nav button{border:1px solid #eadce4;background:#faf6f8;border-radius:50%;width:38px;height:38px;font-size:21px;cursor:pointer}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-days .weekday{text-align:center;color:#8c7583;font-size:11px;font-weight:800;padding:7px 0}.calendar-days button{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:#f4edf1;color:#c00068;font:inherit;font-weight:700;cursor:pointer}.calendar-days button:hover:not(:disabled){border-color:#ed168e}.calendar-days button:disabled{background:transparent;color:#bdb0b8;cursor:default}.calendar-days button.selected,.time-buttons button.selected{background:#ec168d;color:#fff}.calendar-legend{font-size:12px;color:#8c7583;margin-top:17px}.calendar-legend:before{content:'';display:inline-block;background:#ed168e;width:7px;height:7px;border-radius:50%;margin-right:6px}.time-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 24px}.time-buttons button{background:#fff;border:1px solid #eadce4;border-radius:9px;padding:9px 13px;cursor:pointer;font:inherit;font-size:13px}.booking-note{font-size:13px;color:#705b68;line-height:1.7}.booking-date{font-size:17px;font-weight:800;margin-bottom:18px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.booking-fields .full{grid-column:1/-1}.booking-section label.consent{font-weight:500;font-size:12px;line-height:1.6;display:flex;gap:10px;margin:17px 0 22px}.booking-section .consent input{width:17px;margin:4px 0 0;flex-shrink:0;accent-color:#ec168d}.booking-submit{border:0;background:#ec168d;color:#fff;border-radius:9px;padding:16px 24px;font:inherit;font-weight:800;cursor:pointer;width:100%}.booking-submit:disabled{background:#e3d1db;color:#9a8291;cursor:default}.booking-feedback{line-height:1.7;font-size:14px;margin:16px 0}.booking-feedback.error{color:#ad1358}.booking-success{padding:35px 0}.booking-success .success-heart{font-size:65px;color:#ec168d;line-height:1.4}.booking-success h3{font-family:Anton;font-size:32px;font-weight:400}.booking-success p{line-height:1.8;color:#705b68}.booking-section [hidden]{display:none!important}.offers-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.offer-card,.special-card{background:#fff;border:1px solid #eadce4;border-radius:18px;overflow:hidden;padding:23px}.offer-card img,.special-card img{width:100%;height:200px;object-fit:cover;border-radius:10px;margin-bottom:18px}.offer-card h3,.special-card h3{font-size:18px;margin:0 0 10px}.offer-card p,.special-card p{color:#705b68;font-size:13px;line-height:1.7}.offer-card .offer-price{font-size:24px;font-weight:800;color:#bf0066;margin-top:12px}.offer-card .offer-meta{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#a67991;margin-bottom:10px}.offer-card button{border:0;background:none;color:#c00068;font:inherit;font-weight:800;font-size:13px;padding:12px 0 0;cursor:pointer}.specials{margin-bottom:45px}.special-card{background:#21101c;color:#fff;border:0}.special-card p{color:#d7c4cf}.special-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ff8cc8}.specials-title{font-family:Anton;font-size:30px;margin-bottom:20px}.booking-section a{color:#ba0064}.privacy-note{font-size:12px;color:#7b6572;margin-top:15px}.booking-section :focus-visible{outline:3px solid #f96dbb;outline-offset:3px}.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:850px){.booking-heading{display:block}.booking-heading p{max-width:600px;margin-top:20px}.booking-grid{grid-template-columns:1fr}.offers-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.booking-section{padding:65px 0}.booking-card{padding:22px 18px;border-radius:17px}.booking-fields,.offers-row{grid-template-columns:1fr}.booking-heading{margin-bottom:28px}.booking-heading h2{font-size:44px}.calendar-days{gap:4px}.booking-grid{gap:18px}}
.booking-section{scroll-margin-top:0}
.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-card,.booking-fields>label{min-width:0}
.booking-section input,.booking-section select,.booking-section textarea{min-width:0;font-size:16px}
.calendar-nav button{width:44px;height:44px;flex-shrink:0}
.time-buttons button{min-height:44px;min-width:64px}
.booking-section label.consent{padding:5px 0;min-height:44px}
.booking-section .consent input{height:20px;width:20px;margin-top:2px}
@media(max-width:850px){.booking-grid{grid-template-columns:minmax(0,1fr)}}
