/* =========================================================================
   PrimeVets — Responsive Styles (mobile-first breakpoints)
   ========================================================================= */

/* Large desktops down */
@media (max-width: 1200px){
  .bento { grid-template-columns: repeat(3,1fr); }
  .svc-grid, .spec-grid, .price-grid, .shop-grid, .doc-grid { grid-template-columns: repeat(3,1fr); }
  .masonry { columns: 3; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1.4fr; }
  .footer-col.links-2 { display:none; }
}

/* Tablet landscape */
@media (max-width: 992px){
  :root { --section-y: clamp(70px, 10vh, 120px); }
  .nav-links { display:none; }
  .nav-toggle { display:grid; place-items:center; }
  .nav-cta .btn-pv.hide-lg { display:none; }
  .bento { grid-template-columns: repeat(2,1fr); }
  .bento .cell.wide { grid-column: span 2; }
  .svc-grid, .spec-grid, .price-grid, .shop-grid, .doc-grid, .blog-grid { grid-template-columns: repeat(2,1fr); }
  .masonry { columns: 2; }
  .feature-split { grid-template-columns: 1fr; }
  .manifesto .ch-body { grid-template-columns: 1fr; gap:.6rem; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .testi-card { flex: 0 0 calc(50% - (var(--grid-gap) / 2)); }
  .top-bar .tb-marquee .tb-item:nth-child(n+3){ display:none; }
}

/* Tablet portrait */
@media (max-width: 768px){
  body { padding-bottom: 56px; } /* room for mobile call bar */
  .top-bar { display:none; }
  .hero-inner { padding-top: 7rem; }
  .hero p.hero-desc { font-size: 1rem; }
  .hero-controls { display:none; }
  .feature-list { grid-template-columns: 1fr; }
  .cta-strip { text-align:center; }
  .cta-strip .btn-pv { margin-inline:auto; }
  .mobile-callbar { display:flex; }
  .floating { bottom: 70px; }
  /* the bottom call bar already provides Call/WhatsApp/Book on mobile — avoid crowding */
  .floating .fab.wa, .floating .fab.call, .floating .fab.book { display:none; }
  .footer-bottom { flex-direction: column; text-align:center; }
  .page-hero { padding-top: 8.5rem; }
}

/* Mobile */
@media (max-width: 576px){
  :root { --grid-gap: 16px; }
  .bento, .svc-grid, .spec-grid, .price-grid, .shop-grid, .doc-grid, .blog-grid, .stats-grid { grid-template-columns: 1fr; }
  .bento .cell.wide { grid-column: span 1; }
  .masonry { columns: 1; }
  .testi-card { flex: 0 0 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero-badges .hb { font-size:.74rem; padding:.4rem .7rem; }
  .manifesto .chapter { grid-template-columns: 1fr; gap:.4rem; }
  .doc-media { aspect-ratio: 3/3.4; }
  .lightbox .lb-prev, .lightbox .lb-next { width:44px; height:44px; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity:1 !important; transform:none !important; }
}

/* brand / logo sizing on smaller screens */
@media (max-width: 768px){
  .brand .brand-mark { width: 54px; height: 54px; }
  .brand .brand-text .bt-1 { font-size: 1.2rem; }
  .brand .brand-text .bt-2 { font-size: .56rem; letter-spacing: .2em; }
  .emergency-band .eb-inner { justify-content: center; text-align: center; }
  .emergency-band .eb-left { flex-direction: column; text-align: center; }
}
@media (max-width: 400px){
  .brand .brand-text .bt-2 { display: none; }
  .brand .brand-mark { width: 48px; height: 48px; }
}
