/* Summit 24/7 Fitness + Wellness: shared styles (each page also has its own small style block) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
img { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #A6DCF5; outline-offset: 2px; }
.hp { display: none !important; }

/* Mobile header: call button, menu button, fold-out menu */
.mob-actions { display: none; }
.mob-actions a, .mob-actions button { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: #0E1B3D; background: transparent; border: 0; padding: 0; cursor: pointer; border-radius: 999px; }
.mob-actions a:hover, .mob-actions button:hover { background: #EEF5FB; }

/* Quick-action bar on phones */
.mbar { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: #FFFFFF; border-top: 1px solid #D6E2EE; box-shadow: 0 -8px 24px rgba(11, 22, 56, .10); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); grid-template-columns: 1fr 1fr; gap: 10px; }
.mbar a { text-align: center; padding: 13px 10px; border-radius: 999px; font-family: 'Jost', sans-serif; font-weight: 600; font-size: 17px; text-decoration: none; }
.mbar-main { background: #2563B8; color: #FFFFFF !important; }
.mbar-call { color: #2563B8; border: 2px solid #2563B8; padding: 11px 10px !important; }

@media (max-width: 900px) {
  .mob-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
  header img { height: 40px !important; }
  header > div { gap: 0 !important; }
  header .nav { display: none !important; flex-direction: column; align-items: stretch !important; width: 100%; gap: 0 !important; padding-top: 12px; }
  header .nav.open { display: flex !important; }
  header .nav a { padding: 14px 4px !important; border-bottom: 1px solid #D6E2EE; box-shadow: none !important; }
  header .nav a.btn { margin-top: 14px; text-align: center; border-bottom: 0; padding: 14px 22px !important; }
  .mbar { display: grid; }
  body { padding-bottom: 84px; }
}

/* Forms on small screens: one column */
@media (max-width: 560px) {
  form[data-netlify] { grid-template-columns: 1fr !important; padding: 28px 22px !important; }
  form[data-netlify] > * { grid-column: 1 / -1 !important; }
}

/* GymMaster schedule */
.gm-schedule { min-height: 200px; border: 1px solid #D6E2EE; border-radius: 20px; padding: 16px; background: #FFFFFF; }
.gm-schedule iframe { display: block; width: 100%; min-height: 900px; border: 0; }
.gm-fallback { margin: 0; padding: 40px 16px; text-align: center; color: #3B4456; font-size: 18px; }

/* Contact map */
.map-embed { margin-top: 28px; border-radius: 20px; overflow: hidden; border: 1px solid #C5D6E8; height: 320px; background: #E8F0F7; }
.map-embed iframe { display: block; width: 100%; height: 100%; border: 0; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Note shown after clicking an email link */
#copy-toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); max-width: min(520px, calc(100% - 32px)); background: #0B1638; color: #FFFFFF; padding: 14px 20px; border-radius: 14px; font-size: 16px; line-height: 1.4; box-shadow: 0 12px 32px rgba(11, 22, 56, .25); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 60; text-align: center; }
#copy-toast.show { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 900px) { #copy-toast { bottom: 96px; } }
