/* Keep the header (and its full-screen menu) above page content */
.elementor-location-header{position:relative;z-index:100!important}

/* Mobile / tablet full-screen menu */
@media (max-width:1024px){
  .tp-mnav{display:flex!important;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s}
  .tp-menu-open .tp-mnav{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .28s ease}
  .tp-menu-open{overflow:hidden}
  .tp-menu-open .tp-hbar{background-color:var(--tp-ink,#0F2A2E)!important;border-bottom-color:rgba(244,248,248,.12)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .tp-menu-open .tp-burger{border-color:rgba(244,248,248,.35)!important}
  .tp-menu-open .tp-burger *{color:#F4F8F8!important}
  .tp-menu-open .tp-mbar{transform:translateY(110%)!important}
  .tp-mnav .tp-mnav-link{opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}
  .tp-menu-open .tp-mnav .tp-mnav-link{opacity:1;transform:none}
  .tp-menu-open .tp-mnav .tp-mnav-link:nth-child(2){transition-delay:.05s}
  .tp-menu-open .tp-mnav .tp-mnav-link:nth-child(3){transition-delay:.1s}
  .tp-menu-open .tp-mnav .tp-mnav-link:nth-child(4){transition-delay:.15s}
  .tp-menu-open .tp-mnav .tp-mnav-link:nth-child(5){transition-delay:.2s}
}
@media (min-width:1025px){.tp-mnav{display:none!important}}
.tp-burger{font:inherit}
.tp-burger:focus-visible,.tp-mnav a:focus-visible{outline:2px solid var(--tp-aqua,#A0D6D8);outline-offset:3px}

/* Mobile booking bar */
@media (max-width:767px){
  .tp-mbar{transform:translateY(110%);transition:transform .3s ease}
  .tp-mbar-on .tp-mbar{transform:none}
}

/* Services slider: hide the scrollbar, keep swipe */
.tp-svc-grid{scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tp-svc-grid::-webkit-scrollbar{display:none}

@media (prefers-reduced-motion: reduce){
  .tp-mbar,.tp-mnav,.tp-mnav .tp-mnav-link{transition:none!important}
}

/* Click-to-load map: .tp-map-box is the widget class; its first span is the box */
.tp-map-box{display:block!important;width:100%}
.tp-map-box > span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;min-height:340px;height:100%;border-radius:18px;background:linear-gradient(160deg,#E3F2F2,#A0D6D8);padding:28px;text-align:center;box-sizing:border-box;overflow:hidden}
.tp-map-box > span > span{font-size:.875rem;line-height:1.5;color:var(--tp-ink,#0F2A2E);max-width:32ch}
.tp-map-box a[href="#tp-map-load"]{display:inline-block;cursor:pointer;background:var(--tp-turquoise-ink,#127A7D);color:#fff;font-weight:600;font-size:.9375rem;padding:13px 22px;border-radius:999px;text-decoration:none}
.tp-map-box a[href="#tp-map-load"]:hover{background:#0E6467}
.tp-map-box a:focus-visible{outline:2px solid var(--tp-ink,#0F2A2E);outline-offset:3px}
.tp-map-box a[href*="google.com/maps"]{font-size:.8125rem;color:var(--tp-ink,#0F2A2E);text-decoration:underline;text-underline-offset:3px}
.tp-map-box.is-loaded > span{padding:0;display:block}
.tp-map-box iframe{display:block;width:100%;height:100%;min-height:340px;border:0}

/* Inner pages: lists and links inside prose */
.tp-prose-p ul{margin:6px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}
.tp-prose-p li{padding-left:2px}
.tp-prose-p li::marker{color:var(--tp-turquoise,#1A9FA2)}
.tp-prose-p a,.tp-info-value a{color:var(--tp-turquoise-ink,#127A7D);text-decoration:underline;text-underline-offset:3px}
.tp-prose-p a:hover,.tp-info-value a:hover{color:var(--tp-ink,#0F2A2E)}
.tp-prose-p strong{color:var(--tp-ink,#0F2A2E);font-weight:600}
