/* ============================================================
   NexRank — Complete Dark Theme
   ============================================================ */

/* Inter font everywhere */
html, body, h1, h2, h3, h4, h5, h6,
p, a, span, li, td, th, label, input,
select, textarea, button, .btn {
    font-family: 'Inter', sans-serif !important;
}
h1, h2, h3, h4, h5, h6 { letter-spacing: -0.3px; }

:root {
    --nr-bg:        #1c1c1e;
    --nr-bg2:       #2c2c2e;
    --nr-card:      #2c2c2e;
    --nr-card2:     #3a3a3c;
    --nr-border:    #48484a;
    --nr-text:      rgba(235,235,245,0.6);
    --nr-heading:   #f2f2f7;
    --nr-muted:     rgba(235,235,245,0.3);
    --nr-blue:      #0a84ff;
    --nr-blue-dark: #0070e0;
}

/* ============================================================
   BASE
   ============================================================ */
html, body {
    background: #1c1c1e !important;
    color: var(--nr-text) !important;
}
/* Force graphite on all section backgrounds */
.padding-top, .padding-bottom,
.padding-top-2, .padding-bottom-2,
section, main, .main-wrapper {
    background-color: #1c1c1e !important;
}
.section-bg {
    background-color: #3a3a3c !important;
}
.body-bg {
    background-color: #1c1c1e !important;
}

h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: var(--nr-heading) !important;
}

p { color: var(--nr-text) !important; }

a { color: var(--nr-text); }

a:hover { color: var(--nr-blue) !important; }

span, li, td, th, label, small {
    color: inherit;
}

/* ============================================================
   SECTION BACKGROUNDS
   ============================================================ */
.section-bg { background: var(--nr-card) !important; }
.body-bg    { background: var(--nr-bg) !important; }
.bg--dark   { background: #1c1c1e !important; }
.bg-theme-one { background: #2c2c2e !important; }

.section-bg h1,.section-bg h2,.section-bg h3,
.section-bg h4,.section-bg h5,.section-bg h6 {
    color: var(--nr-heading) !important;
}
.section-bg p { color: var(--nr-text) !important; }

.clippy-section::before { background: var(--nr-bg) !important; }
.clippy-section.section-bg .clippy-section::before { background: var(--nr-card) !important; }
.top-shape::before { background: var(--nr-bg) !important; }

/* ============================================================
   HEADER
   ============================================================ */
.header-top {
    background: #1c1c1e !important;
    border-bottom: 1px solid var(--nr-border) !important;
}
.header-top a,
.header-top-area,
.header-top-item a { color: var(--nr-muted) !important; }
.header-top-item a:hover { color: var(--nr-blue) !important; }

.header-bottom,
.header-bottom.active {
    background: #1c1c1e !important;
    border-bottom: 1px solid var(--nr-border) !important;
    box-shadow: 0 2px 24px rgba(0,0,0,.7) !important;
}

.menu > li > a {
    color: rgba(235,235,245,0.85) !important;
    font-weight: 500 !important;
}

.nr-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
    white-space: nowrap;
}
.nr-btn--ghost {
    color: rgba(235,235,245,0.75) !important;
    background: transparent;
    border: 1.5px solid transparent;
}
.nr-btn--ghost:hover {
    color: #f2f2f7 !important;
    background: rgba(255,255,255,0.07);
    border-color: rgba(255,255,255,0.12);
}
.nr-btn--primary {
    background: #0a84ff;
    color: #fff !important;
    border: 1.5px solid #0a84ff;
}
.nr-btn--primary:hover {
    background: #0070e0;
    border-color: #0070e0;
    box-shadow: 0 4px 16px rgba(10,132,255,0.35);
    color: #fff !important;
}
.nr-btn--outline {
    color: rgba(235,235,245,0.7) !important;
    background: transparent;
    border: 1.5px solid var(--nr-border);
}
.nr-btn--outline:hover {
    border-color: #0a84ff;
    color: #0a84ff !important;
}
.menu > li > a:hover,
.menu > li.active > a { color: var(--nr-blue) !important; }

/* mobile menu */
.menu {
    background: #1c1c1e !important;
}
.menu li .submenu li,
.menu li .submenu li a { background: transparent !important; }

.submenu,
.dropdown-menu,
.language .dropdown-menu {
    background: #2c2c2e !important;
    border: 1px solid var(--nr-border) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.85) !important;
}
.submenu li a,
.dropdown-menu li a,
.langList li { color: rgba(235,235,245,0.5) !important; }
.submenu li a:hover,
.dropdown-menu li a:hover { color: var(--nr-blue) !important; background: rgba(30,144,255,.07) !important; }

.language-wrapper,
.language_text_select,
.language_text { color: rgba(235,235,245,0.5) !important; }

/* ============================================================
   BANNER
   ============================================================ */
.banner-container,
.banner-section,
.banner-area { background: #1c1c1e !important; }

.banner-content .sub-title { color: var(--nr-blue) !important; }
.banner-content .title,
.banner-content h1,
.banner-content h2 { color: var(--nr-heading) !important; }
.banner-content p { color: rgba(235,235,245,0.5) !important; }

.banner-next, .banner-prev {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.banner-next:hover, .banner-prev:hover {
    background: var(--nr-blue) !important;
    color: #fff !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.custom-button,
.btn--base,
.theme-button,
input[type="submit"],
button[type="submit"] {
    background: var(--nr-blue) !important;
    border: 2px solid var(--nr-blue) !important;
    color: #fff !important;
}
.custom-button:hover,
.btn--base:hover,
.theme-button:hover {
    background: var(--nr-blue-dark) !important;
    border-color: var(--nr-blue-dark) !important;
    color: #fff !important;
}
.custom-button.active {
    background: transparent !important;
    border: 2px solid #fff !important;
    color: #fff !important;
}
.custom-button.active:hover {
    background: var(--nr-blue) !important;
    border-color: var(--nr-blue) !important;
}

/* ============================================================
   FORMS
   ============================================================ */
input, select, textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
.create-account-form .form-group input,
.create-account-form .form-group select,
.contact-form .form-group input,
.contact-form .form-group textarea,
.subscribe-form input,
.widget.widget-search form .form-group input,
.common-form-style,
.review .review-content .review-showing .client-review .review-form .client-form input,
.shop-cart .section-wrapper .cart-bottom input,
.shop-cart .section-wrapper .cart-bottom .shiping-box .calculate-shiping .outline-select,
.comment-form .form-group textarea,
.comment-form .form-group input {
    background: #2c2c2e !important;
    border: 1px solid var(--nr-border) !important;
    color: rgba(235,235,245,0.8) !important;
}
input::placeholder,
textarea::placeholder { color: #3a5068 !important; }
input:focus, select:focus, textarea:focus {
    border-color: var(--nr-blue) !important;
    box-shadow: 0 0 0 3px rgba(30,144,255,.12) !important;
    outline: none !important;
    background: #2c2c2e !important;
}
label { color: rgba(235,235,245,0.5) !important; }

.subscribe-form button,
.widget.widget-search form .form-group button {
    background: var(--nr-blue) !important;
    color: #fff !important;
    border: none !important;
}

/* select2 */
.select2-container--default .select2-selection--single,
.select2-dropdown,
.select2-container--default .select2-results__option {
    background: #2c2c2e !important;
    border-color: var(--nr-border) !important;
    color: rgba(235,235,245,0.8) !important;
}
.select2-container--default .select2-results__option--highlighted {
    background: var(--nr-blue) !important;
    color: #fff !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: rgba(235,235,245,0.8) !important;
}

/* ============================================================
   WIDGETS
   ============================================================ */
.widget {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.widget h4, .widget h5, .widget h6,
.widget .title { color: var(--nr-heading) !important; }
.widget p, .widget li, .widget a { color: var(--nr-text) !important; }
.widget a:hover { color: var(--nr-blue) !important; }
.widget.widget-tags ul li a {
    background: var(--nr-bg2) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.widget.widget-contact .widget-contact-body::after {
    background: rgba(5,8,16,.9) !important;
}

/* ============================================================
   TEAM
   ============================================================ */
.team-item .team-content {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.team-item .team-content .title { color: var(--nr-heading) !important; }
.team-item .team-content span,
.team-item .team-content p { color: var(--nr-text) !important; }

/* ============================================================
   TESTIMONIAL / CLIENT
   ============================================================ */
.client-slider .swiper-wrapper { align-items: stretch; }
.client-slider .swiper-slide { height: auto; display: flex; }
.client-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.client-item blockquote {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    flex: 1;
    display: flex;
    align-items: flex-start;
    font-size: 14px !important;
    line-height: 1.7 !important;
    padding-top: 48px !important;
    position: relative;
}
.client-item blockquote::before {
    position: absolute !important;
    top: 16px !important;
    left: 40px !important;
    font-size: 20px !important;
    margin-bottom: 0 !important;
    color: var(--nr-blue) !important;
    opacity: 0.6;
}
.client-item blockquote p { color: var(--nr-text) !important; }
.client-item .author .title { color: var(--nr-heading) !important; }
.client-item .author span { color: var(--nr-muted) !important; }

/* ============================================================
   FEATURE / SERVICE
   ============================================================ */
.feature-section .row { align-items: stretch; }
.feature-section .col-xl-4,
.feature-section .col-md-6 { display: flex; }
.feature-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    display: flex !important;
    flex-direction: column;
    width: 100%;
}
.feature-item .feature-body { flex: 1; }
.feature-item:hover {
    border-color: var(--nr-blue) !important;
    box-shadow: 0 4px 28px rgba(30,144,255,.15) !important;
}
.feature-item .title { color: var(--nr-heading) !important; }
.feature-item p { color: var(--nr-text) !important; }
.feature-header .icon { color: var(--nr-blue) !important; }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.how-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.how-item .title { color: var(--nr-heading) !important; }
.how-item p { color: var(--nr-text) !important; }
.how-item .step { color: var(--nr-blue) !important; }

/* ============================================================
   FAQ
   ============================================================ */
.faq-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.faq-item .faq-title { color: var(--nr-heading) !important; }
.faq-item .faq-content p { color: var(--nr-text) !important; }
.faq-item .faq-title::after { color: var(--nr-blue) !important; }

div#headingThree,
.accordion-button,
.accordion-item {
    background: var(--nr-card) !important;
    color: var(--nr-heading) !important;
    border-color: var(--nr-border) !important;
}
.accordion-button:not(.collapsed) {
    background: var(--nr-bg2) !important;
    color: var(--nr-blue) !important;
}
.accordion-body { color: var(--nr-text) !important; }

/* ============================================================
   PLAN
   ============================================================ */
.plan-item,
.price-item,
.pricing-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.plan-item:hover,
.price-item:hover {
    border-color: var(--nr-blue) !important;
    box-shadow: 0 8px 40px rgba(30,144,255,.2) !important;
}
.plan-item .title,
.price-item .title { color: var(--nr-heading) !important; }
.plan-item p,
.price-item p,
.plan-item li { color: var(--nr-text) !important; }
.plan-item .price,
.price-item .price { color: var(--nr-blue) !important; }

/* ============================================================
   TABLE / DEPOSITS
   ============================================================ */
table {
    background: var(--nr-card) !important;
    color: var(--nr-text) !important;
}
table thead tr {
    background: var(--nr-bg2) !important;
    border-bottom: 1px solid var(--nr-border) !important;
}
table thead th {
    color: var(--nr-muted) !important;
    border: none !important;
    background: transparent !important;
}
table tbody tr,
.deposite-table table tbody tr {
    background: var(--nr-card) !important;
    border-bottom: 1px solid var(--nr-border) !important;
}
table tbody tr:hover { background: rgba(30,144,255,.04) !important; }
table tbody td {
    color: var(--nr-text) !important;
    border: none !important;
}
.deposite-table table tbody tr td { color: var(--nr-text) !important; }

/* ============================================================
   BLOG / POSTS
   ============================================================ */
.post-item .post-content {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.post-item .post-content .title,
.post-item .post-content h3,
.post-item .post-content h4 { color: var(--nr-heading) !important; }
.post-item .post-content p,
.post-item .post-content .meta-post li a { color: var(--nr-text) !important; }

/* ============================================================
   COMMENT / REVIEW
   ============================================================ */
.comment-area {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.comment-area .title { color: var(--nr-heading) !important; }
.comment-area p { color: var(--nr-text) !important; }

.review .review-menu li {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.review .review-menu li.active,
.review .review-menu li:hover {
    background: var(--nr-blue) !important;
    color: #fff !important;
}
.review .review-content .review-showing .content {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.review .review-content .review-showing .client-review {
    background: var(--nr-bg2) !important;
    border: 1px solid var(--nr-border) !important;
}
.review .review-content .description {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact--item .contact-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.contact--item .contact-item .title { color: var(--nr-heading) !important; }
.contact--item .contact-item p,
.contact--item .contact-item a { color: var(--nr-text) !important; }
.contact--item::before { background: var(--nr-card) !important; }
.contact-form-wrapper {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    padding: 32px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.4) !important;
}
.cmn-btn {
    background: var(--nr-blue) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 32px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
}

/* ============================================================
   ACCOUNT (LOGIN/REGISTER)
   ============================================================ */
.account-wrapper {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.6) !important;
}
.account-wrapper .title { color: var(--nr-heading) !important; }
.account-wrapper p { color: var(--nr-text) !important; }

.sign-up-option li a {
    background: var(--nr-bg2) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.sign-up-option li a:hover {
    background: var(--nr-blue) !important;
    border-color: var(--nr-blue) !important;
    color: #fff !important;
}

/* ============================================================
   TICKETS / SUPPORT
   ============================================================ */
.ticket-item {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
}
.ticket-item .title { color: var(--nr-heading) !important; }
.ticket-item p,
.ticket-item span { color: var(--nr-text) !important; }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination a,
.pagination li a,
.page-link {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.pagination a:hover,
.pagination li a:hover,
.page-link:hover {
    background: var(--nr-blue) !important;
    border-color: var(--nr-blue) !important;
    color: #fff !important;
}
.pagination .active a,
.page-item.active .page-link {
    background: var(--nr-blue) !important;
    border-color: var(--nr-blue) !important;
    color: #fff !important;
}

/* ============================================================
   CATEGORY / FILTER
   ============================================================ */
.change-catagory-area .custom-button {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}
.change-catagory-area .custom-button:hover,
.change-catagory-area .custom-button.active {
    background: var(--nr-blue) !important;
    border-color: var(--nr-blue) !important;
    color: #fff !important;
}

/* ============================================================
   VIDEO BUTTON
   ============================================================ */
.video-button,
.video-button::after {
    background: rgba(30,144,255,.15) !important;
    border: 2px solid var(--nr-blue) !important;
    color: var(--nr-blue) !important;
}
.video-button:hover { background: var(--nr-blue) !important; color: #fff !important; }

/* ============================================================
   FOOTER
   ============================================================ */
footer, .nr-footer {
    background: #161618 !important;
    border-top: 1px solid #3a3a3c !important;
}
.nr-footer__top {
    background: #161618 !important;
    padding: 48px 0 32px !important;
}
.nr-footer__bottom {
    background: #111113 !important;
    border-top: 1px solid #2c2c2e !important;
    padding: 16px 0 !important;
    text-align: center;
}
.nr-footer__bottom p,
.nr-footer__bottom p a {
    color: rgba(235,235,245,0.3) !important;
    font-size: 13px !important;
    margin: 0 !important;
}
.nr-footer__bottom p a:hover { color: var(--nr-blue) !important; }

.nr-footer__logo {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #f2f2f7 !important;
    text-decoration: none !important;
    letter-spacing: -0.5px;
}
.nr-footer__logo span { color: var(--nr-blue) !important; }

.nr-footer__desc {
    color: rgba(235,235,245,0.45) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    max-width: 300px;
}

.nr-footer__heading {
    color: #f2f2f7 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px !important;
}

.nr-footer__links,
.nr-footer__contact {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nr-footer__links li { margin-bottom: 10px !important; }
.nr-footer__links li a {
    color: rgba(235,235,245,0.5) !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.nr-footer__links li a:hover { color: var(--nr-blue) !important; }

.nr-footer__contact li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    color: rgba(235,235,245,0.5) !important;
    font-size: 14px !important;
}
.nr-footer__contact li i {
    color: var(--nr-blue) !important;
    font-size: 16px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
}
.nr-footer__contact li a {
    color: rgba(235,235,245,0.5) !important;
    text-decoration: none !important;
}
.nr-footer__contact li a:hover { color: var(--nr-blue) !important; }

/* Social icons — new class */
.nr-social-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.nr-social-icons li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: #3a3a3c !important;
    color: #f2f2f7 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s !important;
    border: 1px solid #48484a !important;
}
.nr-social-icons li a:hover {
    background: var(--nr-blue) !important;
    color: #fff !important;
    border-color: var(--nr-blue) !important;
}
.nr-social-icons li a i,
.nr-social-icons li a svg {
    color: inherit !important;
    fill: currentColor !important;
}

/* Legacy .social-icons fallback (in case still used) */
.social-icons li a {
    background: #3a3a3c !important;
    color: #f2f2f7 !important;
    border: 1px solid #48484a !important;
}
.social-icons li a:hover {
    background: var(--nr-blue) !important;
    color: #fff !important;
    border-color: var(--nr-blue) !important;
}
.social-icons li a i,
.social-icons li a svg { color: inherit !important; }

/* Old footer classes still in main.css — neutralize */
footer .footer-top { background: #161618 !important; }
footer p, footer li { color: rgba(235,235,245,0.45) !important; }
footer a { color: rgba(235,235,245,0.5) !important; }
footer a:hover { color: var(--nr-blue) !important; }
footer .footer-bottom {
    background: #111113 !important;
    border-top: 1px solid #2c2c2e !important;
}

/* ============================================================
   BREADCRUMB / PAGE HEADER
   ============================================================ */
.breadcrumb-section,
.page-header {
    background: #1c1c1e !important;
    border-bottom: 1px solid #2c2c2e !important;
    padding: 36px 0 28px !important;
    min-height: 0 !important;
    height: auto !important;
}
/* Reduce top padding for content sections that follow page-header */
.padding-top { padding-top: 56px !important; }
.padding-bottom { padding-bottom: 56px !important; }
.page-header::before {
    background: #1c1c1e !important;
    opacity: 1 !important;
}
.page-header-wrapper {
    margin: 0 !important;
}
.page-header-wrapper .title,
.breadcrumb-content h1 {
    color: #f2f2f7 !important;
    font-size: clamp(24px, 4vw, 36px) !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    letter-spacing: -0.3px !important;
}

/* breadcrumb list — flex, centered, no gaps weirdness */
.breadcrumb {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-wrap: wrap !important;
}
.breadcrumb li {
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(235,235,245,0.45) !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* separator: replace FA dot with a simple slash via CSS */
.breadcrumb li a::after {
    content: none !important;
}
.breadcrumb li + li::before {
    content: "/" !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: rgba(235,235,245,0.2) !important;
    margin: 0 8px !important;
    font-weight: 400 !important;
    display: inline-block !important;
}
.breadcrumb li a {
    color: rgba(235,235,245,0.45) !important;
    text-decoration: none !important;
    transition: color .15s !important;
}
.breadcrumb li a:hover { color: #0a84ff !important; }
.breadcrumb li:last-child { color: #0a84ff !important; }

/* ============================================================
   ALERTS
   ============================================================ */
.alert-success { background: rgba(46,160,67,.12) !important; border-color: #2ea043 !important; color: #56d364 !important; }
.alert-danger  { background: rgba(248,81,73,.12)  !important; border-color: #f85149 !important; color: #ff7b72 !important; }
.alert-warning { background: rgba(210,153,34,.12) !important; border-color: #d29922 !important; color: #e3b341 !important; }
.alert-primary { background: rgba(30,144,255,.1)  !important; border-color: var(--nr-blue) !important; color: #79b8ff !important; }

/* ============================================================
   SECTION HEADER TITLES
   ============================================================ */
.section-header .title { color: var(--nr-heading) !important; }
.section-header p { color: var(--nr-text) !important; }
.subtitle { color: var(--nr-muted) !important; }
.text--base { color: var(--nr-blue) !important; }

/* ============================================================
   COUNTER
   ============================================================ */
.counter-item .title,
.counter-item .counter,
.counter-item h2 { color: var(--nr-heading) !important; }
.counter-item p,
.counter-item span { color: var(--nr-text) !important; }

/* ============================================================
   OVERLAYS
   ============================================================ */
.overlay { background: rgba(0,0,0,.75) !important; }
.bg-overlay::after { background: rgba(5,8,16,.87) !important; }

/* ============================================================
   SCROLLBAR
   ============================================================ */
body *::-webkit-scrollbar-track { background: #1c1c1e !important; }
body *::-webkit-scrollbar-thumb { background: #1e3050 !important; border-radius: 4px; }

/* ============================================================
   LOADER
   ============================================================ */
.overlayer { background: var(--nr-bg) !important; }

/* ============================================================
   SELECTION & MISC
   ============================================================ */
*::selection { background: var(--nr-blue) !important; color: #fff !important; }
.border-primary { border-color: var(--nr-border) !important; }
.text-muted { color: var(--nr-muted) !important; }

/* ============================================================
   COOKIES
   ============================================================ */
.cookies-card {
    background: var(--nr-card) !important;
    border: 1px solid var(--nr-border) !important;
    color: var(--nr-text) !important;
}

/* ============================================================
   BOOTSTRAP OVERRIDES
   ============================================================ */
.card { background: var(--nr-card) !important; border-color: var(--nr-border) !important; color: var(--nr-text) !important; }
.card-header { background: var(--nr-bg2) !important; border-color: var(--nr-border) !important; color: var(--nr-heading) !important; }
.card-body { color: var(--nr-text) !important; }
.modal-content { background: var(--nr-card) !important; border-color: var(--nr-border) !important; }
.modal-header { background: var(--nr-bg2) !important; border-color: var(--nr-border) !important; }
.modal-header .modal-title { color: var(--nr-heading) !important; }
.modal-body { color: var(--nr-text) !important; background: var(--nr-card) !important; }
.modal-footer { background: var(--nr-bg2) !important; border-color: var(--nr-border) !important; }
.list-group-item { background: var(--nr-card) !important; border-color: var(--nr-border) !important; color: var(--nr-text) !important; }
.nav-tabs .nav-link { color: var(--nr-text) !important; border-color: transparent !important; }
.nav-tabs .nav-link.active { background: var(--nr-card) !important; color: var(--nr-blue) !important; border-color: var(--nr-border) !important; }
.nav-tabs { border-color: var(--nr-border) !important; }
.dropdown-item { color: var(--nr-text) !important; background: transparent !important; }
.dropdown-item:hover { background: rgba(30,144,255,.08) !important; color: var(--nr-blue) !important; }
.table { color: var(--nr-text) !important; }
.table > :not(caption) > * > * { background: transparent !important; color: var(--nr-text) !important; border-color: var(--nr-border) !important; }
.badge.bg-secondary { background: var(--nr-bg2) !important; }

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #1c1c1e; }
::-webkit-scrollbar-thumb { background: #48484a; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--nr-blue); }

/* ============================================================
   SELECTION
   ============================================================ */
::selection { background: rgba(10,132,255,0.3) !important; color: #f2f2f7 !important; }

/* ============================================================
   LINKS
   ============================================================ */
a { color: var(--nr-blue); }
a:visited { color: var(--nr-blue); }
a:hover { color: var(--nr-blue-dark) !important; }

/* ============================================================
   PLAN CARD — override main.css white border
   ============================================================ */
.plan-card {
    background: #2c2c2e !important;
    border: 2px solid #48484a !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.4) !important;
}
.plan-card:hover {
    border-color: var(--nr-blue) !important;
    box-shadow: 0 8px 40px rgba(10,132,255,0.2) !important;
}
.plan-card__title { color: var(--nr-blue) !important; }
.plan-card__features li {
    color: rgba(235,235,245,0.7) !important;
    border-bottom-color: #48484a !important;
}
.plan-card .price-range { color: #f2f2f7 !important; font-weight: 700 !important; }

/* ============================================================
   ALERTS / FLASH MESSAGES
   ============================================================ */
.alert-success {
    background: rgba(48,209,88,0.12) !important;
    border: 1px solid #30d158 !important;
    color: #30d158 !important;
}
.alert-danger {
    background: rgba(255,69,58,0.12) !important;
    border: 1px solid #ff453a !important;
    color: #ff453a !important;
}
.alert-warning {
    background: rgba(255,214,10,0.12) !important;
    border: 1px solid #ffd60a !important;
    color: #ffd60a !important;
}
.alert-info {
    background: rgba(10,132,255,0.12) !important;
    border: 1px solid var(--nr-blue) !important;
    color: var(--nr-blue) !important;
}

/* ============================================================
   TESTIMONIAL STARS
   ============================================================ */
.client-item .stars i,
.client-item .rating i,
.review-stars i { color: #ffd60a !important; }

/* ============================================================
   SECTION: counter bg-overlay text always visible
   ============================================================ */
.counter-section .counter-item .title,
.counter-section .counter-item h2,
.counter-section .subtitle { color: #f2f2f7 !important; }
.counter-section .counter-item p,
.counter-section .counter-item span { color: rgba(235,235,245,0.7) !important; }

/* ============================================================
   TYPOGRAPHY FINE-TUNING
   ============================================================ */
body { font-size: 15px !important; line-height: 1.7 !important; }
.section-header .sub-title,
.section-header .subtitle,
.sub-title {
    color: var(--nr-blue) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
}

/* ============================================================
   KILL JUSTIFY TEXT EVERYWHERE
   ============================================================ */
p, li, td, span {
    text-align: left !important;
}
.text-center, .text-center p, .text-center span,
.section-header, .section-header p,
.page-header-wrapper, .page-header-wrapper p,
.banner-section, .banner-section p,
.footer-bottom, .footer-bottom p { text-align: center !important; }
.text-end, .text-right { text-align: right !important; }

.nr-mt-card__body * { text-align: left !important; }

/* ============================================================
   MARKETING TOOL CARDS — normalize all inner HTML
   ============================================================ */
.nr-mt-card__body,
.nr-mt-card__body p,
.nr-mt-card__body span,
.nr-mt-card__body li,
.nr-mt-card__body div,
.nr-mt-card__body h1,
.nr-mt-card__body h2,
.nr-mt-card__body h3,
.nr-mt-card__body h4,
.nr-mt-card__body h5,
.nr-mt-card__body h6,
.nr-mt-card__body strong,
.nr-mt-card__body b {
    font-size: 13.5px !important;
    line-height: 1.7 !important;
    color: rgba(235,235,245,0.5) !important;
    font-weight: 400 !important;
    margin-bottom: 0 !important;
    letter-spacing: normal !important;
}
.nr-mt-card__body strong,
.nr-mt-card__body b {
    font-weight: 600 !important;
    color: rgba(235,235,245,0.7) !important;
}
.nr-mt-card__body p + p { margin-top: 8px !important; }
