﻿/* theme variables */

:root, :root.light, :root .light {
    --primary: #006699;
    --alternate: #fe860e;
    /* Light Mode Colors */
    --hero-bg-solid: #ffffff;
    --grad-1: rgba(0, 102, 153, 0.15); /* Stronger Primary Blue tint */
    --grad-2: rgba(254, 134, 14, 0.18); /* Stronger Alternate Orange tint */
    --text-h1: #006699;
    --text-p: #384248;
    --glow-opacity: 0.6; /* Higher for light mode to see the soft tints */
    --subtle-primary-bg: #F0F7FA;
}

/* dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --hero-bg-solid: #0b1727;
        --grad-1: rgba(0, 102, 153, 0.2); /* Faint Primary Blue */
        --grad-2: rgba(254, 134, 14, 0.15); /* Faint Alternate Orange */

        --text-h1: #ffffff; /* Readable light blue */
        --text-p: #94a3b8; /* Soft grey-blue */
        --glow-opacity: 1; /* Full opacity for the dark gradients */
        --subtle-primary-bg: #121e2d; /* Darker blue for subtle backgrounds */
    }
}

.hero-container {
    position: relative;
    padding: 80px 24px;
    overflow: hidden;
    transition: background 0.4s ease;
    background: radial-gradient(at 10% 10%, var(--grad-1) 0%, transparent 80%), radial-gradient(at 90% 90%, var(--grad-2) 0%, transparent 80%), var(--hero-bg-solid);
}

.hero-content h1 {
    font-size: 3rem;
    font-weight: bold;
    color: var(--text-h1);
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.hero-content p.lead {
    color: var(--text-p);
    font-size: 1.25rem;
    max-width: 700px;
    margin: 0 auto 40px;
    transition: color 0.3s ease;
}

.glow-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 10% 10%, var(--primary), transparent 40%), radial-gradient(circle at 90% 80%, var(--alternate), transparent 40%);
    opacity: 0.1;
    pointer-events: none;
}

.cta-box-bg {
    background: rgba(254, 134, 14, 0.1);
    color: #ffffff;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    border-radius: 1.375rem !important;
}

    .cta-box-bg:hover {
        transform: translateY(-3px);
        box-shadow: 0 15px 30px rgba(254, 134, 14, 0.3);
    }

[data-bs-theme="dark"] .cta-box-bg {
    background: rgba(254, 134, 14, 0.15);
    border-color: rgba(254, 134, 14, 0.5);
}

.card-bg-subtle-primary {
    background: var(--subtle-primary-bg);
}

.bg-bold-warm {
    /* LIGHT MODE: Fresh Peach */
    background: linear-gradient(135deg, #fff4e6 0%, #ffe8d1 100%);
    color: #006699;
    transition: all 0.4s ease;
}

[data-bs-theme="dark"] .bg-bold-warm {
    /* DARK MODE: Deep Burnt Orange / Chocolate */
    /* This keeps the "warmth" but makes it dark-mode safe */
    background: linear-gradient(135deg, #2d1a05 0%, #1a0f02 100%);
    color: #ff9a36; /* Poppy orange text */
    border: 1px solid rgba(254, 134, 14, 0.2);
}

.bg-bold-cool {
    background-color: rgba(0, 102, 153, 0.1);
    border-top: 1px solid var(--pp-blue);
    border-bottom: 1px solid var(--pp-blue);
}

.bg-cta-bold {
    background: linear-gradient(135deg, #006699 0%, #004A6F 100%);
    color: #ffffff;
    border-radius: 20px;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    margin-top: 4rem;
    box-shadow: 0 20px 40px rgba(0, 74, 111, 0.2);
}

    .bg-cta-bold::after {
        content: "";
        position: absolute;
        top: -20%;
        right: -10%;
        width: 300px;
        height: 300px;
        background: rgba(254, 134, 14, 0.1); 
        border-radius: 50%;
        filter: blur(60px);
    }

    .bg-cta-bold h2 {
        color: #ffffff !important;
        font-weight: 800;
    }

    .bg-cta-bold .lead {
        color: #d1e5f0;
    }

.btn-cta-poppy {
    background-color: #fe860e;
    border-color: #fe860e;
    color: white;
    font-weight: 700;
    padding: 12px 30px;
    transition: transform 0.2s ease;
}

    .btn-cta-poppy:hover {
        background-color: #e67600;
        transform: translateY(-2px);
        color: white;
    }

.btn-cta-outline {
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: white;
    font-weight: 600;
    padding: 12px 30px;
}

    .btn-cta-outline:hover {
        background: rgba(255, 255, 255, 0.1);
        border-color: white;
        color: white;
    }

[data-bs-theme="dark"] .bg-cta-bold {
    /* Slightly darker for full dark mode integration */
    background: linear-gradient(135deg, #002D44 0%, #0B1727 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.bg-cta-bold::after {
    pointer-events: none; 
}

.bg-cta-bold .col-lg-4 {
    position: relative;
    z-index: 10; 
}
