/* =========================================================
   PTG — responsive layer
   Overrides the inline component styles at breakpoints.
   Load after colors_and_type.css on every page.
   ========================================================= */

/* Respect reduced motion: stops Ken Burns, ticker, reveals */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Mobile call bar (hidden on desktop) */
.ptg-callbar {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  border-top: 1px solid rgba(240, 240, 240, 0.15);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.4);
}

/* Hamburger hidden on desktop */
.ptg-burger { display: none; }

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  [style*="repeat(4, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
  [style*="repeat(3, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 960px) {
  .ptg-nav-links, .ptg-nav-right { display: none !important; }
  .ptg-burger { display: inline-flex !important; }
}

@media (max-width: 900px) {
  [style*="minmax(280px"],
  [style*="minmax(220px"],
  [style*="minmax(0, 1fr) minmax(0, 1fr)"] { grid-template-columns: 1fr !important; }
  [style*="minmax(0, 1fr) minmax(0, 1fr)"] > * { grid-column: 1 !important; }
}

/* ---------- Phone ---------- */
@media (max-width: 720px) {
  nav:not(.ptg-flush),
  footer,
  section:not(.ptg-flush):not(#top),
  .ptg-pad {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  section:not(#top):not(.ptg-flush) {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .ptg-ph-inner { padding: 72px 20px 56px !important; }
  .ptg-hero-copy { padding: 72px 20px 210px !important; }
  .ptg-hero-bottom { gap: 18px !important; padding: 14px 20px !important; }
  .ptg-hide-sm { display: none !important; }

  [style*="repeat(4, 1fr)"],
  [style*="repeat(3, 1fr)"],
  [style*="repeat(2, 1fr)"],
  [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: 1fr !important; }

  .ptg-callbar { display: flex; }
  body { padding-bottom: 56px !important; }
}
