/* Reserva online — Hoppy Pig (usa as variáveis de cor do index.html) */
dialog.rv{margin:auto;color-scheme:dark;width:min(820px,100% - 20px);max-height:94vh;max-height:94dvh;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--ink);color:var(--cream);font-family:'Outfit',system-ui,sans-serif;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
dialog.rv::backdrop{background:rgba(8,6,4,.82);backdrop-filter:blur(4px)}
.rv-in{display:flex;flex-direction:column;max-height:94vh;max-height:94dvh}
.rv-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--ink-2);border-bottom:1px solid var(--line)}
.rv-top h2{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:2rem;letter-spacing:.03em;color:var(--orange);margin:0;line-height:1}
.rv-x{background:none;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;color:var(--cream);font-size:1.6rem;line-height:1;cursor:pointer}
.rv-x:hover{border-color:var(--orange);color:var(--orange-2)}
.rv-steps{display:flex;gap:6px;padding:14px 20px 0;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.rv-steps span{flex:1;padding-bottom:8px;border-bottom:2px solid var(--line);color:var(--muted)}
.rv-steps span.on{border-color:var(--orange);color:var(--orange-2)}
.rv-body{padding:18px 20px 8px;overflow:auto}
.rv-foot{display:flex;gap:10px;justify-content:space-between;padding:14px 20px 18px;border-top:1px solid var(--line)}
.rv-foot .btn{flex:1;justify-content:center;font-family:inherit}
.rv-foot .btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}
.rv label.t,.rv .lab{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:600;margin:18px 0 8px}
.rv label.t:first-child,.rv .lab:first-child{margin-top:0}
.rv-2col{display:grid;grid-template-columns:1fr;gap:0 24px;margin-top:6px}
.rv-2col .lab{margin-top:18px}
@media (min-width:760px){.rv-2col{grid-template-columns:1.05fr .95fr}.rv-2col .lab{margin-top:14px}
  .rv-2col .rv-chip{flex:1 0 21%;padding:9px 4px;text-align:center}}
.rv-count{display:flex;align-items:center;gap:14px}
.rv-count button{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--cream);font-size:1.4rem;cursor:pointer}
.rv-count button:hover{border-color:var(--orange);background:var(--orange);color:#1a0d00}
.rv-count output{min-width:100px;text-align:center;font-family:'Bebas Neue',Impact,sans-serif;font-size:2rem;letter-spacing:.03em}
.rv input[type=text],.rv input[type=tel],.rv input[type=email],.rv select,.rv textarea{width:100%;padding:12px 14px;background:var(--ink-2);color:var(--cream);border:1px solid var(--line);border-radius:12px;font:inherit;font-size:1rem;color-scheme:dark}
.rv input:focus,.rv select:focus,.rv textarea:focus{outline:2px solid var(--orange);outline-offset:1px}
.rv textarea{min-height:76px;resize:vertical}
.rv-cal{border:1px solid var(--line);border-radius:14px;background:var(--ink-2);padding:12px 12px 14px}
.rv-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.rv-cal-top strong{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.5rem;font-weight:400;letter-spacing:.04em}
.rv-nav{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--cream);font-size:1.4rem;line-height:1;cursor:pointer}
.rv-nav:hover:not([disabled]){border-color:var(--orange);background:var(--orange);color:#1a0d00}
.rv-nav[disabled]{opacity:.3;cursor:not-allowed}
.rv-cal-sem,.rv-cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rv-cal-sem span{text-align:center;font-size:.72rem;letter-spacing:.12em;color:var(--orange);padding:4px 0;font-weight:600}
.rv-dia{height:40px;display:grid;place-items:center;font:inherit;font-size:1rem;background:none;color:var(--cream);border:1px solid transparent;border-radius:10px}
button.rv-dia{cursor:pointer;border-color:var(--line)}
button.rv-dia:hover{border-color:var(--orange);background:rgba(242,128,15,.14)}
.rv-dia.on{background:var(--orange);color:#1a0d00;border-color:var(--orange);font-weight:700}
.rv-dia.hoje:not(.on){box-shadow:inset 0 0 0 1px rgba(255,161,61,.55)}
.rv-dia.off{opacity:.25;cursor:default;border-color:transparent;box-shadow:none}
.rv-dia.vazio{border:0}
.rv-chips{display:flex;flex-wrap:wrap;gap:8px}
.rv-chip{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:none;color:var(--cream);font:inherit;font-size:.95rem;cursor:pointer}
.rv-chip:hover{border-color:var(--orange)}
.rv-chip.on{background:var(--orange);color:#1a0d00;border-color:var(--orange);font-weight:600}
.rv-chip[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.rv-note{font-size:.88rem;color:var(--muted);margin-top:12px;padding:10px 12px;border-left:3px solid var(--orange);background:var(--ink-2);border-radius:0 10px 10px 0}
.rv-note a{color:var(--orange-2);text-decoration:underline}
.rv-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:.92rem;cursor:pointer}
.rv-check input{margin-top:4px;accent-color:var(--orange);width:18px;height:18px}
.rv-sum{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:6px;font-size:.95rem}
.rv-sum b{color:var(--orange-2);font-weight:600}
.rv-err{color:#ff9d92;margin-top:12px;font-size:.92rem;min-height:1.2em}
.rv-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.rv-done{text-align:center;padding:10px 0 4px}
.rv-done .ok{width:64px;height:64px;margin:0 auto 14px;border:2px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange-2);font-size:2rem}
.rv-done h3{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;font-size:2.4rem;letter-spacing:.03em;margin-bottom:.4rem}
.rv-code{display:inline-block;font-family:'Bebas Neue',Impact,sans-serif;font-size:2.4rem;letter-spacing:.14em;color:var(--orange-2);border:1px dashed var(--orange);border-radius:12px;padding:4px 22px;margin:12px 0}
.rv-wa{display:block;background:#25d366;color:#08210f;font-weight:600;padding:14px;border-radius:999px;margin-top:16px;text-align:center}
@media (max-width:520px){.rv-foot{flex-direction:column-reverse}.rv-chip{flex:1 0 28%;text-align:center}
  dialog.rv{width:100%;max-width:100%;margin:auto 0 0;border-radius:20px 20px 0 0;max-height:96dvh}.rv-in{max-height:96dvh}}
