* =============================================================
   1. GLOBAL LAYOUT & WIDTH
============================================================= */
/* Main containers set to 95% to allow breathing room on the sides */
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content,
#learndash-page-content,
.learndash-content-body,
.learndash_content_wrap {
    width: 95% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

/* Ensure inner content stays readable on ultra-wide screens */
.ld-topic-content, .ld-lesson-content, .ld-quiz-content, .ld-course-content {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 20px 0 !important;
}

/* Hide Unwanted Elements */
.bb-grid .sidebar,
.bb-course-points,
#learndash-course-header .bb-ld-info-bar,
#learndash-course-header .lms-header-title,
.ld-status.ld-status-incomplete.ld-third-background {
    
}

/* =============================================================
   2. ACTION BUTTONS (In-Progress & Mark Complete)
============================================================= */
.ld-content-actions {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 1400px !important;
    margin: 20px auto !important; /* Reduced from 40px for better height */
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ld-content-actions .ld-status { order: 1 !important; }
.ld-content-actions .ld-content-action { order: 2 !important; }

/* Button & Status Styling */
.learndash_mark_complete_button,
.btn_groups_plus,
.bb-button-wrap .btn-join,
.ld-next-button {
    background-color: #40D1BB !important;
    color: #ffff !important;
    border-radius: 6px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}

.learndash_mark_complete_button:hover,
.bb-button-wrap .btn-join:hover,
.btn_groups_plus:hover {
    background: #40D1BB !important;
    color: #fff !important;
}

/* =============================================================
   3. SIDEBAR HEIGHT & POSITION FIX (HEADER OFFSET)
============================================================= */
.lms-topic-sidebar-data {
    /* Adjust 'top' to match the height of your header (e.g., 100px) */
    top: 100px !important; 
    
    /* Subtract the header height from the viewport height to prevent double scroll */
    max-height: calc(100vh - 100px) !important; 
    
    padding-top: 10px !important;
    position: sticky !important; /* Ensures it stays visible as you scroll the module */
}

/* Ensure the wrapper doesn't have hidden overflow cutting off the sidebar */
.lms-topic-sidebar-wrapper {
    overflow: visible !important;
}

/* Tighten the navigation header inside the sidebar */
.lms-topic-sidebar-course-navigation {
    padding: 10px 20px 5px !important;
}
/* =============================================================
   4. TABS & IFRAME
============================================================= */
iframe.AnC-iFrame {
    width: 100% !important;
    border: none !important;
    height: 450px !important; /* Balanced height */
}

@media screen and (min-width: 1201px) {
    iframe.AnC-iFrame {
        height: 65vh !important; 
        min-height: 550px !important;
    }
}

/* Rename "Materials" tab to "Resources" */
button[data-ld-tab^="ld-tab-materials"] .ld-text {
    visibility: hidden;
    position: relative;
}

button[data-ld-tab^="ld-tab-materials"] .ld-text::after {
    content: "Resources";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
}

/* =============================================================
   5. MOBILE RESPONSIVENESS
============================================================= */
@media screen and (max-width: 800px) {
    .ld-content-actions {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .ld-content-actions .ld-content-action,
    .learndash_mark_complete_button {
        width: 100% !important;
    }
}

/* Navigation & Spacing cleanup */
.sfwd-course-position { margin-top: 15px !important; margin-left: 20px; }
.flex.bb-position, .flex.bb-position .sfwd-course-position { display: none !important; }

/* =============================================================
   6. MENU & BUTTON STYLING
============================================================= */
.btn_groups_plus {
    background: #40D1BB;
}

.manage-buttons {
    display: inline-block;
    position: relative;
}

.manage-buttons a.btn_groups_plus {
    margin: 2px !important;
    width: 16vw !important;
    display: block;
}

/* =============================================================
   7. FRAME BLOCKER MOBILE-FRIENDLY
============================================================= */
#frame-blocker {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    transform-origin: center center;
    z-index: 1000;
    pointer-events: none;
    visibility: hidden;
    width: 100%; /* full container width */
    max-width: 400px; /* optional max width for desktop */
    height: auto; /* let content scale */
    aspect-ratio: 352 / 500; /* maintain original ratio */
    display: grid;
    grid-template-columns: 10px 1fr 10px;
    grid-template-rows: 1fr 1fr 1fr;
}

#frame-blocker .frame-blocker-slide,
#frame-blocker .frame-blocker-top,
#frame-blocker .frame-blocker-bottom,
#frame-blocker .frame-blocker-right,
#frame-blocker .frame-blocker-left {
    width: 100%;
    height: 100%;
}

/* Ensure it scales well on very small screens */
@media screen and (max-width: 360px) {
    #frame-blocker {
        width: 90vw !important;
        aspect-ratio: auto; /* allow flexible height */
    }
}

.sfwd-course-nav { visibility: hidden; }

/* 1. Remove strikethrough from the lesson/quiz title text */
.learndash-wrapper .learndash-complete .ld-item-title span {
    text-decoration: none !important;
}

/* 2. Remove strikethrough from the link wrapper (sometimes used as a backup) */
.learndash-wrapper .learndash-complete a.ld-item-name {
    text-decoration: none !important;
}


/* Remove strikethrough in BuddyBoss LearnDash sidebar */
.bb-completed-item .bb-lesson-title,
.bb-completed-item .bb-quiz-title,
.bb-completed-item {
    text-decoration: none !important;
}

/* Fix for potential opacity/fading on completed items */
.bb-completed-item {
    opacity: 1 !important;
}

/* =================================
 Gravity forms Read-Only inputs =================================
*/
.gf_readonly input {
    color: #777 !important;
}
/* 1. COMPLETELY REMOVE AUTHOR/AVATAR */
#ld-cg-mkwpl04b8l .item .content .meta .author {
    display: none !important;
}

/* 4. STYLE THE PRICE AREA */
#ld-cg-mkwpl04b8l .item .content .meta.price-wrapper {
    display: none;
}

/* 3. STYLE CATEGORIES AS MODERN PILLS */
#ld-cg-mkwpl04b8l .item .content .meta .categories {
    background-color: #eef2f6; /* Very light navy tint */
    color: #00407b;            /* Brand Navy */
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 5px 14px;
    border-radius: 100px;      /* Full pill shape */
    display: inline-flex;
    align-items: center;
}

/* 5. ADD TOP MARGIN AND CHANGE TEXT */
#ld-cg-mkwpl04b8l .item .content .button {
    margin-top: 25px !important;
}

/* 1. Reset the button link to be a grid stack */
#ld-cg-mkwpl04b8l .item .content .button a {
    margin-top: 10px !important;
    display: grid !important; 
    place-items: center; /* Centers the new text perfectly */
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none;
    min-height: 40px; /* Set your desired button height here */
}

/* 2. Inject the new text into the center of that grid */
#ld-cg-mkwpl04b8l .item .content .button a::before {
    content: "Take the Module";
    font-size: 16px !important; /* Your text size */
    color: #00407b !important; /* Your brand blue */
    visibility: visible;
    grid-area: 1 / 1; /* Forces it to stay in the exact center */
    line-height: 0.5 !important;
}

/* 3. Ensure the original invisible text doesn't push the box */
#ld-cg-mkwpl04b8l .item .content .button a::after {
    display: none !important;
}

/* Only make usernames in the submenu navy */
.sub-menu .user-name {
    color: #00407B !important;
}

/* Target the Load More button specifically */
button.load-more,
.load-more {
    background-color: #40D1BB !important; /* teal background */
    color: #00407b !important;            /* dark blue text */
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
}

/* Hover effect */
button.load-more:hover,
.load-more:hover {
    background-color: #30b9a3 !important;
    color: #002d55 !important;
}

/* Only make usernames in the submenu navy */
.user-name {
    font-size: 18px; !important;
}

/* Search input text */
.search-field-top {
    color: #00407b;
}

/* Placeholder text */
.search-field-top::placeholder {
    color:#00407b;
    opacity: 1; /* ensures consistent color across browsers */
}

/* Optional: when field is focused */
.search-field-top:focus {
    color: #00407b;
}

/* 
 * Margin for Required on forms */
.gfield_required
{
	margin-left: 3px;
}

/* =============================================================
   BUTTONS SCOPED TO LEARNDASH / BUDDYBOSS ONLY
============================================================= */

/* Only affect .btn_groups_plus inside LearnDash wrapper */
.learndash-wrapper .btn_groups_plus,
.bb-grid .btn_groups_plus,
.bb-button-wrap .btn-join,
.learndash-wrapper .ld-next-button {
    background-color: #40D1BB !important;
    color: #00407B !important;
    border-radius: 6px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important; /* override global widths */
}

/* Hover effects for scoped buttons */
.learndash-wrapper .btn_groups_plus:hover,
.bb-button-wrap .btn-join:hover,
.bb-grid .btn_groups_plus:hover {
    background: #3ABCA0 !important;
    color: #fff !important;
}

/* Ensure table buttons remain natural */
table .btn_groups_plus {
    display: inline-block !important;
    font-size: 18px !important;
    background: #40D1BB; /* keep color consistent if desired */
    color: #00407B;
    border-radius: 4px;
}

/* ==========================================
   BOLD MENU SECTION HEADERS
   Works for BuddyPanel + Header Sub Menu
========================================== */


/* 1. Disable clicking on section headers */

.buddypanel-menu .bold-menu-item,
.sub-menu .bold-menu-item {
    pointer-events: none !important;
    cursor: default !important;
}


/* 2. Style header text */

.buddypanel-menu .bold-menu-item > a,
.sub-menu .bold-menu-item > a {
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    opacity: 0.8;
}

/* ------------------------------------------
   3. Remove icons ONLY for header items
------------------------------------------- */

/* BuddyPanel header icons */
.buddypanel-menu .bold-menu-item i,
.buddypanel-menu .bold-menu-item svg,
.buddypanel-menu .bold-menu-item ._mi {
    display: none !important;
}

/* Sub-menu header icons */
.sub-menu .bold-menu-item i,
.sub-menu .bold-menu-item svg,
.sub-menu .bold-menu-item ._mi {
    display: none !important;
}

/* Remove pseudo-elements added to header links */
.buddypanel-menu .bold-menu-item::before,
.buddypanel-menu .bold-menu-item::after,
.sub-menu .bold-menu-item::before,
.sub-menu .bold-menu-item::after {
    display: none !important;
    content: none !important;
}


/* Remove pseudo-element icons */
.buddypanel-menu .bold-menu-item > a:before,
.buddypanel-menu .bold-menu-item > a:after,
.sub-menu .bold-menu-item > a:before,
.sub-menu .bold-menu-item > a:after {
    display: none !important;
    content: none !important;
}


/* 4. Fix padding (since icons are removed) */

.buddypanel-menu .bold-menu-item > a,
.sub-menu .bold-menu-item > a {
    padding-left: 10px !important;
}


/* 5. Optional spacing between sections */

.buddypanel-menu .bold-menu-item,
.sub-menu .bold-menu-item {
    margin-top: 1px;
    padding-top: 1px;
}


/* 6. Optional divider */

.buddypanel-menu .bold-menu-item:not(:first-child),
.sub-menu .bold-menu-item:not(:first-child) {
    border-top: 1px solid rgba(0,0,0,0.08);
}

/* Gravity Forms: fix double-styled radio buttons */
.gform_wrapper .gfield_radio input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  position: static;
  margin-right: 0.4em;
}



/* Make readonly fields look like plain text */
#gform_18 input[readonly] {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    pointer-events: none; /* removes cursor/focus */
}
.bb-header-buttons {
	display:none;
}

/* Gravity Forms: keep fields visible (override theme hiding/clipping) */
.gform_wrapper .gfield {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description {
  display: block !important;
  visibility: visible !important;
}
.gform_wrapper select.gfield_select,
.gform_wrapper .ginput_container select {
  display: block !important;
  visibility: visible !important;
  min-height: 2.5em;
  padding: 0.35em 0.5em;
  line-height: 1.4;
  box-sizing: border-box;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea {
  display: block !important;
  visibility: visible !important;
  min-height: 2.5em;
  box-sizing: border-box;
}

.gform_body .gform_fields  .ginput_container_radio #input_31_5 .gchoice
{
	display: flex !important;
	width: 300px;
	margin-left: 250px;
	align-content: left;
	align-self: left;
	align-items: left;
	
}

/* ========================
 * GOVERNING MATTERS RADIOS
 * ========================
 */
.page-id-494 .gfield_radio .gform-field-label::before
{
 visibility:hidden;
}

.page-id-494 .gfield_radio .gform-field-label::after
{
visibility:hidden;

}


/*
 * ========================
 * GFORMS
 * ========================
 * Turn off any custom bullets the theme is drawing on labels*/


.gform_wrapper .ginput_container .gfield_radio
{
	width: 10%;

}


/* remove only the extra small marker on each choice wrapper */

.gform_wrapper input[type="radio"].gfield-choice-input::before {
	visibility: hidden !important;
    content: none !important;
    display: none !important;
}

/* 3. SHOW ON MOBILE ALL THE TIME */
@media (max-width: 768px) {
    .fl-node-enzruphcgt32,
    .beaver-header .fl-col-small:first-child .fl-module-photo {
        display: block !important;
        max-width: 180px !important;
    }
}

/* 4. SHOW IN EDITOR */
.fl-builder-edit .fl-node-enzruphcgt32,
.fl-builder-edit .beaver-header .fl-col-small:first-child .fl-module-photo {
    display: block !important;
    opacity: 0.5;
}

/* ── STOP BB CLIPPING ── */
.fl-menu {
    overflow: visible !important;
}

.fl-module-content .fl-menu .sub-menu {
    overflow: visible !important;
    min-width: unset !important;
}

/* ── GRID: full width accounting for buddypanel ── */
#menu-logged-in-navigation .sub-menu {
    position: fixed !important;
    top: auto !important;
    left: 220px !important;
    width: calc(100vw - 220px) !important;
    right: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1.3fr 1.3fr 1fr 1fr !important;
    grid-auto-rows: auto !important;
column-gap: 16px !important;
grid-row-gap: 7px !important;  padding: 24px 60px !important;
    list-style: none !important;
    background: #fff;
    border-radius: 0 !important;
    box-shadow: 0 20px 50px rgba(0,31,63,0.15);
    z-index: 9999 !important;
}

/* Wrapper for the whole submenu (or the cards container) */
#menu-logged-in-navigation .sub-menu {
    position: relative; /* so shapes can be absolutely positioned inside */
    display: grid;
    grid-template-columns: 1.3fr 1.3fr 1fr 1fr;
    gap: 16px;
    padding: 24px 60px;
    background: #fff; /* white background of the whole grid */
    border-radius: 0;
    box-shadow: 0 20px 50px rgba(0,31,63,0.15);
    z-index: 9999;
    overflow: hidden; /* ensure shapes stay contained inside */
}

/* Add decorative shapes inside the submenu wrapper */
#menu-logged-in-navigation .sub-menu::before {
    content: '';
    position: absolute;
    top: 0; /* move inside */
    left: 60%; /* adjust as needed */
    width: 100px;
    height: 100px;
    background: #f77;
    clip-path: polygon(0 0, 100% 0, 0 100%); /* triangle shape */
    z-index: 0;
}

#menu-logged-in-navigation .sub-menu::after {
    content: '';
    position: absolute;
    bottom: 0; /* move inside */
    right: 0; /* adjust as needed */
    width: 120px;
    height: 120px;
    background: #8e5ed6; /* purple semi-circle */
    border-radius: 50%;
    z-index: 0;
}

/* Ensure links/content appear above the shapes */
#menu-logged-in-navigation .sub-menu li,
#menu-logged-in-navigation .sub-menu a {
    position: relative;
    z-index: 1;
}

/* ── HEADING ── */
#menu-logged-in-navigation .sub-menu .heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin-bottom: 10px;
}

#menu-logged-in-navigation .sub-menu .heading > a {
    font-family: 'New Kansas', serif;
    font-weight: 600;
    font-size: 24px;
    pointer-events: none;
    cursor: default;
    display: block;
    padding-bottom: 10px;
}

/* ── COLUMN PLACEMENT ── */
#menu-logged-in-navigation .sub-menu .col-1 { grid-column: 1 !important; }
#menu-logged-in-navigation .sub-menu .col-2 { grid-column: 2 !important; }

/* ── ROW PLACEMENT ── */
#menu-logged-in-navigation .sub-menu .row-2 { grid-row: 2 !important; }
#menu-logged-in-navigation .sub-menu .row-3 { grid-row: 3 !important; }
#menu-logged-in-navigation .sub-menu .row-4 { grid-row: 4 !important; }
#menu-logged-in-navigation .sub-menu .row-5 { grid-row: 5 !important; }
#menu-logged-in-navigation .sub-menu .row-6 { grid-row: 6 !important; }
#menu-logged-in-navigation .sub-menu .row-7 { grid-row: 7 !important; }

/* ── REGULAR LINK STYLING ── */
#menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a {
    display: block !important;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

#menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a:hover {    padding-left: 6px;
}

/* ── BUTTON ── */
#masthead #menu-logged-in-navigation .sub-menu li.button {
    grid-column: 1 !important;
    grid-row: auto !important;
    margin-top: 10px !important;
    align-self: start !important;
}

#masthead #menu-logged-in-navigation .sub-menu li.button > a {
    background-color: #40D1BB !important;
    border-radius: 100px !important;
    padding: 10px 24px !important;
    display: inline-flex !important;
    width: auto !important;
    align-items: center !important;
    justify-content: center !important;
    color: #00407B !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: normal !important;
    transition: background-color 0.25s ease !important;
}

#masthead #menu-logged-in-navigation .sub-menu li.button > a:hover {
    background-color: #2db8a2 !important;
    color: #00407B !important;
    padding: 10px 24px !important;
    opacity: 1 !important;
}

/* ── CARD 1: column 3, rows 2-6 ── */
#menu-logged-in-navigation .sub-menu .mega-card-1 {
    grid-column: 3 !important;
    grid-row: 2 / 7 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    position: relative !important;
}

/* ── CARD 2: column 4, rows 2-6 ── */
#menu-logged-in-navigation .sub-menu .mega-card-2 {
    grid-column: 4 !important;
    grid-row: 2 / 7 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    position: relative !important;
}

/* ── BB'S DEFAULT ANCHOR BECOMES FULL CARD CLICKABLE OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-card-1 > a,
#menu-logged-in-navigation .sub-menu .mega-card-2 > a {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    pointer-events: all !important;
    display: block !important;
}

/* ── CARD ITSELF ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card {
    display: flex !important;
    flex-direction: column;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none !important;
    width: 100%;
    height: 100%;
    min-height: 200px;
    transition: opacity 0.2s ease;
}

#menu-logged-in-navigation .sub-menu .mega-nav-card:hover {
    opacity: 0.85;
}

/* ── IMAGE FILLS CARD ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* ── GRADIENT OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,31,63,0.88) 40%, rgba(0,31,63,0.15) 100%);
    z-index: 1;
    border-radius: 10px;
}

/* ── TEXT OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card .mega-nav-card-text {
    position: relative;
    z-index: 2;
    padding: 12px;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

/* ── CARD TITLE ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card strong {
    display: block;
    font-family: 'New Kansas', serif;
    font-weight: 600;
    font-size: 16px;
    color: #fff !important;
    margin-bottom: 4px;
    line-height: 1.2;
}

/* ── CARD DESCRIPTION ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card span span {
    font-size: 12px;
font-family: "Lexend Deca", sans-serif;
font-weight: 500;
    color: #ffff !important;
    line-height: 1.4;
    display: block;
}

/* ── SHAPES ON CARD 2 ── */
#menu-logged-in-navigation .sub-menu .mega-card-2 .mega-nav-card::after {
    content: '';
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 2px solid rgba(64,209,187,0.35);
    bottom: -30px;
    right: -30px;
    z-index: 1;
    pointer-events: none;
}
#menu-logged-in-navigation .sub-menu li.spacer {
    visibility: hidden !important;
    pointer-events: none !important;
    border-bottom: none !important;
}

#menu-logged-in-navigation .sub-menu li.spacer a {
    border-bottom: none !important;
    padding: 0 !important;
    height: 44px !important;
}

.sub-menu 
{
 background-color: white;
}

.sub-menu .heading  
{
	padding: 0 0 0 0 !important;
	margin: 0 0 0 0 !important;

}

.sub-menu > li:first-child > a {
  font-family: "New Kansas semi bold", sans-serif !important;
  font-weight: 600;
  font-size: 28px !important;
  padding: 0;
  margin: 0 0 20px 0  !important;
	color: #00407b !important;
	
}

.sub-menu .menu-item a 
{
	margin: 0 0 0 0 !important;
	padding: 0 0 0 0 !important;
	font-family: "Lexend Deca" !important;
	font-size: 20px !important;
	line-height: 30px !important;
}

.sub-menu .button
{
	border: 2px solid #40d1bb;
	font-family: "Lexend Deca"  !important;
	font-size: 20px !important;
	border-radius: 9999px;
	font-weight: 500;
  margin-top: 20px !important;
}
/* ── NEWSLETTER BUTTONS ── */

.gform_wrapper input[type="radio"] {
    appearance: auto !important;
    opacity: 1 !important;
}
/* Make Gravity Forms radios align nicely inline */
.gform_wrapper .gfield_radio {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

.gform_wrapper .gfield_radio li {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

.gform_wrapper .gfield_radio input[type="radio"] {
    margin: 0 !important;
}

#fl-icon-text-x3ufsvqhmno1 .fl-icon-text-link:hover {
    background-color: rgb(64, 209, 187);
}

.fl-node-o27q9faz1kxj img {
    max-width: 150px;
    height: auto;
}

@media (max-width: 1024px) {

    .fl-node-cz6agkwl3em7 .fl-row-content-wrap {
        position: relative !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content:before,
    .fl-node-cz6agkwl3em7 .fl-row-content:after {
        content: none !important;
        display: none !important;
    }

    .fl-node-cz6agkwl3em7 .fl-col-group,
    .fl-node-cz6agkwl3em7 .fl-col {
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
    }

    [data-node="ct2jk5f14me9"],
    [data-node="0gnw3tm7bz2c"],
    [data-node="oa2wqp7er3zk"] {
        display: none !important;
    }

    /* LOGO — left */
    [data-node="jvcxdqm2z0p3"] {
        order: 1 !important;
        flex: 0 0 auto !important;
    }

    /* Logo image size */
    [data-node="gfiyvenb0x53"] img {
        max-width: 100px !important;
        height: auto !important;
        display: block !important;
			margin-top: 20px;
    }

    /* HAMBURGER — far right */
    [data-node="zyk8bei1uar6"] {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin-left: 15px !important;
    }


    /* Make icon bigger */
    .fl-node-x3ufsvqhmno1 .fl-icon-wrap .fl-icon i {
        font-size: 32px !important;
        color: #ffffff !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-text {
        display: none !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }
}
/* ── NGA USER MENU — Desktop ── */
.nga-user-menu-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nga-user-menu-container .fl-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon img {
    filter: brightness(0) saturate(100%) invert(49%) sepia(83%) saturate(376%) hue-rotate(145deg) brightness(95%) contrast(92%);
}

.nga-user-menu-container .fl-icon-text p {
    display: inline-block;
    margin-left: 8px;
    color: #ffffff;
    transition: color 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon-text p {
    color: #00bfae;
}

/* ── NGA USER MENU — Tablets & Small Devices ── */
@media (max-width: 1024px) {
    .nga-user-menu-container {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important; /* Keep it right-aligned near hamburger */
        gap: 8px !important;
    }

    /* Hide text on tablets */
    .nga-user-menu-container .fl-icon-text {
        display: none !important;
    }

    /* Icon wrapper */
    .nga-user-menu-container .nga-link-wrapper {
        justify-content: center !important;
        gap: 0 !important;
    }

    /* Icon size for tablets */
    .nga-user-menu-container .fl-icon img {
        width: 36px !important;
        height: 36px !important;
        margin-top: 0 !important; /* Adjust for header alignment */
    }

    /* Sub-menu (dropdown) full-width on mobile/tablet */
    .nga-user-menu-container .nga-sub-menu {
        position: absolute !important;
        top: 50px !important; /* Adjust for header height */
        right: 0 !important;
        width: 220px !important; /* fixed width on tablets */
        min-width: unset !important;
        padding: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
        display: none; /* will show on hover/tap */
        z-index: 9999 !important;
    }
}

/* ── HEADER / ROW FLEX ADJUSTMENTS ── */
@media (max-width: 1024px) {
    /* Make the row relative and flex */
    .fl-node-cz6agkwl3em7 .fl-row-content-wrap {
        position: relative !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content:before,
    .fl-node-cz6agkwl3em7 .fl-row-content:after {
        content: none !important;
        display: none !important;
    }

    .fl-node-cz6agkwl3em7 .fl-col-group,
    .fl-node-cz6agkwl3em7 .fl-col {
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
    }

    /* Hide unnecessary nodes */
    [data-node="ct2jk5f14me9"],
    [data-node="0gnw3tm7bz2c"],
    [data-node="oa2wqp7er3zk"] {
        display: none !important;
    }

    /* Logo — left */
    [data-node="jvcxdqm2z0p3"] {
        order: 1 !important;
        flex: 0 0 auto !important;
    }

    /* Logo image size */
    [data-node="gfiyvenb0x53"] img {
        max-width: 100px !important;
        height: auto !important;
        display: block !important;
        margin-top: 20px !important;
    }

    /* Hamburger — far right */
    [data-node="zyk8bei1uar6"] {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin-left: 15px !important;
    }

    /* Make NGA icon bigger and hide text */
    .fl-node-x3ufsvqhmno1 .fl-icon-wrap .fl-icon i {
        font-size: 32px !important;
        color: #ffffff !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-text {
        display: none !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* NGA ICON — position on tablets / small devices */
    [data-node="f6vi93yuzrwe"] {
        position: absolute !important;
        top: 35px !important;      /* slightly lower if needed */
        right: 75px !important;    /* closer to hamburger */
        transform: translateY(0) !important;
        width: 40px !important;    /* scale smaller on tablet */
    }

    /* NGA USER MENU — tablet adjustments */
    .nga-user-menu-container {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .nga-user-menu-container .fl-icon-text {
        display: none !important; /* hide text on tablets */
    }

    .nga-user-menu-container .nga-link-wrapper {
        justify-content: center !important;
        gap: 0 !important;
    }

    .nga-user-menu-container .fl-icon img {
        width: 36px !important;
        height: 36px !important;
        margin-top: 0 !important;
    }

    .nga-user-menu-container .nga-sub-menu {
        position: absolute !important;
        top: 50px !important; /* adjust depending on header */
        right: 0 !important;
        width: 220px !important; /* fixed width on tablet */
        min-width: unset !important;
        padding: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
        display: none; /* shows on hover/tap */
        z-index: 9999 !important;
    }
}

/* ── NGA ICON — Phones / Extra Small Devices ── */
@media (max-width: 767px) {
    [data-node="f6vi93yuzrwe"] {
        position: absolute !important;
        top: 28px !important;      /* adjust based on header height */
        right: 80px !important;    /* near hamburger */
        transform: translateY(0) !important;
        width: 40px !important;    /* smaller icon on phones */
    }

    /* NGA USER MENU — phone adjustments */
    .nga-user-menu-container {
        justify-content: flex-end !important;
    }

    .nga-user-menu-container .fl-icon img {
        width: 32px !important;
        height: 32px !important;
    }

    .nga-user-menu-container .nga-sub-menu {
        top: 55px !important;
        right: 0 !important;
        width: 100vw !important;
        padding: 20px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Logout button full-width */
    .nga-standard-btn {
        width: calc(100% - 40px) !important;
        display: block !important;
        margin: 10px auto 0 !important;
        text-align: center !important;
    }
}

/* ── NGA USER MENU — Desktop Styles ── */
.nga-user-menu-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nga-user-menu-container .fl-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon img {
    filter: brightness(0) saturate(100%) invert(49%) sepia(83%) saturate(376%) hue-rotate(145deg) brightness(95%) contrast(92%);
}

.nga-user-menu-container .fl-icon-text p {
    display: inline-block;
    margin-left: 8px;
    color: #ffffff;
    transition: color 0.3s ease;
}



/* ── MOBILE MENU ── */

@media (max-width: 1023px) {

    /* ── Top level items ── */
    #menu-mobile > li {
        border-bottom: 1px solid #e8edf2 !important;
    }

    /* ── Top level links ── */
    #menu-mobile > li > .fl-has-submenu-container > a {
        display: block !important;
        padding: 16px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        text-decoration: none !important;
    }

    /* ── Submenu container flex ── */
    #menu-mobile > li.fl-has-submenu > .fl-has-submenu-container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* ── Style BB's existing toggle ── */
    #menu-mobile > li > .fl-has-submenu-container > .fl-menu-toggle {
        font-size: 24px !important;
        color: #00407b !important;
        padding: 0 20px !important;
        min-width: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    /* ── Bottom items (About, Contact, Learning Link) ── */
    #menu-mobile > li:not(.fl-has-submenu) {
        border-bottom: 1px solid #e8edf2 !important;
    }

    #menu-mobile > li:not(.fl-has-submenu) > a {
        display: block !important;
        padding: 16px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        text-decoration: none !important;
    }

    /* ── SUBMENU when BB opens it (fl-active) ── */
    #menu-mobile li.fl-active > .sub-menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 999999 !important;
        overflow-y: auto !important;
        padding: 0 0 60px !important;
        list-style: none !important;
        grid-template-columns: unset !important;
        grid-auto-rows: unset !important;
        column-gap: unset !important;
        grid-row-gap: unset !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        animation: ngaSlideIn 0.25s ease forwards !important;
    }

    @keyframes ngaSlideIn {
        from {
            opacity: 0;
            transform: translateX(30px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* ── Reset grid placements ── */
    #menu-mobile li.fl-active > .sub-menu .menu-item {
        grid-column: unset !important;
        grid-row: unset !important;
        float: none !important;
        width: 100% !important;
    }

    /* ── Back button ── */
    #menu-mobile .sub-menu .nga-mobile-back {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        padding: 16px 20px !important;
        background: none !important;
        background-color: transparent !important;
        border: none !important;
        border-bottom: 1px solid #e8edf2 !important;
        border-radius: 0 !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        cursor: pointer !important;
        text-align: left !important;
        margin: 0 !important;
        pointer-events: all !important;
    }

    #menu-mobile .sub-menu .nga-mobile-back::before {
        content: '‹' !important;
        font-size: 22px !important;
        color: #00407b !important;
        line-height: 1 !important;
        font-weight: 300 !important;
    }

    /* ── Heading ── */
    #menu-mobile li.fl-active > .sub-menu .heading {
        padding: 20px 20px 8px !important;
        border-bottom: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .heading > a {
        font-family: 'New Kansas', serif !important;
        font-size: 28px !important;
        font-weight: 700 !important;
        color: #00407b !important;
        pointer-events: none !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    /* ── Regular links with dividers ── */
    #menu-mobile li.fl-active > .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2):not(.spacer) {
        border-bottom: 1px solid #e8edf2 !important;
    }

    #menu-mobile li.fl-active > .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2):not(.spacer) > a {
        display: block !important;
        padding: 15px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        color: #00407b !important;
        text-decoration: none !important;
        line-height: 1.3 !important;
    }

    /* ── Browse all button ── */
    #menu-mobile li.fl-active > .sub-menu li.button > a {
        display: inline-flex !important;
        align-items: center !important;
        background-color: #40D1BB !important;
        border-radius: 100px !important;
        color: #00407B !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-weight: 600 !important;
        font-size: 15px !important;
        margin: 0 !important;
    }

    /* ── Hide spacers ── */
    #menu-mobile li.fl-active > .sub-menu li.spacer {
        display: none !important;
    }

    /* ── Cards ── */
    #menu-mobile li.fl-active > .sub-menu .mega-card-1,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 {
        width: calc(100% - 40px) !important;
        margin: 16px 20px 0 !important;
        padding: 0 !important;
        min-height: 180px !important;
        position: relative !important;
        display: block !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        grid-column: unset !important;
        grid-row: unset !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-card-1 > a:first-child,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 > a:first-child {
        display: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-card-1 > a.mega-nav-card,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 > a.mega-nav-card {
        display: flex !important;
        position: relative !important;
        width: 100% !important;
        height: 180px !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        text-decoration: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to top, rgba(0,31,63,0.88) 40%, rgba(0,31,63,0.15) 100%) !important;
        z-index: 1 !important;
        border-radius: 10px !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card .mega-nav-card-text {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2 !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card strong {
        font-family: 'New Kansas', serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #fff !important;
        display: block !important;
        margin-bottom: 4px !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card span span {
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        color: #fff !important;
        display: block !important;
        line-height: 1.4 !important;
    }
}	
	/* MY NGA menu item */

/* --- 1. Top Level (Icon + Text) --- */
.nga-link-wrapper {
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Icon & Text Styles */
.nga-link-wrapper .fl-icon i {
    color: #ffffff !important;
    font-size: 32px; 
    transition: color 0.3s ease;
}

.nga-link-wrapper .fl-icon-text p {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
    transition: color 0.3s ease;
}

/* Hover State */
.nga-link-wrapper:hover .fl-icon i,
.nga-link-wrapper:hover .fl-icon-text p {
    color: #00afb9 !important;
}

/* --- 2. The White Sub-Menu Dropdown --- */
.nga-user-menu-container {
    position: relative;
    display: inline-block;
    padding-bottom: 20px; /* Bridge gap for hover */
}

.nga-sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    padding: 15px;
    border-radius: 8px; /* Slightly rounded corners for the box */
    box-shadow: 0px 10px 25px rgba(0,0,0,0.15);
    z-index: 9999;
    min-width: 160px;
    text-align: center;
}



/* --- 3. The Logout Button (Pill Style) --- */
.nga-standard-btn {
    background-color: #40D1BB !important; /* Teal */
    color: #00407B !important;           /* Navy */
    padding: 10px 20px !important;
    border-radius: 100px !important;     /* Pill shape */
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: bold !important;
    display: inline-block;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.nga-standard-btn:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
}

/* Show the menu on hover */
.nga-user-menu-container:hover .nga-sub-menu {
    display: block;
}



h2.gform_title {
    display: none;
}

#gform_wrapper_28 .gfield_html a.button {
    display: none !important;
}

.bb-course-volume-list li:has(.bb-icon-text) {
    display: none !important;
}

/* fallback */
.bb-course-volume-list .bb-icon-text {
    display: none !important;
}

/* Hide LearnDash progress bar globally */
.ld-progress-bar {
    display: none !important;
}
/* Hide progress stats (percentage + last activity) */
.ld-progress-stats {
    display: none !important;
}
/* Hide all LearnDash progress infobars site-wide */
.learndash-wrapper[class*="learndash-shortcode-wrap-ld_infobar-"] {
    display: none !important;
}

/*
 * ===========================
 * MANAGE MEMBERSHIP 
 * RED text difficult to read 
 * ===========================

*/
.lesson-table .div-table-col
{
	text-align: left;
	padding-left: 5px;
	color: #444;
	font-size: 16px;

}


/*
 * ===========================
 * Stop sidebar showing through
 * mega-menu
 * ===========================

*/
.lms-topic-sidebar-wrapper 
{

	z-index: 0 !important;
	
}

/* Large tablets and desktop */
@media (min-width: 768px) {

    /* Hide logo by default */
    .fl-node-r2z5lwq48moe {
        display: none !important;
        visibility: hidden !important;
    }

    /* Show logo for non-logged-in users across the entire site */
    body:not(.logged-in) .fl-node-r2z5lwq48moe {
        display: block !important;
        visibility: visible !important;
    }

    /* Show logo on LearnDash lessons for all users */
    body.single-sfwd-lessons .fl-node-r2z5lwq48moe {
        display: block !important;
        visibility: visible !important;
    }

    /* Always show when editing in Beaver Builder */
    body.fl-builder-edit .fl-node-r2z5lwq48moe {
        display: block !important;
        visibility: visible !important;
    }

    /* Photo sizing */
    .fl-node-r2z5lwq48moe .fl-photo-img {
        max-height: 250px !important;
        width: auto !important;
        height: auto !important;
    }
}

.nga-user-menu-container .fl-icon-text p,
.nga-user-menu-container .nga-standard-btn {
    text-transform: none !important;
}
* =============================================================
   1. GLOBAL LAYOUT & WIDTH
============================================================= */
/* Main containers set to 95% to allow breathing room on the sides */
.learndash-wrapper .ld-focus .ld-focus-main .ld-focus-content,
#learndash-page-content,
.learndash-content-body,
.learndash_content_wrap {
    width: 95% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

/* Ensure inner content stays readable on ultra-wide screens */
.ld-topic-content, .ld-lesson-content, .ld-quiz-content, .ld-course-content {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 20px 0 !important;
}

/* Hide Unwanted Elements */
.bb-grid .sidebar,
.bb-course-points,
#learndash-course-header .bb-ld-info-bar,
#learndash-course-header .lms-header-title,
.ld-status.ld-status-incomplete.ld-third-background {
    display: none !important;
}

/* =============================================================
   2. ACTION BUTTONS (In-Progress & Mark Complete)
============================================================= */
.ld-content-actions {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    max-width: 1400px !important;
    margin: 20px auto !important; /* Reduced from 40px for better height */
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ld-content-actions .ld-status { order: 1 !important; }
.ld-content-actions .ld-content-action { order: 2 !important; }

/* Button & Status Styling */
.learndash_mark_complete_button,
.btn_groups_plus,
.bb-button-wrap .btn-join,
.ld-next-button {
    background-color: #40D1BB !important;
    color: #ffff !important;
    border-radius: 6px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}

.learndash_mark_complete_button:hover,
.bb-button-wrap .btn-join:hover,
.btn_groups_plus:hover {
    background: #40D1BB !important;
    color: #fff !important;
}

/* =============================================================
   3. SIDEBAR HEIGHT & POSITION FIX (HEADER OFFSET)
============================================================= */
.lms-topic-sidebar-data {
    /* Adjust 'top' to match the height of your header (e.g., 100px) */
    top: 100px !important; 
    
    /* Subtract the header height from the viewport height to prevent double scroll */
    max-height: calc(100vh - 100px) !important; 
    
    padding-top: 10px !important;
    position: sticky !important; /* Ensures it stays visible as you scroll the module */
}

/* Ensure the wrapper doesn't have hidden overflow cutting off the sidebar */
.lms-topic-sidebar-wrapper {
    overflow: visible !important;
}

/* Tighten the navigation header inside the sidebar */
.lms-topic-sidebar-course-navigation {
    padding: 10px 20px 5px !important;
}
/* =============================================================
   4. TABS & IFRAME
============================================================= */
iframe.AnC-iFrame {
    width: 100% !important;
    border: none !important;
    height: 450px !important; /* Balanced height */
}

@media screen and (min-width: 1201px) {
    iframe.AnC-iFrame {
        height: 65vh !important; 
        min-height: 550px !important;
    }
}

/* Rename "Materials" tab to "Resources" */
button[data-ld-tab^="ld-tab-materials"] .ld-text {
    visibility: hidden;
    position: relative;
}

button[data-ld-tab^="ld-tab-materials"] .ld-text::after {
    content: "Resources";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
    white-space: nowrap;
}

/* =============================================================
   5. MOBILE RESPONSIVENESS
============================================================= */
@media screen and (max-width: 800px) {
    .ld-content-actions {
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .ld-content-actions .ld-content-action,
    .learndash_mark_complete_button {
        width: 100% !important;
    }
}

/* Navigation & Spacing cleanup */
.sfwd-course-position { margin-top: 15px !important; margin-left: 20px; }
.flex.bb-position, .flex.bb-position .sfwd-course-position { display: none !important; }

/* =============================================================
   6. MENU & BUTTON STYLING
============================================================= */
.btn_groups_plus {
    background: #40D1BB;
}

.manage-buttons {
    display: inline-block;
    position: relative;
}

.manage-buttons a.btn_groups_plus {
    margin: 2px !important;
    width: 16vw !important;
    display: block;
}

/* =============================================================
   7. FRAME BLOCKER MOBILE-FRIENDLY
============================================================= */
#frame-blocker {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    transform-origin: center center;
    z-index: 1000;
    pointer-events: none;
    visibility: hidden;
    width: 100%; /* full container width */
    max-width: 400px; /* optional max width for desktop */
    height: auto; /* let content scale */
    aspect-ratio: 352 / 500; /* maintain original ratio */
    display: grid;
    grid-template-columns: 10px 1fr 10px;
    grid-template-rows: 1fr 1fr 1fr;
}

#frame-blocker .frame-blocker-slide,
#frame-blocker .frame-blocker-top,
#frame-blocker .frame-blocker-bottom,
#frame-blocker .frame-blocker-right,
#frame-blocker .frame-blocker-left {
    width: 100%;
    height: 100%;
}

/* Ensure it scales well on very small screens */
@media screen and (max-width: 360px) {
    #frame-blocker {
        width: 90vw !important;
        aspect-ratio: auto; /* allow flexible height */
    }
}

.sfwd-course-nav { visibility: hidden; }

/* 1. Remove strikethrough from the lesson/quiz title text */
.learndash-wrapper .learndash-complete .ld-item-title span {
    text-decoration: none !important;
}

/* 2. Remove strikethrough from the link wrapper (sometimes used as a backup) */
.learndash-wrapper .learndash-complete a.ld-item-name {
    text-decoration: none !important;
}


/* Remove strikethrough in BuddyBoss LearnDash sidebar */
.bb-completed-item .bb-lesson-title,
.bb-completed-item .bb-quiz-title,
.bb-completed-item {
    text-decoration: none !important;
}

/* Fix for potential opacity/fading on completed items */
.bb-completed-item {
    opacity: 1 !important;
}

/* =================================
 Gravity forms Read-Only inputs =================================
*/
.gf_readonly input {
    color: #777 !important;
}
/* 1. COMPLETELY REMOVE AUTHOR/AVATAR */
#ld-cg-mkwpl04b8l .item .content .meta .author {
    display: none !important;
}

/* 4. STYLE THE PRICE AREA */
#ld-cg-mkwpl04b8l .item .content .meta.price-wrapper {
    display: none;
}

/* 3. STYLE CATEGORIES AS MODERN PILLS */
#ld-cg-mkwpl04b8l .item .content .meta .categories {
    background-color: #eef2f6; /* Very light navy tint */
    color: #00407b;            /* Brand Navy */
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 5px 14px;
    border-radius: 100px;      /* Full pill shape */
    display: inline-flex;
    align-items: center;
}

/* 5. ADD TOP MARGIN AND CHANGE TEXT */
#ld-cg-mkwpl04b8l .item .content .button {
    margin-top: 25px !important;
}

/* 1. Reset the button link to be a grid stack */
#ld-cg-mkwpl04b8l .item .content .button a {
    margin-top: 10px !important;
    display: grid !important; 
    place-items: center; /* Centers the new text perfectly */
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none;
    min-height: 40px; /* Set your desired button height here */
}

/* 2. Inject the new text into the center of that grid */
#ld-cg-mkwpl04b8l .item .content .button a::before {
    content: "Take the Module";
    font-size: 16px !important; /* Your text size */
    color: #00407b !important; /* Your brand blue */
    visibility: visible;
    grid-area: 1 / 1; /* Forces it to stay in the exact center */
    line-height: 0.5 !important;
}

/* 3. Ensure the original invisible text doesn't push the box */
#ld-cg-mkwpl04b8l .item .content .button a::after {
    display: none !important;
}

/* Only make usernames in the submenu navy */
.sub-menu .user-name {
    color: #00407B !important;
}

/* Target the Load More button specifically */
button.load-more,
.load-more {
    background-color: #40D1BB !important; /* teal background */
    color: #00407b !important;            /* dark blue text */
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 5px !important;
    cursor: pointer !important;
}

/* Hover effect */
button.load-more:hover,
.load-more:hover {
    background-color: #30b9a3 !important;
    color: #002d55 !important;
}

/* Only make usernames in the submenu navy */
.user-name {
    font-size: 18px; !important;
}

/* Search input text */
.search-field-top {
    color: #00407b;
}

/* Placeholder text */
.search-field-top::placeholder {
    color:#00407b;
    opacity: 1; /* ensures consistent color across browsers */
}

/* Optional: when field is focused */
.search-field-top:focus {
    color: #00407b;
}

/* 
 * Margin for Required on forms */
.gfield_required
{
	margin-left: 3px;
}

/* =============================================================
   BUTTONS SCOPED TO LEARNDASH / BUDDYBOSS ONLY
============================================================= */

/* Only affect .btn_groups_plus inside LearnDash wrapper */
.learndash-wrapper .btn_groups_plus,
.bb-grid .btn_groups_plus,
.bb-button-wrap .btn-join,
.learndash-wrapper .ld-next-button {
    background-color: #40D1BB !important;
    color: #00407B !important;
    border-radius: 6px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important; /* override global widths */
}

/* Hover effects for scoped buttons */
.learndash-wrapper .btn_groups_plus:hover,
.bb-button-wrap .btn-join:hover,
.bb-grid .btn_groups_plus:hover {
    background: #3ABCA0 !important;
    color: #fff !important;
}

/* Ensure table buttons remain natural */
table .btn_groups_plus {
    display: inline-block !important;
    font-size: 18px !important;
    background: #40D1BB; /* keep color consistent if desired */
    color: #00407B;
    border-radius: 4px;
}

/* ==========================================
   BOLD MENU SECTION HEADERS
   Works for BuddyPanel + Header Sub Menu
========================================== */


/* 1. Disable clicking on section headers */

.buddypanel-menu .bold-menu-item,
.sub-menu .bold-menu-item {
    pointer-events: none !important;
    cursor: default !important;
}


/* 2. Style header text */

.buddypanel-menu .bold-menu-item > a,
.sub-menu .bold-menu-item > a {
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.06em;
    opacity: 0.8;
}

/* ------------------------------------------
   3. Remove icons ONLY for header items
------------------------------------------- */

/* BuddyPanel header icons */
.buddypanel-menu .bold-menu-item i,
.buddypanel-menu .bold-menu-item svg,
.buddypanel-menu .bold-menu-item ._mi {
    display: none !important;
}

/* Sub-menu header icons */
.sub-menu .bold-menu-item i,
.sub-menu .bold-menu-item svg,
.sub-menu .bold-menu-item ._mi {
    display: none !important;
}

/* Remove pseudo-elements added to header links */
.buddypanel-menu .bold-menu-item::before,
.buddypanel-menu .bold-menu-item::after,
.sub-menu .bold-menu-item::before,
.sub-menu .bold-menu-item::after {
    display: none !important;
    content: none !important;
}


/* Remove pseudo-element icons */
.buddypanel-menu .bold-menu-item > a:before,
.buddypanel-menu .bold-menu-item > a:after,
.sub-menu .bold-menu-item > a:before,
.sub-menu .bold-menu-item > a:after {
    display: none !important;
    content: none !important;
}


/* 4. Fix padding (since icons are removed) */

.buddypanel-menu .bold-menu-item > a,
.sub-menu .bold-menu-item > a {
    padding-left: 10px !important;
}


/* 5. Optional spacing between sections */

.buddypanel-menu .bold-menu-item,
.sub-menu .bold-menu-item {
    margin-top: 1px;
    padding-top: 1px;
}


/* 6. Optional divider */

.buddypanel-menu .bold-menu-item:not(:first-child),
.sub-menu .bold-menu-item:not(:first-child) {
    border-top: 1px solid rgba(0,0,0,0.08);
}


/* Make readonly fields look like plain text */
#gform_18 input[readonly] {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    pointer-events: none; /* removes cursor/focus */
}
.bb-header-buttons {
	display:none;
}

/* Gravity Forms: keep fields visible (override theme hiding/clipping) */
.gform_wrapper .gfield {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description {
  display: block !important;
  visibility: visible !important;
}
.gform_wrapper select.gfield_select,
.gform_wrapper .ginput_container select {
  display: block !important;
  visibility: visible !important;
  min-height: 2.5em;
  padding: 0.35em 0.5em;
  line-height: 1.4;
  box-sizing: border-box;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea {
  display: block !important;
  visibility: visible !important;
  min-height: 2.5em;
  box-sizing: border-box;
}

.gform_body .gform_fields  .ginput_container_radio #input_31_5 .gchoice
{
	display: flex !important;
	width: 300px;
	margin-left: 250px;
	align-content: left;
	align-self: left;
	align-items: left;
	
}

/* ========================
 * GOVERNING MATTERS RADIOS
 * ========================
 */
.page-id-494 .gfield_radio .gform-field-label::before
{
 visibility:hidden;
}

.page-id-494 .gfield_radio .gform-field-label::after
{
visibility:hidden;

}


/*
 * ========================
 * GFORMS
 * ========================
 * Turn off any custom bullets the theme is drawing on labels*/


/* Gravity Forms: fix double-styled radio buttons */
.gform_wrapper .gfield_radio input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
  position: static;
  margin-right: 0.4em;
}



.gform_wrapper .ginput_container .gfield_radio
{
	width: 10%;

}

/* 
 * EVALUATION FORM 35 
 * 
 * */
#gform_35 .gfield_radio label::before
{
		visibility: hidden !important;
    content: none !important;
    display: none !important;
	
}

#gform_35 .gfield_radio label::after
{
		visibility: hidden !important;
    content: none !important;
    display: none !important;
	
}

/* remove only the extra small marker on each choice wrapper */

.gform_wrapper input[type="radio"].gfield-choice-input::before {
	visibility: hidden !important;
    content: none !important;
    display: none !important;
}

/* 3. SHOW ON MOBILE ALL THE TIME */
@media (max-width: 768px) {
    .fl-node-enzruphcgt32,
    .beaver-header .fl-col-small:first-child .fl-module-photo {
        display: block !important;
        max-width: 180px !important;
    }
}

/* 4. SHOW IN EDITOR */
.fl-builder-edit .fl-node-enzruphcgt32,
.fl-builder-edit .beaver-header .fl-col-small:first-child .fl-module-photo {
    display: block !important;
    opacity: 0.5;
}

/* ── STOP BB CLIPPING ── */
.fl-menu {
    overflow: visible !important;
}

.fl-module-content .fl-menu .sub-menu {
    overflow: visible !important;
    min-width: unset !important;
}

/* ── GRID: full width accounting for buddypanel ── */
#menu-logged-in-navigation .sub-menu {
    position: fixed !important;
    top: auto !important;
    left: 220px !important;
    width: calc(100vw - 220px) !important;
    right: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1.3fr 1.3fr 1fr 1fr !important;
    grid-auto-rows: auto !important;
column-gap: 16px !important;
grid-row-gap: 7px !important;  padding: 24px 60px !important;
    list-style: none !important;
    background: #fff;
    border-radius: 0 !important;
    box-shadow: 0 20px 50px rgba(0,31,63,0.15);
    z-index: 9999 !important;
}

/* Wrapper for the whole submenu (or the cards container) */
#menu-logged-in-navigation .sub-menu {
    position: relative; /* so shapes can be absolutely positioned inside */
    display: grid;
    grid-template-columns: 1.3fr 1.3fr 1fr 1fr;
    gap: 16px;
    padding: 24px 60px;
    background: #fff; /* white background of the whole grid */
    border-radius: 0;
    box-shadow: 0 20px 50px rgba(0,31,63,0.15);
    z-index: 9999;
    overflow: hidden; /* ensure shapes stay contained inside */
}

/* Add decorative shapes inside the submenu wrapper */
#menu-logged-in-navigation .sub-menu::before {
    content: '';
    position: absolute;
    top: 0; /* move inside */
    left: 60%; /* adjust as needed */
    width: 100px;
    height: 100px;
    background: #f77;
    clip-path: polygon(0 0, 100% 0, 0 100%); /* triangle shape */
    z-index: 0;
}

#menu-logged-in-navigation .sub-menu::after {
    content: '';
    position: absolute;
    bottom: 0; /* move inside */
    right: 0; /* adjust as needed */
    width: 120px;
    height: 120px;
    background: #8e5ed6; /* purple semi-circle */
    border-radius: 50%;
    z-index: 0;
}

/* Ensure links/content appear above the shapes */
#menu-logged-in-navigation .sub-menu li,
#menu-logged-in-navigation .sub-menu a {
    position: relative;
    z-index: 1;
}

/* ── HEADING ── */
#menu-logged-in-navigation .sub-menu .heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin-bottom: 10px;
}

#menu-logged-in-navigation .sub-menu .heading > a {
    font-family: 'New Kansas', serif;
    font-weight: 600;
    font-size: 24px;
    pointer-events: none;
    cursor: default;
    display: block;
    padding-bottom: 10px;
}

/* ── COLUMN PLACEMENT ── */
#menu-logged-in-navigation .sub-menu .col-1 { grid-column: 1 !important; }
#menu-logged-in-navigation .sub-menu .col-2 { grid-column: 2 !important; }

/* ── ROW PLACEMENT ── */
#menu-logged-in-navigation .sub-menu .row-2 { grid-row: 2 !important; }
#menu-logged-in-navigation .sub-menu .row-3 { grid-row: 3 !important; }
#menu-logged-in-navigation .sub-menu .row-4 { grid-row: 4 !important; }
#menu-logged-in-navigation .sub-menu .row-5 { grid-row: 5 !important; }
#menu-logged-in-navigation .sub-menu .row-6 { grid-row: 6 !important; }
#menu-logged-in-navigation .sub-menu .row-7 { grid-row: 7 !important; }

/* ── REGULAR LINK STYLING ── */
#menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a {
    display: block !important;
    padding: 10px 0;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease;
}

#menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a:hover {    padding-left: 6px;
}

/* ── BUTTON ── */
#masthead #menu-logged-in-navigation .sub-menu li.button {
    grid-column: 1 !important;
    grid-row: auto !important;
    margin-top: 10px !important;
    align-self: start !important;
}

#masthead #menu-logged-in-navigation .sub-menu li.button > a {
    background-color: #40D1BB !important;
    border-radius: 100px !important;
    padding: 10px 24px !important;
    display: inline-flex !important;
    width: auto !important;
    align-items: center !important;
    justify-content: center !important;
    color: #00407B !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: normal !important;
    transition: background-color 0.25s ease !important;
}

#masthead #menu-logged-in-navigation .sub-menu li.button > a:hover {
    background-color: #2db8a2 !important;
    color: #00407B !important;
    padding: 10px 24px !important;
    opacity: 1 !important;
}

/* ── CARD 1: column 3, rows 2-6 ── */
#menu-logged-in-navigation .sub-menu .mega-card-1 {
    grid-column: 3 !important;
    grid-row: 2 / 7 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    position: relative !important;
}

/* ── CARD 2: column 4, rows 2-6 ── */
#menu-logged-in-navigation .sub-menu .mega-card-2 {
    grid-column: 4 !important;
    grid-row: 2 / 7 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
    position: relative !important;
}

/* ── BB'S DEFAULT ANCHOR BECOMES FULL CARD CLICKABLE OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-card-1 > a,
#menu-logged-in-navigation .sub-menu .mega-card-2 > a {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10 !important;
    pointer-events: all !important;
    display: block !important;
}

/* ── CARD ITSELF ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card {
    display: flex !important;
    flex-direction: column;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none !important;
    width: 100%;
    height: 100%;
    min-height: 200px;
    transition: opacity 0.2s ease;
}

#menu-logged-in-navigation .sub-menu .mega-nav-card:hover {
    opacity: 0.85;
}

/* ── IMAGE FILLS CARD ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

/* ── GRADIENT OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,31,63,0.88) 40%, rgba(0,31,63,0.15) 100%);
    z-index: 1;
    border-radius: 10px;
}

/* ── TEXT OVERLAY ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card .mega-nav-card-text {
    position: relative;
    z-index: 2;
    padding: 12px;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
}

/* ── CARD TITLE ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card strong {
    display: block;
    font-family: 'New Kansas', serif;
    font-weight: 600;
    font-size: 16px;
    color: #fff !important;
    margin-bottom: 4px;
    line-height: 1.2;
}

/* ── CARD DESCRIPTION ── */
#menu-logged-in-navigation .sub-menu .mega-nav-card span span {
    font-size: 12px;
font-family: "Lexend Deca", sans-serif;
font-weight: 500;
    color: #ffff !important;
    line-height: 1.4;
    display: block;
}

/* ── SHAPES ON CARD 2 ── */
#menu-logged-in-navigation .sub-menu .mega-card-2 .mega-nav-card::after {
    content: '';
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 2px solid rgba(64,209,187,0.35);
    bottom: -30px;
    right: -30px;
    z-index: 1;
    pointer-events: none;
}
#menu-logged-in-navigation .sub-menu li.spacer {
    visibility: hidden !important;
    pointer-events: none !important;
    border-bottom: none !important;
}

#menu-logged-in-navigation .sub-menu li.spacer a {
    border-bottom: none !important;
    padding: 0 !important;
    height: 44px !important;
}

.sub-menu 
{
 background-color: white;
}

.sub-menu .heading  
{
	padding: 0 0 0 0 !important;
	margin: 0 0 0 0 !important;

}

.sub-menu > li:first-child > a {
  font-family: "New Kansas semi bold", sans-serif !important;
  font-weight: 600;
  font-size: 28px !important;
  padding: 0;
  margin: 0 0 20px 0  !important;
	color: #00407b !important;
	
}

.sub-menu .menu-item a 
{
	margin: 0 0 0 0 !important;
	padding: 0 0 0 0 !important;
	font-family: "Lexend Deca" !important;
	font-size: 20px !important;
	line-height: 30px !important;
}

.sub-menu .button
{
	border: 2px solid #40d1bb;
	font-family: "Lexend Deca"  !important;
	font-size: 20px !important;
	border-radius: 9999px;
	font-weight: 500;
  margin-top: 20px !important;
}
/* ── NEWSLETTER BUTTONS ── */

.gform_wrapper input[type="radio"] {
    appearance: auto !important;
    opacity: 1 !important;
}
/* Make Gravity Forms radios align nicely inline */
.gform_wrapper .gfield_radio {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

.gform_wrapper .gfield_radio li {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

.gform_wrapper .gfield_radio input[type="radio"] {
    margin: 0 !important;
}

#fl-icon-text-x3ufsvqhmno1 .fl-icon-text-link:hover {
    background-color: rgb(64, 209, 187);
}

.fl-node-o27q9faz1kxj img {
    max-width: 150px;
    height: auto;
}

@media (max-width: 1024px) {

    .fl-node-cz6agkwl3em7 .fl-row-content-wrap {
        position: relative !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content:before,
    .fl-node-cz6agkwl3em7 .fl-row-content:after {
        content: none !important;
        display: none !important;
    }

    .fl-node-cz6agkwl3em7 .fl-col-group,
    .fl-node-cz6agkwl3em7 .fl-col {
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
    }

    [data-node="ct2jk5f14me9"],
    [data-node="0gnw3tm7bz2c"],
    [data-node="oa2wqp7er3zk"] {
        display: none !important;
    }

    /* LOGO — left */
    [data-node="jvcxdqm2z0p3"] {
        order: 1 !important;
        flex: 0 0 auto !important;
    }

    /* Logo image size */
    [data-node="gfiyvenb0x53"] img {
        max-width: 100px !important;
        height: auto !important;
        display: block !important;
			margin-top: 20px;
    }

    /* HAMBURGER — far right */
    [data-node="zyk8bei1uar6"] {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin-left: 15px !important;
    }


    /* Make icon bigger */
    .fl-node-x3ufsvqhmno1 .fl-icon-wrap .fl-icon i {
        font-size: 32px !important;
        color: #ffffff !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-text {
        display: none !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }
}
/* ── NGA USER MENU — Desktop ── */
.nga-user-menu-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nga-user-menu-container .fl-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon img {
    filter: brightness(0) saturate(100%) invert(49%) sepia(83%) saturate(376%) hue-rotate(145deg) brightness(95%) contrast(92%);
}

.nga-user-menu-container .fl-icon-text p {
    display: inline-block;
    margin-left: 8px;
    color: #ffffff;
    transition: color 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon-text p {
    color: #00bfae;
}

/* ── NGA USER MENU — Tablets & Small Devices ── */
@media (max-width: 1024px) {
    .nga-user-menu-container {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important; /* Keep it right-aligned near hamburger */
        gap: 8px !important;
    }

    /* Hide text on tablets */
    .nga-user-menu-container .fl-icon-text {
        display: none !important;
    }

    /* Icon wrapper */
    .nga-user-menu-container .nga-link-wrapper {
        justify-content: center !important;
        gap: 0 !important;
    }

    /* Icon size for tablets */
    .nga-user-menu-container .fl-icon img {
        width: 36px !important;
        height: 36px !important;
        margin-top: 0 !important; /* Adjust for header alignment */
    }

    /* Sub-menu (dropdown) full-width on mobile/tablet */
    .nga-user-menu-container .nga-sub-menu {
        position: absolute !important;
        top: 50px !important; /* Adjust for header height */
        right: 0 !important;
        width: 220px !important; /* fixed width on tablets */
        min-width: unset !important;
        padding: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
        display: none; /* will show on hover/tap */
        z-index: 9999 !important;
    }
}

/* ── HEADER / ROW FLEX ADJUSTMENTS ── */
@media (max-width: 1024px) {
    /* Make the row relative and flex */
    .fl-node-cz6agkwl3em7 .fl-row-content-wrap {
        position: relative !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 10px !important;
    }

    .fl-node-cz6agkwl3em7 .fl-row-content:before,
    .fl-node-cz6agkwl3em7 .fl-row-content:after {
        content: none !important;
        display: none !important;
    }

    .fl-node-cz6agkwl3em7 .fl-col-group,
    .fl-node-cz6agkwl3em7 .fl-col {
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
    }

    /* Hide unnecessary nodes */
    [data-node="ct2jk5f14me9"],
    [data-node="0gnw3tm7bz2c"],
    [data-node="oa2wqp7er3zk"] {
        display: none !important;
    }

    /* Logo — left */
    [data-node="jvcxdqm2z0p3"] {
        order: 1 !important;
        flex: 0 0 auto !important;
    }

    /* Logo image size */
    [data-node="gfiyvenb0x53"] img {
        max-width: 100px !important;
        height: auto !important;
        display: block !important;
        margin-top: 20px !important;
    }

    /* Hamburger — far right */
    [data-node="zyk8bei1uar6"] {
        order: 3 !important;
        flex: 0 0 auto !important;
        margin-left: 15px !important;
    }

    /* Make NGA icon bigger and hide text */
    .fl-node-x3ufsvqhmno1 .fl-icon-wrap .fl-icon i {
        font-size: 32px !important;
        color: #ffffff !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-text {
        display: none !important;
    }

    .fl-node-x3ufsvqhmno1 .fl-icon-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* NGA ICON — position on tablets / small devices */
    [data-node="f6vi93yuzrwe"] {
        position: absolute !important;
        top: 35px !important;      /* slightly lower if needed */
        right: 75px !important;    /* closer to hamburger */
        transform: translateY(0) !important;
        width: 40px !important;    /* scale smaller on tablet */
    }

    /* NGA USER MENU — tablet adjustments */
    .nga-user-menu-container {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .nga-user-menu-container .fl-icon-text {
        display: none !important; /* hide text on tablets */
    }

    .nga-user-menu-container .nga-link-wrapper {
        justify-content: center !important;
        gap: 0 !important;
    }

    .nga-user-menu-container .fl-icon img {
        width: 36px !important;
        height: 36px !important;
        margin-top: 0 !important;
    }

    .nga-user-menu-container .nga-sub-menu {
        position: absolute !important;
        top: 50px !important; /* adjust depending on header */
        right: 0 !important;
        width: 220px !important; /* fixed width on tablet */
        min-width: unset !important;
        padding: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1) !important;
        display: none; /* shows on hover/tap */
        z-index: 9999 !important;
    }
}

/* ── NGA ICON — Phones / Extra Small Devices ── */
@media (max-width: 767px) {
    [data-node="f6vi93yuzrwe"] {
        position: absolute !important;
        top: 28px !important;      /* adjust based on header height */
        right: 80px !important;    /* near hamburger */
        transform: translateY(0) !important;
        width: 40px !important;    /* smaller icon on phones */
    }

    /* NGA USER MENU — phone adjustments */
    .nga-user-menu-container {
        justify-content: flex-end !important;
    }

    .nga-user-menu-container .fl-icon img {
        width: 32px !important;
        height: 32px !important;
    }

    .nga-user-menu-container .nga-sub-menu {
        top: 55px !important;
        right: 0 !important;
        width: 100vw !important;
        padding: 20px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* Logout button full-width */
    .nga-standard-btn {
        width: calc(100% - 40px) !important;
        display: block !important;
        margin: 10px auto 0 !important;
        text-align: center !important;
    }
}

/* ── NGA USER MENU — Desktop Styles ── */
.nga-user-menu-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nga-user-menu-container .fl-icon img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

.nga-user-menu-container .nga-link-wrapper:hover .fl-icon img {
    filter: brightness(0) saturate(100%) invert(49%) sepia(83%) saturate(376%) hue-rotate(145deg) brightness(95%) contrast(92%);
}

.nga-user-menu-container .fl-icon-text p {
    display: inline-block;
    margin-left: 8px;
    color: #ffffff;
    transition: color 0.3s ease;
}



/* ── MOBILE MENU ── */

@media (max-width: 1023px) {

    /* ── Top level items ── */
    #menu-mobile > li {
        border-bottom: 1px solid #e8edf2 !important;
    }

    /* ── Top level links ── */
    #menu-mobile > li > .fl-has-submenu-container > a {
        display: block !important;
        padding: 16px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 18px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        text-decoration: none !important;
    }

    /* ── Submenu container flex ── */
    #menu-mobile > li.fl-has-submenu > .fl-has-submenu-container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* ── Style BB's existing toggle ── */
    #menu-mobile > li > .fl-has-submenu-container > .fl-menu-toggle {
        font-size: 24px !important;
        color: #00407b !important;
        padding: 0 20px !important;
        min-width: 60px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    /* ── Bottom items (About, Contact, Learning Link) ── */
    #menu-mobile > li:not(.fl-has-submenu) {
        border-bottom: 1px solid #e8edf2 !important;
    }

    #menu-mobile > li:not(.fl-has-submenu) > a {
        display: block !important;
        padding: 16px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        text-decoration: none !important;
    }

    /* ── SUBMENU when BB opens it (fl-active) ── */
    #menu-mobile li.fl-active > .sub-menu {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 999999 !important;
        overflow-y: auto !important;
        padding: 0 0 60px !important;
        list-style: none !important;
        grid-template-columns: unset !important;
        grid-auto-rows: unset !important;
        column-gap: unset !important;
        grid-row-gap: unset !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        animation: ngaSlideIn 0.25s ease forwards !important;
    }

    @keyframes ngaSlideIn {
        from {
            opacity: 0;
            transform: translateX(30px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* ── Reset grid placements ── */
    #menu-mobile li.fl-active > .sub-menu .menu-item {
        grid-column: unset !important;
        grid-row: unset !important;
        float: none !important;
        width: 100% !important;
    }

    /* ── Back button ── */
    #menu-mobile .sub-menu .nga-mobile-back {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        padding: 16px 20px !important;
        background: none !important;
        background-color: transparent !important;
        border: none !important;
        border-bottom: 1px solid #e8edf2 !important;
        border-radius: 0 !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #00407b !important;
        cursor: pointer !important;
        text-align: left !important;
        margin: 0 !important;
        pointer-events: all !important;
    }

    #menu-mobile .sub-menu .nga-mobile-back::before {
        content: '‹' !important;
        font-size: 22px !important;
        color: #00407b !important;
        line-height: 1 !important;
        font-weight: 300 !important;
    }

    /* ── Heading ── */
    #menu-mobile li.fl-active > .sub-menu .heading {
        padding: 20px 20px 8px !important;
        border-bottom: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .heading > a {
        font-family: 'New Kansas', serif !important;
        font-size: 28px !important;
        font-weight: 700 !important;
        color: #00407b !important;
        pointer-events: none !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1.2 !important;
    }

    /* ── Regular links with dividers ── */
    #menu-mobile li.fl-active > .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2):not(.spacer) {
        border-bottom: 1px solid #e8edf2 !important;
    }

    #menu-mobile li.fl-active > .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2):not(.spacer) > a {
        display: block !important;
        padding: 15px 20px !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        color: #00407b !important;
        text-decoration: none !important;
        line-height: 1.3 !important;
    }

    /* ── Browse all button ── */
    #menu-mobile li.fl-active > .sub-menu li.button > a {
        display: inline-flex !important;
        align-items: center !important;
        background-color: #40D1BB !important;
        border-radius: 100px !important;
        color: #00407B !important;
        font-family: "Lexend Deca", sans-serif !important;
        font-weight: 600 !important;
        font-size: 15px !important;
        margin: 0 !important;
    }

    /* ── Hide spacers ── */
    #menu-mobile li.fl-active > .sub-menu li.spacer {
        display: none !important;
    }

    /* ── Cards ── */
    #menu-mobile li.fl-active > .sub-menu .mega-card-1,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 {
        width: calc(100% - 40px) !important;
        margin: 16px 20px 0 !important;
        padding: 0 !important;
        min-height: 180px !important;
        position: relative !important;
        display: block !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        grid-column: unset !important;
        grid-row: unset !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-card-1 > a:first-child,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 > a:first-child {
        display: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-card-1 > a.mega-nav-card,
    #menu-mobile li.fl-active > .sub-menu .mega-card-2 > a.mega-nav-card {
        display: flex !important;
        position: relative !important;
        width: 100% !important;
        height: 180px !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        text-decoration: none !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card::before {
        content: '' !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(to top, rgba(0,31,63,0.88) 40%, rgba(0,31,63,0.15) 100%) !important;
        z-index: 1 !important;
        border-radius: 10px !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card .mega-nav-card-text {
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2 !important;
        padding: 16px !important;
        display: flex !important;
        flex-direction: column !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card strong {
        font-family: 'New Kansas', serif !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #fff !important;
        display: block !important;
        margin-bottom: 4px !important;
    }

    #menu-mobile li.fl-active > .sub-menu .mega-nav-card span span {
        font-family: "Lexend Deca", sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        color: #fff !important;
        display: block !important;
        line-height: 1.4 !important;
    }
}	
	/* MY NGA menu item */

/* --- 1. Top Level (Icon + Text) --- */
.nga-link-wrapper {
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Icon & Text Styles */
.nga-link-wrapper .fl-icon i {
    color: #ffffff !important;
    font-size: 32px; 
    transition: color 0.3s ease;
}

.nga-link-wrapper .fl-icon-text p {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
    transition: color 0.3s ease;
}

/* Hover State */
.nga-link-wrapper:hover .fl-icon i,
.nga-link-wrapper:hover .fl-icon-text p {
    color: #00afb9 !important;
}

/* --- 2. The White Sub-Menu Dropdown --- */
.nga-user-menu-container {
    position: relative;
    display: inline-block;
    padding-bottom: 20px; /* Bridge gap for hover */
}

.nga-sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    padding: 15px;
    border-radius: 8px; /* Slightly rounded corners for the box */
    box-shadow: 0px 10px 25px rgba(0,0,0,0.15);
    z-index: 9999;
    min-width: 160px;
    text-align: center;
}



/* --- 3. The Logout Button (Pill Style) --- */
.nga-standard-btn {
    background-color: #40D1BB !important; /* Teal */
    color: #00407B !important;           /* Navy */
    padding: 10px 20px !important;
    border-radius: 100px !important;     /* Pill shape */
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: bold !important;
    display: inline-block;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.nga-standard-btn:hover {
    filter: brightness(1.1);
    transform: scale(1.05);
}

/* Show the menu on hover */
.nga-user-menu-container:hover .nga-sub-menu {
    display: block;
}



h2.gform_title {
    display: none;
}

#gform_wrapper_28 .gfield_html a.button {
    display: none !important;
}

.bb-course-volume-list li:has(.bb-icon-text) {
    display: none !important;
}

/* fallback */
.bb-course-volume-list .bb-icon-text {
    display: none !important;
}

/* Hide LearnDash progress bar globally */
.ld-progress-bar {
    display: none !important;
}
/* Hide progress stats (percentage + last activity) */
.ld-progress-stats {
    display: none !important;
}
/* Hide all LearnDash progress infobars site-wide */
.learndash-wrapper[class*="learndash-shortcode-wrap-ld_infobar-"] {
    display: none !important;
}

/*
 * ===========================
 * MANAGE MEMBERSHIP 
 * RED text difficult to read 
 * ===========================

*/
.lesson-table .div-table-col
{
	text-align: left;
	padding-left: 5px;
	color: #444;
	font-size: 16px;

}


/*
 * ===========================
 * Stop sidebar showing through
 * mega-menu
 * ===========================

*/
.lms-topic-sidebar-wrapper 
{

	z-index: 0 !important;
	
}

/* =============================================================
   NEST HUB (1024×600) & IPAD PRO PORTRAIT (1024px) FIXES
============================================================= */

/* ── 1. Tighten the mega-menu grid at 1024px–1180px ── */
@media screen and (min-width: 1024px) and (max-width: 1180px) {

    #menu-logged-in-navigation .sub-menu {
        left: 200px !important;
        width: calc(100vw - 200px) !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        padding: 20px 30px !important;
        column-gap: 12px !important;
        grid-row-gap: 6px !important;
        display: grid !important;  /* force grid, override any display:none */
    }

    #menu-logged-in-navigation .sub-menu .mega-card-1 {
        grid-column: 3 !important;
        grid-row: 2 / 6 !important;
    }

    #menu-logged-in-navigation .sub-menu .mega-card-2 {
        display: none !important;
    }

    #menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a {
        font-size: 14px !important;
        padding: 8px 0 !important;
    }

    #menu-logged-in-navigation .sub-menu .heading > a {
        font-size: 20px !important;
    }
}

/* ── 2. Nest Hub specific: clamp height for 600px tall screens ── */
@media screen and (min-width: 1024px) and (max-height: 640px) {

    #menu-logged-in-navigation .sub-menu {
        max-height: 85vh !important;
        overflow-y: auto !important;
        grid-row-gap: 4px !important;
        padding: 14px 30px !important;
    }

    #menu-logged-in-navigation .sub-menu .heading > a {
        font-size: 18px !important;
        padding-bottom: 6px !important;
    }

    #menu-logged-in-navigation .sub-menu .mega-card-1,
    #menu-logged-in-navigation .sub-menu .mega-card-2 {
        min-height: 140px !important;
        grid-row: 2 / 5 !important;
    }

    #menu-logged-in-navigation .sub-menu .mega-nav-card {
        min-height: 140px !important;
    }

    #menu-logged-in-navigation .sub-menu .menu-item:not(.heading):not(.button):not(.mega-card-1):not(.mega-card-2) > a {
        font-size: 13px !important;
        line-height: 1.3 !important;
        padding: 6px 0 !important;
    }

    .lms-topic-sidebar-data {
        max-height: calc(100vh - 80px) !important;
    }
}

/* ── 3. iPad Pro landscape (1181px–1400px) ── */
@media screen and (min-width: 1181px) and (max-width: 1400px) {

    #menu-logged-in-navigation .sub-menu {
        left: 220px !important;
        width: calc(100vw - 220px) !important;
        grid-template-columns: 1.2fr 1.2fr 1fr 1fr !important;
        padding: 20px 40px !important;
        column-gap: 14px !important;
    }

    #menu-logged-in-navigation .sub-menu .mega-card-1,
    #menu-logged-in-navigation .sub-menu .mega-card-2 {
        min-height: 180px !important;
    }
}
/* =========================
   DOCUMENT LIBRARY UX + BRAND
   Scoped only to this page
========================= */

.nga-doc-browser {
  font-family: "Lexend Deca", system-ui, sans-serif;
  background: #f8fafc;
  padding: 1.5rem;
  border-radius: 12px;
  color: #0f172a;
}

/* =========================
   LAYOUT
========================= */

.nga-doc-browser-sidebar,
.nga-doc-browser-main {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.nga-doc-browser-sidebar {
  padding: 1rem;
}

.nga-doc-browser-main {
  padding: 1.25rem;
}

/* =========================
   SIDEBAR NAV
========================= */

.nga-doc-browser .nga-doc-side-list li a {
  border-radius: 8px;
  padding: 0.5rem 0.7rem;
  transition: all 0.15s ease;
  color: #00407B;
}

.nga-doc-browser .nga-doc-side-list li a:hover {
  background: rgba(0,136,223,0.08);
}

.nga-doc-browser .nga-doc-side-list li.is-active a {
  background: linear-gradient(135deg, #00407B, #0088DF);
  color: #fff;
  font-weight: 600;
}

/* =========================
   SEARCH BAR
========================= */

.nga-doc-browser .nga-doc-search-input {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 0 0.75rem;
}

.nga-doc-browser .nga-doc-search-input:focus {
  outline: none;
  border-color: #0088DF;
  box-shadow: 0 0 0 2px rgba(0,136,223,0.15);
}

/* =========================
   BUTTONS (BRAND UX)
========================= */

.nga-doc-browser .nga-doc-upload-btn,
.nga-doc-browser .nga-doc-search button {
  background: #40D1BB;
  color: #00407B;
  border: none;
  border-radius: 999px;
  font-weight: 600;
  padding: 0 1.25rem;
  box-shadow: 0 4px 12px rgba(64, 209, 187, 0.25);
  transition: all 0.2s ease;
	margin-left: 10px;
}

.nga-doc-browser .nga-doc-upload-btn:hover,
.nga-doc-browser .nga-doc-search button:hover {
  background: #34c3ae;
  transform: translateY(-1px);
}

/* =========================
   TABLE BASE UX
========================= */

.nga-doc-browser .nga-doc-browser-table {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  width: 100%;
}

.nga-doc-browser .nga-doc-browser-table td {
  font-size: 0.9rem;
  color: #0f172a;
  padding: 0.65rem 0.6rem;
}

/* Row hover improves scanning */
.nga-doc-browser .nga-doc-browser-table tbody tr:hover {
  background: rgba(0,136,223,0.08);
}

/* =========================
   TABLE HEADER UX (ACCESSIBLE)
========================= */

.nga-doc-browser .nga-doc-browser-table thead {
  background: #00407B;
}

.nga-doc-browser .nga-doc-browser-table th {
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.85rem 0.6rem;
  white-space: nowrap;
  border-bottom: 2px solid #0088DF;
}

.nga-doc-browser .nga-doc-browser-table th a {
  color: #ffffff;
  text-decoration: none;
  opacity: 0.95;
}

.nga-doc-browser .nga-doc-browser-table th a:hover {
  opacity: 1;
  text-decoration: underline;
}

/* =========================
   UX RENAMES (VISUAL ONLY)
========================= */

/* "Name" → File name */
.nga-doc-browser .nga-doc-browser-table th:first-child {
  font-size: 0;
}

.nga-doc-browser .nga-doc-browser-table th:first-child::after {
  content: "File name";
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #ffffff;
}

/* "Link" → Actions */
.nga-doc-browser .nga-doc-browser-table th:last-child {
  font-size: 0;
}

.nga-doc-browser .nga-doc-browser-table th:last-child::after {
  content: "Actions";
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #ffffff;
}


/* =========================
   ACTIONS COLUMN
========================= */

.nga-doc-browser .col-link {
  text-align: right;
  white-space: nowrap;
}

.nga-doc-browser .nga-doc-edit-link {
  color: #0088DF;
  margin-left: 0.5rem;
  font-weight: 500;
}

.nga-doc-browser .nga-doc-delete-link {
  margin-left: 0.5rem;
  font-weight: 500;
}

/* =========================
   FOLDER TILES WRAPPER
========================= */

.nga-doc-folder-tiles {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* =========================
   INDIVIDUAL TILE
========================= */

.nga-doc-folder-tile {
    flex: 1 1 180px;
    min-width: 180px;

    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;

    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: all 0.15s ease;

    overflow: visible;
}

.nga-doc-folder-tile:hover {
    border-color: #0088DF;
    transform: translateY(-1px);
}

/* =========================
   LINK CONTAINER
========================= */

.nga-doc-folder-tile-link {
    display: flex;
    flex-direction: column;

    padding: 10px;
    min-width: 0;

    text-decoration: none;
    color: #0b1f3a;
}

/* =========================
   ICON
========================= */

.nga-doc-folder-tile-icon {
    font-size: 16px;
    color: #40D1BB !important;
}

.nga-doc-folder-tile:hover .nga-doc-folder-tile-icon {
    color: #40D1BB !important;
}

/* =========================
   NAME (WRAP + SMALL FONT)
========================= */

.nga-doc-folder-tile-name {
    display: block;

    margin-top: 6px;

    font-size: 13px;
    line-height: 1.3;

    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;

    overflow: visible;
    text-overflow: unset;
}

/* =========================
   COUNT (LIGHT FILLED BADGE)
========================= */

.nga-doc-folder-tile-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 22px;
    height: 22px;

    margin-top: 6px;

    font-size: 11px;
    font-weight: 700;

    color: #364559 !important; !important;

    background: #f1f5f9 !important;  /* LIGHT FILL */
    border: 1px solid #cbd5e1;       /* SOFT BORDER */

    border-radius: 50%;
}

/* =========================
   ACTIONS
========================= */

.nga-doc-folder-tile-actions {
    margin-top: 6px;
}

/* =========================
   FLEX FIX
========================= */

.nga-doc-folder-tile-link,
.nga-doc-folder-tile-name {
    min-width: 0;
}

/* =========================
   TABLE (UNCHANGED)
========================= */

.nga-doc-browser-table {
    width: 100%;
    table-layout: fixed;
}

.nga-doc-browser-table th,
.nga-doc-browser-table td {
    padding: 8px;
    font-size: 13px;

    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;

    vertical-align: top;
}

.col-name,
.col-folder,
.col-group,
.col-owner {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.col-link a {
    display: inline-block;
    margin-bottom: 4px;
}

.nga-doc-side-toggle {
    font-size: 18px;
    padding: 18px 20px;

    width: 100%; /* makes it feel more important */
    font-weight: 700;
}



/* ===========================
   FORM FIELDS
=========================== */


#nga-doc-upload-modal select,
#nga-doc-upload-modal input[type="text"] {
  width: 100%;
  box-sizing: border-box;

  border-radius: 12px;
  border: 1px solid #D6E4F0;

  background: #ffffff;

  font-size: 14px;
  color: #00407B;

  line-height: 1.2;

  transition: all 0.2s ease;

  appearance: auto;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
}

/* ===========================
   UPLOAD DROPZONE (BLUE UX RESTORED)
=========================== */

#nga-doc-upload-modal .nga-doc-dropzone {
  border: 2px dashed #9CC3E6;
  border-radius: 16px;
  padding: 22px;
  background: var(--nga-soft-blue);
  text-align: center;
  transition: 0.2s ease;
  position: relative;
}

#nga-doc-upload-modal .nga-doc-dropzone:hover {
  background: rgba(0, 136, 223, 0.04);
}

/* Upload hint */
#nga-doc-upload-modal .nga-doc-dropzone-hint {
  font-size: 14px;
  font-weight: 600;
  color: var(--nga-text);
}

/* Upload icon */
#nga-doc-upload-modal .nga-doc-dropzone-hint .dashicons {
  color: #2F80ED;
}


/* ===========================
   HELP / DESCRIPTION TEXT
=========================== */
#nga-doc-upload-modal .description {
  font-size: 13px;
  color: #00407B;
  line-height: 1.4;
  margin-top: 8px;
  padding: 10px 12px;

  background: rgba(64, 209, 187, 0.08);

  border-left: 4px solid #40D1BB;

  border-radius: 10px;
}


/* ===========================
   MOBILE RESPONSIVE
=========================== */

@media (max-width: 600px) {
  #nga-doc-upload-modal .nga-doc-modal-card {
    width: 95vw;
    border-radius: 14px;
  }

  #nga-doc-upload-modal .nga-doc-actions {
    flex-direction: column;
  }

  #nga-doc-upload-modal .button.button-primary {
    width: 100%;
  }
}
#nga-doc-upload-modal .button.button-primary {
  font-weight: 700;
}
#nga-doc-upload-modal .nga-doc-upload-form {
  max-height: 80vh;
  overflow-y: auto;
  min-height: 0;
}

/* ===========================
   FIX SCROLLBAR CLIPPING
=========================== */

#nga-doc-upload-modal .nga-doc-upload-form {
  max-height: 80vh;
  overflow-y: auto;
  min-height: 0;

  /* 🔥 KEY FIX: prevents right-side clipping under scrollbar */
  padding-right: 12px;
  box-sizing: border-box;
}

/* optional: ensures fields don't touch edge */
#nga-doc-upload-modal .nga-doc-field {
  margin-right: 4px;
}

/* =========================
   MEMBERSHIPS WRAPPER
========================= */

#memberships {
  font-family: "Lexend Deca", system-ui, sans-serif;
  background: #f8fafc;
  padding: 1.5rem;
  border-radius: 12px;
  color: #0f172a;
}

/* =========================
   TABLE CARD CONTAINER
========================= */

#memberships table.ld-user-groups-membership {
  width: 100%;
  border-collapse: collapse;

  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;

  box-shadow: 0 8px 24px rgba(0,0,0,0.06);

}

/* =========================
   HEADER
========================= */

#memberships table thead {
  background: #00407B;
}

#memberships table thead th {
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;

  padding: 0.9rem 0.75rem;
  text-align: left;
  white-space: nowrap;

  border-bottom: 2px solid #0088DF;
}

/* =========================
   BODY CELLS
========================= */

#memberships table tbody td {
  font-size: 0.9rem;
  color: #0f172a;

  padding: 0.75rem;
  vertical-align: top;

  border-bottom: 1px solid #e2e8f0;
}

/* =========================
   ROW HOVER (UX SCANNING)
========================= */

#memberships table tbody tr:hover {
  background: rgba(0,136,223,0.08);
}

/* =========================
   GROUP TAG VISUAL EMPHASIS
========================= */

#memberships td:first-child {
  font-weight: 600;
  color: #00407B;
}

/* =========================
   STATUS BADGES (CURRENT / UNPAID)
========================= */

#memberships td:nth-child(4) {
  font-weight: 600;
}

/* Current */
#memberships td:nth-child(4):contains("Current") {
  color: #0f766e;
}

/* Unpaid */
#memberships td:nth-child(4):contains("Unpaid") {
  color: #b91c1c;
}

/* =========================
   DATE COLUMN ALIGNMENT
========================= */

#memberships td:last-child,
#memberships th:last-child {
  text-align: right;
  white-space: nowrap;
}

/* =========================
   OUTER TABLE BORDER ONLY
========================= */

#memberships table.ld-user-groups-membership {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden; /* keeps rounded corners clean */
  border-collapse: separate;
  border-spacing: 0;
}

/* Ensure inner cells don't double up borders */
#memberships table.ld-user-groups-membership td,
#memberships table.ld-user-groups-membership th {
  border-right: none;
}

/* Optional: keep row separators subtle */
#memberships table.ld-user-groups-membership tbody td {
  border-bottom: 1px solid #e2e8f0;
}

/* Remove last row border for cleaner bottom edge */
#memberships table.ld-user-groups-membership tbody tr:last-child td {
  border-bottom: none;
}

/* =========================
   MOBILE RESPONSIVE TABLE
========================= */

@media (max-width: 768px) {

  #memberships {
    padding: 1rem;
  }

  /* Allow horizontal scroll instead of breaking layout */
  #memberships {
    overflow-x: auto;
  }

  #memberships table.ld-user-groups-membership {
    min-width: 900px; /* keeps columns readable */
    font-size: 0.85rem;
  }

  #memberships table thead th,
  #memberships table tbody td {
    padding: 0.6rem 0.5rem;
  }

  /* Slightly tighter date column */
  #memberships td:last-child,
  #memberships th:last-child {
    min-width: 110px;
  }
}
/* ========================================
   NGA PROFILE FORM UX POLISH
   Scoped to Gravity Form #28
======================================== */

#gform_wrapper_28 {
  font-family: "Lexend Deca", system-ui, sans-serif;
  background: #ffffff;

  border: 1px solid #e2e8f0;
  border-radius: 16px;

  padding: 1rem;

  box-shadow: 0 8px 24px rgba(0,0,0,0.05);

  color: #0f172a;

  /* Gravity Forms spacing fix */
  --gf-form-gap-y: 16px;
}

/* ========================================
   REMOVE EXCESS TOP SPACE
======================================== */

#gform_wrapper_28 .gform_heading {
  margin-bottom: 0;
  padding-bottom: 0;
}

#gform_wrapper_28 .gform_description {
  margin: 0;
  padding: 0;
}

#gform_wrapper_28 .gform_body {
  margin-top: 0;
  padding-top: 0;
}

#gform_wrapper_28 .gform_fields {
  row-gap: 1.5rem;
}

#gform_wrapper_28 .gfield:first-child {
  margin-top: 0;
}

/* Beaver Builder spacing fix */
.fl-node-iutd7bywprno .fl-module-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ========================================
   FORM TITLE
======================================== */

#gform_wrapper_28 .gform_title {
  font-size: 1.5rem;
  font-weight: 700;

  color: #00407B;

  margin-bottom: 0.25rem;
}

/* ========================================
   FIELD LABELS
======================================== */

#gform_wrapper_28 .gfield_label,
#gform_wrapper_28 .gform-field-label {
  font-size: 0.92rem;
  font-weight: 600;
  color: #00407B;

  margin-bottom: 0.45rem;
}

/* Sub labels */
#gform_wrapper_28 .gform-field-label--type-sub {
  font-size: 0.78rem;
  font-weight: 500;
  color: #64748b;
}

/* ========================================
   FIX FIELDSET / LEGEND LABELS
======================================== */

#gform_wrapper_28 legend.gfield_label {
  display: inline-block;

  padding: 0 0.5rem;
  margin-left: 0.35rem;
  margin-bottom: 0.75rem;

  background: #fcfdff;

  font-size: 0.92rem;
  font-weight: 700;

  color: #00407B;

  line-height: 1.2;
}

/* ========================================
   FIELDSETS / GROUPS
======================================== */

#gform_wrapper_28 fieldset {
  position: relative;

  border: 1px solid #e2e8f0;
  border-radius: 14px;

  padding: 1rem 1.25rem 1.25rem;

  background: linear-gradient(
    to bottom,
    #ffffff,
    #fcfdff
  );

  margin-top: 0;
}

/* ========================================
   INPUTS
======================================== */

#gform_wrapper_28 input[type="text"],
#gform_wrapper_28 input[type="email"],
#gform_wrapper_28 textarea,
#gform_wrapper_28 select {
  width: 100%;

  border: 1px solid #dbe4ee;
  border-radius: 12px;

  background: #ffffff;

  padding: 0.85rem 1rem;

  font-size: 0.95rem;
  color: #0f172a;

  transition: all 0.2s ease;

  box-sizing: border-box;
}

/* Focus state */
#gform_wrapper_28 input[type="text"]:focus,
#gform_wrapper_28 input[type="email"]:focus,
#gform_wrapper_28 textarea:focus,
#gform_wrapper_28 select:focus {
  outline: none;

  border-color: #0088DF;

  box-shadow: 0 0 0 3px rgba(0,136,223,0.12);
}

/* Readonly fields */
#gform_wrapper_28 input[readonly] {
  background: #f8fafc;
  color: #64748b;
}

/* ========================================
   REQUIRED FIELD UX
======================================== */

/* Required labels */
#gform_wrapper_28 .gfield_contains_required > .gfield_label,
#gform_wrapper_28 .gfield_contains_required legend.gfield_label {
  color: #00345f;
  font-weight: 700;
}

/* Required star */
#gform_wrapper_28 .gfield_required {
  color: #dc2626;

  font-size: 0.95rem;
  font-weight: 700;

  margin-left: 0.2rem;
}

/* "(Required)" text */
#gform_wrapper_28 .gfield_required_text {
  display: inline;

  margin-left: 0.25rem;

  font-size: 0.72rem;
  font-weight: 600;

  color: #dc2626;

  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Required fields subtle indicator */
#gform_wrapper_28 .gfield_contains_required input,
#gform_wrapper_28 .gfield_contains_required textarea,
#gform_wrapper_28 

/* Stronger focus on required */
#gform_wrapper_28 .gfield_contains_required input:focus,
#gform_wrapper_28 .gfield_contains_required textarea:focus,


/* ========================================
   RADIO BUTTONS
======================================== */

#gform_wrapper_28 .gfield_radio {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

#gform_wrapper_28 .gchoice {
  display: flex;
  align-items: center;
  gap: 0.45rem;

  background: #f8fafc;

  border: 1px solid #dbe4ee;
  border-radius: 999px;

  padding: 0.55rem 0.9rem;

  transition: all 0.15s ease;
}

#gform_wrapper_28 .gchoice:hover {
  border-color: #0088DF;
  background: rgba(0,136,223,0.05);
}

/* ========================================
   BUTTONS
======================================== */

#gform_wrapper_28 .button,
#gform_wrapper_28 .gform_button {
  background: #40D1BB;
  color: #00407B;

  border: none;
  border-radius: 999px;

  padding: 0.85rem 1.4rem;

  font-weight: 700;
  font-size: 0.95rem;

  box-shadow: 0 4px 12px rgba(64, 209, 187, 0.25);

  transition: all 0.2s ease;

  cursor: pointer;
}

/* Hover */
#gform_wrapper_28 .button:hover,
#gform_wrapper_28 .gform_button:hover {
  background: #34c3ae;
  transform: translateY(-1px);
}



/* ========================================
   FOOTER
======================================== */

#gform_wrapper_28 .gform_footer {
  margin-top: 2rem;
  padding-top: 1.5rem;

  border-top: 1px solid #e2e8f0;
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 768px) {

  #gform_wrapper_28 {
    padding: 1rem;
    border-radius: 14px;
  }

  #gform_wrapper_28 .gform_title {
    font-size: 1.3rem;
  }

  #gform_wrapper_28 .ginput_complex {
    display: block !important;
  }

  #gform_wrapper_28 .gform-grid-col {
    width: 100% !important;
    margin-bottom: 1rem;
  }

  #gform_wrapper_28 .gfield_radio {
    flex-direction: column;
  }

  #gform_wrapper_28 .gchoice {
    width: 100%;
  }

  #gform_wrapper_28 .button,
  #gform_wrapper_28 .gform_button {
    width: 100%;
    justify-content: center;
  }

  #gform_wrapper_28 fieldset {
    padding: 1rem;
  }

  #gform_wrapper_28 legend.gfield_label {
    margin-left: 0;
  }
}

/* ============================================================
   CONTAINER & LAYOUT
   ============================================================ */


/* Clear out the old float/absolute logic */
.team-info, 
.org-table tr td:first-child, 
.org-table tr td:last-child {
    width: 100% !important;
    float: none !important;
    position: static !important;
    margin: 0 !important;
}


/* ============================================================
   ORGANISATION SELECTOR WRAPPER
   ============================================================ */
.team-select {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Title */
.team-select .title {
    font-weight: 700;
    color: #00407B;
    font-size: 1.5rem;
}

/* Arrow container */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    width: 35px !important;
    height: 100% !important;

    right: 0 !important;
    top: 0 !important;

    background: #00407B;
    border-left: 1px solid #e2e8f0;

    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    cursor: pointer;
}

/* Arrow icon */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #ffff transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
}

/* Hover effect on arrow */
.select2-container--default .select2-selection--single:hover .select2-selection__arrow {
    background: #003463;
}

/* ============================================================
   GROUPS PLUS TABLE - DESIGN SYSTEM
   ============================================================ */


/* ============================================================
   1. TABLE LAYOUT / CONTAINER
   ============================================================ */

.groups_user_table.groups_plus_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 1rem;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;

    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}


/* ============================================================
   2. TABLE HEADER
   ============================================================ */

.groups_plus_table thead,
.groups_plus_table thead tr,
.groups_plus_table thead th {
    background: #cfe6fc !important;
    color: #00407B !important;
    border-color: #add8ff !important;
}

.groups_plus_table thead th {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.95rem;
    padding: 1rem;
    text-align: left;
    border-bottom: 5px solid #cfe6fc !important;
}


/* ============================================================
   3. TABLE BODY (BASE TYPOGRAPHY)
   ============================================================ */

.groups_plus_table tbody td {
    padding: 1.25rem 1rem;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    font-size: 0.70rem;
}

/* Board members column */
.groups_plus_table td[data-label="Board Members"] {
    text-align: center;
    font-weight: 600;
    font-size: 1rem !important;
}


/* ============================================================
   4. ROW HIERARCHY (ORGANISATION SYSTEM)
   ============================================================ */

/* Organisation row = section header */
.groups_plus_table tr.organisation-row h5 {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.2px;
}

/* Normal rows = downgrade headings */
.groups_plus_table tbody tr:not(.organisation-row) h5 {
    font-size: 0.6rem;
    font-weight: 500;
    margin: 0;
}


/* ============================================================
   5. BUTTON SYSTEM
   ============================================================ */

.btn_groups_plus.open_group,
.btn_groups_plus.manage_groups_plus_team_leaders {
    padding: 0.3rem 0.65rem;
    font-size: 0.78rem;
    line-height: 1.1;
    font-weight: 600;

    border-radius: 8px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;

    transition: all 0.2s ease;

    cursor: pointer;
    text-decoration: none;

    white-space: nowrap;
}

/* Members button */
.btn_groups_plus.open_group {
    background: #40D1BB;
    color: #00407B;
    border: 1px solid transparent;
}

.btn_groups_plus.open_group:hover {
    background: #34c3ae;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(64, 209, 187, 0.3);
}

/* Administrator button */


.btn_groups_plus.manage_groups_plus_team_leaders:hover {
    background: #e2e8f0;
    border-color: #00407B;
    transform: translateY(-1px);
}




/* ============================================================
   COLLAPSIBLE FORM BUTTON (Details/Summary)
   ============================================================ */

/* 1. The Container */
.div-table-container.groups-plus-report-table {
    margin: 2rem 0;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* 2. The Button (Summary) */
.div-table-container.groups-plus-report-table summary {
    list-style: none; /* Remove default arrow */
    outline: none;
    cursor: pointer;
    padding: 1rem 1.5rem;
    background: #00407B; /* Your Navy */
    color: #ffffff;
    font-family: "Lexend Deca", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s ease;
}

/* Custom Arrow Icon using pseudo-element */
.div-table-container.groups-plus-report-table summary::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    transition: transform 0.3s ease;
}

/* Hover State */
.div-table-container.groups-plus-report-table summary:hover {
    background: #002d56;
}

/* 3. Open State Styling */
.div-table-container.groups-plus-report-table[open] {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.div-table-container.groups-plus-report-table[open] summary {
    background: #f8fafc;
    color: #00407B;
    border-bottom: 1px solid #e2e8f0;
}

.div-table-container.groups-plus-report-table[open] summary::after {
    content: '−'; /* Minus sign when open */
    transform: rotate(180deg);
}

/* 4. The Form Content Area */
.div-table-container.groups-plus-report-table .gform_wrapper {
    padding: 2rem;
    background: #ffffff;
}

/* Hide the default Chrome/Safari triangle */
.div-table-container.groups-plus-report-table summary::-webkit-details-marker {
    display: none;
}

/* ============================================================
   GRAVITY FORMS OVERRIDES (To match the dashboard)
   ============================================================ */
#gform_wrapper_31 .gfield_label {
    font-family: "Lexend Deca", sans-serif;
    font-weight: 600 !important;
    color: #00407B !important;
    margin-bottom: 8px !important;
}

#gform_wrapper_31 input[type="text"], 
#gform_wrapper_31 input[type="email"] {
    border-radius: 8px !important;
    border: 1px solid #dbe4ee !important;
    padding: 10px 14px !important;
}

/* Submit Button styling */
#gform_submit_button_31 {
    background: #40D1BB !important; /* Your Teal */
    color: #00407B !important;
    border: none !important;
    padding: 12px 30px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    cursor: pointer;
    transition: all 0.2s ease !important;
}

#gform_submit_button_31:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(64, 209, 187, 0.4);
}

/* ============================================================
   THE GAP-KILLER: Remove all top spacing in the form
   ============================================================ */

/* 1. Hide the empty heading and description tags completely */
#gform_wrapper_31 .gform_heading,
#gform_wrapper_31 .gform_description {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 2. Kill the height of the 'Hidden' field container (Field 6) */
#field_31_6 {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* 3. Remove the default browser margin on the Address Fieldset */
#field_31_1 {
    margin-top: 0 !important;
    padding-top: 5px !important; /* Tiny amount of breathing room */
}

/* 4. Tighten the gap between the legend (Address) and the inputs */
#field_31_1 .gfield_label {
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
}

/* 5. Force the main body container to start at the absolute top */
#gform_wrapper_31 .gform_body {
    padding-top: 0 !important;
    margin-top: -10px !important; /* Small negative margin to pull it up */
}
/* ============================================================
   NARROW BUTTON ADJUSTMENTS
   ============================================================ */

/* 1. Make the container wrap tightly around the text */
.div-table-container.groups-plus-report-table {
    width: max-content !important; /* The button is now only as wide as the text */
    min-width: 240px;             /* Ensures it doesn't get TOO tiny */
    max-width: 100%;
    margin: 1rem 0;               /* Spacing around the button */
    border-radius: 8px;
}

/* 2. When open, allow the form content to expand to full width */
.div-table-container.groups-plus-report-table[open] {
    width: 100% !important; 
}

/* 3. Refine the Summary padding for a tighter look */
.div-table-container.groups-plus-report-table summary {
    padding: 10px 20px !important;
    font-size: 0.9rem;
    gap: 15px; /* Space between text and the +/- icon */
}

/* 4. Ensure the Gravity Form inside doesn't feel cramped */
.div-table-container.groups-plus-report-table[open] .gform_wrapper {
    padding: 1.25rem !important;
}


/* Add breathing space at the top */
.groups_plus_report_list {
    padding-top: 2.5rem !important;
}

/* Make header stack vertically instead of side-by-side */
.groups_plus_report_list h3 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;

    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Make checkbox sit under title nicely */
.groups_plus_report_list h3 label {
    margin-left: 0 !important;

    font-size: 0.9rem;
    font-weight: 500;
    color: #334155;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;

    display: inline-flex;
    align-items: center;
    gap: 0.5rem;

    cursor: pointer;
    user-select: none;
}


/* ============================================================
   TABLE CONTAINER (card feel)
   ============================================================ */
.div-table-container {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}

/* ============================================================
   TOP ORGANISATION ROW (clickable header feel)
   ============================================================ */
.div-table-row-team-name-header {
    background: #f1f5f9;
    font-weight: 600;
    color: #0f172a;

    cursor: pointer;
    transition: background 0.2s ease;
}

.div-table-row-team-name-header:hover {
    background: #e2e8f0;
}

/* spacing inside header row */
.div-table-row-team-name-header .div-table-col {
    padding: 1rem 0.75rem;
}

/* ============================================================
   SUB HEADER (column labels)
   ============================================================ */
.div-table-row-sub-header {
    background: #f8fafc;
    font-size: 0.85rem;
    font-weight: 600;
    color: #475569;
    border-bottom: 1px solid #e2e8f0;
}

.div-table-row-sub-header .div-table-col {
    padding: 0.75rem;
}

/* ============================================================
   MODULE ROWS (main content blocks)
   ============================================================ */
.div-table-row-parent {
    border-top: 1px solid #eef2f7;
}

/* module header row */
.div-table-row-parent > .div-table-row-header {
    background: #ffffff;
    transition: background 0.2s ease;
}



/* ============================================================
   CELL STYLING (major readability upgrade)
   ============================================================ */
.div-table-col {
    padding: 0.85rem 0.75rem;
    font-size: 0.95rem;
    color: #0f172a;
    vertical-align: middle;
}

/* center alignment readability fix */
.div-table-col[align="center"] {
    text-align: center;
}

/* right aligned header icon cell */
.div-table-col[align="right"] {
    text-align: right;
}

/* ============================================================
   MODULE TITLE EMPHASIS
   ============================================================ */
.div-table-row-parent strong {
    font-weight: 600;
}

/* ============================================================
   STATUS COLOURS (NAVY TEXT + SOFT BACKGROUNDS)
   ============================================================ */

.div-table-row-parent span[style*="FFA500"],
.div-table-row-parent *[style*="FFA500"] {
    color: #0b1f3a !important;
    background: #fff4db;
    padding: 2px 8px;
    border-radius: 6px;
}

.div-table-row-parent span[style*="008000"],
.div-table-row-parent *[style*="008000"] {
    color: #0b1f3a !important;
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 6px;
}

.div-table-row-parent span[style*="FF0000"],
.div-table-row-parent *[style*="FF0000"] {
    color: #0b1f3a !important;
    background: #fee2e2;
    padding: 2px 8px;
    border-radius: 6px;
}


/* ============================================================
   EXPORT / DOWNLOAD BUTTON
   ============================================================ */
.div_export_section a.btn_groups_plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;

    padding: 0.3rem 0.65rem;   /* slightly reduced */
    font-size: 0.95rem;        /* slightly smaller */
    font-weight: 600;
    line-height: 1.2;

    border-radius: 8px;

    background: #f1f5f9;
    color: #00407B;
    border: 1px solid #cbd5e1;

    text-decoration: none;
    white-space: nowrap;

    transition: all 0.2s ease;
}

/* Hover state */
.div_export_section a.btn_groups_plus:hover {
    background: #e2e8f0;
    border-color: #00407B;
    transform: translateY(-1px);
}
#nga_alloc_btn {
    background: #40D1BB !important;
    color: #00407B !important;
    font-weight: 600 !important;
    border: 1px solid transparent;
}

/* Hover state (optional but recommended) */
#nga_alloc_btn:hover {
    background: #34c3ae !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(64, 209, 187, 0.3);
}
#nga_refresh_btn {
    font-weight: 600 !important;
}



/* Make header bigger and more readable */
.groups_plus_report_list h3 {
    font-size: 1.5rem;
    font-weight: 700;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;

    margin-bottom: 1.5rem;
}

/* Style checkbox line under title */
.groups_plus_report_list h3 label {
    font-size: 0.95rem;
    font-weight: 500;

    display: inline-flex;
    align-items: center;
    gap: 0.6rem;

    margin-left: 0 !important;
    padding: 0.5rem 0.75rem;

    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

/* Make checkbox slightly more visible */
#groups-plus-hide-zero-progress {
    accent-color: #40D1BB;
    transform: scale(1.05);
}


/* Desktop */
.select2-container--default .select2-dropdown {
    min-width: 600px !important;
    max-width: 800px !important;
}

/* Mobile (universal override) */
@media (max-width: 768px) {
    .select2-container--default .select2-dropdown {
        width: 95vw !important;
        min-width: 0 !important;
        max-width: 95vw !important;
    }
}

/* Entire expandable organisation row */
.div-table-row-header.div-table-row-team-name-header {
    background: #00407B !important;
    color: #ffffff !important;
}

/* Inner columns */
.div-table-row-header.div-table-row-team-name-header .div-table-col {
    background: #00407B !important;
    color: #ffffff !important;

    font-weight: 600;
    padding: 1rem;
}

/* Plus/minus icon */
.div-table-row-header.div-table-row-team-name-header i {
    color: #ffffff !important;
}

/* ============================================================
   MODULE / MEMBER / COMPLETION HEADER ROW
   ============================================================ */
.div-table-row-sub-header {
    background: #cfe6fc !important;
    border-top: 1px solid #dbeafe;
    border-bottom: 1px solid #dbeafe;
}

/* Header cells */
.div-table-row-sub-header .div-table-col {
    color: #00407B !important;

    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.02em;

    padding: 0.9rem 0.75rem;

    text-transform: uppercase;
}
/* Membership table only */
#field_31_14 {
    margin: 25px 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

#field_31_14 table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

#field_31_14 thead {
    background: #f8fafc;
}

#field_31_14 th {
    padding: 16px 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #00407B;
    border-bottom: 1px solid #e2e8f0;
}

#field_31_14 td {
    padding: 18px 20px;
    font-size: 15px;
    color: #1e293b;
    border-bottom: 1px solid #f1f5f9;
}

#field_31_14 tbody tr:last-child td {
    border-bottom: none;
}


#field_31_14 td.status-current {
    color: #16a34a !important;
    font-weight: 600;
}

#field_31_14 td.status-unpaid {
    color: #f58905 !important;
    font-weight: 600;
}
/* Status column */
#memberships td:nth-child(4) {
    font-weight: 600;
}

/* Current = green */
#memberships td.status-current {
    color: #16a34a !important;
}

/* Unpaid = red */
#memberships td.status-unpaid {
    color: #f58905 !important;
}



/* Remove Gravity Forms left indentation */
#gform_wrapper_31 #field_31_5 .ginput_container_radio {
  padding-left: 0;
  margin-left: 0;
}
/* Align radio group to field start */
#gform_wrapper_31 #field_31_5 .gfield_radio {
  margin: 0;
  padding: 0;

  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

/* Pill styling */
#gform_wrapper_31 #field_31_5 .gchoice {
  display: inline-flex;
  border: 1px solid #dbe4ee;
  border-radius: 10px;

  padding: 0.55rem 0.6rem;
  margin: 0;

  cursor: pointer;
  transition: all 0.15s ease;
}

/* Hover state */
#gform_wrapper_31 #field_31_5 .gchoice:hover {
  border-color: #0088DF;
  background: rgba(0, 136, 223, 0.05);
}

.div-table-row-header .div-table-col:first-child,
.div-table-row .div-table-col:first-child,
.div-table-row-sub-header .div-table-col:first-child {
    text-align: left !important;
    justify-content: flex-start !important;
}

.groups_plus_header_box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.groups_plus_title h5 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    letter-spacing: 0.3px;
}

.groups_plus_header_box br {
    display: none;
}

.groups_plus_header_buttons_row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.btn_groups_plus {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 8px 14px;
    border-radius: 8px;

    background: #2563eb;
    color: #fff !important;
    text-decoration: none;

    font-size: 13px;
    font-weight: 500;

    transition: all 0.2s ease;
    border: none;
}

.btn_groups_plus:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(37,99,235,0.25);
}

.btn_groups_plus i {
    font-size: 12px;
}


#btn_import_groups_plus_team_member:hover {
    background: #e5e7eb;
    box-shadow: none;
}
tbody td {
    font-size: 16px;
    padding: 16px 18px;
}

/* Name column */
tbody td:first-child {
    font-size: 15px;
    font-weight: 600;
}

/* Email links */
tbody td a {
    font-size: 14px;
	align-content: left
}

/* Role + Admin columns */
tbody td[data-label="Role"],
tbody td[data-label="Admin"] {
    font-size: 15px;
    font-weight: 500;
}

/* ============================================================
   EDIT ACTION CELL (COMPACT UX)
============================================================ */

td.team_member_actions {
    padding: 0.4rem 0.5rem !important;
    white-space: nowrap;
}

/* make the edit button smaller + tighter */
td.team_member_actions .btn_groups_plus {
    font-size: 0.8rem;
    padding: 4px 8px;
    line-height: 1.2;

    display: inline-flex;
    align-items: center;
    gap: 4px;

    border-radius: 6px;
}

/* shrink icon */
td.team_member_actions .btn_groups_plus i {
    font-size: 0.75rem;
}

/* optional: reduce hover "chunkiness" */
td.team_member_actions .btn_groups_plus:hover {
    transform: translateY(-1px);
}


/* ============================================================
   BASE CARD CONTAINER
============================================================ */
.div-table-container {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

/* ============================================================
   GLOBAL ROW SYSTEM
============================================================ */
.div-table-row,
.div-table-row-header {
    display: flex;
    align-items: center;
    width: 100%;
}

/* ============================================================
   MAIN HEADER (LESSON TABLE)
============================================================ */
.lesson-table .div-table-row-header {
    background: #cfe6fc;
    color: #cfe6fc;

    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;

    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.lesson-table .div-table-row-header .div-table-col {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00407B;
}

/* UNIT COLUMN */
.lesson-table .div-table-row-header .div-table-col:nth-child(2) {
    flex: 1;
    justify-content: flex-start;
}

/* COMPLETED / TIME */
.lesson-table .div-table-row-header .div-table-col:nth-child(3),
.lesson-table .div-table-row-header .div-table-col:nth-child(4) {
    width: 140px;
}


/* LOCK COLUMN */
.ld-lock-unlock-header {
    width: 60px;
    justify-content: center;
}

/* EXPAND ICON */
.lesson-table .learndash-groups-plus-icon-arrow {
    width: 40px;
    display: flex;
    justify-content: center;
    color: #94a3b8;
}

/* ============================================================
   BODY ROWS
============================================================ */
.lesson-table .div-table-row {
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
    background: #ffffff;
}

.lesson-table .div-table-row:hover {
    background: #f8fafc;
}

/* ============================================================
   CELLS
============================================================ */
.lesson-table .div-table-col {
    padding: 0.85rem 0.75rem;
    font-size: 0.95rem;
    color: #0f172a;

    display: flex;
    align-items: center;
}

/* LOCK ICON */
.ld-lock-unlock {
    width: 60px;
    justify-content: center;
    color: #64748b;
}

/* UNIT */
.lesson-table .div-table-row .div-table-col:nth-child(2) {
    flex: 1;
    justify-content: flex-start;
}

/* COMPLETED */
.lesson-table .div-table-row .div-table-col:nth-child(3) {
    width: 140px;
    justify-content: center;
    color: #64748b;
    font-size: 0.9rem;
}

/* TIME */
.lesson-table .div-table-row .div-table-col:nth-child(4) {
    width: 140px;
    justify-content: center;
    font-variant-numeric: tabular-nums;
}

/* ============================================================
   LINKS (ACCESSIBLE)
============================================================ */
.lesson-table a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 500;
}

.lesson-table a:hover {
    text-decoration: underline;
}

.lesson-table a:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* ============================================================
   EXPANDED CONTENT BLOCK
============================================================ */
.lesson-content {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 1rem;
}

/* ============================================================
   TOPIC TABLE (FIXED NESTED HEADER)
============================================================ */
.topic-table {
    margin-top: 0.75rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

/* TOPIC HEADER = SAME SYSTEM */
.topic-table .div-table-row-header {
    background: #cfe6fc;
    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
	color: #00407B;

    display: flex;
    align-items: center;
}

/* HEADER CELLS */
.topic-table .div-table-row-header .div-table-col {
    padding: 0.85rem 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #00407B;
}

/* FIRST COLUMN */
.topic-table .div-table-row-header .div-table-col:first-child {
    flex: 1;
    justify-content: flex-start;
}

/* BODY ROWS */
.topic-table .div-table-row {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-bottom: 1px solid #f1f5f9;
}

.topic-table .div-table-row:hover {
    background: #f8fafc;
}

/* CELLS */
.topic-table .div-table-col {
    padding: 0.75rem;
    font-size: 0.9rem;
    color: #0f172a;
}

/* FIRST COLUMN LINK */
.topic-table .div-table-col:first-child {
    flex: 1;
}

.topic-table .div-table-col:first-child a {
    color: #2563eb;
    font-weight: 500;
    text-decoration: none;
}

.topic-table .div-table-col:first-child a:hover {
    text-decoration: underline;
}

/* STATUS / TIME */
.topic-table .div-table-col:nth-child(2),
.topic-table .div-table-col:nth-child(3) {
    width: 140px;
    text-align: center;
    color: #64748b;
    font-size: 0.85rem;
}



/* ============================================================
   GLOBAL TABLE LINKS (FOR BOTH TABLE TYPES)
============================================================ */

.div-table-container a {
    color: #2563eb !important;
    text-decoration: none;
    font-weight: 500;
}

.div-table-container a:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

.div-table-container a:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
/* ============================================================
   TOPIC TABLE HEADER (WHITE TEXT SYSTEM OVERRIDE)
============================================================ */

.topic-table .div-table-row-header {
    color: #00407B !important;

}

/* ensure ALL header cells inherit white properly */
.topic-table .div-table-row-header .div-table-col,
.topic-table .div-table-row-header * {
    color: #00407B !important;
}

/* ============================================================
   SEARCH FORM LAYOUT FIX
============================================================ */

#frm_team_member_course_filter {
    margin-top: 12px;
}

/* spacing between rows */
#frm_team_member_course_filter .section {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;

    align-items: flex-end;
}

/* ============================================================
   FORM COLUMNS
============================================================ */

#frm_team_member_course_filter .col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* ensure selects are full width + consistent */
#frm_team_member_course_filter select {
    width: 100%;
    padding: 10px 12px;

    border: 1px solid #e2e8f0;
    border-radius: 8px;

    font-size: 0.9rem;
    background: #ffffff;

    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#frm_team_member_course_filter select:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* ============================================================
   SEARCH BUTTON (MODERN + CLICKABLE)
============================================================ */

#frm_team_member_course_filter .btn_groups_plus {
    margin-top: 6px;

    background: #00407B;
    color: #ffffff;

    border: none;
    border-radius: 8px;

    padding: 10px 14px;

    font-size: 0.9rem;
    font-weight: 600;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    cursor: pointer;

    transition: all 0.15s ease;
}

/* hover state */
#frm_team_member_course_filter .btn_groups_plus:hover {
    background: #0056a6;
    transform: translateY(-1px);
}

/* focus accessibility */
#frm_team_member_course_filter .btn_groups_plus:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 3px;
}

/* icon alignment */
#frm_team_member_course_filter .btn_groups_plus i {
    font-size: 0.85rem;
}

/* ============================================================
   RIGHT ALIGN BUTTON COLUMN
============================================================ */

#frm_team_member_course_filter .grid_1_of_5 {
    display: flex;
    justify-content: flex-end;
}

/* =========================
   TOP NAV / HEADER
========================= */

.groups-plus-modal-nav {
    background: #00407B;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* =========================
   TABLE
========================= */

.groups-plus-modal-content table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.groups-plus-modal-content thead th {
    background: #00407B;
    color: #fff;
    font-weight: 700;
    padding: 10px;
    text-align: left;
    border-bottom: 2px solid #e5e7eb;
}

.groups-plus-modal-content tbody td {
    padding: 10px;
    border-bottom: 1px solid #e5e7eb;
    color: #1f2937;
}

/* hover row */
.groups-plus-modal-content tbody tr:hover {
    background: #f9fafb;
}

/* delete icon */
.icon-delete-team-leader i,
.icon-delete-team-leader-from-team-member i {
    color: #dc2626;
    cursor: pointer;
}


#add-team-leader-email-groups-plus_modal .groups-plus-modal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

/* =========================================
   Hide editor tabs (Visual / Code)
========================================= */
#add-team-leader-email-groups-plus_modal .wp-editor-tabs,
#add-team-leader-email-groups-plus_modal .switch-tmce,
#add-team-leader-email-groups-plus_modal .switch-html {
    display: none !important;
}

/* =========================================
   Hide Quicktags / HTML toolbar
========================================= */
#add-team-leader-email-groups-plus_modal .quicktags-toolbar {
    display: none !important;
}

/* =========================================
   Hide code-related buttons
========================================= */
#add-team-leader-email-groups-plus_modal .ed_button[value="code"],
#add-team-leader-email-groups-plus_modal .mce-btn[aria-label="Code Snippets"] {
    display: none !important;
}

/* =========================================
   Hide merge code heading + table
========================================= */
#add-team-leader-email-groups-plus_modal h6,
#add-team-leader-email-groups-plus_modal .modal-table {
    display: none !important;
}

/* =========================================
   Optional: clean spacing after hiding
========================================= */
#add-team-leader-email-groups-plus_modal br {
    display: none;
}

#add-team-leader-email-groups-plus_modal h5 {
    margin-top: 0 !important;
}

/* Hide original text */
.groups_plus_email .btn_groups_plus {
    font-size: 0 !important;
}

/* Add replacement text */
.groups_plus_email .btn_groups_plus::before {
    content: "Email all your administrators";
    font-size: 16px;
}

/* Keep arrow visible */
.groups_plus_email .btn_groups_plus i {
    font-size: 16px !important;
    margin-left: 6px;
}

/* ========================================
   GLOBAL GROUPS PLUS MODAL SYSTEM
======================================== */


/* ========================================
   GRAVITY FORMS
======================================== */

.groups-plus-modal .gform_wrapper {
  background: #ffffff;

  border: 1px solid #e2e8f0;
  border-radius: 18px;

  padding: 1.5rem;

  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
}

/* ========================================
   INPUTS
======================================== */

.groups-plus-modal input[type="text"],
.groups-plus-modal input[type="email"],
.groups-plus-modal textarea,
.groups-plus-modal select {
  width: 100%;

  min-height: 50px;

  border: 1px solid #dbe4ee;
  border-radius: 12px;

  padding: 0.85rem 1rem;

  background: #ffffff;

  font-size: 0.95rem;

  transition: all 0.2s ease;

  box-sizing: border-box;
}

.groups-plus-modal input:focus,
.groups-plus-modal textarea:focus,
.groups-plus-modal select:focus {
  outline: none;

  border-color: #0088DF;

  box-shadow: 0 0 0 4px rgba(0,136,223,0.12);
}

/* ========================================
   SELECT ARROWS
======================================== */

.groups-plus-modal select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding-right: 3rem;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2300407B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px;
}

/* ========================================
   BUTTONS
======================================== */

.groups-plus-modal .button,
.groups-plus-modal .gform_button,
.groups-plus-modal .btn_groups_plus {
  background: linear-gradient(
    135deg,
    #40D1BB,
    #2fc3ac
  );

  color: #00407B !important;

  border: none;
  border-radius: 999px;

  padding: 0.9rem 1.5rem;

  font-weight: 700;

  cursor: pointer;

  transition: all 0.2s ease;
}

.groups-plus-modal .button:hover,
.groups-plus-modal .gform_button:hover,
.groups-plus-modal .btn_groups_plus:hover {
  transform: translateY(-2px);
}



/* ========================================
   GROUPS PLUS MODAL FORM UX POLISH
   Styled to MATCH your #28 form system
======================================== */

#save_groups_plus_team_member_modal .gform_wrapper {


  --gf-form-gap-y: 16px;
}

/* ========================================
   FORM SPACING
======================================== */

#save_groups_plus_team_member_modal .gform_description {
  margin: 0;
  padding: 0;
}

#save_groups_plus_team_member_modal .gform_body {
  margin-top: 0;
  padding-top: 0;
}

#save_groups_plus_team_member_modal .gform_fields {
  row-gap: 1.5rem;
}

#save_groups_plus_team_member_modal .gfield:first-child {
  margin-top: 0;
}



/* ========================================
   FIELD LABELS
======================================== */

#save_groups_plus_team_member_modal .gfield_label,
#save_groups_plus_team_member_modal .gform-field-label {
  font-size: 0.92rem;
  font-weight: 600;

  color: #00407B;

  margin-bottom: 0.45rem;
}

/* Sub labels */
#save_groups_plus_team_member_modal .gform-field-label--type-sub {
  font-size: 0.78rem;
  font-weight: 500;

  color: #64748b;
}

/* ========================================
   FIELDSET / LEGEND LABELS
======================================== */

#save_groups_plus_team_member_modal legend.gfield_label {
  display: inline-block;

  padding: 0 0.5rem;
  margin-left: 0.35rem;
  margin-bottom: 0.75rem;

  background: #fcfdff;

  font-size: 0.92rem;
  font-weight: 700;

  color: #00407B;

  line-height: 1.2;
}

/* ========================================
   FIELDSETS
======================================== */

#save_groups_plus_team_member_modal fieldset {
  position: relative;

  border: 1px solid #e2e8f0;
  border-radius: 14px;

  padding: 1rem 1.25rem 1.25rem;

  background: linear-gradient(
    to bottom,
    #ffffff,
    #fcfdff
  );

  margin-top: 0;
}

/* ========================================
   INPUTS
======================================== */

#save_groups_plus_team_member_modal input[type="text"],
#save_groups_plus_team_member_modal input[type="email"],
#save_groups_plus_team_member_modal textarea,
#save_groups_plus_team_member_modal select {
  width: 100%;

  border: 1px solid #dbe4ee;
  border-radius: 12px;

  background: #ffffff;


  font-size: 0.95rem;
  color: #0f172a;

  transition: all 0.2s ease;

  box-sizing: border-box;
}

/* Focus state */
#save_groups_plus_team_member_modal input[type="text"]:focus,
#save_groups_plus_team_member_modal input[type="email"]:focus,
#save_groups_plus_team_member_modal textarea:focus,
#save_groups_plus_team_member_modal select:focus {
  outline: none;

  border-color: #0088DF;

  box-shadow: 0 0 0 3px rgba(0,136,223,0.12);
}

/* ========================================
   REQUIRED FIELD UX
======================================== */

/* Required labels */
#save_groups_plus_team_member_modal .gfield_contains_required > .gfield_label,
#save_groups_plus_team_member_modal .gfield_contains_required legend.gfield_label {
  color: #00345f;
  font-weight: 700;
}

/* Required star */
#save_groups_plus_team_member_modal .gfield_required {
  color: #dc2626;

  font-size: 0.95rem;
  font-weight: 700;

  margin-left: 0.2rem;
}

/* "(Required)" text */
#save_groups_plus_team_member_modal .gfield_required_text {
  display: inline;

  margin-left: 0.25rem;

  font-size: 0.72rem;
  font-weight: 600;

  color: #dc2626;

  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ========================================
   DESCRIPTION TEXT
======================================== */

#save_groups_plus_team_member_modal .gfield_description {
  font-size: 0.82rem;
  line-height: 1.5;

  color: #64748b;

  margin-top: 0.5rem;
}

/* ========================================
   BUTTONS
======================================== */

#save_groups_plus_team_member_modal .button,
#save_groups_plus_team_member_modal .gform_button,
#save_groups_plus_team_member_modal .btn_groups_plus {
  background: #40D1BB;
  color: #00407B !important;

  border: none;
  border-radius: 999px;

  padding: 0.85rem 1.4rem;

  font-weight: 700;
  font-size: 0.95rem;

  box-shadow: 0 4px 12px rgba(64, 209, 187, 0.25);

  transition: all 0.2s ease;

  cursor: pointer;
}

/* Hover */
#save_groups_plus_team_member_modal .button:hover,
#save_groups_plus_team_member_modal .gform_button:hover,
#save_groups_plus_team_member_modal .btn_groups_plus:hover {
  background: #34c3ae;
  transform: translateY(-1px);
}

/* ========================================
   FOOTER
======================================== */

#save_groups_plus_team_member_modal .gform_footer {
  margin-top: 2rem;
  padding-top: 1.5rem;

  border-top: 1px solid #e2e8f0;
}

/* ========================================
   EXISTING USER POPUP
======================================== */

#save_groups_plus_existing_user_popup .groups-plus-existing-user-popup-box {
  border-radius: 16px !important;
  border: 1px solid #e2e8f0;

  box-shadow: 0 12px 40px rgba(0,0,0,0.15);

  font-family: "Lexend Deca", system-ui, sans-serif;
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 768px) {

  #save_groups_plus_team_member_modal .gform_wrapper {
    padding: 1rem;
    border-radius: 14px;
  }

  #save_groups_plus_team_member_modal .gform_title {
    font-size: 1.3rem;
  }

  #save_groups_plus_team_member_modal .ginput_complex {
    display: block !important;
  }

  #save_groups_plus_team_member_modal .gform-grid-col {
    width: 100% !important;
    margin-bottom: 1rem;
  }

  #save_groups_plus_team_member_modal .button,
  #save_groups_plus_team_member_modal .gform_button,
  #save_groups_plus_team_member_modal .btn_groups_plus {
    width: 100%;
    justify-content: center;
  }

  #save_groups_plus_team_member_modal fieldset {
    padding: 1rem;
  }

  #save_groups_plus_team_member_modal legend.gfield_label {
    margin-left: 0;
  }

  #save_groups_plus_team_member_modal .groups-plus-modal-nav {
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }
}

/* ========================================
   IMPORT BOARD MEMBERS MODAL (FINAL UX SYSTEM)
   COMPACT • STRUCTURE SAFE • BRAND CONSISTENT
======================================== */


/* ========================================
   HEADER (COMPACT)
======================================== */



#import_groups_plus_team_member_modal .link-tab {
  background: #00407B;
  color: #fff;

  border-radius: 10px;
  padding: 8px 12px;

  font-size: 0.9rem;
  font-weight: 700;

  list-style: none;
}


/* ========================================
   BODY
======================================== */

#import_groups_plus_team_member_modal .groups-plus-modal-container {
  padding: 1rem;
  background: #fcfdff;
}

/* ========================================
   DESCRIPTION
======================================== */

#import_groups_plus_team_member_modal .import_classrrom_description {
  font-weight: 600;
  color: #00407B;

  margin-bottom: 0.5rem;
}

/* ========================================
   DOWNLOAD CSV (ACTION CARD)
======================================== */

#import_groups_plus_team_member_modal .import_classrrom_template {
  margin-bottom: 1rem;
}

#import_groups_plus_team_member_modal .import_classrrom_template a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;

  padding: 0.55rem;

  background: #ffffff;
  border: 1px solid #dbe4ee;
  border-radius: 12px;

  text-decoration: none;

  color: #00407B;
  font-weight: 700;

  box-shadow: 0 2px 8px rgba(0,0,0,0.04);

  transition: all 0.2s ease;

  cursor: pointer;
}

#import_groups_plus_team_member_modal .import_classrrom_template a:hover {
  border-color: #40D1BB;
  transform: translateY(-2px);
}

#import_groups_plus_team_member_modal .import_classrrom_template img {
  width: 40px;
  height: 40px;
}

/* ========================================
   UPLOAD SECTION (STRUCTURED UX)
======================================== */

#import_groups_plus_team_member_modal .import_classrrom_upload_file {
  background: #ffffff;

  border: 1px solid #e2e8f0;
  border-radius: 14px;

  padding: 0.5rem;

  display: flex;
  flex-direction: column;
  gap: 10px;

  margin-bottom: 1rem;
}

/* label */
#import_groups_plus_team_member_modal .import_classrrom_upload_label {
  font-size: 0.9rem;
  font-weight: 700;
  color: #00407B;
}

/* wrapper */
#import_groups_plus_team_member_modal .upload-import-wrapper {
  position: relative;
  display: inline-flex;
}

/* file input click area */
#import_groups_plus_team_member_modal #groups_plus_file_import {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* ========================================
   BROWSE BUTTON (FIXED UX)
======================================== */

#import_groups_plus_team_member_modal .btn_groups_plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.75rem 1.1rem;

  background: #40D1BB;
  color: #00407B !important;

  border-radius: 999px;
  border: none;

  font-weight: 700;
  font-size: 0.88rem;

  cursor: pointer;

  box-shadow: 0 4px 12px rgba(64,209,187,0.25);
}

#import_groups_plus_team_member_modal .btn_groups_plus:hover {
  background: #34c3ae;
  transform: translateY(-1px);
}

/* ========================================
   FILE NAME STATUS (WITH PROPER INFO ICON)
======================================== */

#import_groups_plus_team_member_modal .import_classrrom_upload_filename {
  position: relative;

  font-size: 0.82rem;
  color: #424242;

  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;

  padding: 0.65rem 0.85rem 0.65rem 2.2rem;
}

/* info icon (clean UI style, NOT emoji) */
#import_groups_plus_team_member_modal .import_classrrom_upload_filename::before {
  content: "i";

  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);

  width: 16px;
  height: 16px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;

  font-size: 11px;
  font-weight: 800;

  color: #00407B;
  background: rgba(0, 64, 123, 0.12);
}

/* ========================================
   SAVE ACTION
======================================== */

#import_groups_plus_team_member_modal .form-action {
  display: flex;
  justify-content: flex-end;

  margin-top: 1rem;
}

/* ========================================
   FAQ (PROMINENT BUT CONTROLLED)
======================================== */

#import_groups_plus_team_member_modal .import-modal-faq-block {
  margin-top: 1.25rem;

  padding: 1rem;

  border-radius: 14px;

  background: linear-gradient(135deg, rgba(0,64,123,0.06), rgba(64,209,187,0.06));
  border: 1px solid #cfe3f5;

  text-align: center;
}

#import_groups_plus_team_member_modal .import-modal-faq-block h3 {
  font-size: 0.85rem;
  font-weight: 600;
  color: #00407B;
  line-height: 1.5;
  margin: 0;
}

/* FAQ button-style link */
#import_groups_plus_team_member_modal .import-faq-popup-link {
  display: inline-block;

  margin-top: 0.6rem;

  padding: 0.5rem 0.9rem;

  background: #00407B;
  color: #fff !important;

  border-radius: 999px;

  font-size: 0.8rem;
  font-weight: 700;

  text-decoration: none;

  cursor: pointer;
}

#import_groups_plus_team_member_modal .import-faq-popup-link:hover {
  background: #0056a6;
}

/* ========================================
   MOBILE
======================================== */

@media (max-width: 768px) {
  #import_groups_plus_team_member_modal .groups-plus-modal-container {
    padding: 1rem;
  }

  #import_groups_plus_team_member_modal .form-action {
    justify-content: stretch;
  }

  #import_groups_plus_team_member_modal .btn_groups_plus {
    width: 100%;
  }
}

/* ========================================
   MODAL CONTAINER
======================================== */


/* ========================================
   HEADER
======================================== */




/* ========================================
   BODY CONTAINER
======================================== */

#edit_groups_plus_team_member_modal .groups-plus-modal-container {
  padding: 1.5rem;
  background: #f8fbff;
}

/* ========================================
   GRAVITY FORM WRAPPER
======================================== */

#edit_groups_plus_team_member_modal .gform_wrapper {
  background: #ffffff;

  border: 1px solid #e2e8f0;
  border-radius: 18px;

  padding: 1.5rem;

  box-shadow: 0 8px 24px rgba(0,0,0,0.05);

  color: #0f172a;
}

/* ========================================
   FORM LAYOUT
======================================== */

#edit_groups_plus_team_member_modal .gform_fields {
  row-gap: 1.5rem;
}

#edit_groups_plus_team_member_modal .gfield {
  margin-top: 0 !important;
}

/* ========================================
   FIELDSET DESIGN
======================================== */

#edit_groups_plus_team_member_modal fieldset {
  border: 1px solid #dbe4ee;

  border-radius: 16px;

  padding: 1.2rem 1.25rem 1.3rem;

  background: linear-gradient(
    to bottom,
    #ffffff,
    #fcfdff
  );

  position: relative;
}

/* ========================================
   LEGEND LABELS
======================================== */

#edit_groups_plus_team_member_modal legend.gfield_label {
  display: inline-block;

  padding: 0 0.55rem;

  margin-left: 0.35rem;
  margin-bottom: 0.9rem;

  background: #ffffff;

  color: #00407B;

  font-size: 0.92rem;
  font-weight: 700;
}

/* ========================================
   STANDARD LABELS
======================================== */

#edit_groups_plus_team_member_modal .gfield_label,
#edit_groups_plus_team_member_modal .gform-field-label {
  color: #00407B;

  font-size: 0.92rem;
  font-weight: 700;

  margin-bottom: 0.45rem;
}

/* Sublabels */
#edit_groups_plus_team_member_modal .gform-field-label--type-sub {
  color: #64748b;

  font-size: 0.78rem;
  font-weight: 500;
}

/* ========================================
   INPUTS
======================================== */

#edit_groups_plus_team_member_modal input[type="text"],
#edit_groups_plus_team_member_modal input[type="email"],
#edit_groups_plus_team_member_modal textarea,
#edit_groups_plus_team_member_modal select {
  width: 100%;

  min-height: 50px;

  border: 1px solid #dbe4ee;
  border-radius: 12px;

  background: #ffffff;

  padding: 0.85rem 1rem;

  font-size: 0.95rem;
  color: #0f172a;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease;

  box-sizing: border-box;
}

/* Readonly fields */
#edit_groups_plus_team_member_modal input[readonly] {
  background: #f1f5f9;

  color: #475569;

  border-style: dashed;

  cursor: not-allowed;
}

/* Focus states */
#edit_groups_plus_team_member_modal input[type="text"]:focus,
#edit_groups_plus_team_member_modal input[type="email"]:focus,
#edit_groups_plus_team_member_modal textarea:focus,
#edit_groups_plus_team_member_modal select:focus {
  outline: none;

  border-color: #0088DF;

  box-shadow: 0 0 0 4px rgba(0,136,223,0.12);

  transform: translateY(-1px);
}

/* ========================================
   REQUIRED STATES
======================================== */

#edit_groups_plus_team_member_modal .gfield_required {
  color: #dc2626;

  font-size: 0.92rem;
  font-weight: 700;

  margin-left: 0.2rem;
}

#edit_groups_plus_team_member_modal .gfield_required_text {
  display: inline;

  margin-left: 0.3rem;

  font-size: 0.7rem;
  font-weight: 700;

  text-transform: uppercase;
  letter-spacing: 0.04em;

  color: #dc2626;
}

/* ========================================
   DESCRIPTION TEXT
======================================== */

#edit_groups_plus_team_member_modal .gfield_description {
  margin-top: 0.55rem;

  font-size: 0.82rem;
  line-height: 1.5;

  color: #64748b;
}

/* ========================================
   SELECT DROPDOWNS
======================================== */

#edit_groups_plus_team_member_modal select {
  cursor: pointer;
}



/* ========================================
   PRIMARY BUTTON
======================================== */

#edit_groups_plus_team_member_modal .gform_button,
#edit_groups_plus_team_member_modal .button {
  background: linear-gradient(
    135deg,
    #40D1BB,
    #2fc3ac
  );

  color: #00407B !important;

  border: none;
  border-radius: 999px;

  padding: 0.9rem 1.5rem;

  font-size: 0.95rem;
  font-weight: 700;

  cursor: pointer;

  box-shadow: 0 6px 18px rgba(64, 209, 187, 0.28);

  transition: all 0.2s ease;
}

#edit_groups_plus_team_member_modal .gform_button:hover,
#edit_groups_plus_team_member_modal .button:hover {
  transform: translateY(-2px);

  box-shadow: 0 10px 24px rgba(64, 209, 187, 0.34);
}

/* ========================================
   ACTION BUTTON ROW
======================================== */

#edit_groups_plus_team_member_modal .action-buttons {
  padding: 2.75rem 2.5rem;


}

/* ========================================
   DELETE BUTTON
======================================== */

#edit_groups_plus_team_member_modal #edit_groups_plus_team_member_btn_delete {
  background: #ffffff;

  color: #dc2626 !important;
	
	
	

  border: 1px solid rgba(220,38,38,0.2);

  border-radius: 999px;

  padding: 0.85rem 1.25rem;

  font-weight: 700;

  transition: all 0.2s ease;
}

#edit_groups_plus_team_member_modal #edit_groups_plus_team_member_btn_delete:hover {
  background: #dc2626;

  color: #ffffff !important;


  transform: translateY(-1px);
}

#edit_groups_plus_team_member_modal #edit_groups_plus_team_member_btn_delete i {
  margin-left: 0.5rem;
}

/* ========================================
   REMOVE GRAVITY FORMS CLUTTER
======================================== */

#edit_groups_plus_team_member_modal .gform_validation_errors {
  border-radius: 12px;
}

#edit_groups_plus_team_member_modal .validation_message {
  font-size: 0.8rem;
}

/* ========================================
   MOBILE UX
======================================== */

@media (max-width: 768px) {

  #edit_groups_plus_team_member_modal .groups-plus-modal-content {
    width: calc(100% - 20px);
    border-radius: 14px;
  }

  #edit_groups_plus_team_member_modal .groups-plus-modal-container {
    padding: 1rem;
  }

  #edit_groups_plus_team_member_modal .gform_wrapper {
    padding: 1rem;
    border-radius: 14px;
  }

  #edit_groups_plus_team_member_modal .groups-plus-modal-nav {
    flex-direction: column;
    align-items: stretch;

    gap: 12px;
  }

  #edit_groups_plus_team_member_modal .tabs {
    width: 100%;
  }

  #edit_groups_plus_team_member_modal .tab-link {
    width: 100%;
    text-align: center;
  }

  #edit_groups_plus_team_member_modal .ginput_complex {
    display: block !important;
  }

  #edit_groups_plus_team_member_modal .gform-grid-col {
    width: 100% !important;
    margin-bottom: 1rem;
  }


  #edit_groups_plus_team_member_modal .gform_button,
  #edit_groups_plus_team_member_modal .button,
  #edit_groups_plus_team_member_modal #edit_groups_plus_team_member_btn_delete {
    width: 100%;
    justify-content: center;
  }

  #edit_groups_plus_team_member_modal .action-buttons .pull-right,
  #edit_groups_plus_team_member_modal .action-buttons .pull-left {
    width: 100%;
    text-align: center !important;
  }
}
/* ========================================
   CUSTOM SELECT ARROWS
======================================== */

#edit_groups_plus_team_member_modal select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  padding-right: 3rem;

  background-color: #ffffff;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2300407B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 16px;
}

/* Hover */
#edit_groups_plus_team_member_modal select:hover {
  border-color: #b8c7d9;
}

/* Focus arrow */
#edit_groups_plus_team_member_modal select:focus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%230088DF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* ========================================
   AGGRESSIVE TOP SPACE REDUCTION
======================================== */

#edit_groups_plus_team_member_modal .groups-plus-modal-container {
  padding-top: 0.5rem !important;
}

#edit_groups_plus_team_member_modal .gform_wrapper {
  margin-top: 0 !important;
  padding: 0.75rem !important;
}

#edit_groups_plus_team_member_modal .gform_body {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#edit_groups_plus_team_member_modal .gform_fields {
  margin-top: 0 !important;
  padding-top: 0 !important;
  row-gap: 1rem; /* slightly tighter overall form spacing */
}

/* Kill first element spacing completely */
#edit_groups_plus_team_member_modal .gform_fields > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Fieldset is still likely your biggest gap source */
#edit_groups_plus_team_member_modal fieldset {
  margin-top: 0 !important;
  padding-top: 0.75rem !important;
}

/* Legend spacing reduction */
#edit_groups_plus_team_member_modal legend.gfield_label {
  margin: 0 0 0.5rem 0.25rem !important;
}

/* Optional: reduce modal header spacing too */
#edit_groups_plus_team_member_modal .groups-plus-modal-nav {
  padding-bottom: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
/* ========================================
   GLOBAL GROUPS PLUS MODAL SYSTEM
======================================== */

/* ========================================
   HEADER
======================================== */

.groups-plus-modal-nav {
  background: linear-gradient(
    135deg,
    #00407B,
    #0057a8
  );

  padding: 16px 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ========================================
   TABS
======================================== */

.groups-plus-modal-nav .tabs {
  display: flex;
  gap: 10px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.groups-plus-modal-nav .tab-link {
  background: #00407B !important;

  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;

  padding: 10px 16px;

  font-size: 0.92rem;
  font-weight: 700;
}

.groups-plus-modal-nav .tab-link.current {
  background: #ffffff;
  color: #00407B;
}

/* =========================================================
   GLOBAL CLOSE BUTTON (ALL MODALS)
========================================================= */

.groups-plus-modal .groups-plus-close,
.groups-plus-modal .groups-plus-modal-close,
.groups-plus-modal .modal-close {
  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;

  background: #00407B;
  color: #ffffff;

  font-size: 30px;
  line-height: 1;

  border: none;

  cursor: pointer;

  transition: all 0.2s ease;
}

/* hover */
.groups-plus-modal .groups-plus-close:hover,
.groups-plus-modal .groups-plus-modal-close:hover,
.groups-plus-modal .modal-close:hover {
  background: rgba(255,255,255,0.25);
  transform: scale(1.05);
}



/* ========================================
   BODY
======================================== */

.groups-plus-modal-container {
  padding: 1.5rem;
  background: #f8fbff;
}
/* ========================================
   REDUCE MODAL TOP SPACE (HEADER + NAV)
======================================== */

#edit_groups_plus_team_member_modal .groups-plus-modal-content {
  padding-top: 0 !important;
}

/* Kill nav vertical padding */
#edit_groups_plus_team_member_modal .groups-plus-modal-nav {
  padding: 0.4rem 0.75rem !important;
  margin: 0 !important;

  display: flex;
  align-items: center;
}

/* Tabs spacing reduction */
#edit_groups_plus_team_member_modal .groups-plus-modal-nav .tabs {
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove default UL spacing */
#edit_groups_plus_team_member_modal .groups-plus-modal-nav ul.tabs {
  margin: 0 !important;
  padding: 0 !important;
}

/* Tighten tab items */
#edit_groups_plus_team_member_modal .tab-link {
  padding: 0.35rem 0.75rem !important;
  line-height: 1.2 !important;
}

/* Close button alignment (prevents it forcing height) */
#edit_groups_plus_team_member_modal .groups-plus-close {
  margin: 0 !important;
  padding: 0.25rem 0.5rem !important;
  line-height: 1 !important;
}

/* Reduce spacing before form area */
#edit_groups_plus_team_member_modal .groups-plus-modal-container.with-tab {
  padding-top: 0.5rem !important;
}


/* Reduce top spacing of the modal */
#save_groups_plus_team_member_modal .groups-plus-modal-content {
    padding-top: 10px !important;
    margin-top: 0 !important;
}

/* Reduce spacing inside navigation bar */
#save_groups_plus_team_member_modal .groups-plus-modal-nav {
    margin-top: 0 !important;
    padding-top: 8px !important;
}

/* Kill default Gravity Forms top margin */
#save_groups_plus_team_member_modal .gform_wrapper {
    margin-top: 0 !important;
}

/* If still too much space, reduce first fieldset gap */
#save_groups_plus_team_member_modal .gform_body {
    margin-top: 0 !important;
}

/* =========================================
   Hide editor tabs (Visual / Code)
========================================= */
#add_team_member_email_groups_plus_modal .wp-editor-tabs,
#add_team_member_email_groups_plus_modal .switch-tmce,
#add_team_member_email_groups_plus_modal .switch-html {
    display: none !important;
}

/* =========================================
   Hide Quicktags / HTML toolbar
========================================= */
#add_team_member_email_groups_plus_modal .quicktags-toolbar {
    display: none !important;
}

/* =========================================
   Hide code-related buttons
========================================= */
#add_team_member_email_groups_plus_modal .ed_button[value="code"],
#add_team_member_email_groups_plus_modal .mce-btn[aria-label="Code Snippets"] {
    display: none !important;
}

/* =========================================
   Hide merge code heading + table
========================================= */
#add_team_member_email_groups_plus_modal h6,
#add_team_member_email_groups_plus_modal .modal-table {
    display: none !important;
}

/* =========================================
   Optional cleanup
========================================= */
#add_team_member_email_groups_plus_modal br {
    display: none;
}

#add_team_member_email_groups_plus_modal h5 {
    margin-top: 0 !important;
}
#add_team_member_email_groups_plus_modal label {
    margin-bottom: 5px !important;
    display: block;
}

#add_team_member_email_groups_plus_modal .wp-editor-wrap {
    margin-top: 0 !important;
}

#add_team_member_email_groups_plus_modal .wp-editor-container {
    margin-top: 0 !important;
}

#add_team_member_email_groups_plus_modal .quicktags-toolbar,
#add_team_member_email_groups_plus_modal .wp-editor-tools {
    margin: 0 !important;
    padding: 0 !important;
}

#add_team_member_email_groups_plus_modal .mce-tinymce {
    margin-top: 0 !important;
}

/*
 * ===========================
 * Hide EVALUATION text
 * (preserved from live custom_css, 2026-07-06 recovery)
 * ===========================
*/
.ld-item-component,.bb-lesson-topics-count
{
	visibility:hidden !important;
}
