/* itsgsp.com fixes layered on the GoHighLevel export (see gsp-site.js). */

/* No sideways scrolling on phones. */
html, body { max-width: 100%; overflow-x: clip; }
img, video, iframe { max-width: 100%; }

/* Hamburger — real button with a 44px tap target. */
.gsp-menu-btn {
  width: 44px; height: 44px; padding: 10px; margin: -10px; border: 0; border-radius: 10px;
  background: transparent; cursor: pointer; display: inline-flex;
  justify-content: center; -webkit-tap-highlight-color: transparent;
}
.gsp-menu-btn { color: #fff; align-items: center; }
.gsp-menu-btn .gsp-ico { display: block; width: 26px; height: 26px; }
.gsp-menu-btn:focus-visible { outline: 2px solid #50B96B; outline-offset: 2px; }

/* Menu panel */
#gsp-mobile-menu {
  position: fixed; left: 0; right: 0; z-index: 2147483000;
  background: #091013; border-top: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 40px rgba(0,0,0,.45); max-height: calc(100vh - 80px); overflow-y: auto;
}
#gsp-mobile-menu[hidden] { display: none; }
#gsp-mobile-menu ul { list-style: none; margin: 0; padding: 8px 0 14px; }
#gsp-mobile-menu a {
  display: block; padding: 15px 24px; color: #fff; text-decoration: none;
  font: 500 17px/1.3 Inter, system-ui, -apple-system, sans-serif;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
#gsp-mobile-menu a:hover, #gsp-mobile-menu a:focus-visible { background: rgba(80,185,107,.14); outline: none; }
#gsp-mobile-menu a[aria-current="page"] { color: #50B96B; }
html.gsp-menu-open, html.gsp-menu-open body { overflow: hidden; }

/* Email links: the browser-default dark blue was unreadable on the black
   footer ("blocked out"). Match the surrounding text, keep an underline. */
a[href^="mailto:"] { color: inherit !important; text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }
a[href^="mailto:"]:hover { color: #50B96B !important; }

/* FAQ accordions (toggled by gsp-site.js) */
.hl-faq-child-heading { cursor: pointer; }
.hl-faq-child-heading:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hl-faq-child-panel { overflow: hidden; transition: opacity .2s ease; }
.gsp-faq-open .hl-faq-child-panel { padding: 12px 16px !important; }
.hl-faq-child-heading-icon { transition: transform .2s ease; }
.gsp-faq-open .hl-faq-child-heading-icon { transform: rotate(180deg); }
