/* Guest essentials and final responsive polish. */
:root { --guest-line: rgba(31, 83, 65, .18); }
.proof-band strong > span[data-count] {
  font-size: inherit !important;
  line-height: inherit;
  letter-spacing: inherit;
}
.stay-essentials {
  order: 25;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0 auto;
  padding: 1.65rem clamp(1.2rem, 5vw, 5rem);
  max-width: 1600px;
  border-bottom: 1px solid var(--guest-line);
  background: var(--experience-glass-strong);
}
.stay-essentials > div { display: flex; gap: .85rem; align-items: flex-start; min-width: 0; }
.stay-essentials svg { flex: 0 0 22px; width: 22px; height: 22px; color: #32735b; margin-top: .2rem; }
.stay-essentials strong, .stay-essentials small { display: block; }
.stay-essentials strong { font-size: .94rem; color: #194c3d; line-height: 1.5; }
.stay-essentials small { font-size: .75rem; color: #425f53; line-height: 1.65; }
.amenity-grid { gap: 1rem !important; }
.amenity { border: 1px solid var(--guest-line) !important; border-radius: 8px !important; padding: 1.4rem !important; }
.amenity strong { line-height: 1.45; }
.amenity p { line-height: 1.8; margin-bottom: 0; }
.booking-policy { border: 1px solid var(--guest-line); border-radius: 8px; overflow: hidden; }
.booking-policy p { margin: 0; padding: 1rem; }
.booking-rate-note { line-height: 1.8; border-left: 3px solid #609578; padding-left: 1rem; }
body[data-atmosphere] .villa-card-content > p.villa-pricing-rule,
body[data-atmosphere] .booking-widget-panel > p.villa-pricing-rule {
  min-height: 0 !important;
  margin: .25rem 0 1rem !important;
  font-size: .85rem !important;
  line-height: 1.6 !important;
}
.music-status { font-size: .82rem; line-height: 1.7; margin: .9rem 0 0; }
body[data-atmosphere] .media-stage { grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr) !important; align-items: start; }
body[data-atmosphere] .sound-card { min-width: 0; padding: clamp(1.2rem, 2.5vw, 2rem) !important; background: var(--experience-glass-strong) !important; border: 1px solid var(--guest-line) !important; border-radius: 8px !important; }
body[data-atmosphere] .sound-card > strong { font-size: clamp(1.4rem, 2.3vw, 1.9rem) !important; line-height: 1.25 !important; }
.music-inline-control { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; margin-top: 1.25rem; padding: .65rem 1rem; background: #1c604c; color: #fff; border: 1px solid #83aa91; border-radius: 5px; font: inherit; font-size: .85rem; font-weight: 700; cursor: pointer; }
.music-inline-control svg { width: 18px; height: 18px; }
.music-inline-control[aria-pressed="true"] { background: #f3faf4; color: #164b3b; }
.music-track { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .3rem 1rem; padding: 1rem 0; margin-top: .65rem; border-top: 1px solid var(--guest-line); border-bottom: 1px solid var(--guest-line); }
.music-track > strong { grid-column: 1; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.music-track > small { grid-column: 1; font-size: .75rem; line-height: 1.5; opacity: .8; }
.music-track > .music-counter { grid-column: 2; grid-row: 1 / 3; align-self: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
.music-transport { display: flex; align-items: stretch; gap: .5rem; margin-top: 1rem; }
.music-transport .music-inline-control { margin-top: 0; flex: 1 1 auto; justify-content: center; }
.music-track-control { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: .65rem; color: inherit; background: transparent; border: 1px solid var(--guest-line); border-radius: 5px; cursor: pointer; }
.music-track-control svg { width: 18px; height: 18px; }
.music-track-control:disabled { opacity: .4; cursor: default; }
.music-track-control span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.music-playlist, .music-playback-notices { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--guest-line); font-size: .8rem; line-height: 1.7; }
.music-playlist summary, .music-playback-notices summary { cursor: pointer; font-weight: 700; min-height: 32px; }
.music-playlist ol, .music-playback-notices ul { margin: .5rem 0 0; padding-left: 1.3rem; }
.music-playlist li, .music-playback-notices li { padding: .3rem 0; overflow-wrap: anywhere; }
.music-playlist a { text-decoration: underline; text-underline-offset: 3px; }
.music-playback-notices[hidden] { display: none !important; }
body.music-panel-visible :is(.ambient-audio-control, .atmosphere-switch, .whatsapp-float) { display: none !important; }
.youtube-music { margin-top: 1rem; width: 100%; min-width: 200px; }
.youtube-music[hidden] { display: none !important; }
.youtube-music iframe { display: block; width: 100%; aspect-ratio: 16 / 9; min-height: 200px; border: 0; border-radius: 6px; }
.youtube-music > a { display: inline-block; margin-top: .6rem; text-decoration: underline; text-underline-offset: 3px; }
:where(a, button, select, input, textarea):focus-visible { outline: 3px solid #ba8b30 !important; outline-offset: 4px; }
body[data-atmosphere="night"] .stay-essentials strong { color: #f0faf3; }
body[data-atmosphere="night"] .stay-essentials small { color: #d7e9df; }
body[data-atmosphere="night"] .stay-essentials svg { color: #a9d6ba; }
@media (max-width: 900px) { body[data-atmosphere] .media-stage { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 760px) {
  .stay-essentials { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem; gap: 1.2rem .8rem; }
  .stay-essentials > div { gap: .5rem; }
  .stay-essentials strong { font-size: .8rem; }
  .stay-essentials small { font-size: .68rem; }
  body[data-atmosphere] .atmosphere-switch {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: min(340px, calc(100vw - 1.3rem)) !important;
    gap: .15rem !important;
    bottom: calc(4.7rem + env(safe-area-inset-bottom)) !important;
  }
  body[data-atmosphere] .atmosphere-switch button { white-space: normal !important; min-width: 0 !important; min-height: 44px !important; font-size: .61rem !important; line-height: 1.2 !important; padding: .3rem !important; }
  .ambient-audio-control { bottom: calc(8.7rem + env(safe-area-inset-bottom)); min-height: 44px; }
  .amenity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .65rem !important; }
  .amenity { padding: 1rem !important; }
  .amenity p { font-size: .8rem; }
  .sound-card { min-width: 0; }
}
@media (max-width: 360px) {
  .amenity-grid { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
