.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-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.hero-gallery__track::-webkit-scrollbar{display:none}.hero-gallery__slide{aspect-ratio:4/3;scroll-snap-align:start;cursor:pointer;flex:0 0 100%;transition:transform .2s;position:relative}.hero-gallery__slide:active{transform:scale(.98)}.hero-gallery__dots{-webkit-backdrop-filter:blur(10px);background:#0006;border-radius:20px;gap:8px;padding:8px 12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hero-gallery__dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.hero-gallery__dot--active{background:#fff;border-radius:4px;width:24px}.hero-gallery__counter{-webkit-backdrop-filter:blur(10px);color:#fff;background:#00000080;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:500;position:absolute;top:16px;right:16px}.hero-gallery-fullscreen{z-index:9999;background:#000000f2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hero-gallery-fullscreen__close{cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.hero-gallery-fullscreen__close:hover{background:#fff3}.hero-gallery-fullscreen__close svg{color:#fff;width:24px;height:24px}.hero-gallery-fullscreen__track{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;height:100%;display:flex;overflow-x:auto}.hero-gallery-fullscreen__track::-webkit-scrollbar{display:none}.hero-gallery-fullscreen__slide{scroll-snap-align:start;flex:0 0 100%;position:relative}.hero-gallery-fullscreen__nav{align-items:center;gap:20px;display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.hero-gallery-fullscreen__arrow{-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.hero-gallery-fullscreen__arrow:hover:not(:disabled){background:#ffffff40}.hero-gallery-fullscreen__arrow:disabled{opacity:.3;cursor:not-allowed}.hero-gallery-fullscreen__arrow svg{color:#fff;width:24px;height:24px}.hero-gallery-fullscreen__counter{color:#fff;text-align:center;min-width:60px;font-size:16px;font-weight:500}.hero-gallery-fullscreen__dots{-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border-radius:24px;gap:8px;padding:10px 16px;display:flex;position:absolute;bottom:40px;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__dots{gap:10px}.hero-gallery__dot{width:10px;height:10px}.hero-gallery__dot--active{width:28px}.hero-gallery-fullscreen__nav{justify-content:space-between;width:100%;padding:0 20px;bottom:50%;left:0;transform:translateY(50%)}.hero-gallery-fullscreen__counter{position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.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:0 0 1rem}.hero-gallery__slide{aspect-ratio:1}.hero-gallery__dots{gap:6px;padding:6px 10px;bottom:12px}.hero-gallery__dot{width:6px;height:6px}.hero-gallery__dot--active{width:18px}.hero-gallery__counter{padding:4px 10px;font-size:12px;top:12px;right:12px}.hero-gallery-fullscreen__nav{gap:16px;bottom:80px}.hero-gallery-fullscreen__arrow{width:40px;height:40px}.hero-gallery-fullscreen__arrow svg{width:20px;height:20px}.hero-gallery-fullscreen__dots{bottom:30px}}
.room-cards{margin-top:1.5rem}.room-cards__grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.room-card{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:16px;transition:all .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__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}.room-card__title{color:#111827;margin:0 0 .5rem;font-size:1rem;font-weight:600}.room-card__features{flex-wrap:wrap;gap:6px;display:flex}.room-card__feature{color:#6b7280;background:#f3f4f6;border-radius:6px;padding:4px 8px;font-size:12px}.room-card__link{color:var(--color-primary,#0d7a3c);margin-top:8px;font-size:13px;font-weight:600;display:inline-block}.room-card__link:hover{text-decoration:underline}.room-cards__hint{text-align:center;color:#9ca3af;margin-top:1rem;margin-bottom:0;font-size:13px}.room-cards--loading .room-card{pointer-events:none}.room-cards--loading .room-card__image{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.room-cards--loading .room-card__title,.room-cards--loading .room-card__feature{color:#0000;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@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{flex-direction:row;display:flex}.room-card__image{aspect-ratio:1;width:120px;min-width:120px}.room-card__content{flex-direction:column;justify-content:center;padding:1rem;display:flex}.room-card__price{padding:4px 8px;font-size:12px;bottom:8px;left:8px}.room-card__title{margin-bottom:.5rem;font-size:.95rem}.room-card__feature{padding:3px 6px;font-size:11px}.room-cards__hint{font-size:12px}}
