/* Defensive mobile layout: prevents accommodation content from compressing. */
@media (max-width: 900px) {
  .hero { min-height: 620px; }
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intro { display: block; }
  .intro > * { min-width: 0; }
  .stay-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
  .stay-card,
  .stay-card.featured { display: flex; grid-column: auto; min-width: 0; }
  .stay-card.featured { flex-direction: column; }
  .photo,
  .featured .photo { width: 100%; min-height: 390px; }
  .card-copy { min-width: 0; }
  .card-kicker,
  .rate,
  .card-actions { min-width: 0; }
  .guide { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .hero { min-height: 570px; padding: 78px 20px 64px; }
  .hero h1 { font-size: clamp(43px, 13vw, 55px); overflow-wrap: normal; }
  .facts { margin-inline: 12px; }
  .facts div { padding: 18px 14px; }
  .intro { padding-inline: 20px; }
  .intro h2 { font-size: 44px; }
  .stay-grid { padding-inline: 12px; }
  .photo,
  .featured .photo { min-height: 330px; }
  .card-copy { padding: 24px 20px; }
  .card-kicker { align-items: flex-start; flex-direction: column; gap: 7px; }
  .rate { align-items: flex-start; flex-direction: column; }
  .rate strong { font-size: 24px; }
  .chips { gap: 6px; }
  .chip { padding: 8px 10px; }
  .guide { padding-inline: 20px; }
  .guide-list article { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
}

@media (max-width: 330px) {
  .facts { grid-template-columns: 1fr; }
  .facts div { border-right: 0; border-bottom: 1px solid var(--line); }
  .hero-actions { gap: 9px; }
  .button { padding-inline: 16px; }
}
