/* Alojamientos en una línea: carril que se arrastra + ficha pequeña que nace de la tarjeta. Sin librerías. */
.hotels.aloj{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 10px;margin:0 -4px;cursor:grab;grid-template-columns:none}
.hotels.aloj::-webkit-scrollbar{display:none}
.hotels.aloj.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.hotels.aloj .hotel{flex:1 0 300px;min-width:0;scroll-snap-align:center;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s}
.hotels.aloj .hotel:hover{transform:translateY(-4px);border-color:var(--gold)}
.hotels.aloj .hotel-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.hotels.aloj h3{font-size:1.35rem;margin:0 0 4px}
.aloj-tipo{font-size:15px;color:var(--gold);margin:0 0 10px}
.hotels.aloj .prices{padding:10px 0 6px;gap:22px;margin-top:auto}
.hotels.aloj .prices strong{font-size:2.3rem}
.hotels.aloj .aloj-mas{display:none}
.aloj-abrir{align-self:flex-start;margin-top:14px;background:transparent;color:var(--gold);min-height:44px;padding:9px 18px}
.aloj-abrir:hover{color:var(--navy)}
.aloj-pista{display:none;align-items:center;gap:14px;margin-top:8px;font:600 12px/1 'Source Sans 3',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.aloj-pista i{flex:1;height:1px;background:#ffffff33;position:relative}
.aloj-pista i b{position:absolute;left:0;top:-1px;height:3px;width:34%;background:var(--gold);transition:transform .15s linear}
.hotels.aloj.desliza+.aloj-pista{display:flex}
dialog.aloj-ficha{border:1px solid var(--gold);background:var(--navy2);color:var(--text);padding:0;width:min(560px,calc(100vw - 32px));max-height:min(86vh,720px);border-radius:3px;overflow:auto}
dialog.aloj-ficha::backdrop{background:#050b14cc;backdrop-filter:blur(3px)}
.aloj-ficha-in{padding:30px 28px 28px}
.aloj-ficha h3{font-size:1.6rem;margin:0 36px 4px 0}
.aloj-ficha .prices{padding:14px 0}
.aloj-cerrar{position:absolute;top:10px;right:10px;background:transparent;border:0;color:var(--gold);font-size:26px;line-height:1;min-height:44px;width:44px;padding:0}
.aloj-cerrar:hover{background:transparent;color:#fff}
@media(max-width:800px){.hotels.aloj{margin:0 -20px;padding:4px 20px 10px;scroll-padding:0 20px}.hotels.aloj .hotel{flex:0 0 78vw}}
@media(prefers-reduced-motion:reduce){.hotels.aloj .hotel{transition:none}}
.hotels.aloj .prices strong,.aloj-ficha .prices strong{white-space:nowrap;font-size:1.95rem}
.hotels.aloj .prices p{margin:0;min-width:0}
