/**
 * Bootstrap Color Override - MonSwim Custom Colors
 * Clean Code: Centralize color management, DRY principle
 * 
 * Site Colors:
 * Primary: #09a5c7 (Cyan)
 * Secondary: #00bcd4 (Light Cyan)
 * Accent: #ee8000 (Orange)
 * Dark: #293e55 (Navy Blue)
 */

:root {
    /* Bootstrap Primary Override */
    --bs-primary: #09a5c7;
    --bs-primary-rgb: 9, 165, 199;
    --bs-primary-bg-subtle: #e8f4f7;
    --bs-primary-border-subtle: #b3e0eb;
    
    /* Bootstrap Secondary Override */
    --bs-secondary: #00bcd4;
    --bs-secondary-rgb: 0, 188, 212;
    --bs-secondary-bg-subtle: #e0f7fa;
    --bs-secondary-border-subtle: #b2ebf2;
    
    /* Bootstrap Warning Override (Orange) */
    --bs-warning: #ee8000;
    --bs-warning-rgb: 238, 128, 0;
    --bs-warning-bg-subtle: #fef3e6;
    --bs-warning-border-subtle: #fdd5a3;
    
    /* Bootstrap Dark Override */
    --bs-dark: #293e55;
    --bs-dark-rgb: 41, 62, 85;
    --bs-dark-bg-subtle: #e7eaed;
    --bs-dark-border-subtle: #c1c9d2;
    
    /* Bootstrap Info (keep cyan theme) */
    --bs-info: #00bcd4;
    --bs-info-rgb: 0, 188, 212;
    
    /* Link colors */
    --bs-link-color: #09a5c7;
    --bs-link-hover-color: #00bcd4;
    
    /* Border colors */
    --bs-border-color: #e8f4f7;
    --bs-border-color-translucent: rgba(9, 165, 199, 0.175);
}

/* Button Primary */
.btn-primary {
    background: linear-gradient(135deg, #09a5c7, #00bcd4);
    border: none;
    color: #fff;
    box-shadow: 0 4px 12px rgba(9, 165, 199, 0.2);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #00bcd4, #09a5c7);
    border: none;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(9, 165, 199, 0.3);
}

.btn-primary:active,
.btn-primary.active {
    background: linear-gradient(135deg, #0891ad, #0099b0);
    border: none;
}

/* Button Secondary */
.btn-secondary {
    background-color: #00bcd4;
    border-color: #00bcd4;
    color: #fff;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #00a5bd;
    border-color: #00a5bd;
    color: #fff;
}

/* Button Warning (Orange) */
.btn-warning {
    background: linear-gradient(135deg, #ee8000, #ff9520);
    border: none;
    color: #fff;
    box-shadow: 0 4px 12px rgba(238, 128, 0, 0.2);
}

.btn-warning:hover,
.btn-warning:focus {
    background: linear-gradient(135deg, #d97200, #ee8000);
    border: none;
    color: #fff;
}

/* Button Dark */
.btn-dark {
    background-color: #293e55;
    border-color: #293e55;
    color: #fff;
}

.btn-dark:hover,
.btn-dark:focus {
    background-color: #1f2f40;
    border-color: #1f2f40;
    color: #fff;
}

/* Button Outline Primary */
.btn-outline-primary {
    color: #09a5c7;
    border-color: #09a5c7;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: #09a5c7;
    border-color: #09a5c7;
    color: #fff;
}

/* Badge Primary */
.badge.bg-primary {
    background-color: #09a5c7 !important;
}

.badge.bg-secondary {
    background-color: #00bcd4 !important;
}

.badge.bg-warning {
    background-color: #ee8000 !important;
}

.badge.bg-dark {
    background-color: #293e55 !important;
}

/* Alert Primary */
.alert-primary {
    background-color: #e8f4f7;
    border-color: #b3e0eb;
    color: #065970;
}

.alert-warning {
    background-color: #fef3e6;
    border-color: #fdd5a3;
    color: #8f4e00;
}

/* Progress Bar */
.progress-bar {
    background-color: #09a5c7;
}

.progress-bar.bg-warning {
    background-color: #ee8000 !important;
}

/* Form Controls */
.form-control:focus,
.form-select:focus {
    border-color: #09a5c7;
    box-shadow: 0 0 0 0.25rem rgba(9, 165, 199, 0.25);
}

.form-check-input:checked {
    background-color: #09a5c7;
    border-color: #09a5c7;
}

/* Pagination */
.page-link {
    color: #09a5c7;
}

.page-link:hover {
    color: #00bcd4;
    background-color: #e8f4f7;
    border-color: #b3e0eb;
}

.page-item.active .page-link {
    background-color: #09a5c7;
    border-color: #09a5c7;
}

/* Nav Pills */
.nav-pills .nav-link.active {
    background-color: #09a5c7;
}

/* List Group */
.list-group-item-primary {
    background-color: #e8f4f7;
    color: #065970;
}

.list-group-item-warning {
    background-color: #fef3e6;
    color: #8f4e00;
}

/* Table */
.table-primary {
    --bs-table-bg: #e8f4f7;
    --bs-table-border-color: #b3e0eb;
}

/* Dropdown */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #09a5c7;
}

/* Text Colors */
.text-primary {
    color: #09a5c7 !important;
}

.text-secondary {
    color: #00bcd4 !important;
}

.text-warning {
    color: #ee8000 !important;
}

.text-dark {
    color: #293e55 !important;
}

/* Background Colors */
.bg-primary {
    background-color: #09a5c7 !important;
}

.bg-secondary {
    background-color: #00bcd4 !important;
}

.bg-warning {
    background-color: #ee8000 !important;
}

.bg-dark {
    background-color: #293e55 !important;
}

/* Border Colors */
.border-primary {
    border-color: #09a5c7 !important;
}

.border-secondary {
    border-color: #00bcd4 !important;
}

.border-warning {
    border-color: #ee8000 !important;
}

.border-dark {
    border-color: #293e55 !important;
}

/* Links */
a {
    color: #09a5c7;
    text-decoration: none;
}

a:hover {
    color: #00bcd4;
}

/* Accordion */
.accordion-button:not(.collapsed) {
    background-color: #e8f4f7;
    color: #065970;
}

.accordion-button:focus {
    border-color: #09a5c7;
    box-shadow: 0 0 0 0.25rem rgba(9, 165, 199, 0.25);
}

/* Offcanvas */
.offcanvas-header .btn-close:focus {
    box-shadow: 0 0 0 0.25rem rgba(9, 165, 199, 0.25);
}

/* Toast */
.toast-header {
    background-color: #e8f4f7;
    color: #065970;
}

/* Spinner */
.spinner-border.text-primary,
.spinner-grow.text-primary {
    color: #09a5c7 !important;
}

/* Modal */
.modal-header {
    border-bottom-color: #e8f4f7;
}

.modal-footer {
    border-top-color: #e8f4f7;
}

/* Card */
.card-primary {
    border-color: #09a5c7;
}

.card-primary .card-header {
    background-color: #09a5c7;
    color: #fff;
}

/* Clean Code: Remove Bootstrap default blue borders globally */
.btn:focus,
.form-control:focus,
.form-select:focus,
button:focus {
    outline: none;
    box-shadow: 0 0 0 0.25rem rgba(9, 165, 199, 0.25) !important;
}

/* Remove all default Bootstrap blue */
*:focus-visible {
    outline: 2px solid #09a5c7 !important;
    outline-offset: 2px;
}

/* FullCalendar Button Override */
.fc .fc-button-primary {
    background-color: #09a5c7 !important;
    border-color: #09a5c7 !important;
    color: #fff !important;
}

.fc .fc-button-primary:hover {
    background-color: #00bcd4 !important;
    border-color: #00bcd4 !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background-color: #293e55 !important;
    border-color: #293e55 !important;
}

.fc .fc-button-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(9, 165, 199, 0.25) !important;
}

/* FullCalendar Today Button */
.fc .fc-today-button {
    background-color: #ee8000 !important;
    border-color: #ee8000 !important;
}

.fc .fc-today-button:hover {
    background-color: #d97200 !important;
    border-color: #d97200 !important;
}

/* Remove Bootstrap info/warning colors */
.btn-info {
    background-color: #00bcd4;
    border-color: #00bcd4;
    color: #fff;
}

.btn-info:hover {
    background-color: #00a5bd;
    border-color: #00a5bd;
}

/* Success button with site colors */
.btn-success {
    background-color: #09a5c7;
    border-color: #09a5c7;
}

.btn-success:hover {
    background-color: #00bcd4;
    border-color: #00bcd4;
}
