.hero-gallery{background:var(--color-gray-100);border-radius:20px;width:100%;margin:0 0 1.5rem;position:relative;overflow:hidden}.hero-gallery__track{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.hero-gallery__track::-webkit-scrollbar{display:none}.hero-gallery-fullscreen__track::-webkit-scrollbar{display:none}.hero-gallery__slide{aspect-ratio:4/3;color:inherit;cursor:zoom-in;scroll-snap-align:start;background:0 0;border:0;flex:0 0 100%;padding:0;transition:transform .18s ease-out;position:relative;overflow:hidden}.hero-gallery__slide:active{transform:scale(.96)}.hero-gallery__slide:focus-visible{z-index:2;outline-offset:-5px;outline:3px solid #fff;box-shadow:inset 0 0 0 7px #000000b8}.hero-gallery__controls{z-index:3;pointer-events:none;grid-template-columns:44px 44px minmax(0,1fr);align-items:center;gap:8px;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.hero-gallery__arrow,.hero-gallery-fullscreen__arrow,.hero-gallery-fullscreen__close{color:#fff;cursor:pointer;pointer-events:auto;background:#0c120fb8;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:background .18s ease-out,transform .18s ease-out;display:inline-flex}.hero-gallery__arrow:hover:not(:disabled),.hero-gallery-fullscreen__arrow:hover:not(:disabled),.hero-gallery-fullscreen__close:hover{background:#0c120fe6}.hero-gallery__arrow:active:not(:disabled),.hero-gallery-fullscreen__arrow:active:not(:disabled),.hero-gallery-fullscreen__close:active{transform:scale(.96)}.hero-gallery__arrow:disabled,.hero-gallery-fullscreen__arrow:disabled{opacity:.4;cursor:not-allowed}.hero-gallery__arrow:focus-visible,.hero-gallery-fullscreen__arrow:focus-visible,.hero-gallery-fullscreen__close:focus-visible{outline-offset:2px;outline:3px solid #fff;box-shadow:0 0 0 5px #000000bf}.hero-gallery__arrow svg,.hero-gallery-fullscreen__arrow svg,.hero-gallery-fullscreen__close svg{width:22px;height:22px}.hero-gallery__arrow--next{order:2}.hero-gallery__status{color:#fff;white-space:nowrap;pointer-events:none;background:#0c120fb8;border-radius:18px;order:3;justify-self:start;align-items:center;gap:7px;min-width:0;min-height:36px;padding:7px 12px;font-size:13px;font-weight:600;line-height:1;display:flex}.hero-gallery__expand-cue{border-left:1px solid #ffffff73;padding-left:7px;font-weight:500}.hero-gallery-fullscreen{color:#fff;background:#070a09fa;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.hero-gallery-fullscreen::backdrop{background:#070a09fa}.hero-gallery-fullscreen__close{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));z-index:4;position:absolute}.hero-gallery-fullscreen__track{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;height:100%;display:flex;overflow-x:auto}.hero-gallery-fullscreen__slide{scroll-snap-align:start;flex:0 0 100%;height:100%;position:relative}.hero-gallery-fullscreen__media{inset:max(8px,env(safe-area-inset-top))max(8px,env(safe-area-inset-right))max(8px,env(safe-area-inset-bottom))max(8px,env(safe-area-inset-left));pointer-events:auto;position:absolute}.hero-gallery-fullscreen__nav{top:50%;right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));z-index:3;pointer-events:none;justify-content:space-between;display:flex;position:absolute;transform:translateY(-50%)}.hero-gallery-fullscreen__counter{bottom:max(10px,env(safe-area-inset-bottom));z-index:3;color:#fff;text-align:center;pointer-events:none;background:#0c120fc7;border-radius:18px;min-width:64px;min-height:36px;padding:9px 12px;font-size:14px;font-weight:600;line-height:18px;position:absolute;left:50%;transform:translate(-50%)}@media (min-width:769px){.hero-gallery{border-radius:24px;max-width:600px;margin:0 auto 2rem}.hero-gallery__slide{aspect-ratio:16/10}.hero-gallery__controls{grid-template-columns:44px minmax(0,1fr) 44px;bottom:16px;left:16px;right:16px}.hero-gallery__arrow--next{order:0}.hero-gallery__status{order:0;justify-self:center}.hero-gallery-fullscreen__nav{right:max(20px,env(safe-area-inset-right));left:max(20px,env(safe-area-inset-left))}.hero-gallery-fullscreen__arrow{width:56px;height:56px}.hero-gallery-fullscreen__arrow svg{width:28px;height:28px}}@media (max-width:480px){.hero-gallery{border-radius:16px;margin-bottom:1rem}.hero-gallery__slide{aspect-ratio:1}.hero-gallery__controls{gap:6px;bottom:8px;left:8px;right:8px}.hero-gallery__status{padding-inline:10px;font-size:12px}}@media (max-height:430px) and (orientation:landscape){.hero-gallery-fullscreen__close{top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right))}.hero-gallery-fullscreen__nav{right:max(6px,env(safe-area-inset-right));left:max(6px,env(safe-area-inset-left))}.hero-gallery-fullscreen__counter{bottom:max(6px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.hero-gallery__track,.hero-gallery-fullscreen__track{scroll-behavior:auto}.hero-gallery__slide,.hero-gallery__arrow,.hero-gallery-fullscreen__arrow,.hero-gallery-fullscreen__close{transition:none}}
.room-cards{margin-top:1.5rem}.room-cards__grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.room-card{background:#fff;border:1px solid #0000000f;border-radius:16px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #00000014}.room-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.room-card:active{transform:translateY(-2px)}.room-card__image{aspect-ratio:4/3;position:relative;overflow:hidden}.room-card__cta{color:inherit;text-decoration:none;display:block}.room-card__cta:focus-visible{outline-offset:-3px}.room-card__price{-webkit-backdrop-filter:blur(8px);color:#fff;background:#000000bf;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600;position:absolute;bottom:12px;left:12px}.room-card__content{padding:1rem 1rem .25rem}.room-card__title{color:var(--color-text);margin:0 0 .5rem;font-size:1rem;font-weight:600}.room-card__features{flex-wrap:wrap;gap:6px;display:flex}.room-card__feature{color:var(--color-text-secondary);background:#f3f4f6;border-radius:6px;padding:4px 8px;font-size:13px}.room-card__link{min-height:44px;color:var(--color-primary);align-items:center;padding:4px 0;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.room-card__link:hover,.room-card__link:focus-visible{color:var(--color-accent);text-decoration:underline}.room-card__link:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:4px}.room-card__footer{padding:0 1rem .375rem}.room-cards--loading .room-card{pointer-events:none}.room-cards--loading .room-card__image{background:#f3f4f6;position:relative;overflow:hidden}.room-cards--loading .room-card__image:after{content:"";background:linear-gradient(90deg,#0000 0%,#e5e7eb 50%,#0000 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}.room-cards--loading .room-card__title,.room-cards--loading .room-card__feature{color:#0000;background:#f3f4f6;border-radius:4px;position:relative;overflow:hidden}.room-cards--loading .room-card__title:after,.room-cards--loading .room-card__feature:after{content:"";background:linear-gradient(90deg,#0000 0%,#e5e7eb 50%,#0000 100%);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (max-width:900px){.room-cards__grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.room-card__content{padding:.75rem}.room-card__title{font-size:.9rem}}@media (max-width:640px){.room-cards__grid{grid-template-columns:1fr;gap:1rem}.room-card,.room-card__cta{flex-direction:column;display:flex}.room-card__image{aspect-ratio:16/10;width:100%}.room-card__content{padding:.875rem 1rem .5rem}.room-card__footer{padding:0 1rem .5rem}.room-card__price{padding:5px 10px;font-size:15px;bottom:10px;left:10px}.room-card__title{margin-bottom:.5rem;font-size:1.0625rem}.room-card__feature{padding:4px 8px;font-size:14px}.room-card__link{font-size:15px}}
