/* Pithoragarh citizen auth refresh. Scoped to auth pages only. */

body.auth-body-bg {
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(238, 248, 247, 0.94), rgba(255, 249, 241, 0.92)),
        #f7faf8;
    color: #172635;
}

body.auth-body-bg .container-fluid,
body.auth-body-bg .row.g-0 {
    min-height: 100vh;
}

body.auth-body-bg .auth-full-bg {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(18, 42, 57, 0.92), rgba(15, 111, 143, 0.7)),
        url('../images/site/pithoragarh-civic-hero.png') center center / cover no-repeat;
}

body.auth-body-bg .auth-full-bg::before {
    display: none;
}

body.auth-body-bg .auth-full-bg .bg-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5, 18, 28, 0.28), rgba(5, 18, 28, 0.66)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0 1px, transparent 1px 22px);
}

body.auth-body-bg .auth-full-bg > .w-100 {
    position: relative;
    z-index: 1;
}

body.auth-body-bg .auth-full-bg .rounded-3 {
    border-radius: 8px !important;
}

body.auth-body-bg .auth-full-bg .bg-white {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(12px);
}

body.auth-body-bg .auth-full-bg h2 {
    color: #172635 !important;
    letter-spacing: 0;
}

body.auth-body-bg .auth-full-bg .text-muted {
    color: #607080 !important;
}

body.auth-body-bg .auth-full-bg .row.g-3 .rounded-3 {
    background: rgba(20, 40, 56, 0.66) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 16px 36px rgba(5, 18, 28, 0.22) !important;
}

body.auth-body-bg .auth-full-bg .avatar-title {
    background: #ffffff !important;
    color: #0f6f8f !important;
}

body.auth-body-bg .auth-full-bg .badge.bg-warning,
body.auth-body-bg .auth-full-bg .badge.bg-primary-subtle,
body.auth-body-bg .auth-full-bg .badge.bg-success-subtle,
body.auth-body-bg .auth-full-bg .badge.bg-info-subtle {
    background: rgba(255, 255, 255, 0.86) !important;
    color: #172635 !important;
}

body.auth-body-bg .auth-full-page-content {
    min-height: 100vh;
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(183, 106, 44, 0.12), transparent 28%),
        linear-gradient(180deg, #ffffff, #f7faf8);
}

body.auth-body-bg .auth-full-page-content .w-100 {
    max-width: 620px;
    margin: 0 auto;
}

body.auth-body-bg .auth-logo img {
    height: 86px !important;
    width: auto;
    padding: 0.55rem;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid #d8e3e8;
    box-shadow: 0 14px 32px rgba(20, 40, 56, 0.1);
}

body.auth-body-bg .card {
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 24px 58px rgba(20, 40, 56, 0.13) !important;
    overflow: hidden;
}

body.auth-body-bg .card-body {
    position: relative;
}

body.auth-body-bg .card-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #b76a2c, #0f6f8f, #25715f);
}

body.auth-body-bg .badge.rounded-pill.bg-light {
    background: #eef8f7 !important;
    color: #0f6f8f !important;
    border: 1px solid #cde7e3 !important;
}

body.auth-body-bg h4 {
    color: #172635 !important;
    letter-spacing: 0;
}

body.auth-body-bg .form-label {
    color: #172635;
    font-weight: 700;
}

body.auth-body-bg .form-control,
body.auth-body-bg .form-select,
body.auth-body-bg .input-group-text {
    min-height: 46px;
    border-radius: 8px;
    border-color: #d8e3e8;
    background-color: #fbfdfc;
}

body.auth-body-bg .input-group .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

body.auth-body-bg .input-group .btn,
body.auth-body-bg .input-group .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

body.auth-body-bg .form-control:focus,
body.auth-body-bg .form-select:focus {
    border-color: #0f6f8f;
    box-shadow: 0 0 0 0.22rem rgba(15, 111, 143, 0.14);
}

body.auth-body-bg .btn-primary {
    min-height: 48px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #0f6f8f, #25715f);
    box-shadow: 0 12px 26px rgba(15, 111, 143, 0.22);
    font-weight: 700;
}

body.auth-body-bg .btn-primary:hover,
body.auth-body-bg .btn-primary:focus {
    background: linear-gradient(135deg, #0d607d, #1f604f);
    box-shadow: 0 16px 32px rgba(15, 111, 143, 0.26);
}

body.auth-body-bg .btn-outline-secondary,
body.auth-body-bg .btn-light {
    border-radius: 8px;
    border-color: #d8e3e8;
    background: #ffffff;
    color: #172635;
}

body.auth-body-bg [data-captcha-image] {
    border-radius: 8px;
    border: 1px solid #d8e3e8;
    background: #ffffff;
}

body.auth-body-bg a {
    color: #0f6f8f;
}

body.auth-body-bg a:hover {
    color: #25715f;
}

body.auth-body-bg .form-check-input:checked {
    background-color: #0f6f8f;
    border-color: #0f6f8f;
}

body.auth-body-bg .border-top {
    border-color: #e6eeee !important;
}

body.auth-body-bg .text-danger {
    color: #b42318 !important;
}

@media (max-width: 1199.98px) {
    body.auth-body-bg .auth-full-bg {
        min-height: auto;
        padding-block: 2rem !important;
    }

    body.auth-body-bg .auth-full-page-content {
        min-height: auto;
    }
}

@media (max-width: 575.98px) {
    body.auth-body-bg .auth-full-page-content {
        padding: 1.25rem !important;
    }

    body.auth-body-bg .card-body {
        padding: 1.35rem !important;
    }

    body.auth-body-bg .d-flex.align-items-center.gap-2 {
        flex-wrap: wrap;
    }
}
