/*
Theme Name: AQUADIT
Author: Matrixonline.hu Kft.
Author URI: http://www.matrixonline.hu/
Description: Custom theme for Aquadit Hungary Kft.
Version: 26.09.16.01
Requires PHP: 8.0
License: Commercial
Text Domain: aquadit
*/

/* Design tokens (from Figma) */

:root {
  --aq-dark: #23262d;
  --aq-light-blue: #266aab;
  --aq-baby-blue: #6cbdde;
  --aq-white: #ffffff;
  --aq-hero-radius: clamp(0.75rem, 2.2vw + 0.35rem, 3.125rem);
  --aq-radius-lg: var(--aq-hero-radius);
  --aq-radius-md: var(--aq-hero-radius);
  --aq-radius-sm: var(--aq-hero-radius);
  --aq-container: 1860px;
  --aq-content: 1680px;
  --aq-gutter: 15px;
  --aq-hero-ratio: 1860 / 1038;
  --aq-hero-frame: 1.5rem;
  --aq-services-card-ratio: 398 / 620;
  --aq-services-radius: var(--aq-hero-radius);
  --aq-nav-logo-height: 2.5rem;
  --aq-nav-item-gap: clamp(0.5rem, 1.1vw, 1.5rem);
  --aq-nav-link-size: clamp(0.8125rem, 0.95vw, 1rem);
  --aq-nav-link-mark: 0.875rem;
  --aq-mega-title-size: clamp(1.375rem, 2.05vw, 2.125rem);
  --aq-mega-title-gap: clamp(0.625rem, 1.25vw, 1.375rem);
  --aq-mega-cols-gap: clamp(1rem, 2.2vw, 2.5rem);
  --aq-mega-col-gap: clamp(1.25rem, 2.6vw, 3.1875rem);
  --aq-mega-link-size: clamp(0.875rem, 1.025vw, 1.125rem);
  --aq-mega-link-gap: clamp(0.375rem, 0.675vw, 0.6875rem);
  --aq-mega-image-size: min(40.5%, 42.5rem);
}

@media (max-width: 991.98px) {
  :root {
    --aq-hero-frame: 0.5rem;
  }
}

/* Global */

html > body,
body {
  position: relative;
  color: var(--aq-dark);
  font-family: "Mulish", sans-serif;
  background-color: var(--aq-dark);
}

/* Site shell: outer max width */

.aquadit-shell {
  width: 100%;
  max-width: var(--aq-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--aq-gutter);
  padding-right: var(--aq-gutter);
}

/* Text content width (header/footer/page containers) */

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: var(--aq-content);
}

/* Editable main content: keep container-xxl width, no horizontal padding */

main.aquadit-shell > .container-xxl {
  padding-left: 0;
  padding-right: 0;
}

main ul,
main ol,
main p,
main table,
main iframe {
  margin-bottom: 20px;
}

a {
  color: var(--aq-light-blue);
  text-decoration: none;
}

a:hover {
  color: var(--aq-dark);
}

/* Clearfix */

*.clearfix::before,
*.clearfix::after {
  content: "";
  display: table;
}

*.clearfix::after {
  clear: both;
}

*.clearfix {
  zoom: 1;
}

/* Header */

header#aquadit-header {
  z-index: 101;
  position: relative;
}

@media (min-width: 992px) {
  header#aquadit-header {
    background: var(--aq-dark);
    position: sticky;
    top: 0;
  }
}

header#aquadit-header div.aquadit-topbar {
  background-color: var(--aq-dark);
  color: var(--aq-white);
  font-size: 16px;
  line-height: 16px;
  padding-top: 15px;
  padding-bottom: 15px;
  min-height: 50px;
}

header#aquadit-header div.aquadit-topbar a {
  color: var(--aq-white);
}

header#aquadit-header div.aquadit-topbar a:hover {
  opacity: 0.85;
}

header#aquadit-header div.aquadit-topbar span.company-name {
  font-weight: 700;
}

header#aquadit-header div.aquadit-topbar img.topbar-icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

header#aquadit-header div.aquadit-topbar div.lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-left: 20px;
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}

header#aquadit-header div.aquadit-topbar div.lang-switcher a,
header#aquadit-header div.aquadit-topbar div.lang-switcher span {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 12px;
  color: var(--aq-white);
}

header#aquadit-header div.aquadit-topbar div.lang-switcher span.lang-active {
  background: var(--aq-light-blue);
  border-radius: 50px;
  padding: 5px 10px;
  font-weight: 700;
}

/* Main nav: full shell width, top corners only */

header#aquadit-header div.aquadit-mainnav {
  background: var(--aq-white);
  border-top-left-radius: var(--aq-hero-radius);
  border-top-right-radius: var(--aq-hero-radius);
  min-height: 6.25rem;
  position: relative;
  z-index: 102;
  overflow: visible;
}

header#aquadit-header div.aquadit-mainnav > div.container-xxl {
  padding-left: max(1.25rem, calc(var(--aq-hero-radius) * 0.75));
  padding-right: max(1.25rem, calc(var(--aq-hero-radius) * 0.75));
}

header#aquadit-header div.aquadit-mainnav nav.navbar {
  min-height: 6.25rem;
  position: static;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

header#aquadit-header a.custom-logo-link,
header#aquadit-header a.aquadit-logo {
  flex: 0 0 auto;
  max-width: none;
}

header#aquadit-header a.aquadit-logo img,
header#aquadit-header img.custom-logo {
  display: block;
  height: var(--aq-nav-logo-height);
  max-height: var(--aq-nav-logo-height);
  width: auto;
  max-width: none;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item {
  position: relative;
  flex: 0 0 auto;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link {
  color: var(--aq-dark);
  text-transform: uppercase;
  font-size: var(--aq-nav-link-size);
  line-height: 1;
  font-weight: 400;
  padding: 0.5em 0;
  display: inline-flex;
  align-items: center;
  gap: 0.625em;
  white-space: nowrap;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link::before {
  content: "";
  display: inline-block;
  width: var(--aq-nav-link-mark);
  height: var(--aq-nav-link-mark);
  background: var(--aq-light-blue);
  flex-shrink: 0;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link:hover,
header#aquadit-header nav.navbar ul.navbar-nav > li.current-menu-item > a.nav-link,
header#aquadit-header nav.navbar ul.navbar-nav > li.current-menu-ancestor > a.nav-link,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item:hover > a.nav-link {
  color: var(--aq-light-blue);
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link.dropdown-toggle::after {
  display: none;
}

/* Mega dropdown: full width of the white nav card */

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children {
  position: static;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children > ul.sub-menu,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children div.aquadit-mega {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 1px);
  z-index: 200;
  background: var(--aq-white);
  color: var(--aq-dark);
  width: 100%;
  max-width: none;
  padding: clamp(0.7rem, 1.2vw, 0.95rem) 0 clamp(1.125rem, 1.9vw, 1.75rem);
  border-radius: 0 0 var(--aq-hero-radius) var(--aq-hero-radius);
  list-style: none;
  margin: 0;
  box-shadow: 0 1.125rem 2.5rem rgba(35, 38, 45, 0.12);
  max-height: calc(100vh - 7.5rem);
  overflow-x: hidden;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-0.75rem);
  pointer-events: none;
  transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}

header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children:hover > ul.sub-menu,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children:focus-within > ul.sub-menu,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children:hover div.aquadit-mega,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children:focus-within div.aquadit-mega,
header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children.show-mega div.aquadit-mega {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children > ul.sub-menu,
  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children div.aquadit-mega {
    transition: none;
    transform: none;
  }
}

header#aquadit-header div.aquadit-mega a.mega-title,
header#aquadit-header div.aquadit-mega div.mega-title {
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: var(--aq-mega-title-size);
  line-height: 1.25;
  color: var(--aq-light-blue);
  text-transform: uppercase;
  margin-bottom: var(--aq-mega-title-gap);
}

header#aquadit-header div.aquadit-mega a.mega-title:hover {
  color: var(--aq-dark);
}

header#aquadit-header div.aquadit-mega div.mega-cols {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: var(--aq-mega-cols-gap);
}

header#aquadit-header div.aquadit-mega ul.mega-links {
  flex: 1 1 auto;
  max-width: 45.375rem;
  columns: 2;
  column-gap: var(--aq-mega-col-gap);
  list-style: none;
  padding: 0;
  margin: 0;
}

header#aquadit-header div.aquadit-mega ul.mega-links > li {
  break-inside: avoid;
  border-bottom: 1px solid rgba(35, 38, 45, 0.15);
  margin-bottom: var(--aq-mega-link-gap);
  padding-bottom: var(--aq-mega-link-gap);
}

header#aquadit-header div.aquadit-mega ul.mega-links > li > a {
  display: block;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--aq-dark);
  font-family: "Mulish", sans-serif;
  font-size: var(--aq-mega-link-size);
  font-weight: 400;
  line-height: 1.225;
  padding: 0;
  white-space: normal;
}

header#aquadit-header div.aquadit-mega ul.mega-links > li > a:hover,
header#aquadit-header div.aquadit-mega ul.mega-links > li > a:focus,
header#aquadit-header div.aquadit-mega ul.mega-links > li > a:active,
header#aquadit-header div.aquadit-mega ul.mega-links > li.current-menu-item > a {
  background: transparent;
  color: var(--aq-light-blue);
  font-weight: 700;
}

header#aquadit-header div.aquadit-mega div.mega-image {
  flex: 0 0 auto;
  align-self: stretch;
  width: auto;
  height: auto;
  max-width: 42%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--aq-hero-radius);
}

header#aquadit-header div.aquadit-mega div.mega-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

header#aquadit-header div.aquadit-mega div.mega-image.mega-image--placeholder {
  background: var(--aq-light-blue);
  display: flex;
  align-items: center;
  justify-content: center;
}

header#aquadit-header div.aquadit-mega div.mega-image.mega-image--placeholder img {
  width: 46%;
  height: auto;
  object-fit: contain;
}

@media (min-width: 992px) {
  header#aquadit-header div.aquadit-mainnav nav.navbar {
    flex-wrap: nowrap;
    align-items: center;
  }

  header#aquadit-header div#nav_header_menu.navbar-collapse {
    overflow: visible;
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
    align-items: stretch;
  }

  header#aquadit-header nav.navbar ul.navbar-nav {
    align-self: stretch;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    column-gap: var(--aq-nav-item-gap);
    row-gap: 0.35em;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item {
    display: flex;
    align-items: center;
    margin-left: 0;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link {
    min-height: 2.5rem;
  }
}

@media (max-width: 991.98px) {
  header#aquadit-header div.aquadit-mainnav {
    min-height: auto;
  }

  header#aquadit-header div.aquadit-mainnav nav.navbar {
    min-height: auto;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
  }

  header#aquadit-header div#nav_header_menu.navbar-collapse {
    flex-basis: 100%;
    margin-top: 1.25rem;
    padding-top: 0.25rem;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item {
    margin-left: 0;
    width: 100%;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item > a.nav-link {
    padding: 0.75rem 0;
    white-space: normal;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children > ul.sub-menu,
  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children div.aquadit-mega {
    display: none;
    position: static;
    transform: none;
    min-width: 0;
    width: 100%;
    border-radius: var(--aq-radius-sm);
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
    padding: 0.75rem 0 1rem;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: none;
    max-height: none;
    overflow: visible;
  }

  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children.show-mega > ul.sub-menu,
  header#aquadit-header nav.navbar ul.navbar-nav > li.menu-item-has-children.show-mega div.aquadit-mega {
    display: block;
  }

  header#aquadit-header div.aquadit-mega div.mega-inner {
    padding-left: 0;
    padding-right: 0;
  }

  header#aquadit-header div.aquadit-mega div.mega-cols {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }

  header#aquadit-header div.aquadit-mega ul.mega-links {
    columns: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--aq-mega-col-gap);
    row-gap: 0;
    max-width: none;
    width: 100%;
  }

  header#aquadit-header div.aquadit-mega div.mega-image {
    width: min(14rem, 70%);
    max-width: 14rem;
    margin-left: auto;
    margin-right: auto;
    align-self: center;
  }
}

@media (max-width: 767.98px) {
  header#aquadit-header div.aquadit-mega ul.mega-links {
    grid-template-columns: 1fr;
    width: 100%;
  }

  header#aquadit-header div.aquadit-mega div.mega-image {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  header#aquadit-header div.aquadit-topbar {
    font-size: 12px;
    line-height: 1.25;
    padding-top: 8px;
    padding-bottom: 8px;
    min-height: 0;
  }

  header#aquadit-header div.aquadit-topbar img.topbar-icon {
    width: 14px;
    height: 14px;
    margin-right: 5px;
  }

  header#aquadit-header div.aquadit-topbar .gap-3 {
    gap: 0.5rem !important;
  }

  header#aquadit-header div.aquadit-topbar div.lang-switcher {
    gap: 8px;
    margin-left: 10px;
    padding-left: 10px;
  }

  header#aquadit-header div.aquadit-topbar div.lang-switcher a,
  header#aquadit-header div.aquadit-topbar div.lang-switcher span {
    font-size: 11px;
    line-height: 1;
  }

  header#aquadit-header div.aquadit-topbar div.lang-switcher span.lang-active {
    padding: 3px 8px;
  }
}

/* Homepage stage: white card, bottom corners only (top flush with nav) */

div.aquadit-stage.aquadit-stage--home {
  background: var(--aq-white);
  border-bottom-left-radius: var(--aq-hero-radius);
  border-bottom-right-radius: var(--aq-hero-radius);
  position: relative;
  z-index: 1;
}

/* Inner page hero: flush under nav, menu container width, bottom corners only */

main#main > div.aquadit-page-hero-band {
  background: var(--aq-white);
  border-bottom-left-radius: var(--aq-hero-radius);
  border-bottom-right-radius: var(--aq-hero-radius);
  width: 100%;
  margin-top: 0;
  margin-bottom: clamp(3rem, 3vw, 5rem);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

main#main > div.aquadit-page-hero-band img.aquadit-page-hero-img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: var(--aq-hero-ratio);
  object-fit: cover;
  object-position: center center;
  border-radius: 0;
}

@media (min-width: 992px) {
  main#main > div.aquadit-page-hero-band img.aquadit-page-hero-img {
    height: 45vh;
    max-height: 45vh;
    aspect-ratio: auto;
  }
}

/* Main */

main#main {
  background: var(--aq-dark);
  color: var(--aq-white);
  min-height: 40vh;
}

/* Homepage hero: rounding + white frame (border) live here */

section.aquadit-hero {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  aspect-ratio: var(--aq-hero-ratio);
  color: var(--aq-dark);
  border: var(--aq-hero-frame) solid transparent;
  border-radius: var(--aq-hero-radius);
  background-clip: padding-box;
  margin-top: calc(var(--aq-hero-frame) * -1);
}

section.aquadit-hero div.aquadit-hero-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: calc(var(--aq-hero-radius) - var(--aq-hero-frame));
}

section.aquadit-hero div.aquadit-hero-slider,
section.aquadit-hero div.aquadit-hero-slider div.slick-list,
section.aquadit-hero div.aquadit-hero-slider div.slick-track,
section.aquadit-hero div.aquadit-hero-slide {
  height: 100%;
}

section.aquadit-hero div.aquadit-hero-slide {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
}

section.aquadit-hero img.aquadit-hero-slide-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: calc(var(--aq-hero-radius) - var(--aq-hero-frame));
}

section.aquadit-hero div.aquadit-hero-gradient {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: calc(var(--aq-hero-radius) - var(--aq-hero-frame));
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 19%, rgba(255, 255, 255, 0) 86%);
}

section.aquadit-hero div.aquadit-hero-content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  padding: clamp(1.5rem, 4vw, 4rem) 0;
}

section.aquadit-hero div.aquadit-hero-copy {
  max-width: 790px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1rem, 2.2vw, 1.875rem);
}

section.aquadit-hero h1.aquadit-hero-title {
  margin: 0;
  color: var(--aq-dark);
}

section.aquadit-hero span.aquadit-hero-title-line1,
section.aquadit-hero span.aquadit-hero-title-line2 {
  display: block;
}

section.aquadit-hero span.aquadit-hero-title-line1 {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(2.5rem, 5vw, 80px);
  line-height: 1.05;
}

section.aquadit-hero span.aquadit-hero-title-line2 {
  font-family: "Mulish", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1.75rem, 3.5vw, 60px);
  line-height: 1.15;
}

section.aquadit-hero ul.aquadit-hero-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
}

section.aquadit-hero li.aquadit-hero-feature {
  display: inline-flex;
  align-items: center;
  gap: 15px;
}

section.aquadit-hero img.aquadit-hero-feature-icon {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}

section.aquadit-hero span.aquadit-hero-feature-text {
  color: var(--aq-light-blue);
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
}

section.aquadit-hero p.aquadit-hero-lead {
  margin: 0;
  color: var(--aq-dark);
  font-size: clamp(1.1rem, 1.5vw, 25px);
  line-height: 1.4;
  max-width: 42rem;
}

section.aquadit-hero a.aquadit-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 25px;
  border-radius: 50px;
  border: 2px solid var(--aq-light-blue);
  background: var(--aq-light-blue);
  color: var(--aq-white);
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

section.aquadit-hero a.aquadit-hero-button:hover {
  background: var(--aq-dark);
  border-color: var(--aq-dark);
  color: var(--aq-white);
}

section.aquadit-hero img.aquadit-hero-button-icon {
  width: 24px;
  height: 16px;
  display: block;
}

@media (max-width: 991.98px) {
  section.aquadit-hero div.aquadit-hero-gradient {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.75) 55%, rgba(255, 255, 255, 0.35) 100%);
  }

  section.aquadit-hero ul.aquadit-hero-features {
    flex-direction: column;
    gap: 0.75rem;
  }

  section.aquadit-hero span.aquadit-hero-feature-text {
    font-size: 16px;
    line-height: 20px;
  }
}

@media (max-width: 575.98px) {
  section.aquadit-hero {
    aspect-ratio: auto;
  }

  section.aquadit-hero div.aquadit-hero-content {
    position: relative;
    align-items: flex-start;
    padding: 0.75rem 0 1rem;
  }

  section.aquadit-hero div.aquadit-hero-copy {
    gap: 0.625rem;
    max-width: none;
  }

  section.aquadit-hero span.aquadit-hero-title-line1 {
    font-size: 1.5rem;
    line-height: 1.1;
  }

  section.aquadit-hero span.aquadit-hero-title-line2 {
    font-size: 1.25rem;
    line-height: 1.15;
  }

  section.aquadit-hero ul.aquadit-hero-features {
    gap: 0.35rem;
  }

  section.aquadit-hero li.aquadit-hero-feature {
    gap: 8px;
  }

  section.aquadit-hero img.aquadit-hero-feature-icon {
    width: 16px;
    height: 16px;
  }

  section.aquadit-hero span.aquadit-hero-feature-text {
    font-size: 14px;
    line-height: 18px;
  }

  section.aquadit-hero p.aquadit-hero-lead {
    font-size: 0.875rem;
    line-height: 1.35;
  }

  section.aquadit-hero a.aquadit-hero-button {
    width: 100%;
    padding: 10px 18px;
    font-size: 15px;
    line-height: 16px;
  }

  section.aquadit-hero img.aquadit-hero-button-icon {
    width: 18px;
    height: 12px;
  }
}

/* Homepage services / categories (Figma: Kategóriák) */

section.aquadit-services {
  color: var(--aq-white);
  padding: clamp(3rem, 4vw, 5.625rem) 0 clamp(3rem, 3vw, 4rem);
}

section.aquadit-services header.aquadit-services-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.9375rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}

section.aquadit-services div.aquadit-services-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.9375rem;
}

section.aquadit-services span.aquadit-services-eyebrow-mark {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background: var(--aq-baby-blue);
}

section.aquadit-services span.aquadit-services-eyebrow-text {
  font-family: "Playfair Display", serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  line-height: 1;
  color: var(--aq-baby-blue);
  text-transform: uppercase;
}

section.aquadit-services h2.aquadit-services-title {
  margin: 0;
  max-width: 90%;
  font-family: "Mulish", sans-serif;
  font-weight: 400;
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  line-height: 1.5;
  color: var(--aq-white);
}

section.aquadit-services div.aquadit-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.875rem;
}

section.aquadit-services a.aquadit-services-card {
  --aq-services-accent: #5ba2a8;
  position: relative;
  display: block;
  aspect-ratio: var(--aq-services-card-ratio);
  overflow: visible;
  color: var(--aq-white);
  text-decoration: none;
  isolation: isolate;
}

/* Fixed-size frame keeps mask stable while overlay grows on hover */

section.aquadit-services div.aquadit-services-card-frame {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  border-radius: var(--aq-services-radius);
  /* Rounded card + centered bottom tip (soft apex avoids AA white fleck) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 398 620'%3E%3Cpath fill='%23000' d='M24 0h350c13.255 0 24 10.745 24 24v552c0 13.255-10.745 24-24 24H221c-10 0-16 10-22 18-6-8-12-18-22-18H24C10.745 600 0 589.255 0 576V24C0 10.745 10.745 0 24 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 398 620'%3E%3Cpath fill='%23000' d='M24 0h350c13.255 0 24 10.745 24 24v552c0 13.255-10.745 24-24 24H221c-10 0-16 10-22 18-6-8-12-18-22-18H24C10.745 600 0 589.255 0 576V24C0 10.745 10.745 0 24 0z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

section.aquadit-services div.aquadit-services-card-media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

section.aquadit-services img.aquadit-services-card-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

section.aquadit-services div.aquadit-services-card-overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    to top,
    var(--aq-services-accent) 0%,
    rgba(49, 61, 77, 0) 95%
    );
  transition:
    height 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.45s ease;
}

section.aquadit-services div.aquadit-services-card-body {
  position: absolute;
  left: 8.5%;
  right: 8.5%;
  bottom: 4.8%;
  top: auto;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.9375rem;
  padding-bottom: 1.875rem;
  text-align: center;
  transition: gap 0.45s ease, padding-bottom 0.45s ease;
}

section.aquadit-services h3.aquadit-services-card-title {
  margin: 0;
  width: 100%;
  font-family: "Mulish", sans-serif;
  font-weight: 900;
  font-size: clamp(1.5rem, 1.7vw, 1.9375rem);
  line-height: 1.2;
  text-transform: uppercase;
  white-space: normal;
  text-wrap: balance;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  color: var(--aq-white);
  transition: font-size 0.45s ease, transform 0.45s ease;
}

section.aquadit-services span.aquadit-services-card-rule {
  display: block;
  width: 50px;
  height: 2px;
  background: var(--aq-white);
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity 0.4s ease, transform 0.45s ease;
}

section.aquadit-services p.aquadit-services-card-desc {
  margin: 0;
  max-width: 22rem;
  font-size: 1.125rem;
  line-height: 1.35;
  color: var(--aq-white);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(0.75rem);
  transition:
    opacity 0.4s ease,
    transform 0.45s ease,
    max-height 0.45s ease;
}

section.aquadit-services span.aquadit-services-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 30px;
  border: 2px solid var(--aq-white);
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  line-height: 14px;
  color: var(--aq-white);
  opacity: 0;
  transform: translateY(0.75rem);
  transition:
    opacity 0.4s ease,
    transform 0.45s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

/* Hover = Figma Property 1=Variant2 */

section.aquadit-services a.aquadit-services-card:hover img.aquadit-services-card-img,
section.aquadit-services a.aquadit-services-card:focus-visible img.aquadit-services-card-img {
  transform: scale(1.28);
}

section.aquadit-services a.aquadit-services-card:hover div.aquadit-services-card-overlay,
section.aquadit-services a.aquadit-services-card:focus-visible div.aquadit-services-card-overlay {
  /* Grow upward inside the fixed masked frame (Figma ~852/620) */
  height: 137.5%;
  background: linear-gradient(
    to top,
    var(--aq-light-blue) 0%,
    rgba(49, 61, 77, 0) 95%
    );
}

section.aquadit-services a.aquadit-services-card:hover div.aquadit-services-card-body,
section.aquadit-services a.aquadit-services-card:focus-visible div.aquadit-services-card-body {
  gap: 1.875rem;
  padding-bottom: 2.75rem;
}

section.aquadit-services a.aquadit-services-card:hover h3.aquadit-services-card-title,
section.aquadit-services a.aquadit-services-card:focus-visible h3.aquadit-services-card-title {
  font-size: clamp(1.65rem, 1.9vw, 2.125rem);
  transform: translateY(-0.5rem);
}

section.aquadit-services a.aquadit-services-card:hover span.aquadit-services-card-rule,
section.aquadit-services a.aquadit-services-card:focus-visible span.aquadit-services-card-rule,
section.aquadit-services a.aquadit-services-card:hover p.aquadit-services-card-desc,
section.aquadit-services a.aquadit-services-card:focus-visible p.aquadit-services-card-desc,
section.aquadit-services a.aquadit-services-card:hover span.aquadit-services-card-btn,
section.aquadit-services a.aquadit-services-card:focus-visible span.aquadit-services-card-btn {
  opacity: 1;
  transform: none;
}

section.aquadit-services a.aquadit-services-card:hover p.aquadit-services-card-desc,
section.aquadit-services a.aquadit-services-card:focus-visible p.aquadit-services-card-desc {
  max-height: 8rem;
}

section.aquadit-services a.aquadit-services-card:hover span.aquadit-services-card-rule,
section.aquadit-services a.aquadit-services-card:focus-visible span.aquadit-services-card-rule {
  transform: scaleX(1);
}

section.aquadit-services a.aquadit-services-card:hover span.aquadit-services-card-btn,
section.aquadit-services a.aquadit-services-card:focus-visible span.aquadit-services-card-btn {
  background: rgba(38, 106, 171, 0.35);
}

@media (min-width: 1600px) {
  section.aquadit-services div.aquadit-services-card-body {
    left: 13.5%;
    right: 13.5%;
  }

  section.aquadit-services h3.aquadit-services-card-title {
    padding-left: 0.65rem;
    padding-right: 0.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  section.aquadit-services img.aquadit-services-card-img,
  section.aquadit-services div.aquadit-services-card-overlay,
  section.aquadit-services div.aquadit-services-card-body,
  section.aquadit-services h3.aquadit-services-card-title,
  section.aquadit-services span.aquadit-services-card-rule,
  section.aquadit-services p.aquadit-services-card-desc,
  section.aquadit-services span.aquadit-services-card-btn {
    transition: none;
  }
}

@media (max-width: 1199.98px) {
  section.aquadit-services div.aquadit-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (max-width: 767.98px) {
  section.aquadit-services div.aquadit-services-grid {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-left: auto;
    margin-right: auto;
  }

  /* Mobile: keep hover details readable without relying on hover */

  section.aquadit-services p.aquadit-services-card-desc,
  section.aquadit-services span.aquadit-services-card-rule,
  section.aquadit-services span.aquadit-services-card-btn {
    opacity: 1;
    transform: none;
    max-height: none;
  }

  section.aquadit-services span.aquadit-services-card-rule {
    transform: scaleX(1);
  }

  section.aquadit-services div.aquadit-services-card-overlay,
  section.aquadit-services a.aquadit-services-card:hover div.aquadit-services-card-overlay,
  section.aquadit-services a.aquadit-services-card:focus-visible div.aquadit-services-card-overlay {
    height: 120%;
    background: linear-gradient(
      to top,
      var(--aq-services-accent) 0%,
      rgba(49, 61, 77, 0) 95%
      );
  }

  section.aquadit-services div.aquadit-services-card-body {
    gap: 1rem;
    padding-bottom: 1.25rem;
  }
}

/* Inner pages (split layout, galleries, lightbox) */

article.aquadit-page {
  color: var(--aq-white);
  padding: clamp(2rem, 3vw, 3.5rem) 0 clamp(3rem, 6vw, 5rem);
}

body.aquadit-has-page-hero article.aquadit-page {
  padding-top: 0;
}

div.aquadit-page-media {
  margin-bottom: clamp(3rem, 3vw, 5rem);
}

div.aquadit-page-media--hero {
  overflow: hidden;
  border-radius: var(--aq-radius-md);
}

img.aquadit-page-hero-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
  border-radius: inherit;
}

div.aquadit-page-media--grid div.aquadit-gallery--hero {
  margin-bottom: 0;
}

div.aquadit-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 992px) {
  div.aquadit-split:has(> aside.aquadit-split-aside) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
  }

  div.aquadit-split:has(> aside.aquadit-split-aside) > .aquadit-split-main {
    padding-right: clamp(2rem, 4vw, 3.5rem);
  }

  aside.aquadit-split-aside {
    border-left: 1px solid rgba(255, 255, 255, 0.18);
    padding-left: clamp(2rem, 4vw, 3.5rem);
    min-height: 100%;
  }
}

header.aquadit-section-heading {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

span.aquadit-section-heading-mark {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  background: var(--aq-baby-blue);
}

h1.aquadit-section-heading-title,
h2.aquadit-section-heading-title,
h3.aquadit-section-heading-title {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: normal;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  line-height: 1.2;
  color: var(--aq-baby-blue);
  text-transform: uppercase;
}

div.aquadit-entry {
  color: rgba(255, 255, 255, 0.92);
  font-size: 1rem;
  line-height: 1.65;
}

div.aquadit-entry p:last-child,
div.aquadit-entry ul:last-child,
div.aquadit-entry ol:last-child {
  margin-bottom: 0;
}

div.aquadit-entry a {
  color: var(--aq-baby-blue);
}

div.aquadit-entry a:hover {
  color: var(--aq-white);
}

ul.aquadit-link-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 576px) and (max-width: 991.98px) {
  ul.aquadit-link-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(1.25rem, 3vw, 2rem);
  }
}

@media (min-width: 1600px) {
  ul.aquadit-link-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(2.75rem, 5vw, 5rem);
    row-gap: 0.35rem;
  }
}

li.aquadit-link-grid-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

li.aquadit-link-grid-item > a {
  display: block;
  color: var(--aq-white);
  font-size: 0.9375rem;
  line-height: 1.15;
  padding: 0.45rem 0;
  text-decoration: none;
  transition: color 0.15s ease;
}

li.aquadit-link-grid-item > a:hover,
li.aquadit-link-grid-item > a:focus-visible {
  color: var(--aq-light-blue);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (min-width: 1600px) {
  li.aquadit-link-grid-item > a {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

/* Blog listing */

div.aquadit-blog-intro {
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

div.aquadit-blog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4.5vw, 3.5rem) clamp(1.5rem, 3vw, 2.75rem);
}

@media (min-width: 768px) {
  div.aquadit-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

article.aquadit-blog-card {
  display: flex;
  flex-direction: column;
  color: var(--aq-white);
  min-width: 0;
}

a.aquadit-blog-card-media {
  display: block;
  overflow: hidden;
  border-radius: var(--aq-radius-md);
  margin-bottom: 1.25rem;
}

img.aquadit-blog-card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 720 / 450;
  object-fit: cover;
  object-position: center center;
  transition: transform 0.35s ease;
}

a.aquadit-blog-card-media:hover img.aquadit-blog-card-img,
a.aquadit-blog-card-media:focus-visible img.aquadit-blog-card-img {
  transform: scale(1.03);
}

div.aquadit-blog-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

h2.aquadit-blog-card-title {
  margin: 0 0 0.75rem;
  font-family: "Playfair Display", serif;
  font-weight: normal;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.25;
  color: var(--aq-baby-blue);
}

h2.aquadit-blog-card-title a {
  color: inherit;
  text-decoration: none;
}

h2.aquadit-blog-card-title a:hover,
h2.aquadit-blog-card-title a:focus-visible {
  color: var(--aq-white);
}

div.aquadit-blog-card-lead {
  color: rgba(255, 255, 255, 0.92);
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 1.25rem;
}

div.aquadit-blog-card-lead p:last-child {
  margin-bottom: 0;
}

a.aquadit-blog-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  align-self: flex-start;
  padding: 12px 22px;
  border-radius: 50px;
  border: 2px solid var(--aq-light-blue);
  background: var(--aq-light-blue);
  color: var(--aq-white);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

a.aquadit-blog-card-btn:hover,
a.aquadit-blog-card-btn:focus-visible {
  background: transparent;
  border-color: var(--aq-white);
  color: var(--aq-white);
}

img.aquadit-blog-card-btn-icon {
  width: 24px;
  height: 16px;
  display: block;
}

nav.aquadit-blog-pagination {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

nav.aquadit-blog-pagination h2.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

nav.aquadit-blog-pagination div.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}

nav.aquadit-blog-pagination a.page-numbers,
nav.aquadit-blog-pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: var(--aq-white);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

nav.aquadit-blog-pagination a.page-numbers:hover,
nav.aquadit-blog-pagination a.page-numbers:focus-visible {
  border-color: var(--aq-baby-blue);
  color: var(--aq-baby-blue);
}

nav.aquadit-blog-pagination span.page-numbers.current {
  background: var(--aq-light-blue);
  border-color: var(--aq-light-blue);
  color: var(--aq-white);
}

nav.aquadit-blog-pagination span.page-numbers.dots {
  border-color: transparent;
  min-width: 1.5rem;
}

article.aquadit-page--blog section.no-results {
  color: rgba(255, 255, 255, 0.92);
}

article.aquadit-page--blog section.no-results h1.page-title {
  font-family: "Playfair Display", serif;
  color: var(--aq-baby-blue);
}

/* Image galleries */

div.aquadit-gallery {
  display: grid;
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

div.aquadit-gallery--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

div.aquadit-gallery--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

div.aquadit-gallery--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

div.aquadit-gallery--hero {
  margin-bottom: clamp(3rem, 4vw, 5rem);
}

a.aquadit-gallery-item {
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: var(--aq-radius-md);
  background: rgba(255, 255, 255, 0.06);
  cursor: zoom-in;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

div.aquadit-entry a.aquadit-gallery-item,
div.aquadit-entry a.aquadit-gallery-item:hover {
  color: inherit;
  text-decoration: none;
}

div.aquadit-gallery--hero a.aquadit-gallery-item {
  aspect-ratio: 1 / 1;
}

div.aquadit-gallery--sidebar a.aquadit-gallery-item {
  aspect-ratio: 1 / 1;
  border-radius: var(--aq-services-radius);
}

a.aquadit-gallery-item:hover,
a.aquadit-gallery-item:focus-visible {
  opacity: 0.92;
  transform: translateY(-2px);
  outline: none;
}

img.aquadit-gallery-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

div.aquadit-gallery--inline {
  margin: 1.5rem 0;
}

div.aquadit-entry div.aquadit-gallery--inline a.aquadit-gallery-item,
div.gallery .gallery-icon,
figure.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery .wp-block-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--aq-radius-md);
}

div.gallery {
  display: grid;
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
  margin: 1.5rem 0;
}

div.gallery,
div.gallery[class*="gallery-columns-"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

div.gallery .gallery-item {
  margin: 0;
}

div.gallery .gallery-icon,
div.gallery .gallery-icon a,
div.gallery .gallery-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

div.gallery .gallery-icon img {
  object-fit: cover;
  object-position: center center;
  border-radius: var(--aq-radius-md);
}

figure.wp-block-gallery.has-nested-images,
figure.wp-block-gallery.aquadit-gallery--inline {
  --wp--style--unstable-gallery-columns: 2;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.75rem, 1.5vw, 1rem);
  margin: 1.5rem 0;
}

figure.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-1 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-3 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-4 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-5 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-6 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-7 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.columns-8 figure.wp-block-image:not(#individual-image),
figure.wp-block-gallery.aquadit-gallery--inline .wp-block-image {
  flex: 0 0 calc(50% - (clamp(0.75rem, 1.5vw, 1rem) / 2)) !important;
  width: calc(50% - (clamp(0.75rem, 1.5vw, 1rem) / 2)) !important;
  max-width: calc(50% - (clamp(0.75rem, 1.5vw, 1rem) / 2)) !important;
  margin: 0;
}

figure.wp-block-gallery .lightbox-trigger,
figure.wp-block-gallery .wp-lightbox-overlay {
  display: none !important;
}

figure.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img,
figure.wp-block-gallery .wp-block-image img,
figure.wp-block-gallery.aquadit-gallery--inline .wp-block-image img {
  border-radius: var(--aq-radius-md);
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center center;
}

figure.wp-block-gallery.aquadit-gallery--inline a.aquadit-gallery-item {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--aq-radius-md);
  overflow: hidden;
}

/* Global lightbox */

div.aquadit-lightbox div.modal-dialog {
  max-width: min(96vw, 1100px);
}

div.aquadit-lightbox-content {
  position: relative;
  background: transparent;
  border: 0;
  box-shadow: none;
  align-items: center;
  justify-content: center;
}

img.aquadit-lightbox-img {
  display: block;
  max-width: 100%;
  max-height: 85vh;
  width: auto;
  height: auto;
  margin: 0 auto;
  border-radius: var(--aq-radius-sm);
  object-fit: contain;
}

button.aquadit-lightbox-close {
  position: absolute;
  top: -2.5rem;
  right: 0;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--aq-white);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

button.aquadit-lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(35, 38, 45, 0.65);
  color: var(--aq-white);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

button.aquadit-lightbox-prev {
  left: 0.5rem;
}

button.aquadit-lightbox-next {
  right: 0.5rem;
}

button.aquadit-lightbox-close:hover,
button.aquadit-lightbox-nav:hover {
  color: var(--aq-baby-blue);
}

@media (max-width: 991.98px) {
  div.aquadit-gallery--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  aside.aquadit-split-aside {
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
}

@media (max-width: 575.98px) {
  div.aquadit-gallery--cols-4,
  div.aquadit-gallery--cols-2 {
    gap: 0.625rem;
  }

  a.aquadit-gallery-item {
    border-radius: var(--aq-radius-md);
  }

  figure.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  figure.wp-block-gallery.aquadit-gallery--inline .wp-block-image {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Reusable contact block (Figma: contact card) */

section.aquadit-contact {
  width: 100%;
  max-width: var(--aq-content);
  margin-left: auto;
  margin-right: auto;
  color: var(--aq-dark);
  padding: 0;
}

body.home section.aquadit-contact {
  padding-bottom: 2.5rem;
}

section.aquadit-contact div.aquadit-contact-card {
  background: var(--aq-white);
  border-radius: var(--aq-hero-radius);
  padding: clamp(1rem, 3vw, 3rem);
}

section.aquadit-contact div.aquadit-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

section.aquadit-contact div.aquadit-contact-info {
  padding-right: clamp(1rem, 3vw, 2.5rem);
  border-right: 1px solid rgba(35, 38, 45, 0.12);
}

section.aquadit-contact div.aquadit-contact-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

section.aquadit-contact span.aquadit-contact-eyebrow-mark {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  background: var(--aq-light-blue);
}

section.aquadit-contact span.aquadit-contact-eyebrow-text {
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.2;
  color: var(--aq-light-blue);
  text-transform: uppercase;
}

section.aquadit-contact h2.aquadit-contact-title {
  margin: 0 0 1rem;
  font-family: "Mulish", sans-serif;
  font-weight: 700;
  font-size: clamp(1.75rem, 2.8vw, 2.75rem);
  line-height: 1.15;
  color: var(--aq-dark);
}

section.aquadit-contact p.aquadit-contact-lead {
  margin: 0 0 2rem;
  max-width: 28rem;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(35, 38, 45, 0.72);
}

section.aquadit-contact dl.aquadit-contact-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(35, 38, 45, 0.12);
}

section.aquadit-contact div.aquadit-contact-row {
  display: grid;
  grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: baseline;
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(35, 38, 45, 0.12);
}

section.aquadit-contact dt.aquadit-contact-label {
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--aq-light-blue);
  text-transform: uppercase;
}

section.aquadit-contact dd.aquadit-contact-value {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--aq-dark);
  text-align: right;
}

section.aquadit-contact dd.aquadit-contact-value a {
  color: inherit;
}

section.aquadit-contact dd.aquadit-contact-value a:hover {
  color: var(--aq-light-blue);
}

section.aquadit-contact div.aquadit-contact-form {
  min-width: 0;
}

@media (min-width: 1600px) {
  section.aquadit-contact div.aquadit-contact-grid {
    grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
    gap: clamp(2.5rem, 4.5vw, 5rem);
  }
}

/* Contact Form 7 (Figma: underline fields + outline submit) */

div.aquadit-contact-form div.wpcf7,
div.aquadit-contact-form form.wpcf7-form,
div.aquadit-contact-form div.aq-cf7 {
  width: 100%;
  margin: 0;
}

div.aquadit-contact-form div.aq-cf7 {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

div.aquadit-contact-form div.aq-cf7-field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin: 0;
}

div.aquadit-contact-form div.aq-cf7-field > label:not(.aq-cf7-upload),
div.aquadit-contact-form span.aq-cf7-label {
  display: block;
  margin: 0;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--aq-light-blue);
  text-transform: uppercase;
}

div.aquadit-contact-form span.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

div.aquadit-contact-form input.wpcf7-text,
div.aquadit-contact-form input.wpcf7-email,
div.aquadit-contact-form input.wpcf7-tel,
div.aquadit-contact-form textarea.wpcf7-textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.15rem 0 0.45rem;
  border: 0;
  border-bottom: 1px solid rgba(35, 38, 45, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: none;
  appearance: none;
  font-family: "Mulish", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--aq-light-blue);
  caret-color: var(--aq-light-blue);
  transition: border-color 0.2s ease;
}

div.aquadit-contact-form textarea.wpcf7-textarea {
  min-height: 2rem;
  height: 2rem;
  resize: vertical;
}

div.aquadit-contact-form input.wpcf7-text::placeholder,
div.aquadit-contact-form input.wpcf7-email::placeholder,
div.aquadit-contact-form input.wpcf7-tel::placeholder,
div.aquadit-contact-form textarea.wpcf7-textarea::placeholder {
  color: var(--aq-dark);
  opacity: 1;
  -webkit-text-fill-color: var(--aq-dark);
}

div.aquadit-contact-form input.wpcf7-text:focus,
div.aquadit-contact-form input.wpcf7-email:focus,
div.aquadit-contact-form input.wpcf7-tel:focus,
div.aquadit-contact-form textarea.wpcf7-textarea:focus {
  border-bottom-color: var(--aq-light-blue);
}

div.aquadit-contact-form .wpcf7-not-valid {
  border-bottom-color: #c0392b;
}

div.aquadit-contact-form span.wpcf7-not-valid-tip {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.3;
  color: #c0392b;
}

div.aquadit-contact-form div.aq-cf7-file {
  gap: 0.2rem;
}

div.aquadit-contact-form label.aq-cf7-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0.15rem 0 0.45rem;
  border-bottom: 1px solid rgba(35, 38, 45, 0.18);
  cursor: pointer;
  color: var(--aq-dark);
  font-family: "Mulish", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
}

div.aquadit-contact-form span.aq-cf7-upload-icon {
  display: block;
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.375 12.739l-7.693 7.693a4.5 4.5 0 01-6.364-6.364l10.94-10.94A3 3 0 1119.5 7.372L8.461 18.41a1.5 1.5 0 01-2.121-2.121l9.193-9.192a.75.75 0 00-1.061-1.06l-9.192 9.191a3 3 0 004.243 4.243l11.04-11.038A4.5 4.5 0 008.22 2.188l-8.31 8.31a6 6 0 008.486 8.486l7.693-7.693a.75.75 0 10-1.06-1.061z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.375 12.739l-7.693 7.693a4.5 4.5 0 01-6.364-6.364l10.94-10.94A3 3 0 1119.5 7.372L8.461 18.41a1.5 1.5 0 01-2.121-2.121l9.193-9.192a.75.75 0 00-1.061-1.06l-9.192 9.191a3 3 0 004.243 4.243l11.04-11.038A4.5 4.5 0 008.22 2.188l-8.31 8.31a6 6 0 008.486 8.486l7.693-7.693a.75.75 0 10-1.06-1.061z'/%3E%3C/svg%3E") center / contain no-repeat;
}

div.aquadit-contact-form span.aq-cf7-upload-text {
  flex: 0 1 auto;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-transform: none;
}

div.aquadit-contact-form label.aq-cf7-upload.is-filled {
  color: var(--aq-light-blue);
}

div.aquadit-contact-form label.aq-cf7-upload:hover {
  border-bottom-color: var(--aq-light-blue);
}

div.aquadit-contact-form label.aq-cf7-upload span.wpcf7-form-control-wrap {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
}

div.aquadit-contact-form label.aq-cf7-upload input.wpcf7-file {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}

div.aquadit-contact-form div.aq-cf7-actions {
  margin-top: 0.35rem;
  text-align: left;
}

div.aquadit-contact-form input.aq-cf7-submit,
div.aquadit-contact-form input.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  margin: 0;
  padding: 0.75rem 1.75rem;
  border: 2px solid var(--aq-light-blue);
  border-radius: 50px;
  background: transparent;
  box-shadow: none;
  color: var(--aq-light-blue);
  font-family: "Mulish", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

div.aquadit-contact-form input.aq-cf7-submit:hover,
div.aquadit-contact-form input.wpcf7-submit:hover {
  background: var(--aq-light-blue);
  border-color: var(--aq-light-blue);
  color: var(--aq-white);
}

div.aquadit-contact-form .wpcf7-spinner {
  margin-left: 0.75rem;
  background-color: var(--aq-light-blue);
}

div.aquadit-contact-form div.wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: var(--aq-radius-sm);
  font-size: 0.9375rem;
  line-height: 1.4;
}

@media (max-width: 991.98px) {
  section.aquadit-contact div.aquadit-contact-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  section.aquadit-contact div.aquadit-contact-info {
    padding-right: 0;
    border-right: 0;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(35, 38, 45, 0.12);
  }

  section.aquadit-contact dd.aquadit-contact-value {
    text-align: left;
  }
}

@media (max-width: 767.98px) {
  section.aquadit-contact dt.aquadit-contact-label,
  div.aquadit-contact-form div.aq-cf7-field > label:not(.aq-cf7-upload),
  div.aquadit-contact-form span.aq-cf7-label {
    font-size: 0.875rem;
  }
}

/* Reusable section divider (Figma: "line") */

div.aquadit-divider {
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  max-width: var(--aq-content);
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem var(--aq-gutter);
  box-sizing: border-box;
}

div.aquadit-divider span.aquadit-divider-line {
  flex: 1 1 auto;
  height: 1px;
  min-width: 0;
  background: rgba(255, 255, 255, 0.35);
}

div.aquadit-divider img.aquadit-divider-mark {
  display: block;
  flex: 0 0 auto;
  width: 70px;
  height: 62px;
  object-fit: contain;
}

@media (max-width: 575.98px) {
  div.aquadit-divider {
    gap: 10px;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  div.aquadit-divider img.aquadit-divider-mark {
    width: 52px;
    height: 46px;
  }
}

/* Footer */

footer#aquadit-footer.aquadit-shell {
  max-width: calc(var(--aq-content) + 2 * var(--aq-gutter));
  padding-left: var(--aq-gutter);
  padding-right: var(--aq-gutter);
  background: var(--aq-dark);
  color: var(--aq-dark);
}

footer#aquadit-footer div.aquadit-footer-inner {
  background: var(--aq-white);
  border-top-left-radius: var(--aq-hero-radius);
  border-top-right-radius: var(--aq-hero-radius);
  padding-top: 30px;
  overflow: hidden;
}

footer#aquadit-footer div.aquadit-footer-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 34%);
  align-items: end;
  column-gap: clamp(1rem, 2.5vw, 2.5rem);
}

footer#aquadit-footer div.aquadit-footer-menus {
  padding: 0 clamp(1rem, 3vw, 3rem) 1.5rem;
  min-width: 0;
}

footer#aquadit-footer div.footer-logo img {
  max-height: 29px;
  width: auto;
  margin-bottom: 1.25rem;
}

footer#aquadit-footer div.footer-heading {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 24px;
  color: var(--aq-light-blue);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

footer#aquadit-footer div.footer-heading::before {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--aq-light-blue);
  display: inline-block;
  flex-shrink: 0;
}

footer#aquadit-footer ul.footer-menu,
footer#aquadit-footer ul.footer-contact {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer#aquadit-footer ul.footer-menu li,
footer#aquadit-footer ul.footer-contact li {
  margin: 0;
  padding: 5px 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--aq-dark);
}

footer#aquadit-footer ul.footer-menu a,
footer#aquadit-footer ul.footer-contact a {
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  display: block;
  padding: 0;
}

footer#aquadit-footer ul.footer-menu a:hover {
  color: var(--aq-light-blue);
}

/* Funding logos: flush to white box right + blue copyright bar */
footer#aquadit-footer div.footer-right,
footer#aquadit-footer div.footer-right div#mx-footer-right-fixed,
footer#aquadit-footer div.footer-right p,
footer#aquadit-footer div.footer-right figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

footer#aquadit-footer div.footer-right {
  justify-self: end;
  align-self: end;
  width: auto;
  max-width: 100%;
}

footer#aquadit-footer div.footer-right img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 10rem;
  height: auto;
  margin: 0 0 0 auto;
}

footer#aquadit-footer div.aquadit-copyright {
  width: 100%;
  background: var(--aq-light-blue);
  color: var(--aq-white);
  font-size: 13px;
  line-height: 17px;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px clamp(1rem, 3vw, 3rem);
}

footer#aquadit-footer div.aquadit-copyright-inner {
  width: 100%;
}

@media (max-width: 991.98px) {
  footer#aquadit-footer div.aquadit-footer-body {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }

  footer#aquadit-footer div.footer-right {
    justify-self: center;
    max-width: 28rem;
    padding: 0 clamp(1rem, 3vw, 3rem);
  }
}

@media (max-width: 767.98px) {
  footer#aquadit-footer div.footer-heading {
    font-size: 0.98rem;
    line-height: 1.2;
  }

  footer#aquadit-footer div.aquadit-copyright {
    font-size: 12px;
    line-height: 16px;
  }
}

/* Cookie consent modal */

dialog#ccModal div.modal-body {
  padding: 0;
}

dialog#ccModal div.modal-body p {
  font-size: 90%;
  text-align: justify;
}

dialog#ccModal div.modal-body p a {
  outline: none;
}

dialog#ccModal div.modal-body button,
dialog#ccModal div.modal-body small {
  width: 100%;
  display: block;
  text-align: center;
  margin-bottom: 1rem;
}

dialog#ccModal div.modal-body button {
  padding: 0.5rem 1rem;
  border-style: solid;
  border-width: 2px;
  font-weight: bold;
  font-size: 90%;
  cursor: pointer;
  transition: all 0.3s linear;
}

dialog#ccModal div.modal-body button.a {
  border-color: var(--aq-dark);
  background-color: var(--aq-light-blue);
  color: #ffffff;
}

dialog#ccModal div.modal-body button.a:hover {
  background-color: #009900;
}

dialog#ccModal div.modal-body button.m {
  border-color: #aeaeae;
  background-color: #ffffff;
  color: #aeaeae;
}

dialog#ccModal div.modal-body button.m:hover {
  background-color: #333333;
  color: #ffffff;
}

dialog#ccModal div.modal-body small {
  font-size: 80%;
}

dialog#ccModal div.modal-body small:last-child {
  margin-bottom: 0;
}
