/* Responsive safeguards for every phone (iPhone SE 320px → Pro Max 430px, Android 280–412px, foldables). */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}
img,video,iframe{max-width:100%}
p,li,h1,h2,h3,h4,dd,td,address,blockquote,figcaption{overflow-wrap:break-word}
a[href^="mailto:"],a[href^="mailto:"] *{overflow-wrap:anywhere}
/* Grid items never stretch wider than the phone screen. */
@media (max-width:767px){.grid>*{min-width:0}}
a,button{-webkit-tap-highlight-color:rgba(201,169,110,.2)}
/* Notched iPhones / punch-hole Android in landscape: keep the header out of the safe-area. */
.cgm-safe-x{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
@media (min-width:640px){.cgm-safe-x{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right))}}
/* iOS Safari zooms into any form field under 16px on focus. */
@media (max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}
/* Mobile menu: solid light panel, dynamic viewport height (iOS/Android URL bar). */
.cgm-mmenu{background:#fff;box-shadow:0 18px 40px -18px rgba(20,18,14,.35)}
.cgm-mmenu-in{max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(1rem,env(safe-area-inset-bottom))}
/* Phones: leave room for the fixed "Call Us / Browse Products" bar so the last menu items stay reachable. */
@media (max-width:767px){.cgm-mmenu-in{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}
.cgm-mmenu a:hover,.cgm-mmenu button:hover{background:#f5f3f0}
