/* Hotel amenities - check-in/out tiles, icon grid on wide frames, a list on narrow ones. */
.ha { display: grid; gap: 14px; min-width: 0; }
.ha-title { margin: 0; font-size: 1.22em; font-weight: 750; letter-spacing: -.012em; overflow-wrap: anywhere; }
.ha-times { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ha-time { display: grid; gap: 1px; padding: 10px 14px; border-radius: calc(var(--e-radius-sm) + 2px); background: var(--e-hero); border: 1px solid color-mix(in srgb, var(--e-accent) 12%, transparent); }
.ha-time small { font-size: .74em; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; color: var(--e-ink-2); }
.ha-time strong { font-size: 1.3em; font-weight: 750; color: var(--e-accent-fg); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.ha-group, .ha-rules { display: grid; gap: 8px; }
.ha-gname { margin: 0; font-size: .78em; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; color: var(--e-ink-3); }
.ha-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.ha-item { display: flex; gap: 10px; align-items: flex-start; padding: 9px 10px; border-radius: var(--e-radius-sm); border: 1px solid var(--e-line); background: var(--e-bg); min-width: 0; }
.ha-ico { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: color-mix(in srgb, var(--e-accent) 11%, var(--e-bg)); color: var(--e-accent-fg); }
.ha-ico svg { width: 19px; height: 19px; }
.ha-text { display: grid; gap: 1px; min-width: 0; }
.ha-name { font-weight: 650; font-size: .93em; overflow-wrap: anywhere; }
.ha-detail { font-size: .8em; color: var(--e-ink-3); overflow-wrap: anywhere; }
.ha-na { justify-self: start; font-size: .72em; font-weight: 700; padding: 0 7px; border-radius: 999px; background: var(--e-surface-2); color: var(--e-ink-2); }
.ha-off { background: var(--e-surface); border-style: dashed; }
.ha-off .ha-ico { background: var(--e-surface-2); color: var(--e-ink-3); }
.ha-off .ha-name { color: var(--e-ink-2); text-decoration: line-through; text-decoration-thickness: 1px; }
.ha-rules ul { margin: 0; padding: 10px 12px 10px 28px; border-radius: var(--e-radius-sm); background: var(--e-surface); border: 1px solid var(--e-line); display: grid; gap: 4px; font-size: .88em; color: var(--e-ink-2); }
html[data-compact="1"] .ha-item { padding: 6px 8px; }
html[data-compact="1"] .ha-ico { width: 28px; height: 28px; }
@media (max-width: 420px) {
    .ha-grid { grid-template-columns: 1fr; gap: 0; border: 1px solid var(--e-line); border-radius: var(--e-radius-sm); overflow: hidden; }
    .ha-item { border: 0; border-radius: 0; border-bottom: 1px solid var(--e-line); }
    .ha-item:last-child { border-bottom: 0; }
    .ha-off { border-style: solid; }
}
@media (max-width: 300px) { .ha-times { grid-template-columns: 1fr; } }
