/* Accommodation Units - horizontal card rail with detail modal. All classes prefixed with `accommodation-units` to avoid collisions with existing styles. */
.accommodation-units{margin:1rem 0}
.accommodation-units__header{margin:0 auto 1rem;padding:0 1rem;text-align:center}
.accommodation-units__title{color:var(--color-text-main, #1f2937);font-size:1.5rem;font-weight:700;margin:0}
.accommodation-units__count{color:var(--color-text-muted, #6b7280);font-size:0.8125rem;margin-top:0.25rem}
.accommodation-units__rail-wrap{position:relative}
.accommodation-units__rail{display:flex;gap:0.75rem;list-style:none;margin:0;-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:hidden;padding:0.5rem 1rem 1rem;scroll-padding-inline:1rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
.accommodation-units__rail-next{align-items:center;appearance:none;background:#ffffff;border:0;border-radius:999px;box-shadow:0 4px 14px rgba(0, 0, 0, 0.18);color:var(--color-text-main, #1f2937);cursor:pointer;display:inline-flex;height:2.75rem;justify-content:center;position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;width:2.75rem;z-index:2}
.accommodation-units__rail-next .material-symbols-outlined{font-size:1.5rem;line-height:1}
.accommodation-units__rail-next:hover,.accommodation-units__rail-next:focus-visible{background:#f8fafc;box-shadow:0 6px 18px rgba(0, 0, 0, 0.22);outline:none;transform:translateY(-50%) scale(1.05)}
.accommodation-units__rail-next:focus-visible{box-shadow:0 0 0 3px rgba(37, 99, 235, 0.35), 0 6px 18px rgba(0, 0, 0, 0.22)}
.accommodation-units__rail-next:active{transform:translateY(-50%) scale(0.97)}
@media (max-width: 640px){
.accommodation-units__rail-next{height:2.25rem;right:0.5rem;width:2.25rem}
.accommodation-units__rail-next .material-symbols-outlined{font-size:1.25rem}
}
.accommodation-units__rail::-webkit-scrollbar{height:6px}
.accommodation-units__rail::-webkit-scrollbar-thumb{background:rgba(0, 0, 0, 0.18);border-radius:3px}
.accommodation-units__rail-item{flex:0 0 auto;scroll-snap-align:start}
.accommodation-units__card{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, 0.08));color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;height:100%;overflow:hidden;padding:0;text-align:left;transition:transform 0.18s ease, box-shadow 0.18s ease;width:16rem}
.accommodation-units__card:hover,.accommodation-units__card:focus-visible{box-shadow:0 6px 18px rgba(0, 0, 0, 0.12);outline:none;transform:translateY(-2px)}
.accommodation-units__card:focus-visible{box-shadow:0 0 0 3px rgba(37, 99, 235, 0.35), 0 6px 18px rgba(0, 0, 0, 0.12)}
.accommodation-units__card-media{aspect-ratio:16 / 10;background:#f1f3f5;overflow:hidden;position:relative}
.accommodation-units__card-img{display:block;height:100%;object-fit:cover;width:100%}
.accommodation-units__card-body{display:flex;flex:1;flex-direction:column;gap:0.375rem;padding:0.75rem 1rem 1rem}
.accommodation-units__card-title{-webkit-box-orient:vertical;color:var(--color-text-main, #1f2937);display:-webkit-box;font-size:1rem;font-weight:600;-webkit-line-clamp:2;line-height:1.3;margin:0;overflow:hidden}
.accommodation-units__card-cta{color:var(--color-link, #2563eb);font-size:0.8125rem;font-weight:500;margin-top:auto}
@media (min-width: 768px){
.accommodation-units__card{width:18rem}
}
.accommodation-units__view-all-wrap{display:flex;justify-content:center;padding:0.25rem 1rem 0.5rem}
.accommodation-units__view-all{appearance:none;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:999px;color:var(--color-text-main, #1f2937);cursor:pointer;font:inherit;font-size:0.875rem;font-weight:600;padding:0.625rem 1.25rem;transition:background 0.15s ease, border-color 0.15s ease, transform 0.15s ease}
.accommodation-units__view-all:hover,.accommodation-units__view-all:focus-visible{background:rgba(0, 0, 0, 0.04);border-color:var(--color-text-muted, #6b7280);outline:none}
.accommodation-units__view-all:focus-visible{box-shadow:0 0 0 3px rgba(37, 99, 235, 0.35)}
.accommodation-units__view-all:active{transform:translateY(1px)}
/* Modal */
.accommodation-units-modal[hidden]{display:none !important}
.accommodation-units-modal{animation:accommodation-units-fade-in 0.18s ease-out;background:rgba(15, 23, 42, 0.55);display:flex;inset:0;overscroll-behavior:contain;position:fixed;z-index:1000}
.accommodation-units-modal__panel{background:#ffffff;border-radius:12px;box-shadow:0 18px 50px rgba(0, 0, 0, 0.25);display:flex;flex-direction:column;margin:auto;max-height:92vh;overflow:hidden;position:relative;width:min(720px, 100%)}
@media (max-width: 640px){
.accommodation-units-modal__panel{border-radius:0;height:100%;margin:0;max-height:100%;width:100%}
}
.accommodation-units-modal__header{align-items:center;background:#ffffff;border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;gap:1rem;justify-content:space-between;padding:0.875rem 1rem}
.accommodation-units-modal__title{color:var(--color-text-main, #1f2937);font-size:1rem;font-weight:600;margin:0}
.accommodation-units-modal__close{align-items:center;appearance:none;background:transparent;border:0;border-radius:999px;color:#1f2937;cursor:pointer;display:inline-flex;font-size:1.5rem;height:2.25rem;justify-content:center;line-height:1;width:2.25rem}
.accommodation-units-modal__close:hover,.accommodation-units-modal__close:focus-visible{background:rgba(0, 0, 0, 0.06);outline:none}
.accommodation-units-modal__body{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:1rem 1.25rem 2rem}
.accommodation-units-modal__list{color:var(--color-text-muted);display:flex;flex-direction:column;font-size:0.875rem;gap:1.5rem;line-height:1.6;list-style:none;margin:0;padding:0}
.accommodation-units-modal__item{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:0.75rem;padding-bottom:1.5rem;scroll-margin-top:1rem}
.accommodation-units-modal__item:last-child{border-bottom:none;padding-bottom:0}
.accommodation-units-modal__item--highlight .accommodation-units-modal__item-title{color:var(--color-link, #2563eb)}
.accommodation-units-modal__item-img{aspect-ratio:16/10;border-radius:var(--radius);object-fit:cover;width:100%}
.accommodation-units-modal__item-desc{color:var(--color-text-muted, #4b5563);font-size:0.875rem;line-height:1.6}
.accommodation-units-modal__item-desc :where(p,ul,ol){margin:0 0 0.75rem}
.accommodation-units-modal__item-desc :where(p,ul,ol):last-child{margin-bottom:0}
.accommodation-units-modal__item-desc strong{color:var(--color-text-main, #1f2937)}
.accommodation-units-modal__item-desc a{color:var(--color-link, #009de0);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color 0.15s}
.accommodation-units-modal__item-desc a:hover{color:var(--color-link-dark, #007fb8)}
body.accommodation-units-no-scroll{overflow:hidden}
@keyframes accommodation-units-fade-in{
from{opacity:0}
to{opacity:1}
}
