/* ==========================================================================
   BRITISH DRAGON — MODERN LUXURY HEADER & NAVIGATION ANIMATIONS
   Universal header across all pages: Desktop, Tablet & Mobile responsive
   ========================================================================== */

/* 1. STICKY HEADER & FROSTED GLASS FOUNDATION
   -------------------------------------------------------------------------- */
header[data-elementor-type="header"],
header.elementor,
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: rgba(7, 8, 12, 0.92) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.5) !important;
  transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              backdrop-filter 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              padding 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Luminous Laser Bottom Accent Line */
header[data-elementor-type="header"]::after,
header.elementor::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 2px !important;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(225, 29, 72, 0.85) 20%, 
    rgba(212, 160, 23, 0.9) 50%, 
    rgba(37, 99, 235, 0.85) 80%, 
    transparent 100%
  ) !important;
  background-size: 200% 100% !important;
  animation: bd-header-laser 7s ease-in-out infinite alternate !important;
  pointer-events: none !important;
  opacity: 0.9 !important;
  transition: opacity 0.35s ease !important;
}

@keyframes bd-header-laser {
  0% {
    background-position: 0% 50%;
    opacity: 0.7;
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 6px rgba(225, 29, 72, 0.7));
  }
  100% {
    background-position: 100% 50%;
    opacity: 0.7;
  }
}

/* --------------------------------------------------------------------------
   HERO TRANSPARENT HEADER (Home, Shop, Research Supplies, Contact)
   Transparent in hero section only: No background, No bottom border, No laser line
   -------------------------------------------------------------------------- */
body.home header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.home header.elementor:not(.bd-header-scrolled),
body.page-id-11 header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.page-id-11 header.elementor:not(.bd-header-scrolled),
body.woocommerce-shop header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.woocommerce-shop header.elementor:not(.bd-header-scrolled),
body.page-id-3581 header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.page-id-3581 header.elementor:not(.bd-header-scrolled),
body.page-id-182 header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.page-id-182 header.elementor:not(.bd-header-scrolled),
body.page-id-158 header[data-elementor-type="header"]:not(.bd-header-scrolled),
body.page-id-158 header.elementor:not(.bd-header-scrolled) {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

body.home header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.home header.elementor:not(.bd-header-scrolled)::after,
body.page-id-11 header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.page-id-11 header.elementor:not(.bd-header-scrolled)::after,
body.woocommerce-shop header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.woocommerce-shop header.elementor:not(.bd-header-scrolled)::after,
body.page-id-3581 header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.page-id-3581 header.elementor:not(.bd-header-scrolled)::after,
body.page-id-182 header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.page-id-182 header.elementor:not(.bd-header-scrolled)::after,
body.page-id-158 header[data-elementor-type="header"]:not(.bd-header-scrolled)::after,
body.page-id-158 header.elementor:not(.bd-header-scrolled)::after {
  display: none !important;
  opacity: 0 !important;
}

/* --------------------------------------------------------------------------
   SCROLLED COMPACT HEADER STATE (Activates when scrolling past hero section)
   -------------------------------------------------------------------------- */
header.bd-header-scrolled {
  background: rgba(4, 5, 8, 0.96) !important;
  backdrop-filter: blur(28px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(200%) !important;
  border-bottom: 1px solid rgba(225, 29, 72, 0.35) !important;
  box-shadow: 0 12px 35px -10px rgba(0, 0, 0, 0.85), 0 0 25px rgba(225, 29, 72, 0.15) !important;
}

header.bd-header-scrolled::after {
  display: block !important;
  opacity: 0.9 !important;
}

header.bd-header-scrolled .elementor-element-88a5157 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  transition: padding 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 2. BRAND LOGO SIZING (DESKTOP)
   -------------------------------------------------------------------------- */
header .elementor-widget-image {
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

header .elementor-widget-image a {
  display: inline-block !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

header .elementor-widget-image img {
  height: 66px !important;
  max-height: 66px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  filter: drop-shadow(0 0 0px transparent);
}

header.bd-header-scrolled .elementor-widget-image img {
  height: 60px !important;
  max-height: 60px !important;
  width: auto !important;
}

header .elementor-widget-image a:hover img {
  transform: scale(1.03) translateY(-1px);
  filter: drop-shadow(0 0 12px rgba(225, 29, 72, 0.5));
}

/* 3. NAVIGATION MENU (DESKTOP)
   -------------------------------------------------------------------------- */
header .elementor-nav-menu--main .elementor-item,
header .elementor-nav-menu--main .elementor-item:before,
header .elementor-nav-menu--main .elementor-item:after,
header .e--pointer-framed .elementor-item:before,
header .e--pointer-framed .elementor-item:after {
  border: none !important;
  box-shadow: none !important;
}

header .elementor-nav-menu--main {
  display: flex !important;
  align-items: center !important;
}

header .elementor-nav-menu--main ul.elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

header .elementor-nav-menu--main .elementor-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  color: #cbd5e1 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

header .elementor-nav-menu--main .elementor-item::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent) !important;
  transition: left 0.5s ease !important;
  pointer-events: none !important;
}

header .elementor-nav-menu--main .elementor-item:hover::before {
  left: 100% !important;
}

header .elementor-nav-menu--main .elementor-item:hover,
header .elementor-nav-menu--main .elementor-item:focus {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4), 0 0 16px rgba(225, 29, 72, 0.25) !important;
}

header .elementor-nav-menu--main .elementor-item.elementor-item-active,
header .elementor-nav-menu--main .current-menu-item:not(.menu-item-home-hash) > a.elementor-item {
  color: #ffffff !important;
  font-weight: 600 !important;
  background: linear-gradient(135deg, rgba(225, 29, 72, 0.22), rgba(15, 17, 26, 0.9)) !important;
  border-color: rgba(225, 29, 72, 0.55) !important;
  box-shadow: 0 0 16px rgba(225, 29, 72, 0.3) !important;
}

header .elementor-nav-menu--main .elementor-item.elementor-item-active::after,
header .elementor-nav-menu--main .current-menu-item:not(.menu-item-home-hash) > a.elementor-item::after {
  content: '' !important;
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  margin-left: 8px !important;
  background: #e11d48 !important;
  border-radius: 50% !important;
  box-shadow: 0 0 8px #e11d48 !important;
  animation: bd-dot-pulse 2s infinite alternate !important;
}

@keyframes bd-dot-pulse {
  from { opacity: 0.5; transform: scale(0.85); }
  to { opacity: 1; transform: scale(1.15); box-shadow: 0 0 12px #e11d48; }
}

/* 4. USER ACCOUNT ICON (DESKTOP ONLY)
   -------------------------------------------------------------------------- */
header .elementor-widget-icon .elementor-icon-wrapper a.elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  backdrop-filter: blur(8px) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

header .elementor-widget-icon .elementor-icon-wrapper a.elementor-icon svg {
  width: 19px !important;
  height: 19px !important;
  fill: #cbd5e1 !important;
  transition: all 0.3s ease !important;
}

header .elementor-widget-icon .elementor-icon-wrapper a.elementor-icon:hover {
  background: rgba(225, 29, 72, 0.2) !important;
  border-color: rgba(225, 29, 72, 0.65) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4), 0 0 20px rgba(225, 29, 72, 0.35) !important;
}

header .elementor-widget-icon .elementor-icon-wrapper a.elementor-icon:hover svg {
  fill: #ffffff !important;
  transform: scale(1.08) !important;
}

/* 5. WOOCOMMERCE MENU CART PILL (DESKTOP)
   -------------------------------------------------------------------------- */
header .elementor-menu-cart__toggle.elementor-button-wrapper,
header .elementor-menu-cart__toggle {
  display: inline-flex !important;
  align-items: center !important;
}

header .elementor-menu-cart__toggle_button.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, rgba(22, 24, 34, 0.95), rgba(12, 13, 20, 0.98)) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  color: #f8fafc !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.02em !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35) !important;
}

header .elementor-menu-cart__toggle_button .elementor-button-text {
  color: #f8fafc !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.02em !important;
}

header .elementor-menu-cart__toggle_button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

header .elementor-menu-cart__toggle_button .elementor-button-icon svg {
  width: 19px !important;
  height: 19px !important;
  fill: #cbd5e1 !important;
  transition: transform 0.3s ease, fill 0.3s ease !important;
}

header .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #e11d48, #be123c) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  box-shadow: 0 0 10px rgba(225, 29, 72, 0.6) !important;
  animation: bd-badge-pulse 2.5s infinite alternate !important;
}

@keyframes bd-badge-pulse {
  from { box-shadow: 0 0 8px rgba(225, 29, 72, 0.5); }
  to { box-shadow: 0 0 16px rgba(225, 29, 72, 0.85); }
}

header .elementor-menu-cart__toggle_button:hover,
header .elementor-menu-cart__toggle_button:focus {
  background: linear-gradient(135deg, rgba(32, 28, 40, 0.98), rgba(18, 16, 26, 1)) !important;
  border-color: rgba(225, 29, 72, 0.65) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.5), 0 0 22px rgba(225, 29, 72, 0.35) !important;
}

header .elementor-menu-cart__toggle_button:hover .elementor-button-icon {
  transform: rotate(-10deg) scale(1.15) !important;
}

header .elementor-menu-cart__toggle_button:hover .elementor-button-icon svg {
  fill: #ffffff !important;
}

/* 6. UNIVERSAL MOBILE & TABLET RESPONSIVENESS (All Pages: Product, Shop, Guides, Home, etc.)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* HIDE USER/PROFILE ICON COMPLETELY ON PHONE & TABLET */
  header .elementor-widget-icon,
  header .elementor-element-8159cc4,
  header .elementor-element-ed02095 {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Mobile parent container padding & alignment */
  header .elementor-element-11080d2 {
    padding: 10px 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  header.bd-header-scrolled .elementor-element-11080d2 {
    padding: 8px 16px !important;
  }

  header .elementor-element-11080d2 > .e-con-inner {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Flex row alignment on mobile — Logo on Left, Cart + Menu grouped tightly on Right */
  header .elementor-element-37ef8e9 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Mobile Logo: Crisp, prominent & larger (48px) */
  header .elementor-element-b1d85f0 {
    width: auto !important;
    flex: 0 1 auto !important;
    max-width: 58% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header .elementor-element-b1d85f0 a,
  header .elementor-element-b1d85f0 img,
  header.bd-header-scrolled .elementor-element-b1d85f0 img {
    display: block !important;
    height: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Cart Container on Mobile: Pushed directly to the right side next to Menu */
  header .elementor-element-b7e84e3 {
    width: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 0 !important;
  }

  /* Menu Icon Container on Mobile: Tightly paired with Cart (8px gap) */
  header .elementor-element-3e48ca6 {
    width: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 0 0 8px !important;
    padding: 0 !important;
  }

  /* Compact Professional Cart Button on Mobile */
  header .elementor-menu-cart__toggle_button.elementor-button {
    padding: 6px 13px !important;
    gap: 6px !important;
    font-size: 11.5px !important;
    border-radius: 999px !important;
  }

  header .elementor-menu-cart__toggle_button .elementor-button-icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  header .elementor-menu-cart__toggle_button .elementor-button-icon-qty {
    font-size: 10px !important;
    min-width: 17px !important;
    height: 17px !important;
    padding: 0 4px !important;
  }

  /* Professional Hamburger Button on Mobile */
  header .ekit-offcanvas-toggle-wraper a.ekit_navSidebar-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
  }

  header .ekit-offcanvas-toggle-wraper a.ekit_navSidebar-button svg,
  header .ekit-offcanvas-toggle-wraper a.ekit_navSidebar-button i {
    font-size: 18px !important;
    max-width: 20px !important;
    max-height: 20px !important;
  }

  header .ekit-offcanvas-toggle-wraper a.ekit_navSidebar-button:hover {
    background: rgba(225, 29, 72, 0.2) !important;
    border-color: rgba(225, 29, 72, 0.6) !important;
    transform: scale(1.05) !important;
    box-shadow: 0 0 15px rgba(225, 29, 72, 0.35) !important;
  }
}

/* Extra small screen adjustments (<= 400px) */
@media (max-width: 400px) {
  header .elementor-element-11080d2 {
    padding: 8px 12px !important;
  }
  header .elementor-element-b1d85f0 a,
  header .elementor-element-b1d85f0 img {
    height: 42px !important;
    max-height: 42px !important;
  }
  header .elementor-menu-cart__toggle_button.elementor-button {
    padding: 5px 10px !important;
    font-size: 11px !important;
  }
}

/* Offcanvas Drawer Backdrop & Container */
.ekit-sidebar-group.ekit-slide .ekit-overlay {
  background: rgba(4, 5, 8, 0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.ekit-sidebar-group.ekit-slide .ekit-sidebar-widget {
  background: rgba(9, 10, 16, 0.96) !important;
  backdrop-filter: blur(25px) !important;
  -webkit-backdrop-filter: blur(25px) !important;
  border-left: 1px solid rgba(225, 29, 72, 0.3) !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.8) !important;
}

.ekit-sidebar-group.ekit-slide .ekit_close-side-widget {
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 50% !important;
  color: #cbd5e1 !important;
  transition: all 0.25s ease !important;
}

.ekit-sidebar-group.ekit-slide .ekit_close-side-widget:hover {
  background: rgba(225, 29, 72, 0.25) !important;
  color: #ffffff !important;
  transform: rotate(90deg) !important;
}

/* 7. RESPONSIVE CONTAINER ALIGNMENT (DESKTOP)
   -------------------------------------------------------------------------- */
header .e-con-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
