/* ============================================================
   Best Event Rentals — Unified Header Styles
   Snippet ID: 3772  |  v2.0.0
   Breakpoints: Desktop 1025px+ | Tablet 768–1024px | Mobile <768px
   ============================================================ */

/* ── CSS Variables ── */
:root {
  --ber-header-bg:        #ffffff;
  --ber-header-shadow:    0 2px 16px rgba(0,0,0,0.10);
  --ber-header-height-d:  80px;
  --ber-header-height-t:  70px;
  --ber-header-height-m:  60px;
  --ber-accent:           #e8392a;
  --ber-accent-hover:     #c42d1f;
  --ber-text:             #1a1a1a;
  --ber-text-light:       #555555;
  --ber-nav-link:         #1a1a1a;
  --ber-nav-link-hover:   #e8392a;
  --ber-transition:       0.25s ease;
  --ber-radius:           6px;
  --ber-font:             inherit;
}

/* ============================================================
   GLOBAL HEADER WRAPPER
   ============================================================ */
.elementor-location-header,
header.site-header,
#masthead {
  background: var(--ber-header-bg) !important;
  box-shadow: var(--ber-header-shadow) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  transition: box-shadow var(--ber-transition), background var(--ber-transition) !important;
}

/* Scrolled state — deeper shadow */
.elementor-sticky--active .elementor-location-header,
.elementor-sticky--active {
  box-shadow: 0 4px 24px rgba(0,0,0,0.14) !important;
}

/* Remove extra section padding */
.elementor-location-header .elementor-section,
.elementor-location-header .e-con {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

/* ============================================================
   DESKTOP  (1025px and above)
   ============================================================ */
@media (min-width: 1025px) {

  .elementor-location-header .elementor-container,
  .elementor-location-header .e-con-inner,
  .elementor-location-header .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--ber-header-height-d) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    gap: 24px !important;
  }

  /* Logo */
  .elementor-location-header .elementor-widget-site-logo,
  .elementor-location-header .elementor-widget-image:first-of-type {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-location-header .elementor-widget-site-logo img,
  .elementor-location-header .elementor-widget-image:first-of-type img {
    max-height: 56px !important;
    width: auto !important;
    display: block !important;
    transition: opacity var(--ber-transition) !important;
  }
  .elementor-location-header .elementor-widget-site-logo img:hover,
  .elementor-location-header .elementor-widget-image:first-of-type img:hover {
    opacity: 0.85 !important;
  }

  /* Nav menu — centered */
  .elementor-location-header .elementor-widget-nav-menu {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
  }
  .elementor-location-header .elementor-nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor-location-header .elementor-nav-menu > li > a,
  .elementor-location-header .elementor-nav-menu > li > .elementor-item {
    color: var(--ber-nav-link) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    padding: 8px 14px !important;
    border-radius: var(--ber-radius) !important;
    text-decoration: none !important;
    transition: color var(--ber-transition), background var(--ber-transition) !important;
    white-space: nowrap !important;
  }
  .elementor-location-header .elementor-nav-menu > li > a:hover,
  .elementor-location-header .elementor-nav-menu > li > .elementor-item:hover,
  .elementor-location-header .elementor-nav-menu > li.current-menu-item > a {
    color: var(--ber-accent) !important;
    background: rgba(232,57,42,0.07) !important;
  }

  /* Dropdown */
  .elementor-location-header .elementor-nav-menu .sub-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    min-width: 200px !important;
    background: #fff !important;
    border-radius: var(--ber-radius) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.13) !important;
    padding: 8px 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(6px) !important;
    transition: opacity var(--ber-transition), transform var(--ber-transition) !important;
    z-index: 100 !important;
  }
  .elementor-location-header .elementor-nav-menu li:hover > .sub-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  .elementor-location-header .elementor-nav-menu .sub-menu li a {
    display: block !important;
    padding: 10px 20px !important;
    color: var(--ber-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color var(--ber-transition), background var(--ber-transition) !important;
  }
  .elementor-location-header .elementor-nav-menu .sub-menu li a:hover {
    color: var(--ber-accent) !important;
    background: rgba(232,57,42,0.06) !important;
  }

  /* CTA Button */
  .elementor-location-header .elementor-widget-button {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .elementor-location-header .elementor-widget-button .elementor-button {
    background: var(--ber-accent) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ber-radius) !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    transition: background var(--ber-transition), transform var(--ber-transition), box-shadow var(--ber-transition) !important;
    box-shadow: 0 2px 8px rgba(232,57,42,0.25) !important;
    white-space: nowrap !important;
  }
  .elementor-location-header .elementor-widget-button .elementor-button:hover {
    background: var(--ber-accent-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(232,57,42,0.35) !important;
  }

  /* WooCommerce cart */
  .elementor-location-header .elementor-widget-woocommerce-menu-cart {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  /* Hide hamburger on desktop */
  .elementor-location-header .elementor-menu-toggle,
  .elementor-location-header .elementor-nav-menu--toggle {
    display: none !important;
  }
}

/* ============================================================
   TABLET  (768px – 1024px)
   ============================================================ */
@media (min-width: 768px) and (max-width: 1024px) {

  .elementor-location-header .elementor-container,
  .elementor-location-header .e-con-inner,
  .elementor-location-header .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--ber-header-height-t) !important;
    padding: 0 24px !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Logo */
  .elementor-location-header .elementor-widget-site-logo img,
  .elementor-location-header .elementor-widget-image:first-of-type img {
    max-height: 48px !important;
    width: auto !important;
    display: block !important;
  }

  /* Shrink nav links */
  .elementor-location-header .elementor-nav-menu > li > a,
  .elementor-location-header .elementor-nav-menu > li > .elementor-item {
    font-size: 13px !important;
    padding: 6px 10px !important;
    font-weight: 600 !important;
  }

  /* CTA button — compact */
  .elementor-location-header .elementor-widget-button .elementor-button {
    padding: 8px 16px !important;
    font-size: 13px !important;
  }

  /* Columns: no overflow */
  .elementor-location-header .elementor-column,
  .elementor-location-header .e-con {
    overflow: visible !important;
    min-height: unset !important;
  }

  /* Dropdown stays visible */
  .elementor-location-header .elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9998 !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
  }
}

/* ============================================================
   MOBILE  (up to 767px)
   ============================================================ */
@media (max-width: 767px) {

  /* Header bar */
  .elementor-location-header .elementor-container,
  .elementor-location-header .e-con-inner,
  .elementor-location-header .elementor-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--ber-header-height-m) !important;
    padding: 0 16px !important;
    gap: 0 !important;
    width: 100% !important;
    position: relative !important;
  }

  /* Logo — left */
  .elementor-location-header .elementor-widget-site-logo,
  .elementor-location-header .elementor-widget-image:first-of-type {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 10 !important;
  }
  .elementor-location-header .elementor-widget-site-logo img,
  .elementor-location-header .elementor-widget-image:first-of-type img {
    max-height: 42px !important;
    width: auto !important;
    display: block !important;
  }

  /* Hide desktop nav items & CTA on mobile */
  .elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main,
  .elementor-location-header .elementor-widget-button,
  .elementor-location-header .elementor-widget-text-editor,
  .elementor-location-header .elementor-widget-woocommerce-menu-cart {
    display: none !important;
  }

  /* Hamburger — right */
  .elementor-location-header .elementor-menu-toggle,
  .elementor-location-header .elementor-nav-menu--toggle {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--ber-radius) !important;
    background: rgba(232,57,42,0.08) !important;
    cursor: pointer !important;
    z-index: 10 !important;
    transition: background var(--ber-transition) !important;
  }
  .elementor-location-header .elementor-menu-toggle:hover,
  .elementor-location-header .elementor-nav-menu--toggle:hover {
    background: rgba(232,57,42,0.18) !important;
  }
  .elementor-location-header .elementor-menu-toggle i,
  .elementor-location-header .elementor-nav-menu--toggle i {
    color: var(--ber-accent) !important;
    font-size: 20px !important;
  }

  /* Mobile dropdown panel */
  .elementor-location-header .elementor-nav-menu--dropdown,
  .elementor-location-header .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: var(--ber-header-height-m) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    z-index: 9998 !important;
    border-top: 2px solid var(--ber-accent) !important;
    padding: 8px 0 16px !important;
  }

  /* Mobile nav links */
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
  .elementor-location-header .elementor-nav-menu--dropdown a {
    display: block !important;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--ber-text) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,0,0,0.05) !important;
    transition: color var(--ber-transition), background var(--ber-transition) !important;
  }
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--dropdown a:hover {
    color: var(--ber-accent) !important;
    background: rgba(232,57,42,0.05) !important;
  }

  /* Columns: no overflow */
  .elementor-location-header .elementor-column,
  .elementor-location-header .e-con {
    overflow: visible !important;
    min-height: unset !important;
    position: relative !important;
  }

  /* Widget wrap */
  .elementor-location-header .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
}

/* ── Extra-small (< 380px) ── */
@media (max-width: 380px) {
  .elementor-location-header .elementor-widget-site-logo img,
  .elementor-location-header .elementor-widget-image:first-of-type img {
    max-height: 36px !important;
  }
}
