/* Mobile responsive overrides for ONCyber site.
   Loaded after oncyber.css. Targets inline-grid layouts via attribute
   selectors to avoid touching every component. */

@media (max-width: 860px) {
  /* Section padding tighter */
  section { padding: 56px 0 !important; }
  section.tight { padding: 40px 0 !important; }

  /* Container side padding */
  .container { padding: 0 18px !important; }

  /* Display headings smaller on mobile */
  .h-display { font-size: clamp(36px, 9vw, 56px) !important; line-height: 1 !important; }
  .h-1 { font-size: clamp(32px, 7vw, 44px) !important; }
  .h-2 { font-size: clamp(24px, 5.5vw, 32px) !important; }
  .lede { font-size: 16px !important; line-height: 1.5 !important; }

  /* Hero pill / eyebrow rows wrap */
  .pill { white-space: normal; }

  /* Collapse two- and three-column inline grids to one column.
     This catches Hero splits, FreeScanBand, footer, etc. */
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="gridTemplateColumns: 1fr 1fr"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1.4fr 1fr"],
  [style*="grid-template-columns: 1.2fr 1fr"],
  [style*="grid-template-columns: 1fr 1.2fr"],
  [style*="grid-template-columns: 1fr 1.4fr"],
  [style*="grid-template-columns: 1fr 1.6fr"],
  [style*="grid-template-columns: 1.6fr 1fr"],
  [style*="grid-template-columns: 1.6fr repeat"],
  [style*="grid-template-columns: 260px 1fr"],
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns: repeat(5"],
  [style*="grid-template-columns: repeat(6"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Padding inside cards tighter */
  .card { padding: 22px !important; }

  /* Header: hide desktop nav links + sign-in + free-scan CTA; show hamburger */
  .header-nav { display: none !important; }
  .header-cta { display: none !important; }
  .header-burger { display: inline-flex !important; align-items: center; }
  .header-bar { height: 64px !important; }

  /* Floating CTA: shrink, anchor closer to edge */
  .float-cta {
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    right: 12px !important;
    bottom: 12px !important;
    padding: 10px 12px 10px 14px !important;
    font-size: 13px !important;
  }
  .float-cta .label b { font-size: 13px !important; }
  .float-cta .label span { font-size: 10px !important; }

  /* Hero gradient orbs smaller so they don't dominate */
  .blob { filter: blur(60px) !important; opacity: .4 !important; }

  /* Free-scan card grids drop to single col already via above */

  /* Tweaks panel: pin to bottom on mobile, full width */
  .tweaks-panel,
  [class*="tweaks"] {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Marquee speed up slightly so logos pass faster */
  .marquee-track { animation-duration: 35s !important; }

  /* Vendor logos a bit smaller on mobile */
  .marquee-track > div { font-size: 14px !important; }

  /* Footer column gap */
  .foot { padding: 56px 0 28px !important; }

  /* Tables on mobile: allow horizontal scroll */
  table { display: block; overflow-x: auto; white-space: nowrap; }

  /* Tall hero padding tighter */
  [style*="padding-top: 160px"],
  [style*="paddingTop: 160px"] { padding-top: 96px !important; }
  [style*="padding-bottom: 160px"],
  [style*="paddingBottom: 160px"] { padding-bottom: 80px !important; }
  [style*="paddingTop: 110px"] { padding-top: 70px !important; }
  [style*="paddingBottom: 70px"] { padding-bottom: 50px !important; }

  /* Buttons in CTA pairs wrap nicely */
  .btn-lg { padding: 14px 22px !important; font-size: 15px !important; }
}

@media (max-width: 480px) {
  .h-display { font-size: 38px !important; }
  .h-1 { font-size: 30px !important; }
  .container { padding: 0 16px !important; }
  /* Hide eyebrow inline tags that wrap awkwardly */
  .eyebrow { font-size: 11px !important; }
}
