/* Shared by every page (loaded last). Mobile fixes, mobile action bar, header/footer menu.
   Sound Bridge website. Edit this file, not the pages. */

/* ---- Mobile usability and consistent clinic address ---- */
/* Mobile usability and consistent clinic address update */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { width: 100%; max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
main, section, article, .container, .content, .hero, .section, .wrap { min-width: 0; }
input, select, textarea, button { max-width: 100%; font: inherit; }
button, .btn, .sb-btn, .sb-btn-primary, .sb-btn-secondary, .sb-floating-contact { touch-action: manipulation; }
iframe { width: 100%; }
table { max-width: 100%; }
footer .clinic-address { margin: 10px auto; max-width: 680px; line-height: 1.65; overflow-wrap: anywhere; }
@media (max-width: 768px) {
  header { padding: 12px 16px !important; gap: 12px; flex-wrap: wrap; }
  .logo { min-width: 0; max-width: 100%; }
  .logo h2 { font-size: clamp(17px, 4.8vw, 22px) !important; overflow-wrap: anywhere; }
  .logo img { width: 46px !important; height: 46px !important; flex: 0 0 auto; }
  nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px; width: 100%; margin: 0 !important; }
  nav a { margin: 0 !important; padding: 6px 2px; font-size: 14px; line-height: 1.4; }
  .hero { padding: 52px 16px !important; }
  .hero h1, h1 { font-size: clamp(27px, 7vw, 38px); line-height: 1.2; overflow-wrap: anywhere; }
  h2 { font-size: clamp(21px, 5.5vw, 29px); line-height: 1.3; }
  h3 { font-size: clamp(17px, 4.5vw, 22px); line-height: 1.35; }
  p, li { line-height: 1.7; overflow-wrap: anywhere; }
  .cards, .services, .grid, .service-grid, .card-grid, .features, .columns { grid-template-columns: minmax(0, 1fr) !important; }
  .card, .service-card, .feature, .content-card { min-width: 0; width: 100%; }
  section, article, .container, .content, .section, .wrap { padding-left: 16px !important; padding-right: 16px !important; }
  input, select, textarea { width: 100%; min-height: 44px; }
  button, .btn, .sb-btn, .sb-btn-primary, .sb-btn-secondary { min-height: 44px; }
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  iframe { min-height: 260px; }
  .sb-floating-contact { right: 12px !important; bottom: 12px !important; max-width: calc(100vw - 24px); }
  footer { padding: 22px 16px !important; }
}
@media (max-width: 380px) {
  nav a { font-size: 13px; }
  .hero { padding-top: 40px !important; padding-bottom: 40px !important; }
}

/* ---- Mobile action bar (Call / Directions / WhatsApp / Book) ---- */
.sb-mobile-action-bar{display:none}
@media(max-width:760px){body{padding-bottom:76px!important}.sb-mobile-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:2000;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d9e5ed;box-shadow:0 -5px 18px rgba(10,45,70,.13)}.sb-mobile-action-bar a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;text-decoration:none;font-size:11px;font-weight:700;line-height:1.15;padding:7px 2px;border-radius:9px;color:#0b3c5d;background:#eef6fa}.sb-mobile-action-bar a.sb-action-book{background:#0b3c5d;color:#fff}.sb-mobile-action-bar a.sb-action-wa{background:#e5f8ed;color:#087943}.sb-mobile-action-bar span{font-size:17px;line-height:1}}

/* ---- Header menu and footer ---- */
nav a.active,nav a[aria-current="page"]{color:#9fd3ff;border-bottom:2px solid #9fd3ff}
nav a.sb-nav-book{background:#fff;color:#0b3c5d;padding:6px 14px;border-radius:999px;font-weight:700;border-bottom:0}
nav a.sb-nav-book:hover{background:#dff2f8;color:#0b3c5d}
nav a.sb-nav-book.active,nav a.sb-nav-book[aria-current="page"]{color:#0b3c5d;border-bottom:0;box-shadow:0 0 0 2px #9fd3ff}
footer a{color:#fff}
footer .sb-footer-links,footer .sb-social-links{margin:10px 0;font-size:14px;display:flex;gap:6px 16px;justify-content:center;flex-wrap:wrap}
footer .sb-footer-links a,footer .sb-social-links a,footer .sb-footer-contact a{color:#fff;text-decoration:none}
footer .sb-footer-links a:hover,footer .sb-social-links a:hover,footer .sb-footer-contact a:hover{text-decoration:underline}
footer .sb-footer-contact{margin:8px 0;font-size:14px}
