/* Diagnostic: Highlight potential overflow elements */
* {
    /* Uncomment for debugging: outline: 1px solid rgba(255,0,0,0.1); */
}

/* Prevent horizontal scroll */
html, body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
}

/* Ensure all images are responsive */
img {
    max-width: 100%;
    height: auto;
}

/* OpenDyslexic Font Definitions */
@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Regular.woff2') format('woff2'),
         url('/fonts/OpenDyslexic-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold.woff2') format('woff2'),
         url('/fonts/OpenDyslexic-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Italic.woff2') format('woff2'),
         url('/fonts/OpenDyslexic-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'OpenDyslexic';
    src: url('/fonts/OpenDyslexic-Bold-Italic.woff2') format('woff2'),
         url('/fonts/OpenDyslexic-Bold-Italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

/* Dyslexia Mode Styles */
.dyslexia-mode {
    font-family: 'OpenDyslexic', Arial, sans-serif !important;
    letter-spacing: 0.05em !important;
    font-size: 0.9em !important;
}

.dyslexia-mode * {
    font-family: inherit !important;
}

/* Exclude ALL Font Awesome icons from dyslexia mode */
.dyslexia-mode .fab,
.dyslexia-mode .fas,
.dyslexia-mode .far,
.dyslexia-mode .fal {
    font-family: 'Font Awesome 5 Brands', 'Font Awesome 5 Free', 'Font Awesome 5 Pro' !important;
}

/* News Category Menu Styles - BBC/Sky News style */
.news-category-menu-container {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding: 0.5rem 0;
}

.news-category-menu {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.news-category-items {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    position: relative;
}

.news-category-link {
    color: #495057;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 0;
    white-space: nowrap;
    transition: color 0.3s ease;
    position: relative;
}

.news-category-link:hover {
    color: #d7006d;
}

.news-category-link.active {
    color: #d7006d;
    font-weight: 600;
}

.news-category-link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #d7006d;
}

.visible-categories {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
    overflow: hidden;
}

.news-category-dropdown {
    position: relative;
    margin-left: auto;
}

.news-category-more-btn {
    background: none;
    border: none;
    color: #495057;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.news-category-more-btn:hover {
    color: #d7006d;
}

.dropdown-arrow {
    font-size: 0.8rem;
    margin-left: 0.25rem;
    transition: transform 0.3s ease;
}

.news-category-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 150px;
    z-index: 1000;
    display: none;
    padding: 0.5rem 0;
}

.news-category-dropdown-menu.show {
    display: block;
}

.news-category-dropdown-menu .news-category-link {
    display: block;
    padding: 0.5rem 1rem;
    color: #495057;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9rem;
    transition: background-color 0.3s ease;
}

.news-category-dropdown-menu .news-category-link:hover {
    background-color: #f8f9fa;
    color: #d7006d;
}

.news-category-dropdown-menu .news-category-link.active {
    background-color: #fce4f0;
    color: #d7006d;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .news-category-menu {
        padding: 0 0.5rem;
    }
    
    .news-category-items {
        gap: 1rem;
    }
    
    .news-category-link {
        font-size: 0.9rem;
    }
    
    .visible-categories {
        gap: 1rem;
    }
}

@media (max-width: 480px) {
    .news-category-items {
        gap: 0.75rem;
    }
    
    .news-category-link {
        font-size: 0.85rem;
    }
    
    .visible-categories {
        gap: 0.75rem;
    }
    
    .news-category-more-btn {
        font-size: 0.85rem;
        padding: 0.5rem;
    }
}

/* News Hero Image Styles */
.news-hero-container {
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.news-hero-image {
    width: 100%;
    height: 0;
    padding-bottom: 40%; /* Shorter aspect ratio to match carousel height */
    position: relative;
    overflow: hidden;
}

.news-hero-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; /* Default center, overridden by inline style */
}

/* Ensure hero image appears below menu but above content */
.news-hero-container {
    margin-top: 0; /* Removed gap between menu and image */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .news-hero-container {
        margin-top: 60px; /* Adjusted for mobile navbar */
    }
    
    .news-hero-image {
        padding-bottom: 75%; /* Taller aspect ratio for mobile */
    }
}

/* Breaking News Bar Styles */
.breaking-news-container {
    position: relative;
    width: 100%;
    background-color: #dc3545;
    color: white;
    height: 0;
    overflow: hidden;
    transition: height 2s ease;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.breaking-news-bar {
    max-width: 1200px;
    margin: 0 auto;
    padding: 15px 20px;
}

.breaking-news-content {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.breaking-label {
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 5px 10px;
    border-radius: 4px;
}

.breaking-text {
    font-size: 1.1rem;
    font-weight: 500;
    opacity: 0;
    transition: opacity 2s ease;
}

.breaking-link {
    color: #ffffff !important;
    text-decoration: none;
    font-weight: bold;
    opacity: 0;
    transition: opacity 2s ease;
}

.breaking-link:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

/* Mobile responsive styles for breaking news */
@media (max-width: 768px) {
    .breaking-news-bar {
        padding: 8px 12px; /* Reduced from 15px 20px */
    }
    
    .breaking-news-content {
        gap: 6px; /* Reduced from 10px */
        flex-wrap: nowrap;
        overflow: hidden;
    }
    
    .breaking-label {
        font-size: 0.9rem;
        padding: 2px 5px; /* Reduced padding */
        white-space: nowrap;
    }
    
    .breaking-text {
        font-size: 0.9rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 1;
        min-width: 0;
    }
    
    .breaking-link {
        font-size: 0.8rem;
        white-space: nowrap;
    }
}

@media (max-width: 480px) {
    .breaking-news-bar {
        padding: 6px 10px; /* Reduced from 8px 12px */
    }
    
    .breaking-label {
        font-size: 0.8rem;
        padding: 1px 3px; /* Reduced padding */
    }
    
    .breaking-text {
        font-size: 0.8rem;
        max-width: 60%; /* Prevent text from taking too much space */
    }
    
    .breaking-link {
        font-size: 0.75rem;
        white-space: nowrap;
    }
}

@media (max-width: 360px) {
    .breaking-news-bar {
        padding: 4px 8px; /* Reduced from 6px 8px */
    }
    
    .breaking-news-content {
        gap: 3px; /* Reduced from 4px */
    }
    
    .breaking-label {
        font-size: 0.7rem;
        padding: 1px 2px; /* Reduced padding */
    }
    
    .breaking-text {
        font-size: 0.7rem;
        max-width: 50%;
    }
    
    .breaking-link {
        font-size: 0.65rem;
    }
}

/* Focal point marker styles */
.focal-point-marker {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: var(--primary-pink);
    border: 3px solid white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
    z-index: 100;
    transition: transform 0.2s ease;
}

.focal-point-marker:hover {
    transform: scale(1.2);
    cursor: grabbing;
}

.focal-point-marker i {
    color: white;
    font-size: 20px;
    font-weight: bold;
}

:root {
    --primary-pink: #d7006d;
    --dark-pink: #c00060;
    --darker-pink: #a00050;
    --light-gray: #e9ecef;
    --medium-gray: #6c757d;
    --dark-gray: #495057;
    --text-color: #65686d;
}

body {
    background-color: white;
    color: var(--text-color);
}
.navbar-brand, .nav-link, a {
    color: var(--bs-primary) !important;
}

.nav-link {
    display: flex;
    align-items: center;
    height: 100%;
    padding-top: 4px;
    border-bottom: 2px solid transparent;
    transition: border-bottom 0.3s ease;
    padding-bottom: 2px;
}
.nav-link:hover {
    border-bottom: 2px solid var(--bs-primary);
}
.nav-link.active {
    border-bottom: 2px solid var(--bs-primary);
    font-weight: bold;
}

.listen-now-btn {
    background-color: var(--primary-pink);
    color: white !important;
    border-radius: 50px;
    padding: 6px 12px;
    transition: all 0.3s ease;
    border: none;
    font-size: 0.9rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 0 var(--darker-pink), 0 5px 10px rgba(0,0,0,0.1);
    transform: translateY(0);
    white-space: nowrap;
}

@media (min-width: 992px) {
    .listen-now-btn {
        padding: 12px 30px;
        font-size: 1.1rem;
        letter-spacing: 1px;
    }
}

.listen-now-btn:hover {
    background-color: var(--dark-pink);
    box-shadow: 0 2px 0 var(--darker-pink), 0 0 20px rgba(215, 0, 109, 0.8);
    transform: translateY(2px);
}

.listen-now-btn svg {
    margin-left: 10px;
    vertical-align: middle;
    transition: transform 0.2s ease;
}

.listen-now-btn:hover svg {
    transform: scale(1.1);
}

/* Smaller Listen Now button for carousel cards */
.listen-btn-sm {
    background-color: var(--primary-pink);
    color: white !important;
    border-radius: 20px;
    padding: 6px 12px 6px 8px;
    transition: all 0.3s ease;
    border: none;
    font-size: 0.75rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 0 var(--darker-pink), 0 3px 6px rgba(0,0,0,0.1);
    transform: translateY(0);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin-top: auto;
    margin-bottom: 8px;
}

.listen-btn-sm:hover {
    background-color: var(--dark-pink);
    box-shadow: 0 1px 0 var(--darker-pink), 0 0 15px rgba(215, 0, 109, 0.6);
    transform: translateY(1px);
    color: white !important;
    text-decoration: none;
}

.listen-btn-sm svg {
    margin-left: 6px;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.magic-link-btn {
    border-color: var(--primary-pink);
    color: var(--primary-pink);
    transition: all 0.3s ease;
}

.magic-link-btn:hover {
    background-color: white;
    color: var(--primary-pink) !important;
    border-color: var(--primary-pink) !important;
    box-shadow: 0 0 20px rgba(215, 0, 109, 0.8);
    outline: none !important;
}

.magic-link-btn:focus,
.magic-link-btn:active {
    background-color: white !important;
    border-color: var(--primary-pink) !important;
    color: var(--primary-pink) !important;
    box-shadow: none !important;
    outline: none !important;
}

@media (min-width: 992px) {
    .listen-now-btn svg {
        width: 28px;
        height: 28px;
    }
}

/* Mobile Navbar Layout */
@media (max-width: 991.98px) {
    .navbar .container {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    .navbar-brand img {
        height: 40px !important;
    }
    
    .listen-now-btn.w-100 {
        padding: 10px 16px;
        font-size: 1rem;
        border-radius: 25px;
        margin-top: 0.5rem;
    }
}

/* Mobile Menu Styles */
#mobileMenu {
    position: relative;
    width: 100%;
    background: white;
    z-index: 1000;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
}

#mobileMenu .navbar-nav {
    padding: 1rem 0;
}

#mobileMenu .nav-item {
    padding: 0.5rem 1rem;
}

#mobileMenu .nav-link {
    padding: 0.5rem 0;
    border-bottom: 1px solid #f0f0f0;
    transition: border-bottom 0.3s ease;
}
#mobileMenu .nav-link:hover {
    border-bottom: 1px solid #d7006d;
}

/* Mobile Menu responsive behavior */
.navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
    align-items: center;
}

#mobileMenu {
    transition: height 0.35s ease;
}

#mobileMenu:not(.show) {
    display: none;
}

@media (min-width: 992px) {
    #mobileMenu {
        display: none !important;
    }
    #mobileMenu.show {
        display: none !important;
    }
}

.podcast-card, .news-card, .event-card {
    border-left: 4px solid var(--primary-pink);
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-icons a {
    color: #333;
    font-size: 1.5rem;
    transition: color 0.3s;
}

.social-icons a:hover {
    color: #f06da7;
}

/* Footer responsive styles */
footer .row {
    min-height: 80px;
}

footer .social-icons {
    justify-content: flex-start;
}

footer .footer-links {
    text-align: center;
}

@media (max-width: 767.98px) {
    footer .row > div {
        text-align: center !important;
    }
    
    footer .social-icons {
        justify-content: center;
    }
    
footer .social-icons a {
    font-size: 1.8rem;
    margin: 0 0.75rem;
}
}

/* Pink button styles for admin photo management */
.btn-outline-pink {
    color: #d7006d;
    border-color: #d7006d;
    background-color: transparent;
}

.btn-outline-pink:hover,
a.btn-outline-pink:hover {
    color: white !important;
    background-color: #d7006d !important;
    border-color: #d7006d !important;
}

.btn-outline-pink:focus,
.btn-outline-pink:active,
.btn-outline-pink.active {
    color: white !important;
    background-color: #c00060 !important;
    border-color: #c00060 !important;
    box-shadow: 0 0 0 0.2rem rgba(215, 0, 109, 0.25);
}

/* Consistent outline button styles for members dashboard */
.btn-outline-primary {
    color: #d7006d;
    border-color: #d7006d;
    background-color: transparent;
}

.btn-outline-primary:hover,
a.btn-outline-primary:hover {
    color: white !important;
    background-color: #d7006d !important;
    border-color: #d7006d !important;
}

.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: white;
    background-color: #c00060;
    border-color: #c00060;
    box-shadow: 0 0 0 0.2rem rgba(215, 0, 109, 0.25);
}

/* Download button specific styling to fix pink-on-pink issue */
.download-btn.btn-outline-primary:hover,
.download-btn.btn-outline-primary:focus,
.download-btn.btn-outline-primary:active {
    color: white !important;
    background-color: #d7006d !important;
    border-color: #d7006d !important;
}

/* Icon-only button styles for better contrast and spacing */
.btn-group-sm > .btn {
    padding: 0.25rem 0.5rem;
}

.btn-group-sm > .btn.btn-icon-only {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem;
}

.btn-group-sm > .btn.btn-icon-only .fas {
    font-size: 0.875rem;
    margin: 0;
}

/* Improved contrast for hover states */
.btn-outline-primary:hover,
.btn-outline-pink:hover {
    background-color: #d7006d !important;
    border-color: #d7006d !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(215, 0, 109, 0.3);
}

.btn-outline-primary:active,
.btn-outline-pink:active {
    background-color: #a00050 !important;
    border-color: #a00050 !important;
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(215, 0, 109, 0.2);
}

/* Focus states for accessibility */
.btn-outline-primary:focus,
.btn-outline-pink:focus {
    outline: 2px solid #d7006d;
    outline-offset: 2px;
}

.btn-outline-secondary {
    color: #6c757d;
    border-color: #6c757d;
    background-color: transparent;
}

.btn-outline-secondary:hover,
a.btn-outline-secondary:hover {
    color: white !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    color: white;
    background-color: #5a6268;
    border-color: #5a6268;
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.25);
}

/* Success button styles for Add button */
.btn-outline-success {
    color: #198754;
    border-color: #198754;
    background-color: transparent;
}

.btn-outline-success:hover,
a.btn-outline-success:hover {
    color: white !important;
    background-color: #198754 !important;
    border-color: #198754 !important;
}

.btn-outline-success:focus,
.btn-outline-success:active {
    color: white !important;
    background-color: #157347 !important;
    border-color: #157347 !important;
    box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25);
}

/* Station logos and placeholder styles */
.station-logo,
.station-placeholder {
    width: 200px;
    height: 200px;
    opacity: 0.7;
    transition: all 0.3s ease;
    border-radius: 8px;
    padding: 16px;
    background-color: #e9ecef;
}

.station-logo {
    object-fit: contain;
}

.station-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
}

.station-logo:hover,
.station-placeholder:hover {
    opacity: 1;
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.station-placeholder:hover {
    background-color: #dee2e6;
}

.station-link {
    text-decoration: none;
    display: inline-block;
}

/* Responsive adjustments for stations grid */
@media (max-width: 768px) {
    .station-logo,
    .station-placeholder {
        width: 150px;
        height: 150px;
    }
    
    .station-placeholder {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    .station-logo,
    .station-placeholder {
        width: 120px;
        height: 120px;
    }
    
    .station-placeholder {
        font-size: 0.8rem;
    }
}

/* Station Modal Styles - Top Trumps Card Theme */
.station-card {
    border-radius: 20px;
    border: 4px solid #d7006d;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.station-card-content {
    padding: 2rem;
}

.station-logo-container {
    margin-bottom: 2rem;
}

.station-modal-logo {
    max-height: 200px;
    max-width: 100%;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.station-placeholder-modal {
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e9ecef;
    border-radius: 12px;
    color: #6c757d;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0 auto;
}

.station-name {
    color: #d7006d;
    font-weight: 700;
    font-size: 2rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.broadcast-info {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 1.5rem;
    border-radius: 12px;
    border: 2px solid #dee2e6;
    margin-bottom: 2rem;
}

.broadcast-schedule {
    font-size: 1.1rem;
    color: #495057;
}

.platform-icons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.platform-item {
    display: flex;
    align-items: center;
    background: white;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    border: 2px solid #dee2e6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.platform-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fm-frequency {
    font-weight: 700;
    font-size: 1.1rem;
    color: #d7006d;
}

.website-link .btn {
    border-radius: 25px;
    padding: 0.75rem 2rem;
    font-weight: 600;
    border-width: 2px;
    transition: all 0.3s ease;
}

.website-link .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    color: white !important;
}

.loading-spinner {
    text-align: center;
    padding: 3rem;
}

.error-message {
    text-align: center;
    padding: 2rem;
}

/* Responsive adjustments for modal */
@media (max-width: 768px) {
    .station-card-content {
        padding: 1.5rem;
    }
    
    .station-name {
        font-size: 1.5rem;
    }
    
    .platform-icons {
        gap: 1rem;
    }
    
    .platform-item {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
    
    .station-modal-logo,
    .station-placeholder-modal {
        max-height: 150px;
        max-width: 150px;
    }
}

/* Stations Gradient Background */
.stations-gradient-bg {
    background: linear-gradient(135deg, #d7006d 0%, #ffffff 100%);
    padding: 2rem 0;
    margin: 0;
}

/* Station tile hover effects */
.station-tile {
    transition: all 0.3s ease;
}

.station-tile:hover {
    transform: scale(1.05);
}

.station-tile:hover .station-logo {
    opacity: 1;
    transform: scale(1.1);
}

.station-tile:hover .station-placeholder {
    opacity: 1;
    transform: scale(1.1);
}

/* News Block Styles - BBC-style layout */
.news-block {
    margin-bottom: 3rem;
}

.news-block-title {
    color: #d7006d;
    font-weight: 700;
    border-bottom: 3px solid #d7006d;
    padding-bottom: 0.5rem;
    display: inline-block;
}

.news-feature-item {
    transition: transform 0.3s ease;
}

.news-feature-item:hover {
    transform: translateY(-2px);
}

.news-feature-image {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
}

.news-feature-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}

.news-feature-item:hover .news-feature-image img {
    transform: scale(1.05);
}

.news-feature-title {
    color: #212529;
    font-weight: 700;
    line-height: 1.3;
}

.news-feature-excerpt {
    color: #6c757d;
    line-height: 1.5;
}

.news-secondary-item {
    transition: transform 0.3s ease;
    height: 100%;
}

.news-secondary-item:hover {
    transform: translateY(-2px);
}

.news-secondary-image {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    padding-bottom: 75%; /* 4:3 aspect ratio */
    height: 0;
}

.news-secondary-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
}

.news-secondary-item:hover .news-secondary-image img {
    transform: scale(1.05);
}

.news-secondary-title {
    color: #212529;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.5rem;
}

.news-secondary-excerpt {
    color: #6c757d;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}

.news-meta {
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #dee2e6;
}

.news-feature-item .news-meta {
    border-top: 2px solid #dee2e6;
    margin-top: 1rem;
    padding-top: 0.75rem;
}

.news-secondary-item .news-meta {
    border-top: 1px solid #e9ecef;
}

.image-copyright {
    font-style: italic;
}

/* Responsive adjustments for news block */
@media (max-width: 992px) {
    .news-feature-image {
        padding-bottom: 66.67%; /* 3:2 aspect ratio for tablets */
    }
    
    .news-secondary-image {
        padding-bottom: 80%; /* Slightly taller aspect ratio for tablets */
    }
    
    .news-feature-title {
        font-size: 1.1rem;
    }
    
    .news-secondary-title {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .news-feature-image {
        padding-bottom: 75%; /* 4:3 aspect ratio for mobile */
    }
    
    .news-secondary-image {
        padding-bottom: 85%; /* Slightly taller aspect ratio for mobile */
    }
    
    .news-feature-title {
        font-size: 1rem;
    }
    
    .news-secondary-title {
        font-size: 0.85rem;
    }
    
    .news-feature-excerpt {
        font-size: 0.9rem;
    }
    
    .news-secondary-excerpt {
        font-size: 0.8rem;
    }
}

@media (max-width: 576px) {
    .news-feature-image {
        padding-bottom: 80%; /* Slightly taller aspect ratio for small mobile */
    }
    
    .news-secondary-image {
        padding-bottom: 90%; /* Slightly taller aspect ratio for small mobile */
    }
    
    .news-feature-title {
        font-size: 0.95rem;
    }
    
    .news-secondary-title {
        font-size: 0.8rem;
    }
    
    .news-feature-excerpt {
        font-size: 0.85rem;
    }
    
    .news-secondary-excerpt {
        font-size: 0.75rem;
    }
}

/* Glide Carousel Enhancements */
.glide__slides {
    padding-left: 10px !important;
}

.glide__slide {
    opacity: 0.6;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Fix carousel padding on mobile to prevent overflow */
@media (max-width: 768px) {
    .glide__slides {
        padding-left: 0 !important;
    }
}

.glide__slide--active {
    opacity: 1;
    transform: scale(1.05);
}

/* Custom arrow styling - override Glide theme */
.glide__arrow {
    background-color: white !important;
    border: 3px solid var(--primary-pink) !important;
    border-radius: 8px !important;
    width: 40px !important;
    height: 40px !important;
    color: var(--primary-pink) !important;
    font-weight: bold !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.3s ease !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
}

.glide__arrow:hover {
    background-color: var(--primary-pink) !important;
    color: white !important;
    border-color: white !important;
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 6px 25px rgba(215, 0, 109, 0.5) !important;
}

.glide__arrow--left {
    left: 20px !important;
}

.glide__arrow--right {
    right: 20px !important;
}

/* Bullet indicators - positioned below carousel */
.glide__bullets {
    margin-top: 40px; /* Increased margin to position below cards */
    display: flex;
    justify-content: center;
    gap: 8px;
    position: relative;
    z-index: 5;
}

.glide__bullet {
    width: 12px;
    height: 12px;
    background-color: var(--light-gray); /* Light grey for inactive dots */
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.glide__bullet:hover,
.glide__bullet--active {
    background-color: var(--primary-pink); /* Pink for active dots */
    transform: scale(1.2);
}

/* Card hover effects for carousel */
.show-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 350px; /* Flexible height for responsive design */
    height: auto; /* Allow height to adjust based on content */
    width: 250px; /* Fixed width for consistent sizing */
    display: flex;
    flex-direction: column;
}

.show-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* Image container for consistent sizing */
.card-img-container {
    height: 180px; /* Reduced height to allow more space for text */
    overflow: hidden;
    position: relative;
}

.card-img-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1; /* Maintain square aspect ratio */
}

/* Card body adjustments for better text handling */
.show-card .card-body {
    padding: 1rem;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.show-card .card-title {
    font-size: 1rem;
    margin-bottom: 0.75rem;
    line-height: 1.3;
    min-height: 2.6em; /* Allow for 2 lines of text */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2; /* Standard property for compatibility */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    .show-card {
        min-height: 320px; /* Slightly increased to accommodate more text */
        width: 220px;
    }
    
    .card-img-container {
        height: 150px; /* Reduced for mobile */
    }
    
    .card-body {
        padding: 0.75rem;
    }
    
    .card-title {
        font-size: 0.9rem;
        min-height: 2.4em; /* Adjusted for mobile */
        margin-bottom: 0.5rem;
    }
    
    .listen-btn-sm {
        font-size: 0.7rem;
        padding: 5px 10px 5px 8px;
    }
}

@media (max-width: 480px) {
    .related-news-grid {
        grid-template-columns: 1fr;
    }
    
    .related-news-item-title {
        font-size: 0.85rem;
    }
    
    .related-news-content {
        padding: 0.75rem;
    }
}

/* Meet The Team Section Styles */
.team-section {
    padding: 3rem 0;
}

.team-section .section-header {
    margin-bottom: 3rem;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    justify-items: center;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}

.team-member-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 220px;
    transition: transform 0.3s ease;
}

.team-member-card:hover {
    transform: translateY(-5px);
}

.member-photo-container {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 1rem;
    border: 4px solid #f8f9fa;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    position: relative;
}

.member-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.team-member-card:hover .member-photo {
    transform: scale(1.05);
}

.member-info {
    background-color: var(--primary-pink);
    color: white;
    padding: 1rem;
    border-radius: 8px;
    width: 100%;
    margin-top: -10px;
    position: relative;
    z-index: 1;
    box-shadow: 0 4px 12px rgba(215, 0, 109, 0.2);
}

.member-name {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 0.25rem 0;
    line-height: 1.2;
}

.member-position {
    font-size: 0.9rem;
    margin: 0;
    opacity: 0.9;
    line-height: 1.3;
}

/* Responsive adjustments for team grid */
@media (min-width: 1200px) {
    .team-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .team-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991px) and (min-width: 768px) {
    .team-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) and (min-width: 576px) {
    .team-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .team-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .member-photo-container {
        width: 150px;
        height: 150px;
    }
    
    .member-info {
        padding: 0.75rem;
    }
    
    .member-name {
        font-size: 1rem;
    }
    
    .member-position {
        font-size: 0.85rem;
    }
}

/* Custom Tooltip for Disabled Download Button */
.download-disabled-tooltip {
    position: relative;
    cursor: not-allowed;
}

.download-disabled-tooltip::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: white;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 0.8rem;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.download-disabled-tooltip::after {
    content: '';
    position: absolute;
    bottom: 115%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
}

.download-disabled-tooltip:hover::before,
.download-disabled-tooltip:hover::after {
    opacity: 1;
    visibility: visible;
}

/* Center alignment for partial rows */
.team-grid {
    justify-items: center;
    justify-content: center;
}

/* Ensure consistent spacing and centering */
.team-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Podcast Player Styles */
.podcast-player-section {
    background-color: #2d3748; /* Dark slate grey */
    width: 100%;
    padding: 2rem 0;
    margin: 0;
}

.podcast-player-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.podcast-player {
    background-color: var(--primary-pink);
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    max-width: 600px;
    margin: 0 auto;
}

.player-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-shrink: 0;
}

.player-btn {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: white;
}

.player-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.player-btn:active {
    transform: scale(0.95);
}

.play-pause-btn {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.3);
}

.play-pause-btn:hover {
    background: rgba(255, 255, 255, 0.4);
}

.player-progress {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.progress-bar-container {
    width: 100%;
}

.progress-bar {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
    overflow: hidden;
    cursor: pointer;
}

.progress-fill {
    height: 100%;
    background: white;
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s ease;
}

.time-display {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: white;
    font-weight: 500;
}

.current-time, .total-time {
    font-variant-numeric: tabular-nums;
}

.time-separator {
    opacity: 0.7;
}

/* Mobile responsive styles */
@media (max-width: 768px) {
    .podcast-player-section {
        padding: 1.5rem 0;
    }
    
    .podcast-player {
        border-radius: 0;
        max-width: none;
        margin: 0;
        padding: 1rem;
        gap: 1rem;
    }
    
    .player-controls {
        gap: 0.75rem;
    }
    
    .player-btn {
        width: 45px;
        height: 45px;
    }
    
    .play-pause-btn {
        width: 55px;
        height: 55px;
    }
    
    .time-display {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .podcast-player-section {
        padding: 1rem 0;
    }
    
    .podcast-player {
        padding: 0.75rem;
        gap: 0.75rem;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
    
    .player-controls {
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        flex-shrink: 0;
    }
    
    .player-btn {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .play-pause-btn {
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .player-progress {
        flex: 1;
        min-width: 0;
        align-items: center;
    }
    
    .time-display {
        justify-content: center;
        font-size: 0.8rem;
        width: 100%;
    }
}

/* Responsive adjustments for mobile show cards */
@media (max-width: 480px) {
    .show-card {
        min-height: 300px;
        width: 200px;
    }
    
    .card-img-container {
        height: 130px;
    }
    
    .card-body {
        padding: 0.6rem;
    }
    
    .card-title {
        font-size: 0.85rem;
        min-height: 2.2em;
        margin-bottom: 0.4rem;
    }
}

/* Date bar styling for show cards */
.date-bar {
    background-color: #495057;
    color: white;
    padding: 0.5rem;
    text-align: center;
    font-weight: 500;
    border-bottom: 1px solid #343a40;
}

.date-bar small {
    color: white;
    font-size: 0.85rem;
}

/* Adjust glide slide container to prevent cropping */
.glide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

/* Responsive adjustments for carousel */
@media (max-width: 768px) {
    .glide__arrow {
        width: 35px;
        height: 35px;
        font-size: 0.9rem;
    }
    
    .glide__arrow--left {
        left: 10px;
    }
    
    .glide__arrow--right {
        right: 10px;
    }
    
    .glide__bullet {
        width: 10px;
        height: 10px;
    }
}

/* Scrollable Date Cards Band */
.date-cards-container {
    overflow-x: auto;
    white-space: nowrap;
    padding: 1rem 0;
    margin-bottom: 0.5rem;
    scrollbar-width: thin;
    scrollbar-color: #d7006d #f8f9fa;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
}

.date-cards-container::-webkit-scrollbar {
    height: 8px;
}

.date-cards-container::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 4px;
}

.date-cards-container::-webkit-scrollbar-thumb {
    background: #d7006d;
    border-radius: 4px;
}

.date-cards-container::-webkit-scrollbar-thumb:hover {
    background: #c00060;
}

/* Ensure containers don't cause overflow */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100%;
}

/* Fix for Bootstrap rows and columns */
.row {
    margin-left: -15px;
    margin-right: -15px;
}

.row > * {
    padding-left: 15px;
    padding-right: 15px;
}

.date-card {
    display: inline-flex;
    flex-direction: column;
    min-width: 100px;
    height: 120px;
    margin: 0 0.5rem;
    border: 2px solid #dee2e6;
    border-radius: 12px;
    background: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
}

.date-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Month Card */
.month-card {
    min-width: 140px;
    height: 180px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 3px solid #495057;
    font-weight: 600;
    margin-top: -20px;
    padding-bottom: 20px;
}

.month-card .day {
    font-size: 2rem;
    font-weight: 700;
    color: #d7006d;
    line-height: 1;
}

.month-card .month {
    font-size: 1.1rem;
    color: #495057;
    text-transform: uppercase;
    margin: 0.25rem 0;
}

.month-card .year {
    font-size: 1rem;
    color: #6c757d;
}

/* Show Card adjustments for multiple items */
.show-card {
    width: 250px;
    height: 360px; /* Increased height for multiple items */
    background: linear-gradient(135deg, #fff5f8 0%, #ffeef3 100%);
    border: 4px solid #d7006d;
    position: relative; /* For absolute positioning of icons */
}

.show-card .show-name {
    font-size: 0.9rem;
    font-weight: 600;
    color: #d7006d;
    margin-bottom: 0.25rem;
    line-height: 1.2;
}

.show-card .show-name.small {
    font-size: 0.8rem;
    margin-bottom: 0.15rem;
}

.show-card .broadcast-date {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: auto;
}

/* Members Show Card - for date cards band on members page */
.members-show-card {
    min-width: 100px;
    height: 140px; /* Appropriate height for date cards */
    background: linear-gradient(135deg, #fff5f8 0%, #ffeef3 100%);
    border: 3px solid #d7006d;
    position: relative; /* For absolute positioning of icons */
    margin: 0 0.5rem;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 0.75rem;
    display: inline-flex;
    flex-direction: column;
}

.members-show-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.members-show-card .show-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #d7006d;
    margin-bottom: 0.25rem;
    line-height: 1.2;
}

.members-show-card .show-name.small {
    font-size: 0.75rem;
    margin-bottom: 0.15rem;
}

.members-show-card .broadcast-date {
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: auto;
}

.members-show-card .show-count {
    font-size: 0.7rem;
    font-weight: 700;
    color: #d7006d;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.members-show-card .show-more {
    font-size: 0.65rem;
    color: #6c757d;
    font-style: italic;
    margin-top: 0.15rem;
}

/* Container styles for multiple items in members show cards */
.members-show-card .shows-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

/* Event Card */
.event-card {
    min-width: 100px;
    height: 140px; /* Increased height for multiple items */
    background: linear-gradient(135deg, #f8f9fa 0%, #f1f3f5 100%);
    border: 3px solid #6c757d;
    position: relative; /* For absolute positioning of icons */
}

.event-card .event-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: 0.25rem;
    line-height: 1.2;
}

.event-card .event-name.small {
    font-size: 0.75rem;
    margin-bottom: 0.15rem;
}

.event-card .event-date {
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: auto;
}

/* Container styles for multiple items */
.shows-container, .events-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.show-count, .event-count {
    font-size: 0.7rem;
    font-weight: 700;
    color: #d7006d;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.event-count {
    color: #6c757d;
}

.show-more, .event-more {
    font-size: 0.65rem;
    color: #6c757d;
    font-style: italic;
    margin-top: 0.15rem;
}

/* Card Icons */
.card-icon {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.show-icon {
    background-color: #d7006d;
    color: white;
    border: 2px solid white;
}

/* Latest Ribbon for first carousel card */
.latest-ribbon {
    position: absolute;
    top: 15px;
    left: -35px;
    transform: rotate(-45deg);
    background-color: #d7006d;
    color: white;
    padding: 5px 40px;
    font-size: 12px;
    font-weight: bold;
    z-index: 20;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    text-transform: uppercase;
    letter-spacing: 1px;
    overflow: hidden;
}

/* Add a small triangle to complete the ribbon effect */
.latest-ribbon::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    border-top: 5px solid #a00050;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

/* Ensure the card container clips any overflow */
.show-card {
    overflow: hidden;
    position: relative;
}

/* TV News Style Title Animation Overlay */
.title-animation-overlay {
    position: absolute;
    bottom: 10%; /* Positioned 90% of the way down the image */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 0;
    z-index: 10;
}

.title-animation-container {
    display: inline-block;
    background-color: var(--primary-pink);
    color: white;
    border-radius: 0 25px 25px 0;
    box-shadow: 0 4px 0 var(--darker-pink), 0 5px 10px rgba(0,0,0,0.1);
    padding: 0.5rem 1rem;
    opacity: 0;
    animation: fadeInTitle 1s ease 0.5s forwards;
}

@keyframes fadeInTitle {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.news-title-overlay {
    color: white !important;
    margin: 0;
    font-size: 1.5rem;
    font-weight: bold;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

/* Responsive adjustments for title animation */
@media (max-width: 768px) {
    .title-animation-overlay {
        padding: 0;
        bottom: 60px; /* Increased from 15px to avoid copyright overlap */
    }
    
    .title-animation-container {
        padding: 0.4rem 0.8rem;
        border-radius: 0 20px 20px 0;
        max-width: 85%; /* Reduced from 95% to prevent right-side overflow */
    }
    
    .news-title-overlay {
        font-size: 1.2rem;
        line-height: 1.3;
    }
}

@media (max-width: 480px) {
    .title-animation-overlay {
        padding: 0;
        bottom: 50px; /* Increased from 10px to avoid copyright overlap */
    }
    
    .title-animation-container {
        padding: 0.3rem 0.6rem;
        border-radius: 0 15px 15px 0;
        max-width: 90%; /* Reduced from 98% to prevent right-side overflow */
    }
    
    .news-title-overlay {
        font-size: 1rem;
        line-height: 1.2;
    }
}

/* Image Copyright Overlay Styles - Updated with proper z-index */
.image-copyright-overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: rgba(51, 51, 51, 0.85); /* Dark grey with transparency */
    color: white;
    padding: 8px 12px;
    font-size: 0.8rem;
    font-weight: 400;
    z-index: 15; /* Increased from 5 to ensure it stays above title */
    max-width: 200px;
    line-height: 1.3;
}

.image-copyright-overlay small {
    color: white;
    font-size: 0.75rem;
}

/* Responsive adjustments for copyright overlay */
@media (max-width: 480px) {
    .image-copyright-overlay {
        padding: 5px 8px;
        font-size: 0.7rem;
        max-width: 140px;
    }
    
    .image-copyright-overlay small {
        font-size: 0.65rem;
    }
}

/* Admin Page Email Column Styles */
.admin-email-column {
    max-width: 200px;
    min-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
}

.admin-email-column:hover {
    overflow: visible;
    white-space: normal;
    background-color: white;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    padding: 4px 8px;
    margin: -4px -8px;
}

/* Responsive adjustments for admin email column */
@media (max-width: 768px) {
    .admin-email-column {
        max-width: 150px;
        min-width: 120px;
    }
}

@media (max-width: 576px) {
    .admin-email-column {
        max-width: 120px;
        min-width: 100px;
    }
}

/* About Page Image and Content Layout */
.image-content-layout {
    position: relative;
}

.page-image {
    width: 50%;
    max-width: 50%;
    margin-bottom: 1rem;
}

.page-image img {
    max-width: 100%;
    height: auto;
}

/* Float the image on medium screens and up */
@media (min-width: 768px) {
    .page-image {
        float: left;
        width: 50%;
        max-width: 50%;
        margin-right: 2rem;
        margin-bottom: 1rem;
    }
}

.page-content {
    line-height: 1.6;
    /* Remove overflow: hidden to allow text to flow around floated image */
}

/* Responsive adjustments for about page layout */
@media (max-width: 767.98px) {
    .page-image {
        width: 100%;
        max-width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 1.5rem;
    }
    
    .page-content {
        width: 100%;
    }
}

/* Additional spacing for better readability */
.content-body {
    font-size: 1.1rem;
    line-height: 1.7;
}

.content-body p {
    margin-bottom: 1rem;
}

.content-body h2,
.content-body h3,
.content-body h4 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #d7006d;
}

.content-body h2 {
    font-size: 1.5rem;
}

.content-body h3 {
    font-size: 1.3rem;
}

.content-body h4 {
    font-size: 1.1rem;
}

/* Podcast Hero Image Styles */
.podcast-hero-container {
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.podcast-hero-image {
    width: 100%;
    height: 0;
    padding-bottom: 40%; /* Same aspect ratio as news hero */
    position: relative;
    overflow: hidden;
}

.podcast-hero-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; /* Default center, overridden by inline style */
}

/* Now Playing Title Overlay */
.now-playing-overlay {
    position: absolute;
    bottom: 10%; /* Positioned 90% of the way down the image */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 0;
    z-index: 10;
}

.now-playing-container {
    display: inline-block;
    background-color: var(--primary-pink);
    color: white;
    border-radius: 0 25px 25px 0;
    box-shadow: 0 4px 0 var(--darker-pink), 0 5px 10px rgba(0,0,0,0.1);
    padding: 0.75rem 1.5rem;
    opacity: 0;
    animation: fadeInTitle 1s ease 0.5s forwards;
}

.podcast-title-overlay {
    color: white !important;
    margin: 0;
    font-size: 1.5rem;
    font-weight: bold;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.now-playing-text {
    font-weight: 600;
    font-size: 1rem;
    opacity: 0.9;
    white-space: nowrap;
}

.podcast-title {
    flex: 1;
    min-width: 0;
}

.play-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.play-icon svg {
    width: 20px;
    height: 20px;
    margin-left: 2px; /* Slight offset for play icon */
}

.now-playing-container:hover .play-icon {
    background-color: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

/* Interactive Now Playing Button */
.now-playing-play-btn {
    cursor: pointer;
}

/* Now Playing Button Icon States */
.play-icon-svg, .pause-icon-svg {
    transition: all 0.3s ease;
}

.now-playing-play-btn:hover .play-icon {
    background-color: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

/* Related Podcasts Section */
.related-podcasts-section {
    margin-bottom: 2rem;
}

.related-podcasts-title {
    color: #d7006d;
    font-weight: 700;
    border-bottom: 3px solid #d7006d;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.related-podcasts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.related-podcast-item {
    transition: transform 0.3s ease;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f8f9fa;
}

.related-podcast-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.related-podcast-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.related-podcast-image {
    position: relative;
    overflow: hidden;
    padding-bottom: 66.67%; /* 3:2 aspect ratio */
    height: 0;
}

.related-podcast-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.related-podcast-item:hover .related-podcast-image img {
    transform: scale(1.05);
}

.related-podcast-image.placeholder {
    background-color: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
}

.related-podcast-content {
    padding: 1rem;
}

.related-podcast-title {
    color: #212529;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    font-size: 0.95rem;
}

/* Podcast Description Styles */
.podcast-description .lead {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #495057;
}

.broadcast-date-section {
    border-top: 2px solid #e9ecef;
    padding-top: 1rem;
}

.broadcast-date-section h5 {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.broadcast-date-section .h6 {
    font-size: 1rem;
    color: #d7006d;
    font-weight: 600;
}

/* Responsive adjustments for podcast hero */
@media (max-width: 768px) {
    .now-playing-overlay {
        padding: 0;
        bottom: 60px; /* Increased to avoid copyright overlap */
    }
    
    .now-playing-container {
        padding: 0.6rem 1rem;
        border-radius: 0 20px 20px 0;
        max-width: 85%;
    }
    
    .podcast-title-overlay {
        font-size: 1.2rem;
        line-height: 1.3;
        gap: 0.5rem;
    }
    
    .now-playing-text {
        font-size: 0.9rem;
        display: none; /* Hide "Now Playing" text on mobile */
    }
    
    .now-playing-container .play-icon {
        width: 28px;
        height: 28px;
        display: none; /* Hide play button in title overlay on mobile */
    }
    
    .play-icon svg {
        width: 16px;
        height: 16px;
    }
}

@media (max-width: 480px) {
    .now-playing-overlay {
        padding: 0;
        bottom: 50px; /* Increased to avoid copyright overlap */
    }
    
    .now-playing-container {
        padding: 0.5rem 0.8rem;
        border-radius: 0 15px 15px 0;
        max-width: 90%;
    }
    
    .podcast-title-overlay {
        font-size: 1rem;
        line-height: 1.2;
        gap: 0.4rem;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .now-playing-text {
        font-size: 0.8rem;
        display: none; /* Hide "Now Playing" text on mobile */
    }
    
    .now-playing-container .play-icon {
        width: 24px;
        height: 24px;
        margin-top: 0.25rem;
        display: none; /* Hide play button in title overlay on mobile */
    }
    
    .play-icon svg {
        width: 14px;
        height: 14px;
    }
    
    .related-podcasts-grid {
        grid-template-columns: 1fr;
    }
    
    .related-podcast-title {
        font-size: 0.85rem;
    }
    
    .related-podcast-content {
        padding: 0.75rem;
    }
}

@media (max-width: 992px) {
    .related-podcasts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .image-copyright-overlay {
        padding: 5px 8px;
        font-size: 0.7rem;
        max-width: 140px;
    }
    
    .image-copyright-overlay small {
        font-size: 0.65rem;
    }
}

/* Responsive adjustments for ribbon */
@media (max-width: 768px) {
    .latest-ribbon {
        font-size: 10px;
        padding: 4px 20px;
        left: -8px;
        top: 8px;
    }
}

@media (max-width: 480px) {
    .latest-ribbon {
        font-size: 9px;
        padding: 3px 18px;
        left: -7px;
        top: 6px;
    }
}

/* Current Date Highlight */
.current-date {
    border: 4px solid #dc3545 !important;
    border-radius: 16px;
    background: linear-gradient(135deg, #fff5f5 0%, #ffe6e6 100%) !important;
    transform: scale(1.05);
}

/* Next Upcoming Highlight */
.next-upcoming {
    border: 20px solid #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.3);
    min-width: 140px !important;
    height: 160px !important;
}

/* Ensure next-upcoming overrides weekend-date border color */
.next-upcoming.weekend-date {
    border-color: #dc3545 !important;
}

/* Event Lozenge Styles */
.event-lozenge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 0.1rem 0.2rem;
    white-space: nowrap;
    background-color: #fff5f8;
    color: #d7006d;
    border: 2px solid #d7006d;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.event-lozenge:hover {
    background-color: #d7006d;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(215, 0, 109, 0.3);
}

.event-lozenge:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(215, 0, 109, 0.2);
}

.event-lozenge::after {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 2px solid transparent;
    border-radius: 24px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.event-lozenge:hover::after {
    opacity: 1;
    border-color: rgba(215, 0, 109, 0.3);
}

.event-start {
    border-right: 2px solid #d7006d;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-right: 0.5rem;
    margin-right: -2px;
}

.event-middle {
    border-left: 2px solid #d7006d;
    border-right: 2px solid #d7006d;
    border-radius: 0;
    padding: 0.25rem 0.5rem;
    margin: 0 -2px;
}

.event-end {
    border-left: 2px solid #d7006d;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 0.5rem;
    margin-left: -2px;
}

.event-icon {
    font-size: 0.75rem;
    margin: 0 0.15rem;
    vertical-align: middle;
    color: #d7006d;
    background: white;
}

.event-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    align-items: center;
}

/* Responsive adjustments for event lozenges */
@media (max-width: 768px) {
    .event-lozenge {
        font-size: 0.75rem;
        padding: 0.2rem 0.6rem;
    }
    
    .event-container {
        gap: 0.1rem;
    }
}

/* Weekend styling */
.weekend-date {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-color: #ced4da !important;
}

/* Responsive adjustments for next-upcoming */
@media (max-width: 768px) {
    .next-upcoming {
        min-width: 110px !important;
        height: 130px !important;
    }
}

/* Podcast Providers Bar Styles */
.podcast-providers-section {
    background-color: #495057; /* Dark grey matching podcast carousel date bar */
    padding: 2rem 0;
    margin: 0;
}

.provider-item {
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%; /* Ensure full width of column */
}

.provider-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    width: 100%; /* Full width of container */
    padding: 0.5rem; /* Add some padding */
}

.provider-logo {
    width: 100%; /* Full width of container */
    height: auto; /* Maintain aspect ratio */
    max-width: 100%; /* Don't exceed container width */
    max-height: 80px; /* Reasonable maximum height */
    object-fit: contain; /* Ensure proper scaling */
    opacity: 0.8;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.provider-placeholder {
    width: 100%; /* Full width of container */
    height: 80px; /* Fixed height for consistency */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: 4px;
    text-align: center;
    transition: all 0.3s ease;
    background-color: rgba(255, 255, 255, 0.1);
}

.provider-item:hover {
    transform: scale(1.05);
}

.provider-item:hover .provider-logo {
    opacity: 1;
}

.provider-item:hover .provider-placeholder {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.2);
}

/* Responsive adjustments for podcast providers */
@media (max-width: 768px) {
    .podcast-providers-section {
        padding: 1.5rem 0;
    }
    
    .provider-logo {
        max-height: 70px; /* Slightly smaller on tablets */
    }
    
    .provider-placeholder {
        height: 70px; /* Match logo height */
        font-size: 0.8rem;
    }
}

@media (max-width: 576px) {
    .provider-logo {
        max-height: 60px; /* Smaller on mobile */
    }
    
    .provider-placeholder {
        height: 60px; /* Match logo height */
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {
    .provider-logo {
        max-height: 50px; /* Even smaller on very small screens */
    }
    
    .provider-placeholder {
        height: 50px; /* Match logo height */
        font-size: 0.65rem;
    }
}

/* Tab Styles for Show Planner and other applications */
.nav-tabs .nav-link {
    border: 1px solid #dee2e6;
    border-bottom: none;
    background-color: #f8f9fa;
    color: #65686d;
    margin-right: 2px;
    border-radius: 4px 4px 0 0;
}

.nav-tabs .nav-link:hover {
    background-color: #e9ecef;
    border-color: #dee2e6 #dee2e6 transparent;
    color: #d7006d;
}

.nav-tabs .nav-link.active {
    background-color: #ffffff !important;
    border-color: #dee2e6 #dee2e6 transparent !important;
    color: #d7006d !important;
    font-weight: 500;
}

/* Ensure all tabs have proper spacing */
.nav-tabs .nav-item {
    margin-bottom: -1px;
}

/* Active month tab styling for show planner */
#monthTabs .nav-link.active {
    font-size: 1.1rem;
    font-weight: 700;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .nav-tabs .nav-link {
        font-size: 0.8rem;
        padding: 0.5rem 0.75rem;
    }
    
    #monthTabs .nav-link.active {
        font-size: 0.9rem;
    }
}

/* Custom pink table header */
.table-pink {
    --bs-table-bg: #fce4f0 !important;
    --bs-table-color: #d7006d !important;
    background-color: #fce4f0 !important;
    color: #d7006d !important;
}

.table-pink > tr > th {
    background-color: #fce4f0 !important;
    color: #d7006d !important;
}

/* Breaking news badge styling */
.badge.bg-danger {
    background-color: #dc3545 !important;
    font-weight: bold;
    font-size: 0.75em;
    padding: 0.35em 0.65em;
    animation: pulse 2s infinite;
}

/* Breaking News Indicator on Hero Image */
.breaking-news-indicator {
    position: absolute;
    top: 10%; /* Positioned 10% from the top */
    left: 20px;
    background-color: #dc3545;
    color: white;
    padding: 12px 20px;
    font-weight: bold;
    font-size: 1.2rem;
    text-transform: uppercase;
    border-radius: 8px;
    z-index: 15;
    animation: pulse 2s infinite;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    letter-spacing: 1px;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(220, 53, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0);
    }
}

/* Responsive adjustments for breaking news indicator */
@media (max-width: 768px) {
    .breaking-news-indicator {
        left: 15px;
        padding: 10px 16px;
        font-size: 1rem;
        top: 8%;
    }
}

@media (max-width: 480px) {
    .breaking-news-indicator {
        left: 10px;
        padding: 8px 12px;
        font-size: 0.9rem;
        top: 6%;
    }
}

/* Weekend and weekday row styling */
.weekday-row {
    --bs-table-bg: #ffffff !important;
    background-color: #ffffff !important;
}

.weekend-row {
    --bs-table-bg: #f8f9fa !important;
    background-color: #f8f9fa !important;
}

.weekday-row:hover,
.weekend-row:hover {
    --bs-table-bg: #e9ecef !important;
    background-color: #e9ecef !important;
}

/* Sunday row styling for week separation */
.sunday-row {
    border-bottom: 3px solid #495057 !important;
}

/* Black text styling for days with shows - overrides weekend styling */
.has-show {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* Ensure black text works on weekend rows */
.weekend-row .has-show,
.sunday-row .has-show {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* Related News Section Styles */
.related-news-section {
    margin-bottom: 2rem;
}

.related-news-title {
    color: #d7006d;
    font-weight: 700;
    border-bottom: 3px solid #d7006d;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.related-news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.related-news-item {
    transition: transform 0.3s ease;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f8f9fa;
}

.related-news-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.related-news-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.related-news-image {
    position: relative;
    overflow: hidden;
    padding-bottom: 66.67%; /* 3:2 aspect ratio */
    height: 0;
}

.related-news-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.related-news-item:hover .related-news-image img {
    transform: scale(1.05);
}

.related-news-image.placeholder {
    background-color: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
}

.placeholder-content {
    color: #6c757d;
    font-size: 2rem;
}

.related-news-content {
    padding: 1rem;
}

.related-news-item-title {
    color: #212529;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
    font-size: 0.95rem;
}

/* White Pulsing Effect for Play Icon */
.play-icon {
    animation: white-pulse 2s infinite;
}

@keyframes white-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

/* Responsive adjustments for related news */
@media (max-width: 992px) {
    .related-news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .related-news-item-title {
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .related-news-grid {
        grid-template-columns: 1fr;
    }
    
    .related-news-item-title {
        font-size: 0.85rem;
    }
    
    .related-news-content {
        padding: 0.75rem;
    }
}

/* Date Cards Navigation */
.date-cards-navigation {
    display: flex;
    align-items: center;
    margin: 1rem 0;
}

.nav-btn {
    width: 40px;
    height: 80px;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid #d7006d;
    border-radius: 6px;
    color: #d7006d;
    cursor: pointer;
    display: none; /* Hide navigation arrows */
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.nav-btn:hover {
    background: #d7006d;
    color: white;
    box-shadow: 0 4px 12px rgba(215, 0, 109, 0.3);
}

.nav-btn-prev {
    margin-right: 0.5rem;
}

.nav-btn-next {
    margin-left: 0.5rem;
}

.nav-btn svg {
    width: 20px;
    height: 20px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .date-card {
        min-width: 80px;
        height: 100px;
        margin: 0 0.25rem;
        padding: 0.5rem;
    }
    
    .month-card {
        min-width: 110px;
        height: 150px;
        margin-top: -15px;
        padding-bottom: 15px;
    }
    
    .month-card .day {
        font-size: 1.5rem;
    }
    
    .month-card .month {
        font-size: 0.9rem;
    }
    
    .month-card .year {
        font-size: 0.8rem;
    }
    
    .show-card {
        min-width: 100px;
        height: 120px;
    }
    
    .show-card .show-name {
        font-size: 0.8rem;
    }
    
    .event-card {
        min-width: 80px;
        height: 100px;
    }
    
    .event-card .event-name {
        font-size: 0.75rem;
    }
}

/* Load More Button Styles */
#load-more-btn {
    background-color: #d7006d;
    border-color: #d7006d;
    color: white;
    padding: 12px 30px;
    font-weight: 600;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 0 #a00050, 0 5px 10px rgba(0,0,0,0.1);
    transform: translateY(0);
}

#load-more-btn:hover {
    background-color: #c00060;
    border-color: #c00060;
    box-shadow: 0 2px 0 #a00050, 0 0 20px rgba(215, 0, 109, 0.8);
    transform: translateY(2px);
}

#load-more-btn:disabled {
    background-color: #6c757d;
    border-color: #6c757d;
    opacity: 0.7;
    cursor: not-allowed;
    transform: translateY(0);
    box-shadow: 0 2px 0 #495057;
}

#load-more-btn .spinner-border {
    width: 1rem;
    height: 1rem;
    border-width: 0.15em;
}

#showing-count {
    font-size: 0.9rem;
    color: #6c757d;
}

/* Text Selection Styling - Pink Selection */
::selection {
    background-color: #d7006d;
    color: white;
}

::-moz-selection {
    background-color: #d7006d;
    color: white;
}

::-webkit-selection {
    background-color: #d7006d;
    color: white;
}
