/* TokenNest responsive layer — targets the inline layout patterns used across the site.
   Selectors match React's serialized style attribute (e.g. "minmax(0px, 1fr)"). */

/* ---------- Large screens / TV ---------- */
@media (min-width: 1800px) {
  [style*="max-width: 1240px"] { max-width: 1480px !important; }
}
@media (min-width: 2200px) {
  body { zoom: 1.25; }
}
@media (min-width: 3000px) {
  body { zoom: 1.6; }
}

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

/* ---------- Article + sticky aside: single column under 1100px ---------- */
@media (max-width: 1100px) {
  [style*="grid-template-columns: minmax(0px, 1fr) 300px"] { grid-template-columns: minmax(0, 1fr) !important; }
  [style*="grid-template-columns: minmax(0px, 1fr) 300px"] > aside { position: static !important; }
  article[style*="max-width: 70ch"] { max-width: none !important; }
}

/* ---------- Phone / small tablet ---------- */
@media (max-width: 900px) {
  section[style*=" 40px 0"], section[style*=" 40px;"], section[style*=" 40px"] { padding-left: 20px !important; padding-right: 20px !important; }
  footer[style*=" 40px"] { padding-left: 20px !important; padding-right: 20px !important; }

  [style*="grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr)"],
  [style*="grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.2fr)"],
  [style*="grid-template-columns: minmax(0px, 1.2fr) minmax(0px, 0.8fr)"],
  [style*="grid-template-columns: minmax(0px, 0.7fr) minmax(0px, 1.3fr)"],
  [style*="grid-template-columns: minmax(0px, 1.3fr) minmax(0px, 0.7fr)"],
  [style*="grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr)"],
  [style*="grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 0.9fr)"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 1.2fr 1fr"],
  [style*="grid-template-columns: 1fr 1.2fr"],
  [style*="grid-template-columns: repeat(2, 1fr)"],
  [style*="grid-template-columns: repeat(3, 1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"],
  [style*="grid-template-columns: repeat(6, 1fr)"],
  [style*="grid-template-columns: repeat(7, 1fr)"],
  [style*="grid-template-columns: 1.1fr 1fr 1fr 1fr"],
  [style*="grid-template-columns: 72px minmax(0px, 1fr) 120px"],
  [style*="grid-template-columns: 1fr auto"][style*="align-items: end"] { grid-template-columns: minmax(0, 1fr) !important; }

  [style*="grid-column: span 2"], [style*="grid-column: span 3"], [style*="grid-column: span 4"] { grid-column: auto !important; }
  [style*="position: sticky"][style*="top: 110px"], [style*="position: sticky"][style*="top: 100px"], [style*="position: sticky"][style*="top: 120px"] { position: static !important; }

  /* big display type: cap so it never overflows a 360px viewport */
  h1[style*="font-size: clamp("] { font-size: clamp(36px, 11vw, 60px) !important; }
  h2[style*="font-size: clamp("] { font-size: clamp(30px, 9vw, 46px) !important; }
  [style*="font-size: 44px"], [style*="font-size: 48px"] { font-size: 34px !important; }

  /* wide tables / tickers scroll instead of breaking */
  table { display: block; overflow-x: auto; }
  [style*="border-radius: 22px"][style*="padding: 28px"], [style*="border-radius: 24px"][style*="padding: 32px"], [style*="border-radius: 25px"][style*="padding: 32px"], [style*="border-radius: 26px"][style*="padding: 32px"] { padding: 20px !important; }
  [style*="border-radius: 30px"][style*="padding: 48px"], [style*="border-radius: 30px"][style*="padding: 56px"], [style*="border-radius: 30px"][style*="padding: 64px"] { padding: 28px 22px !important; }

  /* nav: hide desktop links + sign-in, show burger */
  [data-tn="desknav"], [data-tn="deskcta"] { display: none !important; }
  [data-tn="burger"] { display: inline-flex !important; }
}
@media (min-width: 901px) {
  [data-tn="burger"], [data-tn="mobilemenu"] { display: none !important; }
}

/* ---------- Very small phones ---------- */
@media (max-width: 420px) {
  section[style*=" 40px"] { padding-left: 16px !important; padding-right: 16px !important; }
  [style*="padding: 18px 28px"] { padding: 16px 20px !important; }
  [style*="gap: 40px"] { gap: 20px !important; }
}
