:root{
  --bg:#14110d; --bg2:#1c1812; --card:#211c15; --gold:#c3a15e; --gold-dim:#8a744a;
  --cream:#efe6d6; --muted:#a89a83; --line:#3a3327; --danger:#c96a5a;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--bg); color:var(--cream); font-family:'Inter',sans-serif;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);}
html{scroll-padding-top:env(safe-area-inset-top,0px);}
h1,h2,h3{font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.01em;}
.wrap{max-width:760px; margin:0 auto; padding:2.5rem 1.25rem 6rem;}
.hidden{display:none;}
.reveal{animation:fade .6s ease;}
@keyframes fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

.hero h1{font-size:clamp(28px,6vw,42px); line-height:1.15; margin-bottom:.5rem;}
.hero p{color:var(--muted); font-size:15px; max-width:46ch; line-height:1.6;}

.video-box{margin-top:1.75rem; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#000;}
.video-frame{position:relative; aspect-ratio:9/16; max-height:640px; background:#000;}
.test-row{padding:0 1rem 1rem; display:flex; gap:.5rem; flex-wrap:wrap;}
.test-row button{font-size:12px; padding:.4rem .7rem; background:transparent; border:1px solid var(--line); color:var(--muted); border-radius:6px; cursor:pointer;}
.test-row button:hover{border-color:var(--gold); color:var(--gold);}
.note{font-size:12px; color:var(--gold-dim); margin-top:.4rem;}

section{margin-top:3.5rem;}
section h2{font-size:26px; margin-bottom:.3rem;}
.lead{color:var(--muted); font-size:14px; margin-bottom:1.5rem; max-width:52ch;}

.testi-grid{display:grid; gap:1rem;}
.testi-card{background:var(--card); border:1px solid var(--line); border-radius:10px; padding:1rem 1.1rem; font-size:14px; line-height:1.55; color:var(--muted);}
.testi-card b{color:var(--cream); font-family:'Cormorant Garamond',serif; font-weight:600;}
.t-head{display:flex; align-items:center; gap:.6rem; margin-bottom:.6rem;}
.avatar{width:40px; height:40px; border-radius:50%; background:#2a2317; border:1px solid var(--gold-dim); color:var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:15px; flex-shrink:0;}
.t-name{color:var(--cream); font-size:14px; font-weight:500;}
.t-handle{color:var(--gold); font-size:12.5px; text-decoration:none;}
.t-handle:hover{text-decoration:underline;}
.t-pending{color:var(--danger); font-size:11.5px;}
.t-text{font-size:14px; line-height:1.6;}
.t-audio{margin-top:.7rem;}
.t-audio audio{width:100%; height:34px;}
.t-photos{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:.8rem;}
.t-photos img{width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:6px;}
.placeholder{border-style:dashed; color:var(--gold-dim); text-align:center;}

.tabs{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem;}
.tab{padding:.55rem 1rem; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); font-size:13px; cursor:pointer;}
.tab.active{border-color:var(--gold); color:var(--gold);}

.pacotes{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.75rem; margin-bottom:2rem;}
.pac{border:1px solid var(--line); border-radius:10px; padding:1rem .9rem; cursor:pointer; background:var(--card);}
.pac.sel{border-color:var(--gold); background:#2a2317;}
.pac .badge{font-size:10px; color:var(--gold); border:1px solid var(--gold-dim); border-radius:4px; padding:1px 6px; display:inline-block; margin-bottom:.4rem;}
.pac h3{font-size:19px; margin-bottom:.35rem;}
.pac ul{list-style:none; font-size:12.5px; color:var(--muted); line-height:1.6; margin-bottom:.5rem;}
.pac .valor{font-size:17px; color:var(--cream); font-family:'Cormorant Garamond',serif;}

.group-title{font-size:13px; text-transform:uppercase; letter-spacing:.06em; color:var(--gold-dim); margin:1.75rem 0 .6rem;}
.radiog{display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem;}
.rrow{display:flex; align-items:center; gap:.6rem; font-size:13.5px; color:var(--muted); cursor:pointer;}
.rrow input{accent-color:var(--gold);}

.item{display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:14px;}
.item-left{display:flex; align-items:center; gap:.4rem;}
.help{width:16px; height:16px; border-radius:50%; border:1px solid var(--muted); color:var(--muted); font-size:10px; display:inline-flex; align-items:center; justify-content:center; cursor:default; position:relative; flex-shrink:0;}
.help:hover .tip{display:block;}
.tip{display:none; position:absolute; bottom:130%; left:50%; transform:translateX(-50%); width:min(280px,80vw); background:#2a2317; border:1px solid var(--gold-dim); color:var(--cream); font-size:12px; line-height:1.55; padding:.6rem .7rem; border-radius:8px; z-index:5;}
.price{color:var(--muted); font-size:12.5px; min-width:70px; text-align:right;}
.qty{display:flex; align-items:center; gap:.4rem;}
.qty button{width:24px; height:24px; border:1px solid var(--line); background:transparent; color:var(--cream); border-radius:5px; cursor:pointer;}
.qty span{min-width:16px; text-align:center; font-size:13px;}
input[type=checkbox]{width:16px; height:16px; accent-color:var(--gold);}

.totalbar{position:sticky; bottom:0; margin-top:2rem; background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:1rem 1.2rem; display:flex; justify-content:space-between; align-items:center; padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));}
.totalbar .lbl{font-size:12px; color:var(--muted);}
.totalbar .val{font-size:24px; font-family:'Cormorant Garamond',serif; color:var(--gold);}
.totalbar .sub{font-size:11.5px; color:var(--muted); margin-top:2px;}

/* vídeo (arquivo próprio, vertical 9:16, sem YouTube e sem barra de arrastar) */
.video-frame{width:min(100%,360px); margin:0 auto; max-height:none;}
.video-frame video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.video-frame video::-webkit-media-controls{display:none !important;}
.video-play{position:absolute; inset:0; width:100%; height:100%; margin:0; padding:0; border:0;
  background:rgba(20,17,13,.35); color:var(--cream); font-size:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;}
.video-play::before{content:'▶'; display:flex; align-items:center; justify-content:center;
  width:64px; height:64px; padding-left:5px; border-radius:50%; background:var(--gold);
  color:#1a140b; font-size:22px;}
.video-play.hidden{display:none;}
.aviso-espera{text-align:center; color:var(--gold-dim); font-size:13px; margin-top:2.5rem;}
.test-row{display:none;}
.test-mode .test-row{display:flex;}

/* barra do total + botão */
.totalbar{flex-direction:column; align-items:stretch; gap:.8rem;}
.tb-row{display:flex; justify-content:space-between; align-items:center; gap:1rem;}
.btn{width:100%; padding:.85rem 1rem; border:1px solid var(--gold); background:var(--gold); color:#1a140b; font:600 15px 'Inter',sans-serif; border-radius:9px; cursor:pointer;}
.btn:hover:not(:disabled){filter:brightness(1.08);}
.btn:disabled{opacity:.35; cursor:not-allowed;}
.btn.sec{background:transparent; color:var(--gold);}

/* agenda */
.reserva-titulo{margin-top:2.5rem;}
.dias{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.6rem;}
.dia{border:1px solid var(--line); border-radius:10px; padding:.7rem .75rem; background:var(--card);}
.dia .d{font-size:13px; color:var(--cream); margin-bottom:.5rem; text-transform:capitalize;}
.chips{display:flex; gap:.4rem; flex-wrap:wrap;}
.chip{font:500 12.5px 'Inter',sans-serif; padding:.4rem .6rem; border-radius:7px; border:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer;}
.chip:hover{border-color:var(--gold-dim); color:var(--cream);}
.chip.sel{border-color:var(--gold); background:#2a2317; color:var(--gold);}

/* formulário */
.campo{display:block; font-size:13px; color:var(--muted); margin-bottom:.9rem;}
.campo input{display:block; width:100%; margin-top:.35rem; padding:.7rem .8rem; font:16px 'Inter',sans-serif; color:var(--cream); background:var(--card); border:1px solid var(--line); border-radius:8px;}
.campo input:focus{outline:none; border-color:var(--gold);}
.resumo-reserva{border:1px solid var(--line); background:var(--card); border-radius:10px; padding:.9rem 1rem; margin:1.2rem 0 1rem; font-size:14px; line-height:1.7; color:var(--muted);}
.resumo-reserva b{color:var(--cream); font-weight:500;}
.erro{color:var(--danger); font-size:13.5px; margin-bottom:.8rem;}
form .note{margin-top:.6rem;}
.politica{margin-top:1.4rem; font-size:13px; color:var(--muted);}
.politica summary{cursor:pointer; color:var(--gold-dim);}
.politica ul{margin:.6rem 0 0 1.1rem; line-height:1.7;}

/* PIX / situação da reserva */
.pix-card{border:1px solid var(--gold-dim); border-radius:14px; background:var(--card); padding:1.4rem 1.2rem; text-align:center;}
.pix-card h2{font-size:24px; margin-bottom:.3rem;}
.pix-card .quando{color:var(--cream); font-size:15px; margin-bottom:1.1rem;}
.pix-card .valor-pix{font-family:'Cormorant Garamond',serif; font-size:34px; color:var(--gold); margin:.2rem 0 .1rem;}
.pix-card .sub{font-size:12.5px; color:var(--muted);}
.qr{display:inline-block; background:#fff; padding:12px; border-radius:10px; margin:1.1rem 0 .4rem; line-height:0;}
.qr svg{width:220px; height:220px;}
.contagem{font-size:14px; color:var(--muted); margin:.6rem 0 1rem;}
.contagem b{color:var(--cream); font-variant-numeric:tabular-nums;}
.copia{width:100%; font:12px ui-monospace,Menlo,monospace; color:var(--muted); background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:.6rem; height:5.2rem; resize:none; margin-bottom:.6rem;}
.pix-card .btn + .btn{margin-top:.6rem;}
.passos{text-align:left; font-size:13.5px; color:var(--muted); line-height:1.7; margin:1.2rem 0 1rem; padding-left:1.1rem;}
.aviso-ok{color:var(--cream); font-size:15px; line-height:1.6; margin:.8rem 0;}

/* meses recolhidos (um aberto por vez) */
.mes-bloco{margin-bottom:.6rem;}
.mes-btn{width:100%; display:flex; align-items:center; gap:.8rem; padding:.9rem 1rem; background:var(--card); border:1px solid var(--line); border-radius:10px; color:var(--cream); font:500 15px 'Inter',sans-serif; cursor:pointer; text-align:left;}
.mes-btn:hover{border-color:var(--gold-dim);}
.mes-bloco.aberto .mes-btn{border-color:var(--gold);}
.mes-nome{flex:1;}
.mes-info{font-size:12.5px; color:var(--muted); font-weight:400;}
.mes-info.sel{color:var(--gold);}
.seta{color:var(--gold-dim); transition:transform .2s;}
.mes-bloco.aberto .seta{transform:rotate(180deg);}
.dias.hidden{display:none;}
.mes-bloco .dias{margin-top:.7rem;}
