/* Akeela re-skin: site-wide extras (mobile call/WhatsApp bar, form status, a11y) */
html { scroll-padding-top: 90px; }
html, body { overflow-x: clip; }
.ak-fab { display: none; }
@media (max-width: 900px) {
  .ak-fab { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990; display: grid; grid-template-columns: 1fr 1fr;
    background: #fff; box-shadow: 0 -6px 24px rgba(0,70,74,.14); padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); gap: 8px; }
  .ak-fab a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 12px;
    font: 700 15px/1 "DM Sans", Arial, sans-serif; text-decoration: none; }
  .ak-fab .ak-fab-call { background: #009DA5; color: #fff; }
  .ak-fab .ak-fab-wa { background: #25D366; color: #fff; }
  .ak-fab svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
  .akeela-side-tab { bottom: 90px !important; }
  .ht-ctc, .wpfm-floating-wh-wrapper { display: none !important; }
}
.ak-form-status { margin-top: 12px; font-size: 14px; line-height: 1.5; }
.ak-form-status.ok { color: #0a7d55; }
.ak-form-status.err { color: #b3261e; }
.ak-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #F3754B; outline-offset: 2px; }
/* hamburger icon: the design's spans had zero width inside the flex button (also on the live site) */
.menu-toggle { flex-direction: column; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 8px; cursor: pointer; }
.menu-toggle span { width: 24px; flex: none; margin: 3px 0; border-radius: 2px; transition: transform .25s ease, opacity .2s ease; }
@media (max-width: 900px) {
  /* keep design pop-ups above the call/WhatsApp bar */
  .ak-svc-popup, [class*="popup"][class*="ak-"], .akx-pop { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
/* mobile menu panel: fixed under the header, full width (design panel drifted off-screen) */
@media (max-width: 1024px) {
  .mobile-menu.open, .mobile-menu.mobile-open, .mobile-menu.ak-mobile-open {
    position: fixed !important; left: 0 !important; right: 0 !important; top: 72px !important; width: auto !important; transform: none !important;
    display: flex !important; flex-direction: column; gap: 0; margin: 0 !important; padding: 8px 20px 20px !important;
    max-height: calc(100vh - 72px - 72px); overflow-y: auto; background: #fff; z-index: 99995;
    box-shadow: 0 18px 40px rgba(0,70,74,.16); border-top: 1px solid rgba(0,157,165,.12); }
  .mobile-menu.open > a, .mobile-menu.mobile-open > a, .mobile-menu .mobile-gallery-menu a {
    display: block; padding: 14px 4px; border-bottom: 1px solid rgba(0,157,165,.10); color: #123A3C; font: 700 16px/1.2 "DM Sans", Arial, sans-serif; text-decoration: none; }
  .mobile-menu .mobile-gallery { display: block; width: 100%; }
  .mobile-menu .mobile-gallery-toggle { appearance: none; -webkit-appearance: none; display: flex; justify-content: space-between; align-items: center; width: 100%;
    background: none; border: 0; border-bottom: 1px solid rgba(0,157,165,.10); padding: 14px 4px; color: #123A3C; font: 700 16px/1.2 "DM Sans", Arial, sans-serif; cursor: pointer; }
  .mobile-menu .mobile-gallery-menu { display: none; padding-left: 14px; }
  .mobile-menu .mobile-gallery.open .mobile-gallery-menu, .mobile-menu .mobile-gallery.mobile-open .mobile-gallery-menu { display: block; }
  .mobile-menu .mobile-gallery-menu a { font-weight: 600; font-size: 15px; }
  .mobile-menu .mobile-book { margin-top: 16px; border-bottom: 0 !important; background: #F3754B; color: #fff !important; border-radius: 50px; text-align: center; }
}

/* related articles / treatments on blog posts (SEO internal links) */
.ak-related { padding: 10px 0 70px; background: #fff; }
.ak-related .akp-container { width: min(740px, 90%); margin: 0 auto; }
.ak-related h2 { margin: 0 0 18px; font: 700 24px/1.25 "Manrope", Arial, sans-serif; color: #123A3C; }
.ak-rel-list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
@media (min-width: 700px) { .ak-rel-list { grid-template-columns: 1fr 1fr; } }
.ak-rel-list a { display: block; height: 100%; padding: 16px 18px; border: 1px solid rgba(0,157,165,.15); border-radius: 14px; color: #123A3C; font: 600 15px/1.45 "DM Sans", Arial, sans-serif; text-decoration: none; background: #F8F7F3; transition: border-color .2s, color .2s; }
.ak-rel-list a:hover { border-color: #009DA5; color: #009DA5; }
.ak-rel-svcs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font: 600 14px/1.4 "DM Sans", Arial, sans-serif; color: #667577; }
.ak-related .ak-rel-svcs a.ak-rel-svc { color: #009DA5; text-decoration: none; font-weight: 700; }
.ak-related .ak-rel-svcs a.ak-rel-book { color: #F3754B; }
.ak-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; font: 600 12px/1.4 "DM Sans", Arial, sans-serif; color: #667577; }
.ak-breadcrumb a { color: #667577; text-decoration: none; }
.ak-breadcrumb a:hover { color: #F3754B; }
.services-hero, .ak-svc-final { overflow: hidden; overflow: clip; position: relative; } /* decorative parallax backgrounds must not widen the page */
.ak-was-h1 { display: block; font-size: 2em; font-weight: 700; margin: .67em 0; }
.ak-breadcrumb [aria-current] { color: #123A3C; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60ch; }
