.hidden{display:none!important}.auth-gate{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:2rem}.auth-gate-card{text-align:center;max-width:480px;width:100%;padding:4rem 3rem;border-radius:24px;background:#0a0a0acc;border:1px solid rgba(255,255,255,.05);backdrop-filter:blur(10px)}.gate-icon{color:var(--color-primary);margin-bottom:1.5rem;display:flex;justify-content:center;opacity:.8}.gate-badge{display:inline-block;padding:.4rem 1.2rem;font-size:.6rem;font-weight:800;letter-spacing:2px;border-radius:100px;color:#c084fc;background:#c084fc1a;border:1px solid rgba(192,132,252,.2);margin-bottom:1.5rem}.auth-gate-card h2{font-size:2.2rem;font-weight:800;margin-bottom:.8rem;letter-spacing:-.5px}.auth-gate-card>p{color:#94a3b8;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.gate-actions{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.5rem;margin-top:2rem}.gate-mabel-portrait{display:flex;justify-content:center;margin:1rem 0}.mabel-orb{width:120px;height:150px;position:relative;z-index:2}.mabel-orb-content{width:100%;height:100%;border-radius:60px 60px 15px 15px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0006;box-shadow:0 10px 30px #00000080}.mabel-img{width:100%;height:100%;object-fit:cover;filter:sepia(10%) contrast(1.1)}.mabel-orb-glow{position:absolute;top:-20%;left:-20%;width:140%;height:140%;background:radial-gradient(circle,rgba(147,51,234,.2) 0%,transparent 70%);z-index:-1;pointer-events:none}.gate-actions .btn-app{padding:1rem;font-weight:700;border-radius:14px;text-align:center}.gate-actions .btn-ghost{padding:1rem;font-weight:600;border-radius:14px;text-align:center;font-size:.9rem}.gate-hint{color:#64748b;font-size:.75rem;margin-top:0}@media(max-width:480px){.auth-gate-card{padding:3rem 1.5rem}.auth-gate-card h2{font-size:1.8rem}}button{-webkit-appearance:none;appearance:none}.page-container{max-width:1200px;margin:0 auto;padding:5rem 2rem}.booking-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem}.booking-badge{display:inline-block;padding:.5rem 1.5rem;font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;border-radius:100px;margin-bottom:1.5rem;background:#9333ea26;border:1px solid rgba(147,51,234,.3);color:#c084fc}.booking-header h1{font-size:3.5rem;margin-bottom:1rem}.lead{color:var(--text-muted);font-size:1.1rem;line-height:1.5}.info-box{padding:2rem;border-radius:20px;background:#9333ea0d;margin-top:2rem}.info-box h3{font-size:1.1rem;color:var(--color-secondary);margin-bottom:.8rem}.info-box p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.booking-form-wrapper{padding:3rem;border-radius:24px}.form-title{font-size:1.8rem;margin-bottom:1.5rem}.service-options{display:flex;flex-direction:column;gap:1rem}.s-opt input{display:none}.s-card{padding:1.2rem 1.8rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border:1px solid var(--border-glass);transition:all .3s}.s-opt input:checked+.s-card{background:#9333ea1a;border-color:var(--color-primary)}.s-info{display:flex;flex-direction:column}.s-name{font-size:1.05rem;font-weight:500;color:#fff}.s-price{color:var(--color-secondary);font-weight:600}.s-radio-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-glass);position:relative}.s-radio-dot:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:10px;height:10px;background:var(--color-primary);border-radius:50%;transition:.3s}.s-opt input:checked+.s-card .s-radio-dot:after{transform:translate(-50%,-50%) scale(1)}.elite-trigger-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:all .3s;font-family:inherit}.elite-trigger-btn:hover{background:#ffffff0f;border-color:var(--color-primary);transform:translateY(-2px)}.btn-content{display:flex;align-items:center;gap:1.5rem}.icon-wrap{width:45px;height:45px;border-radius:14px;background:#9333ea14;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.text-wrap{display:flex;flex-direction:column;text-align:left;gap:.15rem}.trigger-label{font-size:.6rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);font-weight:800}.trigger-value{font-size:1.05rem;color:#fff}textarea{width:100%;background:#ffffff08;border:1px solid var(--border-glass);padding:1.2rem;border-radius:16px;color:#fff;font-family:inherit;font-size:.95rem;resize:vertical}textarea:focus{outline:none;border-color:var(--color-primary)}.modal-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:9998}.elite-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:92%;max-width:520px;background:linear-gradient(145deg,#111,#0a0a0a);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:2.5rem 2.5rem 2rem;z-index:9999;animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);box-shadow:0 40px 80px #000c,0 0 0 1px #ffffff0d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h3{font-size:1.6rem;font-weight:500}.modal-close{-webkit-appearance:none;appearance:none;background:#ffffff0d;border:none;color:#fff;font-size:1.5rem;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.3s;line-height:1}.modal-close:hover{background:#ffffff26}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .25rem}.month-title{font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:1px}.nav-btn{-webkit-appearance:none;appearance:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#fff;width:42px;height:42px;border-radius:12px;cursor:pointer;font-size:1.3rem;transition:.3s;display:flex;align-items:center;justify-content:center;line-height:1}.nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary)}.calendar-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:.5rem;padding:0 .25rem}.calendar-headers span{text-align:center;font-size:.65rem;font-weight:700;color:#ffffff4d;letter-spacing:1px;padding:.5rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:0 .25rem}.cal-empty{aspect-ratio:1;background:transparent;border:none}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fffc;font-size:1.05rem;font-weight:500;line-height:1;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:rgba(147,51,234,.4);font-family:inherit;outline:none;padding:0;margin:0;min-width:0}.cal-day:hover:not(.past):not(:disabled){background:#9333ea33;border-color:#9333ea80;color:#fff}.cal-day:active:not(.past):not(:disabled){transform:scale(.85);background:#9333ea59}.cal-day.selected{background:#9333ea!important;color:#fff!important;border-color:#a855f7!important;box-shadow:0 0 25px #9333ea99,0 0 50px #9333ea33;transform:scale(1.12);font-weight:800;z-index:5;position:relative}.cal-day.past{opacity:.1;cursor:not-allowed;background:transparent!important;border-color:transparent!important;color:#ffffff4d!important}.modal-footer-area{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:1rem}.preview-text{font-size:.95rem;color:#c084fc;text-align:center;font-weight:500;min-height:1.2em}.modal-confirm-btn{width:100%;padding:1.1rem 2rem;border-radius:14px;border:none;font-size:1.05rem;font-weight:700;line-height:1;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;transition:all .3s;font-family:inherit;background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;box-shadow:0 4px 25px #9333ea66}.modal-confirm-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 8px 35px #9333ea99}.modal-confirm-btn:active:not(.disabled){transform:scale(.96)}.modal-confirm-btn.disabled{opacity:.2;cursor:not-allowed;pointer-events:none}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-height:350px;overflow-y:auto}.time-grid::-webkit-scrollbar{width:4px}.time-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.time-slot{padding:1.3rem .8rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer;transition:all .2s ease;font-family:inherit;-webkit-tap-highlight-color:rgba(147,51,234,.4);outline:none;margin:0}.time-slot:hover:not(.occupied):not(:disabled){border-color:#9333ea80;background:#9333ea1f}.time-slot:active:not(.occupied):not(:disabled){transform:scale(.9);background:#9333ea40}.time-slot.selected{background:#9333ea!important;border-color:#a855f7!important;box-shadow:0 0 25px #9333ea80,0 0 50px #9333ea26;transform:scale(1.06)}.time-slot.occupied{opacity:.1;cursor:not-allowed}.time-slot.occupied.past{opacity:.15}.time-slot.occupied.past .slot-hour{text-decoration:line-through}.time-slot.occupied.past .slot-tag{color:#fb923c;font-weight:700}.slot-hour{font-size:1.2rem;font-weight:700;line-height:1}.slot-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:#fff6;font-weight:600;line-height:1}.time-slot.selected .slot-tag{color:#fff}.time-slot.occupied .slot-tag{color:#ef4444;font-weight:700}.success-icon-wrap{position:relative;width:120px;height:120px;margin:0 auto;display:flex;align-items:center;justify-content:center}.success-ring{position:absolute;inset:0;border:3px solid var(--color-primary);border-radius:50%;opacity:.2;animation:ping-slow 2s infinite}.whatsapp-note{border-radius:16px;background:#25d3660d;border:1px solid rgba(37,211,102,.2)}.whatsapp-note p{font-size:.9rem;color:#6ee7b7;line-height:1.6}@keyframes ping-slow{0%{transform:scale(1);opacity:.2}to{transform:scale(1.4);opacity:0}}.step-indicator{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}.step{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.step.active{color:var(--color-primary)}.step-divider{flex-grow:1;height:1px;background:var(--border-glass)}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:1024px){.booking-grid{grid-template-columns:1fr;gap:3rem}}@media(max-width:768px){.page-container{padding:6rem 1.2rem 3rem}.booking-header h1{font-size:2.2rem;line-height:1.2}.lead{font-size:.95rem}.booking-form-wrapper{padding:1.5rem}.form-title{font-size:1.4rem;margin-bottom:1rem}.step-indicator{margin-bottom:1.5rem}.s-card{padding:1rem 1.2rem}.s-name{font-size:.95rem}.elite-trigger-btn{padding:1.2rem;border-radius:16px}.trigger-value{font-size:.9rem}.icon-wrap{width:38px;height:38px;border-radius:10px}.btn-content{gap:1rem}.elite-modal{inset:auto 0 0;transform:none;width:100%;max-width:100%;border-radius:24px 24px 0 0;padding:1.8rem 1.2rem 2.5rem;animation:slideUp .45s cubic-bezier(.16,1,.3,1);max-height:88vh;overflow-y:auto}.modal-header{margin-bottom:1.5rem}.modal-header h3{font-size:1.3rem}.calendar-nav{margin-bottom:1rem}.nav-btn{width:36px;height:36px;font-size:1.1rem;border-radius:10px}.month-title{font-size:.95rem}.calendar-headers{gap:3px;margin-bottom:.3rem}.calendar-headers span{font-size:.6rem;padding:.3rem 0}.calendar-grid{gap:5px}.cal-day{font-size:.95rem;border-radius:10px}.time-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.time-slot{padding:1rem .6rem;border-radius:12px}.slot-hour{font-size:1.05rem}.modal-footer-area{margin-top:1.5rem;padding-top:1rem;gap:.8rem}.modal-confirm-btn{padding:1rem;font-size:.95rem;border-radius:12px}.preview-text{font-size:.85rem}.info-box{padding:1.5rem;margin-top:1.5rem}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}
