/* noirly hot-pink theme overrides
 * Replaces JustFans default purple (#cb0c9f, gradient #7928ca→#ff0080)
 * with noirly hot-pink (#ff2d7e, dark-hover #c8195f, blush #ffe0ec).
 * Loaded after bootstrap.css in template/head.blade.php.
 */

:root {
    --noirly-primary:        #ff2d7e;
    --noirly-primary-dark:   #c8195f;
    --noirly-primary-light:  #ffe0ec;
    --noirly-primary-rgb:    255, 45, 126;

    --bs-primary:            #ff2d7e;
    --bs-primary-rgb:        255, 45, 126;
    --bs-link-color:         #ff2d7e;
    --bs-link-hover-color:   #c8195f;
    --bs-link-color-rgb:     255, 45, 126;
}

/* Buttons */
.btn-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--noirly-primary) !important;
    border-color:     var(--noirly-primary) !important;
    color:            #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    background-color: var(--noirly-primary-dark) !important;
    border-color:     var(--noirly-primary-dark) !important;
    color:            #fff !important;
}
.btn-outline-primary {
    color:        var(--noirly-primary) !important;
    border-color: var(--noirly-primary) !important;
    background:   transparent !important;
}

/* Backgrounds + text */
.bg-primary {
    background-color: var(--noirly-primary) !important;
}
.bg-primary-soft,
.bg-primary-subtle {
    background-color: var(--noirly-primary-light) !important;
}
.text-primary {
    color: var(--noirly-primary) !important;
}
.border-primary {
    border-color: var(--noirly-primary) !important;
}

/* Gradients (overrides .text-gradient.text-primary + .bg-gradient-primary) */
.text-gradient.text-primary,
.bg-gradient-primary,
.text-bg-primary,
[class*="bg-gradient-primary"] {
    background-image: linear-gradient(310deg, var(--noirly-primary), var(--noirly-primary-dark)) !important;
}

/* Links */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link) {
    color: var(--noirly-primary);
}
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):hover {
    color: var(--noirly-primary-dark);
}

/* Form controls focus ring */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--noirly-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--noirly-primary-rgb), 0.18) !important;
}
.form-check-input:checked {
    background-color: var(--noirly-primary) !important;
    border-color:     var(--noirly-primary) !important;
}

/* Navigation + tabs + pagination */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--noirly-primary) !important;
}
.nav-tabs .nav-link.active {
    border-bottom-color: var(--noirly-primary) !important;
    color: var(--noirly-primary) !important;
}
.page-link {
    color: var(--noirly-primary);
}
.page-link:hover {
    color: var(--noirly-primary-dark);
}
.page-item.active .page-link {
    background-color: var(--noirly-primary) !important;
    border-color:     var(--noirly-primary) !important;
}

/* Progress + spinner */
.progress-bar {
    background-color: var(--noirly-primary) !important;
}
.spinner-border.text-primary,
.spinner-grow.text-primary {
    color: var(--noirly-primary) !important;
}

/* Alerts */
.alert-primary {
    color:            var(--noirly-primary-dark);
    background-color: var(--noirly-primary-light);
    border-color:     var(--noirly-primary);
}

/* Badges */
.badge.bg-primary,
.badge.text-bg-primary {
    background-color: var(--noirly-primary) !important;
}

/* Form switch */
.form-switch .form-check-input:checked {
    background-color: var(--noirly-primary) !important;
}

/* JustFans-specific: avatar rings + post-card accents */
.avatar-ring,
.post-actions .liked,
.story-ring-active {
    border-color: var(--noirly-primary) !important;
    color:        var(--noirly-primary) !important;
}
