.booking-form{max-width:580px;margin:0 auto}.booking-form__photo{border-radius:16px;width:100%;height:220px;margin-bottom:1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}.booking-form__photo-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.booking-form__photo-img--active{opacity:1}.booking-form__type-cards{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}.booking-form__type-card{border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.booking-form__type-card:before{content:"";opacity:0;background:linear-gradient(135deg,#efab350f 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.booking-form__type-card:hover{border-color:#efab3566;transform:translateY(-2px);box-shadow:0 8px 24px #efab3514}.booking-form__type-card:hover:before{opacity:1}.booking-form__type-card--active{background:linear-gradient(135deg,#efab3514 0%,#efab3505 100%);border-color:#efab35;box-shadow:0 4px 20px #efab351f}.booking-form__type-card--active:before{opacity:1}.booking-form__type-card--active .booking-form__type-icon{color:#efab35}.booking-form__type-icon{color:var(--text-muted);transition:color .3s;position:relative}.booking-form__type-label{color:var(--text);font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-weight:700;position:relative}.booking-form__type-sub{color:var(--text-muted);text-align:center;font-size:.72rem;line-height:1.3;position:relative}.booking-form__body{flex-direction:column;gap:1.25rem;display:flex}.booking-form__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.booking-form__field{flex-direction:column;gap:.3rem;display:flex}.booking-form__field input,.booking-form__field textarea{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:10px;outline:none;padding:.75rem .9rem;font-family:Lato,sans-serif;font-size:.95rem;transition:border-color .25s,box-shadow .25s}.booking-form__field input::placeholder,.booking-form__field textarea::placeholder{color:var(--text-muted)}.booking-form__field input:focus,.booking-form__field textarea:focus{border-color:#efab35;box-shadow:0 0 0 3px #efab351a}[data-theme=dark] .booking-form__field input,[data-theme=dark] .booking-form__field textarea{background:#ffffff0a}.booking-form__field textarea{resize:vertical;min-height:70px;line-height:1.5}.booking-form__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.78rem;font-weight:600}.booking-form__day-hint{color:#efab35;margin-top:.15rem;font-size:.75rem;font-weight:500}.booking-form__stepper{border:1.5px solid var(--border);border-radius:10px;align-items:center;gap:0;width:fit-content;display:flex;overflow:hidden}.booking-form__stepper-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.booking-form__stepper-btn:hover:not(:disabled){color:#efab35;background:#efab351a}.booking-form__stepper-btn:disabled{opacity:.3;cursor:not-allowed}.booking-form__stepper-value{text-align:center;min-width:48px;color:var(--text);border-left:1.5px solid var(--border);border-right:1.5px solid var(--border);font-size:1.15rem;font-weight:700;line-height:44px}.booking-form__price-card{border:1.5px solid var(--border);border-radius:14px;overflow:hidden}.booking-form__price-header{background:linear-gradient(135deg,#1a1a1a 0%,#2d2d2d 100%);padding:.75rem 1.25rem}.booking-form__price-title{color:#efab35;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;font-weight:600}.booking-form__price-rows{padding:.75rem 1.25rem}.booking-form__price-row{color:var(--text-muted);justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.88rem;display:flex}.booking-form__price-row small{opacity:.7;font-size:.72rem}.booking-form__price-total{border-top:1.5px solid var(--border);color:var(--text);background:#efab350a;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-weight:700;display:flex}.booking-form__price-amount{color:#efab35;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem}.booking-form__notice{background:#efab350f;border:1.5px solid #efab3540;border-radius:12px;align-items:flex-start;gap:.65rem;margin-bottom:.5rem;padding:1rem 1.25rem;display:flex}[data-theme=dark] .booking-form__notice{background:#efab350d}.booking-form__notice svg{color:#efab35;flex-shrink:0;margin-top:1px}.booking-form__notice span{color:var(--text);font-size:.85rem;line-height:1.55}.booking-form__payment-note{text-align:center;color:#efab35;margin:-.75rem 0 1.25rem;font-size:.82rem;font-weight:600}.booking-form__status{text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.booking-form__status--success{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e33}.booking-form__status--error,.booking-form__status--required{color:#dc2626;background:#ef444414;border:1px solid #ef444426}.booking-form__submit{color:#fff;letter-spacing:.03em;cursor:pointer;background:linear-gradient(135deg,#efab35 0%,#d4932e 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:1rem;font-family:Lato,sans-serif;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .3s;display:flex;box-shadow:0 4px 14px #efab3540}.booking-form__submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px #efab3559}.booking-form__submit:active{transform:translateY(0);box-shadow:0 2px 8px #efab3533}.booking-form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.booking-form__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite booking-spin}.booking-form--inline{max-width:580px}.phone-input{border:1.5px solid var(--border);background:var(--bg);border-radius:10px;align-items:stretch;transition:border-color .25s,box-shadow .25s;display:flex;position:relative;overflow:visible}[data-theme=dark] .phone-input{background:#ffffff0a}.phone-input:focus-within{border-color:#efab35;box-shadow:0 0 0 3px #efab351a}.phone-input__trigger{cursor:pointer;border:none;border-right:1.5px solid var(--border);background:0 0;flex-shrink:0;align-items:center;gap:.35rem;padding:0 .75rem;transition:background .2s;display:flex}.phone-input__trigger:hover{background:#efab350f}.phone-input__trigger--open{background:#efab3514}.phone-input__flag{font-size:1.2rem;line-height:1}.phone-input__dial{color:var(--text);letter-spacing:.01em;font-family:Lato,sans-serif;font-size:.85rem;font-weight:600}.phone-input__chevron{color:var(--text-muted);margin-left:.1rem;transition:transform .2s}.phone-input__trigger--open .phone-input__chevron{transform:rotate(180deg)}.phone-input__number{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:.75rem .9rem;font-family:Lato,sans-serif;font-size:.95rem}.phone-input__number::placeholder{color:var(--text-muted);opacity:.5}.phone-input__dropdown{background:var(--bg);border:1.5px solid var(--border);z-index:100;border-radius:12px;flex-direction:column;width:280px;max-height:320px;animation:.18s ease-out phoneDropIn;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 12px 40px #00000026,0 4px 12px #00000014}[data-theme=dark] .phone-input__dropdown{background:#1e1e1e;box-shadow:0 12px 40px #0006,0 4px 12px #0003}.phone-input__search-wrap{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.6rem .85rem;display:flex}.phone-input__search-icon{color:var(--text-muted);opacity:.5;flex-shrink:0}.phone-input__search{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:Lato,sans-serif;font-size:.85rem}.phone-input__search::placeholder{color:var(--text-muted);opacity:.6}.phone-input__list{overscroll-behavior:contain;margin:0;padding:.35rem 0;list-style:none;overflow-y:auto}.phone-input__list::-webkit-scrollbar{width:5px}.phone-input__list::-webkit-scrollbar-track{background:0 0}.phone-input__list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}[data-theme=dark] .phone-input__list::-webkit-scrollbar-thumb{background:#ffffff1f}.phone-input__option{cursor:pointer;align-items:center;gap:.6rem;padding:.5rem .85rem;transition:background .12s;display:flex}.phone-input__option--highlighted{background:#efab3514}.phone-input__option--selected .phone-input__option-name{color:#efab35;font-weight:700}.phone-input__option:active{background:#efab3524}.phone-input__option-flag{flex-shrink:0;font-size:1.15rem;line-height:1}.phone-input__option-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:Lato,sans-serif;font-size:.85rem;overflow:hidden}.phone-input__option-dial{color:var(--text-muted);flex-shrink:0;font-family:Lato,sans-serif;font-size:.8rem;font-weight:500}.phone-input__empty{text-align:center;color:var(--text-muted);padding:1.5rem;font-size:.85rem}@keyframes booking-spin{to{transform:rotate(360deg)}}@keyframes phoneDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.booking-form{max-width:100%}.booking-form__type-cards{grid-template-columns:1fr;gap:.75rem}.booking-form__type-card{text-align:left;flex-direction:row;gap:.75rem;padding:1rem 1.25rem}.booking-form__type-label{flex:1}.booking-form__type-sub{text-align:right}.booking-form__row{grid-template-columns:1fr}.phone-input__dropdown{width:100%;max-width:calc(100vw - 3rem)}}
