:root{--bg:#1A0A2E;--card1:#0F0820;--card2:#140E26;--neon:#E0187A;--neon2:#FF2D9B;--white:#F0EEF6;--muted:rgba(240,238,246,0.45);--border:rgba(240,238,246,0.09);--serif:"Instrument Serif",serif;--sans:"Archivo",sans-serif}body,html{height:100%}body{background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden;-webkit-tap-highlight-color:transparent}.r-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 24px;justify-content:space-between;background:linear-gradient(180deg,rgba(26,10,46,.95) 0,transparent)}.r-nav,.r-nav-back{display:flex;align-items:center}.r-nav-back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.05);justify-content:center;text-decoration:none;color:var(--white);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.r-nav-back svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.r-nav-logo{height:28px;object-fit:contain}.r-nav-step{font-size:12px;color:var(--muted);letter-spacing:.08em}.booking-wrap{min-height:100vh;padding-top:0;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.card-suite{position:relative;height:28vh;min-height:180px;max-height:230px;border-radius:0 0 32px 32px;overflow:hidden;flex-shrink:0}.card-suite-bg{position:absolute;inset:0}.card-suite-bg img{width:100%;height:100%;object-fit:cover;display:block}.card-suite-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(26,10,46,.25),rgba(15,8,32,.88))}.card-suite-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px 32px}.suite-selector-btn{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:6px 14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;margin-bottom:12px;transition:border-color .2s,background .2s;width:-moz-fit-content;width:fit-content}.suite-selector-btn:hover{border-color:var(--neon);color:var(--white)}.suite-selector-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5}.card-suite-name{font-family:var(--serif);font-style:italic;font-size:clamp(36px,10vw,56px);line-height:.9;color:var(--white);text-shadow:0 2px 20px rgba(0,0,0,.5)}.card-suite-sub{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--neon);margin-top:8px;opacity:.9}.card-booking{background:var(--card2);border-radius:28px 28px 0 0;margin-top:-20px;flex:1 1;padding:32px 24px 40px;position:relative;z-index:2}.step-indicator{display:flex;align-items:center;gap:12px;margin-bottom:28px}.step-dot{gap:8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.step-dot,.step-dot-circle{display:flex;align-items:center;color:var(--muted)}.step-dot-circle{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);justify-content:center;font-size:11px;font-weight:700;transition:all .3s}.step-dot.active .step-dot-circle{border-color:var(--neon);background:var(--neon);color:#fff;box-shadow:0 0 12px rgba(224,24,122,.5)}.step-dot.done .step-dot-circle{border-color:var(--neon);background:transparent;color:var(--neon)}.step-dot.active .step-dot-label{color:var(--white)}.step-line{flex:1 1;height:1px;background:var(--border)}.steps-container{position:relative;overflow:hidden}.step-panel{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s}.step-panel.hidden-left{transform:translateX(-100%)}.step-panel.hidden-left,.step-panel.hidden-right{opacity:0;position:absolute;top:0;left:0;right:0;pointer-events:none}.step-panel.hidden-right{transform:translateX(100%)}.step-panel.visible{transform:translateX(0);opacity:1}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cal-month-label{font-size:16px;font-weight:600;color:var(--white)}.cal-nav-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.cal-nav-btn:hover{border-color:var(--neon);background:rgba(224,24,122,.08)}.cal-nav-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5}.cal-days-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.cal-day-name{text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:500;cursor:pointer;color:var(--white);transition:background .15s,color .15s,box-shadow .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-cell:hover:not(.disabled):not(.empty){background:rgba(224,24,122,.15)}.cal-cell.disabled{color:rgba(240,238,246,.2);cursor:default}.cal-cell.empty{cursor:default}.cal-cell.today{color:var(--neon);font-weight:700}.cal-cell.selected{background:var(--neon);color:#fff;font-weight:700;box-shadow:0 0 16px rgba(224,24,122,.55)}.time-picker-wrap{display:flex;align-items:center;justify-content:center;gap:0;padding:0 16px}.drum-col-wrap{flex:1 1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.drum-col-label{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.drum-arrow{width:34px;height:34px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--muted);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s,background .2s}.drum-arrow:hover{color:var(--neon);border-color:rgba(224,24,122,.5);background:rgba(224,24,122,.08)}.drum-arrow:active{transform:scale(.92)}.drum-arrow svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5}.drum-col{height:144px;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:48px 0;position:relative}.drum-col::-webkit-scrollbar{display:none}.drum-item{height:48px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:32px;color:var(--white);cursor:pointer;transition:color .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drum-item,.drum-sep{font-family:var(--serif);font-style:italic}.drum-sep{font-size:40px;color:var(--neon);padding:0 8px;margin-top:74px;text-shadow:0 0 20px rgba(224,24,122,.6);flex-shrink:0}.drum-col-container{position:relative}.drum-col-fade{position:absolute;left:0;right:0;pointer-events:none;z-index:2}.drum-col-fade.top{top:0;height:48px;background:linear-gradient(to bottom,var(--card2) 0,transparent 100%)}.drum-col-fade.bottom{bottom:0;height:48px;background:linear-gradient(to top,var(--card2) 0,transparent 100%)}.time-display{text-align:center;margin-top:16px;font-size:13px;color:var(--muted);letter-spacing:.06em}.time-display strong{color:var(--neon);font-size:15px}.selected-date-badge{display:none;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:10px 20px 10px 14px;margin-bottom:20px;cursor:pointer;width:-moz-fit-content;width:fit-content;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--white);transition:background .2s,border-color .2s}.selected-date-badge.show{display:inline-flex}.selected-date-badge:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.selected-date-badge svg{width:18px;height:18px;stroke:var(--white);fill:none;stroke-width:2.5;flex-shrink:0}.slide-wrap{margin-top:20px;position:-webkit-sticky;position:sticky;bottom:0;z-index:10;padding:12px 0 4px;background:linear-gradient(to top,var(--card2) 75%,transparent 100%)}.slide-track{height:62px;border-radius:999px;background:rgba(224,24,122,.08);border:1.5px solid rgba(224,24,122,.3);position:relative;overflow:hidden;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none}.slide-fill{position:absolute;inset:0;left:0;right:auto;background:linear-gradient(90deg,rgba(224,24,122,.3),rgba(255,45,155,.15));border-radius:999px;width:0;transition:none}.slide-thumb{position:absolute;top:5px;left:5px;width:52px;height:52px;border-radius:50%;background:var(--neon);box-shadow:0 0 20px rgba(224,24,122,.7),0 0 40px rgba(224,24,122,.3);display:flex;align-items:center;justify-content:center;color:#fff;transition:box-shadow .2s;will-change:transform;z-index:2}.slide-thumb svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.5}.slide-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(224,24,122,.7);pointer-events:none;padding-left:62px;transition:opacity .2s}.slide-track.success .slide-fill{width:100%;background:var(--neon)}.slide-track.success .slide-thumb{box-shadow:0 0 30px rgba(224,24,122,.9)}.slide-track.success .slide-text{opacity:0}.sheet-overlay{position:fixed;inset:0;z-index:500;background:rgba(26,10,46,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s}.sheet-overlay.open{opacity:1;pointer-events:all}.sheet{position:fixed;bottom:0;left:0;right:0;z-index:501;background:#1A0E30;border-radius:24px 24px 0 0;padding:16px 0 40px;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);max-height:70vh;overflow-y:auto;max-width:480px;margin:0 auto}.sheet.open{transform:translateY(0)}.sheet-handle{width:36px;height:4px;border-radius:2px;background:rgba(255,255,255,.15);margin:0 auto 20px}.sheet-title{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 24px;margin-bottom:16px}.sheet-item{display:flex;align-items:center;gap:16px;padding:14px 24px;cursor:pointer;transition:background .15s}.sheet-item:hover{background:rgba(255,255,255,.04)}.sheet-item.active{background:rgba(224,24,122,.08)}.sheet-item-img{width:52px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}.sheet-item-name{font-size:15px;font-weight:600;color:var(--white)}.sheet-item-bloco{font-size:12px;color:var(--muted);margin-top:2px}.sheet-item-check{margin-left:auto;color:var(--neon);display:none}.sheet-item.active .sheet-item-check{display:block}.booking-summary{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:16px;padding:14px 20px;margin-top:24px;margin-bottom:0;display:none}.booking-summary.show{display:flex;align-items:flex-start}.bs-item{flex:1 1;display:flex;flex-direction:column;gap:5px;padding:0 16px;border-right:1px solid var(--border)}.bs-item:first-child{padding-left:0}.bs-item:last-child{border-right:none;padding-right:0}.bs-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.bs-value{font-size:13px;font-weight:700;color:var(--white);white-space:nowrap}@media (min-width:540px) and (max-width:899px){.booking-wrap{border-left:1px solid var(--border);border-right:1px solid var(--border)}.sheet{left:50%;right:auto;width:480px;transform:translateX(-50%) translateY(100%)}.sheet.open{transform:translateX(-50%) translateY(0)}}@media (min-width:900px){.r-nav{background:rgba(26,10,46,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(240,238,246,.06);padding:18px 48px}.r-nav-logo{height:34px}body{background:var(--bg)}.booking-wrap{max-width:1200px;flex-direction:row;align-items:stretch;min-height:auto;margin:90px auto 60px;border-radius:32px;overflow:hidden;box-shadow:0 32px 100px rgba(0,0,0,.45),0 0 0 1px var(--border)}.card-suite{width:42%;flex-shrink:0;height:auto;max-height:none;min-height:600px;border-radius:0}.card-booking{flex:1 1;border-radius:0;margin-top:0;overflow-y:auto;padding:48px 48px 48px 56px;max-height:calc(100vh - 150px)}.sheet{left:50%;right:auto;width:560px;transform:translateX(-50%) translateY(100%);border-radius:24px;bottom:auto;top:50%;transform:translateX(-50%) translateY(-50%) scale(.95);opacity:0;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;max-height:80vh}.sheet.open{transform:translateX(-50%) translateY(-50%) scale(1);opacity:1}.sheet-overlay{background:rgba(15,8,32,.8)}}@media (min-width:1200px){.card-booking{padding:56px 64px}}