/* Goodman Decorators — responsive layer. Targets the inline-styled grids/splits
   used across site/*.jsx via attribute selectors, since layouts are inline-styled. */
*{box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100%}
img{max-width:100%;height:auto}

/* ---- Mobile navigation ---- */
.gd-hamburger-btn{display:none}
.gd-mobile-drawer{display:none}
@media (max-width:900px){
  header nav{display:none!important}
  header a[href^="tel:"]{display:none!important}
  header > div > div:last-child{display:none!important}
  .gd-hamburger-btn{display:inline-flex!important}
  header > div{gap:12px!important;padding-right:calc(var(--gutter) + 56px)!important}
}

/* ---- Grid collapses (attribute-matched inline styles) ---- */
@media (max-width:960px){
  [style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:repeat(2, 1fr)!important}
  [style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:repeat(2, 1fr)!important}
  [style*="grid-template-columns: 1.05fr 0.95fr"],
  [style*="grid-template-columns: 0.9fr 1.1fr"],
  [style*="grid-template-columns: 0.8fr 1.2fr"],
  [style*="grid-template-columns: 1.1fr 0.9fr"],
  [style*="grid-template-columns: 1.15fr 0.85fr"]{grid-template-columns:1fr!important}
}
@media (max-width:640px){
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  [style*="aspect-ratio: 4/5"]{aspect-ratio:4/3!important}
  section > div{padding-left:var(--gutter);padding-right:var(--gutter)}
  h1{font-size:clamp(32px,8vw,44px)!important}
}
@media (max-width:480px){
  table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ---- Header row wraps gracefully instead of clipping ---- */
@media (max-width:900px){
  header > div{height:auto!important;padding-top:12px!important;padding-bottom:12px!important;flex-wrap:wrap}
}

/* ---- Mobile drawer panel ---- */
.gd-mobile-drawer.gd-open{display:flex}
