/* ============================================
   Global Header Styles
   ============================================ */

/* #header-wrapper - Root container for the entire header */
#header-wrapper {
  z-index: 99999;
}

/* ============================================
   Z-Index Management
   ============================================ */
.wdt-popup-box-window {
  z-index: 999999 !important;
}

.fancybox-container {
  z-index: 9999999 !important;
}

/* ============================================
   Menu Styles
   ============================================ */

/* Menu Items - Remove default arrow indicators */
.menu-item-has-children>a::before {
  content: none !important;
  display: none !important;
}

/* Mobile Menu */
.mobile-menu {
  z-index: 999999;
}

.mobile-menu ul li.current-menu-item>a {
  background: none;
  color: #FFF;
  font-family: Futura, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 450;
  line-height: 32px;
}

.mobile-menu ul li.current-menu-item.current_page_item>a {
  background: #fd642f !important;
  color: #000 !important;
}

.mobile-menu-overlay {
  z-index: 99999;
}

.uava-pink--page .elementor-menu-cart--items-indicator-bubble .elementor-menu-cart__toggle_button .elementor-button-icon .elementor-button-icon-qty[data-counter]{
    background-color: #FBA5D7;
}
.uava-pink--page .wdt-header-menu .wdt-primary-nav > li:hover > a{
    color: #FBA5D7;
}
.uava-pink--page .wdt-header-menu ul li ul:not(.menu-item-object-wdt_mega_menus ul){
  background: linear-gradient(135deg, #FBA5D7, #FFDAF0);
}

.uava-pink--page .mobile-menu ul li.menu-item > a:hover, .uava-pink--page .mobile-menu ul li.menu-item:hover > a, .uava-pink--page .mobile-menu ul li.current-menu-item > a{
  background-color: #FBA5D7;
}
/* ============================================
   Notification Bar Styles - #uava-notification-bar
   Structure: section.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-container
   ============================================ */

#uava-notification-bar {
  /* Hide default Elementor pseudo-elements */
  ::before,
  ::after {
    display: none;
  }

  /* .elementor-container - Inner container for notification bar content */
  > .elementor-container {
    margin: 0;
    z-index: 20;
    width: 100%;
    max-width: 100%;
    height: 36px;
    background: #EFB273;
    transition: max-width .3s;

    body.uava-pink--page & {
      background: #F4BCDC;
    }

    @media (min-width: 768px) {
      height: 46px;
    }

    /* .elementor-widget-wrap - Widget container wrapper */
    .elementor-widget-wrap {
      align-content: start;

      /* .elementor-widget-container - Individual widget container */
      .elementor-widget-container {
        
        /* .wdt-animation-holder - Animation wrapper element */
        .wdt-animation-holder {
          position: absolute;
          top: 5px;

          @media (min-width: 768px) {
            top: 10px;
          }

          /* .wdt-animation-wrapper > .wdt-animation-item - Individual animated text items */
          .wdt-animation-wrapper {
            .wdt-animation-item {
              padding-top: 0;
              padding-bottom: 0;

              color: #1B1B1B;
              font-family: Futura, sans-serif;
              font-size: 13.4px;
              font-style: normal;
              font-weight: 500;
              line-height: 26px;

              @media (min-width: 768px) {
                font-size: 14px;
              }
            }
          }
        }
      }
    }
  }
}

/* ============================================
   Main Header Container - #uava-header
   Structure: .elementor-element.e-con (container) > .e-con (inner sections) > widgets
   ============================================ */

#uava-header {
  z-index: 10;

  /* #uava-charity-icons-for-cart - Hidden charity icons used for cart drawer */
  #uava-charity-icons-for-cart {
    display: none !important;
    position: absolute;
    top: -500px;
    right: -500px;
  }

  /* #uava-cart-drawer - WooCommerce cart drawer widget
     Structure: .elementor-widget > .elementor-widget-container > .elementor-menu-cart__wrapper
  */
  #uava-cart-drawer {
    margin: 0;

    /* #elementor-menu-cart__toggle_button - Cart icon/toggle button */
    #elementor-menu-cart__toggle_button {
      margin-top: 0;
      padding-top: 20px;
      padding-right: 0;
      padding-bottom: 20px;
    }

    /* .elementor-menu-cart__container - Cart drawer overlay container */
    .elementor-menu-cart__container {
      width: 100vw !important;
      width: -webkit-fill-available !important;
      width: 100dvw !important;
      height: 100vh !important;
      height: -webkit-fill-available !important;
      height: 100dvh !important;
      overflow-x: visible !important;

      /* .elementor-menu-cart__main - Main cart content panel */
      .elementor-menu-cart__main {
        padding: 16px !important;
        width: 343px;

        /* .elementor-menu-cart__close-button - Close button for cart drawer */
        .elementor-menu-cart__close-button {
          position: absolute;
          top: 16px;
          right: 16px;
          margin: 0;
          padding: 5px;
          width: 24px;
          height: 24px;
          display: flex;
          justify-content: center;
          align-items: center;

          &::before {
            position: static;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M13.3002 0.709995C13.2077 0.617291 13.0978 0.543744 12.9768 0.493562C12.8559 0.443381 12.7262 0.417551 12.5952 0.417551C12.4643 0.417551 12.3346 0.443381 12.2136 0.493562C12.0926 0.543744 11.9827 0.617291 11.8902 0.709995L7.00022 5.58999L2.11022 0.699995C2.01764 0.607413 1.90773 0.533973 1.78677 0.483868C1.6658 0.433763 1.53615 0.407974 1.40522 0.407974C1.27429 0.407974 1.14464 0.433763 1.02368 0.483868C0.902716 0.533973 0.792805 0.607413 0.700223 0.699995C0.607642 0.792576 0.534202 0.902487 0.484097 1.02345C0.433992 1.14442 0.408203 1.27406 0.408203 1.40499C0.408203 1.53593 0.433992 1.66557 0.484097 1.78654C0.534202 1.9075 0.607642 2.01741 0.700223 2.10999L5.59022 6.99999L0.700223 11.89C0.607642 11.9826 0.534202 12.0925 0.484097 12.2135C0.433992 12.3344 0.408203 12.4641 0.408203 12.595C0.408203 12.7259 0.433992 12.8556 0.484097 12.9765C0.534202 13.0975 0.607642 13.2074 0.700223 13.3C0.792805 13.3926 0.902716 13.466 1.02368 13.5161C1.14464 13.5662 1.27429 13.592 1.40522 13.592C1.53615 13.592 1.6658 13.5662 1.78677 13.5161C1.90773 13.466 2.01764 13.3926 2.11022 13.3L7.00022 8.40999L11.8902 13.3C11.9828 13.3926 12.0927 13.466 12.2137 13.5161C12.3346 13.5662 12.4643 13.592 12.5952 13.592C12.7262 13.592 12.8558 13.5662 12.9768 13.5161C13.0977 13.466 13.2076 13.3926 13.3002 13.3C13.3928 13.2074 13.4662 13.0975 13.5163 12.9765C13.5665 12.8556 13.5922 12.7259 13.5922 12.595C13.5922 12.4641 13.5665 12.3344 13.5163 12.2135C13.4662 12.0925 13.3928 11.9826 13.3002 11.89L8.41022 6.99999L13.3002 2.10999C13.6802 1.72999 13.6802 1.08999 13.3002 0.709995Z" fill="black"/></svg>') no-repeat center center;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            width: 13.184px;
            height: 13.184px;
            display: block;
            transform: rotate(0);
          }

          &::after {
            display: none;
          }
        }

        /* h3.uava-cart-header - Cart header title */
        h3.uava-cart-header {
          margin: 0;
          color: #000;
          font-family: Futura, sans-serif;
          font-size: 16px;
          font-style: normal;
          font-weight: 700;
          line-height: 24px;
        }

        /* div.uava-free-shipping - Free shipping banner */
        div.uava-free-shipping {
          display: flex;
          align-items: center;
          gap: 10px;

          width: calc(100% + 32px);
          margin-top: 16px;
          margin-right: -16px;
          margin-bottom: 16px;
          margin-left: -16px;
          padding: 8px 16px;

          border-top: 0.5px solid #34A853;
          border-bottom: 0.5px solid #34A853;
          background: rgba(52, 168, 83, 0.06);

          span {
            color: #34A853;
            text-align: center;
            font-family: Futura, sans-serif;
            font-size: 12px;
            font-style: normal;
            font-weight: 500;
            line-height: 14px;

            svg {
              width: 40px;
              height: 40px;
            }
          }
        }

        /* div.widget_shopping_cart_content .cart_item - Individual cart item
           Structure: .widget_shopping_cart_content > .elementor-menu-cart__products > .cart_item */
        div.widget_shopping_cart_content .cart_item {
          column-gap: 16px;
          grid-template-columns: 60px calc(100% - 76px);
          padding-right: 0;

          /* .product-thumbnail - Product image */
          .product-thumbnail {
            width: 60px;
            height: 60px;
            flex-shrink: 0;
            aspect-ratio: 1/1;
          }

          /* .product-name - Product title */
          .product-name {
            padding-left: 0;

            color: #1B1B1B;
            font-family: Futura, sans-serif;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 16px;
            margin-right: 22px;
          }

          /* .product-price - Product price and quantity */
          .product-price {
            padding-left: 0;

            color: #666;
            font-family: Futura, sans-serif;
            font-size: 14px;
            font-style: normal;
            font-weight: 500;
            line-height: 24px;

            .quantity {
              display: flex;
              justify-content: space-between;
              margin: 0;
            }
          }

          /* .product-remove - Remove product button */
          .product-remove {
            border: none;

            a {
              opacity: 1;

              &::before {
                content: '';
                display: inline-block;
                width: 20px;
                height: 20px;
                background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M7.5 2.5H12.5M2.5 5H17.5M15.8333 5L15.2489 13.7661C15.1612 15.0813 15.1174 15.7389 14.8333 16.2375C14.5833 16.6765 14.206 17.0294 13.7514 17.2497C13.235 17.5 12.5759 17.5 11.2578 17.5H8.74221C7.42409 17.5 6.76503 17.5 6.24861 17.2497C5.79396 17.0294 5.41674 16.6765 5.16665 16.2375C4.88259 15.7389 4.83875 15.0813 4.75107 13.7661L4.16667 5M8.33333 8.75V12.9167M11.6667 8.75V12.9167" stroke="%23666666" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center;
                background-size: contain;
                vertical-align: middle;
              }
            }

            &::before {
              display: none;
            }

            &::after {
              display: none;
            }
          }
        }
      }

      /* .elementor-menu-cart__subtotal - Cart subtotal (hidden) */
      .elementor-menu-cart__subtotal {
        display: none;
      }

      /* .elementor-menu-cart__footer-buttons - Cart footer with buttons and payment info */
      .elementor-menu-cart__footer-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        padding: 0;
        margin: auto 0 0 0;

        /* a:first-of-type - View cart button (hidden) */
        a:first-of-type {
          display: none;
        }

        /* .uava-charities-info - Charity information section */
        .uava-charities-info {
          position: relative;
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 8px;

          width: 100%;
          margin-bottom: 16px;
          padding: 16px;

          border-radius: 8px;
          background: #F5F5F5;

          &::after {
            content: '';
            position: absolute;
            bottom: -16px;
            left: -16px;
            display: block;
            width: calc(100% + 32px);
            height: 1px;
            background: #e0e0e0;
            margin: 0;
          }

          /* .uava-charities-text - Charity text label */
          .uava-charities-text {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;

            color: #000;
            text-align: center;
            font-family: Futura, sans-serif;
            font-size: 14px;
            font-style: normal;
            font-weight: 700;
            line-height: 24px;
          }

          /* .uava-charity-icons - Container for charity logos */
          .uava-charity-icons {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            gap: 10px;
          }
        }

        /* a.elementor-button - Checkout button */
        a.elementor-button {
          width: 100%;
          margin: 0;
          padding: 15.5px 0;
          border-radius: 20px;
          background: linear-gradient(270deg, #FD642F 0%, #E1FFB5 100%);

          color: #000;

          body.uava-pink--page & {
            background: linear-gradient(270deg, rgb(251, 165, 215) 0%, rgb(255, 218, 240) 100%);
          }
        }

        /* .uava-secure-payment - Secure payment information section */
        .uava-secure-payment {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 8px;
          align-self: stretch;

          /* .uava-credit-card-icons - Credit card logos container */
          .uava-credit-card-icons {
            display: flex;
            align-items: flex-start;
            gap: 8px;

            /* .credit-card-icon - Individual credit card logo */
            .credit-card-icon {
              display: flex;
              width: 38px;
              height: 24px;
              aspect-ratio: 19/12;

              svg {
                display: flex;
                width: 38px;
                height: 24px;
                aspect-ratio: 19/12;
              }
            }
          }

          /* .uava-secure-text - Secure payment text and icon */
          .uava-secure-text {
            display: flex;
            align-items: center;
            gap: 8px;

            color: #000;
            font-family: Futura, sans-serif;
            font-size: 10px;
            font-style: normal;
            font-weight: 500;
            line-height: 16px;

            svg {
              margin: 0;
              width: 12px;
              height: 12px;
              aspect-ratio: 1/1;
            }
          }
        }
      }
    }
  }

  /* Sticky header state - removes top margin when active */
  &.elementor-sticky--active #uava-inner-section {
    margin-top: 0;
  }
}

/* ============================================
   Elementor Editor Mode Overrides
   ============================================ */

/* Show charity icons when editing in Elementor */
.elementor-editor-active #uava-header #uava-charity-icons-for-cart {
  display: block !important;
  position: relative;
  top: 0;
  right: 0;
}

/* ============================================
   Responsive Styles - Tablet & Desktop
   ============================================ */

@media screen and (min-width: 768px) {
  /* Cart drawer adjustments for tablet+ */
  #uava-header #uava-cart-drawer .elementor-menu-cart__container {
    width: 100%;

    .elementor-menu-cart__main {
      padding: 16px 24px !important;
      width: 520px;

      .elementor-menu-cart__close-button {
        top: 16px;
        right: 24px;
      }

      div.uava-free-shipping {
        width: calc(100% + 48px);
        margin-left: -24px;
        margin-right: -24px;
        padding: 8px 24px;

        span {
          font-size: 14px;
          line-height: 16px;
        }
      }

      div.widget_shopping_cart_content .cart_item {
        row-gap: 16px;
        grid-template-columns: 80px calc(100% - 96px);
        padding-right: 0;

        .product-thumbnail {
          width: 80px;
          height: 80px;
          flex-shrink: 0;
          aspect-ratio: 1/1;
        }

        .product-name {
          padding-left: 0;
          font-size: 16px;
        }

        .product-price {
          padding-left: 0;
          font-size: 16px;
        }
      }
    }

    .elementor-menu-cart__footer-buttons {
      .uava-charities-info {
        flex-direction: row;
        align-items: center;
        padding: 16px 24px;

        &::after {
          left: -24px;
          width: calc(100% + 48px);
        }
      }

      .uava-secure-payment .uava-secure-text {
        font-size: 12px;
        line-height: 22px;
      }
    }
  }

  /* Desktop menu styling for current menu items */
  #uava-header .wdt-header-menu .wdt-primary-nav > li[class*=current] > a {
    color: #FFF;
    font-family: Futura, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 450;
    line-height: 32px;
  }

  /* Desktop menu styling for current page item */
  #uava-header .wdt-header-menu .wdt-primary-nav > li[class*=current_page_item] > a {
    color: #fd642f !important;
  }
}

/* ============================================
   Header Spacing for Non-Homepage
   ============================================ */

/* Add top margin for non-homepage to account for fixed header */
body:not(.home) {
  #main {
    margin-top: 68px;

    @media (min-width: 1281px) {
      margin-top: 110px;
    }

    @media (min-width: 1541px) {
      margin-top: 116px;
    }
  }
}

/* ============================================
   Template-Specific Styles - page-template-page-uava-default
   Structure: body.page-template > .inner-wrapper > #header-wrapper > #header
   ============================================ */

body.page-template-page-uava-default {
  .inner-wrapper {

    /* #header-wrapper - Positioned container for fixed header */
    #header-wrapper {
      margin: 0;
      position: relative;
      z-index: 1000;

      /* #uava-header - Fixed header with notification bar offset */
      #uava-header {
        position: fixed;
        top: 0;
        left: 0;
        padding-top: 36px;

        z-index: 10;
        width: 100%;

        background: rgba(27, 27, 27, 0.80);
        backdrop-filter: blur(8px);

        /* Improve rendering on iOS */
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;

        /* Smooth transition for padding changes */
        transition: padding-top 0.3s ease-out;

        /* Main Elementor container within header */
        > .elementor-container {
          /* Widget wrapper containing header sections */
          .elementor-widget-wrap {
            /* Inner header section - adjust vertical padding */
            section.elementor-section {
              margin: 0;
              padding: 6px 0 !important;

              @media (min-width: 768px) {
                padding: 16.5px 0 !important;
              }
            }
          }
        }

        @media (min-width: 768px) {
          padding-top: 46px;
        }
      }
    }
  }

  /* ============================================
     Sticky Header State Modifier
     When page is scrolled past notification bar
     ============================================ */
  &.uava-sticky-header {
    .inner-wrapper {
      #header-wrapper {
        #uava-header {
          padding-top: 0;
        }
      }
    }
  }

  /* ============================================
     Cart Drawer Opened State
     Adjusts notification bar width when cart is open
     ============================================ */
  &.uava-cart-drawer-opened {
    .inner-wrapper {
      #header-wrapper {
        #uava-notification-bar {
          .elementor-container {
            overflow: hidden;
            max-width: calc(100% - 343px);

            @media (min-width: 768px) {
              max-width: calc(100% - 520px);
            }
          }
        }
      }
    }
  }
}