.lesson-plan-table tbody tr td:nth-child(4) select {
    min-width: 170px;
}
nav#mepr-account-nav {
    display: flex;
    flex-direction: column;
}
.add-user-role-options {
    display: flex;
    gap: 15px;
}
div#client_fname_div,
div#client_lname_div {
    height: 100%;
}
tr:has([id^="trainers_name_last_first-wrap"]):not(:first-child) [id^="trainers_name_last_first-wrap"] {
    margin-top: 10px;
}
div#client_fname_div input,
div#client_lname_div input {
    color: transparent;
    user-select: none;      /* Disable dragging selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

div#client_fname_div .display,
div#client_lname_div .display {
    width: 100%;
    height: 100%;
    padding: 10px;
}
.add-user-role-options > label {
    width: auto !important;
}
nav#mepr-account-nav > span:not(.mepr-nav-item-title-orders):not(.mepr-home):not(.mepr-subscriptions):not(.mepr-payments):not(.mepr-nav-item-title-myresources) {
    order: 8;
}

nav#mepr-account-nav .mepr-home {
    order: 1;
}

nav#mepr-account-nav .mepr-subscriptions {
    order: 2;
}

nav#mepr-account-nav .mepr-nav-item-title-orders {
    order: 3;
}
nav#mepr-account-nav .mepr-manage-accounts-dropdown {
    order: 4 !important;
}

nav#mepr-account-nav .mepr-nav-item-title-myresources {
    order: 5;
}

nav#mepr-account-nav .mepr-nav-item-title-assessmentforms {
    order: 6 !important;
}

nav#mepr-account-nav .mepr-courses {
    order: 7 !important;
}




body.page-template-flashcards header {
    display: none;
}



.anger-score-here, .stress-score-here {
    /*display: none;*/
}
.anger-score-here input, .stress-score-here input {
    pointer-events: none;
    border: none;
}

.anger-score-here .ginput_container,
.stress-score-here .ginput_container{
    position: relative;
}
.gf_progressbar_wrapper .gf_progressbar {
    display: none;
}
.anger-score-here .ginput_container:before,
.stress-score-here .ginput_container:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.09);
}

.anger-score-here .gfield_description,
.stress-score-here .gfield_description{
    display: none !important;
}

/*COMMENT THIS OUT FOR NOW. THIS WILL CONVERT RADIO BUTTONS TO CHECKBOX. JUST NEED TO ADD THE "fake-checkbox" class*/
/*
.gform_wrapper .fake-checkbox input[type="radio"] {
    display: none;
}
.gform_wrapper .fake-checkbox label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}
.gform_wrapper .fake-checkbox label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #666;
    border-radius: 3px;
    background: #fff;
}
.gform_wrapper .fake-checkbox input[type="radio"]:checked + label::before {
    background: #c29a5a;
    border-color: #c29a5a;
}
.gform_wrapper .fake-checkbox input[type="radio"]:checked + label::after {
    content: "\2713"; 
    position: absolute;
    left: 3px;
    top: 2px;
    color: #fff;
    font-size: 18px;
}
*/






/* Hide arrows in number input (Chrome, Safari, Edge) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Hide arrows in number input (Firefox) */
input[type=number] {
  -moz-appearance: textfield;
}
.gform_page:not(:last-child) {
    margin-bottom: 20px;
}
#mepr-account-nav > .mepr-nav-item:not(.mepr-manage-accounts-dropdown) > a[href="/account/?action=tab0"],
#mepr-account-nav > .mepr-nav-item:not(.mepr-manage-accounts-dropdown) > a[href="/account/?action=tab1"],
#mepr-account-nav > .mepr-nav-item:not(.mepr-manage-accounts-dropdown) > a[href="/account/?action=tab2"],
#mepr-account-nav > .mepr-nav-item:not(.mepr-manage-accounts-dropdown) > a[href="/account/?action=tab7"] {
    display: none !important;
}
.form-adding-client select {
    max-width: 100px;
}
.view-courses-btn{
    -webkit-appearance: button;
    border: 1px solid;
    border-color: #fff;
    background: #06429e;
    color: #fff;
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    transition: color .15s 
ease-in-out, background-color .15s 
ease-in-out, border-color .15s 
ease-in-out, box-shadow .15s 
ease-in-out;
    background-color: #C29A5A;
    color: #ffffff !important;
    text-transform: none;
}
.form-adding-client > input[name="client_fname"],
.form-adding-client > input[name="client_lname"] {
    max-width: 500px;
    flex: 1;
}
.mepr-subscriptions-wrapper-order-history > h4{
    display: none;
}
body .gform_wrapper.gravity-theme .gfield textarea.large {
    height: auto;
    min-height: 40px;
}
span.mepr-nav-item.mepr-manage-accounts-dropdown {
    color: rgba(255,255,255,0.7);
}
.mpcs-sidebar-wrapper figure, .mpcs-sidebar-wrapper figure img {
    width: 100%;
}
div.step {
    min-height: 1px !important;
}
div.step:not(.ays-filled-required-qestions) {
    padding-top: 20px;
}

div.step:not(:nth-last-of-type(2)) .ays-abs-fs:not(.ays-start-page) .ays_buttons_div {
    display: none !important;
}
.mpcs-sidebar-wrapper figure img {
    max-height: 100% !important;
}
.mp-order-bump-message {
    border: 1px solid red;
    padding: 10px;
    margin-bottom: 20px;
    color: red;
    font-weight: bold;
    margin-top: 30px;
}

/* 2026-08-07 (Craig, roles-vs-slots v2): Bright's legacy body-class hide rule REMOVED. It
   display:none'd the whole Clients/Staff dropdown for anyone whose ONLY role was trainer — the
   invisible hand behind the "yoyo" (server sent the nav, this CSS hid it; adding any second role
   made it reappear). Nav visibility is decided SERVER-SIDE now (psych-extend renderer + theme
   nav.php); never re-add body-role CSS gating here. */
.sub-account-manage-list a:before {
    display: none;
}
#mepr-account-nav .mepr-manage-accounts-dropdown .mepr-nav-item.--active a, #mepr-account-nav .mepr-manage-accounts-dropdown .mepr-nav-item.mepr-active-nav-tab a {
    background: rgba(0, 0, 0, .3);
}
.sub-account-manage-list a {
    padding-left: 45px !important;
} 
.mepr-manage-accounts-dropdown > span{
	padding: 10px 14px 10px 10px !important;
	display: block;
}
.mepr-manage-accounts-dropdown > span:hover{
	color: #fff;
}
.mepr-manage-accounts-dropdown > span.mepr-active-nav-tab{
	background: rgba(0, 0, 0, .5);
    color: #fff;
    font-weight: 400;
}
.mepr-manage-accounts-dropdown > span::before {
    position: relative;
    font-family: icomoon !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: 1.3rem;
    margin-right: 10px;
    vertical-align: middle;
    text-align: center;
    width: 1.25em;
    content: "\e905";
}
a.mepr-account-row-action.mepr-account-manage-sub-accounts {
    display: none;
}

.mepr-order-bump:before {
    content: 'Psychometric Analytics (Data Storage) securely stores client demographic and assessment data, with optional statistical summaries and psychometric analytics available upon request for an additional fee. This service is ideal for evaluators and agencies looking to organize and preserve assessment data securely, with the option to request detailed insights as needed.';
    display: block;
    margin-bottom: 20px;
}
#editPostForm em {
    margin-top: -10px;
    display: block;
    font-size: .8em;
    margin-bottom: 10px;
}
.close[data-dismiss="modal"] {
    color: black;
    padding-top: 7px !important;
    padding-bottom: 0 !important;
    font-size: 30px;
}
.modal.trainer-edit-modal{
    padding-left: 15px;
}
.modal.trainer-edit-modal .modal-dialog,
.modal.trainer-edit-modal .modal-dialog .modal-content{
    max-width: none;
    margin-top: 1%;
}


.flashcards-list-container{
/*
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
    perspective: 1000px;
*/
}


.flashcard-list-dynamic svg{
    display: none !important;
}

.flashcards-list-container{
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Adjust columns based on needs */
    gap: 30px;
    margin: 0 auto;
    
    
    display: flex;
    flex-wrap: wrap;
    gap: unset;
    margin: 0 -10px;
}

.flashcard-top-navigations-wrapper {
    max-width: 1312px;
    margin: auto;
}

.flashcards-list-container .flashcard-item{
    padding: 10px;
    flex: 0 0 12.5%;
    width: 12.5%;
    transition: all 0.3s ease;
}
body.scrolled:not(.playing-area) .flashcards-list-container{
    margin: 0 -5px;
}
body.scrolled:not(.playing-area) .flashcards-list-container .flashcard-item{
    flex: 0 0 16.66%;
    width: 16.66%;
    padding: 5px;
}

body.playing-area .flashcards-list-container{
    margin: 0 -12px;
}
body.playing-area .flashcards-list-container .flashcard-item{
    flex: 0 0 25%;
    width: 25%;
    padding: 12px;
}

body.playing-area .flashcards-filtering-instruction-container,
body.playing-area .flashcards-filtered-header-{
    display: none !important;
}

body.playing-area .flashcard-top-navigations {
     position: unset !important;
}


.flashcards-term-wrapper {
    border-radius: 16px;
    background-color: #F4F3EE;
    padding: 32px;
    padding-top: 0;
    position: relative;
}

.all-flashcards-terms-container {
    margin-bottom: 50px;
    position: relative;
}
.flashcards-list-container:has(.flashcards-placeholder:not(.active)) {
    padding: 14px;
    border: 1px dashed #8A817C;
    border-radius: 16px;
    background-color: #ECEAE8;
}
.flashcard-list-dynamic {
    background-color: #fff;
    border-radius: 16px;
    padding: 24px;
/*
    display: flex;
    flex-wrap: nowrap;
*/
    overflow-x: auto;
    gap: 30px;
    margin: 0 auto;
/*    margin-top: 20px;*/
    
    display: grid;
    grid-template-columns: repeat(6, 1fr);
}

.flashcards-list-toggle {
    cursor: pointer;
    padding-top: 32px;
    position: sticky;
    top: 270px;
    z-index: 8;
    background-color: #f4f3ee;
    bottom: 0;
}

.flashcards-list-toggle h4 {
    color: #8A817C;
    font-family: 'Poppins';
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 0;
    letter-spacing: -.5px;
}
.flashcards-list-toggle:hover h4,
.flashcards-list-toggle.active h4{
    color: #463F3A;
}
.flashcards-list-toggle.active {
    padding-bottom: 32px;
}


.flashcard-list-dynamic .flashcard-item {
    flex: 0 0 240px;
}
.flashcard-legal-all-items {
    transition: all 0.3s ease;
}
.flashcard-item {
    text-align: center;
    color: white;
}
.flashcard-top-navigations {
    padding-bottom: 50px;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 99;
    background-color: #fff;
}
body.scrolled:not(.playing-area) .flashcard-top-navigations {
    box-shadow: 0px 10px 40px 0px #655B541A;
    padding-bottom: 30px;
}
.flashcard-item:focus,
.flashcard-item:active{
    cursor: move;
}
.flashcards-filtered-header- h2 {
    font-weight: 500;
    font-size: 32px;
    font-family: 'Poppins';
    color: #463F3A;
    margin-bottom: 30px;
}
.ui-sortable-placeholder {
    border: 2px dashed #8A817C !important;
    background-color: #ECEAE8 !important;
    height: 80px; /* Match the item height */
    width: 100%;
    min-width: 200px;
    z-index: 2;
}
/*

.flashcard-item{
    width: 25%;
    padding: 20px;
    float: left;
}
*/

.flashcard-item-inner{
    position: relative;
/*    height: 100%;*/
}
.flashcard-item-front{
    position: relative;
    z-index: 2;
    transition: .5s ease;
}
.flashcard-item-back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    opacity: 0;
    transition: .5s ease;
}

.flashcards-state-highlight{
    width: 25%;
}

.flashcard-item-inner.flipped .flashcard-item-back{
    opacity: 1;
}

.flashcard-item-front img,
.flashcard-item-back img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.client-excel-data {
    position: relative;
}

.mepr-checkout-container .invoice-wrapper .mp-cart-item-image {
    flex: 0 0 60px;
}

.mepr-checkout-container .invoice-wrapper .mp-cart-item-image img {
    width: 100%;
}

.field-wrapper{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
.client-demographics-item{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}
.tab-wrapper table tbody tr:not([class^="lessonplantype-"]):first-child td {
    padding-top: 0;
}

.tab-wrapper table tbody tr:first-child td input,
.tab-wrapper table tbody tr:first-child td select,
.tab-wrapper table tbody tr:first-child td textarea{
    margin-top: 0;
}
.excel-data{
    /*
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-columns: 70% 30%;
    gap: 15px;
    */
}
.product-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 30px;
    justify-content: center;
}



.product-option-item-wrapper {
/*    text-align: center;
    border-radius: 16px;
/*
    border: 1px solid rgba(0,0,0,0.1);
    border-top: 7px solid black;
*/
    padding: 25px 15px 0;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.product-options-container {
    margin-top: 50px;
}

.product-option-item {
    cursor: pointer;
    border-radius: 16px;
    background: white;
    overflow: hidden;
}

.product-option-item-subfooter{
    margin-bottom: 20px;
    color: #C29A5A;
    font-size: 14px;
    font-weight: 500;
}
.product-option-item-footer-wrapper{
    margin-top: auto;
}
.product-option-item-footer {
    background-color: #C29A5A;
    padding: 15px 0;
    margin-left: -15px;
    text-align: center;
    margin-right: -15px;
    color: #fff;
}
.flashcard-item > p {
    color: #463F3A;
    font-size: 12px;
    font-weight: 500;
    margin: 10px 0 0;
/*    padding: 0 20px;*/
}
.products-filters{
    display: none;
}

.product-option-item:hover .product-option-item-wrapper {
    background-color: rgba(0,0,0,0.1);
}

.product-option-item:not(.active):hover {
    box-shadow: 0 2px 4px rgba(21,0,0,.25)
}

.product-option-item:hover .product-option-item-footer,
.product-option-item.active .product-option-item-footer{
    background: #C29A5A;
}

.product-option-item-header p {
    font-size: 18px;
    font-weight: 500;
}

.product-option-item-description, .product-option-item-description p {
    font-size: 14px;
    font-weight: 400 !important;
    color: #8A817C;
}

.product-option-item.active.active .product-option-item-header p{
    color: #fff;
}

.product-option-item.active .product-option-item-description,
.product-option-item.active .product-option-item-description p{
    color: #ECEAE8;
}

.product-option-item.active .product-option-item-wrapper {
    background-color: #463F3A !important;
}


.products-filter-container {
    display: grid;
    grid-template-columns: 100%;
    margin-top: 50px;
    padding: 0;
}


.products-available-item-wrapper {
    display: grid;
    grid-template-columns: 30% 70%;
    
}

.products-available-item-details h3 {
    font-size: 22px;
    font-weight: 400;
}

.products-available-item-details img{
    border-radius: 16px;
}

.products-available-item {
    padding: 40px 30px 40px;
    border-radius: 24px;
/*    box-shadow: 0 2px 4px rgba(21,0,0,.25);*/
    background-color: #fff;
}

.products-available-item:not(:last-child) {
    margin-bottom: 25px;
}

.products-available-header {
    margin-bottom: 30px;
    
    display: none;
}

.add-cart-form-qty {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.add-cart-form-price {
    color: #C29A5A;
    font-weight: 600;
    font-size: 24px;
    font-size: 18px;
}
.add-cart-form-qty-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 16px;
}

.add-cart-form-qty-picker input {
    width: 94px;
    text-align: left;
    padding: 10px 14px !important;
    border-color: #ECEAE8;
}
.products-available-item-addcart .product-title {
    color: #463F3A;
    font-size: 32px;
    font-weight: 600;
}

.products-available-item-addcart .product-title + p {
    color: #8A817C;
    font-size: 14px;
}

.products-available-item-addcart > div ul {
    padding-left: 20px;
    margin-top: 15px;
}

.add-cart-form .add-cart-form-detail-wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    align-items: center;
}
.add-cart-form button {
    display: inline-block;
    line-height: 1;
    font-size: 16px;
    padding: 15px 24px;
    border-radius: 3px;
    fill: #fff;
    color: #fff;
    text-align: center;
    transition: all .3s;
    width: 100%;
    min-width: 180px;
    text-align: center;
    font-family: "Poppins", Sans-serif;
    font-weight: 400;
    background-color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
}

.add-cart-form button:hover {
    background-color: #000;
    border-color: #000;
    color: #fff;
}

.products-available-item-details{
    padding-right: 30px;
}


.flashcard-item .rotate {
    display: block;
    text-align: right;
    margin-left: auto;
    margin-bottom: 10px;
    position: relative;
    left: 10px;
    cursor: pointer;
}

.flashcard-item-inner.flipped .flashcard-item-front {
    opacity: 0;
}


.flashcards-filtering-container {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 30px;
}

.category-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}


.category-list > div {
    position: relative;
}

.category-list input {
    position: absolute;
    visibility: hidden;
    pointer-events: none;
}

.category-list input:checked + label, .category-list label:hover {
    border-color: green;
}

.category-list  label {
    cursor: pointer;
    border: 4px solid transparent;
}


.selected-flashcards-cart {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    background: #fff;
    height: 100vh;
    z-index: 999;
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.1);
    transition: all .3s ease;
}

body.admin-bar .selected-flashcards-cart {
    top: 32px !important;
    height: calc(100vh - 32px);
}

.selected-flashcards-cart-wrapper {
    padding: 30px 20px;
}

.selected-flashcards-cart .selected-cards-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 30px 20px;
    border-top: 1px solid rgba(0,0,0,0.2));
    width: 100%;
}

.selected-flashcards-cart-wrapper h2 {
    font-size: 24px;
}


.selected-flashcards-cart:not(.active){
    transform: translateX(100%);
}
div#selected-cards-here {
    max-height: calc(100vh - 200px);
    overflow: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 30px;
}

div#selected-cards-here::-webkit-scrollbar,
.selected-error:not(.active){
    display: none;
}

div#selected-cards-here .selected-item {
    font-size: 12px;
}

div#selected-cards-here .selected-item img {
    margin-bottom: 5px;
}

.flashcards-filtering-instruction-container .flashcards-filtering-instructions img {
    max-width: 350px;
}

.flashcards-filtering-instruction-container .flashcards-filtering-instructions > div > div {
    display: flex;
    gap: 20px;
    padding-bottom: 30px;
    justify-content: center;
}
.flashcards-list-container .flashcard-item > p {
    display: none !important;
}
.flashcards-filtered-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.flashcards-filtered-header p {
    margin-bottom: 0;
}
span.flashcard-legal-showall {
    color: #C29A5A;
    font-size: 16px;
    font-weight: 500;
    margin-left: 25px;
    transform: translateY(-3px);
    display: inline-block;
    cursor: pointer;
}
.flashcards-placeholder {
    color: #463F3A;
    justify-content: center;
    display: flex;
    border: 1px dashed #8A817C;
    min-height: 120px;
    padding: 10px;
    position: relative;
    grid-column: 1 / -1;
    border-radius: 20px;
    align-items: center;
    background-color: #ECEAE8;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -1px;
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.all-flashcards-container h2.h1 {
    font-size: 24px;
    font-weight: 600;
    font-family: 'Poppins';
    color: #463F3A;
    margin-bottom: 0;
    letter-spacing: -1px;
}

.pagination-wrapper ul {
    list-style: none;
    display: flex;
    justify-content: flex-start;
    padding: 0;
    margin: 20px 0 0;
}

.pagination-wrapper ul li {
    margin: 0 5px;
}

.pagination-wrapper ul li a,
.pagination-wrapper ul li span {
    padding: 5px 10px;
    border: 1px solid #ddd;
    text-decoration: none;
}

.pagination-wrapper ul li .current {
    background: #0073aa;
    color: #fff;
    font-weight: bold;
    pointer-events: none;
}
li:has(.page-numbers.prev), li:has(.page-numbers.next) {
    display: inline-block;
}

li:has(.page-numbers) {
    display: none;
}


[readonly]{
    pointer-events: none !important;
}

.products-filter-item-toggle {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
}

.products-filter-item-toggle svg {
    width: 15px;
    transition: all 0.3s ease;
    transform: rotate(0deg);
}

.products-filter-item:not(.active) svg{
    transform: rotate(180deg);
}
.products-filter-items-wrapper {
    padding: 20px;
}

.products-filter-item-option:not(:last-child) {
    margin-bottom: 10px;
}

.products-filter-item-option label {
    margin: 0;
    display: flex;
    gap: 12px;
}

.products-filter-item-option label input {
    width: 16px;
    height: 16px;
}

.gfield.invalid-input {
    position: relative;
}

.gfield.invalid-input .gfield_label {
    position: relative;
    margin-bottom: 20px;
}

.gfield.invalid-input .gfield_label:after {
    content: 'Error: Invalid value';
    color: red;
    position: absolute;
    bottom: -20px;
    left: 0;
}
.gform_fields fieldset.gfield--type-choice:not(.nofast-input) legend {
    max-width: calc(100% - 50px);
}
.gfield.invalid-input.skipped .gfield_label:after {
    content: 'Skipped';
    color: green;
}
.gfield.invalid-input.irrational .gfield_label:after {
    content: 'Irrational/Delusional Response';
    color: green;
}
.gfield.invalid-input.dontknow .gfield_label:after {
    content: "Don't Know Response";
    color: green;
}
.gfield.invalid-input.noresponse .gfield_label:after {
    content: 'No Response';
    color: green;
}

.gfield.invalid-input.minmaxvalidation .gfield_label:after {
    content: attr(data-minmax-text);
}

.product_options-section-header {
    font-size: 48px;
    font-weight: 400 !important;
}









.additional-product-information-wrapper {
    display: flex;
    gap: 35px;
    align-items: flex-start;
    position: relative;
}

.additional-product-information-toggles {
    width: 421px;
    flex: 0 0 421px;
    border-radius: 16px;
    background: #fff;
    padding: 24px;
}

@media (min-width: 1025px){
    .additional-product-information-toggles{
        position: sticky;
        top: 160px;
    }
}

.additional-product-information-toggles ul {
    list-style: none;
    padding: 0;
}

.additional-product-information-toggles button {
    display: block;
    width: 100%;
    text-align: left;
    border-radius: 8px;
    border: 0 !important;
    padding: 12px 16px;
    color: #463F3A !important;
    font-size: 18px;
    font-weight: 500;
    box-shadow: none !important;
    outline: 0 !important;
}

.additional-product-information-toggles button:hover,
.additional-product-information-toggles button:focus,
.additional-product-information-toggles button:active,
.additional-product-information-toggles .active button {
    background-color: #ECEAE8 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

p.additional-product-information-toggles-heading {
    color: #8A817C;
    font-size: 20px;
}

.additional-product-information-contents > div:not(.active) {
    display: none;
}

.additional-product-information-content h3 {
    font-family: 'Poppins';
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 15px;
}

.additional-product-information-content ul {
    padding-left: 20px;
}

.additional-product-information-content h3:not(:first-of-type) {
    margin-top: 30px;
}

.product-available-item-included-details {
    background-color: #F4F3EE;
    border-radius: 16px;
    padding: 32px;
    margin-top: 40px;
}

.product-available-item-included-details-toggle {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    font-size: 20px;
    font-weight: 600;
}
.product-available-item-included-details-content{
    padding-top: 15px;
}
.product-available-item-included-details-toggle svg {
    transition: all 0.3s ease;
}

.product-available-item-included-details-toggle:not(.active) svg {
    transform: rotate(180deg);
}
.product-available-item-included-details-content-item {
    border-radius: 16px;
    padding: 24px;
    background: #fff;
}

.product-available-item-included-details-content-item:not(:last-child) {
    margin-bottom: 15px;
}

.product-available-item-included-details-content-item ul:last-of-type {
    margin-bottom: 0;
}

.product-available-item-included-details-content-item ul li:not(:last-child){
    margin-bottom: 10px;
}

.product-available-item-included-details-toggle *{
    pointer-events: none;
}
.product-available-item-included-details-content-item{
    font-size: 16px;
}
.product-available-item-included-details-content-item p b {
    font-size: 18px;
}
.additional-product-information-toggles ul {
    margin-bottom: 0;
}

select#additional-product-information-toggles-select {
    border-color: #ECEAE8;
    box-shadow: 0px 1px 2px 0px #1018280D;
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 14px;
    color: #463F3A;
}

.additional-product-information-content-item {
    border-radius: 16px;
    padding: 24px;
    background: #fff;
    margin-bottom: 15px;
}
.additional-product-information-content-item ul:last-of-type {
    margin-bottom: 0;
}

.additional-product-information-content-item table * {
    border: 0;
    background: transparent !important;
    padding: 0;
}

.additional-product-information-content-item table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 0;
}

.additional-product-information-content-item table td {
    width: auto;
    padding: 5px 0;
}
.add-cart-form-price > .amount {
    display: block;
}
.subscriber-price-wrapper {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
    text-align: center;
    background-color: #ECEAE8;
    padding: 5px 30px;
    font-family: 'Inter', sans-serif;
    margin-top: 10px;
    display: inline-block;
}
.add-cart-form-price span.woocommerce-Price-currencySymbol {
    margin-right: 7px;
}
.additional-product-information-content-item.has-checkmark,
.additional-product-information-content-item.has-numbering{
    position: relative;
    padding-left: 70px;
}

.additional-product-information-content-item.has-checkmark svg {
    position: absolute;
    top: 20px;
    left: 20px;
}
.selectdropdown {
    box-shadow: 0px 1px 2px 0px #1018280D;
    border: 1px solid #ECEAE8;
    padding: 10px 14px;
    border-radius: 4px;
    color: #463F3A;
    font-size: 14px;
}
span.additional-product-information-content-item-counter {
    position: absolute;
    left: 20px;
    top: 20px;
    width: 32px;
    height: 32px;
    display: inline-block;
    text-align: center;
    border-radius: 50%;
    background-color: #463F3A;
    line-height: 32px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}

.additional-product-information-content-item > div p:last-of-type,
.additional-product-information-content-item p:last-of-type:not(:first-child){
    margin-bottom: 0;
}
.phase-completion-credit-item,
.total-program-completion-credit-item,
.goal-progress-indicator-gpi-item,
.time-seenphase-completion-credit-item{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.weekly-hour--session-statistics-based-on-date-filters-item,
.lesson-plans-completed-item{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
.feature-subscribe-save-wrapper {
    background-color: #463F3A;
    border-radius: 16px;
    padding: 40px 64px;
    color: #fff;
    margin-top: 20px;
}

.feature-subscribe-save-wrapper h2 {
    color: #fff;
    font-weight: 400;
    letter-spacing: 0;
}

.feature-subscribe-save-wrapper p b {
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 500;
}

.feature-subscribe-save-wrapper p:not(:has(b)):not(:has(a)) {
    opacity: .8;
}

.feature-subscribe-save-wrapper p {
    letter-spacing: 0;
}

.feature-subscribe-save-wrapper p:last-of-type {
    margin-bottom: 0;
}

a.subscribe-now-btn {
    display: inline-block;
    line-height: 40px;
    background-color: #AC9B80;
    border-radius: 4px;
    padding: 0 12px;
    margin-top: 20px;
    color: #fff !important;
    text-decoration: none !important;
}
.subscriber-price-wrapper del,
.add-cart-form-price del{
    display: none;
}

.subscriber-price-wrapper ins,
.add-cart-form-price ins{
    text-decoration: none;
}

#cartConfirmation .modal-header h3,
#cartConfirmation .modal-body h5 {
    letter-spacing: 0;
}

#cartConfirmation .modal-footer {
    justify-content: flex-start;
    gap: 20px;
}

#cartConfirmation .modal-footer a:not(.close) {
    display: inline-block;
    line-height: 1;
    font-size: 16px;
    padding: 15px 24px;
    border-radius: 3px;
    fill: #fff;
    color: #fff;
    text-align: center;
    transition: all .3s;
    text-align: center;
    font-family: poppins, Sans-serif;
    font-weight: 400;
    background-color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
    text-decoration: none !important;
}

#cartConfirmation .modal-footer .close {
    font-size: 16px;
    text-decoration: underline;
    font-weight: 400;
color: #000;
opacity: 1;
}
#cartConfirmation .modal-body p:nth-child(2) {
    display: flex;
    justify-content: space-between;
}
#cartConfirmation .modal-body p:nth-child(2) > span:last-child{
    font-weight: 500;
}

#cartConfirmation .modal-body p {
    margin-bottom: 5px;
}
/* 2026-10-01 (Andrea): Added-to-cart popup - the full price struck through for a subscribing evaluator, and the
   Subscribing Evaluator Price line for everyone else. */
#cartConfirmation .modal-body .pw-atc-price del {
    color: #8a8580;
    font-weight: 400;
    margin-right: 6px;
}
#cartConfirmation .modal-body .pw-atc-price ins {
    text-decoration: none;
    background: none;
}
/* 2026-10-02 (Andrea): NOT a second price row — a note about a price they could have. Set
   apart from the Unit Price / Qty block by a rule and smaller type, so the popup shows exactly
   one amount being charged. */
#cartConfirmation .modal-body p.pw-atc-sub {
    display: block;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #ECEAE8;
    font-size: 13px;
    line-height: 1.45;
    color: #846335;
}
#cartConfirmation .modal-body p.pw-atc-sub strong {
    font-weight: 600;
    white-space: nowrap;
}

#cartConfirmation .modal-body,
#cartConfirmation .modal-footer,
#cartConfirmation .modal-header {
    border: none !important;
    padding-top: 10px;
}
#flashcard-collapse, #flashcard-filtered-reset {
    background-color: #F4F3EE;
    border-radius: 4px;
    border: 1px solid #ECEAE8;
    padding: 0 20px;
    line-height: 48px;
    height: auto;
    color: #463F3A;
}

#flashcard-collapse svg, #flashcard-filtered-reset svg {
    margin-right: 5px;
    transform: translateY(4px);
}

#flashcard-filtered-reset {
    margin-left: 15px;
}
#goto-dashboard {
    color: #463F3A;
}

#goto-dashboard svg {
    margin-right: 5px;
    transform: translateY(1px);
}
.products-available-item-container:last-child .additional-product-information-main-container {
    margin-bottom: 0;
}






/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5); /* Black background with transparency */
}

/* Modal Content */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
}

/* Close Button */
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
}
input.ays_next.start_button.action-button.ays-quiz-keyboard-active, #ays-quiz-container-50 #ays_finish_quiz_50 input.action-button{
    background-color: #c29a5a !important;
    border-color:#c29a5a;
}
#ays-quiz-container-50 #ays_finish_quiz_50 .action-button:hover{
    background-color: #c29a5a !important;
}







.e-flex > .e-con-inner {
    max-width: 1312px;
    margin: auto;
}
.products-available-item-main-wrapper,
.additional-product-information-main-wrapper{
    max-width: 1312px;
    margin: auto;
}
.products-available-item-container:not(:last-child) {
    padding-bottom: 40px;
}

.additional-product-information-main-container {
    background-color: #ECEAE8;
    --display: flex;
    padding-top: 100px;
    padding-bottom: 100px;
}

.flashcards-filtering-instruction-container .flashcards-filtering-instructions img {
    max-width: 288px;
    border-radius: 16px;
}

.graphbar-wrapper {
    height: 46px;
    margin-top: 10px;
    /*background-color: #f1f1f1;*/
    background-color: rgba(0, 0, 0, 0.1);
    position: relative;
}
div[id^="goal_progress_indicator-wrap"] {
    position: relative;
    padding-top: 24px;
}

div[id^="goal_progress_indicator-wrap"] label {
    transform: translateX(50%);
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
    white-space: nowrap;
    width: auto !important;
}
.graphbar-wrapper span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.graphbar-wrapper > div {
    height: 100%;
    display: block;
}


.instruction-card h4 {
    text-align: center;
    font-size: 18px;
    margin-bottom: 30px;
    margin-top: 0;
}

.instruction-card {
    max-width: 450px;
    border: 20px solid #AC9B81;
    border-radius: 20px;
    padding: 15px;
    flex: 1;
}

.instruction-card p {
    font-size: 13px;
}

.instruction-card p:last-child {
    margin-bottom: 0;
}
.instruction-card-colors{
    margin-top: 15px;
}
.instruction-card table td,
.instruction-card table th{
    color: #fff;
    padding: 4px 5px;
    border: none;
}
.instruction-card table th{
    font-weight: 400;
    border-bottom: 8px solid #ECB010;
}
.instruction-card table thead th,
.instruction-card table tbody tr:first-child td {
    background-color: #3F8D1A !important;
}
.instruction-card table tbody td:first-child{
    text-align: center;
}

.instruction-card table tbody tr:nth-child(2) td {
    background-color: #031691 !important;
}

.instruction-card table tbody tr:nth-child(3) td {
    background-color: #B4B4B4 !important;
}

.instruction-card table tbody tr:nth-child(4) td {
    background-color: #8D0002 !important;
}
.instruction-card table tbody tr:nth-child(5) td {
    background-color: #464646 !important;
}


.instruction-card table tbody tr:nth-child(6) td {
    background-color: #998575 !important;
}
.instruction-card table tbody tr:nth-child(7) td {
    background-color: #EFB014 !important;
}
.instruction-card table tbody tr:nth-child(8) td {
    background-color: #EE7F30 !important;
}


.gform_fields fieldset {
    position: relative;
}

.gfield:not(.active-field) input.score-input-field {
/*    display: none;*/
}

input.score-input-field{
    position: absolute;
    top: -30px;
    bottom: unset;
    right: 0;
    left: unset;
    width: 50px;
    transform: unset;
    display: block;
}

/* When auto-advance lands on a score box that already holds a number, that number is
   selected so the next digit overwrites it. The browser's default selection blue
   clashes with the Psychwest palette, so tint it with the brand tan (#c29a5a) and keep
   the digit dark for contrast. Scoped to the score boxes only -- selection elsewhere
   on the form, including the Response lines, is left alone. */
input.score-input-field::selection {
    background: #e6d5b8;
    color: #3d3630;
}

input.score-input-field::-moz-selection {
    background: #e6d5b8;
    color: #3d3630;
}

/* AMA/SMA raw-score items are auto-filled only (lockSupplementalScoreFields() sets them
   readonly). Strip the number spinners so the value can't be nudged with the mouse or
   arrow keys, and show a locked cursor so it reads as deliberate rather than broken. */
.anger-score-here input,
.stress-score-here input {
    cursor: not-allowed;
    -moz-appearance: textfield;
    appearance: textfield;
}

.anger-score-here input::-webkit-outer-spin-button,
.anger-score-here input::-webkit-inner-spin-button,
.stress-score-here input::-webkit-outer-spin-button,
.stress-score-here input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Themed replacement for the layout dropdown (built by pwThemeLayoutSelect). A native
   <select>'s open option list is drawn by the OS, so its blue highlight can't be styled;
   this renders the list as real DOM so it can carry the Psychwest palette. The real
   <select> stays in the DOM, hidden, because the scoring engine reads and triggers it. */
.pw-select {
    position: relative;
    width: 100%;
}

.pw-select__native {
    display: none !important;
}

.pw-select__toggle {
    width: 100%;
    text-align: left;
    background: #ffffff;
    border: 1px solid #c8c2b8;
    border-radius: 3px;
    padding: 10px 34px 10px 12px;
    font: inherit;
    color: #3d3630;
    cursor: pointer;
    line-height: 1.3;
}

/* The red ring on hover/click is the site-wide focus outline (outline-color:#CC3366),
   which carries !important -- it is an OUTLINE, not a background or text colour, so it
   has to be pinned as one. Mouse interaction gets no ring; keyboard focus keeps a brand
   ring below so this stays accessible. Same approach as psychwest-mcat-carousel.php. */
.pw-select__toggle:hover,
.pw-select__toggle:active,
.pw-select__toggle:focus,
.pw-restore__yes:hover,
.pw-restore__yes:active,
.pw-restore__yes:focus,
.pw-restore__no:hover,
.pw-restore__no:active,
.pw-restore__no:focus {
    outline: none !important;
    box-shadow: none;
}

.pw-select__toggle:focus-visible {
    outline: 2px solid #c29a5a !important;
    outline-offset: 2px;
}

.pw-restore__yes:focus-visible,
.pw-restore__no:focus-visible {
    outline: 2px solid #463f3a !important;
    outline-offset: 2px;
}

.pw-select__toggle,
.pw-select__toggle:focus {
    background: #ffffff !important;
    color: #3d3630 !important;
}

.pw-select__toggle:hover,
.pw-select__toggle:active,
.pw-select.is-open .pw-select__toggle {
    border-color: #c29a5a !important;
    background: #ffffff !important;
    color: #3d3630 !important;
}

/* caret */
.pw-select__toggle::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 0;
    height: 0;
    margin-top: -2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #a98144;
    pointer-events: none;
}

.pw-select__menu {
    display: none;
    position: absolute;
    z-index: 100;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid #c8c2b8;
    border-radius: 3px;
    box-shadow: 0 6px 18px rgba(70, 63, 58, 0.16);
}

.pw-select.is-open .pw-select__menu {
    display: block;
}

.pw-select__option {
    margin: 0;
    padding: 9px 12px;
    cursor: pointer;
    color: #3d3630;
    line-height: 1.3;
}

.pw-select__option:hover {
    background: #f0e6d6;
    color: #3d3630;
}

.pw-select__option.is-selected {
    background: #e6d5b8;
    color: #3d3630;
    font-weight: 600;
}

/* "Save & Continue" sits beside Gravity Forms' own Save & Exit link. Backgrounds and
   colours pinned with !important on every state -- a bare button:hover/:focus rule in the
   theme out-specifies a lone class and would paint this pink. */
.pw-save-continue svg {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 6px;
    vertical-align: -0.125em;
    fill: currentColor;
}

.pw-save-continue,
.pw-save-continue:focus {
    padding: 10px 20px;
    margin-right: 8px;
    border-radius: 3px;
    border: 1px solid #c29a5a !important;
    background: #ffffff !important;
    color: #6a5433 !important;
    font: inherit;
    cursor: pointer;
    outline: none !important;
}

.pw-save-continue:hover,
.pw-save-continue:active {
    background: #c29a5a !important;
    color: #ffffff !important;
    border-color: #c29a5a !important;
}

.pw-save-continue:focus-visible {
    outline: 2px solid #463f3a !important;
    outline-offset: 2px;
}

/* Autosave status pill. Bottom-right and fixed so it stays visible while scrolling a
   200-item form, and clear of the fixed 88px site header. */
.pw-autosave {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 98;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 13px;
    line-height: 1;
    background: #f4f3ee;
    color: #6b6259;
    border: 1px solid #ddd5c8;
    box-shadow: 0 2px 8px rgba(70, 63, 58, 0.12);
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.pw-autosave.is-saving {
    color: #8a8078;
}

.pw-autosave.is-saved {
    background: #efe6d6;
    border-color: #d8c6a6;
    color: #6a5433;
}

.pw-autosave.is-error {
    background: #fdeceb;
    border-color: #e3b7b3;
    color: #a1392f;
}

/* Restore-your-work banner, shown above the form when a local draft is found. */
.pw-restore {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
    padding: 14px 16px;
    background: #faf6ee;
    border: 1px solid #d8c6a6;
    border-left: 4px solid #c29a5a;
    border-radius: 4px;
    color: #463f3a;
}

.pw-restore__text {
    flex: 1 1 280px;
    line-height: 1.45;
}

.pw-restore__actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

/* Backgrounds/colours pinned with !important and the states listed explicitly: a bare
   `button:hover` / `button:focus` rule in the theme is (0,1,1) and beats a lone class
   (0,1,0), which is what painted these the theme's pink. Resting state first. */
.pw-restore__yes,
.pw-restore__no {
    padding: 8px 18px;
    border-radius: 3px;
    border: 1px solid #c29a5a;
    font: inherit;
    cursor: pointer;
}

.pw-restore__yes,
.pw-restore__yes:focus {
    background: #c29a5a !important;
    color: #ffffff !important;
    border-color: #c29a5a !important;
}

.pw-restore__yes:hover,
.pw-restore__yes:active {
    background: #463f3a !important;
    border-color: #463f3a !important;
    color: #ffffff !important;
}

.pw-restore__no,
.pw-restore__no:focus {
    background: #ffffff !important;
    color: #6a5433 !important;
    border-color: #c29a5a !important;
}

.pw-restore__no:hover,
.pw-restore__no:active {
    background: #efe6d6 !important;
    color: #463f3a !important;
    border-color: #c29a5a !important;
}

#mpcs-main #bookmark a{
    color: #ffffff;
    padding-top: 0px;
}
.mpcs-classroom a{
    color: #000000;
}
a.btn.nav-back{
    padding:0px;
}
a.navbar-brand.site-branding span {
    color: #ffffff;
}
div#primary-sidebar{
    padding-left: 14px;
    display: none;
}
.ays-questions-container{
    background-color: #cdc3b466 !important;
    padding: 5px 20px !important;
    border: 1px solid #cdc3b4;
}
button#mpcs-classroom-next-lesson-link{
    padding: 4px 0px;
    font-size: 16px;
    background-color: #c29a5a !important;
}
.course-progress .user-progress{
    background-color: #c29a5a !important;
}
p.progress-text{
    color:#000000 !important;
}
#ays-quiz-container-50 {
    width: 100% !important;
    max-width: 1040x !important;
    margin-top: 20px;
}
p.tile-title.m-0 {
    font-size: 18px;
}
p.progress-text {
    font-size: 16px;
    font-weight: 600;
}
.slider-enabled .slick-track .puzzle-item {
    margin: 0 10px;
}

.slider-enabled .slick-list {
    margin: 0 -10px;
}

.slider-enabled {
    position: relative;
    padding-bottom: 50px;
}

.slider-enabled .slick-arrow {
    position: absolute;
    bottom: 0;
}

.slider-enabled .slick-arrow.slick-prev {
    left: 0;
}

.slider-enabled .slick-arrow.slick-next {
    left: 120px;
}

.client-excel-data-tab-headings {
    display: flex;
    align-items: center;
    margin-top: 40px;
    margin-bottom: -1px;
    position: sticky;
    top: 189px;
    z-index: 99;
    background: #fff;
}

.client-excel-data-tab-headings .tab-heading {
    padding: 15px;
    cursor: pointer;
}

.client-excel-data-tab-contents {
    border: 1px solid rgba(0,0,0,.2);
    padding-top: 25px;
    background-color: #e5e5e5;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 15px;
}
.client-excel-data-tab-headings .tab-heading{
    border: 1px solid rgba(0,0,0,0);
}
.client-excel-data-tab-headings .tab-heading.active {
    border-color: rgba(0,0,0,.2);
    border-bottom-color: #e5e5e5;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-color: #e5e5e5;
}
.client-excel-data-tab-contents .tab-wrapper:not(.active) {
    display: none;
}
.trainer-edit-modal .modal-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: #fff;
}
.client-modal-sticky {
    position: sticky;
    top: 71px;
    background: #fff;
    padding-bottom: 20px;
    padding-top: 20px;
    z-index: 9;
}

[id*="-tab-content-attendancelog"] h4 {
    position: sticky !important;
    top: 246px;
    z-index: 99;
}

[id*="-tab-content-attendancelog"] thead {
    position: sticky;
    top: 295px;
    background-color: #e5e5e5;
    z-index: 9;
}
select[name="group-phase[]"] {
    min-width: 130px;
}

.optional-subtracted td:not(:nth-child(6)) {
    pointer-events: none;
}
.lesson-plan-table:not(.active):not(.program-traditional_track) .lessonprogramtype-disabled:not(.modified-added):not([style*="display: none"]) {
    display: none !important;
}
.lesson-plan-table:not(.active) .optional-subtracted {
    display: none !important;
}
.modified-subtracted {
    display: none;
}

.modified-added {
    display: table-row;
}
.optional-subtracted, .optional-added:not(.optional-added-active) {
    opacity: 0.5;
}
.lesson-plan-table th label,
.general-table th label{
    position: relative;
    padding-right: 20px;
    cursor: pointer;
}
.lesson-plan-table th label::after,
.general-table th label::after{
    right: 0;
    top: 3px;
    position: absolute;
}
.lesson-plan-table th label::after,
.general-table th label::after{
  content: " ▼"; /* default neutral look */
  opacity: 0.3; /* make it lighter for unsorted */
  font-size: 0.8em;
}

.lesson-plan-table th.asc label::after,
.general-table th.asc label::after{
  content: " ▲";
  opacity: 1;
}

.lesson-plan-table th.desc label::after,
.general-table th.desc label::after{
  content: " ▼";
  opacity: 1;
}
.phase-1-item.message-group-wrapper thead label:after,
.phase-2-item.message-group-wrapper thead label:after,
.phase-3-item.message-group-wrapper thead label:after,
.phase-4-item.message-group-wrapper thead label:after,
.program-completion-date-item thead label:after,
.maintenance-item thead label:after{
    display: none;
}

/*
.lesson-plan-table tr.even {
  background-color: #dbefd3 !important;
}
.lesson-plan-table tr.odd {
  background-color: #b7dfa8 !important;
}
*/


/*[id^="lesson_plans-wrap-"] table th:nth-child(6),*/
[id^="lesson_plans-wrap-"] table th:nth-child(7),
[id^="lesson_plans-wrap-"] table th:nth-child(9),
[id^="lesson_plans-wrap-"] table th:nth-child(10),
[id^="lesson_plans-wrap-"] table th:nth-child(11),
[id^="lesson_plans-wrap-"] table th:nth-child(12),
[id^="lesson_plans-wrap-"] table th:nth-child(13),
[id^="lesson_plans-wrap-"] table th:nth-child(14),
/*[id^="lesson_plans-wrap-"] table td:nth-child(6),*/
[id^="lesson_plans-wrap-"] table td:nth-child(7),
[id^="lesson_plans-wrap-"] table td:nth-child(9),
[id^="lesson_plans-wrap-"] table td:nth-child(10),
[id^="lesson_plans-wrap-"] table td:nth-child(11),
[id^="lesson_plans-wrap-"] table td:nth-child(12),
[id^="lesson_plans-wrap-"] table td:nth-child(13),
[id^="lesson_plans-wrap-"] table td:nth-child(14){
    display: none;
}
[id^="lesson_plans-wrap-"] table th:nth-child(8),
[id^="lesson_plans-wrap-"] table td:nth-child(8){
    min-width: 500px;
}
 .client-excel-data table {
    margin-left: -.75rem;
    margin-right: -.75rem;
}
button.modified-fast-track-toggler.active:before {
    content: 'Hide ';
}

button.modified-fast-track-toggler:not(.active):before {
    content: 'Show ';
}

.duplicate-items td:last-child {
    display: flex;
    gap: 5px;
    align-items: center;
    padding-bottom: 0 !important;
    padding-top: 25px;
}
.tab-wrapper h4 {
    background: grey;
    margin-left: -30px;
    margin-right: -30px;
    padding: 10px 30px;
    color: #fff;
    position: relative;
}
@media (min-width: 1100px){
    .toggle-last-cell,
    .modified-fast-track-toggler,
    .copy-graph,
    .copy-graph2{
        position: absolute;
        right: 220px;
        top: 50%;
        transform: translateY(-50%);
    }
}
.average-number-of-lesson-plans-completed-weekly-item,
.average-number-of-lesson-plans-completed-monthly-item {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(4, 1fr);
}
.tab-wrapper h4 + h4 {
    margin-top: -.5rem !important;
}
h4.main-heading {
    background: #4B5A6A;
}
.lessonprogramtype-disabled td:nth-child(6){
    background: #4B5A6A !important;
}
.average-weekly-attendance-based-on-date-filters-item {
    display: grid
;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.global-loading-spinner:not(.active),
.global-loading-spinner-2:not(.active),
.global-loading-spinner-assessment:not(.active){
    display: none;
    pointer-events: none;
}

.global-loading-spinner, .global-loading-spinner-2, .global-loading-spinner-assessment {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999999;
    background: rgba(0,0,0,0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.global-loading-spinner .lds-roller div:after,
.global-loading-spinner-2 .lds-roller div:after,
.global-loading-spinner-assessment .lds-roller div:after{
    background: #fff;
}

#mepr-account-content .mepr-rl-footer-widgets{
    display: none !important;
}
.single-memberpressproduct .mp-form-row.mepr_custom_field.mepr_mepr_optin {
    display: none;
}
.woocommerce-cart .cart-collaterals .cart_totals table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table .order-total td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td{
    background: transparent !important;
}

.trainer-edit-modal .select2-container {
    margin-top: 0px;
    width: 100% !important;
    display: block;
}

.tab-wrapper:nth-child(4) h4 {
    position: sticky;
    top: 303px;
    z-index: 9999;
}
.tab-wrapper:nth-child(4) h4.custom-warning {
    top: 245px;
}
.attendance-item table tbody tr:first-child .select2-container {
    margin-top: 0;
}
.tab-wrapper:nth-child(4) table thead {
    position: sticky;
    top: 351px;
    z-index: 999;
    background-color: #e5e5e5;
}
.trainer-edit-modal .select2-container .select2-selection {
    padding: 8px 10px;
    display: block;
    height: auto;
    border-radius: 0;
    border-color: rgba(0,0,0,.2);
}
html .trainer-edit-modal-close-wrapper .close[data-dismiss=modal] {
    margin: 0 !important;
    float: none !important;
    line-height: 0;
    padding: 0 !important;
    background: transparent !important;
    height: auto !important;
}

.trainer-edit-modal-close-wrapper {
    display: flex;
    gap: 30px;
}
.trainer-edit-modal .select2-container .select2-selection .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
}
.tab-wrapper > div:not(:last-child) {margin-bottom: 15px;}

.tab-wrapper > div label {
    margin-bottom: 0;
    display: block;
}
.tab-wrapper > h4:first-child {
    margin-top: 0 !important;
}


.tab-wrapper > div input, .tab-wrapper > div select, .tab-wrapper > div textarea {
    margin-top: 10px;
}

.tab-wrapper > div em {
    font-size: 14px;
}


.\{phase\}-show-rate-item, .date-range-show-rate--item, .total-show-rate-item,
.progress--statsweekly-hour--session-statistics-based-on-date-filters-item,
.goal-chart-mcat-program-completion-item,
div#\31 0875-tab-content-clientdemographics.active{
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr;
}

.modal-title a {
    font-size: 12px;
    padding: 8px;
    border-radius: 4px;
    background-color: #C29A5A;
    color: #fff !important;
    display: inline-block;
    transform: translateY(-3px);
    margin-left: 20px;
    font-weight: 400 !important;
}



.custom-warning {
    background: #e5e5e5 !important;
    color: #000 !important;
}

.custom-warning span {
    display: inline-block;
    width: 100px;
}
.custom-warning {
    display: flex;
    justify-content: flex-end;
}
.custom-warning > div > div{
    display: flex;
    gap: 15px;
    font-size: 16px;
}

.custom-warning .c-warning span {
    background-color: #ffff99;
}

.custom-warning .c-alert span {
    background-color: #ff3300;
}

.custom-warning .c-monitor span {
    background-color: #D97B33;
}


/*
#mpca-add-sub-user-form[style="display: block;"] {
    display: flex !important;
    flex-wrap: wrap;
}

label.custom_user_role {
    order: 1;
}

#mpca-add-sub-user-form > *:not(.custom_user_role) {
    order: 2;
}
*/
#flashcard-collapse *, #flashcard-filtered-reset * {
    pointer-events: none;
}

@media (min-width: 1025px){
    .mobile-only{
        display: none !important;
    }
}

@media (max-width: 1024px){
    .desktop-only{
        display: none !important;
    }
    .mobile-only {
        display: block !important;
    }
    .subscriber-price-wrapper span.woocommerce-Price-amount.amount {
        font-size: inherit;
    }
    .additional-product-information-wrapper{
        display: block;
    }
    .additional-product-information-toggles{
        width: 100%;
    }
    .product-options{
        grid-template-columns: 1fr;
    }
    .products-available-item-addcart {
        width: 100%;
    }

    .feature-subscribe-save-wrapper{
        padding: 20px;
    }
    .feature-subscribe-save-wrapper p b{
        font-size: 16px;
    }
    .products-available-item-wrapper {
        display: block;
    }

    .products-available-item-details {
        padding-right: 0;
        padding-bottom: 20px;
    }
    a.subscribe-now-btn{
        width: 100%;
        margin-top: 10px;
    }
    .products-available-item-addcart .product-title{
        font-size: 20px;
    }
    .product_options-section-header{
        font-size: 32px;
    }
    .add-cart-form-detail-wrapper {
        flex-direction: column;
        margin-bottom: 20px;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 20px;
    }
    
    
    .product-available-item-included-details, .product-available-item-included-details-content-item, .additional-product-information-content-item{
        padding: 16px;
    }
    .product-available-item-included-details-toggle{
        font-size: 16px;
    }
    .product-available-item-included-details-content-item, .additional-product-information-content-item{
        font-size: 14px;
    }
    
    .additional-product-information-container {
        padding: 0 20px;
    }

    .additional-product-information-toggles {
        padding: 20px;
    }

    p.additional-product-information-toggles-heading {
        font-size: 14px;
    }

    .additional-product-information-toggles button {
        font-size: 14px;
        padding: 10px 14px;
    }

    .additional-product-information-contents {
        margin-top: 20px;
        font-size: 14px;
    }

    .additional-product-information-content h3 {
        font-size: 20px;
    }
    
    
    .flashcard-top-navigations-wrapper > div:first-child span {
        display: none;
    }

    .flashcard-top-navigations-wrapper {
        padding: 20px;
    }
    .flashcards-filtered-header- h2 {
        font-size: 24px;
    }

    .flashcards-filtering-instruction-container .flashcards-filtering-instructions > div > div {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .instruction-card {
        flex: 0 0 100%;
    }
    .flashcard-list-dynamic {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 15px;
    }

    .flashcards-term-wrapper {
        padding: 20px;
    }

    .flashcards-list-toggle {
        padding-top: 10px;
    }
}

i.ays_display_none.ays_fa.ays_fa_eraser.ays_clear_answer.action-button.ays_arrow {
    display: none;
}
i.ays_display_none.ays_fa.ays_fa_flag_checkered.ays_finish.action-button.ays_arrow.ays_next_arrow{
    display: none;
}
/*LOADING SPINNER*/
.lds-roller-container{
    text-align: center;
    padding: 20px;
}
.lds-roller,
.lds-roller div,
.lds-roller div:after {
  box-sizing: border-box;
}
.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7.2px;
  height: 7.2px;
  border-radius: 50%;
  background: currentColor;
  margin: -3.6px 0 0 -3.6px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 62.62742px;
  left: 62.62742px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 67.71281px;
  left: 56px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 70.90963px;
  left: 48.28221px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 70.90963px;
  left: 31.71779px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 67.71281px;
  left: 24px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 62.62742px;
  left: 17.37258px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12.28719px;
}
#ays-quiz-container-50 #ays_finish_quiz_50 div.step {
    min-height: 50px !important;
}
.ays-quiz-wrap {
    margin-bottom: 24px !important;
}
.ays_quiz_question li {
    text-align: left;
}

.ays_quiz_question li input {
    border: 0;
    border-bottom: 1px solid #010101;
}
#ays-quiz-container-50 #ays_finish_quiz_50 div.step {
    min-height: 150px;
}
#ays-quiz-container-50 #ays_finish_quiz_50 .action-button{
    background-color:#c29a5a !important;
}
p.ays-fs-title {
    font-size: 20px;
    font-weight: 700;
    text-decoration: underline;
}
p.tile-title.m-0:hover{
    color: #c29a5a;
}
a.tile.mepr-instructor:hover, a.tile.mepr-gradebook:hover, a.tile.mepr-home.is-active:hover{
    color: #c29a5a;
}


.slick-track{
    min-width: 100%;
}
.slick-list{
    width: 100%;
}
.assessment-forms-items ul {
    margin-left: 0;
    padding-left: 20px;
}


.title-with-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.title-with-filter input {
    font-size: 14px;
    max-width: 250px;
    font-family: 'poppins';
    padding: 12px;
}

.eael-field-type-role {
    width: 100%;
}

.eael-field-type-role select {
    margin-bottom: 0 !important;
    padding: 15px 12px !important;
}

.field-wrapper2{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}
.field-wrapper2 > div:last-child {
    display: flex;
    align-items: flex-end;
    padding-bottom: 5px;
}



.lesson-plan-table tbody tr td:nth-child(4) {
    min-width: 240px;
}
div[id^="attendance_details-"] table tbody tr td:nth-child(3) {
    min-width: 220px;
}


.mp-modal { position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9999; display:flex; justify-content:center; align-items:center; }
.mp-modal-content { background:#fff; padding:20px; border-radius:8px; width:400px; max-width:90%; position:relative; }
.mp-close { position:absolute; top:8px; right:12px; cursor:pointer; font-size:22px; }











@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media (max-width: 767px) {
    #mpcs-sidebar {
        position: static;

    }

    #mpcs-main {
        margin-left: unset;
    }

    #mpcs-main {
        width: 100% !important;
        max-width: 100%;
    }
    #mpcs-sidebar{
        width:100%;
        max-width: 100%;
        height: auto;
    }
}












.mepr-account-container button, .mepr-account-container .mepr-button, .mepr-account-container input[type=button], .mepr-account-container input[type=reset], .mepr-account-container input[type=submit] {
    background: rgb(194 154 90);
}


/************** **************/
.mepr-courses-wrapper{
    max-width: 100%;
}
.mepr-account-container .mepr-form .mp-address-group .mp-form-row .mp-form-label {
    display: block;
    margin-bottom: 10px;
    margin-top: 10px;
}

.mepr-account-container .mepr-form .mp-address-group {
    box-shadow: none;
}

.mepr_modal .mepr_modal_form input[type=submit] {
    background-color: #C29A5A;
}
body:not(.mcat-subscriber) .mepr_mepr_optin,
body:not(.mcat-subscriber) .mepr_mepr_first_name {
    display: none;
}


.mp-form-row.mepr_mepr_optin:has(input:not(:checked)) + .mepr_mepr_first_name{
    display: none !important;
}
.mp-form-row.mepr_mepr_optin:has(input:checked) + .mepr_mepr_first_name{
    display: block !important;
}


ul.wc_payment_methods.payment_methods.methods {
    background-color: #f4f3ee !important;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 5px;
}

.form-row.place-order {
    background-color: #f4f3ee !important;
    border: 1px solid rgba(0, 0, 0, .1);
    border-radius: 5px;
    margin-top: 20px !important;
}

div#payment {
    background: transparent !important;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: transparent !important;
    padding: 0 !important;
}

.payment_box.payment_method_stripe:before {
    display: none !important;
}


.discounts-line span.woocommerce-Price-amount.amount {
    font-size: 14px;
    color: #463f3a !important;
}

.invoice-wrapper.thankyou a,
.invoice-wrapper.thankyou svg {
    color: #C29A5A;
}
.invoice-wrapper.thankyou .mepr-button{
    background-color: #C29A5A;
}


section#mpcs-lesson-navigation button,
div#mpcs-quiz-navigation button{
    background-color: #C29A5A !important;
    border-radius: 4px;
    outline: 0 !important;
}

.ays-field:hover,
.ays-field:hover label,
.course-progress .user-progress, .btn-green, #mpcs-navbar button:not(#mpcs-classroom-previous-lesson-link), .mpcs-classroom div#mpcs-lesson-navigation button:not(#previous_lesson_link), .mpcs-classroom #mpcs-quiz-navigation button:focus, .mpcs-classroom #mpcs-quiz-navigation button:hover, .mpcs-classroom #mpcs-quiz-navigation a, .mpcs-classroom div#mpcs-lesson-navigation a:not(#previous_lesson_link), .mpcs-classroom #mpcs-navbar #mpcs-lesson-navigation > a:not(#mpcs-classroom-previous-lesson-link){
    background: #c29a5a !important;
    border-radius: 4px;
}
body .gform_wrapper.gravity-theme .gfield textarea.large {
    width: 100%;
}

.eael-lr-form-wrapper input[type=checkbox]+label {
    margin-bottom: 0;
    margin-top: 5px;
}

.eael-lr-form-wrapper input[type=checkbox]+label + a {
    margin-top: 5px;
}


body .gform_wrapper.gravity-theme .gfield textarea.large {
    width: 100%;
}

.single-mpcs-lesson .ginput_container_checkbox .gchoice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.single-mpcs-lesson .ginput_container_checkbox .gchoice input {
    margin-top: 10px;
}

.gform-footer input[type="submit"],
a.view-cert-btn{
    background: #c29a5a !important;
    padding: 10px 25px;
    border-radius: 4px;
    border: none;
    color: #fff;
    margin-top: 30px;
    cursor: pointer;
    text-decoration: none;
}


html .eael-lr-form-wrapper [type="checkbox"]:checked {
    background: var(--e-global-color-primary) !important;
    border-color: var(--e-global-color-primary) !important;
}
html .eael-lr-form-wrapper [type="checkbox"]:hover{
    border-color: var(--e-global-color-primary) !important;
}

.mepr-checkout-container .invoice-wrapper.thankyou{
    border-top: none !important;
}
.review-order-custom-wrapper {
    background: #F4F3EE;
    border-radius: 8px;
    padding: 24px;
}

.woocommerce .review-order-custom-wrapper table.shop_table {
    padding: 0 !important;
    border: none !important;
}

.review-order-custom-wrapper tfoot td {
    text-align: right;
}

.review-order-custom-wrapper .cart_item td {
    background: transparent !important;
}

.review-order-custom-wrapper .cart_item td .checkout-product-image {
    flex: 0 0 90px;
}

.review-order-custom-wrapper .cart_item td .checkout-product-image img {
    width: 100%;
}
.review-order-custom-wrapper .cart_item .product-name-wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
}

.review-order-custom-wrapper table td, .review-order-custom-wrapper table th {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.review-order-custom-wrapper #order_review, .review-order-custom-wrapper table {
    margin-bottom: 0 !important;
}

.review-order-custom-wrapper table tfoot tr:first-child td,
.review-order-custom-wrapper table tfoot tr:first-child th {
    padding-top: 20px;
}
.woocommerce-checkout hr {
    border-color: #ECEAE8 !important;
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid;
}




.read-more-once {
  background: none !important;
  border: none;
  color: #C29A5A !important;
  margin-left: 6px;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}

.read-more-once:hover {
  opacity: 0.85;
}


.eael-lr-form-wrapper .eael_accept_tnc_wrap, .eael-lr-form-wrapper .eael_user_consent_wrap {
    margin-bottom: 3px !important;
}

.eael-field-group.eael-terms span{
    position: relative;
    top: 3px;
}

.eael-lr-footer{
    margin-top: 20px;
}

/* === Mobile fix: make Add-to-Cart button always visible on phones === */
/* On desktop the cart card has [price] on the left and [qty][button] on the right.
   The existing @media (max-width:1024px) block already stacks price above qty/button.
   But the INNER row (.add-cart-form-qty) stays horizontal, and at phone widths
   the qty picker + 180px-min-width button exceeds viewport, pushing the button
   off-screen. Below 767px, stack the inner row vertically too. */
@media (max-width: 767px) {
    .add-cart-form-qty {
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px !important;
    }
    .add-cart-form-qty-picker {
        justify-content: flex-start;
    }
    .add-cart-form button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}
/* === End mobile cart fix === */


/* === Subscription products only: un-hide the .desktop-only cart button on mobile ===
   Scoped to body.product-type-subscription so KIT (simple) products which already
   have a mobile-only counterpart are UNAFFECTED. Kit products keep one button.
   Subscription products gain back their hidden Subscribe Now / Add-to-cart. */
@media (max-width: 1024px) {
    body.single-product.product-type-subscription .add-cart-form button.desktop-only {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 15px 24px !important;
        box-sizing: border-box !important;
    }
    body.single-product.product-type-subscription .add-cart-form .add-cart-form-qty > a,
    body.single-product.product-type-subscription .add-cart-form-qty > a {
        display: block !important;
        width: 100% !important;
    }
}
/* === End subscription-scoped override === */

/* =====================================================================
   2026-06-10 — Assessment forms (Gravity Forms): remove the default red.
   Craig: "(Required)" indicators -> theme tan (same color as the button);
   Next/Previous/Submit + the "Save & Exit" save-link -> tan outline
   buttons (tan fill + white text on hover), Psychwest button convention
   (#C29A5A tan / #463F3A brown). Scoped to Gravity Forms wrappers only.
   ===================================================================== */
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required .gfield_required_text,
.gform_wrapper .gfield_required_text {
    color: #C29A5A !important;
}
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_button,
.gform_wrapper .gform_save_link {
    background: #fff !important;
    border: 1px solid #C29A5A !important;
    color: #C29A5A !important;
    border-radius: 6px !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.gform_wrapper .gform_save_link {
    color: #463F3A !important; /* dark label with tan outline (icon inherits) */
}
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_save_link:hover {
    background: #C29A5A !important;
    border-color: #C29A5A !important;
    color: #fff !important;
}
/* === End Gravity Forms red-removal override === */

/* =====================================================================
   2026-06-10 — Subscriptions row menu (3-dot tooltip): fix clipping +
   transparency (Craig: "menu looks cut off / see-through"). The table
   wrapper's overflow was slicing the dropdown on the top rows, and the
   menu lacked a solid background/z-index.
   ===================================================================== */
.mepr-pro-account-table .mepr-tooltip-content {
    background: #ffffff !important;
    border: 1px solid #e5ded3 !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 20px rgba(70, 63, 58, 0.22) !important;
    z-index: 99999 !important;
    opacity: 1 !important;
    min-width: 200px;
    padding: 6px 0 !important;
}
.mepr-pro-account-table .mepr-tooltip-content a.mepr-account-row-action {
    display: block;
    padding: 8px 16px;
    color: #463F3A;
    text-decoration: none;
    white-space: nowrap;
}
.mepr-pro-account-table .mepr-tooltip-content a.mepr-account-row-action:hover {
    background: #FBF7F0;
    color: #C29A5A;
}
@media (min-width: 769px) {
    /* let the dropdown escape the table wrapper on desktop (mobile keeps its scroll) */
    .mepr-subscriptions-wrapper.table-responsive { overflow: visible !important; }
}
/* === End subscriptions tooltip fix === */

/* =====================================================================
   2026-06-12 — Checkout error notices: replace Woo's default lavender/
   grey banner with the Psychwest tan convention (red accent retained so
   errors still read as errors).
   ===================================================================== */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
    background: #FBF7F0 !important;
    border: 1px solid #C29A5A !important;
    border-left: 4px solid #b00000 !important;
    border-top: none !important;
    border-radius: 6px !important;
    color: #463F3A !important;
    padding: 14px 18px !important;
    box-shadow: none !important;
}
.woocommerce-checkout .woocommerce-error li { color: #463F3A !important; }
.woocommerce-checkout .woocommerce-error::before { color: #b00000 !important; }
/* === End checkout error notice restyle === */

/* ===========================================================================
   Resource Library carousel arrows — Crossword / Word Search / Fill-in-the-Blank
   / Guided Audio.
   (1) Remove the default button border + red/pink focus fill on the prev/next
       Slick arrows.
   (2) On hover/focus, swap the arrow SVG to a coffee (#C29A5A) stroked copy.
       The glyph is an SVG background-image on ::after, so CSS `color` can't tint
       it — we swap the image itself. Added 2026-06-13 (CW).
   =========================================================================== */
.slider-enabled .slick-arrow,
.slider-enabled .slick-arrow:hover,
.slider-enabled .slick-arrow:focus,
.slider-enabled .slick-arrow:active,
.slider-enabled .slick-arrow:focus-visible,
.puzzle-list-container button.slick-arrow,
.puzzle-list-container button.slick-arrow:hover,
.puzzle-list-container button.slick-arrow:focus,
.puzzle-list-container button.slick-arrow:active,
.puzzle-list-container button.slick-arrow:focus-visible {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}
.puzzle-list-container button.slick-prev.slick-arrow:hover::after,
.puzzle-list-container button.slick-prev.slick-arrow:focus-visible::after {
    background-image: url("https://psychwest.com/wp-content/uploads/2025/10/Arrows-hover.svg") !important;
}
.puzzle-list-container button.slick-next.slick-arrow:hover::after,
.puzzle-list-container button.slick-next.slick-arrow:focus-visible::after {
    background-image: url("https://psychwest.com/wp-content/uploads/2025/10/Arrows-1-hover.svg") !important;
}

/* ===========================================================================
   /account/ (page 1235) Payment Information — make "Manage Subscription Payment
   Methods" visually match "Manage Payment Methods". CSS-only, scoped to that
   subsection. Added 2026-06-15 (CW).
   (1) Restore the left accent line on its heading. That H3 also carries
       .psychwest-subscription-payment-info-section, whose `border:0 !important`
       (functions.php) cancels the title's intended border-left; a higher-
       specificity (double-class) rule re-applies the accent.
   (2) Remove the tan (#faf7f0) inline fill on .pw-pi-subs-section -> white,
       matching the .pw-payment-info-section (#ffffff) area above it.
   =========================================================================== */
body.page-id-1235 .psychwest-subscription-payment-info-title.psychwest-subscription-payment-info-section,
body.page-id-1235 .psychwest-subscription-payment-info-title {
    border-left: 3px solid #C29A5A !important;
}
body.page-id-1235 .pw-pi-subs-section {
    background-color: #ffffff !important;
}

/* === /account/ Payment Info (cont. 2026-06-15, CW): subscription divider tidy ===
   (a) Remove the redundant 2nd gray line that sits directly above the
       "Manage Subscription Payment Methods" heading (H3 border-top #E5E1DA).
   (b) Make the section's top divider match the Profile Information divider width:
       drop the -32px full-bleed + side padding so the line is inset to the
       content width. Subscription rows keep their position (net horizontal
       offset is unchanged: -32 margin + 32 padding  ->  0 margin + 0 padding).
   ================================================================================ */
body.page-id-1235 .psychwest-subscription-payment-info-title.psychwest-subscription-payment-info-section {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.page-id-1235 .pw-pi-subs-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* 2026-08-08 (Craig) — Attendance Log / Lesson Plans grid: FILL the modal width. The table hugged
   its content on the left while the grey group-header bar spanned the full modal ("looks broken",
   "all this space wasted", squished Trainer's Name). Cells now distribute across the width and
   every input/select fills its cell; the signature select gets room to show the full name. */
.trainer-edit-modal .general-table { width: 100%; }
.trainer-edit-modal .general-table td > div,
.trainer-edit-modal .general-table td > div > div {
    width: 100% !important;
    margin-right: 0 !important;
    display: block !important;
}
.trainer-edit-modal .general-table td input[type=text],
.trainer-edit-modal .general-table td input[type=number],
.trainer-edit-modal .general-table td input:not([type]),
.trainer-edit-modal .general-table td select {
    width: 100% !important;
    min-width: 80px;
    box-sizing: border-box;
}
.trainer-edit-modal .general-table td .select2-container {
    width: 100% !important;
    min-width: 170px; /* full "Last, First" signatures stay readable */
}

/* ---------------------------------------------------------------------------
   2026-08-08 (Craig, round 8): CLIENT EDIT LOCK - banners + read-only modal.
   Tan banner = someone else is working on this client (modal opened
   read-only); green = they finished, reload to edit. Buttons follow the house
   tan (#C29A5A, hover #463F3A) - never button-primary orange.
   pointer-events on .pw-locked-readonly is belt-and-suspenders: fields are
   disabled by JS, but a select2 widget that missed the disabled sync must
   still not open in a read-only modal.
--------------------------------------------------------------------------- */
.pw-lock-banner {
    margin: 0 0 14px;
    border-left: 3px solid #C29A5A;
    background: #FBF6EE;
    border-radius: 6px;
    color: #463F3A;
    padding: 14px 18px;
    font-size: 15px;
    line-height: 1.6;
}
.pw-lock-banner--free {
    border-left-color: #4C7A4C;
    background: #EFF6EF;
}
.pw-lock-banner .pw-lock-reload,
.pw-lock-banner .pw-lock-reload:visited {
    display: inline-block;
    margin-left: 10px;
    background: #C29A5A;
    /* !important on purpose: this site force-stamps link/text color with
       !important somewhere (same landmine as the bookshelf Titles control),
       which painted this button's text dark - Craig caught it on the green
       banner. :visited pinned too (J-MCES Exit lesson). */
    color: #fff !important;
    padding: 6px 16px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: 600;
}
.pw-lock-banner .pw-lock-reload:hover,
.pw-lock-banner .pw-lock-reload:focus {
    background: #463F3A;
    color: #fff !important;
}
.pw-locked-readonly .select2-container,
.pw-locked-readonly .datepicker,
.pw-locked-readonly .add-group-row,
.pw-locked-readonly .remove-group-row {
    pointer-events: none;
}

/* ---------------------------------------------------------------------------
   2026-08-08 (Craig, round 8b): NARROW-WIDTH / MOBILE behavior for the client
   edit modal. A shrunk browser was spilling the Attendance Log's right-hand
   columns past the modal edge (Phase column clipped). The grid now scrolls
   horizontally INSIDE .pw-table-scroll (group.php wraps both grid tables).
   Scroll activates only at <=1024px: inside a scroll container the attendance
   thead's position:sticky cannot follow the modal's vertical scroll, so
   desktop keeps its sticky headers and narrow widths trade them for the
   scrollbar. On phones the sticky stack (fields block + tab bar + section h4,
   ~350px tall) is released so the log gets the screen; the modal header with
   the Save buttons stays sticky.
--------------------------------------------------------------------------- */
.pw-table-scroll {
    max-width: 100%;
}
/* ADAPTIVE, not a breakpoint: JS (pwFitTables, script.js) stamps .pw-scrolling
   on a wrapper exactly when its table is wider than the space available - a
   fixed media query missed real cases (Craig's spill happened at 1026px while
   the table needed 1064px). Scrolling state trades the sticky thead for the
   scrollbar (sticky can't follow the modal's vertical scroll from inside a
   scroll container); any width where the table fits keeps sticky headers. */
.pw-table-scroll.pw-scrolling {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.trainer-edit-modal .pw-scrolling thead {
    position: static;
}
@media (max-width: 767px) {
    .modal.trainer-edit-modal {
        padding-left: 0;
    }
    .modal.trainer-edit-modal .modal-dialog {
        margin: 6px;
    }
    .trainer-edit-modal .client-modal-sticky {
        position: static;
        padding-top: 10px;
        padding-bottom: 12px;
    }
    .trainer-edit-modal .client-excel-data-tab-headings {
        position: static;
        flex-wrap: wrap;
    }
    .trainer-edit-modal [id*="-tab-content-attendancelog"] h4 {
        position: static !important;
    }
    .trainer-edit-modal .field-wrapper {
        grid-template-columns: 1fr 1fr;
    }
    .trainer-edit-modal .client-demographics-item {
        grid-template-columns: 1fr;
    }
    .trainer-edit-modal .client-excel-data-tab-contents {
        padding-left: 12px;
        padding-right: 12px;
    }
    .trainer-edit-modal .modal-header {
        flex-wrap: wrap;
        gap: 8px;
    }
}

/* ---------------------------------------------------------------------------
   2026-08-08 (Craig, round 8f): shared list-filter searchbox - the Company
   Directory look (Craig's chosen standard), reused on Manage Staff, the three
   client lists, and Team Courses. Same magnifier-hides-when-typing trick and
   tan focus ring as the directory. The count reads "N of M <noun>".
--------------------------------------------------------------------------- */
.pw-lfilter {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 16px;
    flex-wrap: wrap;
}
.pw-lfilter-box {
    position: relative;
    flex: 1 1 300px;
    max-width: 420px;
}
.pw-lfilter-box .pw-lfilter-in {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    color: #2A2A2B;
    background: #fff;
    border: 1px solid #C9C2B8;
    border-radius: 4px;
    padding: 10px 12px 10px 38px !important;
    outline: none;
    transition: padding-left .15s ease;
}
.pw-lfilter-box .pw-lfilter-in:focus {
    border-color: #C29A5A;
    box-shadow: 0 0 0 3px rgba(194,154,90,.22);
}
.pw-lfilter-box .pw-lfilter-in:not(:placeholder-shown) {
    padding-left: 12px !important;
}
.pw-lfilter-box .pw-lfilter-in:not(:placeholder-shown) ~ .pw-lfilter-mag {
    opacity: 0;
}
.pw-lfilter-mag {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    transition: opacity .15s ease;
}
.pw-lfilter-count {
    font-size: 13px;
    color: #8A817C;
    white-space: nowrap;
}
/* 2026-08-08 (Craig, round 8g): Clear links match the counter grey — inconspicuous,
   per Craig ("same color as the # of #"). The -live variant is the JS-driven clear
   on live-filtered lists; it only appears while a term is typed. */
.pw-lfilter-clear,
.pw-lfilter-clear-live {
    font-size: 12.5px;
    color: #8A817C;
    text-decoration: underline;
    white-space: nowrap;
}
.pw-lfilter-clear:hover,
.pw-lfilter-clear-live:hover {
    color: #463F3A;
}

/* ---------------------------------------------------------------------------
   2026-08-08 (Craig, round 8k): ATTENDANCE/LESSON GRID POLISH.
   1) Focus highlight — "make a very light faint [tint] show up in a field
      where the cursor is": every grid field lights cream with a tan ring on
      focus, so Go-to-last-cell (and plain tabbing) always shows where you are.
   2) Full window width — the grid now genuinely stretches; Attendance Notes
      gets the slack (real short notes fit), Hours Scheduled/Seen shrink and
      center (they hold 1-2 digits).
--------------------------------------------------------------------------- */
.trainer-edit-modal .general-table td input:not([type="checkbox"]):not([type="radio"]):focus,
.trainer-edit-modal .general-table td select:focus,
.trainer-edit-modal .general-table td textarea:focus,
.trainer-edit-modal .lesson-plan-table td input:not([type="checkbox"]):not([type="radio"]):focus,
.trainer-edit-modal .lesson-plan-table td select:focus,
.trainer-edit-modal .lesson-plan-table td textarea:focus {
    background-color: #FBF7F0 !important;
    outline: 2px solid #C29A5A !important;
    outline-offset: -1px;
}
.trainer-edit-modal .pw-table-scroll > table {
    width: 100% !important;
}
[id*="-tab-content-attendancelog"] .general-table th:nth-child(2) {
    width: 34%;
}
[id*="-tab-content-attendancelog"] .general-table th:nth-child(5),
[id*="-tab-content-attendancelog"] .general-table th:nth-child(6) {
    width: 92px;
}
[id*="-tab-content-attendancelog"] .general-table td:nth-child(5) input,
[id*="-tab-content-attendancelog"] .general-table td:nth-child(6) input {
    text-align: center;
    min-width: 56px;
}
/* Sign-in history clocks: float to the column's right edge so every row's icon
   lines up regardless of date length (Craig: "they are all staggered"). */
.staff-table td .pw-loginlog-btn {
    float: right;
    margin-left: 10px;
}

/* 2026-10-04 (Craig): checkboxes and radios are left out of these focus rules. The site's checkbox is a
   white tick on a gold box, so the cream focus background hid the tick until the box lost focus. */
/* 2026-08-08 (Craig, round 8l): the focus highlight applies EVERYWHERE in the
   client modal ("for consistency, it should be in every tab") - Demographics,
   Progress & Statistics, all editable fields, not only the two grids. */
.trainer-edit-modal .modal-body input:not([type="checkbox"]):not([type="radio"]):focus,
.trainer-edit-modal .modal-body select:focus,
.trainer-edit-modal .modal-body textarea:focus {
    background-color: #FBF7F0 !important;
    outline: 2px solid #C29A5A !important;
    outline-offset: -1px;
}
/* ---- Response-line bypass (2026-08-20) ---------------------------------------------
   The toolbar sits in the .gform_wrapper chrome, before the <form>, and its button carries
   tabindex="-1", which is what keeps it out of the scoring flow: pwFlowStops() takes the
   wrapper's controls and drops the ones marked that way. Brand tan fill, #463F3A on hover,
   never button-primary. There is no :focus rule: with that tabindex, and with the bar
   cancelling mousedown in the capture phase, nothing ever focuses it -- measured,
   document.activeElement is unchanged by a click on it. */
.pw-flowbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 16px;
}

.pw-flowbar__btn {
    font-size: 15px;
    background-color: #C29A5A;
    border: 1px solid #C29A5A;
    color: #FFFFFF;
    border-radius: 4px;
    padding: 8px 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

/* The engaged state is its OWN colour, a darker tan, so that hover still darkens it
   further and the button answers the pointer in both states. Folding "on" in with :hover
   left the toggle looking inert once it was on. */
.pw-flowbar__btn[aria-pressed="true"] {
    background-color: #8C6B36;
    border-color: #8C6B36;
}

.pw-flowbar__btn:hover,
.pw-flowbar__btn[aria-pressed="true"]:hover {
    background-color: #463F3A;
    border-color: #463F3A;
    color: #FFFFFF;
}

/* The tint, and nothing else. These textareas are never readonly and never disabled, so
   the [readonly]{pointer-events:none !important} rule earlier in this file cannot reach
   them; they take clicks, carets and typing exactly as they do with the bypass off. What
   the skip is made of is tabindex="-1", set in script.js, which is invisible. The grey is
   deliberately light -- Craig asked for "just a slight graying" -- and the text itself
   keeps full contrast so an already written narrative stays readable. Focus clears the
   tint, which is the plainest possible signal that the box is still live. The second
   selector matches the specificity pattern the Gravity Forms rules in this file already
   use, so it wins over gravity-theme without !important. */
.gform_wrapper.pw-flowskip-on .gfield--type-textarea textarea,
body .gform_wrapper.gravity-theme.pw-flowskip-on .gfield--type-textarea textarea.large {
    background-color: #E9E5E0;
    border-color: #CFC8BF;
    color: #2F2B27;
}

.gform_wrapper.pw-flowskip-on .gfield--type-textarea textarea:focus,
body .gform_wrapper.gravity-theme.pw-flowskip-on .gfield--type-textarea textarea.large:focus {
    background-color: #FFFFFF;
}

/* ---- Sticky assessment header (Craig, 2026-08-26) --------------------------------
   Pins the form title, the "show all questions" layout control, the skip/walk
   controls and the progress bar while the evaluator scrolls a 200-item form.
   top matches .header_main: the site header is FIXED at 88px with z-index 99, so
   anything sticky at top:0 slides underneath it (see the site-chrome notes); 98
   keeps the bar under the header but over the form chrome. */
.pw-stickybar {
    position: sticky;
    position: -webkit-sticky;
    top: 88px;
    z-index: 98;
}

/* logged-in WP admin bar (32px desktop / 46px narrow) pushes the fixed site
   header down by its own height, and the strip's title row slides under the
   header without this. Evaluators without the toolbar keep 88px. */
body.admin-bar .pw-stickybar {
    top: 120px;
}

@media screen and (max-width: 782px) {
    body.admin-bar .pw-stickybar {
        top: 134px;
    }
}

.pw-stickybar {
    background: #FFFFFF;
    border: 1px solid #E5DFD8;
    border-radius: 8px;
    padding: 10px 14px 12px;
    margin: 0 0 18px;
    box-shadow: 0 8px 18px -12px rgba(70, 63, 58, 0.35);
}

.pw-stickybar__head {
    margin-bottom: 6px;
}

/* the title reads as the header of the whole strip - bigger, with the controls
   below slimmed so they stop crowding it (Craig, 2026-08-26) */
.pw-stickybar__title {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.3;
    color: #463F3A;
}

/* the layout control sits on its own row UNDER the title (Craig, 2026-08-26) */
.pw-stickybar__prefrow {
    margin-bottom: 8px;
    max-width: 340px;
}

/* the adopted layout control arrives with page-flow margins it no longer needs */
.pw-stickybar .form-layout-preference-sub,
.pw-stickybar .form-layout-preference {
    margin: 0;
}

/* mocha tint on the layout dropdown so it reads as part of the strip, not a
   stray form field */
.pw-stickybar .pw-select__toggle {
    background: #EAE0D3;
    border-color: #C29A5A;
    color: #463F3A;
}

.pw-stickybar .pw-select__toggle:hover {
    background: #E0D2BE;
}

/* 2026-09-06 (Craig): "the 3 boxes seem small and font seems small". These were sized down
   when the bar held a secondary skip toggle serving the title. They are now the three mode
   buttons - the primary way an evaluator drives the form - so they get a size that matches
   that role. The bar is flex-wrap, so the longer labels wrap cleanly on narrow screens.*/
.pw-stickybar .pw-flowbar__btn {
    padding: 10px 18px;
    font-size: 15px;
}

.pw-stickybar__controls .pw-flowbar {
    margin: 0 0 8px;
}

/* the progress container carries an inline margin-bottom:20px from the builder;
   a stylesheet !important outranks a non-important inline style */
.pw-stickybar__progress #gf-progress-container {
    margin-bottom: 0 !important;
}

.pw-flowbar__mode {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    line-height: 1.3;
    color: #463F3A;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}

/* hover tooltip for the Skip toggle - the shortcut line lived on the bar as plain
   text and read as clutter (Craig, 2026-08-26). Drops BELOW the button: the bar is
   sticky at the top, so anything above it clips under the site header. */
.pw-flowbar [data-pw-tip] {
    position: relative;
}

.pw-flowbar [data-pw-tip]:hover::after {
    content: attr(data-pw-tip);
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 5;
    width: 270px;
    background: #463F3A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    text-align: left;
    padding: 8px 11px;
    border-radius: 6px;
    box-shadow: 0 6px 16px -6px rgba(70, 63, 58, 0.5);
    pointer-events: none;
    white-space: normal;
}

.pw-flowbar [data-pw-tip]:hover::before {
    content: "";
    position: absolute;
    top: calc(100% + 3px);
    left: 18px;
    z-index: 5;
    border: 5px solid transparent;
    border-bottom-color: #463F3A;
    border-top: none;
    pointer-events: none;
}

.pw-flowbar__mode input {
    accent-color: #8C6B36;
    margin: 0;
    cursor: pointer;
}

/* 2026-09-02 (Craig): drop the "Step 1 of 20 - Background on Related Assessments" line.
   The form name in the sticky bar is the only heading wanted.

   HIDDEN, NOT REMOVED - deliberately. Gravity Forms puts .gf_step_current_page inside this
   element, and togglePageBreaks() still reads it as a fallback page number whenever
   window.pwGfCurrentPage is unset; autosave save() reads it too. Deleting it would break both.

   !important is required: togglePageBreaks() calls jQuery .show() on this exact selector when
   the layout is set to sections, which writes an inline display that a normal rule would lose to.

   The percentage bar itself (.gf_progressbar) is untouched. */
.gf_progressbar_wrapper .gf_progressbar_title {
    display: none !important;
}

/* 2026-09-05 (Craig): the sticky assessment toolbar is inserted as a SIBLING of .gform_wrapper
   (script.js: wrap.parentNode), so when Gravity Forms swaps the form out for the Save & Exit
   confirmation the bar outlives it and hovers over a page that no longer has a form. Hide it
   whenever the saved-confirmation markup is on the page. */
/* 2026-09-06 (Craig): "I don't think we need the sticky for this page" - extended to the
   SUBMITTED confirmation as well. The AMA/SMA confirm in place inside the transfer popup,
   so the strip would otherwise hover over a finished form counting 100%. Forms 21-28
   redirect to the Submission Successful page instead, which never had a strip. */
body:has(.form_saved_message) .pw-stickybar,
body:has(.gform_confirmation_wrapper) .pw-stickybar,
body:has(.gform_confirmation_message) .pw-stickybar {
    display: none !important;
}

/* 2026-09-06 (Craig): space above the Save & Exit message. The sticky strip that would
   normally occupy this space is hidden by the rule directly above, which left the text
   sitting hard against the page chrome. */
body:has(.form-layout-preference, .form-layout-preference-sub) .form_saved_message {
    margin-top: 32px;
}

/* 2026-09-06 (Craig): "add a little space between the header and the content". The scoring
   instruction used to sit between the form title and the first field; moving it to the
   scoring page left the title resting directly on Agency Code. Gravity Forms sets no
   bottom margin of its own on .gform_heading, so the gap was entirely incidental - this
   makes it deliberate. Scoped by the layout-preference control, which only the 14
   assessment pages carry. */
body:has(.form-layout-preference, .form-layout-preference-sub) .gform_wrapper .gform_heading {
    margin-bottom: 48px;   /* doubled 2026-09-06 at Craig's request */
}

/* 2026-09-06 (Craig): "the MCES Phase 2 heading is partially hidden by the sticky".
   The strip is a SIBLING sitting immediately before .gform_wrapper, so the form's own
   title is the first thing underneath it and lands tucked behind it after a page turn.

   scroll-margin-top is the part that actually fixes it: every programmatic scroll on
   this page (GF's anchor after an ajax page turn, and scrollIntoView in script.js) now
   stops far enough down that the title clears the site header (88px) plus the strip.
   The margin-top is the visible breathing room Craig asked for. */
body:has(.form-layout-preference, .form-layout-preference-sub) .gform_wrapper .gform_heading {
    margin-top: 32px;
    scroll-margin-top: var(--pw-af-pad, 280px);
}

/* --pw-af-pad is the sticky strip's real height plus the offset it pins at, published by
   pwSyncStickyPad() in script.js on every render and on resize. It was a flat 280px, which
   is about 30px less than the strip occupies now that it carries three mode buttons - so a
   page landing on the anchor put question 1 just underneath it (Andrea 2026-09-30). The
   280px stays as the fallback for the moment before the script has measured. */
body:has(.form-layout-preference, .form-layout-preference-sub) .gform_anchor,
body:has(.form-layout-preference, .form-layout-preference-sub) .gform_wrapper {
    scroll-margin-top: var(--pw-af-pad, 280px);
}

/* 2026-09-06 (Craig): "the sticky is hiding the heading". Margin could never fix this -
   .pw-stickybar is position:sticky and sits immediately BEFORE .gform_wrapper, so the
   form's own title is the first thing it covers, and it covers it again at every scroll
   position no matter how far down the heading starts.

   The strip already shows the form title at its top, so on a scoring page the heading is
   a duplicate. Hide it only WHILE THE STRIP IS UP: script.js:3082 sets
   stick.style.display = pwPageHasScoredItems(form) ? "" : "none", so an intro/setup page
   (no scored items) carries display:none and keeps its heading - which is where Craig's
   32px/48px spacing above and below still applies. */
body:has(.pw-stickybar:not([style*="display: none"])) .gform_wrapper .gform_heading {
    display: none;
}

/* 2026-10-08 (Andrea): client-list page bar (Training / Evaluation / Manage Clients tabs, every account).
   paginate_links() prints bare links (Previous 1 2 3 Next) that ran together; this gives them the
   same look as the shop page bar (mu-plugins/psychwest-shop-pagination.php): white number tiles, the
   current page in tan, Previous / Next as tan buttons. Resting look only: hover and focus come from the
   Psychwest Button System (mu-plugins/psychwest-button-system.php), so never add :hover/:focus here. */
.staff-section .pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 20px 0 4px;
}
.staff-section .pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 40px;
    min-width: 40px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #D8D0C5;
    border-radius: 4px;
    background-color: #FFFFFF;
    color: #463F3A;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}
.staff-section .pagination .page-numbers.current {
    background-color: #C29A5A;
    border-color: #C29A5A;
    color: #FFFFFF;
    cursor: default;
}
.staff-section .pagination .page-numbers.prev,
.staff-section .pagination .page-numbers.next {
    padding: 0 18px;
    background-color: #C29A5A;
    border-color: #C29A5A;
    color: #FFFFFF;
}
.staff-section .pagination .page-numbers.dots {
    min-width: 0;
    padding: 0 2px;
    background-color: transparent;
    border-color: transparent;
    color: #8A817C;
}
@media (max-width: 600px) {
    .staff-section .pagination { gap: 6px; }
    .staff-section .pagination .page-numbers { height: 36px; min-width: 36px; padding: 0 10px; font-size: 14px; }
    .staff-section .pagination .page-numbers.prev,
    .staff-section .pagination .page-numbers.next { padding: 0 14px; }
}
