/* Reservas Quincho · pensado para leer fácil: letra grande, botones grandes, alto contraste */
:root{
  --verde-900:#16301d; --verde-700:#245032; --verde-500:#3f7a40; --verde-100:#e3efdc;
  --madera-700:#6b4224; --madera-500:#a8754a; --madera-100:#f4ebe0;
  --crema:#fbf8f2; --tinta:#1a1f17; --gris:#4a5245; --linea:#cfc6b5;
  --rojo:#a3261b; --rojo-100:#fbe3df; --amarillo:#8a5a00; --amarillo-100:#fff1cc;
  --azul:#1f4f8a; --azul-100:#e1ecfa; --wa:#25d366; --wa-osc:#0b5d2e;
  --radio:18px; --sombra:0 6px 20px rgba(22,48,29,.18);
  --toque:max(56px,2.8rem);
  --titulos:Georgia,"Times New Roman",serif;
  --texto:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{font-size:23px}
html[data-size="normal"]{font-size:20px}
html[data-size="grande"]{font-size:23px}
html[data-size="enorme"]{font-size:27px}
*{box-sizing:border-box}
body{margin:0;font-family:var(--texto);font-size:1rem;line-height:1.45;color:var(--tinta);background:var(--crema);
  padding-bottom:calc(5.6rem + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:var(--titulos);line-height:1.15;margin:0}
h2{font-size:1.45rem;color:var(--verde-900);margin:1.2rem 0 .6rem}
p{margin:.4rem 0}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:4px solid var(--madera-500);outline-offset:3px}

/* Encabezado */
.top{position:sticky;top:0;z-index:30;background:var(--verde-700);color:#fff;
  padding:calc(.6rem + env(safe-area-inset-top)) 1rem .7rem;display:flex;align-items:center;gap:.6rem;min-height:4rem;box-shadow:var(--sombra)}
.top h1{font-size:1.5rem;color:#fff;flex:1}
.btn-volver{min-height:var(--toque);padding:0 .8rem;border-radius:14px;border:2px solid #fff;background:transparent;color:#fff;font-weight:800;font-size:1rem;white-space:nowrap}

main{padding:1rem;max-width:760px;margin:0 auto;outline:none}

/* Botones */
.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:var(--toque);padding:.6rem 1rem;
  border-radius:var(--radio);border:3px solid transparent;font-weight:800;font-size:1.05rem;text-align:center;text-decoration:none;line-height:1.2}
.btn + .btn{margin-top:.7rem}
.btn-principal{background:var(--verde-700);color:#fff}
.btn-principal:active{background:var(--verde-900)}
.btn-madera{background:var(--madera-500);color:#fff}
.btn-wa{background:var(--wa);color:#05361a}
.btn-claro{background:#fff;color:var(--verde-900);border-color:var(--verde-700)}
.btn-peligro{background:var(--rojo);color:#fff}
.btn-borde-rojo{background:#fff;color:var(--rojo);border-color:var(--rojo)}
.btn[disabled]{opacity:.55}
.botonera{margin:1.2rem 0}

.fab{position:fixed;z-index:25;right:1rem;bottom:calc(5.4rem + env(safe-area-inset-bottom));min-height:4rem;padding:0 1.4rem;
  border-radius:999px;border:0;background:var(--madera-500);color:#fff;font-weight:900;font-size:1.15rem;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.fab[hidden]{display:none}

/* Pestañas de abajo: solo 3, grandes */
.tabs{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;
  border-top:3px solid var(--verde-700);padding-bottom:env(safe-area-inset-bottom)}
.tab{position:relative;min-height:4.6rem;border:0;background:#fff;color:var(--gris);font-weight:800;font-size:.95rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}
.tab .ico{font-size:1.5rem;line-height:1}
.tab.activa{color:var(--verde-900);background:var(--verde-100);box-shadow:inset 0 5px 0 var(--verde-700)}
.badge{position:absolute;top:.35rem;left:calc(50% + .6rem);min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:var(--rojo);color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.badge[hidden]{display:none}

/* Tarjetas de reserva */
.lista{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.tarjeta{display:block;width:100%;text-align:left;background:#fff;border:3px solid var(--linea);border-left-width:14px;border-radius:var(--radio);padding:1rem 1.1rem;box-shadow:var(--sombra)}
.tarjeta .nombre{font-size:1.25rem;font-weight:900;color:var(--tinta);margin:0}
.tarjeta .fecha{font-size:1.05rem;color:var(--gris);margin:.15rem 0 .4rem}
.tarjeta .faltan{font-family:var(--titulos);font-size:2.1rem;font-weight:700;color:var(--verde-900);line-height:1.1;margin:.2rem 0 .5rem}
.tarjeta .faltan.hoy{color:var(--rojo)}
.tarjeta .ver{display:block;margin-top:.6rem;font-weight:800;color:var(--verde-700)}
.est{display:inline-block;padding:.3rem .8rem;border-radius:999px;font-weight:900;font-size:1rem}
.est-pendiente{background:var(--rojo-100);color:var(--rojo)} .tarjeta.est-pendiente-b{border-color:var(--rojo)}
.est-abonado{background:var(--amarillo-100);color:var(--amarillo)} .tarjeta.est-abonado-b{border-color:#d9a400}
.est-completo{background:var(--verde-100);color:var(--verde-700)} .tarjeta.est-completo-b{border-color:var(--verde-500)}
.est-hecha{background:#e9e6df;color:#3d3d3d} .tarjeta.est-hecha-b{border-color:#9a948a}
.est-cancelada{background:#e9e6df;color:#3d3d3d;text-decoration:line-through} .tarjeta.est-cancelada-b{border-color:#9a948a;opacity:.85}

.vacio{background:#fff;border:3px dashed var(--linea);border-radius:var(--radio);padding:1.4rem;text-align:center;font-size:1.1rem}
.ayuda{color:var(--gris);font-size:.95rem}
.resumen-hoy{background:var(--madera-100);border-radius:var(--radio);padding:.8rem 1rem;margin-bottom:1rem;font-size:1.05rem}

/* Formulario */
.campo{margin:0 0 1.1rem}
.campo label,.campo .etiqueta{display:block;font-weight:900;margin-bottom:.35rem;font-size:1.05rem}
.campo input,.campo textarea{width:100%;min-height:var(--toque);padding:.5rem .8rem;border:3px solid var(--linea);border-radius:14px;background:#fff;font-size:1.1rem}
.campo input:focus,.campo textarea:focus{border-color:var(--verde-700)}
.campo textarea{min-height:6rem;resize:vertical}
.campo .nota{margin-top:.3rem;font-size:.95rem;color:var(--gris)}
.campo .alerta{margin-top:.3rem;font-size:1rem;color:var(--rojo);font-weight:800}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:420px){ html[data-size="enorme"] .fila2{grid-template-columns:1fr} }

/* Sí / No grandes */
.sino{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.sino button{min-height:var(--toque);border-radius:14px;border:3px solid var(--linea);background:#fff;font-weight:900;font-size:1.1rem}
.sino button[aria-pressed="true"].si{background:var(--verde-700);border-color:var(--verde-700);color:#fff}
.sino button[aria-pressed="true"].no{background:#5b5b5b;border-color:#5b5b5b;color:#fff}

/* Caja de plata */
.plata{background:#fff;border:3px solid var(--verde-500);border-radius:var(--radio);padding:1rem;margin:0 0 1.2rem}
.plata .linea{display:flex;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-bottom:2px dashed var(--linea);font-size:1.1rem}
.plata .linea:last-child{border-bottom:0}
.plata .linea b{white-space:nowrap}
.plata .ok{color:var(--verde-700)} .plata .falta{color:var(--rojo)}
.seccion{background:var(--verde-100);border-radius:var(--radio);padding:1rem;margin:1.2rem 0}
.seccion h2{margin-top:0}

/* Avisos */
.alerta-card{background:#fff;border:3px solid var(--linea);border-left-width:14px;border-radius:var(--radio);padding:1rem;box-shadow:var(--sombra)}
.alerta-card.urgente{border-color:var(--rojo)} .alerta-card.pronto{border-color:#d9a400} .alerta-card.info{border-color:var(--azul)}
.alerta-card .que{font-size:1.3rem;font-weight:900;margin:0 0 .2rem}
.alerta-card .quien{font-size:1.05rem;margin:0 0 .8rem;color:var(--gris)}

/* Diálogo de confirmación */
.dlg-fondo{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.dlg-fondo[hidden]{display:none}
.dlg{background:#fff;border-radius:22px;padding:1.4rem;max-width:520px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.dlg h2{margin:0 0 .6rem;font-size:1.5rem;color:var(--tinta)}
.dlg p{font-size:1.1rem;margin:0 0 1.2rem}
.dlg-botones .btn + .btn{margin-top:.8rem}

.toast{position:fixed;z-index:60;left:1rem;right:1rem;bottom:calc(6rem + env(safe-area-inset-bottom));margin:0 auto;max-width:520px;background:var(--verde-900);color:#fff;
  padding:1rem 1.2rem;border-radius:16px;font-weight:900;font-size:1.1rem;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.toast[hidden]{display:none}

/* Ajustes */
.tamanos{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.tamanos button{min-height:var(--toque);border-radius:14px;border:3px solid var(--linea);background:#fff;font-weight:900}
.tamanos button[aria-pressed="true"]{background:var(--verde-700);color:#fff;border-color:var(--verde-700)}
.tamanos .t1{font-size:20px} .tamanos .t2{font-size:23px} .tamanos .t3{font-size:27px}
ol.pasos{padding-left:1.4rem;margin:.4rem 0} ol.pasos li{margin:.4rem 0}
details{background:#fff;border:3px solid var(--linea);border-radius:var(--radio);padding:.4rem 1rem;margin:.7rem 0}
summary{min-height:var(--toque);display:flex;align-items:center;font-weight:900;cursor:pointer}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nojs{padding:1rem;font-size:1.2rem}
