/* ============================================================
   Osminog Theme Overrides
   Loaded AFTER bootstrap.min.css to guarantee cascade priority.
   Dark = Bioluminescence (cyan + purple)
   Light = Glacier (sky blue + teal)
   ============================================================ */

/* === Color scheme: Bioluminescence (dark) === */
[data-bs-theme="dark"] {
    /* Primary (cyan) */
    --bs-primary: #06b6d4;
    --bs-primary-rgb: 6, 182, 212;
    --bs-primary-text-emphasis: #67e8f9;
    --bs-primary-bg-subtle: #042f2e;
    --bs-primary-border-subtle: #0e7490;
    /* Links */
    --bs-link-color: #22d3ee;
    --bs-link-color-rgb: 34, 211, 238;
    --bs-link-hover-color: #67e8f9;
    --bs-link-hover-color-rgb: 103, 232, 249;
    /* Body */
    --bs-body-bg: #0a0e1f;
    --bs-body-bg-rgb: 10, 14, 31;
    --bs-body-color: #bae6fd;
    --bs-body-color-rgb: 186, 230, 253;
    /* Surfaces — lifted from body to create contrast */
    --bs-secondary-bg: #151d35;
    --bs-secondary-bg-rgb: 21, 29, 53;
    --bs-tertiary-bg: #1a2540;
    --bs-tertiary-bg-rgb: 26, 37, 64;
    --bs-emphasis-color: #e0f2fe;
    --bs-secondary-color: rgba(186, 230, 253, 0.75);
    --bs-tertiary-color: rgba(186, 230, 253, 0.5);
    /* Borders */
    --bs-border-color: #1e3a5f;
    --bs-border-color-translucent: rgba(6, 182, 212, 0.15);
    /* Accent (purple) */
    --accent: #a855f7;
    --accent-rgb: 168, 85, 247;
    /* Logo */
    --logo-bg: #06b6d4;
    --logo-fg: #020617;
}

/* === Color scheme: Glacier (light) === */
[data-bs-theme="light"] {
    /* Primary (sky blue) */
    --bs-primary: #0284c7;
    --bs-primary-rgb: 2, 132, 199;
    --bs-primary-text-emphasis: #075985;
    --bs-primary-bg-subtle: #e0f2fe;
    --bs-primary-border-subtle: #7dd3fc;
    /* Links */
    --bs-link-color: #0284c7;
    --bs-link-color-rgb: 2, 132, 199;
    --bs-link-hover-color: #0369a1;
    --bs-link-hover-color-rgb: 3, 105, 161;
    /* Body */
    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-color: #475569;
    --bs-body-color-rgb: 71, 85, 105;
    /* Surfaces */
    --bs-secondary-bg: #f0f9ff;
    --bs-secondary-bg-rgb: 240, 249, 255;
    --bs-tertiary-bg: #e0f2fe;
    --bs-tertiary-bg-rgb: 224, 242, 254;
    --bs-emphasis-color: #0c4a6e;
    --bs-secondary-color: rgba(71, 85, 105, 0.75);
    --bs-tertiary-color: rgba(71, 85, 105, 0.5);
    /* Borders */
    --bs-border-color: #7dd3fc;
    --bs-border-color-translucent: rgba(2, 132, 199, 0.2);
    /* Accent (teal) */
    --accent: #0d9488;
    --accent-rgb: 13, 148, 136;
    /* Logo */
    --logo-bg: #0284c7;
    --logo-fg: #fff;
}

/* === Primary button === */
.btn-primary {
    --bs-btn-bg: #06b6d4;
    --bs-btn-border-color: #06b6d4;
    --bs-btn-disabled-bg: #06b6d4;
    --bs-btn-disabled-border-color: #06b6d4;
    --bs-btn-focus-shadow-rgb: 6, 182, 212;
    --bs-btn-color: #020617;
    --bs-btn-hover-color: #020617;
    --bs-btn-hover-bg: #0891b2;
    --bs-btn-hover-border-color: #0891b2;
    --bs-btn-active-color: #020617;
    --bs-btn-active-bg: #0e7490;
    --bs-btn-active-border-color: #0e7490;
}
[data-bs-theme="light"] .btn-primary {
    --bs-btn-bg: #0284c7;
    --bs-btn-border-color: #0284c7;
    --bs-btn-disabled-bg: #0284c7;
    --bs-btn-disabled-border-color: #0284c7;
    --bs-btn-focus-shadow-rgb: 2, 132, 199;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0369a1;
    --bs-btn-hover-border-color: #0369a1;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #075985;
    --bs-btn-active-border-color: #075985;
}

/* === Outline primary button === */
.btn-outline-primary {
    --bs-btn-color: #06b6d4;
    --bs-btn-border-color: #06b6d4;
    --bs-btn-hover-bg: #06b6d4;
    --bs-btn-hover-border-color: #06b6d4;
    --bs-btn-hover-color: #020617;
    --bs-btn-active-bg: #06b6d4;
    --bs-btn-active-border-color: #06b6d4;
    --bs-btn-active-color: #020617;
    --bs-btn-focus-shadow-rgb: 6, 182, 212;
}
[data-bs-theme="light"] .btn-outline-primary {
    --bs-btn-color: #0284c7;
    --bs-btn-border-color: #0284c7;
    --bs-btn-hover-bg: #0284c7;
    --bs-btn-hover-border-color: #0284c7;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #0284c7;
    --bs-btn-active-border-color: #0284c7;
    --bs-btn-active-color: #fff;
    --bs-btn-focus-shadow-rgb: 2, 132, 199;
}

/* === Text/bg primary utilities === */
.text-primary { color: var(--bs-primary) !important; }
.bg-primary { background-color: var(--bs-primary) !important; }
.text-bg-primary { background-color: var(--bs-primary) !important; }

/* === Focus ring === */
.btn-primary:focus-visible,
.btn-outline-primary:focus-visible {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .5);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.form-check-input:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}
.form-switch .form-check-input:checked {
    background-color: var(--bs-primary);
}

/* === Pagination === */
.page-link {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}
.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* === Nav pills/tabs active === */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--bs-primary);
}
.nav-link {
    --bs-nav-link-hover-color: var(--bs-primary);
}

/* === Dropdown active === */
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bs-primary);
}

/* === Progress bar === */
.progress-bar {
    background-color: var(--bs-primary);
}

/* === Alert primary === */
.alert-primary {
    --bs-alert-bg: var(--bs-primary-bg-subtle);
    --bs-alert-border-color: var(--bs-primary-border-subtle);
    --bs-alert-color: var(--bs-primary-text-emphasis);
}

/* === Dark theme: table surfaces === */
[data-bs-theme="dark"] .table {
    --bs-table-bg: #111828;
    --bs-table-striped-bg: #151d35;
    --bs-table-hover-bg: #1a2540;
    --bs-table-border-color: #1e3a5f;
    --bs-table-color: #bae6fd;
}

/* === Logo colors === */
.logo-icon circle { fill: var(--logo-bg); }
.logo-icon .logo-body { fill: var(--logo-fg); }
.logo-icon .logo-eye { fill: var(--logo-bg); }
.logo-icon .logo-tentacle { stroke: var(--logo-fg); }
