.booking-page-container{background-color:var(--primary-bg);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.booking-page-container:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#d4af3726 0%,#0000 70%);border-radius:50%;width:50vw;height:50vw;position:absolute;top:-20%;left:-10%}.booking-page-container:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#0a2a1e1a 0%,#0000 70%);border-radius:50%;width:60vw;height:60vw;position:absolute;bottom:-20%;right:-10%}.booking-content-wrapper{z-index:1;flex:1;justify-content:center;align-items:center;padding:4rem 1rem;display:flex;position:relative}.type-selector-container{flex-direction:column;align-items:center;gap:3rem;width:100%;max-width:900px;display:flex}.type-overlay-text{text-align:center;color:var(--text-light);margin-bottom:1rem;font-family:Cinzel,serif;font-size:3rem;font-weight:700;position:relative}.type-overlay-text:after{content:"";background:var(--accent);border-radius:2px;width:60px;height:3px;margin:1rem auto 0;display:block}.type-cards-wrapper{flex-wrap:wrap;justify-content:center;gap:2rem;width:100%;display:flex}.type-card{-webkit-backdrop-filter:blur(16px);text-align:center;cursor:pointer;background:#fff9;border:1px solid #fff6;border-radius:24px;flex:1;min-width:300px;max-width:400px;padding:3rem 2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 10px 30px #0a2a1e0d}.type-card:before{content:"";opacity:0;z-index:0;background:linear-gradient(135deg,#fff6 0%,#fff0 100%);width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.type-card:hover{border-color:var(--accent);transform:translateY(-10px);box-shadow:0 20px 40px #0a2a1e1f}.type-card:hover:before{opacity:1}.tc-content{z-index:1;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.tc-icon-wrap{background:var(--btn-bg);width:80px;height:80px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:transform .4s;display:flex;box-shadow:0 10px 20px #0a2a1e33}.type-card:hover .tc-icon-wrap{transform:scale(1.1)rotate(5deg)}.tc-title{color:var(--text-light);margin:0;font-size:2rem}.tc-desc{color:#0a2a1eb3;font-size:1.1rem;line-height:1.6}.tc-arrow{width:40px;height:40px;color:var(--text-light);background:#0a2a1e0d;border-radius:50%;justify-content:center;align-items:center;margin-top:1rem;transition:all .3s;display:flex}.type-card:hover .tc-arrow{background:var(--accent);color:#fff;transform:translate(5px)}.form-container{-webkit-backdrop-filter:blur(20px);background:linear-gradient(120deg,#eefef7eb,#ffffffb3);border:1px solid #fff9;border-radius:30px;flex-direction:column;width:100%;max-width:1200px;display:flex;overflow:hidden;box-shadow:0 20px 50px #0a2a1e14}.form-header{background:#ffffff4d;border-bottom:1px solid #fff6;justify-content:space-between;align-items:center;padding:2rem 3rem;display:flex;position:relative}.back-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;transition:background .2s;display:flex}.back-btn:hover{box-shadow:none;background:#0a2a1e0d;transform:translate(-2px)}.form-header h2{text-align:center;margin:0;font-size:2rem;position:absolute;left:50%;transform:translate(-50%)}.step-indicator{color:var(--accent);letter-spacing:1px;text-transform:uppercase;background:#0a2a1e0d;border-radius:20px;padding:.5rem 1rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600}.form-layout{grid-template-columns:1fr 380px;min-height:500px;display:grid}@media (max-width:992px){.form-layout{grid-template-columns:1fr}}.form-left-pane{padding:3rem}.form-right-pane{background:#0a2a1e08;border-left:1px solid #fff6;padding:3rem}.form-fadeIn{animation:.5s forwards formFadeIn}@keyframes formFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-title{color:var(--text-light);border-bottom:1px solid #0a2a1e1a;margin-bottom:2rem;padding-bottom:.5rem;font-size:1.5rem}.input-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.input-group.span-2{grid-column:span 2}@media (max-width:600px){.input-grid{grid-template-columns:1fr}.input-group.span-2{grid-column:span 1}}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:flex}.input-group input,.input-group select,.input-group textarea{width:100%;color:var(--text-light);background:#ffffffb3;border:1px solid #0a2a1e26;border-radius:12px;padding:1rem 1.2rem;font-family:Outfit,sans-serif;font-size:1rem;transition:all .3s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 4px #d4af371a}.input-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A2A1E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 1rem center;background-repeat:no-repeat;background-size:1em}.input-group textarea{resize:vertical}.primary-btn{background:var(--btn-bg);color:var(--btn-text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.8rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #0a2a1e26}.primary-btn:hover:not(:disabled){background:var(--btn-hover);transform:translateY(-2px);box-shadow:0 8px 25px #0a2a1e40}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.secondary-btn{color:var(--text-light);cursor:pointer;background:#fffc;border:1px solid #0a2a1e1a;border-radius:12px;justify-content:center;align-items:center;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s;display:inline-flex}.secondary-btn:hover{background:#fff;border-color:#0a2a1e33;transform:translateY(-1px)}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-top:1rem;display:grid}.time-slot{color:var(--text-light);cursor:pointer;text-align:center;background:#ffffffb3;border:1px solid #0a2a1e26;border-radius:12px;padding:1rem;font-weight:500;transition:all .2s}.time-slot:hover{border-color:var(--accent);background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #d4af371a}.time-slot.selected{background:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-bg);box-shadow:0 6px 15px #0a2a1e33}.error-banner{color:#a82e1d;background:#ff63471a;border-left:4px solid tomato;border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:1rem;font-weight:500}.slots-loading{color:var(--text-muted);align-items:center;gap:1rem;padding:2rem 0;font-weight:500;display:flex}.spinner{border:3px solid #0a2a1e1a;border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.booking-summary-card{background:#ffffffb3;border:1px solid #fffc;border-radius:20px;padding:2rem;position:sticky;top:2rem;box-shadow:0 10px 30px #0a2a1e0d}.bsc-header{color:var(--text-light);margin-bottom:1.5rem;font-family:Cinzel,serif;font-size:1.5rem;font-weight:700}.bsc-row{color:var(--text-muted);justify-content:space-between;margin-bottom:1rem;font-size:1rem;display:flex}.bsc-val{color:var(--text-light);text-align:right;max-width:60%;font-weight:600}.bsc-divider{background:#0a2a1e1a;height:1px;margin:1.5rem 0}.bsc-total{color:var(--text-light);margin-bottom:0;font-size:1.25rem;font-weight:700}.wallet-section{background:#0a2a1e0a;border:1px solid #0a2a1e1f;border-radius:16px;margin-top:1.5rem;padding:1.5rem;transition:border-color .2s,background .2s}.wallet-section.active{border-color:var(--btn-bg);background:#0a2a1e14}.wallet-section__head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.wallet-label{color:var(--text-muted);font-size:.95rem}.wallet-balance{color:var(--text-light);font-size:1.4rem;font-weight:600}.wallet-refresh{color:var(--btn-bg);cursor:pointer;background:0 0;border:none;font-size:.95rem;font-weight:600}.wallet-refresh:disabled{opacity:.6;cursor:not-allowed}.wallet-toggle{color:var(--text-light);align-items:center;gap:.6rem;font-weight:600;display:flex}.wallet-toggle input{width:18px;height:18px}.wallet-hint{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.wallet-input-row{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1rem;display:flex}.wallet-input{background:#fff;border:1px solid #0a2a1e26;border-radius:12px;flex:1;align-items:center;gap:.4rem;width:100%;padding:.6rem .8rem;display:flex}.wallet-input input{background:0 0;border:none;flex:1;font-size:1.05rem}.wallet-input input:focus{outline:none}.wallet-max{background:var(--btn-bg);color:#fff;cursor:pointer;border:none;border-radius:10px;align-self:flex-end;padding:.6rem 1.2rem;font-weight:600}.wallet-error{color:#b3261e;margin-top:.75rem;font-size:.85rem}.wallet-deduction span:last-child{color:#b3261e}.success-card{-webkit-backdrop-filter:blur(20px);text-align:center;background:#fffc;border:1px solid #fff9;border-radius:30px;width:100%;max-width:600px;padding:4rem 3rem;animation:.6s formFadeIn;box-shadow:0 20px 50px #0a2a1e14}.sc-icon-wrap{background:var(--primary-bg);width:100px;height:100px;color:var(--btn-bg);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 2rem;font-size:3rem;display:flex;box-shadow:0 10px 25px #0a2a1e1a}.sc-title{color:var(--text-light);margin-bottom:1rem;font-size:2.5rem}.sc-desc{margin-bottom:2rem;font-size:1.1rem}.sc-details{text-align:left;background:#ffffff80;border:1px solid #0a2a1e1a;border-radius:12px;margin-bottom:3rem;padding:1.5rem}.sc-details p{margin-bottom:.5rem;font-size:1.1rem}.sc-details p:last-child{margin-bottom:0}.sc-wa-btn{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.8rem;padding:1.2rem 2.5rem;font-size:1.2rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 8px 20px #25d3664d}.sc-wa-btn:hover{color:#fff;background:#128c7e;transform:translateY(-2px);box-shadow:0 12px 25px #25d36666}@media (max-width:768px){.form-header{flex-direction:column;gap:1.5rem;padding:1.5rem}.form-header h2{order:2;position:static;transform:none}.back-btn{margin-right:auto}.step-indicator{order:1;margin-left:auto;position:absolute;top:1.5rem;right:1.5rem}.form-left-pane,.form-right-pane{padding:2rem 1.5rem}}
