a, a:focus, a:hover, a:active {
    color: #A55AFF;
    text-decoration: none;
}

/* Nav-link colors - structure in navbar.css */
.nav-link {
    color: #E0E0E0;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.nav-link:hover, .nav-link:focus {
    color: #FFFFFF;
    background-color: rgba(165, 90, 255, 0.15);
}

.nav-link.active {
    color: #FFFFFF;
    background-color: rgba(165, 90, 255, 0.25);
}

.btn-primary {
    background-image: linear-gradient(to right, #A55AFF 0%, #C08BFF 50%, #A55AFF 100%);
    background-size: 200% auto;
    color: #FFFFFF;
    border: none;
    transition: background-position 0.3s ease-in-out, transform 0.1s ease-in-out;
}

.btn-primary:hover {
    background-position: right center;
    color: #FFFFFF;
}

.btn-primary:active {
    background-image: linear-gradient(to right, #8A4CCC 0%, #A55AFF 50%, #8A4CCC 100%);
    background-size: 200% auto;
    background-position: right center;
    color: #FFFFFF;
}

.btn-primary img {
    filter: brightness(0) invert(1); /* White */
}

.btn-secondary {
    background-color: transparent;
    color: #A55AFF;
    border: 1px solid #A55AFF;
}

.btn-secondary:hover {
    background-color: #A55AFF;
    color: #FFFFFF;
    border-color: #A55AFF;
}

.btn-secondary:active {
    background-color: #8A4CCC;
    color: #FFFFFF;
    border-color: #8A4CCC;
}

.btn-light {
    background-color: rgba(255, 255, 255, 0.15);
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(8px);
}

.btn-light:hover {
    background-color: rgba(255, 255, 255, 0.25);
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.5);
}

.btn-light:active {
    background-color: rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, 0.6);
}

.btn-secondary img {
    filter: brightness(0) saturate(100%) invert(38%) sepia(98%) saturate(1657%) hue-rotate(241deg) brightness(100%) contrast(102%); /* #A55AFF */
    transition: filter 0.2s ease-in-out;
}

.btn-secondary:hover img,
.btn-secondary:active img,
.btn-secondary:focus img {
    filter: brightness(0) invert(1);
}

.btn-light img {
    filter: brightness(0) invert(1);
    transition: filter 0.2s ease-in-out;
}

.btn-light:hover img,
.btn-light:active img,
.btn-light:focus img {
    filter: brightness(0) invert(1);
}

.btn-check:checked+.btn-primary,
.btn-primary.active,
.btn-primary.show,
.btn-primary:first-child:active, 
:not(.btn-check)+.btn-primary:active {
    color: #FFFFFF;
    background-image: linear-gradient(to right, #8A4CCC 0%, #A55AFF 50%, #8A4CCC 100%);
    border: none;
}

.btn-check:checked+.btn-secondary,
.btn-secondary.active,
.btn-secondary.show,
.btn-secondary:first-child:active, 
:not(.btn-check)+.btn-secondary:active {
    color: #FFFFFF;
    background-color: #8A4CCC;
    border-color: #8A4CCC;
}

.btn-check:checked+.btn-light,
.btn-light.active,
.btn-light.show,
.btn-light:first-child:active, 
:not(.btn-check)+.btn-light:active {
    color: #FFFFFF;
    background-color: rgba(255, 255, 255, 0.35);
    border-color: rgba(255, 255, 255, 0.6);
}

.btn-check:checked+.btn-secondary img,
.btn-secondary.active img,
.btn-secondary.show img,
.btn-secondary:first-child:active img, 
:not(.btn-check)+.btn-secondary:active img {
    filter: brightness(0) invert(1);
}

.btn-check:checked+.btn-light img,
.btn-light.active img,
.btn-light.show img,
.btn-light:first-child:active img, 
:not(.btn-check)+.btn-light:active img {
    filter: brightness(0) invert(1);
}

.card {
    background-color: rgba(211, 227, 244, 0.25);
    border: none;
}

.card-gradient {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), linear-gradient(to right, #E0C3FC, #8EC5FC);
}

.accordion-item {
    /* border-bottom: 1px solid rgba(0, 0, 0, 0.1); Removed, handled in base.css */
}

.accordion-header .accordion-button {
    background-color: #FFFFFF;
    color: #0B1E28;
    border: 1px solid #E0E0E0;
}

.accordion-header .accordion-button:hover {
    background-color: #F8F9FA;
    color: #0B1E28;
    border-color: #D0D0D0;
}

.accordion-header .accordion-button:not(.collapsed) {
    background-color: rgba(165, 90, 255, 0.1);
    color: #0B1E28;
    border-color: #A55AFF;
}

.accordion-header .accordion-button:not(.collapsed) img {
    filter: none;
}

.accordion-header .accordion-button img {
    filter: none;
    transition: filter 0.2s ease-in-out;
}

.accordion-header .accordion-button:focus {
    box-shadow: none;
    border-color: #A55AFF;
    outline: 2px solid rgba(165, 90, 255, 0.5);
}

.background-light {
    background-color: rgba(233, 241, 249);
}

.background-lighter {
    background-color: #FFFFFF;
}

.background-dark {
    background: #0B1E28;
}

.background-darker {
    background-color: #000000;
}

.background-gradient {
    background: linear-gradient(135deg, #E0C3FC, #8EC5FC);
}

.color-light {
    color: #FFFFFF;
}

.color-dark {
    color: #0B1E28;
}

.color-highlight {
    color: #A55AFF !important;
}

/* Dropdown and language selector colors - structure in navbar.css */
.dropdown-menu {
    background-color: #0B1E28;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.dropdown-item {
    color: #E0E0E0;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: rgba(165, 90, 255, 0.2);
    color: #FFFFFF;
}

.dropdown-item:active {
    background-color: rgba(165, 90, 255, 0.3);
    color: #FFFFFF;
}

.language-selected span {
    color: #FFFFFF;
}

.language-dropdown a.dropdown-item {
    color: #E0E0E0;
}

.language-dropdown a.dropdown-item:hover {
    background-color: rgba(165, 90, 255, 0.2);
    color: #FFFFFF;
}

/* === Footer Color Adjustments === */

/* Footer inherits .color-light (#FFFFFF) from the main footer tag in page.php */
/* Footer icons are SVGs, they should ideally inherit color or be filterable if they are not already white */
/* Assuming icons are designed to be white or can be made white with a filter */
.footer-icon {
    /* filter: brightness(0) invert(1); /* Ensures icons are white - REMOVED to preserve original icon colors */
}

.footer-links a {
    color: #FFFFFF;
}

.footer-links a:hover,
.footer-links a:focus {
    color: #A55AFF;
    opacity: 1;
}

/* Ensure .icon-link in footer behaves like other footer links */
.footer-links .icon-link {
    color: #FFFFFF;
}

.footer-links .icon-link:hover,
.footer-links .icon-link:focus {
    color: #A55AFF;
}

.footer-links .icon-link:hover .footer-icon,
.footer-links .icon-link:focus .footer-icon {
    transform: scale(1.05);
}

