/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Mobile dropdown menu height */
nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
}

nav.elementor-nav-menu--dropdown .sub-menu > li,
nav.elementor-nav-menu--dropdown .sub-menu > li > a {
  text-align: center;
}

nav.elementor-nav-menu--dropdown > .elementor-nav-menu > li > a {
  font-weight: 600 !important;
}

.elementor-button,
.elementor-button:hover,
.elementor-button:focus,
.elementor-button .elementor-button-text {
  text-decoration: none !important;
}

/* Desktop menu */
.elementor-nav-menu a,
.elementor-nav-menu li {
  text-decoration: none;
}

.current_page_item {
  text-decoration: 3px underline #0bbbef !important;
}

/* Header layout: keep menu and search together */
.elementor-location-header .e-con-inner {
  display: flex !important;
  align-items: center !important;
}

/* Logo stays left */
.elementor-location-header .elementor-widget-theme-site-logo {
  margin-right: auto !important;
}

/* Desktop nav should not stretch */
.elementor-location-header .elementor-element-6f99a71c {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* Search widget sits directly after menu */
.elementor-location-header .elementor-element-bdb3fc0 {
  width: 40px !important;
  flex: 0 0 40px !important;
  margin-left: 28px !important;
  position: relative !important;
  z-index: 20;
}

/* Header search variables */
.elementor-location-header .e-search {
  --search-size: 40px;
  --search-open-width: 220px;
  width: var(--search-size) !important;
  height: var(--search-size) !important;
  display: block !important;
  position: relative !important;
}

/* Collapsed search form */
.elementor-location-header .e-search .e-search-form {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;

  width: var(--search-size) !important;
  height: var(--search-size) !important;
  min-width: var(--search-size) !important;
  max-width: var(--search-open-width) !important;

  overflow: hidden !important;
  transition: width 0.25s ease !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

/* Open search form - expands left, icon stays fixed */
.elementor-location-header .e-search .e-search-form:focus-within {
  width: var(--search-open-width) !important;
}

/* Input wrapper */
.elementor-location-header .e-search .e-search-input-wrapper {
  width: 100% !important;
  height: var(--search-size) !important;
}

/* Search input */
.elementor-location-header .e-search .e-search-input {
  width: 100% !important;
  height: var(--search-size) !important;
  min-height: var(--search-size) !important;
  line-height: var(--search-size) !important;

  padding: 0 calc(var(--search-size) + 8px) 0 16px !important;

  border: 1px solid #222 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;

  opacity: 0;
  box-sizing: border-box !important;
  transition: opacity 0.2s ease !important;
  cursor: pointer !important;
}

/* Show input when active */
.elementor-location-header .e-search .e-search-form:focus-within .e-search-input {
  opacity: 1;
  cursor: text !important;
}

/* Search submit button */
.elementor-location-header .e-search .e-search-submit {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;

  width: var(--search-size) !important;
  height: var(--search-size) !important;
  min-width: var(--search-size) !important;
  min-height: var(--search-size) !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
  z-index: 5;
}

/* First click focuses/opens instead of submitting empty search */
.elementor-location-header .e-search .e-search-form:not(:focus-within) .e-search-submit {
  pointer-events: none;
}

/* Search icon */
.elementor-location-header .e-search .e-search-submit svg {
  width: 22px !important;
  height: 22px !important;
  fill: #000 !important;
  color: #000 !important;
  pointer-events: none;
}

/* No hover/focus background */
.elementor-location-header .e-search .e-search-submit:hover,
.elementor-location-header .e-search .e-search-submit:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Hide reset X while collapsed */
.elementor-location-header .e-search .e-search-form:not(:focus-within) .e-fas-times {
  display: none !important;
}

/* Hide results while collapsed */
.elementor-location-header .e-search .e-search-form:not(:focus-within) .e-search-results-container {
  display: none !important;
}

/* Optional: reduce gap on smaller desktop widths */
@media (max-width: 1200px) {
  .elementor-location-header .elementor-element-bdb3fc0 {
    margin-left: 4px !important;
  }

  .elementor-location-header .e-search {
    --search-open-width: 220px;
  }
}

/* Prevent header items from reflowing when search opens */
.elementor-location-header .elementor-element-6f99a71c,
.elementor-location-header .elementor-element-bdb3fc0 {
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease !important;
}

/* Keep search widget fixed in the layout */
.elementor-location-header .elementor-element-bdb3fc0 {
  width: 40px !important;
  flex: 0 0 40px !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 50 !important;
}

/* Keep search wrapper fixed too */
.elementor-location-header .elementor-element-bdb3fc0 .e-search {
  width: 40px !important;
  height: 40px !important;
  overflow: visible !important;
  position: relative !important;
}

/* Search form expands left without pushing anything */
.elementor-location-header .elementor-element-bdb3fc0 .e-search-form {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  overflow: hidden !important;

  transition: width 0.25s ease !important;
}

/* Open search */
.elementor-location-header .elementor-element-bdb3fc0 .e-search-form:focus-within {
  width: 220px !important;
}

/* Hide primary desktop menu when search is open, without changing layout */
.elementor-location-header .e-con-inner:has(.elementor-element-bdb3fc0 .e-search-form:focus-within) .elementor-element-6f99a71c {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Show primary menu normally when search is closed */
.elementor-location-header .elementor-element-6f99a71c {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Keep Elementor's sticky spacer invisible while preserving its layout height */
.elementor-location-header .elementor-sticky__spacer,
.elementor-location-header .elementor-sticky__spacer * {
  visibility: hidden !important;
  pointer-events: none !important;
}

.elementor-location-header .elementor-sticky,
.elementor-location-header .elementor-sticky--active,
.elementor-location-header .elementor-sticky__spacer {
  transition: none !important;
  animation: none !important;
}

/* Make sure search field appears above the hidden menu */
.elementor-location-header .e-con-inner:has(.elementor-element-bdb3fc0 .e-search-form:focus-within) .elementor-element-bdb3fc0 {
  z-index: 100 !important;
}

/* Breadcrumb */
.rank-math-breadcrumb {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.rank-math-breadcrumb p {
  display: flex;
  align-items: center;
  gap: 32px;
  font-size: 0.9em;
  margin: 0;
  color: #3f3f3f;
}

.rank-math-breadcrumb a {
  display: inline-flex;
  align-items: center;
  color: #3f3f3f;
  text-decoration: none;
  font-weight: 400;
}

.rank-math-breadcrumb a::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 10px;
  margin-right: 14px;
  background-color: currentColor;
  flex-shrink: 0;

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.333 5H0.999675M4.99967 9L0.999675 5L4.99967 1' stroke='%233F3F3F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  mask-image: url("data:image/svg+xml,%3Csvg width='12' height='10' viewBox='0 0 12 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.333 5H0.999675M4.99967 9L0.999675 5L4.99967 1' stroke='%233F3F3F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.rank-math-breadcrumb a:hover {
  color: #00aeef;
  text-decoration: none;
}

.rank-math-breadcrumb .separator {
  display: inline-block;
  width: 1px;
  height: 24px;
  background: #d3d3d3;
  color: transparent;
  overflow: hidden;
}

.rank-math-breadcrumb .last {
  color: #3f3f3f;
  font-weight: 400;
}

@media (max-width: 1024px) {
  .elementor-location-header .elementor-nav-menu--toggle nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    opacity: 0;
    visibility: hidden;
    transform: none !important;
    transition:
      opacity 0.24s ease,
      visibility 0s linear 0.24s !important;
    pointer-events: none;
  }

  .elementor-location-header
    .elementor-nav-menu--toggle
    .elementor-menu-toggle:not(.elementor-active)
    + nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    max-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
  }

  .elementor-location-header
    .elementor-nav-menu--toggle
    .elementor-menu-toggle.elementor-active
    + nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
    opacity: 1;
    visibility: visible;
    max-height: 100vh !important;
    transform: none !important;
    transition:
      opacity 0.24s ease,
      visibility 0s linear 0s !important;
    pointer-events: auto;
    animation: none !important;
  }

  .elementor-location-header .elementor-element-3bddae9 nav.elementor-nav-menu--dropdown[style] {
    top: 36px !important;
  }
}

@media (max-width: 767px) {
  /* Breadcrumb */
  .rank-math-breadcrumb {
    justify-content: flex-start;
  }

  .rank-math-breadcrumb p {
    gap: 12px;
  }
}
