/**
 * Hero.css - General Hero Section Heights & Basic Styling
 * Standardized hero dimensions for all content pages
 * Individual styling remains in each .content file
 * @version 1.0.0
 */

/* Base Hero Section - Viewport-based Heights */
section.brands-hero,
section.dailyjoy-hero,
section.luxovious-hero,
section.pikobello-hero,
section.oe-hero,
section.health-hero,
section.contact-hero,
section.doc-hero,
.hero-section {
    /* Default viewport height - scales with window size */
    min-height: 100vh;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hero Container Standardization - High specificity to prevent overrides */
section.brands-hero .container,
section.dailyjoy-hero .container,
section.luxovious-hero .container,
section.pikobello-hero .container,
section.oe-hero .container,
section.health-hero .container,
section.contact-hero .container,
section.doc-hero .container,
section.hero-section .container {
    position: relative !important;
    z-index: 2;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* Hero Content Centering */
.brands-hero .row,
.dailyjoy-hero .row,
.luxovious-hero .row,
.pikobello-hero .row,
.oe-hero .row,
.health-hero .row,
.hero-section .row {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: inherit;
}

/* Hero Content Wrapper */
.hero-content {
    text-align: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}

/* Pseudo-elements Base Positioning */
.brands-hero::before,
.brands-hero::after,
.dailyjoy-hero::before,
.dailyjoy-hero::after,
.luxovious-hero::before,
.luxovious-hero::after,
.pikobello-hero::before,
.pikobello-hero::after,
.oe-hero::before,
.oe-hero::after,
.health-hero::before,
.health-hero::after,
.hero-section::before,
.hero-section::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
}

/* Viewport-based Responsive Breakpoints */

/* Large viewports: Fixed 700px height for desktop */
@media (min-width: 1200px) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        min-height: 700px;
        height: 700px;
        max-height: 700px;
        padding: 40px 0;
    }
}

/* Medium viewports: Full height minus nav */
@media (max-width: 1199px) and (min-width: 900px) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        min-height: calc(100vh - var(--nav-height));
        height: calc(100vh - var(--nav-height));
        max-height: calc(100vh - var(--nav-height));
        padding: 30px 0;
    }
}

/* Small viewports: Compact layout */
@media (max-width: 899px) and (min-width: 600px) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        min-height: calc(100vh - var(--nav-height));
        padding: 20px 0;
    }
    
    section.brands-hero .container,
    section.dailyjoy-hero .container,
    section.luxovious-hero .container,
    section.pikobello-hero .container,
    section.oe-hero .container,
    section.health-hero .container,
    section.contact-hero .container,
    section.doc-hero .container,
    section.hero-section .container {
        padding: 0 20px !important;
    }
}

/* Very small viewports: Mobile-optimized */
@media (max-width: 599px) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        min-height: calc(100vh - var(--nav-height));
        padding: 15px 0;
    }
    
    section.brands-hero .container,
    section.dailyjoy-hero .container,
    section.luxovious-hero .container,
    section.pikobello-hero .container,
    section.oe-hero .container,
    section.health-hero .container,
    section.contact-hero .container,
    section.doc-hero .container,
    section.hero-section .container {
        padding: 0 15px !important;
    }
    
    .brands-hero .row,
    .dailyjoy-hero .row,
    .luxovious-hero .row,
    .pikobello-hero .row,
    .oe-hero .row,
    .health-hero .row,
    .contact-hero .row,
    .doc-hero .row,
    .hero-section .row {
        text-align: center;
    }
}

/* Ultra narrow viewports: Minimal layout */
@media (max-width: 400px) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        min-height: calc(100vh - var(--nav-height));
        padding: 10px 0;
    }
    
    section.brands-hero .container,
    section.dailyjoy-hero .container,
    section.luxovious-hero .container,
    section.pikobello-hero .container,
    section.oe-hero .container,
    section.health-hero .container,
    section.contact-hero .container,
    section.doc-hero .container,
    section.hero-section .container {
        padding: 0 10px !important;
    }
    
    .hero-content {
        max-width: 100%;
        padding: 0 10px;
    }
}

/* iOS Safari Specific Fixes */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 768px) {
        .brands-hero,
        .dailyjoy-hero,
        .luxovious-hero,
        .pikobello-hero,
        .oe-hero,
        .health-hero,
        .contact-hero,
        .doc-hero,
        section.hero-section {
            /* Fix for iOS Safari address bar, accounting for navigation height */
            min-height: calc(-webkit-fill-available - var(--nav-height)) !important; /* Navigation height for iOS Safari */
            height: auto !important; /* Allow content to determine height */
            max-height: none !important; /* Remove height constraint for iOS */
        }
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .brands-hero,
    .dailyjoy-hero,
    .luxovious-hero,
    .pikobello-hero,
    .oe-hero,
    .health-hero,
    .contact-hero,
    .doc-hero,
    .hero-section {
        /* Ensure crisp rendering on retina displays */
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
    }
}

/* Content-specific overrides (if needed) */
.brands-hero {
    /* Brands page can override alignment */
    align-items: center;
}

.health-hero {
    /* Health page specific adjustments */
    align-items: center;
}

.contact-hero {
    /* Contact page specific adjustments */
    align-items: center;
}

.doc-hero {
    /* Documentation page specific adjustments */
    align-items: center;
}

/* Desktop-specific styling for Luxovious and OE heroes */
@media (min-width: 900px) {
    /* Luxovious hero - center everything on desktop */
    .luxovious-hero {
        text-align: center;
    }
    
    .luxovious-hero .container,
    .luxovious-hero .row,
    .luxovious-hero .col-lg-12 {
        text-align: center;
    }
    
    .luxovious-hero .luxovious-logo-container,
    .luxovious-hero .luxovious-subtitle,
    .luxovious-hero .luxovious-mobile-buttons {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }
    
    /* OE hero - center everything and ensure white text */
    .oe-hero {
        text-align: center;
    }
    
    .oe-hero .container,
    .oe-hero .row,
    .oe-hero .col-lg-12 {
        text-align: center;
    }
    
    .oe-hero .luxovious-logo-container,
    .oe-hero .luxovious-mobile-buttons {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }
    
    .oe-hero .luxovious-subtitle {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
        color: white !important;
        opacity: 0.95 !important;
    }
}

/* Loading state - smooth transitions */
.brands-hero,
.dailyjoy-hero,
.luxovious-hero,
.pikobello-hero,
.oe-hero,
.health-hero,
.contact-hero,
.doc-hero,
.hero-section {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Accessibility & Performance */
@media (prefers-reduced-motion: reduce) {
    .brands-hero,
    .dailyjoy-hero,
    .luxovious-hero,
    .pikobello-hero,
    .oe-hero,
    .health-hero,
    .contact-hero,
    .doc-hero,
    .hero-section {
        transition: none;
    }
    
    .brands-hero *,
    .dailyjoy-hero *,
    .luxovious-hero *,
    .pikobello-hero *,
    .oe-hero *,
    .health-hero *,
    .contact-hero *,
    .doc-hero *,
    .hero-section * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Viewport resize handler - smooth transitions on window resize */
@media (prefers-reduced-motion: no-preference) {
    section.brands-hero,
    section.dailyjoy-hero,
    section.luxovious-hero,
    section.pikobello-hero,
    section.oe-hero,
    section.health-hero,
    section.contact-hero,
    section.doc-hero,
    .hero-section {
        transition: min-height 0.3s ease, padding 0.3s ease;
    }
}
