:root{
  --black:#030303;
  --gold:#cdbb9c;
  --gold-light:#eee2d0;
  --red:#94151b;
  --red2:#b51b22;
  --muted:#817668;
  --line:rgba(205,187,156,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#030303;color:#eee5d7;font-family:Montserrat,sans-serif;background:#030303 url("../assets/fundo.png") top/cover no-repeat}
body.booking-open{overflow:hidden}
a{text-decoration:none;color:inherit}

.site-header{position:fixed;z-index:1000;top:0;width:100%;height:108px;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);transition:.3s}
.site-header.scrolled{height:78px;background:rgba(0,0,0,.96)}
.header-inner{height:100%}
.brand{width:155px;height:100%;display:flex;align-items:center}
.brand img{width:145px;height:145px;object-fit:contain}
.navbar-nav{gap:28px}
.nav-link{color:#b7aa98!important;font:500 11px Cinzel;letter-spacing:.18em;padding:10px!important}
.nav-link:hover,.nav-link.active{color:#eee2d0!important}
.navbar-toggler{border:1px solid var(--gold);padding:8px}
.navbar-toggler span{display:block;width:23px;height:1px;background:var(--gold);margin:4px}

.hero,.section-bg{position:relative;}
.hero{height:100vh;min-height:650px;display:flex;align-items:center;justify-content:center;padding-top:80px}
.hero-overlay,.section-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.55)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%,rgba(0,0,0,.5))}
.hero-content{position:relative;text-align:center;width:min(510px,82vw);animation:heroIn 1s ease}
.hero-logo{width:100%;filter:drop-shadow(0 5px 20px #000)}
.hero-content p{font:500 9px Cinzel;letter-spacing:.27em;color:var(--gold);margin:0 0 25px}
.hero-content p b{color:var(--red2);padding:0 5px}
.btn-mystic{min-height:48px;padding:0 28px;border:1px solid var(--red2);background:rgba(5,5,5,.7);color:var(--gold-light);font:500 9px Cinzel;letter-spacing:.2em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.3s}
.btn-mystic:hover{background:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 0 28px rgba(181,27,34,.2)}
.scroll-down{position:absolute;bottom:24px;left:50%;color:var(--red2);font-size:22px;animation:down 1.5s infinite}

.oracle{min-height:460px}
.section-content{position:relative;padding:70px 15px}
.oracle small{font:500 9px Cinzel;letter-spacing:.35em;color:var(--gold)}
.oracle h1{font:500 clamp(30px,4vw,45px) "Cormorant Garamond";letter-spacing:.18em;color:var(--red2);margin:8px 0}
.red-line{width:55px;height:1px;background:var(--red2);margin:0 auto 18px}
.oracle p{font:400 10px Cinzel;letter-spacing:.12em;line-height:1.8;color:#c9bca9}
.oracle-info{display:flex;justify-content:center;gap:75px;margin:28px 0}
.oracle-info span,.oracle-info strong{display:block}
.oracle-info span{font:500 7px Montserrat;letter-spacing:.2em;color:var(--muted)}
.oracle-info strong{font:500 16px "Cormorant Garamond";color:var(--gold-light);margin-top:5px}

.contact{min-height:390px}
.contact-title{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:35px}
.contact-title i{width:80px;height:1px;background:var(--red)}
.contact-title h2{font:500 11px Cinzel;letter-spacing:.3em;color:var(--gold)}
.contact-item{border-right:1px solid var(--line)}
.contact-item:last-child{border:0}
.contact-item strong,.contact-item span{display:block}
.contact-item strong{font:500 9px Cinzel;color:var(--gold);letter-spacing:.18em;margin-bottom:8px}
.contact-item span{font:300 9px Montserrat;color:#bdb1a0}

.booking{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:.3s}
.booking.open{opacity:1;visibility:visible;pointer-events:auto}
.booking-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(15px)}
.booking-panel{position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#070707;border:1px solid rgba(205,187,156,.2);box-shadow:0 30px 100px #000;transform:translateY(20px) scale(.98);transition:.35s}
.booking.open .booking-panel{transform:none}
.booking-close{position:absolute;right:15px;top:12px;width:38px;height:38px;border:1px solid #544a3d;border-radius:50%;background:none;color:var(--gold);font-size:26px;cursor:pointer}
.booking-head{text-align:center;padding:35px 45px 18px}
.booking-head small,.step-pane.success>small{font:500 8px Montserrat;letter-spacing:.28em;color:var(--red2)}
.booking-head h2{margin:7px 0;font:500 35px "Cormorant Garamond";letter-spacing:.14em;color:var(--gold-light)}
.booking-head p{font:300 9px Montserrat;color:#81786c}
.steps{display:flex;justify-content:center;align-items:center;gap:9px;margin-bottom:20px}
.steps span{width:28px;height:28px;border:1px solid #403a32;border-radius:50%;display:grid;place-items:center;color:#686057;font:500 8px Montserrat}
.steps span.active{border-color:var(--red2);color:var(--gold)}
.steps i{width:35px;height:1px;background:#332f2a}
.step-pane{display:none;padding:0 42px 38px;animation:fadeUp .35s}
.step-pane.active{display:block}
.service{display:flex;justify-content:space-between;align-items:center;padding:17px;border:1px solid var(--line);margin-bottom:15px}
.service small{font:500 7px Montserrat;letter-spacing:.22em;color:var(--red2)}
.service h3{margin:5px 0 0;font:500 22px "Cormorant Garamond";color:var(--gold-light)}
.service p{margin:2px 0 0;font:300 8px Montserrat;color:#777067}
.service>strong{font:500 16px "Cormorant Garamond";color:var(--gold)}
.calendar{border:1px solid var(--line);padding:16px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.calendar-head h3{font:500 17px "Cormorant Garamond";color:var(--gold-light);margin:0}
.calendar-head button{width:32px;height:32px;border:1px solid #403a32;background:none;color:var(--gold);font-size:23px;line-height:1;cursor:pointer}
.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.weekdays span{text-align:center;font:500 7px Montserrat;color:#696158;padding:5px 0}
.day{min-height:40px;border:1px solid transparent;background:rgba(255,255,255,.018);color:#bcb1a1;font:400 9px Montserrat;cursor:pointer}
.day:hover:not(.disabled){border-color:var(--red);color:#fff}
.day.selected{background:var(--red);border-color:var(--red2);color:#fff}
.day.today{box-shadow:inset 0 -2px 0 var(--red2)}
.day.disabled,.day.empty{opacity:.18;cursor:default}
.times{border:1px solid var(--line);padding:14px;margin-top:12px}
.selected-date{font:500 8px Cinzel;color:var(--gold);letter-spacing:.1em;margin-bottom:10px}
.time-list{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.time{height:40px;border:1px solid #403a32;background:none;color:#cfc2b1;font:500 9px Montserrat;cursor:pointer}
.time:hover,.time.selected{background:var(--red);border-color:var(--red2);color:#fff}
.error{min-height:18px;color:#c65a5f;font:400 8px Montserrat;padding:6px 0}
.next-step:disabled{opacity:.35;cursor:not-allowed;transform:none}
.summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-left:2px solid var(--red2);background:rgba(148,21,27,.06);padding:13px 15px;margin-bottom:20px}
.summary span{font:500 7px Montserrat;color:#81776b;letter-spacing:.15em}
.summary strong{font:500 14px "Cormorant Garamond";color:var(--gold-light)}
.summary .back-step{margin-left:auto;border:0;background:none;color:var(--red2);font:500 7px Montserrat;cursor:pointer}
#booking-form label{display:block;font:500 8px Montserrat;color:#887d6e;letter-spacing:.15em;margin:13px 0 6px}
#booking-form input{width:100%;height:48px;border:1px solid #38332d;background:#0b0b0b;color:var(--gold-light);outline:none;padding:0 13px;font:400 10px Montserrat}
#booking-form input:focus{border-color:var(--red2)}
.success{text-align:center}
.success-icon{width:62px;height:62px;border:1px solid var(--red2);border-radius:50%;display:grid;place-items:center;margin:5px auto 15px;color:var(--gold-light);font-size:25px}
.success h3{font:500 28px "Cormorant Garamond";color:var(--gold-light);margin:7px 0 20px}
.success-data{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:20px}
.success-data div{padding:14px}
.success-data div+div{border-left:1px solid var(--line)}
.success-data span,.success-data strong{display:block}
.success-data span{font:500 7px Montserrat;color:#777067;letter-spacing:.14em}
.success-data strong{font:500 13px "Cormorant Garamond";color:var(--gold);margin-top:5px}
.success>p{font:300 9px Montserrat;color:#aaa093;line-height:1.7;max-width:480px;margin:0 auto 15px}
.success>p b{color:var(--gold-light)}
.payment-link{width:100%}
.manual-note{display:block!important;font:300 8px Montserrat!important;color:#6d665c!important;line-height:1.6;margin:12px auto 20px}
.back-home{border:0;background:none;color:#80766a;font:500 7px Montserrat;letter-spacing:.16em;cursor:pointer}

@keyframes heroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes down{50%{transform:translateY(6px)}}

@media(max-width:991px){
  .site-header{height:88px}
  .navbar-collapse{background:rgba(3,3,3,.98);padding:10px}
  .brand img{width:120px;height:120px}
}
@media(max-width:575px){
  .hero{min-height:650px}
  .hero-logo{width:90vw}
  .oracle-info{gap:25px}
  .contact-item{border-right:0;border-bottom:1px solid var(--line);padding:17px}
  .contact-item:last-child{border-bottom:0}
  .booking{padding:8px}
  .booking-panel{max-height:calc(100vh - 16px)}
  .booking-head{padding:28px 35px 15px}
  .booking-head h2{font-size:28px}
  .step-pane{padding:0 15px 25px}
  .time-list{grid-template-columns:repeat(3,1fr)}
  .success-data{grid-template-columns:1fr}
  .success-data div+div{border-left:0;border-top:1px solid var(--line)}
}
