/* Elección de canal al reservar (web/reservar.js): hoja inferior en móvil, ventana centrada en escritorio. */
.rv-elegir {
  width: 100%;
  max-width: 28rem;
  margin: auto auto 0;
  padding: 0;
  border: 0;
  border-radius: 20px 20px 0 0;
  background: #1a1a1e;
  color: #e3e1dc;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.55);
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.rv-elegir::backdrop { background: rgba(0, 0, 0, 0.6); }
.rv-elegir[open] { animation: rv-subir 0.22s ease-out; }
@keyframes rv-subir {
  from { transform: translateY(24px); opacity: 0; }
  to { transform: none; opacity: 1; }
}
.rv-caja {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.4rem 1.25rem max(1.25rem, env(safe-area-inset-bottom));
}
.rv-t {
  margin: 0;
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #f8f6f0;
  text-align: center;
}
.rv-ctx {
  margin: -0.35rem 0 0.25rem;
  font-size: 0.85rem;
  color: #e5c483;
  text-align: center;
}
.rv-ctx:empty { display: none; }
.rv-op {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  min-height: 3.75rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  text-align: center;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.rv-op:active { transform: scale(0.98); }
.rv-op-t { font-size: 1.1rem; font-weight: 700; }
.rv-op-s { font-size: 0.8rem; opacity: 0.88; }
.rv-op--wa { background: #1f7a4d; color: #fff; }
.rv-op--app {
  background: linear-gradient(135deg, #e5c483, #c5a059);
  color: #1a1408;
}
.rv-cerrar {
  min-height: 2.75rem;
  margin-top: 0.25rem;
  border: 0;
  background: none;
  color: #a8a6a0;
  font: inherit;
  font-size: 0.95rem;
  cursor: pointer;
}
.rv-op:focus-visible,
.rv-cerrar:focus-visible {
  outline: 3px solid rgba(229, 196, 131, 0.55);
  outline-offset: 3px;
}
@media (hover: hover) {
  .rv-op:hover { filter: brightness(1.06); }
}
@media (min-width: 640px) {
  .rv-elegir { margin: auto; border-radius: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .rv-elegir[open] { animation: none; }
  .rv-op:active { transform: none; }
}
