/* Sky Park Home accommodation — app layer on /assets/sky-ui/sky.css.
   Booking, rooms, reviews, video, facilities, gallery and contact keep their
   original markup and scripts; they are restyled here by class. */

[data-sky="cazare"] .container { width: min(var(--sky-wrap), 100% - 2 * var(--sky-gutter)); margin-inline: auto; padding: 0; }
[data-sky="cazare"] .sc-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
[data-sky="cazare"] [hidden] { display: none !important; }

/* Section headings: the old eyebrow labels are dropped visually; the h2 leads. */
[data-sky="cazare"] .sc-section-heading { display: grid; gap: 12px; max-width: 760px; margin-bottom: clamp(16px, 2.4vw, 28px); }
[data-sky="cazare"] .sc-section-heading .sc-eyebrow { display: none; }
[data-sky="cazare"] .sc-section-heading h2, .hm-about h2 { font-size: var(--sky-fs-xl); line-height: 1.05; letter-spacing: -.03em; font-weight: 820; }
[data-sky="cazare"] .sc-section-heading p { color: var(--sky-ink-2); font-size: var(--sky-fs-m); }
.sky-asphalt .sc-section-heading p { color: var(--sky-mist) !important; }

/* Hero */
.hm-hero .sky-hero__title { max-width: 11ch; }
.hm-link-light { color: var(--sky-paint) !important; }
.hm-hero__photo img { aspect-ratio: 4 / 4.4; }
@media (max-width: 900px) { .hm-hero__photo img { aspect-ratio: 16 / 10; } }

/* Booking */
.hm-book .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(12px, 1.8vw, 22px); align-items: start; }
.sc-booking-box { min-width: 0; border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: var(--sky-e2); }
.sc-form-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 24px; border-radius: var(--sky-r2) var(--sky-r2) 0 0; background: var(--sky-asphalt); color: var(--sky-paint); }
.sc-form-banner-title strong { display: block; font-size: var(--sky-fs-m); font-weight: 850; }
.sc-form-banner-title small { color: var(--sky-mist); font-size: var(--sky-fs-s); }
.sc-form-banner-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--sky-accent) !important; font-weight: 750; text-decoration: none; white-space: nowrap; }
.sc-booking-form { padding: clamp(12px, 1.6vw, 18px) clamp(18px, 2.6vw, 30px); }
.sc-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sc-booking-wizard .sc-booking-grid { margin-top: 6px; }
[data-sky="cazare"] .sc-field { display: grid; gap: 6px; min-width: 0; }
[data-sky="cazare"] .sc-field label { font-size: var(--sky-fs-s); font-weight: 750; color: var(--sky-ink); }
[data-sky="cazare"] .form-control { width: 100%; min-height: 52px; padding: 12px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; color: var(--sky-ink); font-size: var(--sky-fs-s); box-shadow: none; appearance: none; }
[data-sky="cazare"] select.form-control { padding-right: 42px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230878b8' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat right 16px center; }
[data-sky="cazare"] textarea.form-control { min-height: 110px; resize: vertical; }
[data-sky="cazare"] .form-control:focus { outline: none; border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
.sc-booking-quote { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 12px; overflow: hidden; border-radius: var(--sky-r2); background: var(--sky-rule-dark); }
.sc-booking-quote > div { display: grid; gap: 2px; padding: 12px 14px; background: var(--sky-asphalt); color: var(--sky-paint); }
.sc-booking-quote small { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sc-booking-quote strong { font-weight: 850; font-variant-numeric: tabular-nums; }
.sc-booking-total strong { color: var(--sky-accent); font-size: var(--sky-fs-l); }
.sc-booking-pii { margin-top: 12px; }
.sc-booking-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 12px; margin-top: 12px; }
.sc-booking-note { flex: 1 1 260px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sc-booking-buttons { display: flex; gap: 10px; margin-left: auto; }
[data-sky="cazare"] .sc-submit, [data-sky="cazare"] .sc-back-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 22px; border-radius: var(--sky-r2); font-weight: 850; font-size: var(--sky-fs-s); cursor: pointer; }
[data-sky="cazare"] .sc-submit { border: 2px solid var(--sky-blue); background: var(--sky-blue); color: #fff; }
[data-sky="cazare"] .sc-submit:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
[data-sky="cazare"] .sc-submit:disabled { opacity: .6; cursor: progress; }
[data-sky="cazare"] .sc-back-button { border: 2px solid var(--sky-concrete-2); background: #fff; color: var(--sky-ink); }
@media (max-width: 960px) { .hm-book .container { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .sc-booking-grid, .sc-booking-quote { grid-template-columns: 1fr 1fr; } .sc-booking-grid > .sc-field:first-child { grid-column: 1 / -1; } .sc-booking-pii { grid-template-columns: 1fr; } }

/* Story */
.hm-story { --story-h: 240vh; --sky-accent: #a9b8ff; }
.hm-plan .hm-bld { fill: #16283f; }
.hm-plan .hm-corridor { fill: #1f3553; }
.hm-plan .hm-rooms rect { fill: #1a2f4b; stroke: var(--sky-rule-dark); stroke-width: 2; }
.hm-plan .hm-names text { font: 800 13px var(--sky-font); fill: var(--sky-mist-2); letter-spacing: .12em; }
.hm-plan .hm-name-ours { fill: #ffd98a; opacity: calc(.6 + var(--e3) * .4); }
.hm-plan .hm-door { fill: #a9b8ff; opacity: calc(.4 + var(--e2) * .6); }
.hm-plan .hm-r1 { stroke: #a9b8ff; --route-p: var(--e1); }
.hm-plan .hm-r2 { stroke: #a9b8ff; --route-p: var(--e2); stroke-dasharray: 1; }
.hm-plan .hm-r3 { stroke: #ffd98a; --route-p: var(--e3); }
.hm-plan .hm-night { fill: #01060e; opacity: calc(.12 + var(--e1) * .12 + var(--e3) * .12 + var(--e4) * .34); pointer-events: none; }
.hm-plan .hm-lit { fill: #ffd98a; opacity: calc(var(--e3) * .55); mix-blend-mode: screen; }
.hm-plan .hm-glow { opacity: calc(var(--e3) * .6 + var(--e4) * .3); mix-blend-mode: screen; }
.hm-plan .hm-key { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(calc(min(1, var(--s2) * 3) * (1 - var(--s3)))); }
.hm-plan .hm-key circle { fill: #a9b8ff; }
.hm-plan .hm-moon { opacity: var(--e4); transform: translateY(calc((1 - var(--e4)) * 30px)); }

/* Rooms: each room card becomes a bay */
.sc-rooms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 16px); }
.sc-rooms-grid > .sc-room-card:first-child { grid-column: span 2; }
.sc-room-card { position: relative; display: flex; flex-direction: column; background: var(--sky-paper); transition: transform var(--sky-t3) var(--sky-ease), box-shadow var(--sky-t3) var(--sky-ease); }
.sc-room-card::before, .sc-room-card::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4px; background: var(--sky-rule); z-index: 1; transition: background-color var(--sky-t2); }
.sc-room-card::before { left: 0; }
.sc-room-card::after { right: 0; }
.sc-room-card picture, .sc-room-card img { display: block; width: 100%; }
.sc-room-card img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform 900ms var(--sky-ease); }
.sc-room-card picture { overflow: hidden; }
.sc-rooms-grid > .sc-room-card:first-child img { aspect-ratio: 16 / 9.4; }
.sc-room-body { padding: 12px 22px 0; }
.sc-room-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.sc-room-title h3 { font-size: var(--sky-fs-l); font-weight: 820; letter-spacing: -.02em; }
.sc-room-title span, .sc-room-description span { display: none; }
.sc-room-description p { margin-top: 6px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sc-room-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding: 12px 22px 14px; }
.sc-room-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; text-decoration: none; }
.sc-room-price { font-size: var(--sky-fs-l); font-weight: 900; letter-spacing: -.03em; color: var(--sky-ink) !important; text-decoration: none; font-variant-numeric: tabular-nums; }
.sc-room-price::after { content: " /" var(--sc-night, "noapte"); font-size: var(--sky-fs-s); font-weight: 700; letter-spacing: 0; color: var(--sky-ink-2); }
/* The "per night" suffix in the page language (batch 11c; was Romanian everywhere). */
:lang(en) .sc-room-price { --sc-night: "night"; } :lang(fr) .sc-room-price { --sc-night: "nuit"; } :lang(de) .sc-room-price { --sc-night: "Nacht"; } :lang(it) .sc-room-price { --sc-night: "notte"; }
:lang(es) .sc-room-price { --sc-night: "noche"; } :lang(ru) .sc-room-price { --sc-night: "ночь"; } :lang(uk) .sc-room-price { --sc-night: "ніч"; }
.sc-room-card:hover { transform: translateY(-4px); box-shadow: var(--sky-e2); }
.sc-room-card:hover::before, .sc-room-card:hover::after { background: var(--sky-blue); }
.sc-room-card:hover img { transform: scale(1.04); }
@media (max-width: 960px) { .sc-rooms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sc-rooms-grid { grid-template-columns: 1fr; } .sc-rooms-grid > .sc-room-card:first-child { grid-column: auto; } }

/* Reviews */
.sc-reviews-combined__grid { display: grid; gap: 22px; }
.gr-widget { display: grid; gap: 12px; }
.gr-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 14px; padding-bottom: 12px; border-bottom: 2px solid var(--sky-ink); }
.gr-head strong { display: block; font-size: var(--sky-fs-m); font-weight: 850; }
.gr-head span { color: var(--sky-blue); font-weight: 850; font-size: var(--sky-fs-l); font-variant-numeric: tabular-nums; }
.gr-head a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 800; }
.gr-carousel { overflow-x: auto; scrollbar-width: thin; padding-bottom: 8px; }
.gr-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 12px; }
.gr-card { padding: 14px 22px; border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: inset 0 0 0 1px var(--sky-rule); }
.gr-card p { font-size: var(--sky-fs-m); }
.gr-card .gr-card-source { margin-top: 12px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 750; }
.gr-source-note { color: var(--sky-ink-3); font-size: var(--sky-fs-s); }

/* About */
.sc-about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 3vw, 44px); align-items: center; }
.sc-about-media { position: relative; }
.sc-about-media img { display: block; width: 100%; aspect-ratio: 4 / 4.2; object-fit: cover; border-radius: 2px; }
.sc-about-media::before { content: ""; position: absolute; left: -12px; top: -12px; width: 44px; height: 44px; border: 4px solid #a9b8ff; border-right: 0; border-bottom: 0; }
.sc-about-copy { display: grid; gap: 12px; }
.sc-about-copy .sc-eyebrow { display: none; }
.sc-about-copy > p { color: var(--sky-ink-2); font-size: var(--sky-fs-m); }
.sc-benefit-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sc-benefit-list li { position: relative; padding-left: 28px; font-weight: 650; }
.sc-benefit-list li::before { content: ""; position: absolute; left: 0; top: .4em; width: 14px; height: 8px; border-left: 3px solid var(--sky-blue); border-bottom: 3px solid var(--sky-blue); transform: rotate(-45deg); }
.sc-stay-details { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-stay-detail { padding: 7px 10px; border-radius: var(--sky-r1); background: var(--sky-concrete); font-size: var(--sky-fs-s); font-weight: 700; }
@media (max-width: 900px) { .sc-about-grid { grid-template-columns: 1fr; } }

/* Video */
.sc-video-wrap { overflow: hidden; border-radius: var(--sky-r2); background: #000; box-shadow: var(--sky-e3); aspect-ratio: 16 / 9; }
.sc-video-wrap video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Facilities: bays with painted numbers */
.sc-facilities-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.2vw, 14px); counter-reset: hm-fact; }
.sc-facility-card { position: relative; padding: 16px 22px 14px; background: var(--sky-paper); }
.sc-facility-card::before { display: none; counter-increment: hm-fact; content: counter(hm-fact); position: absolute; left: 22px; top: 16px; font: 900 var(--sky-fs-xl)/1 var(--sky-font); color: transparent; -webkit-text-stroke: 2px var(--sky-blue); }
.sc-facility-card::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--sky-rule); }
.sc-facility-icon { display: block; margin-bottom: 12px; color: var(--sky-blue); }
.sc-facility-icon .sky-ico { width: 34px; height: 34px; }
.sc-facility-card h3 { font-size: var(--sky-fs-m); font-weight: 800; }
.sc-facility-card p { margin-top: 8px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
@media (max-width: 960px) { .sc-facilities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .sc-facilities-grid { grid-template-columns: 1fr; } }

/* Gallery */
.sc-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.sc-gallery-grid picture { display: block; overflow: hidden; }
.sc-gallery-grid picture:first-child { grid-column: span 2; grid-row: span 2; }
.sc-gallery-grid img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 900ms var(--sky-ease); }
.sc-gallery-grid picture:hover img { transform: scale(1.04); }
@media (max-width: 760px) { .sc-gallery-grid { grid-template-columns: 1fr 1fr; } }

/* Contact */
.sc-contact-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(12px, 1.8vw, 22px); align-items: stretch; }
.sc-contact-media { position: relative; display: grid; align-content: end; min-height: 360px; padding: 16px 28px; border-radius: var(--sky-r2); background: var(--sky-asphalt-2) url("../img/sky/facade-640.webp") center / cover; color: #fff !important; text-decoration: none; overflow: hidden; isolation: isolate; }
.sc-contact-media::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11, 23, 40, .1), rgba(11, 23, 40, .85)); }
.sc-contact-location h3 { font-size: var(--sky-fs-l); }
.sc-contact-location p { color: var(--sky-mist); }
.sc-contact-location span { display: inline-flex; margin-top: 10px; font-weight: 800; color: #a9b8ff; }
.sc-contact-form { display: grid; gap: 12px; padding: clamp(12px, 1.8vw, 20px) clamp(20px, 3vw, 32px); border-radius: var(--sky-r2); background: var(--sky-paper); color: var(--sky-ink); }
.sc-contact-form h3 { font-size: var(--sky-fs-l); }
.sc-contact-form > p { color: var(--sky-ink-2); }
.sc-contact-form .sc-submit { justify-self: start; }
@media (max-width: 860px) { .sc-contact-card { grid-template-columns: 1fr; } .sc-contact-media { min-height: 240px; } }

/* The wizard's own labels already carry an arrow. */
.hm-book .sc-wizard-next::after { display: none; }
.gr-carousel { scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
.gr-card { scroll-snap-align: start; }

/* ------------------------------------------------------------------ */
/* Secondary pages: information.php, room pages, Revelion, mesaj.      */
/* ------------------------------------------------------------------ */
.sc-room-page .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Information pages: published rate range plate, rooms as bays, FAQ. */
.hm-rate-plate { margin: 0; color: #a9b8ff; }
.hm-room-list .sc-room-footer .hm-room-rate { margin: 0; white-space: nowrap; }
.hm-room-list .sc-room-title h3 { font-size: var(--sky-fs-l); }
.hm-faq summary h2 { display: inline; margin: 0; font: inherit; letter-spacing: inherit; color: inherit; }
.hm-faq summary:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 4px; }

/* Room hero: name, nightly price plate, CTA; the banner photo is a painted bay. */
.hm-room-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(16px, 2.4vw, 38px); align-items: center; }
.hm-room-hero h1 { max-width: 14ch; }
.hm-room-hero .sky-page-hero__actions { align-items: stretch; }
.hm-room-plate { color: #a9b8ff; }
.hm-room-plate .sc-room-rate { margin: 0; }
.hm-room-plate strong { display: block; font-size: var(--sky-fs-l); font-weight: 870; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
/* The owner's price periods in the next 60 days (lib/sky-ui/sky-price-page.php). */
.hm-room-plate .sc-room-special { margin: 8px 0 0; color: #fff; font-size: var(--sky-fs-s); font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.hm-room-hero .sky-btn { align-self: center; }
.hm-room-chips { margin: 14px 0 0; padding: 0; list-style: none; }
.hm-room-hero__media { position: relative; margin: 0; }
.hm-room-hero__media::before, .hm-room-hero__media::after { content: ""; position: absolute; z-index: 1; width: 40px; height: 40px; border: 4px solid #a9b8ff; pointer-events: none; }
.hm-room-hero__media::before { left: -10px; top: -10px; border-right: 0; border-bottom: 0; }
.hm-room-hero__media::after { right: -10px; bottom: -10px; border-left: 0; border-top: 0; }
.hm-room-hero .sc-room-hero-image { display: block; aspect-ratio: 1200 / 516; overflow: hidden; border-radius: 2px; background: var(--sky-asphalt-2); }
.hm-room-hero .sc-room-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hm-room-hero__media .sky-page-hero__mark { position: absolute; left: 18px; bottom: -.16em; z-index: 1; font-size: clamp(5rem, 3rem + 5vw, 8.5rem); pointer-events: none; }
@media (max-width: 960px) {
  .hm-room-hero__grid { grid-template-columns: 1fr; }
  .hm-room-hero h1 { max-width: none; }
}

/* Interior photo + conditions note. */
.hm-room-intro__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(14px, 2.4vw, 38px); align-items: center; }
.hm-room-intro__media { position: relative; }
.hm-room-intro__media::before { content: ""; position: absolute; left: -12px; top: -12px; z-index: 1; width: 44px; height: 44px; border: 4px solid #a9b8ff; border-right: 0; border-bottom: 0; pointer-events: none; }
.hm-room-intro__media picture { display: block; }
.hm-room-intro__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 2px; }
.hm-room-note { margin: 0; font-size: var(--sky-fs-m); line-height: 1.45; }
@media (max-width: 860px) { .hm-room-intro__grid { grid-template-columns: 1fr; } }
/* Room description + amenity checklist (restored from the original room pages). */
.hm-room-intro__grid { align-items: start; }
.hm-room-intro__copy p { margin: 12px 0 0; color: var(--sky-ink-2); font-size: var(--sky-fs-m); line-height: 1.45; }
.hm-room-amenities__title { margin: 16px 0 10px; font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--sky-ink); }
.hm-room-amenities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 0; padding: 0; list-style: none; }
.hm-room-amenities li { display: flex; align-items: flex-start; gap: 8px; font-size: var(--sky-fs-s); font-weight: 650; color: var(--sky-ink); }
.hm-room-amenities svg { flex: none; width: 16px; height: 16px; margin-top: 3px; fill: none; stroke: #5b6fd6; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 520px) { .hm-room-amenities { grid-template-columns: 1fr; } }

/* Presentation video. */
.hm-room-video__frame { max-width: 1040px; }

/* Photo gallery: a strip of photo bays; the lightbox opens on click/Enter. */
[data-sky="cazare"] .hm-room-gallery .hes-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, .8vw, 12px); padding: 0; columns: auto; }
[data-sky="cazare"] .hm-room-gallery .hes-gallery img { display: block; width: 100%; height: 100%; min-width: 0; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; cursor: zoom-in; box-shadow: 0 4px 0 0 var(--sky-rule); transition: transform var(--sky-t3) var(--sky-ease), box-shadow var(--sky-t2); }
[data-sky="cazare"] .hm-room-gallery .hes-gallery img:first-child { grid-column: span 2; grid-row: span 2; }
[data-sky="cazare"] .hm-room-gallery .hes-gallery img:hover { transform: translateY(-3px); box-shadow: 0 4px 0 0 var(--sky-blue), var(--sky-e2); }
[data-sky="cazare"] .hm-room-gallery .hes-gallery img:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 3px; }
@media (max-width: 800px) { [data-sky="cazare"] .hm-room-gallery .hes-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 500px) { [data-sky="cazare"] .hm-room-gallery .hes-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Room / Revelion contact form (markup unchanged; restyled by class). */
.hm-room-contact .tm-contact-form { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(12px, 1.8vw, 22px); align-items: start; }
.hm-room-contact .tm-contact-form > div:first-child > a { display: block; overflow: hidden; border-radius: var(--sky-r2); box-shadow: inset 0 0 0 1px var(--sky-rule); }
.hm-room-contact .tm-contact-form > div:first-child img { display: block; width: 100%; height: auto; }
.hm-room-contact .tm-contact-form-input { display: grid; gap: 12px; padding: clamp(12px, 1.8vw, 20px) clamp(20px, 3vw, 32px); border-radius: var(--sky-r2); background: var(--sky-concrete); }
.hm-room-contact .form-group { margin: 0; }
.hm-room-contact .tm-submit-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: var(--sky-blue); color: #fff; font: 850 var(--sky-fs-s)/1 var(--sky-font); cursor: pointer; }
.hm-room-contact .tm-submit-btn:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
.hm-room-contact .tm-submit-btn:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 3px; }
.hm-room-contact .contact-social { display: flex; gap: 10px; margin-top: 12px; }
.hm-room-contact .contact-social:empty { display: none; }
.hm-room-contact .tm-social-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: var(--sky-r1); background: var(--sky-concrete); color: var(--sky-ink); }
.hm-room-contact .tm-social-icon:hover { background: var(--sky-blue); color: #fff; }
@media (max-width: 860px) { .hm-room-contact .tm-contact-form { grid-template-columns: 1fr; } }

/* Status page (mesaj): one calm screen. */
.hm-status { display: grid; align-content: center; min-height: calc(100svh - var(--sky-header-h) - 120px); }

/* HesGallery lightbox restyle (the hosted stylesheet is not loaded). */
#hgallery { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; }
#hgallery[hidden] { display: none; }
#hg-bg { position: absolute; inset: 0; background: rgba(6, 13, 24, .94); }
#hg-pic-cont { position: relative; display: grid; justify-items: center; gap: 10px; max-width: min(1200px, 100vw - 150px); }
#hg-pic { display: block; max-width: 100%; max-height: 80vh; width: auto; height: auto; border-radius: 2px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8); }
#hg-subtext, #hg-howmany { color: #c9d5e3; font: 700 var(--sky-fs-s, 1.0625rem)/1.3 var(--sky-font, sans-serif); }
#hg-prev-onpic, #hg-next-onpic { position: absolute; top: 0; bottom: 40px; width: 40%; border: 0; background: transparent; cursor: pointer; }
#hg-prev-onpic { left: 0; }
#hg-next-onpic { right: 0; }
#hg-close, #hg-prev, #hg-next { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #f4f7fb; border-radius: 4px; background: #0b1728; color: #f4f7fb; font: 800 var(--sky-fs-l, 1.625rem)/1 var(--sky-font, sans-serif); cursor: pointer; }
#hg-close { top: 16px; right: 16px; }
#hg-prev, #hg-next { top: 50%; margin-top: -16px; }
#hg-prev { left: 16px; }
#hg-next { right: 16px; }
#hg-prev::before, #hg-next::before { content: ""; width: 12px; height: 12px; border-left: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: translateX(2px) rotate(45deg); }
#hg-next::before { transform: translateX(-2px) rotate(-135deg); }
#hg-close:hover, #hg-prev:hover, #hg-next:hover { background: #0878b8; border-color: #0878b8; }
#hgallery .hg-unvisible { visibility: hidden; }
@media (max-width: 640px) {
  #hg-pic-cont { max-width: 100vw; }
  #hg-prev, #hg-next { top: auto; bottom: 16px; margin-top: 0; }
}
.hm-room-list .sc-rooms-grid > .sc-room-card:first-child { grid-column: auto; }
.hm-room-list .sc-rooms-grid > .sc-room-card:first-child img { aspect-ratio: 4 / 3; }

/* Hero proof points are statements, not links: ticked text, no chip frame. */
.hm-hero .sky-hero__proof span.sky-chip { padding: 0 14px 0 0; background: none; box-shadow: none; }
.hm-hero .sky-hero__proof span.sky-chip::before { content: ""; width: 12px; height: 7px; margin-right: 8px; border-left: 2.5px solid var(--sky-accent); border-bottom: 2.5px solid var(--sky-accent); transform: rotate(-45deg) translateY(-2px); }

/* Review marquee pause control (injected by reviews-carousel.js). */
.gr-pause { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 10px; border: 0; border-radius: var(--sky-r2); background: var(--sky-concrete); color: var(--sky-ink); cursor: pointer; }
.gr-pause::before { content: ""; width: 12px; height: 14px; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
.gr-pause.is-paused::before { width: 0; height: 0; border: 0; border-left: 12px solid currentColor; border-top: 8px solid transparent; border-bottom: 8px solid transparent; margin-left: 4px; }
.gr-pause:hover { background: var(--sky-concrete-2); }

/* Details as a ruled list rather than four identical tiles. */
.sc-facilities-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 0 clamp(14px, 1.8vw, 24px); }
.sc-facility-card { padding: 14px 0 14px; background: none; border-top: 2px solid var(--sky-ink); }
.sc-facility-card::after { display: none; }
/* Google widget header matches the Booking one (title above score). */
.gr-widget-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 14px; padding-bottom: 12px; border-bottom: 2px solid var(--sky-ink); }
.gr-widget-head strong { display: block; font-size: var(--sky-fs-m); font-weight: 850; }
.gr-widget-head span { color: var(--sky-blue); font-weight: 850; font-size: var(--sky-fs-l); font-variant-numeric: tabular-nums; }
.gr-widget-head a { display: inline-flex; min-height: 44px; align-items: center; font-weight: 800; }

/* sky-scenes:start (generated by shared/sky-ui/scenes/build.py) */
.hm-scenes .hm-s1-car { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-car { animation: hm-s1-car 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s1-car { 0% { transform: translate(-11.250cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 46% { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-moon { transform: translate(23.750cqw, 19.200cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-moon { animation: hm-s1-moon 3800ms ease-out both; }
@keyframes hm-s1-moon { 0% { transform: translate(21.250cqw, 30.000cqh) rotate(0deg) scale(1); opacity: 0; } 30% { transform: translate(21.250cqw, 26.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(23.750cqw, 19.200cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-grill { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-grill { animation: hm-s1-grill 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s1-grill { 0% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 0; } 60% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-flame { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; transform-origin: 50% 100%; }
.hm-scenes .scene.is-on .hm-s1-flame { animation: hm-s1-flame 3800ms ease-in-out both; }
@keyframes hm-s1-flame { 0% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.6); opacity: 0; } 58% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.6); opacity: 0; } 64% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; } 72% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.85); opacity: 1; } 80% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1.1); opacity: 1; } 88% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.9); opacity: 1; } 100% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-ev { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-ev { animation: hm-s1-ev 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s1-ev { 0% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 0; } 66% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 0; } 74% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; } 100% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; } }
.hm-scenes .hm-s1-bolt { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-bolt { animation: hm-s1-bolt 3800ms ease-in-out both; }
@keyframes hm-s1-bolt { 0% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0; } 74% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0; } 80% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } 86% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0.3; } 92% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-w2 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-w2 { animation: hm-s1-w2 3800ms ease-out both; }
@keyframes hm-s1-w2 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 44% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 54% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-w1 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-w1 { animation: hm-s1-w1 3800ms ease-out both; }
@keyframes hm-s1-w1 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 56% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 66% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s1-w0 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s1-w0 { animation: hm-s1-w0 3800ms ease-out both; }
@keyframes hm-s1-w0 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 68% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 78% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s2-staff { transform: translate(41.250cqw, 63.600cqh) rotate(0deg) scale(1.4); opacity: 1; }
.hm-scenes .scene.is-on .hm-s2-staff { animation: hm-s2-staff 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s2-staff { 0% { transform: translate(41.250cqw, 63.600cqh) rotate(0deg) scale(1.4); opacity: 0; } 12% { transform: translate(41.250cqw, 63.600cqh) rotate(0deg) scale(1.4); opacity: 1; } 100% { transform: translate(41.250cqw, 63.600cqh) rotate(0deg) scale(1.4); opacity: 1; } }
.hm-scenes .hm-s2-desk { transform: translate(42.500cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s2-desk { animation: hm-s2-desk 3800ms linear both; }
@keyframes hm-s2-desk { 0% { transform: translate(42.500cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(42.500cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s2-guest { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1.4); opacity: 1; }
.hm-scenes .scene.is-on .hm-s2-guest { animation: hm-s2-guest 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes hm-s2-guest { 0% { transform: translate(112.500cqw, 74.000cqh) rotate(0deg) scale(1.4); opacity: 1; } 42% { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1.4); opacity: 1; } 100% { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1.4); opacity: 1; } }
.hm-scenes .hm-s2-msg { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s2-msg { animation: hm-s2-msg 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s2-msg { 0% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(0.4); opacity: 0; } 44% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(0.4); opacity: 0; } 50% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(1.08); opacity: 1; } 56% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(1); opacity: 1; } 66% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(70.000cqw, 54.400cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s2-key { transform: translate(65.750cqw, 66.000cqh) rotate(-20deg) scale(1.1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s2-key { animation: hm-s2-key 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes hm-s2-key { 0% { transform: translate(45.000cqw, 60.000cqh) rotate(0deg) scale(0.4); opacity: 0; } 64% { transform: translate(45.000cqw, 60.000cqh) rotate(0deg) scale(0.4); opacity: 0; } 70% { transform: translate(45.000cqw, 57.600cqh) rotate(0deg) scale(1.2); opacity: 1; } 86% { transform: translate(65.000cqw, 66.000cqh) rotate(-20deg) scale(1.1); opacity: 1; } 100% { transform: translate(65.750cqw, 66.000cqh) rotate(-20deg) scale(1.1); opacity: 1; } }
.hm-scenes .hm-s3-w-londra { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-londra { animation: hm-s3-w-londra 4200ms ease-in-out both; }
@keyframes hm-s3-w-londra { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 12.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 15.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-londra { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-londra { animation: hm-s3-t-londra 4200ms ease-in-out both; }
@keyframes hm-s3-t-londra { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 12.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 15.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-nisa { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-nisa { animation: hm-s3-w-nisa 4200ms ease-in-out both; }
@keyframes hm-s3-w-nisa { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 14.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 17.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 26.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 29.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-nisa { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-nisa { animation: hm-s3-t-nisa 4200ms ease-in-out both; }
@keyframes hm-s3-t-nisa { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 14.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 17.29% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 26.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 29.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-paris { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-paris { animation: hm-s3-w-paris 4200ms ease-in-out both; }
@keyframes hm-s3-w-paris { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 28.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 31.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 40.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 43.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-paris { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-paris { animation: hm-s3-t-paris 4200ms ease-in-out both; }
@keyframes hm-s3-t-paris { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 28.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 31.57% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 40.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 43.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-athena { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-athena { animation: hm-s3-w-athena 4200ms ease-in-out both; }
@keyframes hm-s3-w-athena { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 42.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 45.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 55.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 58.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-athena { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-athena { animation: hm-s3-t-athena 4200ms ease-in-out both; }
@keyframes hm-s3-t-athena { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 42.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 45.86% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 55.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 58.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-viena { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-viena { animation: hm-s3-w-viena 4200ms ease-in-out both; }
@keyframes hm-s3-w-viena { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 57.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 60.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 69.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 72.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-viena { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-viena { animation: hm-s3-t-viena 4200ms ease-in-out both; }
@keyframes hm-s3-t-viena { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 57.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 60.14% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 69.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 72.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-roma { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-w-roma { animation: hm-s3-w-roma 4200ms ease-in-out both; }
@keyframes hm-s3-w-roma { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 71.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 74.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 83.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 86.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-t-roma { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s3-t-roma { animation: hm-s3-t-roma 4200ms ease-in-out both; }
@keyframes hm-s3-t-roma { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 71.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 74.43% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 83.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 86.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s3-w-barcelona { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s3-w-barcelona { animation: hm-s3-w-barcelona 4200ms ease-in-out both; }
@keyframes hm-s3-w-barcelona { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 85.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 88.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s3-t-barcelona { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s3-t-barcelona { animation: hm-s3-t-barcelona 4200ms ease-in-out both; }
@keyframes hm-s3-t-barcelona { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 85.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 88.71% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s4-stars { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s4-stars { animation: hm-s4-stars 4000ms ease-in-out both; }
@keyframes hm-s4-stars { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0.8; } 60% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s4-lights { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s4-lights { animation: hm-s4-lights 4000ms ease-in-out both; }
@keyframes hm-s4-lights { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 12% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 34% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s4-moon { transform: translate(70.000cqw, 40.000cqh) rotate(0deg) scale(1); opacity: 0; }
.hm-scenes .scene.is-on .hm-s4-moon { animation: hm-s4-moon 4000ms ease-in-out both; }
@keyframes hm-s4-moon { 0% { transform: translate(47.500cqw, 18.000cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(65.000cqw, 30.000cqh) rotate(0deg) scale(1); opacity: 0.9; } 52% { transform: translate(70.000cqw, 40.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(70.000cqw, 40.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.hm-scenes .hm-s4-dawn { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s4-dawn { animation: hm-s4-dawn 4000ms ease-in-out both; }
@keyframes hm-s4-dawn { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 38% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 60% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s4-sun { transform: translate(21.250cqw, 23.600cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s4-sun { animation: hm-s4-sun 4000ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s4-sun { 0% { transform: translate(18.750cqw, 84.000cqh) rotate(0deg) scale(1); opacity: 0; } 44% { transform: translate(18.750cqw, 84.000cqh) rotate(0deg) scale(1); opacity: 0; } 70% { transform: translate(18.750cqw, 28.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(21.250cqw, 23.600cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s4-cup { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s4-cup { animation: hm-s4-cup 4000ms cubic-bezier(.16,1,.3,1) both; }
@keyframes hm-s4-cup { 0% { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(0.3); opacity: 0; } 52% { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(0.3); opacity: 0; } 60% { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(1.1); opacity: 1; } 66% { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(41.250cqw, 80.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s4-van { transform: translate(70.000cqw, 86.400cqh) rotate(0deg) scale(1); opacity: 1; }
.hm-scenes .scene.is-on .hm-s4-van { animation: hm-s4-van 4000ms cubic-bezier(.65,0,.35,1) both; }
@keyframes hm-s4-van { 0% { transform: translate(37.500cqw, 86.400cqh) rotate(0deg) scale(1); opacity: 0; } 64% { transform: translate(37.500cqw, 86.400cqh) rotate(0deg) scale(1); opacity: 0; } 68% { transform: translate(37.500cqw, 86.400cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(70.000cqw, 86.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.hm-scenes .hm-s4-plane { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.6); opacity: 1; }
.hm-scenes .scene.is-on .hm-s4-plane { animation: hm-s4-plane 4000ms ease-in both; }
@keyframes hm-s4-plane { 0% { transform: translate(87.500cqw, 60.000cqh) rotate(-12deg) scale(0.6); opacity: 0; } 80% { transform: translate(80.000cqw, 66.000cqh) rotate(-12deg) scale(0.6); opacity: 0; } 84% { transform: translate(82.500cqw, 64.000cqh) rotate(-12deg) scale(0.6); opacity: 1; } 100% { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.6); opacity: 1; } }
/* sky-scenes:end */

/* Events page gallery: the wide grill shot leads, the rest sit two across at a fixed ratio. */
.hm-events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(10px, 1vw, 12px); }
.hm-events-grid figure { margin: 0; overflow: hidden; border-radius: 2px; background: var(--sky-concrete); }
.hm-events-grid figure:first-child { grid-column: 1 / -1; }
.hm-events-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.hm-events-grid figure:first-child img { aspect-ratio: 16 / 9; }
@media (max-width: 700px) { .hm-events-grid { grid-template-columns: 1fr; } }

/* ------------------------------------------ Rooms by floor (/camere/) */
/* A 2.5D block: the facade carries an offset side wall and roof (painted,
   not a shadow); floors settle in from the ground on reveal. Transform and
   opacity only; reduced motion shows the final frame. */
.hm-floors__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(16px, 3vw, 38px); align-items: center; }
.hm-floors__lead { margin-top: 12px; color: var(--sky-mist); max-width: 52ch; }
.hm-bldg { position: relative; margin-top: clamp(14px, 1.8vw, 22px); padding: 22px 30px 12px 18px; --depth: 18px; }
.hm-bldg__roof { position: absolute; left: 18px; right: 30px; top: 12px; height: 20px; background: var(--sky-asphalt-3); clip-path: polygon(0 100%, var(--depth) 0, 100% 0, calc(100% - var(--depth)) 100%); transform-origin: bottom; }
.hm-bldg__floor { position: relative; display: grid; grid-template-columns: 44px 1fr; align-items: stretch; gap: 10px; padding: 10px 12px 10px 8px; background: var(--sky-asphalt-2); box-shadow: var(--depth) calc(-1 * var(--depth) / 2) 0 -2px #0d1a2c; }
.hm-bldg__floor + .hm-bldg__floor { border-top: 2px solid var(--sky-asphalt); }
.hm-bldg__num { align-self: center; font-size: var(--sky-fs-xl); color: transparent; -webkit-text-stroke: 1.5px var(--sky-accent); text-align: center; }
.hm-bldg__rooms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.hm-bldg__floor:last-of-type .hm-bldg__rooms { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.hm-bldg__floor:last-of-type .hm-bldg__rooms::after { content: ""; border: 2px solid var(--sky-rule-dark); border-bottom: 0; border-radius: 2px 2px 0 0; min-height: 64px; width: 48px; justify-self: center; } /* the entrance door */
.hm-bldg__ground { display: block; height: 6px; margin: 0 -8px 0 -4px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); opacity: .6; }
.hm-win { position: relative; display: grid; align-content: center; gap: 2px; min-height: 64px; padding: 10px 12px; border-radius: 2px; background: var(--sky-asphalt-3); color: var(--sky-paint); text-decoration: none; overflow: hidden; isolation: isolate; }
.hm-win::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--sky-window-lit, #ffd98a); opacity: 0; transition: opacity var(--sky-t2) var(--sky-ease); }
.hm-win:hover::before { opacity: .22; }
.hm-win[aria-current="true"] { color: var(--sky-ink); }
.hm-win[aria-current="true"]::before { opacity: 1; }
.hm-win__name { font-weight: 800; font-size: var(--sky-fs-s); }
.hm-win__rate { font-size: var(--sky-fs-s); font-weight: 700; opacity: .8; font-variant-numeric: tabular-nums; }
.hm-win:focus-visible { outline: 3px solid var(--sky-sky, #159eee); outline-offset: 2px; }
.hm-floors__panel { margin: 0; display: grid; gap: 12px; }
.hm-floors__photo { aspect-ratio: 8 / 5; overflow: hidden; border-radius: 2px; background: var(--sky-asphalt-2); }
.hm-floors__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hm-floors__panel.is-swap .hm-floors__photo img { animation: hm-swap var(--sky-t3) var(--sky-ease); }
@keyframes hm-swap { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
.hm-floors__panel figcaption { display: grid; gap: 4px; }
.hm-floors__floor { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.hm-floors__name { font-size: var(--sky-fs-l); font-weight: 850; letter-spacing: -.02em; line-height: 1.1; }
.hm-floors__rate { color: var(--sky-mist); }
.hm-floors__rate b { color: var(--sky-accent); font-size: var(--sky-fs-l); font-weight: 900; font-variant-numeric: tabular-nums; }
.hm-floors__panel .sky-link { color: var(--sky-paint); justify-self: start; }
/* Floors rise from the ground, top floor last; the roof settles after them. */
.sky-js .hm-bldg[data-sky-reveal] { opacity: 1; transform: none; }
.sky-js .hm-bldg:not(.is-in) .hm-bldg__floor { opacity: 0; transform: translate3d(0, 26px, 0); }
.sky-js .hm-bldg:not(.is-in) .hm-bldg__roof { opacity: 0; transform: scaleY(0); }
.hm-bldg__floor { transition: opacity var(--sky-t3) var(--sky-ease), transform var(--sky-t4) var(--sky-ease); transition-delay: calc((3 - var(--f)) * 140ms); }
.hm-bldg__roof { transition: opacity var(--sky-t3) var(--sky-ease) 480ms, transform var(--sky-t4) var(--sky-ease) 480ms; }
@media (max-width: 900px) {
  .hm-floors__grid { grid-template-columns: 1fr; }
  .hm-bldg { padding-right: 22px; --depth: 12px; }
}
@media (max-width: 480px) {
  .hm-bldg__floor { grid-template-columns: 30px 1fr; gap: 6px; }
  .hm-bldg__num { font-size: var(--sky-fs-l); }
  .hm-bldg__rooms { gap: 6px; }
  .hm-win { padding: 8px; min-height: 56px; }
  .hm-win__name { font-size: var(--sky-fs-s); }
}

/* Hero building: the scene is only a picture (owner, batch 11o: no room taps). */

/* ------------------------------------------------ Booking form */
/* The form itself is the shared booking card (.sb-*, shared/sky-ui/sky.css). */
.sc-form-banner { padding: 8px 18px; }
.sc-form-banner-title strong, .sc-form-banner-title small { display: inline; }
.sc-form-banner-title small { margin-left: 8px; }
.hm-trust { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 8px 2px 0; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 650; }
.hm-trust span + span::before { content: "✓ "; color: var(--sky-blue); }
@media (max-width: 760px) {
  /* The form title stays one slim line; the rooms list is right below anyway. */
  .sc-cazare-home .sc-form-banner-link { display: none; }
  .sc-cazare-home .sc-form-banner-title span { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
}

/* Booking 2026-10-04: the form column also carries the trust line and the
   package suggestions, so both columns end together (no empty field). */
@media (min-width: 961px) {
  .hm-book .container { grid-template-areas: "box aside" "under aside"; align-items: start; }
  .hm-book .sc-booking-box { grid-area: box; }
  .hm-book .hm-under { grid-area: under; }
  .hm-book .hm-aside { grid-area: aside; position: sticky; top: 96px; }
}
.hm-under { display: grid; gap: 10px; }
.hm-under .hm-trust { margin: 0; }
.hm-under .sky-upsell { margin-top: 0; }
@media (min-width: 640px) {
  .hm-under .sky-upsell ul { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
}

/* Reviews 2026-10-04: Booking.com left, Google right, about half the height;
   the rails keep drifting and a card lifts under the pointer. */
.hm-reviews { padding-block: clamp(24px, 3vw, 40px); }
.hm-reviews .sc-reviews-combined__grid { gap: clamp(16px, 2.4vw, 32px); }
@media (min-width: 961px) { .hm-reviews .sc-reviews-combined__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hm-reviews .sc-section-heading { margin-bottom: 8px; }
.hm-reviews .sc-section-heading h2 { font-size: var(--sky-fs-l); line-height: 1.1; }
.hm-reviews .sc-section-heading p { display: none; }
.hm-reviews .gr-widget { gap: 8px; }
.hm-reviews .gr-head, .hm-reviews .gr-widget-head { padding-bottom: 8px; }
.hm-reviews .gr-head strong, .hm-reviews .gr-widget-head strong { font-size: var(--sky-fs-s); }
.hm-reviews .gr-head span, .hm-reviews .gr-widget-head span { font-size: var(--sky-fs-m); }
.hm-reviews .gr-track { grid-auto-columns: minmax(210px, 240px); gap: 8px; }
.hm-reviews .gr-card { padding: 10px 14px; transition: transform var(--sky-t2) var(--sky-ease), box-shadow var(--sky-t2) var(--sky-ease); }
.hm-reviews .gr-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--sky-rule), var(--sky-e2); }
.hm-reviews .gr-card p { font-size: var(--sky-fs-s); line-height: 1.35; }
.hm-reviews .gr-card .gr-card-source { margin-top: 6px; }
.hm-reviews .gr-card-avatar { display: none; }
.hm-reviews .gr-source-note { font-size: var(--sky-fs-s); opacity: .8; }

/* About + facilities 2026-10-04: one section; a narrower photo and the
   amenities as a three-column icon grid. */
.hm-about { padding-block: clamp(24px, 3vw, 44px); }
@media (min-width: 901px) {
  .hm-about .sc-about-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 2fr); align-items: stretch; }
  .hm-about .sc-about-media, .hm-about .sc-about-media picture { height: 100%; }
  .hm-about .sc-about-media picture { display: block; }
  .hm-about .sc-about-media img { width: 100%; height: 100%; min-height: 320px; aspect-ratio: auto; object-fit: cover; }
}
.hm-about .sc-about-copy h2 { font-size: var(--sky-fs-l); line-height: 1.1; }
.hm-about .sc-about-copy > p { margin-block: 6px 12px; font-size: var(--sky-fs-s); }
.hm-amen { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }

/* Phones (owner, batch 11): two per row wherever one per row only adds
   scrolling. Same cards; only the column count changes. */
@media (max-width: 600px) {
  .sc-rooms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sc-rooms-grid .sc-room-footer { flex-direction: column; align-items: flex-start; gap: 6px; }
  .hm-amen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sc-form-banner { padding: 6px 12px; }
  .sc-form-banner-title strong { font-size: var(--sky-fs-s); }
  .sc-form-banner-title small { font-size: 12px; }
}
@media (max-width: 560px) {
  .sc-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .sc-contact-media { min-height: 140px; padding: 12px 16px; }
  .sc-rooms-grid .sc-room-body { padding: 10px 12px 0; }
  .sc-rooms-grid .sc-room-footer { padding: 8px 12px 10px; }
}
@media (max-width: 560px) {
  .hm-about .sc-about-media img, .sc-about-media img { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
}

/* Phones (owner, batch 11c): the hero laid out flat. Button and "Vezi
   camerele" on one line, the three ticks and the Booking.com score on one
   line under them (the scene sits beside the title, shared sky.css). */
@media (max-width: 560px) {
  .hm-hero .sky-hero__actions { flex-wrap: nowrap; align-items: center; gap: 14px; margin-top: 12px; }
  .hm-hero .sky-hero__proof { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 10px; }
  .hm-hero .sky-hero__proof .sky-chip { min-height: 30px; font-size: 12px; }
  .hm-hero .sky-hero__proof span.sky-chip { padding: 0; }
  .hm-hero .sky-hero__proof span.sky-chip::before { width: 9px; height: 5px; margin-right: 5px; border-width: 2px; }
  .hm-hero .sky-hero__proof a.sky-chip { padding: 0 8px; }
}
@media (max-width: 560px) {
  .hm-hero .sky-hero__actions .sky-btn { padding-inline: 16px; }
  .hm-hero .sky-hero__actions .sky-link { white-space: nowrap; }
}

/* Room cards on phones (owner, batch 11c): the text under the photo about
   half as tall, photos unchanged. Name and price on one line, the extra-bed
   note small, the link under them; the generic "Vezi fotografiile…" line
   stays for screen readers only (the card's link says the same). */
@media (max-width: 600px) {
  .sc-rooms-grid .sc-room-card { display: flex; flex-flow: row wrap; align-items: baseline; align-content: flex-start; column-gap: 6px; padding: 0 10px 2px; }
  .sc-rooms-grid .sc-room-card > picture { flex: 0 0 calc(100% + 20px); margin: 0 -10px; }
  .sc-rooms-grid :is(.sc-room-body, .sc-room-title, .sc-room-description, .sc-room-footer) { display: contents; }
  .sc-rooms-grid .sc-room-title h3 { flex: 1 1 auto; margin: 8px 0 0; font-size: var(--sky-fs-m); line-height: 1.15; }
  .sc-rooms-grid .sc-room-price { order: 1; flex: none; margin: 8px 0 0 auto; font-size: var(--sky-fs-m); white-space: nowrap; }
  .sc-rooms-grid .sc-room-price::after { content: "/" var(--sc-night, "noapte"); margin-left: 2px; font-size: 11px; }
  .sc-rooms-grid .sc-room-description p:not(.sc-room-card__extra) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .sc-rooms-grid .sc-room-card__extra { order: 2; flex: 0 0 100%; margin: 3px 0 0; font-size: 11.5px; line-height: 1.25; }
  .sc-rooms-grid .sc-room-link { order: 3; flex: 0 0 100%; min-height: 36px; font-size: 13px; }
}

/* --- Batch 11e (owner 2026-10-07) --- */
/* Reviews: cards about half the size, gliding by themselves (no scrollbar,
   the pause button stays); the two sources one under the other. */
.hm-reviews .gr-carousel { overflow: hidden; padding-bottom: 0; scroll-snap-type: none; }
.hm-reviews .gr-source-note { display: none; }
@media (max-width: 760px) {
  .hm-reviews .sc-reviews-combined__grid { gap: 10px; }
  .hm-reviews .sc-section-heading h2 { font-size: var(--sky-fs-m); }
  .hm-reviews .gr-widget { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; }
  .hm-reviews .gr-widget > :is(.gr-head, .gr-widget-head) { grid-column: 1; padding: 0; }
  .hm-reviews .gr-widget > .gr-pause { grid-column: 2; grid-row: 1; width: 32px; height: 32px; margin: 0; }
  .hm-reviews .gr-widget > .gr-carousel { grid-column: 1 / -1; }
  .hm-reviews .gr-head, .hm-reviews .gr-widget-head { font-size: 12.5px; }
  .hm-reviews .gr-track { grid-auto-columns: 150px; gap: 6px; }
  .hm-reviews .gr-card { padding: 6px 8px; }
  .hm-reviews .gr-card p { font-size: 11.5px; line-height: 1.3; }
  .hm-reviews .gr-card .gr-card-stars { display: none; }
  .hm-reviews .gr-card .gr-card-source { margin-top: 3px; font-size: 11px; }
}


/* --- Batch 11f (owner 2026-10-07) --- */
/* Hero on phones: no empty space under the title. The scene's step text
   keeps only the room it needs, and the scene frame stretches to the end of
   the lead, so both columns end level and the buttons follow at once. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__play { align-self: stretch; grid-template-rows: auto 1fr auto; }
  .hm-hero .sky-scenes__play > .sky-scenes__cap { min-height: 0; }
  .hm-hero .sky-hero__actions { margin-top: 12px; }
  .hm-hero .sky-hero__proof { flex-wrap: wrap; gap: 4px 8px; margin-top: 8px; }
  .hm-hero .sky-hero__proof .sky-chip { font-size: 11.5px; white-space: nowrap; }
  .hm-hero .sky-hero__proof span.sky-chip { padding-right: 2px; }
  .hm-hero .sky-hero__proof span.sky-chip::before { width: 9px; height: 5px; margin-right: 4px; }
  .hm-hero .sky-hero__proof a.sky-chip { flex: none; padding: 0 6px; }
}
/* Facilities on phones: the photo (a sharp one, owner) beside the title and
   the lead instead of above them; the twelve tiles under both. */
@media (max-width: 560px) {
  .hm-about .sc-about-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 8px 10px; align-items: start; }
  .hm-about .sc-about-copy { display: contents; }
  .hm-about .sc-about-media { grid-column: 1; grid-row: 1 / span 3; }
  .hm-about .sc-about-media img, .hm-about .sc-about-media picture { height: 100%; }
  .hm-about .sc-about-media img { aspect-ratio: auto; min-height: 150px; }
  .hm-about .sc-about-media::before { left: -6px; top: -6px; width: 26px; height: 26px; border-width: 3px; }
  .hm-about .sc-about-copy > :is(.sc-eyebrow, h2, p:not(.sky-paid-note)) { grid-column: 2; margin: 0; }
  .hm-about .sc-about-copy > h2 { font-size: var(--sky-fs-m); }
  .hm-about .sc-about-copy > p:not(.sky-paid-note) { font-size: 12.5px; line-height: 1.35; }
  .hm-about .sc-about-copy > :is(.sky-amen, .sky-paid-note) { grid-column: 1 / -1; margin: 0; }
}

/* --- Batch 11g (owner 2026-10-07) --- */
/* Hero on phones: the details (chips, Booking.com score) move up into the
   text column under the lead, beside the scene; the buttons follow under
   both. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto auto 1fr; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 3; align-self: start; grid-template-rows: auto auto auto; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-column: 1; grid-row: 3; align-self: start; display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin-top: 6px; }
  .hm-hero .sky-hero__proof .sky-chip { min-height: 24px; }
  .hm-hero .sky-scenes__copy > .sky-hero__actions { grid-row: 4; }
}

/* --- Batch 11h (owner 2026-10-07) --- */
/* Hero on phones: the lead alone fills the text column beside the scene, so
   the two end level; the details (chips, Booking.com score) run in one
   centred row under both, then the buttons (the gap under the scene closes). */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto 1fr auto; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-column: 1 / -1; grid-row: 3; justify-content: center; gap: 4px 12px; margin-top: 10px; }
}

/* --- Batch 11i (owner 2026-10-07) --- */
/* Hero on phones like the other three homes (shared sky.css "Batch 11i"):
   "Rezervă cazarea" small under the scene with "Vezi camerele" beside it;
   the details in one row under both. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto auto 1fr auto; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__lead { grid-row: 2 / span 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__actions { grid-column: 2; grid-row: 3; align-self: start; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 8px; margin-top: 8px; }
  .hm-hero .sky-hero__actions .sky-btn { flex: 1 1 auto; justify-content: center; padding-inline: 10px; }
  .hm-hero .sky-hero__actions .sky-link { font-size: 13px; min-height: 32px; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-row: 4; }
}

/* --- Batch 11n (owner 2026-10-09) --- */
/* Hero on phones: the two buttons ("Vezi camerele" now a real button) and
   the Booking.com score under the lead on the left; the three ticked points
   under the scene on the right (sky.js initHeroAside): no empty area on
   either side. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto auto auto auto 1fr; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 5; }
  .hm-hero .sky-scenes__copy > .sky-hero__lead { grid-row: 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__actions { grid-column: 1; grid-row: 3; display: grid; gap: 6px; margin-top: 10px; }
  .hm-hero .sky-hero__actions .sky-btn { width: 100%; min-height: 38px; justify-content: center; padding: 6px 10px; font-size: 13.5px; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-column: 1; grid-row: 4; align-self: start; justify-content: flex-start; margin-top: 8px; }
  .hm-hero .sky-scenes__aside { gap: 0; }
  .hm-hero .sky-scenes__aside span.sky-chip { min-height: 22px; padding: 0; background: none; box-shadow: none; font-size: 12px; }
  .hm-hero .sky-scenes__aside span.sky-chip::before { content: ""; width: 9px; height: 5px; margin-right: 6px; border-left: 2px solid var(--sky-accent); border-bottom: 2px solid var(--sky-accent); transform: rotate(-45deg) translateY(-2px); }
}
.hm-hero .hm-rooms-btn { color: var(--sky-paint); }
/* Narrow phones: the hero buttons stay inside the text column. */
@media (max-width: 400px) {
  .hm-hero .sky-hero__actions .sky-btn { min-width: 0; padding-inline: 8px; font-size: 13px; }
  .hm-hero .sky-hero__actions .sky-btn .sky-btn__arrow { display: none; }
}

/* --- Batch 11o (owner 2026-10-09) --- */
/* Hero on phones: only "Vezi camerele" and the Booking.com score are left
   under the text; they share one row under both columns so the text and the
   scene end level (no empty area). */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto 1fr auto; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__lead { align-self: start; }
  .hm-hero .sky-scenes__copy > .sky-hero__actions { grid-column: 1; grid-row: 3; align-self: center; margin-top: 12px; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-column: 2; grid-row: 3; align-self: center; margin-top: 12px; }
}

/* --- Batch 11p (owner 2026-10-09) --- */
/* Hero on phones: the services list under the lead, beside the scene; then
   "Vezi camerele" and the Booking.com score fill one row, half each. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto auto 1fr auto; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 3; align-self: start; }
  .hm-hero .sky-scenes__copy > .sky-hero__lead { grid-row: 2; }
  .hm-hero .sky-scenes__copy > .sky-hero__list { grid-column: 1; grid-row: 3; align-self: start; }
  .hm-hero .sky-scenes__copy > .sky-hero__actions { grid-column: 1; grid-row: 4; display: flex; align-self: stretch; margin-top: 12px; }
  .hm-hero .sky-scenes__copy > .sky-hero__proof { grid-column: 2; grid-row: 4; display: flex; align-self: stretch; justify-content: stretch; margin-top: 12px; }
  .hm-hero .sky-hero__actions .hm-rooms-btn { flex: 1 1 auto; width: 100%; min-height: 46px; justify-content: center; font-size: 14px; }
  .hm-hero .sky-hero__proof a.sky-chip { flex: 1 1 auto; justify-content: center; gap: 8px; min-height: 46px; padding: 0 10px; border-radius: var(--sky-r1); font-size: 14px; font-weight: 750; }
  .hm-hero .sky-hero__proof a.sky-chip b { font-size: 20px; font-weight: 900; }
}
/* Long words in other languages ("Accommodation") break inside the narrow title column. */
@media (max-width: 900px) { .hm-hero .sky-hero__title { overflow-wrap: break-word; hyphens: auto; } }

/* --- Batch 11r (owner 2026-10-09) --- */
/* Phones: the step runs inside the picture and the button sits under the
   window: the title and the lead beside it, the services list in two
   columns under both, then "Vezi camerele" | Booking.com. */
@media (max-width: 900px) {
  .hm-hero .sky-scenes__grid { grid-template-rows: auto auto 1fr auto; }
  .hm-hero .sky-scenes__play { grid-row: 1 / span 3; }
  .hm-hero .sky-scenes__copy > .sky-hero__list { grid-column: 1; grid-row: 3; grid-template-columns: minmax(0, 1fr); gap: 2px; margin-top: 8px; }
}
