/**
 * FSP Hero Section Styles
 * Hero section with gradient background and CTA
 *
 * @package Free_Style_Products
 */

/* ==========================================================================
   Hero Section
   ========================================================================== */

.hero-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: linear-gradient(135deg, var(--hw-dark) 0%, var(--hw-dark-secondary) 50%, var(--hw-dark-tertiary) 100%);
    overflow: hidden;
    padding-top: 80px;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 80%, rgba(44, 198, 77, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(44, 198, 77, 0.08) 0%, transparent 50%);
    pointer-events: none;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="0.5"/></pattern></defs><rect fill="url(%23grid)" width="100" height="100"/></svg>');
    opacity: 0.5;
    pointer-events: none;
}

.hero-content {
    text-align: center;
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}

.hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 800;
    margin-bottom: 25px;
    line-height: 1.1;
    background: linear-gradient(135deg, var(--hw-white) 0%, var(--hw-light-gray) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: var(--hw-gray-lighter);
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero-cta {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.hero-cta .btn {
    padding: 15px 35px;
    font-weight: 600;
    font-size: 1.1rem;
}

.moq-badge {
    display: inline-block;
    background: rgba(44, 198, 77, 0.15);
    border: 1px solid var(--hw-primary);
    padding: 12px 30px;
    border-radius: 50px;
    color: var(--hw-primary);
    font-weight: 600;
    font-size: 0.95rem;
}

/* Responsive */
@media (max-width: 767.98px) {
    .hero-content {
        padding: 0 15px;
    }

    .hero-cta {
        flex-direction: column;
        align-items: center;
    }

    .hero-cta .btn {
        width: 100%;
        max-width: 300px;
    }
}

@media (max-width: 575.98px) {
    .hero-title {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .moq-badge {
        padding: 10px 20px;
        font-size: 0.85rem;
    }
}
