/**
* Theme Name: Fxvibe Child
* Description: This is a child theme of Fxvibe, generated by Merlin WP.
* Author: <a href="http://themeforest.net/user/themekalia">Theme Kalia</a>
* Template: fxvibe
* Version: 1.0
*/



:root{
/*  --theme-color: #2586c7 !important;*/
}




/* Slightly tighter layout for FAQ archive/tax pages */
.faq-archive .sidebar-page-container,
.faq-taxonomy .sidebar-page-container {
    padding-top: 30px;   /* or whatever feels right */
    padding-bottom: 30px;
}



.p{
  position: relative;
  font-family: var(--text-font);
  color: #2a4e69 !important;
  font-weight: 400;
  margin: 0px;
  transition: all 500ms ease;
}

h1,h2,h3,h4,h5,h6{
  position:relative;
  font-family: var(--title-font);
  font-weight: 600;
/*  color: var(--title-color);*/
/*    color: #2a4e69 !important;*/
  margin: 0px;
  transition: all 500ms ease;
}


/*** Custom Resources **/

/* === Resource Hub: Filters === */
.gr-resources-filters {
    display: flex;
    flex-wrap: wrap;
/*    gap: 12px;*/
    margin-bottom: 12px;
}

.gr-res-filter-group {
    display: flex;
    flex-direction: column;
/*    gap: 4px;*/
}

.gr-res-filter-group label {
    font-size: 0.85rem;
    font-weight: 600;
}

.gr-res-filter-group input[type="text"],
.gr-res-filter-group select {
    min-width: 220px;
    max-width: 280px;
}

/* Stack filters nicely on small screens */
@media (max-width: 600px) {
    .gr-resources-filters {
        flex-direction: column;
        align-items: stretch;
    }

    .gr-res-filter-group input[type="text"],
    .gr-res-filter-group select {
        width: 100%;
        max-width: 100%;
    }
}

/* === Resource table: base === */
.gr-res-table {
    width: 100%;
}

.gr-res-item-cell {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.gr-res-item-icon {
    flex: 0 0 auto;
    margin-top: 2px;
}

.gr-res-item-text {
    flex: 1 1 auto;
    color: #2a4e69;
}

.gr-res-abstract {
    margin-top: 4px;
    font-size: 0.85rem;
    opacity: 0.8;
}

/* Status badges (if you decide to show them again) */
.gr-res-status {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.7rem;
    text-transform: uppercase;
}
.gr-res-status--active {
    background: #46b450;
    color: #fff;
}
.gr-res-status--inactive {
    background: #dc3232;
    color: #fff;
}

/* === Responsive table → card layout on mobile === */
@media (max-width: 768px) {
    .gr-res-table thead {
        display: none;
    }

    .gr-res-table,
    .gr-res-table tbody,
    .gr-res-table tr,
    .gr-res-table td {
        display: block;
        width: 100%;
         background: #fff;
    }

    .gr-res-table tr {
        margin-bottom: 12px;
        border: 1px solid #294e69;
        border-radius: 8px;
        padding: 8px;
        background: #fff;
        background-color: #fff !important;
    }

    .gr-res-table td {
        border: none;
        padding: 4px 6px;
    }

    .gr-res-table td::before {
        content: attr(data-label) ": ";
        font-weight: 600;
        display: inline-block;
        min-width: 110px;
        font-size: 0.8rem;
        opacity: 0.8;
    }

    .gr-res-item-cell {
        gap: 6px;
    }
}

/* === Term cards hover effect === */
.gr-term-cards-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.gr-term-card-inner {
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.gr-term-card-inner:hover {
/*
    border-color: #0073aa;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transform: translateY(-2px);
*/
    
        position: relative;
    display: block;
    background: #fff;
    border-radius: 10px;
/*    padding: 15px;*/
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.12);
/*    margin-bottom: 30px;*/
    
}

.gr-term-card-inner h3 a {
    transition: color 0.2s ease;
}

.gr-term-card-inner:hover h3 a {
    color: #0073aa;
}

.gr-term-card-description {
    margin: 0 0 8px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.gr-term-card-children {
    margin-bottom: 6px;
    font-size: 0.8rem;
    opacity: 0.85;
}

/* === Modal === */
.gr-res-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.gr-res-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
}

.gr-res-modal-dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 700px;
    width: 90%;
    max-height: 80vh;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 8px;
    padding: 18px 20px 16px;
    overflow-y: auto;

     box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
    
    /*
    position: absolute;
    max-width: 720px;
    max-height: 90vh;
    width: 100%;
    background: #ffffff;
    border-radius: 8px;
    overflow: auto;
    padding: 24px 28px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
*/
}

.gr-res-modal-close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.gr-res-modal-body h2 {
    margin-top: 0;
}

/* Prevent background scroll when modal open (optional) */
body.gr-res-modal-open {
    overflow: hidden;
}





/* === Resource links “table” (modal + full view) === */

.nb-res-links-table {
    margin-top: 8px;
    margin-bottom: 4px;
}

.nb-res-links-table__title {
    margin: 0 0 4px;
    font-size: 0.9rem;
    font-weight: 600;
}

.nb-res-links-table__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Each link becomes a row */
.nb-res-links-table__body a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.82rem;
    text-decoration: none;
}

/* Left side: label, right side: tag-like hint */
.nb-res-links-table__body a span.nb-res-links-table__hint {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.7;
}

.nb-res-links-table__body a:hover {
    background: #e5e7eb;
}







/* ===== NB-style generic UI skin for FAQs & Resources ===== */

/* Card grids (resource + FAQ term cards) */
/*
.nb-sc-card-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;   
    gap: 0;            
}
*/

/* Each card already has padding/width via inline styles */
/*
.nb-sc-card__inner {
    background: #ffffff;
    border: 1px solid #dde2ea;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(15,23,42,0.04);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.nb-sc-card__body {
    display: flex;
    flex-direction: column;
    height: 100%;
}
*/

.nb-sc-card__title {
    font-size: 1rem;
    margin: 0 0 4px;
    color: #2a4e69;
}

.nb-sc-card__title a {
    text-decoration: none;
    color: inherit;
}

.nb-sc-card__description {
    margin: 0 0 6px;
    font-size: 0.9rem;
    line-height: 1.4;
    color: #475569;
}

.nb-sc-card__children {
    margin-bottom: 6px;
    font-size: 0.8rem;
    color: #64748b;
}

.nb-sc-card__meta {
    margin-top: auto;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

/* Responsive stacking for cards */
@media (max-width: 900px) {
    .gr-term-card.nb-sc-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
@media (max-width: 640px) {
    .gr-term-card.nb-sc-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Table blocks (resource + FAQ hubs/tables) */
.nb-sc-table-block {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 16px;
    margin-bottom: 24px;
}

.nb-sc-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-bottom: 12px;
    align-items: flex-end;
}

.nb-sc-filters__field label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: #475569;
}

.nb-sc-filters__field label span {
    display: block;
    margin-bottom: 4px;
}

.nb-sc-input,
.nb-sc-select {
    display: block;
    width: 100%;
    max-width: 260px;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #cbd5e1;
    font-size: 0.9rem;
}

.nb-sc-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

/* Tables */
.nb-sc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.nb-sc-table thead th {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 600;
    white-space: nowrap;
}

.nb-sc-table tbody td {
    padding: 8px 10px;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: top;
}

.nb-sc-row:hover {
    background: #f8fafc;
}

/* Buttons */
.nb-sc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid #0f172a;
    background: #0f172a;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 6px 12px;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
}

.nb-sc-button--small {
    padding: 4px 10px;
    font-size: 0.78rem;
}

.nb-sc-button--ghost {
    background: transparent;
    color: #0f172a;
}

/* Modals – re-skin existing .gr-res-modal markup */
/*
.nb-sc-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.nb-sc-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,0.45);
}

.nb-sc-modal__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 720px;
    width: 90%;
    max-height: 80vh;
    transform: translate(-50%, -50%);
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(15,23,42,0.35);
    padding: 20px 24px 18px;
    overflow-y: auto;
}

.nb-sc-modal__close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: none;
    background: transparent;
    font-size: 1.2rem;
    cursor: pointer;
}

.nb-sc-modal__body h2 {
    margin-top: 0;
}
*/

/* Optional badges if you later map resource/FAQ statuses into them */
.nb-sc-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
}
.nb-sc-badge--active {
    background: #ecfdf3;
    color: #166534;
}
.nb-sc-badge--neutral {
    background: #eff6ff;
    color: #1d4ed8;
}



/* Group headers inside the simple resources table */
.gr-resources-table .gr-group-row-top td {
    background: #f8fafc;
    font-weight: 600;
    font-size: 0.9rem;
    color: #0f172a;
}

.gr-resources-table .gr-group-row-child td {
    background: #f9fafb;
    font-weight: 500;
    font-size: 0.85rem;
    color: #475569;
}





/* Make resource "Links" look like NB buttons without changing PHP */
.gr-res-col-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid #0f172a;
    background: #fefefe;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 4px 10px;
    line-height: 1.2;
    text-decoration: none;
    margin-right: 6px;
    margin-bottom: 4px;
}

.gr-res-col-links a:hover {
    background: #fff;
}






/* ==== NB-style FAQ accordion ==== */

/* Wrapper uses same card shell as tables; this just tweaks spacing */
.nb-sc-table-block--faqs-accordion {
    padding: 16px 18px;
}

/* Search + controls spacing */
.gr-faqs-accordion-wrapper .gr-faqs-search {
    margin-bottom: 10px;
}

.gr-faqs-accordion-wrapper .gr-faqs-controls {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

/* Group headings */
.nb-sc-accordion-group-heading {
    font-size: 1.95rem;
    font-weight: 600;
    margin: 12px 0 4px;
    color: #2a4e69;
    padding-top: 75px;
}

.nb-sc-accordion-subgroup-heading {
    font-size: 1.25rem;
    font-weight: 500;
    margin: 4px 0 4px 4px;
      color: #2a4e69;
    padding-top: 25px;
}

/* Accordion items */
.nb-sc-accordion-item {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 6px;
    overflow: hidden;
    background: #ffffff;
}

/* Question button */
.nb-sc-accordion-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border: none;
     background: #2a4e69;
    cursor: pointer;
    text-align: left;
}

.nb-sc-accordion-toggle:hover {
/*    background: #f1f5f9;*/
     background: -webkit-linear-gradient(-45deg, #000 50%, #66abde 150%);
}

.nb-sc-accordion-toggle .gr-faq-q-text {
/*
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
*/
    
    
       font-weight: 600;
     color: #fff;
        font-size: 18px;
    line-height: 20px;
    
}

.nb-sc-accordion-toggle .gr-faq-toggle-symbol {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
}

/* Answer panel */
.nb-sc-accordion-panel {
 padding: 28px 40px 46px;
    font-size: 16px;
    line-height: 18px;
    color: #2a4e69;
    border-top: 1px solid #66abde;
}

/* Ensure [hidden] actually hides in all browsers */
.nb-sc-accordion-panel[hidden] {
    display: none !important;
}



/* Single FAQ tweaks */
.nb-sc-single-faq-wrapper .nb-sc-card--faq-single {
    margin-bottom: 24px;
}

.nb-sc-card--faq-single .nb-sc-card__header {
    margin-bottom: 8px;
}

.nb-sc-card--faq-single .nb-sc-card__title {
    font-size: 1.5rem;
    margin-bottom: 4px;
    color: #2a4e69;
}

.nb-sc-card__meta--badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.nb-sc-card__footer--faq {
    margin-top: 16px;
}







/* Basic badge style if you haven't already set it */
.nb-sc-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    background: #e5e7eb;
    color: #111827;
}

.nb-sc-badge--neutral {
    background: #e5e7eb;
}




/* 1. Neutralise DataTables layout breaking for NB blocks */
/*
.thm-unit-test .dataTables_wrapper,
.nb-sc-table-block .dataTables_wrapper,
.gr-faqs-hub .dataTables_wrapper,
.gr-resources-hub .dataTables_wrapper {
    clear: none !important;
    float: none !important;
    width: 100%;
}
*/




/*************************************Theme Unit Testing***********************/
.thm-unit-test .tag-sticky-2 .news-block-one .inner-box .lower-content,
.thm-unit-test .sticky .news-block-one .inner-box .lower-content{
	background:#fafafa;
	border:2px dashed #ededed;
}

.thm-unit-test h1,.thm-unit-test h2,.thm-unit-test h3,.thm-unit-test h4,.thm-unit-test h5,.thm-unit-test h6{
	display: block;
	margin-bottom:15px;
}
.thm-unit-test h1{
	font-size:18px !important;
}
.thm-unit-test h2{
	font-size:16px !important;
}
.thm-unit-test h3{
	font-size:14px !important;
}
.thm-unit-test table{
	margin-bottom:30px;
	width:100%;
}
.thm-unit-test table thead tr th{
/*	border: 1px solid #ddd;*/
/*    vertical-align: bottom;*/
/*	padding:8px;*/
}
.thm-unit-test table tbody tr th{
	border: 1px solid #ddd;
    line-height: 1.42857;
    padding: 8px;
    vertical-align: top;
}
.thm-unit-test table tbody tr th a,
.thm-unit-test table tbody tr td a{
	color:var(--theme-color);
	font-weight:400;
}
.thm-unit-test table tbody tr td{
	border: 1px solid #ddd;
    line-height: 1.42857;
    padding: 8px;
    vertical-align: top;
}
.thm-unit-test .woocommerce table tbody tr td,
.thm-unit-test .woocommerce table tbody tr th,
.thm-unit-test .woocommerce table thead tr th{
	border: none;
}
.thm-unit-test .text > ul,.thm-unit-test .text > ol,.thm-unit-test > ol,.thm-unit-test > ul{
	padding-left:18px;
	margin-bottom:20px;
}
.thm-unit-test .text > ul li ul,.thm-unit-test .text > ul li ul li ul,.thm-unit-test > ul li ul,.thm-unit-test > ul li ul li ul,
.thm-unit-test .text > ol li ol,.thm-unit-test .text > ol li ol li ol,.thm-unit-test > ol li ol,.thm-unit-test > ol li ol li ol{
	padding-left:40px;
}
.thm-unit-test .text > ul li,
.thm-unit-test > ul li{
	list-style-type:disc;
	display:list-item;
}
.thm-unit-test .text > ul li ul li,
.thm-unit-test > ul li ul li{
	list-style-type:circle;
}
.thm-unit-test .text > ul li ul li ul li,
.thm-unit-test > ul li ul li ul li{
	list-style-type:square;
}
.thm-unit-test ol li{
	list-style-type:decimal;
	display:list-item;
}
.thm-unit-test ol li ol li{
	list-style-type:lower-alpha;
}
.thm-unit-test ol li ol li ol li{
	list-style-type:upper-roman;
}
.thm-unit-test p img,.thm-unit-test figure img,.thm-unit-test img{
	max-width:100%;
	height:auto;
	clear:both;
}






































/* 2. Make NB block wrappers layout-neutral inside Bootstrap rows/cols */
.nb-sc-table-block,
.nb-sc-table-block--faqs,
.nb-sc-table-block--faqs-accordion,
.gr-faqs-accordion-wrapper,
.gr-faqs-hub,
.gr-resources-hub,
.gr-resources-table {
    display: block;
    width: 100%;
    float: none !important;
    clear: none !important;
    margin-bottom: 24px; /* still some breathing room */
}


/* Contain floaty content inside FAQ accordion items */
.gr-faqs-accordion-wrapper,
.gr-faqs-accordion,
.gr-faq-item,
.nb-sc-accordion-item {
    position: relative;
    overflow: hidden; /* contains floats inside answers */
}

/* NB FAQ accordion outer block: layout-neutral */
.nb-sc-accordion-block {
    display: block;
    width: 100%;
    float: none;
    clear: none;
    margin-bottom: 24px;
}







/* ==== NB FAQ Accordion v2 (safe) ==== */

.nb-faq-accordion {
    display: block;
    width: 100%;
    float: none;
    clear: none;
    margin-bottom: 24px;
}

/* Search + controls */
.nb-faq-accordion__filters {
    margin-bottom: 10px;
}

.nb-faq-accordion__search-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.8rem;
    color: #475569;
}

.nb-faq-accordion__search-input {
    display: block;
    width: 100%;
    max-width: 520px;
    padding: 6px 10px;
    font-size: 0.9rem;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
}

.nb-faq-accordion__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.nb-faq-accordion__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #cbd5f5;
    background: #f8fafc;
    font-size: 0.78rem;
    font-weight: 500;
    color: #0f172a;
    cursor: pointer;
}

.nb-faq-accordion__btn:hover {
    background: #e5e7eb;
}

/* Group headings */
.nb-faq-accordion__group-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 12px 0 4px;
    color: #0f172a;
}

.nb-faq-accordion__subgroup-title {
    font-size: 0.85rem;
    font-weight: 500;
    margin: 4px 0 4px 4px;
    color: #475569;
}

/* Accordion items */
.nb-faq-accordion__item {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 6px;
    background: #ffffff;
    overflow: hidden;  /* contains floaty content inside answers */
}

/* Question button */
.nb-faq-accordion__question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border: none;
    background: #2a4e69;
    
    cursor: pointer;
    text-align: left;
}

.nb-faq-accordion__question:hover {
/*    background: #000;*/
     background: -webkit-linear-gradient(-45deg, #000 50%, #66abde 150%);
}

.nb-faq-accordion__question-text {
/*
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
*/
     font-weight: 600;
     color: #fff;
        font-size: 18px;
    line-height: 20px;
}

.nb-faq-accordion__toggle-symbol {
    font-size: 1rem;
    font-weight: 600;
    color: #ffffff;
}

/* Answer panel */
.nb-faq-accordion__answer {
    padding: 12px 14px 20px;
    font-size: 16px;
    line-height: 18px;
    color: #2a4e69;
    border-top: 1px solid #66abde;
}

.nb-faq-accordion__answer[hidden] {
    display: none !important;
}





/* FAQ taxonomy header block */
.nb-faq-taxonomy-header {
    margin-bottom: 18px;
}

.nb-faq-taxonomy-header__breadcrumbs {
    font-size: 0.98rem;
    color: #2a4e69;
    margin-bottom: 4px;
}

.nb-faq-taxonomy-header__breadcrumbs a {
    color: #64748b;
    text-decoration: none;
}

.nb-faq-taxonomy-header__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-faq-taxonomy-header__sep {
    margin: 0 4px;
}

.nb-faq-taxonomy-header__current {
    font-weight: 500;
}

.nb-faq-taxonomy-header__title {
    font-size: 1.6rem;
    margin: 0 0 6px;
    color: #0f172a;
}

.nb-faq-taxonomy-header__description {
    margin: 0 0 8px;
    font-size: 1.2rem;
    color: #2a4e69;
}

/* Spacing for cards + accordion on taxonomy pages */
.nb-faq-taxonomy-cards {
    margin-bottom: 18px;
}

.nb-faq-taxonomy-accordion {
    margin-top: 4px;
}


/* Highlight current FAQ category card */
.nb-faq-taxonomy-cards .nb-faq-card--current {
/*
    border-color: #0ea5e9;           
    box-shadow: 0 0 0 1px #0ea5e91a; 
    background: #f0f9ff;
*/
}

.nb-faq-taxonomy-cards .nb-faq-card--current .nb-sc-card__title {
    text-decoration: underline;
    color: #48C725; 
}

.nb-faq-taxonomy-cards .nb-faq-card--current:hover {
    transform: translateY(-1px);
}








/* ==== Resource taxonomy header (similar to FAQ header) ==== */

.nb-res-taxonomy-header {
    margin-bottom: 18px;
}

/* Let colours inherit from theme typography */
.nb-res-taxonomy-header,
.nb-res-taxonomy-header a,
.nb-res-taxonomy-header__description,
.nb-res-taxonomy-header__breadcrumbs {
     margin: 0 0 8px;
    font-size: 1.2rem;
    color: #2a4e69;
}

.nb-res-taxonomy-header__breadcrumbs {
    font-size: 0.98rem;
    margin-bottom: 4px;
    color: #2a4e69;
}

.nb-res-taxonomy-header__breadcrumbs a {
    text-decoration: none;
    color: #2a4e69;
}

.nb-res-taxonomy-header__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-res-taxonomy-header__sep {
    margin: 0 4px;
}

.nb-res-taxonomy-header__current {
    font-weight: 500;
}

/* Actions (Back + View all) */
.nb-res-taxonomy-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.nb-res-taxonomy-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: inherit;
}

.nb-res-taxonomy-header__btn:hover {
    background: #e5e7eb;
}

/* You can adjust these to match your accent colour */
.nb-res-taxonomy-header__btn--all {
    border-color: #cbd5f5;
}

.nb-res-taxonomy-header__btn--back {
    opacity: 0.85;
}

/* Distance between cards and the hub table */
.nb-res-taxonomy-cards {
    margin-bottom: 18px;
}

.nb-res-taxonomy-hub {
    margin-top: 4px;
}

/* Make the Resources hub search field wider on desktop */
.gr-resources-filters .gr-res-filter-group input[type="text"] {
    min-width: 260px;
    max-width: 720px;
}

/* If you want the select wide too, uncomment:
.gr-resources-filters .gr-res-filter-group select {
    min-width: 260px;
    max-width: 360px;
}
*/










/* ==== Resources Archive header ==== */
.nb-res-archive-header {
    margin-bottom: 18px;
}

.nb-res-archive-header,
.nb-res-archive-header a,
.nb-res-archive-header__description,
.nb-res-archive-header__breadcrumbs {
    color: inherit;
}

.nb-res-archive-header__breadcrumbs {
    font-size: 0.78rem;
    margin-bottom: 4px;
}

.nb-res-archive-header__breadcrumbs a {
    text-decoration: none;
}

.nb-res-archive-header__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-res-archive-header__sep {
    margin: 0 4px;
}

.nb-res-archive-header__current {
    font-weight: 500;
}

.nb-res-archive-header__title {
    margin: 0 0 6px;
    /* let font-size/colour inherit from theme h1 defaults or style directly if you like */
}

.nb-res-archive-header__description {
    margin: 0 0 8px;
    font-size: 0.9rem;
}

/* Archive header actions */
.nb-res-archive-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
}

.nb-res-archive-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: inherit;
}

.nb-res-archive-header__btn:hover {
    background: #e5e7eb;
}

/* Some spacing between cards and hub table */
.nb-res-archive-cards {
    margin-bottom: 18px;
}

.nb-res-archive-hub {
    margin-top: 4px;
}




/* ==== Single Resource header + card ==== */

.nb-res-single-header {
    margin-bottom: 18px;
}

.nb-res-single-header,
.nb-res-single-header a,
.nb-res-single-header__description,
.nb-res-single-header__breadcrumbs {
    color: inherit;
}

.nb-res-single-header__breadcrumbs {
    font-size: 0.78rem;
    margin-bottom: 4px;
}

.nb-res-single-header__breadcrumbs a {
    text-decoration: none;
}

.nb-res-single-header__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-res-single-header__sep {
    margin: 0 4px;
}

.nb-res-single-header__current {
    font-weight: 500;
}

.nb-res-single-header__title {
    margin: 0 0 6px;
    /* font-size inherits or override here if you want a bigger heading */
}

.nb-res-single-header__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

/* Resource term badges */
.nb-res-single-header__badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 500;
    background: #e5e7eb;
    color: inherit;
}

/* Header actions (Back + View all) */
.nb-res-single-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.nb-res-single-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: inherit;
}

.nb-res-single-header__btn:hover {
    background: #e5e7eb;
}

.nb-res-single-header__btn--all {
    border-color: #cbd5f5;
}

.nb-res-single-header__btn--back {
    opacity: 0.85;
}

/* Content card */
.nb-res-single.nb-sc-card--resource-single {
    margin-bottom: 24px;
}

.nb-res-single__excerpt {
    margin-bottom: 10px;
    font-style: italic;
    color: inherit;
}

.nb-res-single__content {
    font-size: 0.95rem;
}






/* ==== Single Resource enhanced layout ==== */

.nb-res-single-header__nav {
    margin-top: 6px;
    font-size: 0.8rem;
}

.nb-res-single-header__nav-label {
    font-weight: 500;
    margin-right: 4px;
}

.nb-res-single-header__nav-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nb-res-single-header__nav-list a {
    text-decoration: none;
    border-bottom: 1px dotted rgba(148, 163, 184, 0.7);
}

.nb-res-single-header__nav-list a:hover {
    border-bottom-style: solid;
}

/* Card layout top: media + meta */
.nb-res-single__layout {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 16px;
}

.nb-res-single__media {
    flex: 0 0 auto;
}

.nb-res-single__media img {
    max-width: 120px;
    max-height: 120px;
    border-radius: 6px;
    display: block;
}

/* Meta block */
.nb-res-single__meta {
    flex: 1 1 240px;
    font-size: 0.88rem;
}

.nb-res-single__item-name {
    margin-bottom: 6px;
}

.nb-res-single__item-name strong,
.nb-res-single__meta-row strong {
    font-weight: 600;
    margin-right: 4px;
}

.nb-res-single__meta-row {
    margin-bottom: 4px;
}

/* Links section */
.nb-res-single__links {
    margin-top: 10px;
}

.nb-res-single__links-title {
    font-size: 0.95rem;
    margin: 0 0 6px;
}

.nb-res-single__links-list a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    margin: 0 6px 6px 0;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.82rem;
    text-decoration: none;
}

.nb-res-single__links-list a:hover {
    background: #e5e7eb;
}

/* Overview + details sections */
.nb-res-single__section {
    margin-top: 12px;
}

.nb-res-single__section-title {
    font-size: 1rem;
    margin: 0 0 6px;
}

.nb-res-single__excerpt {
    margin: 0 0 8px;
    font-style: italic;
}

/* Let these generally inherit theme colours */
.nb-res-single-header,
.nb-res-single-header a,
.nb-res-single__section,
.nb-res-single__section-title,
.nb-res-single__excerpt {
    color: inherit;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .nb-res-single__layout {
        flex-direction: column;
    }

    .nb-res-single__media img {
        max-width: 100px;
    }
}



/* ==== Resource modal (NB-style) ==== */

.nb-res-modal {
    font-size: 0.9rem;
    color: inherit;
}

.nb-res-modal__title {
    margin: 0 0 4px;
    font-size: 1.85rem;
    line-height: 1.4;
    color: #2a4e69;
}

.nb-res-modal__subtitle {
/*
    margin: 0 0 6px;
    font-size: 0.8rem;
    color: #64748b;
*/
    
     margin: 0 40px 8px 0;
    font-size: 1.2rem;
    font-weight: 600;
    
}

.nb-res-modal__meta {
    margin-bottom: 6px;
    font-size: 0.8rem;
}

.nb-res-modal__meta-row {
    margin-bottom: 3px;
}

.nb-res-modal__meta-label {
    display: inline-block;
    min-width: 70px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-right: 4px;
}

.nb-res-modal__meta-value {
    font-size: 0.85rem;
}

.nb-res-modal__meta-row--inline {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.nb-res-modal__meta-kpi-label {
    display: block;
    font-size: 0.7rem;
    color: #64748b;
}

.nb-res-modal__meta-kpi-value {
    font-size: 0.95rem;
    font-weight: 600;
}

.nb-res-modal__abstract {
    margin: 4px 0 8px;
    font-size: 0.88rem;
}

.nb-res-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.nb-res-modal__links a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
/*    border: 1px solid #e2e8f0;*/
/*    background: #f8fafc;*/
    font-size: 0.8rem;
    text-decoration: none;
    margin-right: 4px;
    margin-bottom: 4px;
}

.nb-res-modal__links a:hover {
    background: #e5e7eb;
}

/* ==== FAQ modal (NB-style) ==== */

.nb-faq-modal {
    font-size: 0.9rem;
    color: inherit;
}

.nb-faq-modal__title {
    margin: 0 0 6px;
    font-size: 1.05rem;
    line-height: 1.4;
}

.nb-faq-modal__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px;
}

.nb-faq-modal__badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    background: #e5e7eb;
}

.nb-faq-modal__answer {
    font-size: 0.9rem;
    line-height: 1.6;
    margin-bottom: 8px;
}

.nb-faq-modal__actions {
    margin-top: 4px;
}

/* ==== Neutral NB buttons used in both modals ==== */

.nb-sc-btn {
/*
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: inherit;
*/
    
    
        display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px;
    top: 10px;
    right: 6px;
    border-radius: 999px;
    background: transparent;
    font-size: 12px;
    cursor: pointer;
    line-height: 1;
    
}

.nb-sc-btn:hover {
    background: #fff;
}

.nb-sc-btn--primary {
/*    border-color: #cbd5f5;*/
    background: #fff;
}

.nb-sc-btn--primary:hover {
/*    background: #e0ebff;*/
}



/* Resource modal: divider + right-aligned full-view button */
.nb-res-modal__links {
    margin-top: 4px;
}

.nb-res-modal__divider {
    border: 0;
    border-top: 1px solid #e2e8f0;
    margin: 8px 0 6px;
}

.nb-res-modal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.nb-res-modal__actions--primary {
    justify-content: flex-end;
}










/* ==== Single Resource aligned with FAQ spacing / NB style ==== */

.nb-res-single.nb-sc-card--resource-single {
    margin-bottom: 24px;
}

/* Top bar: breadcrumbs + actions inside card */
.nb-res-single__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    padding: 10px 20px 6px; /* top/right/left padding similar to FAQ */
}

.nb-res-single__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.nb-res-single__breadcrumbs a {
    text-decoration: none;
}

.nb-res-single__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-res-single__sep {
    margin: 0 2px;
}

.nb-res-single__current {
    font-weight: 500;
}

.nb-res-single__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 0; /* similar feel to FAQ actions */
}

/* Title + badges */
.nb-res-single__header {
    margin: 10px 0 8px;
    padding: 20px 20px 10px; /* match FAQ header padding */
}

.nb-res-single__title {
    margin: 0 0 6px;
    font-size: 1.3rem;
    line-height: 1.3;
    padding: 10px 0 10px; /* lighter than 40px but same vibe */
}

.nb-res-single__subtitle {
    margin: 0 0 6px;
    font-size: 0.9rem;
    color: #64748b;
}

.nb-res-single__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.nb-res-single__badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    background: #e5e7eb;
}

/* Meta block (Type / Status / Downloads / Views / Preview) */
.nb-res-single__meta {
    margin-bottom: 10px;
    padding: 0 20px 10px; /* align with header & links block */
}

/* Reuse modal-style meta rows */
.nb-res-modal__meta-row {
    margin-bottom: 4px;
}

.nb-res-modal__meta-label {
    display: inline-block;
    min-width: 70px;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-right: 4px;
}

.nb-res-modal__meta-value {
    font-size: 0.85rem;
}

.nb-res-modal__meta-row--inline {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

.nb-res-modal__meta-kpi-label {
    display: block;
    font-size: 0.7rem;
    color: #64748b;
}

.nb-res-modal__meta-kpi-value {
    font-size: 0.95rem;
    font-weight: 600;
}

/* Preview image */
.nb-res-single__preview img {
    max-width: 140px;
    max-height: 140px;
    border-radius: 6px;
    display: block;
}

/* Links and overview */
.nb-res-single__links-block {
    margin-bottom: 12px;
    padding: 0 20px 10px; /* same horizontal as meta/header */
}

.nb-res-single__links a {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    font-size: 0.8rem;
    text-decoration: none;
    margin-right: 4px;
    margin-bottom: 4px;
}

.nb-res-single__links a:hover {
    background: #e5e7eb;
}

.nb-res-single__abstract {
    margin: 6px 0 0;
    font-size: 0.9rem;
    color: #475569;
}

/* Main body content */
.nb-res-single__content {
    font-size: 0.95rem;
    line-height: 1.6;
    padding: 20px;
    /* mirror your FAQ .nb-faq-single__content padding */
}

.nb-res-single__content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    margin: 8px 0;
}

/* Inherit theme colours */
.nb-res-single__topbar,
.nb-res-single__topbar a,
.nb-res-single__header,
.nb-res-single__links-block,
.nb-res-single__content {
    color: inherit;
}

/* Responsive tweaks */
@media (max-width: 767px) {
    .nb-res-single__topbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .nb-res-single__actions {
        align-self: flex-start;
        padding-left: 0;
    }

    .nb-res-single__content {
        padding: 20px; /* less padding on narrow screens */
    }
}












/* ==== Single FAQ aligned with NB style ==== */

.nb-faq-single.nb-sc-card--faq-single {
    margin-bottom: 24px;
}

.nb-faq-single__topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.8rem;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 6px;
}

.nb-faq-single__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
     padding: 10px;
}

.nb-faq-single__breadcrumbs a {
    text-decoration: none;
}

.nb-faq-single__breadcrumbs a:hover {
    text-decoration: underline;
}

.nb-faq-single__sep {
    margin: 0 2px;
}

.nb-faq-single__current {
    font-weight: 500;
}

.nb-faq-single__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
     padding: 20px;
}

/* Question + badges */
.nb-faq-single__header {
    margin: 10px 0 8px;
     padding: 20px;
}

.nb-faq-single__title {
/*    margin: 0 0 6px;*/
    font-size: 1.3rem;
    line-height: 1.3;
     padding: 7px;
}

.nb-faq-single__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.nb-faq-single__badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    background: #e5e7eb;
}

/* Answer text */
.nb-faq-single__content {
    font-size: 1.2rem;
    line-height: 1.6;
    padding: 20px;
}

/* Inherit theme colours */
.nb-faq-single__topbar,
.nb-faq-single__topbar a,
.nb-faq-single__header,
.nb-faq-single__content {
    color: inherit;
}

/* Responsive */
@media (max-width: 767px) {
    .nb-faq-single__topbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .nb-faq-single__actions {
        align-self: flex-start;
    }
}







/* ==== Category nav row on single Resource ==== */

.nb-res-single__cat-nav {
    margin-top: 8px;
    font-size: 0.8rem;
}

.nb-res-single__cat-nav-label {
    font-weight: 500;
    margin-right: 4px;
}

.nb-res-single__cat-nav-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nb-res-single__cat-nav-list a {
    text-decoration: none;
    border-bottom: 1px dotted rgba(148, 163, 184, 0.7);
}

.nb-res-single__cat-nav-list a:hover {
    border-bottom-style: solid;
}

/* ==== Category nav row on single FAQ ==== */

.nb-faq-single__cat-nav {
    margin-top: 8px;
    font-size: 0.8rem;
}

.nb-faq-single__cat-nav-label {
    font-weight: 500;
    margin-right: 4px;
}

.nb-faq-single__cat-nav-list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nb-faq-single__cat-nav-list a {
    text-decoration: none;
    border-bottom: 1px dotted rgba(148, 163, 184, 0.7);
}

.nb-faq-single__cat-nav-list a:hover {
    border-bottom-style: solid;
}



/*border:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;height:100%;*/

.gr-term-card {

}


/* Active FAQ category card highlight on taxonomy pages */
.nb-faq-taxonomy-cards .gr-term-card.nb-faq-card--current .gr-term-card-inner {
    position: relative;
    display: block;
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.12);
    margin-bottom: 30px;
}


/* -- original
.nb-faq-taxonomy-cards .gr-term-card.nb-faq-card--current .gr-term-card-inner {
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.12);
    background: #f0f9ff !important;
}
*/

.nb-faq-taxonomy-cards .gr-term-card.nb-faq-card--current .gr-term-card-body h3,
.nb-faq-taxonomy-cards .gr-term-card.nb-faq-card--current .gr-term-card-body h3 a {
    text-decoration: underline;
}



/* Active Resource category card highlight on taxonomy pages */
.nb-res-taxonomy-cards .gr-term-card.nb-res-card--current .gr-term-card-inner {
/*
    border-color: #22c55e !important; 
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.14);
*/
/*
        border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.12);
    background: #f0f9ff !important;
*/
        position: relative;
    display: block;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.12);

    
    
}

.nb-res-taxonomy-cards .gr-term-card.nb-res-card--current .gr-term-card-body h3,
.nb-res-taxonomy-cards .gr-term-card.nb-res-card--current .gr-term-card-body h3 a {
    text-decoration: underline;
}





/* Generic hub table styling for resources + FAQs */
.gr-res-table {
    width: 100% !important;
}

.gr-res-table th,
.gr-res-table td {
    text-align: left;
    vertical-align: top;
    white-space: normal;
}

/* Keep the “Links” column neat */
.gr-res-table td:last-child {
    white-space: nowrap;
}

/* Optional: slightly narrower answer column for FAQs */
.gr-res-table.faq-table td:nth-child(3),
.gr-res-table.faq-table th:nth-child(3) {
    max-width: 420px;
}



