/* ============================================================
   U matere — dodatna responzivna pravila (mobile-first dopune)
   ============================================================ */

/* vrlo uski ekrani (320 px) */
@media (max-width: 360px) {
  .hero-title { font-size: 2.6rem; }
  .btn { width: 100%; }
  .hero-actions .btn { width: auto; flex: 1 1 100%; }
  .steps-track .bar { max-width: 28px; }
  .step-dot { width: 34px; height: 34px; }
  .menu-item { flex-direction: column; gap: 0.25rem; }
  .menu-item-price { align-self: flex-end; }
}

/* mobiteli općenito */
@media (max-width: 640px) {
  .brandmark { padding: 0.4rem 0.85rem; }
  .brandmark img { height: 25px; }
  .topbar { padding: 1rem 5vw; }
  .map-frame iframe { min-height: 260px; }
  .gallery-grid .figure img { aspect-ratio: 4 / 5; }
}

/* fiksni gumb rezervacije na mobitelu */
.mobile-reserve {
  position: fixed;
  left: 50%;
  bottom: 1.1rem;
  transform: translateX(-50%);
  z-index: 480;
  display: none;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.55);
}
@media (max-width: 760px) {
  body:not(.no-float-cta) .mobile-reserve { display: inline-flex; }
  footer.site-foot { padding-bottom: 6rem; }
}

/* tableti */
@media (min-width: 641px) and (max-width: 879px) {
}

/* široki ekrani */
@media (min-width: 1440px) {
  .hero-title { font-size: 7rem; }
}

/* horizontalni scroll nikad (reveal transformi ne smiju širiti stranicu) */
html, body { max-width: 100%; overflow-x: hidden; }
@supports (overflow-x: clip) {
  html, body { overflow-x: clip; }
}
