/* Shared responsive refinements for the public site. */
:is(.products-layout,.products-grid,.catalogs-grid,.catalogs-compact,.calc-grid,.footer-grid,.gen-appliance-grid) > * { min-width:0; }
:is(.calc-form,.calc-result-panel,.rec-pump-info,.catalog-entry-info,.footer-contact-details,.search-result-info) { min-width:0; overflow-wrap:anywhere; }
:is(.form-input,.form-select,textarea,select) { max-width:100%; min-width:0; }
:is(.footer-contact-details,.footer-contact-item,.catalog-entry h3,.rec-pump-name,.search-result-title) { overflow-wrap:anywhere; }
.catalogs-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.modal-container { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
.modal-body { min-height:0; overflow-y:auto; }
.mobile-drawer { max-width:calc(100vw - 24px); }
@media(max-width:1100px) {
  .nav-menu { display:none; }
  .mobile-menu-toggle { display:flex; }
  .nav-container { justify-content:space-between; }
}
@media(max-width:992px) {
  .calc-grid { grid-template-columns:minmax(0,1fr) !important; }
  .products-sidebar { position:static; }
  .products-layout { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:640px) {
  .section-title { font-size:clamp(22px,6vw,30px); line-height:1.65; }
  .section-subtitle { font-size:13px; line-height:1.9; }
  :is(.catalog-toolbar,.catalog-entry-actions,.catalog-actions,.form-label) { flex-wrap:wrap; }
  .catalog-entry { gap:12px; padding:14px; }
  .catalog-entry h3 { font-size:14px; }
  .catalog-entry-actions .btn { padding:8px 10px; font-size:11px; }
  .calculator-card { padding:18px; }
  .calc-result-panel { padding:18px; }
  .calc-recommended-pump { flex-wrap:wrap; gap:12px; }
  .rec-pump-info { flex:1 1 150px; }
  .calc-result-panel .btn { white-space:normal; height:auto; min-height:44px; }
  .form-label { gap:8px; align-items:flex-start; }
  .form-value-badge { white-space:normal; }
  .footer-grid { grid-template-columns:minmax(0,1fr); }
  .catalog-meta-row { flex-wrap:wrap; }
  #prodSearchInput { min-width:0 !important; width:100%; }
  .search-big-input { font-size:16px; min-width:0; }
  .modal-header { padding:16px; }
  .modal-body { padding:16px; }
  .floating-actions { left:12px; bottom:max(12px,env(safe-area-inset-bottom)); gap:8px; }
  .floating-actions > a,.floating-actions > button { width:42px; height:42px; }
  .phone-number { font-size:inherit; }
}
@media(max-width:420px) {
  .site-header { padding:0; }
  .nav-container { gap:8px; }
  .brand-logo { min-width:0; flex-shrink:1; }
  .brand-logo img { width:auto; max-width:125px; height:auto !important; max-height:43px; object-fit:contain; }
  .nav-actions { gap:4px; flex-shrink:0; }
  :is(.search-trigger-btn,.theme-toggle-btn,.mobile-menu-toggle) { width:34px; height:40px; padding:5px; }
  .cart-trigger-btn { width:36px; height:40px; }
  .brand-select-grid { grid-template-columns:minmax(0,1fr); }
  .calc-metrics-grid { gap:8px; }
  .calc-metric-box { padding:12px 8px; }
  .calc-metric-val { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}
