/* ================================================
   HENDOSHI - PAGE HERO BANNERS (Global)
   ================================================
   
   Global .page-hero styles used across ALL pages (except homepage).
   This includes audience-specific banners and layout.
   
   Note: Homepage hero carousel is in 4-sections/hero-homepage.css
   
   Load Order: After components, before features
   ================================================ */

/* ========================================
   GLOBAL PAGE HERO BANNER
   ======================================== */

/* Base page hero - used on products, vault, checkout, profile, etc. */
.page-hero {
    z-index: 10;
    position: relative;
    width: 100vw;
    margin: 0 calc(-50vw + 50%);
    padding: 0.5rem 0 1rem; /* No top padding - wrapper provides spacing from navbar */
    overflow: hidden;
    border-bottom: none;
    backdrop-filter: blur(10px);
    background: var(--bg-glass-light);

    /* Default banner for all page-hero sections */
    background-image: url("/static/images/page-hero-banners/all-page-banner.5ef130d7e6e7.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #0a0a0a;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* ========================================
   AUDIENCE-SPECIFIC BANNERS
   ======================================== */

/* Specific audience banners using data attributes */
.page-hero[data-banner="female"] {
    background-image: url("/static/images/page-hero-banners/female-banner.5746e94c4119.jpg");
}

.page-hero[data-banner="male"] {
    background-image: url("/static/images/page-hero-banners/male-banner.422716404b0c.jpg");
}

.page-hero[data-banner="unisex"] {
    background-image: url("/static/images/page-hero-banners/unissex-banner.e8aef598330b.jpg");
}

/* ========================================
   BANNER VARIANTS
   ======================================== */

/* Pages that explicitly don't want a banner */
.page-hero.no-banner {
    min-height: auto;
    background-image: none;
    background-color: transparent;
}

/* Background banner image (when present) - kept for backwards compatibility */
.page-hero.has-banner {
    min-height: 280px;
    border-bottom: none;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #0a0a0a;
}

/* ========================================
   OVERLAYS & EFFECTS
   ======================================== */

/* Default overlay for all page-hero sections */
.page-hero.has-banner::after,
.page-hero::after {
    z-index: 1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: -5px;
    left: 0;
    background: rgba(0, 0, 0, 0.65);
    content: "";
    pointer-events: none;
}

.page-hero.no-banner::after {
    display: none;
}

/* Animated gradient background */
.page-hero::before {
    z-index: 0;
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 20, 147, 0.1) 0%, transparent 70%);
    content: "";
    animation: page-hero-pulse 15s ease-in-out infinite;
    pointer-events: none;
}

.page-hero.has-banner::before {
    opacity: 0.5;
}

/* ========================================
   TYPOGRAPHY
   ======================================== */

.page-hero-title {
    z-index: 2;
    position: relative;
    /* Global gradient for all page-hero titles */
    background: linear-gradient(135deg, var(--neon-pink) 0%, var(--electric-yellow) 100%);
    font-weight: 900;
    font-size: 2.5rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.page-hero-subtitle {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 300;
    font-size: 1.3rem;
    letter-spacing: 1px;
}

/* ========================================
   Z-INDEX STACKING
   ======================================== */

/* Ensure all interactive elements in page-hero are above overlay */
.page-hero-subtitle,
.page-hero .btn,
.page-hero a,
.page-hero button,
.page-hero .pug-skull-branding,
.page-hero .container,
.page-hero .row,
.page-hero .col-12,
.page-hero .page-hero-title,
.page-hero .page-hero-subtitle,
.page-hero .checkout-hero-stat {
    z-index: 2;
    position: relative;
}

/* Mobile button stacking */
@media (max-width: 768px) {
    .page-hero {
        min-height: auto;
        padding: 0 0 1rem;
        margin-bottom: -2rem;
    }

    body .page-hero .d-flex {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
    }

    /* Exception: Keep stats/badges inline */
    body .page-hero .d-flex:has(.checkout-hero-stat) {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 1rem;
    }

    .page-hero .btn {
        width: 100%;
        max-width: 240px;
        padding: 0.5rem 1rem;
        font-size: 0.85rem;
    }

    .checkout-hero-stat {
        font-size: 0.85rem;
        white-space: nowrap;
    }

    .page-hero-title {
        font-size: 2rem;
    }

    .page-hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 0;
        padding-bottom: 0.2rem;
    }
}
