/*
 * Application-level overrides on top of Bootstrap 5.
 * Brand color: #f44fa8 (Olson's pink)
 */

/* ── Brand color overrides ──────────────────────────────────────────────── */

:root {
    --bs-primary:           #f44fa8;
    --bs-primary-rgb:       244, 79, 168;
    --bs-link-color:        #f44fa8;
    --bs-link-color-rgb:    244, 79, 168;
    --bs-link-hover-color:  #d43d94;
}

/* Solid primary button */
.btn-primary {
    --bs-btn-bg:                #f44fa8;
    --bs-btn-border-color:      #f44fa8;
    --bs-btn-color:             #fff;
    --bs-btn-hover-bg:          #d43d94;
    --bs-btn-hover-border-color:#c73a8c;
    --bs-btn-hover-color:       #fff;
    --bs-btn-active-bg:         #c73a8c;
    --bs-btn-active-border-color:#bb3683;
    --bs-btn-active-color:      #fff;
    --bs-btn-disabled-bg:       #f44fa8;
    --bs-btn-disabled-border-color:#f44fa8;
    --bs-btn-disabled-color:    #fff;
}

/* Outline primary button */
.btn-outline-primary {
    --bs-btn-color:             #f44fa8;
    --bs-btn-border-color:      #f44fa8;
    --bs-btn-hover-bg:          #f44fa8;
    --bs-btn-hover-border-color:#f44fa8;
    --bs-btn-hover-color:       #fff;
    --bs-btn-active-bg:         #d43d94;
    --bs-btn-active-border-color:#d43d94;
    --bs-btn-active-color:      #fff;
}

/* Badges */
.badge.bg-primary { background-color: #f44fa8 !important; }

/* Form focus rings */
.form-control:focus,
.form-select:focus {
    border-color: #f9a0d0;
    box-shadow: 0 0 0 .25rem rgba(244, 79, 168, .25);
}

/* Nav active / current page highlight */
.navbar .nav-link:hover { color: #f9a0d0 !important; }

/* Pagination */
.page-link { color: #f44fa8; }
.page-link:hover { color: #d43d94; }
.page-item.active .page-link {
    background-color: #f44fa8;
    border-color:     #f44fa8;
}

/* ── Layout ─────────────────────────────────────────────────────────────── */

/* Tighten the nav for a more compact feel */
.navbar .nav-link {
    font-size: .9rem;
}

/* Navbar brand logo sizing */
.navbar-brand img {
    height: 36px;
    width: auto;
}

/* Subtle card style used throughout the app */
.card {
    border-radius: .5rem;
}

/* Tab panels inside the main customer/site form */
.tab-content .tab-pane {
    padding: 1.25rem 0 0;
}

/* Field label weight */
.form-label {
    font-weight: 500;
}

/* Scrollable sub-grid panels (service history, etc.) */
.subgrid-panel {
    max-height: 400px;
    overflow-y: auto;
}

/* Highlight required fields */
.form-control:required:invalid:not(:placeholder-shown) {
    border-color: #dc3545;
}
