/* --- TABLE OF CONTENTS ---
1.  Global Settings & Variables
2.  Base & Typography
3.  Hero Section
4.  Floating Cards Animation
5.  Button Styling
6.  Footer Styling
7.  Responsive Media Queries
--------------------------- */

/* 1. GLOBAL SETTINGS & VARIABLES */
:root {
    /* Colors */
    --primary-color: #0d6efd;
    --secondary-color: #6c757d;
    --text-gradient-start: #8B4513;
    --text-gradient-end: #D2B48C;
    --button-gradient-start: #4E342E;
    --button-gradient-end: #A1887F;
    --background: #ece2c7;
    --text-dark: #333; /* Dark gray is easier on the eyes than pure black */

    /* Fonts */
    --font-primary: 'Poppins', sans-serif;

    /* Layout */
    --navbar-height: 61px;
}
*{
    box-sizing: border-box;
}

/* 2. BASE & TYPOGRAPHY */

/* Set core body defaults */
body {
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: 1.6;
    color: var(--text-dark);
    background-color: var(--background);
    overflow-x: hidden; /* Prevent horizontal scroll */
}

/* Fix potential horizontal scroll issues on html element as well */
html {
    overflow-x: hidden;
}

/* 2. Style the headings to create a clear hierarchy */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
}

/* Make H1 extra punchy for the main page title */
h1 {
    font-weight: 800; /* ExtraBold */
    font-size: 3.2rem; /* Large and in charge */
    letter-spacing: -0.02em; /* Slightly tighten the letters for a modern look */
}

/* H2 for major section titles */
h2 {
    font-weight: 700; /* Bold */
    font-size: 2.25rem;
}

/* H3 for sub-section titles */
h3 {
    font-weight: 600; /* SemiBold */
    font-size: 1.75rem;
}

/* H4 for smaller labels or group titles */
h4 {
    font-weight: 600; /* SemiBold */
    font-size: 1.25rem;
    text-transform: uppercase; /* Use uppercase to make it distinct */
    letter-spacing: 0.05em;  /* Add some space for a "label" feel */
}

/* H5 & H6 for minor details */
h5, h6 {
    font-weight: 500; /* Medium */
    font-size: 1rem;
}


/* 3. HERO SECTION */
.hero-section {
    /* min-height: 100vh; */
    padding-top: 20px;
    display: flex;
    align-items: center;
    background-color: var(--background);
    overflow: hidden; /* Contains the floating cards */
}

.gradient-text {
    background: linear-gradient(135deg, var(--text-gradient-start) 0%, var(--text-gradient-end) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 200%;
    animation: gradient-shift 3s ease infinite;
}

@keyframes gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.page-content{
    display: flex;
    justify-content:space-between;
    flex-direction: column;
    min-height: 100vh;

}


/* 4. FLOATING CARDS ANIMATION */
.hero-image-container {
    position: relative;
    height: 500px;
}

.floating-cards .card {
    position: absolute;
    border: none;
    border-radius: 1rem;
    width: 200px;
    animation: float 6s ease-in-out infinite;
}

.floating-card-1 { top: 5%; left: 20%; animation-delay: 0s; }
.floating-card-2 { top: 40%; right: 15%; animation-delay: 2s; }
.floating-card-3 { top: 70%; left: 25%; animation-delay: 4s; }

@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0); }
    50% { transform: translateY(-20px) rotate(2deg); }
}


/* 5. BUTTON STYLING */
.btn-gradient {
    background: linear-gradient(135deg, var(--button-gradient-start) 0%, var(--button-gradient-end) 100%);
    border: none;
    font-weight: 600;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-gradient:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(92, 64, 51, 0.5);
}

.btn-outline-primary {
    font-weight: 600;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: #fff !important;
}


/* 6. FOOTER STYLING */
footer {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.footer-link {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s, text-decoration 0.3s;
}

.footer-link:hover {
    color: #fff;
    text-decoration: underline;
}


/* 7. RESPONSIVE MEDIA QUERIES */
/* For tablets and smaller devices */
@media (max-width: 991.98px) {
    .hero-section {
        /* min-height: auto; */
        padding-top: 40px;
        padding-bottom: 60px;
        text-align: center;
    }
    .hero-section h1 {
        font-size: 3rem; /* Reduce font size on smaller screens */
    }
}
/* For mobile devices */
@media (max-width: 575.98px) {
    .hero-section h1 {
        font-size: 2.5rem;
    }

    .hero-section .lead {
        font-size: 1rem;
    }
    
    .btn-lg {
        width: 100%;
    }
}