/* Selector de habitaciones físicas: panel (Nueva reserva) y web (Reserva de grupo). */
.unit-picker { display: grid; gap: 14px; }
.unit-floor h4 { margin: 0 0 8px; color: var(--naranja-texto); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.unit-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.unit-card { display: grid; align-content: start; gap: 3px; min-height: 120px; padding: 12px 14px; border: 1px solid var(--gris-linea); border-radius: 10px; background: #fff; color: var(--azul-noche); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.unit-card:hover:not(:disabled) { border-color: var(--azul-acero); }
.unit-card:focus-visible { outline: 3px solid var(--azul-acero); outline-offset: 2px; }
.unit-card strong { font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; }
.unit-card .unit-cap { font-size: 12px; font-weight: 700; color: var(--azul-acero); }
.unit-card .unit-type, .unit-card .unit-beds { color: var(--gris-texto); font-size: 12px; line-height: 1.35; }
.unit-card .unit-price { margin-top: 2px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.unit-card .unit-state { margin-top: 4px; font-size: 12px; font-weight: 700; }
.unit-card .unit-state.is-free { color: #14532d; }
.unit-card .unit-state.is-warn { color: #6b4a05; }
.unit-card.is-busy { background: var(--blanco-hospedaje); color: var(--gris-texto); cursor: not-allowed; }
.unit-card.is-preferred:not(.is-on) { border-style: dashed; border-color: var(--azul-acero); }
.unit-card.is-on { border: 2px solid var(--azul-acero); background: var(--azul-niebla); }
.unit-card.is-on .unit-state { color: var(--azul-acero); }
.unit-summary { margin: 0; color: var(--azul-acero); font-size: 13px; font-weight: 600; }
@media (max-width: 620px) { .unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .unit-card { min-height: 108px; } }

/* Más adultos que la capacidad: el personal puede reservar, y se avisa del recargo por persona adicional. */
.unit-card .unit-over { margin-top: 2px; padding: 3px 8px; border-radius: 6px; background: #fff0cf; color: #7a4e08; font-size: 12px; font-weight: 700; line-height: 1.3; }
.unit-summary.is-over { color: #7a4e08; }
.unit-over-note { margin: -4px 0 8px; padding: 9px 12px; border: 1px solid #e6c786; border-radius: 8px; background: #fff8e8; color: #6b4608; font-size: 13px; line-height: 1.45; }
.unit-over-note[hidden] { display: none; }
