.reservation-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,8,30,.76);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.reservation-modal.is-open{opacity:1;visibility:visible}.reservation-dialog{position:relative;width:min(680px,100%);max-height:92vh;overflow:auto;border:1px solid rgba(234,214,154,.65);border-radius:22px;background:#171632;box-shadow:0 20px 60px rgba(0,0,0,.4)}.reservation-dialog .reservation{border:0;padding:55px 28px 34px;width:100%;max-width:none}.reservation-close{position:absolute;z-index:2;top:13px;right:17px;width:38px;height:38px;border:1px solid rgba(234,214,154,.7);border-radius:50%;background:rgba(20,19,53,.9);color:#fff;font-size:25px;line-height:1;cursor:pointer}.reservation-close:hover{background:#8b78d4}.reservation-dialog .reservation h2{font-size:clamp(40px,6vw,65px)}
@media(max-width:800px){.reservation-modal{padding:12px}.reservation-dialog{max-height:94vh;border-radius:18px}.reservation-dialog .reservation{padding:48px 17px 25px}.reservation-dialog .reservation-form{grid-template-columns:1fr}.reservation-dialog .reservation-form label{grid-column:auto}.reservation-dialog .payment-button{font-size:11px}}
.payment-methods-modal{z-index:80}
.payment-fast-note{margin:18px auto 0;max-width:520px;color:#d7ddf6;font:12px Manrope,sans-serif;text-align:center}.apple-pay-method{background:linear-gradient(120deg,#202431,#41485c)}.apple-pay-method .payment-logo{font-size:25px}
.payment-method:disabled{opacity:.7;cursor:wait}.payment-error{margin:14px auto 0;max-width:520px;color:#ff8793;font:12px Manrope,sans-serif;text-align:center}
.reservation-form label{position:relative}.city-suggestions{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 5px);display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid rgba(185,174,239,.55);border-radius:9px;background:#171632;box-shadow:0 10px 25px rgba(0,0,0,.35)}.city-suggestions button{border:0;background:transparent;color:#f4f1ff;text-align:left;padding:11px 13px;font:13px Manrope,sans-serif;cursor:pointer}.city-suggestions button:hover{background:#403b83;color:#fff0b6}
.tarot-question-note{max-width:560px!important;color:#d4d9ef!important;font-size:13px!important;line-height:1.7!important}.tarot-question-form textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(185,174,239,.5);border-radius:9px;background:rgba(24,31,82,.75);color:var(--white);padding:13px;font:14px Manrope,sans-serif;resize:vertical}.tarot-question-form .question-limit{grid-column:1/-1;margin:0;color:#aeb8de;font-size:11px;text-align:center}.tarot-question-modal .reservation-dialog{max-width:620px}
.payment-dialog{max-width:620px}.payment-method-list{display:flex;flex-direction:column;gap:13px;width:min(520px,100%);margin:25px auto 0}.payment-method{display:flex;align-items:center;gap:15px;width:100%;padding:16px 18px;border:1px solid rgba(221,229,255,.55);border-radius:14px;color:#fff;text-align:left;cursor:pointer;transition:transform .2s ease,filter .2s ease}.payment-method:hover{transform:translateY(-2px);filter:brightness(1.12)}.stripe-method{background:linear-gradient(120deg,#6652c1,#8470d8)}.paypal-method{background:linear-gradient(120deg,#244f97,#316fbc)}.payment-logo{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:rgba(255,255,255,.16);font:700 23px Manrope,sans-serif}.payment-method>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.payment-method strong{font:600 15px Manrope,sans-serif}.payment-method small{color:#e5e9ff;font:11px Manrope,sans-serif}.payment-method b{font-size:20px;font-weight:400}
.thank-you-page{position:fixed;inset:0;z-index:120;display:grid;place-items:center;overflow:auto;padding:24px;background:radial-gradient(circle at 50% 0%,rgba(112,87,210,.34),transparent 48%),#080b28;color:#fff;text-align:center}.thank-you-card{width:min(620px,100%);padding:clamp(38px,8vw,78px) clamp(22px,7vw,70px);border:1px solid rgba(234,214,154,.55);border-radius:28px;background:rgba(18,20,62,.88);box-shadow:0 24px 80px rgba(0,0,0,.38)}.thank-you-card h1{margin:12px 0 24px;font:clamp(52px,9vw,86px)/.92 'Cormorant Garamond',serif}.thank-you-card h1 em{color:#c7b8ff;font-style:italic}.thank-you-card p{max-width:460px;margin:12px auto;color:#d8dcf4;font:15px/1.7 Manrope,sans-serif}.thank-you-card .button{display:inline-flex;margin-top:26px}.thank-you-card strong{color:#fff}
.reservation-form label{display:flex;flex-direction:column}.field-invalid{border-color:#ff687c!important;box-shadow:0 0 0 2px rgba(255,71,99,.13)}.field-error{margin-top:5px;color:#ff7180;font:10px Manrope,sans-serif;letter-spacing:0;text-transform:none}
