/* General Styles */
body {
    font-family: 'Poppins', sans-serif;
    color: #333333; /* Dark grey for main text */
    background-color: #F8F4E3; /* Soft beige for background */

    line-height: 1.6;
    position: relative;

    &::before{
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        min-height: 100vh;
            background-image: url('media/pics/paper-texture.jpg'); /* Textured paper background */
    background-size: cover;
    background-attachment: fixed;
    opacity: 0.4;
    }
}

section{
    position: relative;
    z-index: 2;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    color: #2A6F97; /* Primary blue for headings */
}

a {
    color: #2A6F97; /* Primary blue for links */
    text-decoration: none;
}

a:hover {
    color: #1E5070; /* Slightly darker blue on hover */
    text-decoration: underline;
}

.text-primary-blue {
    color: #2A6F97 !important;
}

.bg-primary-blue {
    background-color: #2A6F97 !important;
}

.btn-primary {
    background-color: #2A6F97;
    border-color: #2A6F97;
    color: #fff;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
}

.btn-primary:hover {
    background-color: #1E5070;
    border-color: #1E5070;
}

.btn-outline-primary {
    color: #2A6F97;
    border-color: #2A6F97;
    background-color: transparent;
}

.btn-outline-primary:hover {
    background-color: #2A6F97;
    color: #fff;
}

.bg-light-beige {
    background-color: #EFEAD8 !important; /* Light beige accent */
}

.bg-light-khaki {
    background-color: #D9CBA3 !important; /* Light khaki accent */
}

.text-dark-grey {
    color: #333333 !important;
}

.card {
    border-radius: 0.75rem;
    overflow: hidden;
    background-color: #FFFFFF; /* Default card background */
}

.card-img-top {
    width: 100%;
    height: 200px; /* Consistent height for card images */
    object-fit: cover;
}

/* Header & Navigation */
.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    background-color: #F8F4E3 !important; /* Match body background */
}

.navbar-brand {
    font-size: 1.8rem;
    color: #2A6F97 !important;
}

.navbar-nav .nav-link {
    color: #333333;
    font-weight: 600;
    padding: 0.5rem 1rem;
    transition: none; /* No animations */
}

.navbar-nav .nav-link:hover {
    color: #2A6F97;
    background-color: transparent;
}

/* Hero Section */
.hero-section {
    background-color: #EFEAD8; /* Light beige for hero background */
    padding-top: 80px; /* Adjust for fixed header */
}

.hero-image {
    height: 550px; /* Fixed height for the hero image */
    object-fit: cover;
    width: 100%;
}

/* Categories Section */
.categories-section .category-btn {
    min-width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 0.75rem;
    margin: 0 0.5rem;
    transition: none; /* No animations */
}

.categories-section .category-btn:hover {
    transform: none; /* No animations */
}

/* News Grid Section */
.news-grid-section .featured-img {
    height: 450px;
    object-fit: cover;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}

.news-grid-section .small-img {
    height: 250px;
    object-fit: cover;
    object-position: top;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}

.news-grid-section .card {
    background-color: #FFFFFF; /* Default card background */
}

/* Content Sections (Activities, Routes, Workshops, Events, Community, Blog) */
.content-section {
    padding: 4rem 0;
}

.activity-card, .route-card, .workshop-card, .blog-card {
    background-color: #FFFFFF;
}

.activity-img, .route-img, .workshop-img, .blog-img {
    height: 180px; /* Consistent height for images in these sections */
    object-fit: cover;
}

.event-item {
    background-color: #FFFFFF;
    border: 1px solid #D9CBA3; /* Khaki border */
    border-radius: 0.5rem;
}

/* Newsletter Section */
.newsletter-section {
    background-color: #2A6F97;
    color: #FFFFFF;
    padding: 4rem 0;
}

.newsletter-section .form-control {
    border-radius: 0.5rem;
    border: 1px solid #FFFFFF;
    background-color: rgba(255, 255, 255, 0.9);
    color: #333333;
}

.newsletter-section .form-control::placeholder {
    color: #666666;
}

.newsletter-section .form-control:focus {
    border-color: #1E5070;
    box-shadow: 0 0 0 0.25rem rgba(42, 111, 151, 0.25);
}

.newsletter-section .btn-light {
    background-color: #F8F4E3; /* Light beige button */
    color: #2A6F97;
    font-weight: 600;
}

.newsletter-section .btn-light:hover {
    background-color: #EFEAD8;
    color: #1E5070;
}

/* Footer */
footer {
    background-color: #1E5070 !important; /* Darker blue for footer */
    color: #FFFFFF;
}

footer .list-inline-item a {
    color: #FFFFFF;
    font-weight: 400;
}

footer .list-inline-item a:hover {
    text-decoration: underline;
}

/* Modal Styling */
.modal-content {
    border-radius: 0.75rem;
}

.modal-header, .modal-footer {
    border-color: #D9CBA3; /* Khaki border for modal elements */
}

/* Cookie Banner */
#cookie-banner {
    z-index: 1050; /* Ensure it's above other content */
    background-color: rgba(30, 80, 112, 0.95) !important; /* Dark blue with slight transparency */
    padding: 1rem;
}

#cookie-banner .btn-primary {
    background-color: #8CB9DE; /* Soft blue for cookie accept button */
    border-color: #8CB9DE;
    color: #1E5070;
}

#cookie-banner .btn-primary:hover {
    background-color: #6A9CCB;
    border-color: #6A9CCB;
}

#cookie-banner .btn-outline-light {
    border-color: #FFFFFF;
    color: #FFFFFF;
}

#cookie-banner .btn-outline-light:hover {
    background-color: #FFFFFF;
    color: #1E5070;
}

/* No animations - overriding any Bootstrap defaults */
* {
    transition: none !important;
    animation: none !important;
}.termsCaveBox {
    /* Container padding and centering for content */
    padding-top: 3rem;
    padding-bottom: 3rem;
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 960px; /* Max width for readability */
    margin-left: auto; /* Center the box horizontally */
    margin-right: auto; /* Center the box horizontally */
    background-color: #FFFFFF; /* White background for content box */
    border-radius: 0.75rem; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); /* Soft shadow */
}

.termsCaveBox h1 {
    /* Heading 1 styles - moderate size */
    font-size: 2.2rem;
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    color: #2A6F97; /* Primary blue for headings */
}

.termsCaveBox h2 {
    /* Heading 2 styles - moderate size */
    font-size: 1.8rem;
    margin-top: 2rem;
    margin-bottom: 1.2rem;
    line-height: 1.3;
    color: #2A6F97;
}

.termsCaveBox h3 {
    /* Heading 3 styles - moderate size */
    font-size: 1.5rem;
    margin-top: 1.8rem;
    margin-bottom: 1rem;
    line-height: 1.4;
    color: #2A6F97;
}

.termsCaveBox h4 {
    /* Heading 4 styles - moderate size */
    font-size: 1.3rem;
    margin-top: 1.5rem;
    margin-bottom: 0.8rem;
    line-height: 1.5;
    color: #2A6F97;
}

.termsCaveBox h5 {
    /* Heading 5 styles - slightly larger than body text */
    font-size: 1.1rem;
    margin-top: 1.2rem;
    margin-bottom: 0.6rem;
    line-height: 1.6;
    color: #2A6F97;
}

.termsCaveBox p {
    /* Paragraph styles */
    font-size: 1rem; /* Standard body text size */
    margin-bottom: 1rem;
    line-height: 1.7;
    color: #333333; /* Dark grey for text */
}

.termsCaveBox ul {
    /* Unordered list styles */
    list-style-type: disc; /* Default disc bullets */
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 1.5rem; /* Indent list items */
    color: #333333;
}

.termsCaveBox ol {
    /* Ordered list styles */
    list-style-type: decimal; /* Default numbered list */
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 1.5rem; /* Indent list items */
    color: #333333;
}

.termsCaveBox li {
    /* List item styles */
    margin-bottom: 0.5rem;
    line-height: 1.6;
    font-size: 1rem; /* Match paragraph font size */
    color: #333333;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .termsCaveBox {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .termsCaveBox h1 {
        font-size: 1.8rem;
    }
    .termsCaveBox h2 {
        font-size: 1.5rem;
    }
    .termsCaveBox h3 {
        font-size: 1.3rem;
    }
}

#cookie-banner .container{
    flex-direction: column !important;
    gap: 20px;
    text-align: center;
}


#customize-cookies{
    padding: 0.75rem 1.5rem;
}

.container,
footer{
    position: relative;
    z-index: 4;
}

.form-control::placeholder{
    font-size: 16px;
} 