/* Shared modern polish for the converted newsite pages. */

/* The Elementor theme sets html,body font-size to 30px via --cmsmasters-base-font-size.
   Story/booking pages use rem units designed for a 16px root. Reset it. */
html:has(body.story-public-page) {
  font-size: 16px !important;
}
:root {
  --kotzia-ink: oklch(31% 0.075 265);
  --kotzia-muted: oklch(43% 0.026 265);
  --kotzia-surface: oklch(99% 0.012 78);
  --kotzia-wash: oklch(96% 0.035 83);
  --kotzia-sky: oklch(67% 0.095 260);
  --kotzia-sage: oklch(88% 0.095 121);
  --kotzia-coral: oklch(66% 0.15 42);
  --kotzia-line: color-mix(in srgb, var(--e-global-color-secondary) 14%, transparent);
  --kotzia-shadow: 0 28px 70px color-mix(in srgb, var(--e-global-color-secondary) 13%, transparent);
}

/* Top info bar: white text + icons on teal background, slightly darker shade */
.elementor-element-4d50984a {
  background-color: #1a7a88 !important;
}
.elementor-element-4d50984a .elementor-icon-list-text,
.elementor-element-4d50984a .elementor-icon-list-item > a,
.elementor-element-4d50984a .elementor-social-icon,
.elementor-element-4d50984a .elementor-icon-list-icon i,
.elementor-element-4d50984a .elementor-screen-only + i,
.elementor-element-4d50984a a {
  color: #fff !important;
}
.elementor-element-4d50984a .elementor-icon-list-icon svg {
  fill: #fff !important;
}

/* Service image card labels (Vaccinations, Child's Development, Child Nutrition) */
.elementor-element-8089286 .elementor-widget-cmsmasters-button__button,
.elementor-element-3756f7b .elementor-widget-cmsmasters-button__button,
.elementor-element-d7a9b82 .elementor-widget-cmsmasters-button__button {
  color: #fff !important;
}


/* Navbar social icons: white */
.elementor-element-9c508c8 .elementor-social-icon i { color: #fff !important; }
.elementor-element-9c508c8 .elementor-social-icon svg { fill: #fff !important; }

/* Doctor page: social icons white on teal circles */
.elementor-element-387f4fcd .elementor-social-icon i { color: #fff !important; }
.elementor-element-387f4fcd .elementor-social-icon svg { fill: #fff !important; }

/* Doctor page: specialty tag (ΠΑΙΔΟΠΝΕΥΜΟΝΟΛΟΓΟΣ) white text */
.elementor-element-37ab6250 .cmsmasters-postmeta a.term { color: #fff !important; }

body.wp-theme-pediatric-clinic {
  background: #fff5e9;
  color: var(--kotzia-muted);
}

/* Make the white ornaments visible against cream background */
.elementor-53353 .elementor-element.elementor-element-32d784f,
.elementor-53353 .elementor-element.elementor-element-0ba4af7,
.elementor-53353 .elementor-element.elementor-element-cc11b6c,
.elementor-53353 .elementor-element.elementor-element-77ad20c,
.elementor-53353 .elementor-element.elementor-element-86a5634 {
  z-index: 0 !important;
  opacity: 0.75 !important;
  pointer-events: none !important;
}

/* Create stacking context: ornaments behind content */
.elementor-53353 .elementor-element.elementor-element-0179dfa,
.elementor-53353 .elementor-element.elementor-element-521713d,
.elementor-53353 .elementor-element.elementor-element-1128524,
.elementor-53353 .elementor-element.elementor-element-da510fa,
.elementor-53353 .elementor-element.elementor-element-6b1c50c {
  isolation: isolate;
}

.elementor-53353 .elementor-element.elementor-element-0179dfa > :not(.elementor-element-32d784f),
.elementor-53353 .elementor-element.elementor-element-521713d > :not(.elementor-element-0ba4af7),
.elementor-53353 .elementor-element.elementor-element-1128524 > :not(.elementor-element-cc11b6c),
.elementor-53353 .elementor-element.elementor-element-da510fa > :not(.elementor-element-77ad20c),
.elementor-53353 .elementor-element.elementor-element-6b1c50c > :not(.elementor-element-86a5634) {
  position: relative;
  z-index: 1;
}

.elementor-53353 .elementor-element.elementor-element-32d784f .elementor-icon,
.elementor-53353 .elementor-element.elementor-element-32d784f path {
  color: #afc1df !important;
  fill: currentColor !important;
}

.elementor-53353 .elementor-element.elementor-element-0ba4af7 .elementor-icon,
.elementor-53353 .elementor-element.elementor-element-0ba4af7 path,
.elementor-53353 .elementor-element.elementor-element-86a5634 .elementor-icon,
.elementor-53353 .elementor-element.elementor-element-86a5634 path {
  color: #8cbfc3 !important;
  fill: currentColor !important;
}

.elementor-53353 .elementor-element.elementor-element-cc11b6c .elementor-icon,
.elementor-53353 .elementor-element.elementor-element-cc11b6c path {
  color: #c6d98b !important;
  fill: currentColor !important;
}

.elementor-53353 .elementor-element.elementor-element-77ad20c .elementor-icon,
.elementor-53353 .elementor-element.elementor-element-77ad20c path {
  color: #efb48f !important;
  fill: currentColor !important;
}

/* Keep the shared header treatment identical on every page. */
.elementor-element-5d09ad4c {
  background-color: #fff5e9 !important;
}

body.wp-theme-pediatric-clinic a,
body.wp-theme-pediatric-clinic button {
  transition-duration: 180ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

body.wp-theme-pediatric-clinic :focus-visible {
  outline: 3px solid color-mix(in srgb, var(--e-global-color-primary) 36%, transparent);
  outline-offset: 4px;
}

body.wp-theme-pediatric-clinic .elementor-widget-cmsmasters-button__button {
  box-shadow: 0 12px 28px color-mix(in srgb, var(--e-global-color-primary) 26%, transparent);
}

body.wp-theme-pediatric-clinic .elementor-widget-cmsmasters-button__button:hover,
body.wp-theme-pediatric-clinic .elementor-widget-cmsmasters-button__button:focus-visible {
  box-shadow: 0 16px 34px color-mix(in srgb, var(--e-global-color-accent) 24%, transparent);
  transform: translateY(-1px);
}

.elementor-37720 .elementor-element.elementor-element-5820136 {
  isolation: isolate;
}

.elementor-37720 .elementor-element.elementor-element-56b5b16 {
  border: 1px solid color-mix(in srgb, var(--e-global-color-secondary) 10%, transparent);
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--kotzia-sage) 58%, var(--e-global-color-background)) 0 58%, color-mix(in srgb, var(--e-global-color-tertiary) 54%, var(--e-global-color-background)) 58% 100%) !important;
  overflow: hidden;
  position: relative;
}

.elementor-37720 .elementor-element.elementor-element-56b5b16::before,
.elementor-37720 .elementor-element.elementor-element-56b5b16::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.elementor-37720 .elementor-element.elementor-element-56b5b16::before {
  background:
    linear-gradient(154deg, transparent 0 12%, color-mix(in srgb, var(--e-global-color-primary) 10%, transparent) 12% 22%, transparent 22%),
    linear-gradient(26deg, transparent 0 69%, color-mix(in srgb, var(--e-global-color-accent) 11%, transparent) 69% 76%, transparent 76%),
    linear-gradient(105deg, transparent 0 48%, color-mix(in srgb, var(--e-global-color-alternate) 36%, transparent) 48% 55%, transparent 55%);
  opacity: 0.74;
}

.elementor-37720 .elementor-element.elementor-element-56b5b16::after {
  background: url("/images/pediatric-hero-doodles.svg") 60% 48% / min(88%, 560px) auto no-repeat;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.56) 38%, #000 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.56) 38%, #000 100%);
  mix-blend-mode: multiply;
  opacity: 0.2;
}

.elementor-37720 .elementor-element.elementor-element-56b5b16 > .elementor-element {
  position: relative;
  z-index: 1;
}

.elementor-37720 .elementor-element.elementor-element-b853536 {
  border: 1px solid color-mix(in srgb, var(--e-global-color-secondary) 10%, transparent);
  box-shadow: var(--kotzia-shadow);
  overflow: hidden;
}

.elementor-37720 .elementor-element.elementor-element-b853536::after {
  background: linear-gradient(90deg, color-mix(in srgb, var(--e-global-color-background) 28%, transparent), transparent 34%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.elementor-37720 .elementor-element.elementor-element-53be677 .elementor-heading-title,
.elementor-37720 .elementor-element.elementor-element-ff4ca02 .elementor-heading-title {
  text-wrap: balance;
}

.elementor-37720 .elementor-element.elementor-element-51b4070 .elementor-widget-cmsmasters-featured-box__description {
  white-space: nowrap;
}

.elementor-141 .elementor-element.elementor-element-18dadde3 {
  border: 1px solid color-mix(in srgb, var(--e-global-color-secondary) 11%, transparent);
  box-shadow: var(--kotzia-shadow);
  overflow: hidden;
}

.elementor-141 .elementor-element.elementor-element-5c8068c7 {
  --gap: clamp(48px, 6vw, 88px) !important;
  --row-gap: clamp(48px, 6vw, 88px) !important;
  --column-gap: clamp(48px, 6vw, 88px) !important;
}

.elementor-141 .elementor-element.elementor-element-578fa00b {
  min-width: 290px;
}

.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-items {
  display: grid;
  gap: 14px;
}

.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item {
  align-items: baseline;
  display: grid !important;
  gap: 12px;
  grid-template-columns: max-content max-content;
  justify-content: space-between;
  line-height: 1.35;
}

.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-text-wrap,
.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-text,
.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-value {
  min-width: 0;
  overflow-wrap: normal;
  white-space: normal;
  word-break: normal;
}

.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-text {
  white-space: nowrap;
}

.elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-value {
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item {
    grid-template-columns: max-content max-content;
  }
}

/* ── Mobile Navigation Drawer ── */
html.kotzia-menu-open,
body.kotzia-menu-open {
  overflow: hidden;
  overscroll-behavior: contain;
}

.elementor-131 .elementor-element.elementor-element-6c50ff7b .elementor-icon-wrapper {
  display: flex;
}

.elementor-131 .elementor-element.elementor-element-6c50ff7b .elementor-icon {
  align-items: center;
  border: 0;
  border-radius: 0;
  color: var(--e-global-color-secondary);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}

.elementor-131 .elementor-element.elementor-element-6c50ff7b .elementor-icon:hover,
.elementor-131 .elementor-element.elementor-element-6c50ff7b .elementor-icon:focus-visible {
  background: transparent;
  color: var(--e-global-color-accent);
}

.cmsmasters-elementor-popup-153.kotzia-menu-ready {
  align-items: stretch;
  background: color-mix(in srgb, var(--kotzia-ink) 68%, transparent) !important;
  display: none;
  inset: 0;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1), visibility 260ms cubic-bezier(0.22, 1, 0.36, 1);
  visibility: hidden;
  z-index: 99999999999;
}

.cmsmasters-elementor-popup-153.kotzia-menu-ready.kotzia-popup-active {
  display: flex !important;
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.cmsmasters-elementor-popup-153 .elementor[data-elementor-type="cmsmasters_popup"] {
  align-items: stretch;
  background: transparent !important;
  display: flex;
  justify-content: flex-end;
  padding: 0;
}

.cmsmasters-elementor-popup-153 .elementor-153 {
  --cmsmasters-popup-width: min(420px, calc(100vw - 24px));
  background: transparent !important;
}

.cmsmasters-elementor-popup-153 .elementor-153 > .elementor-inner {
  height: 100dvh;
  max-width: min(420px, calc(100vw - 24px));
  transform: translateX(104%);
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);
  width: min(420px, calc(100vw - 24px));
}

.cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-153 > .elementor-inner {
  transform: translateX(0);
}

.cmsmasters-elementor-popup-153 .elementor-153 .elementor-section-wrap {
  background: #fff !important;
  border-radius: 0;
  box-shadow: none;
  height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}

.cmsmasters-elementor-popup-153 .elementor-153 .elementor-element-46678ced {
  --gap: clamp(22px, 4vh, 34px) !important;
  --min-height: 100dvh !important;
  --padding-bottom: max(22px, env(safe-area-inset-bottom)) !important;
  --padding-left: clamp(20px, 6vw, 32px) !important;
  --padding-right: clamp(20px, 6vw, 32px) !important;
  --padding-top: max(24px, env(safe-area-inset-top)) !important;
  background: transparent !important;
  min-height: 100dvh;
  position: relative;
}

.cmsmasters-elementor-popup-153 .elementor-153 .elementor-element-393c8a24 {
  padding-right: 56px;
}

.cmsmasters-elementor-popup-153 .elementor-153 .elementor-widget-cmsmasters-site-logo__img {
  max-height: 42px;
  width: auto;
}

.cmsmasters-elementor-popup-153 .cmsmasters-popup-close {
  display: none !important;
}

.kotzia-popup-close {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--e-global-color-secondary);
  cursor: pointer;
  display: inline-flex;
  height: 48px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: clamp(18px, 5vw, 28px);
  top: max(20px, env(safe-area-inset-top));
  transition: background-color 180ms cubic-bezier(0.22, 1, 0.36, 1), color 180ms cubic-bezier(0.22, 1, 0.36, 1), transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 48px;
  z-index: 5;
}

.kotzia-popup-close span,
.kotzia-popup-close::before,
.kotzia-popup-close::after {
  background: none;
  content: none;
}

.kotzia-popup-close span {
  color: currentColor;
  content: normal;
  display: block;
  font-size: 34px;
  font-weight: 300;
  height: auto;
  line-height: 1;
  opacity: 1;
  position: static;
  transform: translateY(-1px);
  width: auto;
}

.kotzia-popup-close:hover,
.kotzia-popup-close:focus-visible {
  background: transparent;
  color: var(--e-global-color-primary);
  transform: none;
}

.cmsmasters-elementor-popup-153 a:focus-visible,
.cmsmasters-elementor-popup-153 button:focus-visible,
.cmsmasters-elementor-popup-153 input:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--e-global-color-primary) 42%, transparent) !important;
  outline-offset: 3px !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__toggle-container,
.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__dropdown {
  display: none !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li {
  margin: 0 !important;
  min-width: 0;
  padding: 0 !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li > a {
  align-items: center;
  border-radius: 8px;
  color: var(--kotzia-ink) !important;
  display: flex;
  font-size: clamp(1.18rem, 4.7vw, 1.48rem) !important;
  font-weight: 650 !important;
  gap: 12px;
  justify-content: space-between;
  line-height: 1.1 !important;
  min-height: 50px;
  padding: 9px 12px !important;
  text-decoration: none;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li > a:hover,
.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li > a:focus-visible {
  background: color-mix(in srgb, var(--e-global-color-primary) 10%, transparent);
  color: var(--e-global-color-primary) !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li.current-menu-item > a,
.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li > a.elementor-widget-cmsmasters-nav-menu__item-active {
  background: color-mix(in srgb, var(--e-global-color-primary) 12%, transparent);
  color: var(--e-global-color-primary) !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__item-text-wrap {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__item-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__arrow {
  align-items: center;
  color: currentColor;
  display: inline-flex;
  flex: 0 0 auto;
  height: 24px;
  justify-content: center;
  margin-left: auto;
  transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
  width: 24px;
}

.cmsmasters-elementor-popup-153 li:not(.menu-item-has-children) > a .elementor-widget-cmsmasters-nav-menu__arrow {
  display: none;
}

.cmsmasters-elementor-popup-153 .kotzia-submenu-open > a .elementor-widget-cmsmasters-nav-menu__arrow,
.cmsmasters-elementor-popup-153 .kotzia-submenu-open > a .e-fas-chevron-down {
  transform: rotate(180deg);
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu {
  display: block !important;
  list-style: none;
  margin: 0 !important;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 !important;
  transition: max-height 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .kotzia-submenu-open > .sub-menu {
  opacity: 1;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu > li {
  margin: 0 !important;
  padding: 0 0 0 12px !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu a {
  align-items: center;
  border-radius: 8px;
  color: color-mix(in srgb, var(--kotzia-ink) 82%, var(--e-global-color-primary)) !important;
  display: flex;
  font-size: 0.98rem !important;
  font-weight: 560 !important;
  line-height: 1.35 !important;
  min-height: 38px;
  padding: 7px 10px !important;
  text-decoration: none;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu a:hover,
.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu a:focus-visible {
  background: color-mix(in srgb, var(--e-global-color-primary) 8%, transparent);
  color: var(--e-global-color-primary) !important;
}

.cmsmasters-elementor-popup-153 .elementor-element-225edcf6 {
  background:
    linear-gradient(180deg, transparent, color-mix(in srgb, var(--e-global-color-primary) 5%, #fff) 18%);
  margin-top: auto;
  padding-top: 14px;
}

.cmsmasters-elementor-popup-153 .elementor-element-1d8f5c04 {
  margin: 0 !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-search__form-container {
  align-items: center;
  border-bottom: 1px dashed color-mix(in srgb, var(--e-global-color-secondary) 28%, transparent);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-search__field {
  border: 0 !important;
  color: var(--kotzia-ink) !important;
  font-size: 1rem !important;
  min-height: 46px;
  outline: 0;
  padding: 0 !important;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-search__field::placeholder {
  color: color-mix(in srgb, var(--e-global-color-primary) 84%, var(--kotzia-muted));
  opacity: 1;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-search__form-icon {
  align-items: center;
  color: var(--e-global-color-secondary) !important;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  min-width: 44px;
}

.cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-button__button {
  border-radius: 999px !important;
  justify-content: center;
  min-height: 52px;
  text-align: center;
  width: 100%;
}

.cmsmasters-elementor-popup-153 .elementor-element-6d1ba5d3 .elementor-widget-cmsmasters-button__button {
  background: color-mix(in srgb, var(--e-global-color-primary) 8%, #fff) !important;
}

.cmsmasters-elementor-popup-153 .elementor-element-59ffaaa .elementor-widget-cmsmasters-button__button {
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
  box-shadow: 0 14px 28px color-mix(in srgb, var(--e-global-color-primary) 24%, transparent);
}

@media (max-width: 767px) {
  .cmsmasters-elementor-popup-153 .elementor-153 {
    --cmsmasters-popup-width: 100vw;
  }

  .cmsmasters-elementor-popup-153 .elementor-153 > .elementor-inner {
    max-width: 100vw;
    width: 100vw;
  }

  .cmsmasters-elementor-popup-153 .elementor-153 .elementor-section-wrap {
    border-radius: 0;
  }
}

/* Phone drawer choreography: the panel leads, then navigation and actions
   arrive in a compact stagger that mirrors the homepage card reveals. */
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .cmsmasters-elementor-popup-153.kotzia-menu-ready .kotzia-popup-close,
  .cmsmasters-elementor-popup-153.kotzia-menu-ready .elementor-widget-cmsmasters-nav-menu__main > ul > li,
  .cmsmasters-elementor-popup-153.kotzia-menu-ready .elementor-element-225edcf6 > .elementor-element {
    opacity: 0;
    transform: translate3d(32px, 0, 0) scale(.96);
    transition-duration: 280ms;
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(.16, 1, .3, 1);
  }

  .cmsmasters-elementor-popup-153.kotzia-popup-active .kotzia-popup-close,
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li,
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-element-225edcf6 > .elementor-element {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }

  .cmsmasters-elementor-popup-153.kotzia-popup-active .kotzia-popup-close {
    transition-delay: 40ms;
  }

  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(1) { transition-delay: 40ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(2) { transition-delay: 70ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(3) { transition-delay: 100ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(4) { transition-delay: 130ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(5) { transition-delay: 160ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-widget-cmsmasters-nav-menu__main > ul > li:nth-child(6) { transition-delay: 190ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-element-225edcf6 > .elementor-element:nth-child(1) { transition-delay: 220ms; }
  .cmsmasters-elementor-popup-153.kotzia-popup-active .elementor-element-225edcf6 > .elementor-element:nth-child(2) { transition-delay: 250ms; }
}

@media (max-width: 390px) {
  .cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main > ul > li > a {
    font-size: 1.15rem !important;
    min-height: 48px;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html.kotzia-motion-enabled body.home .elementor-53353 .elementor-element.elementor-element-b1d03c0,
  html.kotzia-motion-enabled body.home .elementor-53353 .elementor-element.elementor-element-2d43c0b,
  html.kotzia-motion-enabled body.home .elementor-53353 .elementor-element.elementor-element-b925a6f {
    opacity: 1 !important;
    transform: var(--home-hero-card-transform, none) !important;
    transition: none !important;
    visibility: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cmsmasters-elementor-popup-153.kotzia-menu-ready,
  .cmsmasters-elementor-popup-153 .elementor-153 > .elementor-inner,
  .cmsmasters-elementor-popup-153 .elementor-widget-cmsmasters-nav-menu__main .sub-menu {
    transition: none;
  }
}

@media (max-width: 767px) {
  .elementor-37720 .elementor-element.elementor-element-5820136 {
    --margin-bottom: 64px !important;
  }

  .elementor-37720 .elementor-element.elementor-element-56b5b16::after {
    background-position: 62% 46%;
    background-size: 430px auto;
    opacity: 0.18;
  }

  /* Featured box descriptions: allow wrapping on mobile */
  .elementor-37720 .elementor-element.elementor-element-51b4070 .elementor-widget-cmsmasters-featured-box__description {
    white-space: normal;
  }

  /* Top info bar: compact */
  .elementor-element-4d50984a {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .elementor-element-4d50984a .elementor-icon-list-text {
    font-size: 12px;
  }

  .elementor-element-4d50984a .elementor-inline-items {
    justify-content: center;
  }

  /* Header nav bar: compact */
  .elementor-element-5d09ad4c {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .elementor-widget-cmsmasters-site-logo__img {
    max-height: 44px;
  }

  /* Footer: stack columns */
  .elementor-location-footer .e-con-boxed > .e-con-inner {
    flex-direction: column;
    text-align: center;
  }

  .elementor-location-footer .e-con-boxed > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-141 .elementor-element.elementor-element-3f8ecfcb {
    display: grid !important;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 22px;
    min-height: auto;
    padding: 0 16px;
  }

  .elementor-141 .elementor-element.elementor-element-7194341d,
  .elementor-141 .elementor-element.elementor-element-3baeee72,
  .elementor-141 .elementor-element.elementor-element-658a6f80 {
    min-width: 0;
    padding: 0 !important;
  }

  .elementor-141 .elementor-element.elementor-element-3f8ecfcb img {
    aspect-ratio: 1;
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

  .elementor-141 .elementor-element.elementor-element-54e887da {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .elementor-141 .elementor-element.elementor-element-18dadde3 {
    --padding-top: 48px !important;
    --padding-left: 22px !important;
    --padding-right: 22px !important;
    border-radius: 22px;
  }

  .elementor-141 .elementor-element.elementor-element-147aece .elementor-heading-title {
    font-size: 1.45rem;
    line-height: 1.25;
    text-align: center;
  }

  .elementor-141 .elementor-element.elementor-element-578fa00b {
    min-width: 0;
    width: 100% !important;
  }

  .elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item {
    grid-template-columns: max-content max-content;
  }

  .elementor-141 .elementor-element.elementor-element-578fa00b .cmsmasters-widget-icon-list-item-value {
    text-align: right;
  }
}

/* ── Responsive video embeds (CKEditor mediaEmbed) ── */
.ck-content .media {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 1.5em 0;
  border-radius: 12px;
}
.ck-content .media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.entry-content .media,
.entry-content figure.media {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 1.5em 0;
  border-radius: 12px;
}
.entry-content .media iframe,
.entry-content figure.media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ========================================
   Rich Content Styles (CKEditor output)
   ======================================== */

/* Blockquotes */
.entry-content blockquote {
  border-left: 4px solid #1A3A5C;
  background: #f8f9fa;
  padding: 1.25rem 1.5rem;
  margin: 1.5em 0;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #444;
  line-height: 1.8;
}
.entry-content blockquote p:last-child {
  margin-bottom: 0;
}

/* Horizontal Rules */
.entry-content hr {
  border: none;
  height: 2px;
  background: linear-gradient(to right, transparent, #1A3A5C, transparent);
  margin: 2em 0;
}

/* Code Blocks */
.entry-content pre {
  background: #1e1e2e;
  color: #cdd6f4;
  padding: 1.25rem 1.5rem;
  border-radius: 8px;
  overflow-x: auto;
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 0.9em;
  line-height: 1.6;
  margin: 1.5em 0;
}
.entry-content pre code {
  background: none;
  padding: 0;
  color: inherit;
  font-size: inherit;
}
.entry-content code {
  background: #f0f2f5;
  padding: 0.15em 0.4em;
  border-radius: 4px;
  font-family: 'Fira Code', 'Courier New', monospace;
  font-size: 0.9em;
  color: #c62828;
}

/* Tables */
.entry-content .table-container,
.entry-content figure.table {
  overflow-x: auto;
  margin: 1.5em 0;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95em;
}
.entry-content table th {
  background: #1A3A5C;
  color: #fff;
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
}
.entry-content table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #e9ecef;
}
.entry-content table tr:nth-child(even) td {
  background: #f8f9fa;
}
.entry-content table tr:hover td {
  background: #e8f4fd;
}

/* Figures & Captions */
.entry-content figure {
  margin: 1.5em 0;
  text-align: center;
}
.entry-content figure img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.entry-content figcaption {
  font-size: 0.85em;
  color: #777;
  margin-top: 0.5em;
  font-style: italic;
}

/* Image Alignment (CKEditor classes) */
.entry-content .image-style-align-left,
.entry-content .image_resized[style*="float:left"],
.entry-content figure.image-style-align-left {
  float: left;
  margin: 0.5em 1.5em 1em 0;
  max-width: 50%;
}
.entry-content .image-style-align-right,
.entry-content .image_resized[style*="float:right"],
.entry-content figure.image-style-align-right {
  float: right;
  margin: 0.5em 0 1em 1.5em;
  max-width: 50%;
}
.entry-content .image-style-align-center,
.entry-content figure.image-style-align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.entry-content .image-style-side {
  float: right;
  margin: 0.5em 0 1em 1.5em;
  max-width: 50%;
}

/* Lists */
.entry-content ul,
.entry-content ol {
  padding-left: 1.5em;
  margin: 1em 0;
}
.entry-content ul li,
.entry-content ol li {
  margin-bottom: 0.4em;
  line-height: 1.7;
}
.entry-content ul li::marker {
  color: #1A3A5C;
}
.entry-content ol li::marker {
  color: #1A3A5C;
  font-weight: 600;
}

/* Todo List (CKEditor) */
.entry-content .todo-list {
  list-style: none;
  padding-left: 0;
}
.entry-content .todo-list li {
  position: relative;
  padding-left: 1.8em;
}
.entry-content .todo-list li::before {
  content: '\f0c8';
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  position: absolute;
  left: 0;
  color: #999;
}
.entry-content .todo-list li.checked::before {
  content: '\f14a';
  color: #4CAF50;
}

/* Highlights / Marks */
.entry-content mark {
  background: #fff9c4;
  padding: 0.1em 0.2em;
  border-radius: 2px;
}

/* Raw HTML Embeds (responsive iframes) */
.entry-content .raw-html-embed {
  margin: 1.5em 0;
}
.entry-content .raw-html-embed iframe {
  max-width: 100%;
  border-radius: 8px;
}

/* Clearfix for floated images */
.entry-content::after {
  content: '';
  display: table;
  clear: both;
}

/* ========================================
   Mobile Responsive Overrides
   ======================================== */
@media (max-width: 767px) {
  /* Un-float images on mobile */
  .entry-content .image-style-align-left,
  .entry-content .image-style-align-right,
  .entry-content .image-style-side,
  .entry-content figure.image-style-align-left,
  .entry-content figure.image-style-align-right {
    float: none;
    max-width: 100%;
    margin: 1em 0;
  }

  /* Smaller table text */
  .entry-content table {
    font-size: 0.85em;
  }
  .entry-content table th,
  .entry-content table td {
    padding: 0.5rem 0.6rem;
  }

  /* Smaller code */
  .entry-content pre {
    font-size: 0.8em;
    padding: 1rem;
  }

  /* Blockquote spacing */
  .entry-content blockquote {
    padding: 1rem 1.25rem;
    margin: 1em 0;
  }
}

/* Keep the original brand artwork intact without letting the header exceed
   the viewport at in-between tablet and laptop widths. */
.elementor-element-4d50984a,
.elementor-element-5d09ad4c {
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
}

.elementor-element-5d09ad4c {
  align-items: center !important;
  display: flex !important;
}

.elementor-element-1f312637 {
  align-items: center !important;
  display: flex !important;
  flex: 0 1 clamp(220px, 22vw, 340px) !important;
  max-width: clamp(220px, 22vw, 340px) !important;
  min-width: 0;
  width: clamp(220px, 22vw, 340px);
}

.elementor-widget-cmsmasters-site-logo__container,
.elementor-widget-cmsmasters-site-logo__image-container {
  align-items: center !important;
  display: flex !important;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

.elementor-widget-cmsmasters-site-logo__link {
  display: block !important;
  max-width: 340px;
  min-width: 0;
  width: 100%;
}

.elementor-widget-cmsmasters-site-logo__img {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  max-width: 100% !important;
  object-fit: contain;
  width: 100% !important;
}

/* Elementor generates a zero-column grid for this widget; force one row. */
.elementor-element-9c508c8 .elementor-social-icons-wrapper {
  --grid-template-columns: repeat(2, auto) !important;
  align-items: center;
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 12px;
  justify-content: flex-end;
}

.elementor-element-9c508c8 .elementor-grid-item {
  flex: 0 0 auto;
}

.kotzia-language-switcher {
  align-items: center;
  display: flex;
  margin-left: 10px;
}

.kotzia-language-switcher a {
  align-items: center;
  display: inline-flex;
  font-size: 14px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-height: 44px;
  min-width: 44px;
  text-decoration: none;
}

/* Use the compact drawer until the full navigation genuinely fits. */
.elementor-element-c2e2a41 {
  align-items: center !important;
  display: none !important;
}

@media (min-width: 1600px) {
  .elementor-element-c2e2a41 {
    display: flex !important;
  }

  .elementor-element-6c50ff7b {
    display: none !important;
  }
}

.elementor-element-4e3a5b49,
.elementor-element-4e3a5b49 .cmsmasters-button-link {
  flex: 0 0 auto;
  min-width: 166px;
}

.elementor-element-4e3a5b49 .cmsmasters-button__text {
  white-space: nowrap;
}

.elementor-widget-cmsmasters-nav-menu__main {
  align-items: center !important;
  display: flex !important;
}

@media (max-width: 1599px) {
  .elementor-element-6c50ff7b {
    align-items: center !important;
    display: flex !important;
    flex: 0 0 52px !important;
    justify-content: center !important;
    margin-left: auto !important;
    max-width: 52px !important;
    min-height: 44px;
    min-width: 44px;
  }

  .elementor-element-5d09ad4c {
    align-items: center !important;
    column-gap: clamp(12px, 2vw, 30px);
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    padding-inline: clamp(20px, 3vw, 40px) !important;
  }
}

/* At laptop widths the utility information fits in one compact band when the
   contact details stack. This avoids the clipped, over-wide flex row. */
@media (min-width: 1024px) and (max-width: 1599px) {
  .elementor-element-4d50984a {
    align-items: center !important;
    column-gap: clamp(12px, 1.5vw, 24px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    padding: 6px clamp(20px, 3vw, 40px) !important;
    row-gap: 2px !important;
  }

  .kotzia-utility-primary,
  .kotzia-utility-contact {
    min-width: 0 !important;
    width: auto !important;
  }

  .kotzia-utility-primary .elementor-icon-list-items,
  .kotzia-utility-contact .elementor-icon-list-items {
    margin: 0 !important;
  }

  .kotzia-utility-primary .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap;
    gap: 2px clamp(12px, 1.5vw, 22px);
  }

  .kotzia-utility-primary .elementor-icon-list-item,
  .kotzia-utility-contact .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
  }

  .kotzia-utility-contact .elementor-icon-list-items {
    align-items: flex-start;
    display: flex !important;
    flex-direction: column;
    gap: 0;
  }

  .elementor-element-9c508c8,
  .kotzia-language-switcher {
    margin: 0 !important;
  }
}

/* Portrait and small landscape tablets get two deliberate utility rows. */
@media (min-width: 768px) and (max-width: 1023px) {
  .elementor-element-4d50984a {
    align-items: center !important;
    column-gap: clamp(12px, 2vw, 20px) !important;
    display: grid !important;
    grid-template-columns: auto auto auto;
    justify-content: center !important;
    padding: 6px clamp(18px, 3vw, 28px) !important;
    row-gap: 2px !important;
  }

  .kotzia-utility-primary {
    grid-column: 1 / -1;
    min-width: 0 !important;
    width: 100% !important;
  }

  .kotzia-utility-primary .elementor-icon-list-items,
  .kotzia-utility-contact .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 !important;
  }

  .kotzia-utility-primary .elementor-icon-list-items {
    gap: 2px clamp(12px, 2vw, 20px);
  }

  .kotzia-utility-contact .elementor-icon-list-items {
    gap: clamp(10px, 2vw, 18px);
  }

  .kotzia-utility-primary .elementor-icon-list-item,
  .kotzia-utility-contact .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-element-4d50984a .elementor-icon-list-text {
    font-size: clamp(12px, 1.6vw, 14px) !important;
  }

  .elementor-element-9c508c8,
  .kotzia-language-switcher {
    margin: 0 !important;
  }
}

/* The appointment action remains available inside the drawer; removing its
   duplicate here gives narrow tablets and enlarged-text layouts safe room. */
@media (min-width: 768px) and (max-width: 879px) {
  .elementor-element-4e3a5b49 {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-1f312637,
  .elementor-widget-cmsmasters-site-logo__container,
  .elementor-widget-cmsmasters-site-logo__image-container,
  .elementor-widget-cmsmasters-site-logo__link {
    min-width: 0;
  }

  .elementor-element-1f312637 {
    flex: 0 1 min(240px, calc(100vw - 92px)) !important;
    max-width: min(240px, calc(100vw - 92px)) !important;
    width: min(240px, calc(100vw - 92px));
  }

  .elementor-widget-cmsmasters-site-logo__link {
    max-width: min(240px, calc(100vw - 92px));
    text-decoration: none;
    width: 100%;
  }

  .elementor-element-4e3a5b49 {
    display: none !important;
  }

  .elementor-element-4d50984a {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    min-height: 42px;
    padding-inline: 1rem !important;
  }

  .kotzia-utility-primary,
  .elementor-element-9c508c8 {
    display: none !important;
  }

  .kotzia-utility-contact {
    display: flex !important;
    margin: 0 !important;
    width: auto !important;
  }

  .kotzia-utility-contact .elementor-icon-list-items {
    display: flex !important;
    margin: 0 !important;
  }

  .kotzia-utility-contact .elementor-icon-list-item:not(:first-child) {
    display: none !important;
  }

  .kotzia-utility-contact a,
  .kotzia-language-switcher a {
    align-items: center;
    display: inline-flex;
    min-height: 42px;
  }

  .kotzia-language-switcher {
    margin-left: auto !important;
  }

  .elementor-element-5d09ad4c {
    column-gap: .5rem;
    min-height: 82px;
    padding: .4rem 1rem !important;
  }
}

@media (max-width: 350px) {
  .elementor-element-1f312637,
  .elementor-widget-cmsmasters-site-logo__link {
    max-width: min(212px, calc(100vw - 86px)) !important;
  }

  .elementor-element-5d09ad4c {
    padding-inline: .7rem !important;
  }
}

/* ========================================
   Footer Redesign
   ======================================== */
.kotzia-footer__newsletter,
.kotzia-footer__main,
.kotzia-footer__bottom {
  --footer-bg: #1E3258;
  --footer-newsletter-bg: #2C4073;
  --footer-bottom-bg: #162A47;
  --footer-text: #C8D4E6;
  --footer-heading: #FFFFFF;
  --footer-link: #A4BAD8;
  --footer-link-hover: #EE6F28;
  --footer-border: rgba(255, 255, 255, 0.12);
}

.kotzia-footer__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}

/* Newsletter Band */
.kotzia-footer__newsletter {
  background: var(--footer-newsletter-bg);
  padding: 48px 0;
}
.kotzia-footer__newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.kotzia-footer__newsletter-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--footer-heading);
  margin: 0 0 8px;
}
.kotzia-footer__newsletter-desc {
  font-size: 15px;
  line-height: 1.6;
  color: var(--footer-text);
  margin: 0;
}

/* Main Footer Grid */
.kotzia-footer__main {
  background: var(--footer-bg);
  padding: 64px 0 48px;
}
.kotzia-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 430px) minmax(340px, 390px);
  justify-content: space-between;
  gap: clamp(64px, 10vw, 128px);
}

/* Brand Column */
.kotzia-footer__logo {
  max-width: 200px;
  height: auto;
  display: block;
}
.kotzia-footer__logo-link {
  display: inline-block;
}
.kotzia-footer__tagline {
  font-size: 15px;
  line-height: 1.7;
  color: var(--footer-text);
  margin: 20px 0 24px;
  max-width: 38ch;
}
.kotzia-footer__social {
  display: flex;
  gap: 12px;
}
.kotzia-footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: var(--footer-text);
  transition: background 180ms, color 180ms;
}
.kotzia-footer__social-link:hover {
  background: var(--footer-link-hover);
  color: #fff;
}
.kotzia-footer__social-link svg {
  width: 16px;
  height: 16px;
}

/* Column Headings */
.kotzia-footer__heading {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--footer-heading);
  margin: 0 0 20px;
}
.kotzia-footer__heading--hours {
  margin-top: 32px;
}

/* Contact List */
.kotzia-footer__details {
  width: 100%;
  max-width: 390px;
  justify-self: end;
}

.kotzia-footer__contact {
  list-style: none;
  padding: 0;
  margin: 0;
}
.kotzia-footer__contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--footer-text);
}
.kotzia-footer__contact svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 5px;
  color: var(--footer-link);
}
.kotzia-footer__contact a {
  color: var(--footer-link);
  text-decoration: none;
  transition: color 180ms;
}
.kotzia-footer__contact a:hover {
  color: var(--footer-link-hover);
}

.kotzia-footer__phone--primary a {
  color: var(--footer-heading);
  font-weight: 700;
}

.kotzia-footer__phone--landline {
  margin-bottom: 8px !important;
}

/* Hours */
.kotzia-footer__hours {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Reference-matched entrance motion. CMSMasters uses 1s reveals with a .75
   starting scale, 90px vertical travel and 150px lateral travel. Keeping that
   vocabulary here makes the static Laravel build move like the source demo. */
body .elementor-invisible {
  animation: none !important;
}

html.kotzia-motion-js:not(.kotzia-motion-fallback) body .elementor-invisible {
  opacity: 0 !important;
  visibility: hidden !important;
}

html.kotzia-motion-fallback body .elementor-invisible,
html:not(.kotzia-motion-js) body .elementor-invisible {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Wrapper link makes the entire hero feature card clickable. */
.home-hero-feature-card-link {
  color: inherit;
  display: block;
  text-decoration: none;
}

@keyframes kotzia-reference-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes kotzia-reference-fade-left {
  from { opacity: 0; transform: translate3d(-60px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-fade-right {
  from { opacity: 0; transform: translate3d(60px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-pop-up {
  from { opacity: 0; transform: scale(.75) translate3d(0, 90px, 0); }
  to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-pop-down {
  from { opacity: 0; transform: scale(.75) translate3d(0, -90px, 0); }
  to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-pop-left {
  from { opacity: 0; transform: scale(.75) translate3d(-150px, 0, 0); }
  to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-pop-right {
  from { opacity: 0; transform: scale(.75) translate3d(150px, 0, 0); }
  to { opacity: 1; transform: scale(1) translate3d(0, 0, 0); }
}

@keyframes kotzia-reference-pop {
  from { opacity: 0; transform: scale(.75); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes kotzia-reference-zoom {
  from { opacity: 0; transform: scale(.3); }
  50% { opacity: 1; }
  to { opacity: 1; transform: scale(1); }
}

@keyframes kotzia-reference-spin-in {
  from { opacity: 0; transform: rotate3d(0, 0, 1, -45deg); transform-origin: right bottom; }
  to { opacity: 1; transform: none; transform-origin: right bottom; }
}

@keyframes kotzia-reference-rubber {
  from { opacity: 0; transform: scale3d(.75, .75, 1); }
  30% { opacity: 1; transform: scale3d(1.2, .75, 1); }
  40% { transform: scale3d(.75, 1.2, 1); }
  50% { transform: scale3d(1.1, .85, 1); }
  65% { transform: scale3d(.95, 1.05, 1); }
  75% { transform: scale3d(1.05, .95, 1); }
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}

@keyframes kotzia-reference-card-pop {
  from { opacity: 0; scale: .75; translate: 0 90px; }
  to { opacity: 1; scale: 1; translate: 0 0; }
}

html.kotzia-motion-enabled:not(.kotzia-motion-fallback) body .kotzia-motion-item:not(.home-hero-feature-card) {
  opacity: 0;
  visibility: hidden;
}

html.kotzia-motion-enabled:not(.kotzia-motion-fallback) body .kotzia-motion-item.is-visible:not(.home-hero-feature-card) {
  animation-delay: var(--kotzia-motion-delay, 0ms);
  animation-duration: var(--kotzia-motion-duration, 1000ms);
  animation-fill-mode: backwards;
  animation-name: kotzia-reference-pop-up;
  animation-timing-function: ease;
  opacity: 1;
  transform: none;
  visibility: visible;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="fade"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-fade-in !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="fade-left"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-fade-left !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="fade-right"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-fade-right !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="fade-scale"].is-visible:not(.home-hero-feature-card),
html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="pop"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-pop !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="pop-up"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-pop-up !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="pop-down"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-pop-down !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="pop-left"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-pop-left !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="pop-right"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-pop-right !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="zoom"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-zoom !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="spin-in"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-spin-in !important;
}

html.kotzia-motion-enabled body .kotzia-motion-item[data-kotzia-motion="rubber"].is-visible:not(.home-hero-feature-card) {
  animation-name: kotzia-reference-rubber !important;
}

html.kotzia-motion-js:not(.kotzia-motion-fallback) body .home-hero-feature-card:not(.is-visible),
html.kotzia-motion-enabled:not(.kotzia-motion-fallback) body .home-hero-feature-card:not(.is-visible) {
  opacity: 0;
  scale: .75;
  translate: 0 90px;
  visibility: hidden;
}

html.kotzia-motion-enabled:not(.kotzia-motion-fallback) body .home-hero-feature-card.is-visible {
  animation: kotzia-reference-card-pop var(--kotzia-motion-duration, 750ms) ease var(--kotzia-motion-delay, 0ms) backwards;
  opacity: 1;
  scale: 1;
  translate: 0 0;
  visibility: visible;
}

html.kotzia-motion-fallback body .kotzia-motion-item,
html.kotzia-motion-fallback body .home-hero-feature-card {
  animation: none !important;
  opacity: 1 !important;
  scale: 1 !important;
  transform: none !important;
  translate: 0 0 !important;
  transition: none !important;
  visibility: visible !important;
}

/* Parallax decorative blobs */
.elementor-element-f097376,
.elementor-element-b3ef516 {
  translate: 0 var(--kotzia-parallax-y, 0);
  will-change: translate;
}

@media (prefers-reduced-motion: reduce) {
  .kotzia-motion-enabled .home-hero-feature-card,
  .kotzia-motion-enabled .home-hero-feature-card.is-visible {
    animation: none !important;
    opacity: 1 !important;
    scale: 1 !important;
    transform: var(--home-hero-card-transform, none) !important;
    translate: 0 0 !important;
    transition: none !important;
    visibility: visible !important;
    will-change: auto;
  }

  .kotzia-motion-item:not(.home-hero-feature-card),
  .kotzia-motion-item.kotzia-motion-hero:not(.home-hero-feature-card) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    visibility: visible !important;
    will-change: auto;
  }

  .elementor-element-f097376,
  .elementor-element-b3ef516 {
    translate: none;
    will-change: auto;
  }
}
.kotzia-footer__hours li {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  line-height: 1.7;
  color: var(--footer-text);
  padding: 4px 0;
  border-bottom: 1px solid var(--footer-border);
}
.kotzia-footer__hours li:last-child {
  border-bottom: none;
}

/* Bottom Bar */
.kotzia-footer__bottom {
  background: var(--footer-bottom-bg);
  padding: 20px 0;
  border-top: 1px solid var(--footer-border);
}
.kotzia-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kotzia-footer__copyright {
  font-size: 14px;
  color: var(--footer-text);
}
.kotzia-footer__legal {
  display: flex;
  gap: 24px;
}
.kotzia-footer__legal a {
  font-size: 14px;
  color: var(--footer-link);
  text-decoration: none;
  transition: color 180ms;
}
.kotzia-footer__legal a:hover {
  color: var(--footer-link-hover);
}

/* Tablet */
@media (max-width: 1023px) {
  .kotzia-footer__grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
    gap: 48px;
  }
  .kotzia-footer__newsletter-inner {
    gap: 24px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .kotzia-footer__newsletter {
    padding: 36px 0;
  }
  .kotzia-footer__newsletter-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .kotzia-footer__grid {
    grid-template-columns: 1fr;
    gap: 36px;
    text-align: center;
  }
  .kotzia-footer__brand {
    grid-column: auto;
  }
  .kotzia-footer__details {
    max-width: none;
    justify-self: stretch;
  }
  .kotzia-footer__logo {
    margin: 0 auto;
  }
  .kotzia-footer__social {
    justify-content: center;
  }
  .kotzia-footer__contact li {
    justify-content: center;
  }
  .kotzia-footer__hours li {
    justify-content: center;
    gap: 8px;
  }
  .kotzia-footer__bottom-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  .kotzia-footer__legal {
    gap: 16px;
  }
}

/* ── Mega-menu dropdowns: single column ── */
.elementor-162 .elementor-element.elementor-element-1aac2bf7 {
  --cmsmasters-icon-list-columns-count: 1;
  --cmsmasters-icon-list-columns-gap: 0px;
}

/* Final mobile rhythm: keep section backgrounds present while their contents
   reveal, reduce inherited desktop gaps, and make reviews a native snap rail. */
@media (max-width: 767px) {
  .elementor-53353 > .elementor-element-4f0a4cd,
  .elementor-53353 > .elementor-element-f41c7d9 {
    --margin-bottom: 56px !important;
    margin-bottom: 56px !important;
  }

  .elementor-53353 > .elementor-element-67653f5,
  .elementor-53353 > .elementor-element-a6390cd {
    --margin-bottom: 64px !important;
    margin-bottom: 64px !important;
  }

  .elementor-53353 > .elementor-element.elementor-element-d32e8f5 {
    --margin-bottom: 64px !important;
    margin-bottom: 64px !important;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .swiper,
  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-swiper-container {
    overflow: visible !important;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .swiper-wrapper {
    box-sizing: border-box;
    display: flex !important;
    gap: 14px !important;
    margin-inline: 0 !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 0 14px;
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    transform: none !important;
    width: 100% !important;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .swiper-slide {
    flex: 0 0 100% !important;
    height: auto !important;
    padding-inline: 0 !important;
    scroll-snap-align: center;
    width: 100% !important;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-testimonial {
    box-sizing: border-box;
    padding: 14px !important;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-testimonial__author-info {
    justify-content: center;
    width: 100%;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-testimonial__text p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 8;
    display: -webkit-box;
    overflow: hidden;
  }

  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-testimonial,
  .elementor-53353 .elementor-element.elementor-element-d92be52 .cmsmasters-testimonial__inner {
    height: 100%;
  }
}
