/* Responsive overrides for Choubey & Partners. Desktop (>1024px) is untouched: every rule sits in a max-width query
   or targets an element hidden on desktop. Hooks are data-r attributes in the templates. */
@media (min-width: 1025px) {
  [data-r~="mpanel"] { display: none !important; }
}
@media (max-width: 1024px) {
  html, body { overflow-x: clip; }
  [data-r~="nav"], [data-r~="mega"], [data-r~="util"] { display: none !important; }
  [data-r~="menubtn"] { display: inline-flex !important; }

  [data-r~="stack"] { grid-template-columns: minmax(0, 1fr) !important; row-gap: 24px !important; }
  [data-r~="lab"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 32px !important; row-gap: 32px !important; }
  [data-r~="lab"] > :first-child { grid-column: 1 / -1; }
  [data-r~="g3"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 32px !important; }
  [data-r~="cap"] { grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.2fr) !important; column-gap: 24px !important; }
  [data-r~="pa"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 32px !important; }
  [data-r~="thumb"] { display: none !important; }

  [data-r~="hero"] { height: auto !important; min-height: 0 !important; max-height: none !important; display: flex; flex-direction: column; }
  [data-r~="hero-text"] { position: relative !important; inset: auto !important; order: 1; gap: 48px; padding: 64px clamp(20px, 4.4vw, 48px) 40px !important; }
  [data-r~="hero-vis"] { position: relative !important; inset: auto !important; order: 2; width: 100% !important; height: 300px; clip-path: none !important; }
  [data-r~="hero-vis"][data-r~="hero-contact"] { height: auto; }
  [data-r~="hero-contact"] > div { max-width: none !important; padding: 40px clamp(20px, 4.4vw, 48px) 48px !important; gap: 20px !important; }

  /* Comfortable tap targets without changing how links and buttons look. */
  a, button { position: relative; }
  a::after, button::after { content: ""; position: absolute; left: 50%; top: 50%; width: max(100%, 44px); height: max(100%, 44px); transform: translate(-50%, -50%); }
  p a::after, li a::after, td a::after, [data-r~="mpanel"] a::after { display: none; }
  input, select, textarea { min-width: 0; max-width: 100%; box-sizing: border-box; }
  [data-r~="wrap"] { flex-wrap: wrap !important; row-gap: 14px !important; }
}
@media (max-width: 640px) {
  [data-r~="lab"], [data-r~="g3"], [data-r~="g2"], [data-r~="pa"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-r~="lab"], [data-r~="g2"] { row-gap: 32px !important; }
  [data-r~="row"], [data-r~="cap"] { grid-template-columns: minmax(0, 1fr) !important; row-gap: 6px !important; }
  [data-r~="rowsign"] { grid-template-columns: minmax(0, 1fr) 32px !important; row-gap: 6px !important; column-gap: 16px !important; }
  [data-r~="rowsign"] > * { grid-column: 1; }
  [data-r~="rowsign"] > :last-child { grid-column: 2; grid-row: 1; align-self: start; }
  [data-r~="hero-text"] { padding-top: 48px !important; }
  [data-r~="hero-vis"] { height: 200px; }
  [data-r~="hero-vis"][data-r~="hero-contact"] { height: auto; }

  [style*="justify-content: space-between"] { flex-wrap: wrap; row-gap: 16px; }
  [style*="white-space: nowrap"]:not([data-r~="logo"]) { white-space: normal !important; }

  /* Body text at least 16px on phones (desktop sizes unchanged). */
  :is(p, li, span, a, input, textarea, select, button, td, th)[style*="font-size: 13"],
  :is(p, li, span, a, input, textarea, select, button, td, th)[style*="font-size: 14"],
  :is(p, li, span, a, input, textarea, select, button, td, th)[style*="font-size: 15"],
  :is(p, li, td)[style*="font-size:13"], :is(p, li, td)[style*="font-size:14"], :is(p, li, td)[style*="font-size:15"],
  [style*="font-size:14.5px"] li, [style*="font-size:15.5px"] li { font-size: 16px !important; }
}
