/* Hotel room service for guests (Pages/HotelServicio). Over buz.css (customer page base); light and dark. */
.rs-cab{padding-bottom:46px}
.rs-contenido{padding-bottom:110px}
.cabecera .idioma{position:absolute;top:12px;left:12px;min-height:36px;padding:0 14px;border-radius:999px;background:#ffffff26;color:var(--acento-t);font-weight:700;font-size:.88rem;width:auto}
.rs-vistas{display:flex;gap:8px;overflow-x:auto;margin:0 0 10px;padding:8px;border-radius:999px;background:var(--tarjeta);box-shadow:var(--sombra)}
.rs-vistas button{flex:1 0 auto;width:auto;min-height:40px;padding:0 14px;border-radius:999px;background:transparent;color:var(--tinta);border:0;font-weight:700}
.rs-vistas button[aria-pressed=true]{background:var(--acento);border-color:var(--acento);color:var(--acento-t)}
.rs-estado{margin:0 0 10px;padding:8px 12px;border-radius:12px;font-weight:700;font-size:.9rem}
.rs-estado.abierto{background:var(--e2-f);color:var(--e2-t)}
.rs-estado.cerrado{background:var(--e0-f);color:var(--e0-t)}
.rs-cats{position:sticky;top:0;z-index:3;display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin:0 0 4px;background:var(--fondo);scrollbar-width:none}
.rs-cats a{flex:none;padding:7px 12px;border-radius:999px;background:var(--relleno);color:var(--tinta);text-decoration:none;font-weight:700;font-size:.88rem}
.rs-cat{scroll-margin-top:56px}
.rs-cat h2{margin:16px 0 8px;font-size:1.15rem}
.rs-plato{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;margin:0 0 8px;border-radius:16px;background:var(--tarjeta);border:1px solid var(--linea);box-shadow:var(--sombra)}
.rs-plato:not(:has(img)){grid-template-columns:minmax(0,1fr) auto}
.rs-plato img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.rs-info{display:grid;gap:2px;min-width:0}
.rs-info b{font-size:1rem}
.rs-info span{font-size:.84rem;color:var(--suave);line-height:1.3}
.rs-info em{font-style:normal;font-weight:800;margin-top:2px}
.rs-plato.agotado{opacity:.6}
.rs-agotado{font-size:.8rem;font-weight:800;color:var(--suave)}
.rs-paso{display:flex;align-items:center;gap:6px}
.rs-paso button{width:auto;min-height:38px;min-width:38px;padding:0 10px;border-radius:999px;font-weight:800}
.rs-paso b{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.rs-barra{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--fondo);box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
.rs-barra button{max-width:560px;margin:0 auto;display:block}
.rs-carrito h2,.rs-seguir h2{margin:0 0 8px}
.rs-lineas{list-style:none;margin:0 0 10px;padding:0;display:grid}
.rs-lineas li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linea)}
.rs-lineas.amen li{grid-template-columns:minmax(0,1fr) auto}
.rs-lineas li>div:first-child{display:grid;min-width:0}
.rs-lineas li span{font-size:.84rem;color:var(--suave)}
.rs-lineas li em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums;min-width:4.5em;text-align:right}
.rs-cuenta{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:8px 0 12px}
.rs-cuenta dt{color:var(--suave)}
.rs-cuenta dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.rs-hab{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 4px;padding:10px 12px;border-radius:12px;background:var(--relleno)}
.rs-hab span{color:var(--suave);font-weight:700}
.rs-sinhab{margin:12px 0 4px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--acento);font-weight:700}
.rs-cuenta .total{font-weight:800;color:var(--tinta);font-size:1.1rem;padding-top:6px;border-top:1px solid var(--linea)}
.rs-pasos{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;counter-reset:p}
.rs-pasos li{position:relative;padding-top:30px;text-align:center;font-size:.78rem;font-weight:700;color:var(--suave)}
.rs-pasos li::before{content:"";position:absolute;top:6px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:var(--relleno);border:2px solid var(--linea)}
.rs-pasos li::after{content:"";position:absolute;top:14px;left:calc(50% + 12px);right:calc(-50% + 12px);height:3px;border-radius:2px;background:var(--linea)}
.rs-pasos li:last-child::after{display:none}
.rs-pasos li.hecho,.rs-pasos li.actual{color:var(--tinta)}
.rs-pasos li.hecho::before{background:var(--e2-t);border-color:var(--e2-t)}
.rs-pasos li.hecho::after{background:var(--e2-t)}
.rs-pasos li.actual::before{background:var(--acento);border-color:var(--acento);box-shadow:0 0 0 4px color-mix(in srgb,var(--acento) 25%,transparent)}
.rs-cancelado{margin:8px 0;padding:10px 12px;border-radius:12px;background:var(--peligro-f);color:var(--mal);font-weight:700}
.rs-resumen{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px}
.rs-resumen li{display:flex;justify-content:space-between;gap:10px}
.rs-resumen em{font-style:normal;font-variant-numeric:tabular-nums}
[data-seguir]{cursor:pointer}
.rs-pagos{border:0;margin:10px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rs-pagos legend{padding:0;margin-bottom:6px;font-weight:700}
.rs-pagos label{display:flex;gap:8px;align-items:center;margin:0;padding:10px 12px;border-radius:12px;border:1.5px solid var(--linea);background:var(--tarjeta);font-weight:650;cursor:pointer}
.rs-pagos label:has(input:checked){border-color:var(--acento);background:color-mix(in srgb,var(--acento) 10%,var(--tarjeta))}
.rs-pagos input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--acento)}
@media(max-width:360px){.rs-pagos{grid-template-columns:1fr}}
/* Restaurant or bar table (Pages/HotelMesa): the table's orders, their state and the waiter call notice. */
.rs-mesa-pedido{padding:10px 0;border-top:1px solid var(--linea)}
.rs-mesa-pedido p{margin:0 0 4px}
.rs-mesa-pedido.cancelado{opacity:.6}
.rs-mesa-pedido.cancelado .rs-resumen{text-decoration:line-through}
.rs-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--e1-f);color:var(--e1-t)}
.rs-chip.porconfirmar{background:var(--e0-f);color:var(--e0-t)}
.rs-chip.entregado{background:var(--e2-f);color:var(--e2-t)}
.rs-chip.cancelado{background:var(--peligro-f);color:var(--mal)}
.rs-aviso{margin:10px 0;padding:10px 12px;border-radius:12px;background:var(--e2-f);color:var(--e2-t);font-weight:700}
