/* 
 * Hero Section CSS
 * Contains all styles for the hero component
 */

/* Hero Container */
.hero {
    position: relative;
    padding: var(--spacing-xxl) var(--spacing-lg);
    border-radius: var(--radius-xl);
    margin-bottom: var(--spacing-xl);
    color: var(--text-light);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    background: linear-gradient(
        rgba(113, 131, 115, 0.5),
        rgba(53, 73, 57, 0.473)
    ),
    url('https://wallpapercave.com/wp/wp12815922.jpg') no-repeat center center;
    background-size: cover;
}


/* Hero Grid Layout */
.hero-wrapper {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: var(--spacing-lg);
    align-items: center;
    position: relative;
    z-index: 2;
}

/* Hero Content */
.hero-content {
    position: relative;
    z-index: var(--z-normal);
}

.hero h1 {
    font-family: var(--font-primary);
    font-size: var(--font-size-hero);
    margin-bottom: var(--spacing-md);
    font-weight: 700; /* Preahvihear looks better without heavy weight */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    animation: fadeInDown var(--transition-normal);
    line-height: var(--line-height-tight);
    letter-spacing: 0.02em;
    -webkit-text-stroke: 1px var(--text-light); /* Added stroke for extra boldness */
    color: var(--text-light);
}

.hero p {
    font-family: var(--font-primary);
    font-size: var(--font-size-xxl);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-xl);
    max-width: 600px;
    animation: fadeInUp var(--transition-normal);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    font-weight: 600;
}

/* Hero Decorative Elements */
.hero-icon {
    position: absolute;
    top: var(--spacing-lg);
    right: var(--spacing-lg);
    width: 120px;
    height: 120px;
    opacity: 0.2;
    transition: transform var(--transition-normal);
}

.hero:hover .hero-icon {
    transform: rotate(10deg) scale(1.1);
}

/* Hero Background Elements */
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(
        circle at top right,
        rgba(255, 255, 255, 0.1),
        transparent 60%
    );
    z-index: var(--z-back);
}

/* Hero Animations */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hero Media Objects */
.hero-media {
    position: relative;
    z-index: var(--z-normal);
}

.hero-image {
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    transform: perspective(1000px) rotateY(-5deg);
    transition: transform var(--transition-normal);
}

.hero:hover .hero-image {
    transform: perspective(1000px) rotateY(0deg);
}

/* Hero Call-to-Action */
.hero-cta {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
    animation: fadeInUp var(--transition-normal) 0.2s;
}

/* Hero Background Patterns */
.hero-pattern {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: radial-gradient(circle at 2% 5%, rgba(255, 255, 255, 0.1) 0%, transparent 10%),
                      radial-gradient(circle at 98% 95%, rgba(255, 255, 255, 0.1) 0%, transparent 10%);
    opacity: 0.5;
    z-index: var(--z-back);
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
    .hero {
        padding: var(--spacing-xl) var(--spacing-md);
    }

    .hero h1 {
        font-size: calc(var(--font-size-hero) * 0.9);
    }
}

@media (max-width: 992px) {
    .hero-wrapper {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero-content {
        order: 1;
    }

    .hero-media {
        order: 2;
        max-width: 80%;
        margin: 0 auto;
    }

    .hero p {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-cta {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .hero {
        padding: var(--spacing-lg) var(--spacing-md);
        margin-bottom: var(--spacing-lg);
    }

    .hero h1 {
        font-size: var(--font-size-xxl);
        font-weight: 700;
        -webkit-text-stroke: 0.5px var(--text-light);
    }

    .hero p {
        font-size: var(--font-size-md);
    }

    .hero-icon {
        width: 80px;
        height: 80px;
    }

    .hero-media {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .hero {
        padding: var(--spacing-lg) var(--spacing-sm);
        border-radius: var(--radius-lg);
    }

    .hero h1 {
        font-size: calc(var(--font-size-xxl) * 0.9);
    }

    .hero-cta {
        flex-direction: column;
    }

    .hero-icon {
        display: none;
    }
}

/* Touch Device Optimizations */
@media (hover: none) {
    .hero-image {
        transform: none;
    }

    .hero:hover .hero-image {
        transform: none;
    }
}