/**
 * PB Framework - Home Template
 *
 * Section components for homepage layout.
 * Requires: global.css (design tokens)
 *
 * Sections:
 * - Hero: Featured article + secondary articles grid
 * - Store: Product grid with category navigation
 * - Colony: Academy courses + membership
 * - Seasonal: Timely content with image overlay
 * - Newsletter: Email signup
 *
 * NOTE: @layer removed - CSS layers have lower specificity than unlayered CSS,
 * causing framework styles to be overridden. Class-based scoping provides
 * sufficient isolation without specificity issues.
 */

/* ============================================
   HERO SECTION: DARK PANEL UNDER IMAGE
   ============================================ */
.hero-section {
        background: var(--color-bg-primary);
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: var(--space-12) 0;
    }

    .hero-grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr;
        gap: var(--space-16);
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 var(--space-8);
    }

    /* Hero Article - Dark Panel Below */
    .hero-article {
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    }

    .hero-image {
        overflow: hidden;
    }

    .hero-image img {
        width: 100%;
        aspect-ratio: 16/9;
        object-fit: cover;
        display: block;
    }

    .hero-content {
        background: var(--color-bg-dark);
        padding: var(--space-10);
        color: var(--color-bg-primary);
    }

    .hero-category {
        display: inline-block;
        font-size: var(--text-sm);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.15em;
        color: var(--color-text-primary);
        background: var(--color-primary);
        padding: var(--space-3) var(--space-5);
        margin-bottom: var(--space-5);
    }

    .hero-title {
        font-family: var(--font-serif);
        font-size: var(--text-5xl);
        font-weight: 800;
        line-height: var(--leading-tight);
        letter-spacing: 0.02em;
        margin: 0 0 var(--space-6);
        color: var(--color-bg-primary);
    }

    .hero-title a {
        color: inherit;
        text-decoration: none;
        transition: color var(--transition);
    }

    .hero-title a:hover {
        color: var(--color-primary);
    }

    .hero-excerpt {
        font-size: var(--text-md);
        line-height: var(--leading-relaxed);
        color: #ffffff !important;
        margin-bottom: var(--space-6);
    }

    .hero-meta {
        font-size: var(--text-sm);
        color: rgba(255, 255, 255, 0.85);
        font-weight: 600;
    }

    .hero-meta-author {
        font-weight: 800;
        color: var(--color-bg-primary);
    }

    /* Secondary Articles - 2x2 Grid */
    .article-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-6);
    }

    .list-article {
        background: var(--color-bg-primary);
        border: 2px solid var(--color-bg-tertiary);
        border-radius: 8px;
        overflow: hidden;
        transition: all var(--transition);
    }

    .list-article:hover {
        border-color: var(--color-primary-hover);
        box-shadow: 0 4px 16px rgba(0,0,0,0.12);
        transform: translateY(-2px);
    }

    .list-image img {
        width: 100%;
        aspect-ratio: 16/9;
        object-fit: cover;
        display: block;
    }

    .list-content {
        padding: var(--space-5);
    }

    .list-category {
        display: inline-block;
        font-size: var(--text-xs);
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--color-primary-hover);
        margin-bottom: var(--space-3);
        display: block;
    }

    .list-title {
        font-family: var(--font-sans);
        font-size: var(--text-xl);
        font-weight: 900;
        line-height: var(--leading-snug);
        margin: 0 0 var(--space-3);
        color: var(--color-text-primary);
    }

    .list-title a {
        color: inherit;
        text-decoration: none;
        transition: color var(--transition);
    }

    .list-title a:hover {
        color: var(--color-primary-dark);
    }

    .list-meta {
        font-size: var(--text-sm);
        color: var(--color-text-tertiary);
        font-weight: 600;
    }

    /* Responsive Layout */

    /* Tablet (1024px and below): Primary wraps on top, Secondary below but maintains 2-column grid */
    @media (max-width: 1024px) {
        .hero-grid {
            grid-template-columns: 1fr;
            gap: var(--space-12);
        }

        /* Secondary articles maintain 2-column grid on tablet */
        .article-list {
            grid-template-columns: 1fr 1fr;
            gap: var(--space-6);
        }

        .list-title {
            font-size: var(--text-lg);
        }
    }

    /* Mobile (768px and below): Everything single column */
    @media (max-width: 768px) {
        .hero-title {
            font-size: var(--text-4xl);
        }

        /* Secondary articles collapse to single column on mobile */
        .article-list {
            grid-template-columns: 1fr;
            gap: var(--space-6);
        }

        .list-title {
            font-size: var(--text-md);
        }
    }

    /* ============================================
       STORE SECTION: SEASONAL PRODUCTS
       ============================================ */
    .store-section {
        /* Use darker gray for better contrast with hero section */
        background: rgb(240, 240, 240);
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: var(--space-20) 0;
    }

    .store-container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 var(--space-8);
    }

    .store-header {
        text-align: center;
        margin-bottom: var(--space-12);
    }

    .store-season {
        font-family: var(--font-sans);
        font-size: var(--text-sm);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.15em;
        color: var(--color-primary-dark);
        margin-bottom: var(--space-4);
    }

    .store-title {
        font-family: var(--font-serif);
        font-size: var(--text-5xl);
        font-weight: 800;
        line-height: var(--leading-tight);
        color: var(--color-text-primary);
        margin: 0 0 var(--space-5);
    }

    .store-subtitle {
        font-size: var(--text-lg);
        color: var(--color-text-secondary);
        line-height: var(--leading-relaxed);
        max-width: 700px;
        margin: 0 auto;
    }

    .product-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: var(--space-8);
        margin-bottom: var(--space-12);
    }

    .product-card {
        background: var(--color-bg-primary);
        border: 2px solid var(--color-bg-tertiary);
        border-radius: 8px;
        overflow: hidden;
        transition: all var(--transition);
        display: flex;
        flex-direction: column;
    }

    .product-card:hover {
        border-color: var(--color-primary-hover);
        box-shadow: 0 6px 20px rgba(0,0,0,0.12);
        transform: translateY(-3px);
    }

    .product-image {
        position: relative;
        overflow: hidden;
        background: var(--color-bg-primary);
    }

    .product-image img {
        width: 100%;
        aspect-ratio: 1/1;
        object-fit: cover;
        display: block;
    }

    .product-badge {
        position: absolute;
        top: var(--space-4);
        left: var(--space-4);
        background: var(--color-primary);
        color: var(--color-text-primary);
        font-size: var(--text-xs);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        padding: var(--space-2) var(--space-4);
        border-radius: 4px;
    }

    .product-content {
        padding: var(--space-6);
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .product-category {
        font-size: var(--text-xs);
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--color-primary-dark);
        margin-bottom: var(--space-3);
    }

    .product-title {
        font-family: var(--font-sans);
        font-size: var(--text-xl);
        font-weight: 800;
        line-height: var(--leading-snug);
        color: var(--color-text-primary);
        margin: 0 0 var(--space-4);
        flex: 1;
    }

    .product-title a {
        color: inherit;
        text-decoration: none;
        transition: color var(--transition);
    }

    .product-title a:hover {
        color: var(--color-primary-dark);
    }

    .product-price {
        font-size: var(--text-lg);
        font-weight: 700;
        color: var(--color-text-primary);
        margin-bottom: var(--space-5);
    }

    .product-button {
        background: var(--color-text-primary);
        color: var(--color-bg-primary);
        font-size: var(--text-sm);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        padding: var(--space-4) var(--space-5);
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: all var(--transition);
        text-align: center;
        text-decoration: none;
        display: block;
    }

    .product-button:hover {
        background: var(--color-primary-dark);
        transform: translateY(-1px);
    }

    .store-categories {
        display: flex;
        justify-content: center;
        gap: var(--space-4);
        flex-wrap: wrap;
        margin-bottom: var(--space-12);
    }

    .category-pill {
        font-size: var(--text-sm);
        font-weight: 700;
        color: var(--color-text-secondary);
        background: var(--color-bg-primary);
        border: 2px solid var(--color-bg-tertiary);
        padding: var(--space-3) var(--space-6);
        border-radius: 24px;
        text-decoration: none;
        transition: all var(--transition);
    }

    .category-pill:hover {
        border-color: var(--color-primary-hover);
        background: var(--color-primary);
        color: var(--color-text-primary);
    }

    .store-cta {
        text-align: center;
    }

    .store-cta-button {
        display: inline-block;
        font-family: var(--font-sans);
        font-size: var(--text-lg);
        font-weight: 800;
        color: var(--color-bg-primary);
        background: var(--color-bg-dark);
        padding: var(--space-5) var(--space-12);
        border-radius: 6px;
        text-decoration: none;
        transition: all var(--transition);
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .store-cta-button:hover {
        background: var(--color-primary-dark);
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,0.2);
    }

    @media (max-width: 1024px) {
        .product-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: var(--space-6);
        }

        .store-title {
            font-size: var(--text-4xl);
        }
    }

    @media (max-width: 768px) {
        .product-grid {
            grid-template-columns: 1fr;
            gap: var(--space-6);
        }

        .store-title {
            font-size: var(--text-3xl);
        }

        .product-title {
            font-size: var(--text-lg);
        }

        .store-categories {
            gap: var(--space-3);
        }
    }

    /* ============================================
       COLONY SECTION: ACADEMY-FIRST MEMBERSHIP
       ============================================ */
    .colony-v2-section {
        background: var(--color-bg-primary);
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: var(--space-20) 0;
    }

    .colony-v2-container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 var(--space-8);
    }

    .colony-v2-header {
        text-align: center;
        margin-bottom: var(--space-20);
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }

    .colony-v2-badge {
        font-family: var(--font-sans);
        font-size: var(--text-xs);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.15em;
        color: var(--color-bg-primary);
        background: var(--color-primary-dark);
        padding: var(--space-2) var(--space-5);
        border-radius: 4px;
        display: inline-block;
        margin-bottom: var(--space-5);
    }

    .colony-v2-title {
        font-family: var(--font-serif);
        font-size: var(--text-6xl);
        font-weight: 800;
        line-height: var(--leading-tight);
        color: var(--color-text-primary);
        margin: 0 0 var(--space-5);
    }

    .colony-v2-subtitle {
        font-size: var(--text-xl);
        color: var(--color-text-secondary);
        line-height: var(--leading-relaxed);
        margin: 0;
    }

    /* Academy Feature - Compact Header */
    .academy-feature {
        margin-bottom: var(--space-12);
    }

    .academy-intro {
        text-align: center;
        margin-bottom: var(--space-12);
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
    }

    .academy-feature-title {
        font-family: var(--font-serif);
        font-size: var(--text-5xl);
        font-weight: 800;
        line-height: var(--leading-tight);
        color: var(--color-text-primary);
        margin: 0 0 var(--space-4);
    }

    .academy-feature-description {
        font-size: var(--text-lg);
        color: var(--color-text-secondary);
        line-height: var(--leading-relaxed);
        margin: 0;
    }

    /* Course Grid */
    .academy-courses {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-8);
        margin-bottom: var(--space-12);
    }

    .academy-course {
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        min-height: 380px;
        display: flex;
        align-items: flex-end;
        background-size: cover;
        background-position: center;
        transition: all var(--transition);
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

    .academy-course:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    }

    /* Course-specific background images */
    .academy-course-1 {
        background-image: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%),
                          url('https://www.perfectbee.com/wp-content/uploads/2025/04/BeeonYellowFlowerPollenBaskets.jpg');
    }

    .academy-course-2 {
        background-image: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%),
                          url('https://www.perfectbee.com/wp-content/uploads/2025/05/KelleFrymireLysonHive-2of4.jpeg');
    }

    .academy-course-3 {
        background-image: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%),
                          url('https://www.perfectbee.com/wp-content/uploads/2025/05/BroodFramewithQueenCells-Nic2021.jpg');
    }

    .course-overlay {
        padding: var(--space-8);
        width: 100%;
    }

    .course-title {
        font-family: var(--font-sans);
        font-size: var(--text-2xl);
        font-weight: 800;
        color: #ffffff;
        margin: 0 0 var(--space-5);
        line-height: var(--leading-snug);
        /* Stronger shadow for better readability over varied image backgrounds */
        text-shadow: 0 2px 12px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9);
    }

    .course-sections {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .course-sections li {
        font-size: var(--text-base);
        color: #ffffff;
        line-height: var(--leading-relaxed);
        padding: var(--space-2) 0;
        /* Stronger shadow matching course title */
        text-shadow: 0 1px 6px rgba(0,0,0,0.8), 0 1px 2px rgba(0,0,0,0.9);
        position: relative;
        padding-left: var(--space-6);
    }

    .course-sections li:before {
        content: "•";
        position: absolute;
        left: 0;
        color: var(--color-primary);
        font-weight: 800;
    }

    /* Secondary Benefits - Professional, text-focused */
    .colony-v2-secondary-wrapper {
        margin-bottom: var(--space-16);
    }

    .colony-v2-secondary-header {
        text-align: center;
        margin-bottom: var(--space-8);
    }

    .secondary-benefits-title {
        font-family: var(--font-sans);
        font-size: var(--text-3xl);
        font-weight: 800;
        color: var(--color-text-primary);
        margin: 0;
    }

    .colony-v2-secondary {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-8);
        padding: var(--space-8);
        background: var(--color-bg-secondary);
        border-radius: 8px;
    }

    .colony-v2-benefit {
        padding: var(--space-6);
        border-left: 3px solid var(--color-primary-hover);
        background: var(--color-bg-primary);
        border-radius: 4px;
        transition: all var(--transition);
    }

    .colony-v2-benefit:hover {
        border-left-color: var(--color-primary-dark);
        transform: translateX(4px);
    }

    .benefit-v2-icon {
        display: none; /* Remove cartoony emoji icons */
    }

    .benefit-v2-title {
        font-family: var(--font-sans);
        font-size: var(--text-xl);
        font-weight: 800;
        line-height: var(--leading-snug);
        color: var(--color-text-primary);
        margin: 0 0 var(--space-3);
    }

    .benefit-v2-description {
        font-size: var(--text-base);
        color: var(--color-text-secondary);
        line-height: var(--leading-relaxed);
        margin: 0;
    }

    /* Colony V2 CTA */
    .colony-v2-cta {
        text-align: center;
        background: var(--color-bg-dark);
        padding: var(--space-16) var(--space-8);
        border-radius: 12px;
    }

    .colony-v2-cta-title {
        font-family: var(--font-serif);
        font-size: var(--text-4xl);
        font-weight: 800;
        color: var(--color-bg-primary) !important;
        margin: 0 0 var(--space-5);
        /* Text shadow for contrast on dark background */
        text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }

    .colony-v2-cta-subtitle {
        font-size: var(--text-lg);
        color: rgba(255, 255, 255, 0.9) !important;
        line-height: var(--leading-relaxed);
        max-width: 600px;
        margin: 0 auto var(--space-8);
    }

    .colony-v2-cta-button {
        display: inline-block;
        font-family: var(--font-sans);
        font-size: var(--text-lg);
        font-weight: 800;
        color: var(--color-text-primary);
        background: var(--color-primary);
        padding: var(--space-6) var(--space-16);
        border-radius: 6px;
        text-decoration: none;
        transition: all var(--transition);
        text-transform: uppercase;
        letter-spacing: 0.05em;
    }

    .colony-v2-cta-button:hover {
        background: var(--color-primary-hover);
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(244, 197, 66, 0.4);
    }

    /* Responsive Colony V2 */
    @media (max-width: 1024px) {
        .academy-courses {
            grid-template-columns: 1fr;
            gap: var(--space-6);
        }

        .colony-v2-secondary {
            grid-template-columns: 1fr;
            gap: var(--space-6);
        }

        .colony-v2-title {
            font-size: var(--text-5xl);
        }

        .colony-v2-subtitle {
            font-size: var(--text-lg);
        }

        .academy-feature-title {
            font-size: var(--text-4xl);
        }

        .secondary-benefits-title {
            font-size: var(--text-2xl);
        }

        .colony-v2-cta-title {
            font-size: var(--text-3xl);
        }
    }

    @media (max-width: 768px) {
        .colony-v2-title {
            font-size: var(--text-4xl);
        }

        .colony-v2-subtitle {
            font-size: var(--text-base);
        }

        .academy-feature-title {
            font-size: var(--text-3xl);
        }

        .academy-feature-description {
            font-size: var(--text-base);
        }

        .course-title {
            font-size: var(--text-xl);
        }

        .course-sections li {
            font-size: var(--text-sm);
        }

        .secondary-benefits-title {
            font-size: var(--text-xl);
        }

        .benefit-v2-title {
            font-size: var(--text-lg);
        }

        .colony-v2-cta-title {
            font-size: var(--text-2xl);
        }

        .colony-v2-cta-button {
            font-size: var(--text-base);
            padding: var(--space-5) var(--space-10);
        }
    }

    /* ============================================
       SEASONAL/TIMELY CONTENT
       Full-width background image with centered overlay
       ============================================ */
    .seasonal-section {
        background: var(--color-bg-primary);
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: 0;
    }

    .seasonal-hero {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    .seasonal-image {
        position: relative;
        height: 650px;
        overflow: hidden;
    }

    .seasonal-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .seasonal-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.7));
        display: flex;
        align-items: center;
        justify-content: center;
        padding: var(--space-8) 0;
    }

    .seasonal-content {
        text-align: center;
        color: var(--color-bg-primary);
        max-width: 700px;
        padding: var(--space-8);
    }

    .seasonal-badge {
        font-family: var(--font-sans);
        font-size: var(--text-sm);
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--color-bg-dark);
        background: var(--color-primary);
        padding: var(--space-3) var(--space-6);
        border-radius: 4px;
        display: inline-block;
        margin-bottom: var(--space-6);
    }

    .seasonal-title {
        font-family: var(--font-sans);
        font-size: 64px;
        font-weight: 900;
        line-height: 1.1;
        color: var(--color-bg-primary);
        margin: 0 0 var(--space-6);
        letter-spacing: -0.01em;
        /* Text shadow as fallback when background image fails to load */
        text-shadow: 0 3px 15px rgba(0,0,0,0.9), 0 2px 5px rgba(0,0,0,0.95);
    }

    .seasonal-subtitle {
        font-size: var(--text-xl);
        color: var(--color-bg-primary) !important;
        line-height: var(--leading-relaxed);
        margin: 0 0 var(--space-10);
        font-weight: 400;
        /* Text shadow for readability */
        text-shadow: 0 2px 10px rgba(0,0,0,0.8), 0 1px 3px rgba(0,0,0,0.9);
    }

    .seasonal-cta {
        font-family: var(--font-sans);
        display: inline-block;
        padding: var(--space-6) var(--space-12);
        background: var(--color-primary);
        color: var(--color-secondary);
        font-size: var(--text-lg);
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        text-decoration: none;
        border-radius: 4px;
        transition: all 0.3s ease;
    }

    .seasonal-cta:hover {
        background: var(--color-primary-hover);
        color: var(--color-secondary);
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(244, 196, 66, 0.4);
    }

    /* Responsive */
    @media (max-width: 1024px) {
        .seasonal-title {
            font-size: 48px;
        }
    }

    @media (max-width: 768px) {
        .seasonal-image {
            height: 500px;
        }

        .seasonal-title {
            font-size: 36px;
        }
    }

    /* ============================================
       NEWSLETTER SECTION: STAY INFORMED
       ============================================ */
    .newsletter-section {
        background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
        width: 100vw;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        padding: var(--space-20) 0;
    }

    .newsletter-content {
        text-align: center;
        max-width: 700px;
        margin: 0 auto;
        padding: 0 var(--space-8);
    }

    .newsletter-content h2 {
        font-family: var(--font-serif);
        font-size: var(--text-5xl);
        font-weight: 800;
        color: var(--color-bg-dark);
        margin: 0 0 var(--space-5);
    }

    .newsletter-content p {
        font-size: var(--text-lg);
        color: var(--color-bg-dark);
        opacity: 0.9;
        line-height: var(--leading-relaxed);
        margin: 0 auto var(--space-8);
    }

    .newsletter-form {
        display: flex;
        gap: var(--space-4);
        max-width: 500px;
        margin: 0 auto;
    }

    .newsletter-form input {
        flex: 1;
        padding: var(--space-5) var(--space-6);
        border: 2px solid rgba(0, 0, 0, 0.1);
        border-radius: 6px;
        font-size: var(--text-base);
        font-family: var(--font-sans);
    }

    .newsletter-form input:focus {
        outline: none;
        border-color: var(--color-bg-dark);
    }

    .newsletter-form button {
        padding: var(--space-5) var(--space-8);
        background: var(--color-bg-dark);
        color: var(--color-bg-primary);
        border: none;
        border-radius: 6px;
        font-family: var(--font-sans);
        font-size: var(--text-base);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        cursor: pointer;
        transition: all var(--transition);
    }

    .newsletter-form button:hover {
        background: var(--color-text-primary);
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    }

    @media (max-width: 768px) {
        .newsletter-content h2 {
            font-size: var(--text-4xl);
        }

        .newsletter-form {
            flex-direction: column;
        }

        .newsletter-form button {
            width: 100%;
        }
}
