/* specificity = (0,1,2) so this beats Bootstrap’s (0,1,0) */
html[data-bs-theme="light"] body {
    /* ——— Semantic palette ——— */
    --background-color:       #FFFFFF;
    --text-color:             #15293A;
    --primary-color:          #02375B;
    --primary-text:           #FFFFFF;
    --secondary-color:        #4F6576;
    --secondary-text:         #FFFFFF;
    --accent-color:           #1A7894;
    --link-color:             #02375B;

    /* ——— UI shorthand ——— */
    --ui-bg-default:   var(--background-color);
    --ui-text-default: var(--text-color);
    --ui-text-accent:  var(--accent-color);

    /* ——— Bootstrap vars mapping ——— */
    --bs-body-bg:           var(--background-color);
    --bs-body-color:        var(--text-color);
    --bs-body-bg-rgb:       255,255,255;
    --bs-body-color-rgb:    21,41,58;

    --bs-primary:           var(--primary-color);
    --bs-primary-rgb:       2,55,91;
    --bs-secondary:         var(--secondary-color);
    --bs-secondary-rgb:     79,101,118;

    --bs-link-color:        var(--link-color);
    --bs-link-color-rgb:    2,55,91;
    --bs-link-hover-color:  var(--accent-color);

    /* optional extras */
    --bs-border-color:      var(--secondary-color);
    --bs-btn-bg:            var(--accent-color);
    --bs-btn-color:         var(--primary-text);
    --bs-btn-border-color:  transparent;

    --bs-modal-bg:           var(--background-color);
    --bs-modal-color:        var(--text-color);
    --bs-modal-border-color: var(--bs-border-color);

    /* Tables */
    --bs-border-color:      var(--bs-border-color-translucent);
}

/* only non-button links get the link-color */
html[data-bs-theme="light"] a:not(.btn) {
  color: var(--bs-link-color);
}
html[data-bs-theme="light"] a:not(.btn):hover {
  color: var(--bs-link-hover-color);
}

/* Primary button */
html[data-bs-theme="light"] .btn-primary {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #02375B;
  --bs-btn-border-color: #02375B;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: color-mix(in srgb, #02375B 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, #02375B 85%, black);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: color-mix(in srgb, #02375B 75%, black);
  --bs-btn-active-border-color: color-mix(in srgb, #02375B 75%, black);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #02375B;
  --bs-btn-disabled-border-color: #02375B;
}

/* Secondary button */
html[data-bs-theme="light"] .btn-secondary {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: #4F6576;
  --bs-btn-border-color: #4F6576;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: color-mix(in srgb, #4F6576 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, #4F6576 85%, black);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: color-mix(in srgb, #4F6576 75%, black);
  --bs-btn-active-border-color: color-mix(in srgb, #4F6576 75%, black);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: #4F6576;
  --bs-btn-disabled-border-color: #4F6576;
}

/* Outline primary button */
html[data-bs-theme="light"] .btn-outline-primary {
  --bs-btn-color: #02375B;
  --bs-btn-border-color: #02375B;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #02375B;
  --bs-btn-hover-border-color: #02375B;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #02375B;
  --bs-btn-active-border-color: #02375B;
  --bs-btn-disabled-color: #02375B;
  --bs-btn-disabled-border-color: #02375B;
}

/* Outline secondary button */
html[data-bs-theme="light"] .btn-outline-secondary {
  --bs-btn-color: #4F6576;
  --bs-btn-border-color: #4F6576;
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #4F6576;
  --bs-btn-hover-border-color: #4F6576;
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: #4F6576;
  --bs-btn-active-border-color: #4F6576;
  --bs-btn-disabled-color: #4F6576;
  --bs-btn-disabled-border-color: #4F6576;
}

/* Modern card styling */
html[data-bs-theme="light"] .card {
  border: none;
  border-radius: 0.75rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
  transition: box-shadow 0.15s ease;
}
html[data-bs-theme="light"] .card:hover {
  box-shadow: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.05);
}
html[data-bs-theme="light"] .card-header {
  background: transparent;
  border-bottom: 1px solid var(--bs-border-color-translucent);
  padding: 1rem 1.25rem;
}
html[data-bs-theme="light"] .card-body {
  padding: 1.25rem;
}
html[data-bs-theme="light"] .card-footer {
  background: transparent;
  border-top: 1px solid var(--bs-border-color-translucent);
}
html[data-bs-theme="light"] .list-group-item {
  border-left: none;
  border-right: none;
}
html[data-bs-theme="light"] .list-group-flush > .list-group-item:first-child {
  border-top: none;
}
html[data-bs-theme="light"] .list-group-flush > .list-group-item:last-child {
  border-bottom: none;
}