/* ==========================================================================
   Behomu Apartments — responsive enhancements (mobile-first breakpoints)
   ========================================================================== */

/* ≥ 600px — large phones / small tablets */
@media (min-width: 600px) {
  .announce__extra,
  .announce__long { display: inline; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .features { grid-template-columns: repeat(2, 1fr); }
  .amenity-strip { grid-template-columns: repeat(3, 1fr); }
  .gallery-preview { grid-template-columns: repeat(3, 1fr); }
  .masonry { columns: 3 200px; }
  .contact-cards { grid-template-columns: repeat(2, 1fr); }
  .form-grid--2 { grid-template-columns: 1fr 1fr; }
  .form-grid--2 .span-2 { grid-column: 1 / -1; }
  .highlights { grid-template-columns: repeat(3, 1fr); }
  .amen-groups { grid-template-columns: repeat(2, 1fr); }
  .place-list { grid-template-columns: repeat(2, 1fr); }
  .video-grid { grid-template-columns: repeat(2, 1fr); }
  .rules li { grid-template-columns: 200px 1fr; align-items: center; }
  .wizard-steps .step-label { display: inline; }
  .type-grid { grid-template-columns: repeat(3, 1fr); }
  .type-tile { min-height: 380px; }
}

/* ≥ 900px — tablets landscape / small laptops */
@media (min-width: 900px) {
  :root { --header-h: 84px; }
  .site-header .brand__logo { height: 60px; }
  .section-head--split { grid-template-columns: 1.1fr 1fr; }
  .split { grid-template-columns: 1fr 1fr; gap: clamp(3rem, 6vw, 6rem); }
  .split--reverse .split__media { order: 2; }
  .features { grid-template-columns: repeat(4, 1fr); }
  .features--3 { grid-template-columns: repeat(3, 1fr); }
  .amenity-strip { grid-template-columns: repeat(6, 1fr); }
  .gallery-preview { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; }
  .gallery-preview .tile { aspect-ratio: auto; height: 100%; }
  .gallery-preview .tile:first-child { grid-column: span 2; grid-row: span 2; }
  .masonry { columns: 3; }
  .steps { grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
  .step { grid-template-columns: 1fr; text-align: left; }
  .step:not(:last-child)::before { left: 56px; right: calc(-1 * var(--sp-5)); top: 27px; bottom: auto; width: auto; height: 1px; background: repeating-linear-gradient(to right, var(--c-gold) 0 4px, transparent 4px 9px); }
  .video-feature { grid-template-columns: 1.6fr 1fr; }
  .footer-top { grid-template-columns: 1.1fr 2fr; }
  .footer-cols { grid-template-columns: repeat(5, 1fr); }
  .footer-cols .footer-col--contact { grid-column: span 1; }
  .contact-layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: var(--sp-7); align-items: start; }
  .place-list { grid-template-columns: repeat(3, 1fr); }
  .wizard { grid-template-columns: 1.6fr 1fr; }
  .wizard aside { position: sticky; top: calc(var(--header-h) + 1.5rem); }
  .policies-layout { display: grid; grid-template-columns: 220px 1fr; gap: var(--sp-7); align-items: start; }
  .search-panel { padding: var(--sp-6); }
  .search-panel__fields { grid-template-columns: 1.2fr 1.2fr 1fr 1fr 0.9fr auto; align-items: start; }
  .search-panel__fields > .field:nth-child(n+5) { grid-column: auto; }
  .search-panel__fields .btn { min-height: 50px; }
}
@media (max-width: 899.98px) {
  .toc { display: none; }
  .hero { min-height: 0; align-items: start; }
  .hero__content { padding-top: calc(var(--header-h) + 1.75rem); padding-bottom: 7.5rem; }
  .hero::after {
    background: linear-gradient(to bottom, rgba(14, 18, 16, 0.62) 0%, rgba(14, 18, 16, 0.58) 35%, rgba(14, 18, 16, 0.74) 65%, rgba(14, 18, 16, 0.92) 100%);
  }
  .hero .eyebrow,
  .hero h1,
  .hero__lead,
  .hero__badges { text-shadow: 0 1px 14px rgba(0, 0, 0, 0.5); }
  .hero__lead { color: rgba(255, 255, 255, 0.95); }
  .page-hero::after { background: linear-gradient(to bottom, rgba(14, 18, 16, 0.66) 0%, rgba(14, 18, 16, 0.62) 50%, rgba(14, 18, 16, 0.8) 100%); }
  .page-hero .lead { color: rgba(255, 255, 255, 0.95); }
  .page-hero--plain .lead { color: var(--c-muted); }
  .lifestyle::after { background: rgba(14, 18, 16, 0.66); }
  .lifestyle p { color: rgba(255, 255, 255, 0.95); }
  .footer-cols .footer-col--contact { grid-column: 1 / -1; }
}

/* ≥ 1024px — desktop */
@media (min-width: 1024px) {
  .nav { display: block; }
  .nav__link { white-space: nowrap; }
  .header-actions .btn { display: inline-flex; }
  .menu-toggle { display: none; }
  .cards { grid-template-columns: repeat(3, 1fr); }
  .cards--2 { grid-template-columns: repeat(2, 1fr); }
  .listing { grid-template-columns: 280px 1fr; align-items: start; }
  .listing .filters { margin-top: 0; }
  .filters__amen { grid-template-columns: 1fr; }
  .filters-toggle { display: none; }
  .filters[hidden] { display: block !important; }
  .listing .cards { grid-template-columns: repeat(2, 1fr); }
  .video-grid { grid-template-columns: repeat(3, 1fr); }
  .video-grid--portrait { grid-template-columns: repeat(4, 1fr); }

  /* Detail page */
  .collage {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 240px 240px;
    gap: 10px;
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .collage .tile { border-radius: 0; height: 100%; cursor: zoom-in; }
  .collage .tile img { height: 100%; object-fit: cover; }
  .collage .tile:first-child { grid-row: span 2; }
  .collage--3 { grid-template-columns: 2fr 1fr; }
  .collage--1 { grid-template-columns: 1fr; grid-template-rows: 480px; }
  .collage__all { position: absolute; right: 1rem; bottom: 1rem; z-index: 2; }
  .carousel { display: none; }
  .detail-layout { grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(2.5rem, 5vw, 5rem); }
  .book-widget { position: sticky; top: calc(var(--header-h) + 1.5rem); }
  .mobile-bar { display: none; }
  body.has-mobile-bar .to-top { bottom: 1rem; }
  body.has-mobile-bar .fab-whatsapp,
  body.has-mobile-bar .fab-instagram { bottom: 4.5rem; }
}
@media (min-width: 1024px) and (max-height: 760px) {
  .book-widget { position: static; }
}

/* ≥ 1280px */
@media (min-width: 1280px) {
  .collage { grid-template-rows: 260px 260px; }
  .masonry { columns: 4; }
}

/* ≥ 1600px */
@media (min-width: 1600px) {
  :root { --container: 1360px; }
  .collage { grid-template-rows: 300px 300px; }
}

/* Short landscape phones: keep hero usable */
@media (max-height: 520px) and (orientation: landscape) {
  .hero { min-height: 560px; }
  .hero__content { padding-bottom: 6rem; }
}

/* Small laptops / tablets in landscape: keep the menu on one line next to the larger logo. */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  .nav__list { gap: 0.85rem; }
  .nav__link { font-size: 0.86rem; }
  .brand__text { padding-left: 0.65rem; }
}

/* Very small phones (320px) */
@media (max-width: 360px) {
  .brand__text { display: none; }
  .acc-card__foot { flex-direction: column; align-items: stretch; }
  .acc-card__actions .btn { flex: 1; }
  .choice { grid-template-columns: 72px 1fr auto; }
  .choice img { width: 72px; height: 60px; }
  .phone-row { grid-template-columns: 100px 1fr; }
}

@media print {
  .site-header, .announce, .site-footer, .to-top, .fab-whatsapp, .fab-instagram, .mobile-bar, .drawer { display: none !important; }
}
