/* Reserva online — Estilo Bistrô (usa as variáveis de cor do index.html) */
.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-dia.hoje.off{border-color:transparent;box-shadow:none}
dialog.rv{margin:auto;color-scheme:dark;width:min(820px,100% - 20px);max-height:94vh;padding:0;border:1px solid var(--ouro);background:var(--preto);color:var(--creme);font-family:var(--sans);overflow:hidden}
dialog.rv::backdrop{background:rgba(10,3,3,.78);backdrop-filter:blur(3px)}
.rv-in{display:flex;flex-direction:column;max-height:94vh}
.rv-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--vinho);border-bottom:1px solid var(--ouro)}
.rv-top h2{font-size:1.7rem;margin:0}
.rv-x{background:none;border:0;color:var(--creme);font-size:1.8rem;line-height:1;cursor:pointer;padding:4px 8px}
.rv-steps{display:flex;gap:6px;padding:14px 20px 0;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.rv-steps span{flex:1;padding-bottom:8px;border-bottom:2px solid rgba(201,151,28,.25);opacity:.6}
.rv-steps span.on{border-color:var(--ouro-claro);opacity:1;color:var(--ouro-claro)}
.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 rgba(201,151,28,.25)}
.rv-foot .btn{flex:1;text-align:center;cursor:pointer;font-family:inherit}
.rv-foot button.btn{background:transparent;color:var(--creme);border:1px solid var(--ouro)}
.rv-foot button.btn.solid{background:var(--ouro);color:var(--preto)}
.rv-foot button.btn.solid:hover{background:var(--ouro-claro)}
.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(--ouro);margin:18px 0 8px}
.rv label.t:first-child,.rv .lab:first-child{margin-top:0}
.rv-count{display:flex;align-items:center;gap:14px}
.rv-count button{width:44px;height:44px;border:1px solid var(--ouro);background:none;color:var(--creme);font-size:1.4rem;cursor:pointer}
.rv-count button:hover{background:var(--ouro);color:var(--preto)}
.rv-count output{min-width:90px;text-align:center;font-family:var(--serif);font-size:1.7rem}
.rv input[type=date],.rv input[type=text],.rv input[type=tel],.rv input[type=email],.rv select,.rv textarea{width:100%;padding:12px 14px;background:#1c0d0d;color:var(--creme);border:1px solid rgba(201,151,28,.45);font:inherit;font-size:1rem;border-radius:0;color-scheme:dark}
.rv input:focus,.rv select:focus,.rv textarea:focus{outline:2px solid var(--ouro-claro);outline-offset:1px}
.rv textarea{min-height:76px;resize:vertical}
.rv-cal{border:1px solid rgba(201,151,28,.45);background:#1c0d0d;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:var(--serif);font-size:1.4rem;font-weight:500}
.rv-nav{width:38px;height:38px;border:1px solid var(--ouro);background:none;color:var(--creme);font-size:1.4rem;line-height:1;cursor:pointer}
.rv-nav:hover:not([disabled]){background:var(--ouro);color:var(--preto)}
.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(--ouro);padding:4px 0}
.rv-dia{height:40px;display:grid;place-items:center;font:inherit;font-size:1rem;background:none;color:var(--creme);border:1px solid transparent}
button.rv-dia{cursor:pointer;border-color:rgba(201,151,28,.25)}
button.rv-dia:hover{border-color:var(--ouro-claro);background:rgba(201,151,28,.15)}
.rv-dia.on{background:var(--ouro);color:var(--preto);border-color:var(--ouro);font-weight:600}
.rv-dia.hoje:not(.on){border-color:var(--ouro-claro);box-shadow:inset 0 0 0 1px rgba(226,184,74,.5)}
.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 rgba(201,151,28,.55);background:none;color:var(--creme);font:inherit;font-size:.95rem;cursor:pointer}
.rv-chip:hover{border-color:var(--ouro-claro)}
.rv-chip.on{background:var(--ouro);color:var(--preto);border-color:var(--ouro)}
.rv-chip[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.rv-note{font-size:.88rem;opacity:.85;margin-top:12px;padding:10px 12px;border-left:3px solid var(--ouro);background:rgba(123,0,0,.35)}
.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(--ouro);width:18px;height:18px}
.rv-sum{background:#1c0d0d;border:1px solid rgba(201,151,28,.35);padding:12px 14px;margin-bottom:6px;font-size:.95rem}
.rv-sum b{color:var(--ouro-claro);font-weight:500}
.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(--ouro-claro);border-radius:50%;display:grid;place-items:center;color:var(--ouro-claro);font-size:2rem}
.rv-done h3{font-size:2rem;margin-bottom:.4rem}
.rv-code{display:inline-block;font-family:var(--serif);font-size:2rem;letter-spacing:.14em;color:var(--ouro-claro);border:1px dashed var(--ouro);padding:6px 20px;margin:12px 0}
.rv-wa{display:block;background:#25d366;color:#08210f;text-decoration:none;font-weight:500;padding:14px;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}}
