/*
 Theme Name:   Hygia Child Theme
 Theme URI:    https://hygia.axiomthemes.com
 Description:  Hygia Child Theme
 Author:       AxiomThemes
 Author URI:   https://axiomthemes.com
 Template:     hygia
 Version:      1.0.0
 Tags:         Tags: cleaning, cleaning agency, cleaning company, cleaning services, dry cleaning, laundry, laundry services, maid, maid services, floor cleaning, house cleaning, sanitization, rubbish removal, handyman, pool maintenance
 Text Domain:  hygia
*/


/* =Theme customization starts here
------------------------------------------------------------ */

/* Header repair: restore the structural and responsive rules missing from the restored backup. */
#menu_main.sc_layouts_menu_nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
#menu_main.sc_layouts_menu_nav > li {
  display: block;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
#menu_main.sc_layouts_menu_nav > li > a {
  display: block;
}
#menu_main.sc_layouts_menu_nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 1680px) {
  .sc_layouts_hide_on_wide { display: none !important; }
}
@media (min-width: 1280px) and (max-width: 1679px) {
  .sc_layouts_hide_on_desktop { display: none !important; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .sc_layouts_hide_on_notebook { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .sc_layouts_hide_on_tablet { display: none !important; }
}
@media (max-width: 767px) {
  .sc_layouts_hide_on_mobile,
  .hide_on_mobile { display: none !important; }
}

/* Header repair: keep the right-column controls inline. */
@media (min-width: 768px) {
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0ec92b7,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-de725a1,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0335893,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-00b66ea {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0ec92b7 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-de725a1 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0335893 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-00b66ea .elementor-widget-container {
    width: auto !important;
    max-width: none !important;
  }

  .elementor-element-de725a1 #menu_main {
    width: auto !important;
    min-width: 0 !important;
  }

  .elementor-element-0335893 .elementor-icon-list-items {
    width: auto !important;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Header repair: restore the structural and responsive rules missing from the restored backup. */
#menu_main.sc_layouts_menu_nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
#menu_main.sc_layouts_menu_nav > li {
  display: block;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}
#menu_main.sc_layouts_menu_nav > li > a {
  display: block;
}
#menu_main.sc_layouts_menu_nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 1680px) {
  .sc_layouts_hide_on_wide { display: none !important; }
}
@media (min-width: 1280px) and (max-width: 1679px) {
  .sc_layouts_hide_on_desktop { display: none !important; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .sc_layouts_hide_on_notebook { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .sc_layouts_hide_on_tablet { display: none !important; }
}
@media (max-width: 767px) {
  .sc_layouts_hide_on_mobile,
  .hide_on_mobile { display: none !important; }
}

/* Header repair: keep the right-column controls inline. */
@media (min-width: 768px) {
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0ec92b7,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-de725a1,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0335893,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-00b66ea {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0ec92b7 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-de725a1 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0335893 .elementor-widget-container,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-00b66ea .elementor-widget-container {
    width: auto !important;
    max-width: none !important;
  }

  .elementor-element-de725a1 #menu_main {
    width: auto !important;
    min-width: 0 !important;
  }

  .elementor-element-0335893 .elementor-icon-list-items {
    width: auto !important;
    margin-left: 0;
    margin-right: 0;
  }
}

/* Header repair: fit the logo and keep desktop dropdowns outside the header flow. */
@media (max-width: 1023px) {
  .elementor-element-b9b371c img.logo_image,
  .sc_layouts_row .sc_layouts_logo img.logo_image {
    width: auto !important;
    height: auto !important;
    max-width: 72px !important;
    max-height: 56px !important;
    object-fit: contain !important;
  }
}

@media (min-width: 1024px) {
  .elementor-element-b9b371c img.logo_image,
  .sc_layouts_row .sc_layouts_logo img.logo_image {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 68px !important;
    object-fit: contain !important;
  }

  .elementor-element-de725a1,
  .elementor-element-de725a1 .elementor-widget-container,
  .elementor-element-de725a1 .sc_layouts_menu,
  #menu_main.sc_layouts_menu_nav {
    overflow: visible !important;
  }

  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children {
    position: relative;
  }

  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children > ul.sub-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    width: 15em !important;
    min-width: 220px;
    height: auto !important;
    margin: 0 !important;
    padding: 0.75em 0 !important;
    background: var(--theme-color-extra_bg_color, #ffffff) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
  }

  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children:hover > ul.sub-menu,
  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children:focus-within > ul.sub-menu,
  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children.sfHover > ul.sub-menu,
  #menu_main.sc_layouts_menu_nav > li.menu-item-has-children.opened > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #menu_main.sc_layouts_menu_nav > li > ul.sub-menu > li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menu_main.sc_layouts_menu_nav > li > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 0.55em 1.1em !important;
    white-space: nowrap;
  }

  #menu_main.sc_layouts_menu_nav > li > ul.sub-menu ul.sub-menu {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    margin: 0 !important;
  }
}

/* Header repair: keep the logo compact inside the opened mobile menu. */
@media (max-width: 1023px) {
  .menu_mobile .menu_mobile_header_wrap .sc_layouts_logo {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 72px);
  }

  .menu_mobile .menu_mobile_header_wrap .sc_layouts_logo img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 64px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 767px) {
  .menu_mobile .menu_mobile_header_wrap .sc_layouts_logo img {
    max-height: 56px !important;
  }
}

@media (max-width: 479px) {
  .menu_mobile .menu_mobile_header_wrap .sc_layouts_logo img {
    max-height: 48px !important;
  }
}


/* Header repair: keep the compact mobile header in one aligned row. */
@media (max-width: 767px) {
  .elementor-element-2f2b1d8 > .elementor-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    width: 100%;
  }

  .elementor-element-2f2b1d8 > .elementor-container > .elementor-element-706f404 {
    flex: 0 0 60% !important;
    width: 60% !important;
    max-width: 60% !important;
    min-width: 0 !important;
  }

  .elementor-element-2f2b1d8 > .elementor-container > .elementor-element-6e84b34 {
    flex: 0 0 40% !important;
    width: 40% !important;
    max-width: 40% !important;
    min-width: 0 !important;
  }

  .elementor-element-706f404 > .elementor-widget-wrap.elementor-element-populated {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }

  .elementor-element-706f404 .elementor-element-9b5a1fa {
    flex: 0 0 36% !important;
    width: 36% !important;
    max-width: 36% !important;
    min-width: 0 !important;
  }

  .elementor-element-706f404 .elementor-element-bb3e91d {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .elementor-element-706f404 .elementor-element-bb3e91d .elementor-heading-title {
    white-space: nowrap;
    font-size: clamp(12px, 3.3vw, 14px) !important;
    line-height: 1.2;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding-left: 0 !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0ec92b7,
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-0335893 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .elementor-element-0335893 .elementor-icon-list-items {
    width: auto !important;
    margin: 0 !important;
  }
}


/* Header refinement: add vertical breathing room around the logo and keep the title 20px from it. */
@media (min-width: 768px) {
  .elementor-element-706f404 > .elementor-widget-wrap.elementor-element-populated,
  .elementor-element-9b5a1fa,
  .elementor-element-9b5a1fa > .elementor-widget-wrap.elementor-element-populated,
  .elementor-element-bb3e91d,
  .elementor-element-bb3e91d > .elementor-widget-wrap.elementor-element-populated {
    align-items: center !important;
  }

  .elementor-element-9b5a1fa {
    flex: 0 0 auto !important;
    width: max-content !important;
    max-width: max-content !important;
  }

  .elementor-element-9b5a1fa > .elementor-widget-wrap.elementor-element-populated {
    width: max-content !important;
    max-width: max-content !important;
  }

  .elementor-element-b9b371c,
  .elementor-element-b9b371c > .elementor-widget-container,
  .elementor-element-b9b371c .sc_layouts_logo {
    display: flex !important;
    align-items: center !important;
  }

  .elementor-element-bb3e91d {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .elementor-element-bb3e91d > .elementor-widget-wrap.elementor-element-populated {
    padding-left: 20px !important;
  }

  .elementor-element-7da1c51,
  .elementor-element-7da1c51 .elementor-heading-title {
    text-align: left !important;
  }
}

@media (min-width: 1024px) {
  .elementor-element-9b5a1fa img.logo_image {
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
  }
}


/* Header refinement: ensure the compact desktop logo wins over the parent-theme max-height rule. */
@media (min-width: 1024px) {
  .elementor-element-9b5a1fa .elementor-element-b9b371c .sc_layouts_logo img.logo_image,
  .sc_layouts_row .elementor-element-9b5a1fa .sc_layouts_logo img.logo_image {
    height: auto !important;
    max-height: 60px !important;
    object-fit: contain !important;
  }
}


/* Header refinement: preserve visible breathing room around the desktop logo. */
@media (min-width: 1024px) {
  .elementor-element-2f2b1d8 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}


/* Header repair: keep the desktop header inside the body at notebook widths. */
@media (min-width: 1024px) and (max-width: 1100px) {
  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated
  > .elementor-element-de725a1 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .elementor-element-de725a1 #menu_main {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  #menu_main.sc_layouts_menu_nav > li > a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* Header repair: keep the mobile logo and title on one row and set the requested control spacing. */
@media (max-width: 767px) {
  .elementor-element-fc144bb > .elementor-container {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    width: 100% !important;
  }

  .elementor-element-fc144bb > .elementor-container > .elementor-element-9b5a1fa {
    flex: 0 0 36% !important;
    width: 36% !important;
    max-width: 36% !important;
    min-width: 0 !important;
  }

  .elementor-element-fc144bb > .elementor-container > .elementor-element-bb3e91d {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  .elementor-element-bb3e91d > .elementor-widget-wrap.elementor-element-populated,
  .elementor-element-bb3e91d .elementor-widget-container {
    padding-left: 0 !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    justify-content: flex-end !important;
    gap: 30px !important;
  }
}

/* Header repair: add 20px vertical breathing room on mobile. */
@media (max-width: 767px) {
  .elementor-element-2f2b1d8 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}


/* Header repair: use the available left space at notebook widths and keep About Us on one line. */
@media (min-width: 1024px) and (max-width: 1100px) {
  .elementor-element-706f404 {
    flex: 0 0 44% !important;
    width: 44% !important;
    max-width: 44% !important;
  }

  .elementor-element-6e84b34 {
    flex: 0 0 56% !important;
    width: 56% !important;
    max-width: 56% !important;
  }

  .elementor-element-6e84b34 > .elementor-widget-wrap.elementor-element-populated {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #menu_main.sc_layouts_menu_nav > li {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  #menu_main.sc_layouts_menu_nav > li > a {
    white-space: nowrap !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}


/* Header repair: add breathing room above and below the logo on desktop. */
@media (min-width: 768px) {
  .elementor-element-2f2b1d8 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}
