 /* Core Branding */
:root {
    --barrie-green: #004d40;
    --barrie-blue: #0277bd;
    --admin-bg: #f4f7f6;
}
 
 body { font-family: 'Montserrat', sans-serif; background-color: #f4f7f6; }
       .hero-section { 
/* Gradient overlay for readability */
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), 
                url('img/barrie-waterfront.jpg'); 
    
    /* This tells the browser to keep the CENTER of the image visible */
    background-position: center center; 
    
    /* Ensures the image scales to fill the container without distorting */
    background-size: cover; 
    
    /* Since your image is only 366px tall, we should set a min-height 
       to prevent it from stretching too thin on large screens */
    min-height: 400px; 
    
    background-repeat: no-repeat;
    color: white; 
    display: flex;
    align-items: center; /* Centers the text vertically in the hero */
    text-align: center;
    padding: 120px 0; /* Increased padding for more visual impact */
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5); /* Makes text even more readable */
}
        .neighborhood-card { 
            border: none; 
            border-radius: 12px;
            overflow: hidden;
            transition: transform 0.3s ease;
        }
        .neighborhood-card:hover { transform: translateY(-10px); }
        .badge-category { background-color: #0277bd; font-size: 0.75rem; text-transform: uppercase; }
        .neighborhood-partner-showcase { 
            background-color: #fffde7; 
            border: 2px dashed #ffd600; 
            border-radius: 8px;
            padding: 20px;
        }
        .sidebar-sticky { position: sticky; top: 20px; }
        .btn-premium { background-color: #d32f2f; border: none; font-weight: bold; padding: 15px; }


/* Sidebar Ad Container - The Box */
.sidebar-ad-card {
    width: 300px;
    height: auto; 
    background-color: #ffffff;
    border: 1px solid #dee2e6; /* The visible box border */
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); /* Adds depth to the box */
    display: flex;
    flex-direction: column; /* Stacks label on top of image */
    align-items: center; /* Centers items horizontally */
    transition: transform 0.3s ease;
}
.sidebar-ad-card:hover { transform: translateY(-10px); }

/* The "Sponsored" Label - Positioned inside the box */
.ad-label {
    font-size: 0.7rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 10px; /* Vertical space above image */
    letter-spacing: 1px;
    display: block;
}

/* The Image Constraint */
.sidebar-ad-card img {
    width: 250px; /* Fits inside the 300px card with padding */
    height: 250px; 
    object-fit: cover; /* Prevents distortion for 600x600 images */
    border-radius: 4px;
}

 .admin-table-card { border-radius: 12px; border: none; }
        .form-control-sm { font-size: 0.85rem; }

/* Neighborhood Menu Styling */
#neighborhood-menu {
    background-color: #ffffff;
    border-bottom: 1px solid #eee;
    z-index: 1020; /* Ensures it stays above content while scrolling */
}

.menu-link {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    color: var(--barrie-green) !important;
    letter-spacing: 1px;
    padding: 15px 0;
    transition: color 0.3s ease;
    border-bottom: 3px solid transparent;
}

.menu-link:hover {
    color: var(--barrie-blue) !important;
    border-bottom: 3px solid var(--barrie-blue);
}

/* Smooth Scrolling logic */
html {
    scroll-behavior: smooth;
    /* This ensures headers aren't hidden behind the sticky menu when jumping */
    scroll-padding-top: 80px; 
}

/* Above-the-Fold PDF Promo Strip */
.pdf-promo-strip {
    background: linear-gradient(135deg, var(--barrie-green, #004d40) 0%, #00695c 100%);
    position: relative;
    z-index: 1010;
}

.pdf-promo-strip .badge {
    font-size: 0.7rem;
    letter-spacing: 0.5px;
}

.hover-elevate {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-elevate:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    background-color: #ffc107 !important;
}