/**
 * Dynamic Colors CSS
 * This file contains CSS variables that are dynamically set by PHP
 */

/* News Page Styles */
body.news-page {
    --page-color: var(--news-color);
    --page-color-dark: var(--news-color-dark);
}

/* Events Page Styles */
body.events-page {
    --page-color: var(--events-color);
    --page-color-dark: var(--events-color-dark);
}

/* Announcements Page Styles */
body.announcements-page {
    --page-color: var(--announcements-color);
    --page-color-dark: var(--announcements-color-dark);
}

/* Apply dynamic colors to all elements */
body.news-page .bg-primary,
body.news-page .btn-primary,
body.news-page .badge.bg-primary,
body.news-page .card-header.bg-primary,
body.news-page .badge.bg-success,
body.news-page .btn-success,
body.news-page .card-header.bg-success,
body.news-page .badge.bg-warning,
body.news-page .btn-warning,
body.news-page .card-header.bg-warning {
    background-color: var(--news-color) !important;
    border-color: var(--news-color) !important;
}

body.events-page .bg-primary,
body.events-page .btn-primary,
body.events-page .badge.bg-primary,
body.events-page .card-header.bg-primary,
body.events-page .badge.bg-success,
body.events-page .btn-success,
body.events-page .card-header.bg-success,
body.events-page .badge.bg-warning,
body.events-page .btn-warning,
body.events-page .card-header.bg-warning {
    background-color: var(--events-color) !important;
    border-color: var(--events-color) !important;
}

body.announcements-page .bg-primary,
body.announcements-page .btn-primary,
body.announcements-page .badge.bg-primary,
body.announcements-page .card-header.bg-primary,
body.announcements-page .badge.bg-success,
body.announcements-page .btn-success,
body.announcements-page .card-header.bg-success,
body.announcements-page .badge.bg-warning,
body.announcements-page .btn-warning,
body.announcements-page .card-header.bg-warning {
    background-color: var(--announcements-color) !important;
    border-color: var(--announcements-color) !important;
}

/* Text colors */
body.news-page .text-primary,
body.news-page .text-success,
body.news-page .text-warning {
    color: var(--news-color) !important;
}

body.events-page .text-primary,
body.events-page .text-success,
body.events-page .text-warning {
    color: var(--events-color) !important;
}

body.announcements-page .text-primary,
body.announcements-page .text-success,
body.announcements-page .text-warning {
    color: var(--announcements-color) !important;
}

/* Outline buttons */
body.news-page .btn-outline-primary,
body.news-page .btn-outline-success,
body.news-page .btn-outline-warning {
    color: var(--news-color) !important;
    border-color: var(--news-color) !important;
}

body.events-page .btn-outline-primary,
body.events-page .btn-outline-success,
body.events-page .btn-outline-warning {
    color: var(--events-color) !important;
    border-color: var(--events-color) !important;
}

body.announcements-page .btn-outline-primary,
body.announcements-page .btn-outline-success,
body.announcements-page .btn-outline-warning {
    color: var(--announcements-color) !important;
    border-color: var(--announcements-color) !important;
}

/* Hover states */
body.news-page .btn-outline-primary:hover,
body.news-page .btn-outline-success:hover,
body.news-page .btn-outline-warning:hover {
    background-color: var(--news-color) !important;
    color: white !important;
}

body.events-page .btn-outline-primary:hover,
body.events-page .btn-outline-success:hover,
body.events-page .btn-outline-warning:hover {
    background-color: var(--events-color) !important;
    color: white !important;
}

body.announcements-page .btn-outline-primary:hover,
body.announcements-page .btn-outline-success:hover,
body.announcements-page .btn-outline-warning:hover {
    background-color: var(--announcements-color) !important;
    color: white !important;
}

/* Navigation links */
body.news-page .navbar-nav .nav-link:after {
    background-color: var(--news-color) !important;
}

body.events-page .navbar-nav .nav-link:after {
    background-color: var(--events-color) !important;
}

body.announcements-page .navbar-nav .nav-link:after {
    background-color: var(--announcements-color) !important;
}

body.news-page .navbar-nav .nav-link:hover,
body.news-page .navbar-nav .nav-link.active {
    color: var(--news-color) !important;
}

body.events-page .navbar-nav .nav-link:hover,
body.events-page .navbar-nav .nav-link.active {
    color: var(--events-color) !important;
}

body.announcements-page .navbar-nav .nav-link:hover,
body.announcements-page .navbar-nav .nav-link.active {
    color: var(--announcements-color) !important;
}

/* Other elements */
body.news-page .divider {
    background-color: var(--news-color) !important;
}

body.events-page .divider {
    background-color: var(--events-color) !important;
}

body.announcements-page .divider {
    background-color: var(--announcements-color) !important;
}

body.news-page .news-content blockquote {
    border-left-color: var(--news-color) !important;
}

body.events-page .event-content blockquote {
    border-left-color: var(--events-color) !important;
}

body.announcements-page .announcement-content blockquote {
    border-left-color: var(--announcements-color) !important;
}

/* Hero section */
body.news-page .hero-section {
    background-color: var(--news-color) !important;
}

body.events-page .hero-section {
    background-color: var(--events-color) !important;
}

body.announcements-page .hero-section {
    background-color: var(--announcements-color) !important;
}

body.news-page .hero-section::before {
    background: linear-gradient(var(--news-color), var(--news-color-dark)) !important;
    background-image: var(--bg-image, linear-gradient(var(--news-color), var(--news-color-dark))) !important;
}

body.events-page .hero-section::before {
    background: linear-gradient(var(--events-color), var(--events-color-dark)) !important;
    background-image: var(--bg-image, linear-gradient(var(--events-color), var(--events-color-dark))) !important;
}

body.announcements-page .hero-section::before {
    background: linear-gradient(var(--announcements-color), var(--announcements-color-dark)) !important;
    background-image: var(--bg-image, linear-gradient(var(--announcements-color), var(--announcements-color-dark))) !important;
}

/* Card headers */
body.news-page .card-header h5,
body.news-page .card-header i {
    color: white !important;
}

body.events-page .card-header h5,
body.events-page .card-header i {
    color: white !important;
}

body.announcements-page .card-header h5,
body.announcements-page .card-header i {
    color: white !important;
}

/* Pagination */
body.news-page .page-item.active .page-link {
    background-color: var(--news-color) !important;
    border-color: var(--news-color) !important;
}

body.events-page .page-item.active .page-link {
    background-color: var(--events-color) !important;
    border-color: var(--events-color) !important;
}

body.announcements-page .page-item.active .page-link {
    background-color: var(--announcements-color) !important;
    border-color: var(--announcements-color) !important;
}

body.news-page .page-link {
    color: var(--news-color) !important;
}

body.events-page .page-link {
    color: var(--events-color) !important;
}

body.announcements-page .page-link {
    color: var(--announcements-color) !important;
}

/* Specific overrides for elements that might be missed */
body.news-page a.btn-sm,
body.events-page a.btn-sm,
body.announcements-page a.btn-sm {
    transition: all 0.3s ease;
}

body.news-page a.btn-sm:hover,
body.events-page a.btn-sm:hover,
body.announcements-page a.btn-sm:hover {
    opacity: 0.9;
}
