/* Header Styles - Epic Deals */
:root {
  --header-height-large: 120px;
  --header-height-small: 80px;
  --header-bg-glass: rgba(10, 10, 10, 0.95);
}

.header {
    background: #0A0A0A;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--header-height-large);
    display: flex;
    align-items: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.header.scrolled {
    height: var(--header-height-small);
    background: var(--header-bg-glass);
    backdrop-filter: blur(10px);
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.logo {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    color: white;
}

.logo-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #D94A3E 0%, #FF6B57 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.2rem;
}

.logo-text {
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #D94A3E 0%, #FF6B57 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nav-menu {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.nav-link {
    color: white;
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.3s ease;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}

.nav-link:hover {
    color: #FF6B57;
    background: rgba(255, 107, 87, 0.1);
}

.nav-link.active {
    color: #D94A3E;
    background: rgba(217, 74, 62, 0.1);
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: #D94A3E;
    border-radius: 50%;
}

.header-cta {
    background: linear-gradient(135deg, #D94A3E 0%, #FF6B57 100%);
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.header-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 74, 62, 0.3);
}

.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.5rem;
}

/* Dropdown Styles */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.dropdown-toggle .fa-chevron-down {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.dropdown:hover .dropdown-toggle .fa-chevron-down {
    transform: rotate(180deg);
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #0A0A0A;
    min-width: 220px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1001;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item {
    display: block;
    padding: 0.75rem 1.5rem;
    color: white;
    text-decoration: none;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.dropdown-item:hover {
    background: rgba(255, 107, 87, 0.1);
    color: #FF6B57;
    border-left-color: #D94A3E;
}

.dropdown-item.active {
    background: rgba(217, 74, 62, 0.1);
    color: #D94A3E;
    border-left-color: #D94A3E;
}

/* Mobile Navigation */
@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }
    
    .nav-menu {
        position: fixed;
        top: var(--header-height-large);
        left: 0;
        right: 0;
        background: #0A0A0A;
        flex-direction: column;
        padding: 2rem;
        gap: 1rem;
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        border-radius: 0 0 20px 20px;
        z-index: 1000;
    }
    
    .nav-menu.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .nav-link {
        width: 100%;
        text-align: center;
        padding: 1rem;
        justify-content: center;
    }
    
    .header-cta {
        width: 100%;
        text-align: center;
        margin-top: 1rem;
    }
    
    /* Mobile Dropdown */
    .dropdown {
        width: 100%;
    }
    
    .dropdown-menu {
        position: static;
        background: rgba(255, 255, 255, 0.05);
        box-shadow: none;
        border: none;
        border-radius: 8px;
        margin-top: 0.5rem;
        padding: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    
    .dropdown.active .dropdown-menu {
        max-height: 300px;
    }
    
    .dropdown-item {
        padding: 0.75rem 1rem;
        padding-left: 2rem;
    }
    
    .dropdown-toggle .fa-chevron-down {
        transition: transform 0.3s ease;
    }
    
    .dropdown.active .dropdown-toggle .fa-chevron-down {
        transform: rotate(180deg);
    }
}
/* ===== HEADER OVERLAP FIX ===== */
/* Fixed header positioning */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--header-height-large);
  z-index: 9999;
  background: #0A0A0A;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
  transition: height 0.3s ease, background 0.3s ease;
}

.header.scrolled {
  height: var(--header-height-small);
}

/* Push main content down below fixed header */
main, .main-content, [data-main-content] {
  padding-top: var(--header-height-large);
}

/* Reset H1 margins and add scroll margin for anchor links */
h1 {
  margin-top: 0;
  scroll-margin-top: calc(var(--header-height-large) + 20px);
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
  .header {
    height: var(--header-height-large);
  }
  
  .header.scrolled {
    height: var(--header-height-small);
  }
  
  main, .main-content, [data-main-content] {
    padding-top: var(--header-height-large);
  }
  
  h1 {
    scroll-margin-top: calc(var(--header-height-large) + 20px);
  }
}

/* Ensure skip navigation link works with fixed header */
.skip-nav {
  position: absolute;
  top: -40px;
  left: 0;
  background: #D94A3E;
  color: white;
  padding: 8px 16px;
  text-decoration: none;
  z-index: 10000;
  border-radius: 0 0 4px 0;
}

.skip-nav:focus {
  top: 0;
}

/* ============================================
   WCAG 2.1 AA CONTRAST COMPLIANCE FIXES - Header
   Applied: 2026-03-19
   ============================================
   - header-cta white on gradient(#D94A3E→#FF6B57): 4.20:1 / 2.80:1  FAIL
   - skip-nav white on #D94A3E: 4.20:1  FAIL (normal-sized text)
   FIX: Use compliant gradient (#9B2335→#C0392B), white text = 7.82:1 / 5.44:1 PASS
   ============================================ */

.header-cta {
    background: linear-gradient(135deg, #9B2335 0%, #C0392B 100%);
    color: #ffffff;
}

.header-cta:hover {
    box-shadow: 0 8px 25px rgba(139, 28, 28, 0.35);
}

/* skip-nav fix */
.skip-nav {
    background: #9B2335;
}

/* Logo gradient text — decorative branding, not body text, exempt from 4.5:1 */
/* nav-link active #D94A3E on #0A0A0A = 4.71:1 PASS — no change needed */
/* nav-link hover #FF6B57 on #0A0A0A = 7.06:1 PASS — no change needed */
