/* DS.Med — responsive overrides for phones & tablets.
   NOTE: the runtime renders inline styles as "prop: value" (space after colon,
   value verbatim). Every attribute selector below therefore appears in BOTH
   forms: authored (no space) and rendered (space after colon). */
.ds-burger{display:none}

@media (max-width: 960px){
  div[style*="min-width:1080px"],
  div[style*="min-width: 1080px"]{min-width:0 !important}
  div[style*="max-width:1200px"],
  div[style*="max-width: 1200px"]{padding-left:20px !important;padding-right:20px !important}
  /* header: hide desktop nav, show burger */
  header nav{display:none !important}
  .ds-burger{display:inline-flex !important;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #d7e1ec;border-radius:9px;background:#fff;cursor:pointer;margin-left:auto;flex:none}
  header a[href*="#quote"]{margin-left:0 !important}
  header > div{gap:14px !important}
  /* top contact bar: hide tagline */
  span[style*="letter-spacing:0.04em"],
  span[style*="letter-spacing: 0.04em"]{display:none}
  /* multi-column grids → 2 cols */
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns: repeat(5,1fr)"],
  div[style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:repeat(3,1fr) !important}
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"],
  div[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  /* two-column hero/content grids → single column */
  div[style*="grid-template-columns:1.2fr 1fr"],
  div[style*="grid-template-columns: 1.2fr 1fr"],
  div[style*="grid-template-columns:1.05fr 0.95fr"],
  div[style*="grid-template-columns: 1.05fr 0.95fr"],
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"],
  div[style*="grid-template-columns:1.1fr 0.9fr"],
  div[style*="grid-template-columns: 1.1fr 0.9fr"],
  div[style*="grid-template-columns:0.9fr 1.1fr"],
  div[style*="grid-template-columns: 0.9fr 1.1fr"],
  div[style*="grid-template-columns:300px 1fr"],
  div[style*="grid-template-columns: 300px 1fr"]{grid-template-columns:1fr !important}
  /* hero photo panels shrink */
  div[style*="height:380px"],
  div[style*="height: 380px"]{height:300px !important}
  div[style*="height:420px"],
  div[style*="height: 420px"]{height:320px !important}
  /* CTA / footer rows wrap */
  div[style*="justify-content:space-between"],
  div[style*="justify-content: space-between"]{flex-wrap:wrap}
  footer div[style*="display:flex"],
  footer div[style*="display: flex"]{flex-wrap:wrap}
  /* spec-table cards scroll */
  div[style*="padding:12px 40px"],
  div[style*="padding: 12px 40px"]{padding:12px 16px !important;overflow-x:auto}
}

@media (max-width: 640px){
  h1{font-size:28px !important}
  h2{font-size:22px !important}
  div[style*="max-width:1200px"],
  div[style*="max-width: 1200px"]{padding-left:16px !important;padding-right:16px !important}
  section > div{padding-top:36px !important;padding-bottom:36px !important}
  header > div{height:60px !important}
  header img[alt="DS.Med"]{height:26px !important}
  header a[href*="#quote"]{padding:9px 14px !important;font-size:12.5px !important}
  /* every grid → single column; specialty chips keep 2 */
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"],
  div[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3, 1fr)"],
  div[style*="grid-template-columns:repeat(2,1fr)"],
  div[style*="grid-template-columns: repeat(2,1fr)"],
  div[style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:1fr !important}
  div[style*="grid-template-columns:repeat(5,1fr)"],
  div[style*="grid-template-columns: repeat(5,1fr)"],
  div[style*="grid-template-columns: repeat(5, 1fr)"]{grid-template-columns:repeat(2,1fr) !important}
  /* card-row grids (product photo + text) → stack */
  div[style*="grid-template-columns:1.3fr 1fr 1fr"],
  div[style*="grid-template-columns: 1.3fr 1fr 1fr"],
  div[style*="grid-template-columns:190px 1fr"],
  div[style*="grid-template-columns: 190px 1fr"],
  div[style*="grid-template-columns:150px 1fr"],
  div[style*="grid-template-columns: 150px 1fr"],
  div[style*="grid-template-columns:110px 1fr"],
  div[style*="grid-template-columns: 110px 1fr"]{grid-template-columns:1fr !important}
  /* top contact bar wraps */
  div[style*="margin-left:auto"][style*="gap:22px"],
  div[style*="margin-left: auto"][style*="gap: 22px"]{margin-left:0 !important;flex-wrap:wrap;gap:8px 14px !important}
  /* homepage hero: stats wrap, decorative art hidden */
  div[style*="display:flex"][style*="gap:40px"],
  div[style*="display: flex"][style*="gap: 40px"],
  div[style*="display:flex"][style*="gap:36px"],
  div[style*="display: flex"][style*="gap: 36px"]{flex-wrap:wrap;gap:18px 28px !important}
  div[style*="position:relative"][style*="height:440px"],
  div[style*="position: relative"][style*="height: 440px"]{display:none !important}
  /* button rows wrap */
  div[style*="display:flex"][style*="gap:14px"],
  div[style*="display: flex"][style*="gap: 14px"]{flex-wrap:wrap}
  /* wide tables scroll instead of overflowing */
  table{display:block;overflow-x:auto}
  table thead, table tbody{display:table;width:100%;min-width:480px}
  /* hero photo panels tighter */
  div[style*="height:380px"],
  div[style*="height: 380px"],
  div[style*="height:420px"],
  div[style*="height: 420px"]{height:240px !important}
}

/* mobile nav dropdown panel */
.ds-mobile-nav{display:none;position:fixed;left:0;right:0;z-index:1000;background:#ffffff;border-bottom:1px solid #e2e8f0;box-shadow:0 18px 40px rgba(14,32,56,0.18);padding:10px 20px 18px;flex-direction:column}
.ds-mobile-nav.open{display:flex}
.ds-mobile-nav a{display:block;padding:13px 6px;font:500 15px 'Montserrat',sans-serif;color:#31465c;text-decoration:none;border-bottom:1px solid #eef2f7}
.ds-mobile-nav a:last-child{border-bottom:none}
