/* =========================================================================
   Responsive adjustments — mobile-first refinements
   ========================================================================= */

/* Navbar collapse on mobile shows as light panel */
@media (max-width: 991.98px) {
  .navbar-collapse {
    margin-top: 12px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 14px 16px;
    box-shadow: var(--shadow);
  }
  .navbar-nav .nav-link.active::after { display: none; }
  .navbar-nav .nav-link { padding: .7rem .2rem; border-bottom: 1px solid var(--light); }
  .navbar-nav .nav-item:last-child .nav-link { border-bottom: 0; }
  .dropdown-menu-products { border: none; box-shadow: none; padding-left: 8px; }
  .hero { padding: 56px 0 64px; }
  .hero-visual { margin-top: 34px; }
}

@media (max-width: 767.98px) {
  .section { padding: 54px 0; }
  .form-card, .stat-band, .cta-band { padding: 24px 20px; }
  .footer-bottom { text-align: left; }
  .footer-bottom .container { flex-direction: column; align-items: flex-start; }
  .site-footer { padding-bottom: 26px; }
  .footer-legal-note { text-align: left; }
  .category-thumb { height: 180px; }
  .hero-grid-mini { grid-template-columns: repeat(3, 1fr); }
  .category-lead-banner, .category-lead-img,
  .about-image-card, .about-image,
  .business-image-card, .business-image { max-height: 220px; height: 220px; }
  h1 { font-size: 1.9rem; }
  .btn-lg { width: 100%; }
  .hero-ctas .btn { width: 100%; }
  /* Keep floating buttons clear of cookie banner & form actions */
  .floating-actions { bottom: 108px; right: 12px; }
  .float-btn { width: 46px; height: 46px; font-size: 1.28rem; }
  .back-to-top { width: 40px; height: 40px; }
}

@media (max-width: 400px) {
  .hero-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-grid-mini { grid-template-columns: repeat(2, 1fr); }
  .brand-name { font-size: 1rem; }
}

/* Tablet grid tuning for category cards */
@media (min-width: 768px) and (max-width: 991.98px) {
  .stat-band .stat b { font-size: 1.3rem; }
}

/* Footer: fixed WhatsApp / Call / back-to-top buttons need a free gutter on the
   right, otherwise they cover the proprietor line and the copyright meta text. */
@media (max-width: 1199.98px) {
  .footer-legal-note,
  .footer-bottom .container { padding-right: 88px; }
}

/* Ensure dropdown full-width touch targets are keyboard friendly */
@media (hover: none) {
  .navbar-nav .dropdown-toggle::after { display: inline-block; }
}
