:root {
  --zzui-blue: #2c9ed5;
  --zzui-ink: #233064;
  --zzui-ice: #eff9fc;
  --zzui-coral: #ff8c5a;
  --zzui-coral-hover: #ef7542;
  --zzui-white: #fff;
  --zzui-muted: #667b8d;
  --zzui-focus: #005a89;
  --zzui-font: "Fira Sans", Arial, sans-serif;
  --zzui-content-width: 1350px;
}


.zzui-banner, .zzui-slider, .zzui-consent, .zzui-banner *, .zzui-consent * { box-sizing: border-box; }
.zzui-banner { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; min-height: 410px; overflow: clip; border-radius: 24px; background: var(--zzui-ice); color: var(--zzui-ink); font-family: var(--zzui-font); text-align: left; }
.zzui-banner[hidden] { display: none !important; }
.zzui-banner__copy { position: relative; z-index: 1; min-width: 0; padding: 38px 20px 38px 48px; }
.zzui-banner .zzui-banner__copy h2 { margin: 0 0 18px; color: var(--zzui-ink); font: 800 clamp(28px, 3.4vw, 46px)/1.15 var(--zzui-font); letter-spacing: normal; overflow-wrap: break-word; }
.zzui-banner .zzui-banner__copy p { margin: 0 0 23px; color: var(--zzui-ink); font: 400 20px/1.4 var(--zzui-font); }
.zzui-banner__visual { position: relative; align-self: stretch; min-width: 0; display: flex; align-items: flex-end; justify-content: center; }
.zzui-banner__visual::before { content: ''; position: absolute; width: 105%; height: 85%; bottom: -10%; right: -10%; border-radius: 50% 40% 0 0; background: var(--zzui-blue); transform: rotate(-12deg); }
.zzui-banner__visual img { position: relative; display: block; width: 100%; max-width: 430px; height: 400px; object-fit: contain; object-position: center bottom; }
.zzui-banner a.zzui-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; max-width: 100%; padding: 13px 25px; border-radius: 30px; background: var(--zzui-coral); color: var(--zzui-ink); font: 700 18px/1.25 var(--zzui-font); text-align: center; text-decoration: none; transition: background-color .18s; }
.zzui-banner a.zzui-button:hover { background: var(--zzui-coral-hover); }
.zzui-banner__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.zzui-banner .zzui-banner__book-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--zzui-focus);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.zzui-footer-offer {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px auto;
  align-items: center;
  gap: 16px clamp(20px, 4vw, 56px);
  width: min(var(--zzui-content-width), calc(100% - 32px));
  margin: 0 auto clamp(22px, 4vw, 50px);
  padding: clamp(20px, 3vw, 42px);
  border-radius: 24px;
  background: var(--zzui-ink);
  color: var(--zzui-white);
  font-family: var(--zzui-font);
}
.zzui-footer-offer .zzui-footer-offer__copy { min-width: 0; text-align: left; }
.zzui-footer-offer .zzui-footer-offer__copy h2 {
  margin: 0 0 8px;
  color: var(--zzui-white);
  font: 800 clamp(24px, 3.2vw, 40px)/1.12 var(--zzui-font);
  letter-spacing: normal;
  overflow-wrap: break-word;
}
.zzui-footer-offer .zzui-footer-offer__copy p {
  margin: 0;
  color: var(--zzui-white);
  font: 400 clamp(16px, 2vw, 21px)/1.35 var(--zzui-font);
}
.zzui-footer-offer__art { display: grid; place-items: center; border-radius: 50%; background: var(--zzui-focus); }
.zzui-footer-offer__art img { display: block; width: 100%; height: auto; }
.zzui-footer-offer a.zzui-footer-offer__action {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  width: fit-content;
  max-width: 100%;
  padding: 10px 20px;
  border-radius: 30px;
  background: var(--zzui-coral);
  color: var(--zzui-ink);
  font: 700 16px/1.2 var(--zzui-font);
  text-align: center;
  text-decoration: none;
}
.zzui-footer-offer a.zzui-footer-offer__action:hover { background: var(--zzui-coral-hover); }
.zzui-footer-offer a.zzui-footer-offer__action:focus-visible { outline: 2px solid var(--zzui-white); outline-offset: 3px; }
@media (max-width: 767px) {
  .zzui-footer-offer { grid-template-columns: minmax(0, 1fr) 62px; gap: 12px; }
  .zzui-footer-offer__action { grid-column: 1 / -1; }
}
.zzui-slider { max-width: 1200px; margin: 0 auto; }
.zzui-slider__controls { display: flex; justify-content: center; align-items: center; gap: 12px; padding: 10px 0 0; }
.zzui-slider__controls[hidden] { display: none; }
.zzui-slider__controls button { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--zzui-blue); border-radius: 50%; background: var(--zzui-white); color: var(--zzui-ink); font: 500 20px/1 var(--zzui-font); cursor: pointer; }
.zzui-slider__tabs { display: flex; gap: 8px; }
.zzui-slider__tabs button[aria-pressed=true] { background: var(--zzui-blue); color: var(--zzui-white); }
.zzui-banner__prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 18px; margin: -5px 0 8px; }
.zzui-banner__prices strong { font: 800 42px/1.1 var(--zzui-font); }
.zzui-banner__prices del { color: var(--zzui-muted); font-size: 23px; }
.zzui-banner .zzui-banner__copy .zzui-banner__locations { font-size: 16px; margin-bottom: 18px; }
.zzui-mobile-break { display: none; }
.zzui-banner--compact { min-height: 190px; max-width: 1200px; margin: 0 auto; grid-template-columns: minmax(0, 1fr) 260px; }
.zzui-banner--compact .zzui-banner__copy { padding: 24px 20px 24px 36px; }
.zzui-banner--compact .zzui-banner__copy h2 { font-size: 30px; margin-bottom: 10px; }
.zzui-banner--compact .zzui-banner__copy p { font-size: 17px; margin-bottom: 14px; }
.zzui-banner--compact .zzui-banner__visual img { height: 235px; width: 280px; max-width: none; }
.zzui-form-policy { color: var(--zzui-white); font: 400 15px/1.5 var(--zzui-font); }
.zzui-form-policy a { color: var(--zzui-white) !important; text-decoration: underline; text-underline-offset: 3px; }
.zzui-consent { position: fixed; z-index: 1000100; bottom: 14px; right: 14px; width: min(440px, calc(100% - 28px)); max-height: 75vh; overflow-y: auto; padding: 20px; border-radius: 16px; background: var(--zzui-white); color: var(--zzui-ink); box-shadow: 0 6px 28px #17375730; font: 400 14px/1.4 var(--zzui-font); }
.zzui-consent h2 { color: var(--zzui-ink); font: 700 18px/1.25 var(--zzui-font); margin: 0 0 10px; }
.zzui-consent p { margin: 0 0 8px; }
.zzui-consent a { color: var(--zzui-focus); text-decoration: underline; }
.zzui-consent__buttons { display: flex; gap: 10px; margin-top: 14px; }
.zzui-consent__buttons button { flex: 1; min-height: 44px; border: 1px solid var(--zzui-blue); border-radius: 10px; padding: 8px 12px; font: 600 14px/1.2 var(--zzui-font); color: var(--zzui-ink); background: var(--zzui-white); cursor: pointer; }
.zzui-consent__buttons button:last-child { background: var(--zzui-blue); color: var(--zzui-white); }
.zzui-banner a:focus-visible, .zzui-slider button:focus-visible, .zzui-consent :focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: 3px; }
/* Jupiter X's main stacking context otherwise places every price dialog below its header. */
html.zzp-modal-open .jupiterx-main { z-index: 100001; }
html.zzp-modal-open .jupiterx-scroll-top { display: none !important; }
html.zzp-modal-open .jupiterx-header { pointer-events: none; }
.zzp-app .zzp-search-go { padding: 0 12px; white-space: nowrap; }
.jupiterx-site { overflow-x: clip; }
.elementor-column, .elementor-widget-wrap, .elementor-widget { min-width: 0; }
.elementor-heading-title, .jet-headline__label { overflow-wrap: break-word; }
footer .elementor-element-41694be2 > .elementor-container { display: grid; grid-template-columns: minmax(140px, .7fr) repeat(3, minmax(0, 1fr)); gap: 18px; align-items: center; padding: 32px 20px; }
footer .elementor-element-41694be2 > .elementor-container > .elementor-column { width: auto; }
footer .elementor-element-41694be2 .elementor-widget-wrap { padding: 0; }
footer .elementor-element-41694be2 .jet-headline__first { font-size: clamp(17px, 1.65vw, 25px); line-height: 1.3; white-space: nowrap; }
footer .elementor-element-41694be2 .jet-headline__second { font-size: clamp(13px, 1.2vw, 17px); line-height: 1.35; }
footer .elementor-element-41694be2 .jet-headline__deco { margin-right: 8px; }
footer .elementor-element-41694be2 .jet-headline__deco svg { width: 24px; height: 24px; }
footer .elementor-element-b21e5e0 > .elementor-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 24px 20px; }
footer .elementor-element-b21e5e0 > .elementor-container > .elementor-column { width: auto; }
footer .elementor-element-b21e5e0 .elementor-widget-wrap { padding: 0; }
footer .elementor-element-b21e5e0 .elementor-heading-title { font-size: clamp(21px, 2vw, 29px); }
footer .elementor-element-b21e5e0 .elementor-icon-list-text { overflow-wrap: anywhere; }
footer .elementor-element-b21e5e0 .elementor-spacer { height: 16px; }
.zzui-footer-group > summary { display: none; }
.zzui-credit { margin: 0; color: var(--zzui-ink); font: 400 14px/1.5 var(--zzui-font); }
.zzui-credit a { color: var(--zzui-focus); text-decoration: underline; text-underline-offset: 3px; }
.zzui-mobile-header { color: var(--zzui-ink); font-family: var(--zzui-font); }
.zzui-mobile-header__book { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 20px; border-radius: 24px; background: var(--zzui-coral); color: var(--zzui-ink) !important; font: 700 16px/1.3 var(--zzui-font); text-decoration: none; }
.zzui-mobile-header__menu, .zzui-mobile-menu__head button { min-width: 48px; min-height: 44px; border: 1px solid #cee5ef; border-radius: 12px; color: var(--zzui-ink); background: var(--zzui-white); font: 600 15px/1.2 var(--zzui-font); cursor: pointer; }
.zzui-mobile-header__menu { justify-self: end; padding: 10px 12px; }
.zzui-mobile-search { grid-column: 1 / -1; display: flex; min-width: 0; border: 1px solid #d5e7ef; border-radius: 12px; background: var(--zzui-white); }
.zzui-mobile-search input[type=search] { width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 0; background: transparent; box-shadow: none; color: var(--zzui-ink); font-size: 15px; }
.zzui-mobile-search button { width: 44px; min-width: 44px; border: 0; background: transparent; color: var(--zzui-focus); }
.zzui-locations { grid-column: 1 / -1; text-align: left; }
.zzui-locations summary { padding: 6px 0; color: var(--zzui-ink); font-size: 13px; font-weight: 600; cursor: pointer; }
.zzui-locations summary span { color: var(--zzui-muted); font-size: 12px; margin-left: 8px; }
.zzui-locations__list { padding: 8px 0; }
.zzui-locations__list a { display: block; padding: 10px 0; border-bottom: 1px solid #d5e7ef; color: var(--zzui-ink); }
.zzui-locations__list a span { display: block; font-size: 13px; }
.zzui-mobile-menu { position: fixed; z-index: 100005; inset: 0; overflow-y: auto; padding: 20px 24px calc(30px + env(safe-area-inset-bottom)); background: var(--zzui-white); text-align: left; }
body.admin-bar .zzui-mobile-menu { top: 46px; }
.zzui-mobile-menu[hidden], .zzui-call-panel[hidden] { display: none !important; }
.zzui-mobile-menu__head { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 16px; }
.zzui-mobile-menu__head strong { font-size: 20px; }
.zzui-mobile-menu__head button { font-size: 26px; }
.zzui-mobile-menu ul { margin: 0; padding: 0; list-style: none; }
.zzui-mobile-menu li { border-bottom: 1px solid #e6eef2; }
.zzui-mobile-menu li a { display: block; padding: 13px 0; color: var(--zzui-ink); font: 500 19px/1.3 var(--zzui-font); }
.zzui-mobile-menu details { padding: 15px 0; }
.zzui-mobile-menu details summary { font-size: 15px; font-weight: 600; cursor: pointer; }
.zzui-mobile-menu details li a { font-size: 15px; }
.zzui-mobile-menu > .zzui-mobile-header__book { display: flex; margin-top: 10px; }
.zzui-mobile-menu__contact { display: block; text-align: center; padding: 16px 0; color: var(--zzui-focus); font-size: 15px; }
.zzui-mobile-actions { display: none; }
.zzui-call-panel { position: fixed; z-index: 1000090; inset: 0; display: flex; align-items: end; justify-content: center; background: #12284480; padding: 12px; }
.zzui-call-panel__inner { width: min(440px, 100%); border-radius: 22px; padding: 20px; background: var(--zzui-white); color: var(--zzui-ink); font-family: var(--zzui-font); }
.zzui-call-panel__inner > a { display: block; padding: 15px 0; border-bottom: 1px solid #d5e7ef; color: var(--zzui-ink); }
.zzui-call-panel__inner > a strong { font-size: 19px; white-space: nowrap; }
.zzui-call-panel__inner > a span { display: block; margin-top: 4px; font-size: 14px; }
html.zzui-menu-open, html.zzui-call-open { overflow: hidden; }
html.zzui-menu-open .jupiterx-scroll-top, html.zzui-call-open .jupiterx-scroll-top { display: none !important; }
.zzui-mobile-header :focus-visible, .zzui-mobile-actions :focus-visible, .zzui-footer-group > summary:focus-visible, .zzui-call-panel :focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: 3px; }
@media (min-width: 768px) and (max-width: 1150px) {
  footer .elementor-element-41694be2 > .elementor-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  footer .elementor-element-41694be2 .elementor-element-4512751f { grid-column: 1 / -1; }
  footer .elementor-element-b21e5e0 > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
}
@media (max-width: 1024px) {
  header .elementor-element-1d40fc46 > .elementor-container { display: block !important; padding: 8px 14px !important; }
  header .elementor-element-1d40fc46 .elementor-element-16c9f5bc { width: 100% !important; }
  header .elementor-element-1d40fc46 .elementor-element-20afcb29, header .elementor-element-17263b11 { display: none !important; }
  header .elementor-element-1d40fc46 .elementor-widget-wrap { padding: 0 !important; }
  header .elementor-element-1d40fc46 .elementor-widget { margin: 0 !important; }
  .zzui-mobile-header { display: grid; grid-template-columns: minmax(0, 1fr) 60px; gap: 6px 12px; align-items: center; max-width: 740px; margin: 0 auto; }
  header .zzui-mobile-header__logo img { width: 78px !important; height: 64px !important; object-fit: contain; }
  .zzui-locations { font-family: var(--zzui-font); }
  .zzui-mobile-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: fixed; z-index: 99980; bottom: 0; left: 0; right: 0; padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); border-top: 1px solid #d5e7ef; border-radius: 18px 18px 0 0; background: #ffffffed; backdrop-filter: blur(12px); box-shadow: 0 -3px 14px #17375712; }
  .zzui-mobile-actions a, .zzui-mobile-actions button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 48px; border: 0; background: transparent; color: var(--zzui-ink); text-decoration: none; font: 500 13px/1.2 var(--zzui-font); }
  .zzui-mobile-actions .dashicons { font-size: 23px; width: 23px; height: 23px; }
  .zzui-mobile-actions a:last-child { border-radius: 12px; background: var(--zzui-coral); }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  html.zzp-modal-open .zzui-mobile-actions, html.zzui-menu-open .zzui-mobile-actions, html.zzui-call-open .zzui-mobile-actions { display: none !important; }
  .zzui-consent { bottom: calc(76px + env(safe-area-inset-bottom)); }
  .jupiterx-scroll-top { bottom: 80px !important; }
}
@media (max-width: 767px) {
  .zzui-banner { grid-template-columns: minmax(0, 1fr); min-height: 610px; border-radius: 20px; }
  .zzui-banner__copy { padding: 26px 24px 14px; }
  .zzui-banner .zzui-banner__copy h2 { font-size: 32px; margin-bottom: 14px; }
  .zzui-banner .zzui-banner__copy p { font-size: 17px; margin-bottom: 18px; }
  .zzui-banner a.zzui-button { min-height: 48px; font-size: 16px; padding: 12px 20px; }
  .zzui-banner__visual { height: 280px; }
  .zzui-banner__visual img { height: 280px; width: 100%; max-width: 330px; }
  .zzui-banner__prices { margin: -3px 0 10px; gap: 12px; }
  .zzui-banner__prices strong { font-size: 36px; }
  .zzui-banner__prices del { font-size: 21px; }
  .zzui-banner .zzui-banner__copy .zzui-banner__locations { font-size: 15px; line-height: 1.4; margin-bottom: 15px; }
  .zzui-mobile-break { display: block; }
  .zzui-banner--compact { min-height: 235px; grid-template-columns: minmax(0, 1fr) 108px; align-items: center; }
  .zzui-banner--compact .zzui-banner__copy { padding: 20px 0 20px 20px; }
  .zzui-banner--compact .zzui-banner__copy h2 { font-size: 24px; margin-bottom: 10px; }
  .zzui-banner--compact .zzui-banner__copy p { font-size: 15px; margin-bottom: 14px; }
  .zzui-banner--compact .zzui-banner__visual { align-self: end; height: 180px; }
  .zzui-banner--compact .zzui-banner__visual img { width: 155px; height: 180px; max-width: none; object-position: left bottom; }
  .zzui-banner--compact .zzui-banner__visual::before { height: 140px; width: 180px; }
  .elementor-element-96b74f3 .elementor-widget-container { margin: 0 !important; }
  .elementor-element-96b74f3 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 10px !important; }
  .elementor-element-806ce73 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 10px !important; }
  header .elementor-element-1d40fc46 > .elementor-container { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 10px; padding: 10px 14px; }
  header .elementor-element-1d40fc46 > .elementor-container > .elementor-column { width: auto !important; min-width: 0; }
  header .elementor-element-1d40fc46 .elementor-widget-wrap { padding: 0 !important; min-width: 0; }
  header .elementor-element-1d40fc46 .elementor-widget-image img { width: 88px; height: auto; }
  header .elementor-element-1d40fc46 .elementor-widget { margin-bottom: 6px !important; }
  header .elementor-element-1d40fc46 .jet-headline { margin: 0; gap: 2px; align-items: flex-start; text-align: left; }
  header .elementor-element-1d40fc46 .jet-headline__first { font-size: 15px !important; line-height: 19px; }
  header .elementor-element-1d40fc46 .jet-headline__second { font-size: 12px !important; line-height: 15px; }
  header .elementor-element-1d40fc46 .jet-headline__deco { display: none; }
  header .elementor-element-17263b11 .elementor-widget-wrap { padding: 0 10px 7px !important; }
  header .elementor-element-17263b11 .raven-nav-menu-toggle { min-height: 44px; }
  header .elementor-element-17263b11 .raven-nav-menu-toggle-button { padding: 8px !important; }
  .zzp-app .zzp-search-wrap { grid-template-columns: minmax(0, 1fr) 78px; }
  .zzp-app .zzp-search-go { min-width: 78px; font-size: 14px; padding: 0 9px; }
  .zzp-app .zzp-search-go::before { content: none; }
  .zzp-app .zzp-search input { padding-right: 36px; }
  .zzui-consent { padding: 16px; font-size: 13px; }
  footer .elementor-section { padding-top: 12px !important; padding-bottom: 12px !important; }
  footer .elementor-element-41694be2 > .elementor-container { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 14px 22px; }
  footer .elementor-element-41694be2 .jet-headline { align-items: flex-start; text-align: left; }
  footer .elementor-element-41694be2 .jet-headline__first { font-size: 19px; line-height: 1.3; }
  footer .elementor-element-41694be2 .jet-headline__second { font-size: 14px; line-height: 1.4; }
  footer .elementor-element-41694be2 .elementor-element-4512751f .elementor-heading-title { font-size: 23px; text-align: left; }
  footer .elementor-element-b21e5e0 > .elementor-container { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 22px; }
  .zzui-footer-group { width: 100%; border-top: 1px solid #cbdde6; }
  .zzui-footer-group > summary { display: list-item; padding: 17px 0; cursor: pointer; color: var(--zzui-ink); font: 600 17px/1.3 var(--zzui-font); }
  .zzui-footer-group > .elementor-widget-wrap { padding: 0 0 18px !important; }
  .zzui-footer-group .elementor-widget-heading { display: none; }
  .zzui-footer-group .elementor-widget-spacer { display: none; }
  .zzui-footer-group .elementor-icon-list-item { padding-bottom: 8px; padding-top: 8px; font-size: 15px; }
  footer .elementor-element-c459494 .elementor-widget-container { padding: 4px 20px; font-size: 13px; line-height: 1.5; }
  footer .elementor-element-1cf7ada1 .elementor-widget-container { font-size: 12px; line-height: 1.5; padding: 0 20px; }
  footer .elementor-element-34d6a04e { margin-top: 12px; padding: 0 20px; }
}

/* Remove Elementor's alternating offsets from rows made entirely of service icon boxes. */
@media (max-width: 1024px) {
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) {
    padding: 5px 16px !important;
    margin: 0 !important;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) > .elementor-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) :is(.elementor-column, .elementor-widget-icon-box) {
    width: 100% !important;
    min-width: 0;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) :is(.elementor-widget-wrap, .elementor-inner-section, .elementor-widget-icon-box) {
    margin: 0 !important;
    padding: 0 !important;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) :is(.elementor-inner-section, .elementor-inner-section > .elementor-container, .elementor-widget-icon-box) {
    height: 100%;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-widget-icon-box > .elementor-widget-container {
    height: 100%;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 16px !important;
    background: var(--zzui-ice);
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-icon-box-wrapper {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    text-align: left;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-icon-box-icon { margin: 0 !important; }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-icon { font-size: 40px !important; }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-icon-box-title {
    margin: 0 0 4px !important;
    color: var(--zzui-ink) !important;
    font: 700 18px/1.2 var(--zzui-font) !important;
    letter-spacing: normal !important;
    overflow-wrap: break-word;
  }
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) .elementor-icon-box-description {
    margin: 0 !important;
    color: var(--zzui-ink) !important;
    font: 400 16px/1.4 var(--zzui-font) !important;
    letter-spacing: normal !important;
  }
}
@media (max-width: 767px) {
  main .elementor-top-section:has(.elementor-widget-icon-box):not(:has(.elementor-widget:not(.elementor-widget-icon-box))) > .elementor-container {
    grid-template-columns: minmax(0, 1fr);
  }
  footer .elementor-element-61b11809 > .elementor-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 4px 14px;
  }
  footer .elementor-element-61b11809 > .elementor-container > .elementor-column { width: auto !important; min-width: 0; }
  footer .elementor-element-61b11809 :is(.elementor-widget-wrap, .elementor-widget-icon-box) {
    margin: 0 !important;
    padding: 0 !important;
  }
  footer .elementor-element-61b11809 .elementor-widget-icon-box > .elementor-widget-container {
    height: 100%;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 14px;
    background: var(--zzui-white);
  }
  footer .elementor-element-61b11809 .elementor-widget-icon-box { height: 100%; }
  footer .elementor-element-61b11809 .elementor-icon-box-wrapper {
    display: grid;
    justify-items: start;
    text-align: left !important;
  }
  footer .elementor-element-61b11809 .elementor-icon-box-content { text-align: left !important; }
  footer .elementor-element-61b11809 .elementor-icon-box-icon { margin: 0 0 6px !important; }
  footer .elementor-element-61b11809 .elementor-icon { font-size: 29px !important; }
  footer .elementor-element-61b11809 .elementor-icon-box-title {
    margin: 0 0 4px !important;
    color: var(--zzui-ink) !important;
    font: 700 17px/1.15 var(--zzui-font) !important;
    letter-spacing: normal !important;
  }
  footer .elementor-element-61b11809 .elementor-icon-box-description {
    margin: 0 !important;
    color: var(--zzui-ink) !important;
    font: 400 15px/1.3 var(--zzui-font) !important;
    letter-spacing: normal !important;
  }
  .zzui-doctor-profile main .elementor-top-section:has(.elementor-widget-icon-box) {
    padding: 24px 16px !important;
  }
  .zzui-doctor-profile main .elementor-top-section:has(.elementor-widget-icon-box) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    margin: 0 !important;
    padding-inline: 0 !important;
  }
  .zzui-doctor-profile main .elementor-widget-icon-box > .elementor-widget-container {
    padding-inline: 0 !important;
    margin-inline: 0 !important;
  }
  .zzui-doctor-profile main .elementor-icon-box-title { letter-spacing: normal !important; overflow-wrap: break-word; }
  .zzui-doctor-profile main .elementor-icon-box-description { font: 400 16px/1.5 var(--zzui-font) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .zzui-banner *, .zzui-slider *, .zzui-consent * { transition: none !important; scroll-behavior: auto !important; }
}

/* Service tiles retain the clinic's existing dental illustrations and destinations. */
.zzui-replaced-services[hidden] { display: none !important; }
main :is(.elementor-element-7022105, .elementor-element-ddb957d):has(+ .zzui-services) {
  padding-block: clamp(28px, 3vw, 48px) 24px !important;
}
main :is(.elementor-element-7022105, .elementor-element-ddb957d):has(+ .zzui-services) > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding-block-end: 0 !important;
}
@media (max-width: 767px) {
  main :is(.elementor-element-7022105, .elementor-element-ddb957d):has(+ .zzui-services) {
    padding-block-end: 16px !important;
    padding-inline: 16px !important;
  }
}
.zzui-services { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; max-width: 1140px; margin: 0 auto 36px; padding: 0 16px; }
.zzui-service { position: relative; min-width: 0; min-height: 215px; overflow: hidden; padding: 22px; border: 1px solid #e3edf3; border-radius: 20px; background: #f0f4f8; color: var(--zzui-ink); text-decoration: none !important; transition: background-color .2s ease; }
.zzui-service:nth-child(3n) { grid-column: span 2; background: #e8f5fa; }
.zzui-service h3 { position: relative; z-index: 2; margin: 0; max-width: 92%; color: var(--zzui-ink); font: 600 21px/1.3 var(--zzui-font); overflow-wrap: break-word; }
.zzui-service img { position: absolute; bottom: -5px; right: 6px; width: 155px; height: 155px; object-fit: contain; opacity: .88; transition: transform .3s cubic-bezier(.2,.7,.2,1), opacity .2s; }
.zzui-service__arrow { position: absolute; z-index: 2; bottom: 16px; left: 20px; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #c8dfe9; border-radius: 50%; color: #006995; font: 400 21px/1 Arial,sans-serif; }
.zzui-service:focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: 3px; background: #d9f0fa; }
@media (hover:hover) and (pointer:fine) {
  .zzui-service:hover { background: #d9f0fa; }
  .zzui-service:hover img { transform: translateY(-7px) rotate(-4deg) scale(1.04); opacity: 1; }
}
.zzui-page-title { max-width: 1140px; margin: 24px auto !important; padding: 0 20px; color: var(--zzui-ink); font: 700 clamp(28px,4vw,44px)/1.15 var(--zzui-font); }
main .elementor-widget-text-editor table { width: 100% !important; max-width: 100%; table-layout: fixed; border-collapse: collapse; }
main .elementor-widget-text-editor table td, main .elementor-widget-text-editor table th { width: auto !important; padding: 11px 12px; overflow-wrap: anywhere; white-space: normal; vertical-align: top; border: 1px solid #dce7ed; font-size: 16px; line-height: 1.45; }
main .elementor-widget-text-editor table tr:nth-child(even) { background: #f1f8fb; }
main .elementor-widget-text-editor table tr:first-child { background: #e2f1f8; font-weight: 600; }
main .elementor-widget-text-editor table td:last-child:not(:first-child), main .elementor-widget-text-editor table th:last-child:not(:first-child) { width: 22% !important; text-align: right; font-variant-numeric: tabular-nums; }
main .elementor-widget-text-editor p, main .elementor-widget-text-editor a { overflow-wrap: anywhere; }
main .jet-posts__inner-box { border-radius: 20px; overflow: hidden; }
main .jet-posts__thumbnail img { width: 100%; height: auto !important; object-fit: contain !important; }
@media (max-width:767px) {
  .zzui-services { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 16px; margin-bottom: 24px; }
  .zzui-service { padding: 16px 13px; min-height: 192px; border-radius: 17px; }
  .zzui-service h3 { max-width: 100%; font-size: 16px; line-height: 1.3; }
  .zzui-service img { width: 116px; height: 116px; right: 2px; bottom: -2px; }
  .zzui-service:nth-child(3n) { min-height: 180px; }
  .zzui-service:nth-child(3n) img { width: 155px; height: 155px; right: 18px; }
  .zzui-service__arrow { bottom: 13px; left: 13px; width: 28px; height: 28px; font-size: 18px; }
  main .elementor-widget-text-editor table td, main .elementor-widget-text-editor table th { font-size: 14px; line-height: 1.45; padding: 10px 8px; }
  main .elementor-widget-text-editor table td:last-child:not(:first-child) { width: 25% !important; }
  header .elementor-element-1d40fc46 > .elementor-container > .elementor-element-16c9f5bc { width: 100% !important; }
}
@media (prefers-reduced-motion:reduce) {
  .zzui-service, .zzui-service img { transition: none; transform: none !important; }
}

.zzui-doctors-shell, .zzui-cases { width: min(100%,1172px); margin-inline: auto; padding: 28px 16px 40px; }
.zzui-doctors-shell > h1, .zzui-cases h2 { color: var(--zzui-ink); margin: 0 0 22px; font: 750 clamp(29px,4vw,46px)/1.1 var(--zzui-font); }
.zzui-doctors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-bottom: 30px; }
.zzui-doctor { display: block; min-width: 0; overflow: hidden; border: 1px solid #e0edf2; border-radius: 22px; background: #f1f7fa; color: var(--zzui-ink); text-decoration: none !important; transition: background-color .2s; }
.zzui-portrait { border-radius: 20px; overflow: hidden; background: white; }
.zzui-portrait img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; object-position: center top; transition: transform .28s ease-out; }
.zzui-doctor__copy { padding: 18px 20px 22px; }
.zzui-doctor__copy h2 { color: var(--zzui-ink); font: 650 clamp(18px,2vw,24px)/1.25 var(--zzui-font); margin: 0 0 8px; overflow-wrap: break-word; }
.zzui-doctor__copy p { color: #425a72; font: 400 15px/1.4 var(--zzui-font); margin: 0 0 7px; }
.zzui-doctor__copy .zzui-doctor__experience { font-size: 13px; }
.zzui-doctor__copy > span { display: inline-block; margin-top: 8px; color: #006995; font: 600 15px/1.4 var(--zzui-font); }
.zzui-doctor:focus-visible, .zzui-cases :focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: 3px; }
@media (hover:hover) and (pointer:fine) {
  .zzui-doctor:hover { background: #e6f3fa; }
  .zzui-doctor:hover .zzui-portrait img { transform: scale(1.035); }
}
.zzui-cases__head { display: flex; justify-content: space-between; align-items: end; gap: 14px; margin-bottom: 18px; }
.zzui-cases__head h2 { margin-bottom: 10px; }
.zzui-cases__head p { max-width: 710px; margin: 0; color: #425a72; font: 400 16px/1.5 var(--zzui-font); }
.zzui-cases__controls { display: flex; gap: 8px; }
.zzui-cases__controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #c9dfe9; border-radius: 50%; background: #fff; color: var(--zzui-ink); font: 600 24px/1 Arial,sans-serif; cursor: pointer; }
.zzui-cases__controls button:disabled { opacity: .45; cursor: default; }
.zzui-cases__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 16px)/2); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #86b3c8 #edf5f8; padding-bottom: 10px; }
.zzui-case { scroll-snap-align: start; min-width: 0; padding: 15px; border-radius: 20px; background: #edf6fa; }
.zzui-case h3 { margin: 0 0 12px; color: var(--zzui-ink); font: 600 18px/1.3 var(--zzui-font); }
.zzui-case__pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.zzui-case figure { position: relative; margin: 0; min-width: 0; }
.zzui-case img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 12px; }
.zzui-case figcaption { position: absolute; left: 7px; bottom: 7px; padding: 4px 8px; border-radius: 7px; color: #152849; background: #fffffff0; font: 600 12px/1.25 var(--zzui-font); }
.zzui-case video { display: block; width: 100%; height: auto; max-height: 340px; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; background: #e4eef4; }
.zzui-clip-view { position: relative; }
.zzui-clip-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 15px; border: 0; border-radius: 30px; background: #fff; color: var(--zzui-ink); font: 650 14px/1.3 var(--zzui-font); box-shadow: 0 4px 18px #0b284a38; cursor: pointer; white-space: nowrap; }
.zzui-clip-play[hidden] { display: none !important; }
main iframe { max-width: 100%; }
main .raven-post-image-wrap { border-radius: 16px; overflow: hidden; }
main .raven-post-image.raven-image-fit img { object-fit: contain !important; background: #eaf4fa; }
html.zzp-modal-open .zzui-consent, html.zzui-menu-open .zzui-consent, html.zzui-call-open .zzui-consent { display: none; }
@media (max-width: 767px) {
  .zzui-doctors { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .zzui-doctor { border-radius: 16px; }
  .zzui-doctor .zzui-portrait { border-radius: 15px; }
  .zzui-doctor__copy { padding: 13px 11px 15px; }
  .zzui-doctor__copy h2 { font-size: 16px; }
  .zzui-doctor__copy p { font-size: 13px; }
  .zzui-cases__head { align-items: start; flex-direction: column; }
  .zzui-cases__track { grid-auto-columns: calc(100% - 26px); gap: 10px; }
  .zzui-case { padding: 12px; }
  .zzui-case h3 { font-size: 16px; }
  .zzui-slider .zzui-banner { min-height: 515px; grid-template-rows: 1fr auto; }
  .zzui-slider .zzui-banner__visual, .zzui-slider .zzui-banner__visual img { height: 230px; }
}
@media (prefers-reduced-motion:reduce) {
  .zzui-doctor, .zzui-portrait img { transition: none; transform: none !important; }
}
.zzui-news { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.zzui-news__card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #deebf1; border-radius: 20px; background: #fff; color: var(--zzui-ink); }
.zzui-news__image { display: block; aspect-ratio: 5/3; overflow: hidden; background: #edf8fc; }
.zzui-news__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zzui-news__copy { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 16px 18px 20px; }
.zzui-news__copy time { color: #586f82; font: 400 13px/1.4 var(--zzui-font); }
.zzui-news__copy h3 { font: 700 clamp(18px,2vw,22px)/1.25 var(--zzui-font); margin: 8px 0 10px; overflow-wrap: break-word; }
.zzui-news__copy h3 a { color: var(--zzui-ink); }
.zzui-news__copy p { margin: 0 0 16px; color: #40566e; font: 400 15px/1.5 var(--zzui-font); }
.zzui-news__read, .zzui-news__all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: #006995; font: 650 15px/1.4 var(--zzui-font); }
.zzui-news__read { margin-top: auto; }
.zzui-news__all { margin-top: 13px; }
.zzui-news :focus-visible, .zzui-news__all:focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: -3px; }
.zzui-article-page main .jupiterx-post-content, .zzui-article-page main .entry-content { max-width: 74ch; margin-inline: auto; font-size: clamp(16px,1.3vw,19px); line-height: 1.65; }
.zzui-article-page main h1 { font-size: clamp(28px,4vw,46px); line-height: 1.15; overflow-wrap: break-word; }
.zzui-article-page main h2 { font-size: clamp(22px,2.5vw,30px); line-height: 1.25; margin: 1.2em 0 .6em; }
.zzui-article-page main p a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 990px) { .zzui-news { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .zzui-news { grid-template-columns: minmax(0,1fr); gap: 14px; } }

.zzui-mobile-header__logo { justify-self: start; }
.zzui-locations summary { line-height: 1.4; }
footer .elementor-element-41694be2 .jet-headline__first > .jet-headline__label,
footer .elementor-element-41694be2 .jet-headline__second > .jet-headline__label { font-size: inherit !important; line-height: inherit !important; }
footer .elementor-element-41694be2 .jet-headline__first > .jet-headline__label { white-space: nowrap; }
footer .elementor-element-41694be2 .jet-headline__first > .jet-headline__deco { margin: 0 8px 0 0 !important; }
@media (max-width: 1024px) {
  header .zzui-mobile-header__logo img { max-width: none !important; }
  .jupiterx-corner-buttons { bottom: calc(75px + env(safe-area-inset-bottom)) !important; }
  html.zzui-form-in-view .jupiterx-scroll-top { visibility: hidden !important; pointer-events: none !important; }
  body.admin-bar #wpadminbar { overflow-x: clip; }
  body.admin-bar #wpadminbar #wp-admin-bar-top-secondary { position: absolute; right: 0; top: 0; }
}
@media (max-width: 767px) {
  main .elementor-element-806ce73 { margin-top: 0 !important; padding: 14px 0 !important; }
}

.zzui-contacts { max-width: 1172px; margin-inline: auto; padding: clamp(22px,4vw,55px) 16px 38px; font-family: var(--zzui-font); color: var(--zzui-ink); }
.zzui-contacts__intro { margin-bottom: 24px; }
.zzui-contacts__intro p { margin: 0 0 7px; color: #086d9c; font-size: 12px; font-weight: 700; letter-spacing: normal; }
.zzui-contacts__intro h1 { margin: 0 0 9px; color: var(--zzui-ink); font: 750 clamp(32px,5vw,55px)/1.1 var(--zzui-font); }
.zzui-contacts__intro div { font-size: 17px; line-height: 1.45; color: #425a72; }
.zzui-contacts__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.zzui-branch { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid #dbe9f2; border-radius: 20px; background: #f0f8fb; }
.zzui-branch__badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 18px; padding: 5px 9px; background: #dfedf7; color: #145981; font-size: 13px; font-weight: 600; }
.zzui-branch__badge .dashicons { width: 16px; height: 16px; font-size: 16px; }
.zzui-branch__head h2 { color: var(--zzui-ink); margin: 11px 0 4px; font: 700 clamp(18px,2vw,23px)/1.2 var(--zzui-font); overflow-wrap: break-word; }
.zzui-branch__head p { margin: 0 0 9px; color: #425a72; font-size: 14px; line-height: 1.4; }
.zzui-branch__hours { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: auto 0 10px; padding-top: 14px; }
.zzui-branch__hours div { background: #fff; border-radius: 11px; padding: 7px 9px; }
.zzui-branch__hours dt { color: #536a7e; font-size: 12px; font-weight: 500; }
.zzui-branch__hours dd { margin: 0; font-size: 14px; font-weight: 600; white-space: nowrap; }
.zzui-branch__phones { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.zzui-branch__phones a { display: inline-flex; align-items: center; min-height: 42px; color: #075b86; font-size: 16px; font-weight: 650; white-space: nowrap; }
.zzui-branch__phones a:first-child { font-size: 19px; }
.zzui-branch__routes a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; color: #075b86; text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.zzui-branch__map { margin-top: 4px; border-top: 1px solid #c9deea; }
.zzui-branch__map summary { padding: 10px 0 4px; color: var(--zzui-ink); font-size: 14px; font-weight: 550; cursor: pointer; }
.zzui-branch__map iframe { display: block; width: 100%; height: 260px; border: 0; border-radius: 13px; margin-top: 10px; }
.zzui-contacts__help { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; border-radius: 20px; padding: 18px 20px; background: #e1f3fb; }
.zzui-contacts__help h2 { color: var(--zzui-ink); margin: 0 0 6px; font-size: 21px; }
.zzui-contacts__help p { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.zzui-contacts__help p a { color: #075b86; text-decoration: underline; text-underline-offset: 2px; }
.zzui-contacts :focus-visible { outline: 3px solid var(--zzui-focus); outline-offset: 3px; }
@media (min-width: 1025px) and (max-width: 1400px) {
  header nav.raven-nav-menu-main .raven-nav-menu > li > a.raven-menu-item { padding: 12px clamp(9px,1vw,15px) !important; font-size: clamp(15px,1.42vw,19px) !important; white-space: nowrap; }
}
@media (max-width: 767px) {
  .zzui-contacts__grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .zzui-branch { padding: 16px; }
  .zzui-contacts__help { align-items: start; flex-direction: column; }
}
/* Keep a visible focus indicator for keyboard navigation. */
body :is(a, button, summary, [role="button"], [tabindex]):focus:not(:focus-visible):not(input, select, textarea, [contenteditable]) {
  outline: none !important;
}
body :is(a, button, summary, [role="button"], [tabindex], input, select, textarea):focus-visible {
  outline: 2px solid #176393 !important;
  outline-offset: 2px;
}

/* The imported price list has an inline fixed height. Let its rows size naturally. */
body.page-id-983 main .elementor-element-4b4ddc2 table {
  height: auto !important;
  table-layout: auto;
  border: 1px solid #dce7ed;
  color: var(--zzui-ink);
  background: #fff;
}
body.page-id-983 main .elementor-element-4b4ddc2 td {
  padding: 10px clamp(9px, 1.6vw, 18px);
  border: 0;
  border-bottom: 1px solid #dce7ed;
  line-height: 1.4;
}
body.page-id-983 main .elementor-element-4b4ddc2 td p {
  margin: 0;
}
body.page-id-983 main .elementor-element-4b4ddc2 td + td {
  width: 26% !important;
  color: #18577e;
  font-weight: 600;
}
body.page-id-983 main .elementor-element-4b4ddc2 td[colspan="2"] {
  padding-block: 12px;
  background: #deeff8;
  color: var(--zzui-ink);
  font-weight: 700;
  text-align: left;
}

/* Service pages share the two-column price table from their Elementor template. */
body.parent-pageid-733 main .elementor-widget-text-editor table {
  height: auto !important;
  border: 1px solid #dce7ed;
  color: var(--zzui-ink);
  background: #fff;
}
body.parent-pageid-733 main .elementor-widget-text-editor table :is(td, th) {
  height: auto !important;
  padding: 10px clamp(9px, 1.6vw, 18px);
  border: 0;
  border-bottom: 1px solid #dce7ed;
  line-height: 1.4;
}
body.parent-pageid-733 main .elementor-widget-text-editor table :is(td, th) p {
  margin: 0;
}
body.parent-pageid-733 main .elementor-widget-text-editor table tr > :last-child:not(:first-child) {
  width: 26% !important;
  color: #18577e;
  font-weight: 600;
}
body.parent-pageid-733 main .elementor-widget-text-editor table tr:first-child > :is(td, th) {
  padding-block: 12px;
  background: #deeff8;
  color: var(--zzui-ink);
  font-weight: 700;
}
body.parent-pageid-733 main .elementor-widget-text-editor table tr > [colspan="2"] {
  background: #eff7fb;
}
@media (max-width: 767px) {
  body.parent-pageid-733 main .elementor-widget-text-editor table tr > :last-child:not(:first-child) {
    width: 29% !important;
  }
}

body.page-id-703 main .elementor-image-gallery .gallery {
  display: grid;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1.4vw, 18px);
  margin: 0;
}
body.page-id-703 main .elementor-image-gallery .gallery-item {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-703 main .elementor-image-gallery .gallery-icon a {
  display: block;
  aspect-ratio: 1;
  border-radius: 12px;
}
body.page-id-703 main .elementor-image-gallery .gallery-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
@media (max-width: 767px) {
  body.page-id-703 main .elementor-image-gallery .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.page-id-983 main .elementor-element-4b4ddc2 td + td {
    width: 29% !important;
  }
}

/* Align the desktop content grid with the coloured menu bar. */
@media (min-width: 1025px) {
  .elementor-element-32befc7f > .elementor-container,
  main .elementor-top-section.elementor-section-boxed > .elementor-container,
  footer .elementor-top-section.elementor-section-boxed > .elementor-container {
    max-width: var(--zzui-content-width) !important;
  }

  main :is(.zzui-slider, .zzui-banner--compact, .zzui-services, .zzui-page-title, .zzui-doctors-shell, .zzui-cases, .zzui-contacts, .zzp-app) {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--zzui-content-width);
    margin-inline: auto;
    padding-inline: 0;
  }

  main .elementor-widget-wrap:has(> .elementor-element-939cb1a .zzp-app),
  main .elementor-widget-wrap:has(> .elementor-widget-raven-post-content .elementor-top-section),
  main .elementor-widget-text-editor > .elementor-widget-container:has(> table) {
    padding-inline: 0 !important;
  }

  .zzui-article-page main :is(.jupiterx-post-content, .entry-content) {
    max-width: var(--zzui-content-width);
  }
}

.zzui-finder {
  box-sizing: border-box;
  width: min(var(--zzui-content-width), calc(100% - 32px));
  margin-inline: auto;
  padding-block: clamp(24px, 5vw, 68px);
  color: var(--zzui-ink);
  font-family: var(--zzui-font);
}
.zzui-finder h1,
.zzui-finder h2 {
  color: var(--zzui-ink);
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
.zzui-finder h1 { margin: 0 0 16px; font-size: clamp(27px, 4vw, 46px); line-height: 1.12; }
.zzui-finder h2 { margin: 0; font-size: clamp(20px, 2.6vw, 30px); line-height: 1.2; }
.zzui-finder__intro { min-width: 0; }
.zzui-finder__form { display: flex; gap: 8px; max-width: 620px; margin: 0; }
.zzui-finder__form input {
  flex: 1;
  min-width: 0;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--zzui-blue);
  border-radius: 14px;
  background: var(--zzui-white);
  color: var(--zzui-ink);
  font: inherit;
}
.zzui-finder__form button.zzui-finder__primary {
  min-height: 46px;
  padding: 10px 18px;
  border: 0;
  border-radius: 14px;
  background: var(--zzui-coral);
  color: var(--zzui-ink);
  font: inherit;
  font-weight: 700;
}
.zzui-finder__form button.zzui-finder__primary:hover { background: var(--zzui-coral-hover); }
.zzui-finder :is(a, button, input, summary):focus-visible {
  outline: 2px solid var(--zzui-focus);
  outline-offset: 2px;
}
.zzui-finder__section { max-width: 860px; margin-top: clamp(24px, 4vw, 44px); }
.zzui-finder__section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 18px; }
.zzui-finder a { color: var(--zzui-focus); text-underline-offset: 3px; }
.zzui-finder :is(.zzui-finder__prices, .zzui-finder__pages) {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.zzui-finder__prices li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  margin-block: 5px;
  border-radius: 10px;
  background: var(--zzui-ice);
  line-height: 1.3;
}
.zzui-finder__prices li div { overflow-wrap: anywhere; }
.zzui-finder__prices li span { display: block; margin-top: 3px; font-size: .84em; }
.zzui-finder__prices li b { max-width: 11ch; text-align: right; overflow-wrap: anywhere; }
.zzui-finder__more summary { width: fit-content; min-height: 44px; padding-block: 10px; color: var(--zzui-focus); cursor: pointer; }
.zzui-finder__pages li { padding-block: 12px; border-bottom: 1px solid var(--zzui-ice); }
.zzui-finder__pages a { font-size: 1.125em; font-weight: 700; overflow-wrap: anywhere; }
.zzui-finder__pages p { margin: 4px 0 0; }
.zzui-finder .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.zzui-finder .page-numbers { padding: 9px 12px; }
.zzui-finder__empty { margin-top: 22px; }
.zzui-finder__missing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(18px, 5vw, 76px);
  padding: clamp(18px, 5vw, 72px);
  border-radius: 24px;
  background: var(--zzui-ice);
}
.zzui-finder__missing .zzui-finder__intro { grid-row: 1; }
.zzui-finder__art {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(4px, 1vw, 16px);
  color: var(--zzui-focus);
  font-size: clamp(58px, 11vw, 152px);
  font-weight: 800;
  line-height: 1;
}
.zzui-finder__art img { display: block; width: clamp(68px, 10vw, 155px); height: auto; }
.zzui-finder__links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 12px; }
.zzui-finder__links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
@media (max-width: 767px) {
  .zzui-finder__missing { grid-template-columns: minmax(0, 1fr); }
  .zzui-finder__missing .zzui-finder__intro { grid-row: auto; }
}
