/* ==========================================================================
   Responsive — mobile-first breakpoints
   sm ≥ 600px · md ≥ 900px · lg ≥ 1200px · xl ≥ 1600px
   ========================================================================== */

@media (max-width: 599.98px) {
  :root { --header-h: 62px; }
  .brand__tag { display: none; }
  .brand__name { font-size: 1.05rem; }
  .header-actions .lang-switch { display: none; }
  .header-actions .hide-xs { display: none; }
  .user-menu__btn .user-menu__name { display: none; }
  .user-menu__btn { padding: 0 4px; }
  .modal__foot { flex-direction: column-reverse; }
  .modal__foot .btn { width: 100%; }
  .section-head { margin-bottom: var(--sp-8); }
  .btn--lg { padding: 0 var(--sp-6); }
  .kv { grid-template-columns: 1fr; gap: 2px var(--sp-4); }
  .kv dd { margin-bottom: var(--sp-3); }
  .entitle { flex-wrap: wrap; }
  .entitle__actions { width: 100%; justify-content: stretch; }
  .entitle__actions .btn { flex: 1; }
  .page-hero__coords { display: none; }
  .toasts { bottom: calc(var(--sp-4) + env(safe-area-inset-bottom)); }
}

@media (min-width: 600px) {
  .form-row--2 { grid-template-columns: 1fr 1fr; }
  .grid--2 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .features { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .toasts { inset-inline: auto var(--sp-6); bottom: var(--sp-6); justify-items: end; }
  html[dir='rtl'] .toasts { inset-inline: auto var(--sp-6); }
}

@media (min-width: 900px) {
  .grid--3 { grid-template-columns: repeat(3, 1fr); }
  .grid--4 { grid-template-columns: repeat(4, 1fr); }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .features { grid-template-columns: repeat(3, 1fr); }
  .split { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--sp-12); }
  .split--checkout { grid-template-columns: minmax(0, 1fr) 400px; }
  .split__aside--sticky { position: sticky; top: calc(var(--header-h) + var(--sp-6)); }
  .site-footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; }
  .rail {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(auto-fill, minmax(272px, 1fr));
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
  .filter-drawer { position: static; display: block; z-index: auto; }
  .filter-drawer__backdrop, .filter-drawer__close { display: none; }
  .filter-drawer__panel { position: static; max-height: none; overflow: visible; padding: 0; background: none; border: 0; border-radius: 0; animation: none; }
  .filters-toggle { display: none; }
}

@media (min-width: 1100px) {
  .main-nav { display: flex; }
  .nav-toggle { display: none; }
}

@media (min-width: 1200px) {
  .grid--cards-4 { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1600px) {
  :root { --container: 1400px; }
}

/* Touch devices: no hover lift, bigger targets */
@media (hover: none) {
  .case-card:hover, .place-card:hover, .cat-card:hover { transform: none; }
  .chip { min-height: 40px; }
}

/* Print: the public site never prints page chrome */
@media print {
  .site-header, .site-footer, .drawer, .toasts, .skip-link { display: none !important; }
  body::after { display: none; }
}
