/*////// INTEGRATION NAMESPACE WRAPPER (V2.7) //////*/
.shca-neon { }



.shca-neon li,
.shca-neon p {
    font-family: inherit;
    line-height: 1.2;
    color: #2F4176;
}

.shca-neon h1,
.shca-neon h2,
.shca-neon h3, 
.shca-neon h4,
.shca-neon h5,
.shca-neon h6 {
    font-family: inherit;
    line-height: 1.2;
    color: #2F4176;
}



/*//// VISIBILITY UTILITY (V2.7) ////*/
.shca-neon .is-hidden { display: none !important; }





/*//////// SHARED COMPONENTS //////// */
/*//// BUTTONS ////*/
.shca-neon button,
.shca-neon a.button,
.shca-neon .shca-red-button,
.shca-neon button.primary-button {
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0.6rem 0.9rem 0.6rem 0.9rem;
    border: .1rem solid #A41E22;
    background-color: #A41E22;
    box-sizing: border-box;
    font-style: normal;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.333;
    text-transform: uppercase;
    color: #ffffff;
    transition: all .3s ease;
    cursor: pointer;
}   
.shca-neon button:hover,
.shca-neon a.button:hover,
.shca-neon .shca-red-button:hover,
.shca-neon button.primary:hover {
    background-color: #ffffff;
    color: #A41E22;
}

/*//// HORIZONTAL RULE ////*/
.shca-neon hr {
    margin: 6rem 0 4.8rem 0;
}    

/*//// FORM INPUTS ////*/
.shca-neon form label {
    margin: 1.2rem 0;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #777777;
}
.shca-neon form {
    padding: 0 0;
}
.shca-neon form input {
    width: 100%;
    max-width: 40rem;
    padding: .8rem;
    font-size: 1.8rem;
    border: .1rem solid #ddd;
    border-radius: .4rem;
}
.shca-neon form input:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(34, 113, 177, 0.4);
}
.shca-neon form input:disabled {
    opacity: .6;
    background: #f5f5f5;
    cursor: not-allowed;
}





/*//// NOTICE MESSAGES ////*/
.shca-neon .shca-notice {
    padding: 1.2rem 2rem;
    margin-bottom: 2rem;
    border-radius: .5rem;
    font-family: "Open Sans", sans-serif;
    font-size: 1.8rem;
    color: #686868;
    line-height: 1.1;    
}
.shca-neon .shca-notice p {
    font-family: "Open Sans", sans-serif;
    font-size: 1.8rem;
    color: #686868;
    line-height: 1.1;
}
.shca-neon .shca-notice-success {
    border-left: .4rem solid #46b450;
    background: #ecf7ed;
}
.shca-neon .shca-notice-error {
    border-left: .4rem solid #d63638;
    background: #fce4e4;
}
/*// LOADING STATE //*/
.shca-neon .loading {
    text-align: center;
    padding: 4rem;
    color: #666666;
}





/*//////// SHOPPING CART ////////*/
.shca-neon #shca-cart-container {
    position: relative;
    float: none;
    width: 98%;
    max-width: 144rem;
    margin: 3rem auto;
    padding: 3rem;
    border: .1rem solid silver;        
}
/*// H2 //*/
.shca-neon #shca-cart-container h2 {
    display: none;
    margin-bottom: 1rem;
    font-family: "Open Sans Condensed", sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 6rem;
    line-height: 1.3;
    color: #2F4176;
    text-transform: capitalize;
}

/*// NOTICE MESSAGE //*/
.shca-neon #shca-cart-container div.shca-notice,
.shca-neon #shca-cart-container div.shca-notice p {
    margin: 1.2rem 0;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: red;        
}

/*//// CART TABLE ////*/
.shca-neon #shca-cart-container table.shca-cart-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.shca-neon #shca-cart-container table.shca-cart-table th {
    margin: 1.2rem 0;
    padding: 1.2rem 1.2rem;
    font-family: "Open Sans", sans-serif;
    font-size: 2.4rem;
    font-weight: bold;
    color: #000000;
    font-weight: 600;
    text-align: left;
    background: #f5f5f5;
    border-bottom: .2rem solid #ddd;
}
.shca-neon #shca-cart-container table.shca-cart-table td {
    padding: 0.75rem;
    padding: 1.2rem 1.2rem;
    margin: 1.2rem 0;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #777777;
    text-align: left;
    border-bottom: .1rem solid #eee;
}
.shca-neon #shca-cart-container table.shca-cart-table th.right,
.shca-neon #shca-cart-container table.shca-cart-table td.right {
    text-align: right;
}
.shca-neon #shca-cart-container .shca-cart-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}
.shca-neon #shca-cart-container .shca-cart-footer strong {
    font-size: 1.2rem;
}

/*/// REMOVE BUTTON ///*/
.shca-neon #shca-cart-container table.shca-cart-table td.cart-remove {
    text-align: right;
}
.shca-neon #shca-cart-container button.remove-item,
.shca-neon #shca-cart-container a.remove-item {
    display: inline-block;
    box-sizing: border-box;
    width: auto;
    height: auto;
    padding: 0.6rem 0.9rem 0.6rem 0.9rem;
    border: .1rem solid #A41E22;
    background-color: #A41E22;
    font-style: normal;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.333;
    text-transform: uppercase;
    color: #ffffff;
    transition: all .3s ease;
    cursor: pointer;
    text-decoration: none;
}
.shca-neon #shca-cart-container button.remove-item:hover,
.shca-neon #shca-cart-container a.remove-item:hover {
    background-color: #ffffff;
    color: #A41E22;
}
.shca-neon #shca-cart-container button.remove-item:disabled,
.shca-neon #shca-cart-container a.remove-item:disabled {
    opacity: .6;
    cursor: not-allowed;
}

/*//// QUANTITY INPUT ////*/
.shca-neon input.qty-input {
    width: 6rem;
    padding: .6rem;
    text-align: center;
    border: .1rem solid #ddd;
    border-radius: .3rem;
}
.shca-neon input.qty-input:disabled {
    opacity: .6;
    background: #f5f5f5;
    cursor: not-allowed;
}

/*//// TABLE FOOTER ////*/
.shca-neon #shca-cart-container tfoot td {
    padding: 1.2rem 1.2rem;
    border-top: .2rem solid #ddd;
}
.shca-neon #shca-cart-container tr.cart-grand-total td {
    padding-top: 1.5rem;
}

/*//// EMPTY CART ////*/
.shca-neon #shca-cart-container div.shca-cart-empty {
    text-align: center;
    padding: 6rem 2rem;
    background: #f9f9f9;
}
.shca-neon #shca-cart-container div.shca-cart-empty p {
    font-style: normal;
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.5;
    color: #2F4176;
}




/*//////// ACCOUNT LOOKUP FORM ////////*/
.shca-neon #shca-checkout-email {
    position: relative;
    float: none;
    width: 98%;
    margin: 3rem 0;
    padding: 3rem 3rem;
    border: .1rem solid silver;
}
.shca-neon #shca-checkout-email input[type="email"] {
    width: 100%;
    max-width: 40rem;
    padding: .8rem;
    margin: 2rem 0;
    font-size: 1.8rem;
    border: .1rem solid #ddd;
    border-radius: .4rem;
}
.shca-neon #shca-checkout-email input[type="email"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(34, 113, 177, 0.4);
}
.shca-neon #shca-checkout-email h2 {
    display: none;
}
.shca-neon #shca-email-lookup-form p label {
    font-style: normal;
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 1.5;
    color: #2F4176;
}





/*//////// CHECKOUT SHORTCODE ////////*/
.shca-neon h3.checkout-step {
    margin: 0 0 1.5rem 0;
    padding-bottom: 1.5rem;
    font-size: 3.4rem;
    color: #2F4176;
}

/*//// MEMBERSHIP STATUS BOX ////*/
.shca-neon #membership-status-box {
    padding: 2rem;
    margin: 2rem 0 3rem;
    border-radius: .8rem;
    border-left: .5rem solid #ccc;
    background: #f9f9f9;
}
.shca-neon #membership-status-box.status-active {
    border-left-color: #46b450;
    background: #ecf7ed;
}
.shca-neon #membership-status-box.status-inactive {
    border-left-color: #f0b849;
    background: #fff8e5;
}
.shca-neon #membership-status-box.status-new {
    border-left-color: #2271b1;
    background: #f0f6fc;
}
.shca-neon #membership-status-box h3 {
    margin: 0 0 1.5rem 0;
    padding-bottom: 1.5rem;
    border-bottom: .2rem solid #ddd;
    font-size: 2.6rem;
    color: #333333;
}
.shca-neon #membership-status-box.status-active h3 {
    color: #2d7a3e;
}
.shca-neon #membership-status-box.status-inactive h3 {
    color: #9b6904;
}
.shca-neon #membership-status-box.status-new h3 {
    color: #1558a0;
}
.shca-neon #membership-status-box div.status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1.5rem;
}
.shca-neon div.status-grid div.status-field {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.shca-neon div.status-grid div.status-field strong {
    /* TEXT-TRANSFORM: UPPERCASE;
    LETTER-SPACING: 0.05REM;*/
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #777777;
}
.shca-neon div.status-grid div.status-field span {
    font-size: 2rem;
    font-weight: normal;
    color: #333333;
}
.shca-neon span.membership-level {
    font-weight: 500;
}
.shca-neon span.expiration-date {
    font-weight: 500;
}
.shca-neon span.status-inactive-text {
    color: #9b6904;
    font-weight: 500;
}


/*/////// CHECKOUT FORM ////////*/
.shca-neon #shca-checkout-form {
    position: relative;
    float: none;
    width: 98%;
    margin: 3rem 0;
    padding: 3rem;
    border: .1rem solid silver;      
}
.shca-neon #shca-checkout-form p {
    margin: 2rem 0;
}
.shca-neon #shca-checkout-form p label {
    margin-bottom: .8rem;
}


.shca-neon #shca-checkout-form input[type="text"],
.shca-neon #shca-checkout-form input[type="email"],
.shca-neon #shca-checkout-form input[type="tel"] {
    width: 100%;
    max-width: 40rem;
    padding: .8rem;
    margin: 1rem 0;
    font-size: 1.8rem;
    border: .1rem solid #ddd;
    border-radius: .4rem;
}
.shca-neon #shca-checkout-form input[type="text"]:focus,
.shca-neon #shca-checkout-form input[type="email"]:focus,
.shca-neon #shca-checkout-form input[type="tel"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(34, 113, 177, 0.4);
}
.shca-neon #shca-checkout-form input[type="text"]:disabled,
.shca-neon #shca-checkout-form input[type="email"]:disabled,
.shca-neon #shca-checkout-form input[type="tel"]:disabled {
    opacity: .6;
    background: #f5f5f5;
    cursor: not-allowed;
}
.shca-neon #shca-checkout-form [type="checkbox"],
.shca-neon #shca-checkout-form [type="radio"] {
    width: auto;
    text-align: left;
    margin: .6rem 1rem 1rem 0;
}


/*//////// PRODUCT SHORTCODE ////////*/
.shca-neon div.shca-neon-product {
    position: relative;
    float: none;
    width: 98%;
    /*MARGIN: 2REM 0;*/
    margin: 1rem 0 2rem 0;
    padding: 3rem;
    border: .1rem solid silver;
}
/*// PRODUCT NAME //*/
.shca-neon div.shca-neon-product h2.product-title {
    margin-bottom: 1rem;
    font-family: "Open Sans Condensed", sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 3.6rem;
    line-height: 1.3;
    line-height: 1.175;
    color: #2F4176;
    text-transform: capitalize;
}
.shca-neon div.shca-neon-product h2.product-title:before {
    content: 'Purchase ';
    position: relative;
}
.shca-neon div.shca-neon-product h2.product-title:after {
    display: block;
    position: relative;
}   
/*/ PRODUCT DESCRIPTION /*/
.shca-neon div.shca-neon-product div.product-description { }
.shca-neon div.shca-neon-product div.product-description h2 {
    margin: 2rem 0 0 0;
    font-family: "Open Sans", sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 2.4rem;
    line-height: 1.3;
    color: #2F4176;    
}
.shca-neon div.shca-neon-product p,
.shca-neon div.shca-neon-product p.product-price,
.shca-neon div.shca-neon-product span.price {
    margin: 1.6rem 0;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #777777;
}
.shca-neon div.shca-neon-product p.product-price {
    margin-top: 3rem;
    font-size: 2.4rem;    
}


/*//////// THANK YOU PAGE ////////*/
.shca-neon .shca-thank-you-wrap {
    max-width: 70rem;
    margin: 0 auto;
    text-align: center;
    padding: 4rem 2rem;
    color: #333;
}
.shca-neon .thank-you-success {
    background: #ecf7ed;
    border: .1rem solid #46b450;
    border-radius: .8rem;
    padding: 4rem;
    margin-bottom: 3rem;
}
.shca-neon .thank-you-success h1 {
    color: #2e7d32;
    margin-bottom: 2rem;
}
.shca-neon .thank-you-canceled {
    background: #fff8e5;
    border: .1rem solid #f0b849;
    border-radius: .8rem;
    padding: 4rem;
    margin-bottom: 3rem;
}
.shca-neon .thank-you-canceled h1 {
    color: #b26a00;
    margin-bottom: 2rem;
}
.shca-neon .thank-you-default {
    background: #f5f5f5;
    border: .1rem solid #ddd;
    border-radius: .8rem;
    padding: 4rem;
    margin-bottom: 3rem;
}


/*//////// CHECKOUT PROCESSING MODAL ////////*/
.shca-neon #checkout-processing-modal {}
.shca-neon #checkout-processing-modal div.processing-content {
    margin: 0 auto 1.5rem auto;
    padding-bottom: 1.5rem;
    border-bottom: .2rem solid #ddd;
    font-size: 2.6rem;
    color: #333333;
}
.shca-neon #checkout-processing-modal div.processing-content h3 {
    margin: 0 0 1.5rem 0;
    padding-bottom: 1.5rem;
    border-bottom: .2rem solid #ddd;
    font-size: 3.4rem;
    color: #333333;
    color: #2d7a3e;
}

.shca-neon #checkout-processing-modal div.processing-content .processing-subtitle {
    font-size: 1.8rem;
    color: #666;
    margin-bottom: 3rem;
}


.shca-neon #checkout-processing-modal div.processing-content .step-name,
.shca-neon #checkout-processing-modal div.processing-content .step-message {
    font-size: 2rem;
    color: #666;
}
.shca-neon #checkout-processing-modal div.processing-content #processing-error-message,
.shca-neon #checkout-processing-modal div.processing-content .error-hint {
    margin: 2rem 0;
    font-size: 2rem;
    line-height: 1.2;
    color: #666;
    font-style: italic;
}


/*//////// CHECKOUT PAGE (FROM CHECKOUT.PHP) ////////*/
.shca-neon .shca-checkout-page { 
    max-width: 90rem; 
    margin: 0 auto; 
}

/* FORM LAYOUT */
.shca-neon .form-row { 
    display: flex; 
    gap: 1.5rem; 
    margin-bottom: 1.5rem; 
}
.shca-neon .form-col { 
    flex: 1; 
}
.shca-neon .form-col-small { 
    flex: 0 0 10rem; 
}
.shca-neon .shca-checkout-form label { 
    display: block; 
    margin-bottom: 1.5rem; 
}
.shca-neon .shca-checkout-form input[type="text"],
.shca-neon .shca-checkout-form input[type="email"],
.shca-neon .shca-checkout-form input[type="tel"] { 
    width: 100%; 
    padding: 1rem 1.2rem; 
    border: .1rem solid #ccc;
    border-radius: .4rem;
    font-size: 1.6rem;
}
.shca-neon .shca-checkout-form input:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 .2rem rgba(34, 113, 177, 0.2);
}
.shca-neon .required { 
    color: #d63638; 
}

/* MEMBERSHIP STATUS (GENERIC CLASS VERSION) */
.shca-neon .membership-status-box {
    padding: 2rem;
    margin: 2rem 0 3rem;
    border-radius: .8rem;
    border-left: .5rem solid #ccc;
    background: #f9f9f9;
}
.shca-neon .membership-status-box.status-active { 
    border-left-color: #46b450; 
    background: #ecf7ed; 
}
.shca-neon .membership-status-box.status-inactive { 
    border-left-color: #f0b849; 
    background: #fff8e5; 
}
.shca-neon .membership-status-box.status-new { 
    border-left-color: #2271b1; 
    background: #f0f6fc; 
}
.shca-neon .membership-status-box h3 { 
    margin: 0 0 1.5rem 0; 
}
.shca-neon .status-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); 
    gap: 1rem; 
}
.shca-neon .status-field strong { 
    color: #666; 
    font-size: 1.2rem; 
    text-transform: uppercase; 
}

/* CART TABLE (GENERIC) */
.shca-neon .shca-cart-table { 
    width: 100%; 
    border-collapse: collapse; 
    margin-bottom: 2rem; 
}
.shca-neon .shca-cart-table th { 
    background: #f5f5f5; 
    padding: 1.2rem; 
    color: black;
    font-size: 1.8rem;
    text-align: left; 
    border-bottom: .2rem solid #ddd; 
}
.shca-neon .shca-cart-table td { 
    padding: 1.2rem; 
    border-bottom: .1rem solid #eee; 
}
.shca-neon .shca-cart-table .cart-grand-total td { 
    font-size: 1.2em; 
    border-top: .2rem solid #ddd; 
}

/* PAYMENT SECTION - NEONPAY */
.shca-neon .payment-card-section {
    background: #f8f9fa;
    border: .1rem solid #e0e0e0;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2rem;
}
.shca-neon .card-icons {
    display: flex;
    gap: .8rem;
    margin-bottom: 1.5rem;
}
.shca-neon .card-icon {
    display: inline-block;
    padding: .4rem .8rem;
    font-size: 1.1rem;
    font-weight: bold;
    border-radius: .3rem;
    background: #fff;
    border: .1rem solid #ddd;
    color: #666;
}

/* NEONPAY CARD ELEMENT */
.shca-neon #cardFields {
    background: #fff;
    border: .1rem solid #ccc;
    border-radius: .4rem;
    padding: 1.5rem;
    min-height: 12rem;
}
.shca-neon #cardFields.StripeElement--focus,
.shca-neon #cardFields.neonpay-focused {
    border-color: #2271b1;
    box-shadow: 0 0 0 .2rem rgba(34, 113, 177, 0.2);
}
.shca-neon #cardFields.StripeElement--invalid,
.shca-neon #cardFields.neonpay-invalid {
    border-color: #d63638;
}
.shca-neon .loading-card {
    color: #666;
    font-style: italic;
    margin: 0;
    text-align: center;
    padding: 2rem;
}
.shca-neon .card-errors {
    color: #d63638;
    font-size: 1.4rem;
    margin-top: 1rem;
    min-height: 2rem;
}

/* SUBMIT SECTION */
.shca-neon .checkout-submit-section {
    text-align: center;
    padding: 2rem 0;
}
.shca-neon .secure-notice {
    color: #46b450;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
}
.shca-neon .checkout-total-display {
    margin-top: 1.5rem;
    font-size: 1.8rem;
}
.shca-neon #checkout-submit-btn {
    padding: 1.5rem 4rem;
    font-size: 1.8rem;
}
.shca-neon #checkout-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* PROCESSING MODAL */
.shca-neon .processing-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shca-neon .processing-content {
    background: #fff;
    padding: 4rem;
    border-radius: 1.2rem;
    max-width: 50rem;
    width: 90%;
    text-align: center;
}
.shca-neon .processing-content h3 { 
    margin: 0 0 1rem 0; 
}
.shca-neon .processing-subtitle { 
    color: #666; 
    margin-bottom: 3rem; 
}
.shca-neon .processing-steps {
    text-align: left;
    margin: 2rem 0;
}
.shca-neon .processing-step {
    padding: 1rem 1.5rem;
    margin: .8rem 0;
    border-radius: .6rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.shca-neon .processing-step.pending { 
    background: #f5f5f5; 
    color: #666; 
}
.shca-neon .processing-step.success { 
    background: #ecf7ed; 
    color: #1e4620; 
}
.shca-neon .processing-step.failed { 
    background: #fbeaea; 
    color: #8b0000; 
}
.shca-neon .step-icon { 
    font-size: 1.8rem; 
}
.shca-neon .processing-error {
    background: #fbeaea;
    padding: 2rem;
    border-radius: .8rem;
    margin-top: 2rem;
}
.shca-neon .error-hint { 
    font-size: 1.3rem; 
    color: #666; 
    font-style: italic; 
}


/*//////// THANK YOU PAGE (FROM THANK-YOU.PHP) ////////*/
.shca-neon .thank-you-header {
    text-align: center;
    margin-bottom: 3rem;
}
.shca-neon .thank-you-icon {
    font-size: 6.4rem;
    display: block;
    margin-bottom: 1.5rem;
}
.shca-neon .thank-you-header h2 {
    color: #1e4620;
    margin: 0;
}
.shca-neon .order-confirmation-box {
    background: #ecf7ed;
    border: .1rem solid #46b450;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2.5rem;
    text-align: center;
}
.shca-neon .order-number {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
.shca-neon .order-message {
    color: #555;
    margin: 0;
}
.shca-neon .order-details-box {
    background: #f9f9f9;
    border: .1rem solid #ddd;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2.5rem;
}
.shca-neon .order-details-box h3 {
    margin-top: 0;
    border-bottom: .1rem solid #ddd;
    padding-bottom: 1rem;
}
.shca-neon .order-details-table {
    width: 100%;
    border-collapse: collapse;
}
.shca-neon .order-details-table th {
    text-align: left;
    padding: .8rem 1rem;
    width: 10rem;
    vertical-align: top;
    color: #666;
}
.shca-neon .order-details-table td {
    padding: .8rem 1rem;
}
.shca-neon .order-items-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.shca-neon .order-items-list li {
    display: flex;
    justify-content: space-between;
    padding: .5rem 0;
    border-bottom: .1rem dotted #ddd;
}
.shca-neon .order-items-list li:last-child {
    border-bottom: none;
}
.shca-neon .item-price {
    font-weight: 500;
}
.shca-neon .total-row {
    border-top: .2rem solid #ddd;
}
.shca-neon .total-row th,
.shca-neon .total-row td {
    padding-top: 1.5rem;
    font-size: 1.8rem;
}
.shca-neon .thank-you-actions {
    text-align: center;
}
.shca-neon .thank-you-actions p {
    margin-bottom: 1.5rem;
}


/*//////// MEMBER DASHBOARD (FROM MEMBER-DASHBOARD.PHP) ////////*/
.shca-neon .shca-member-dashboard {
    max-width: 80rem;
    margin: 0 auto;
}
.shca-neon .shca-dashboard-lookup {
    background: #f9f9f9;
    padding: 3rem;
    border-radius: .8rem;
    text-align: center;
}
.shca-neon .shca-dashboard-form {
    max-width: 40rem;
    margin: 2rem auto 0;
}
.shca-neon .shca-dashboard-form .form-field {
    margin-bottom: 1.5rem;
    text-align: left;
}
.shca-neon .shca-dashboard-form label {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}
.shca-neon .shca-dashboard-form input[type="email"] {
    width: 100%;
    padding: 1rem;
    border: .1rem solid #ddd;
    border-radius: .4rem;
}
.shca-neon .shca-dashboard-error {
    background: #f8d7da;
    color: #721c24;
    padding: 1rem 1.5rem;
    border-radius: .4rem;
    margin-bottom: 1.5rem;
}
.shca-neon .shca-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: .2rem solid #eee;
}
.shca-neon .shca-dashboard-header h3 {
    margin: 0;
}
.shca-neon .shca-dashboard-change-email {
    font-size: 1.4rem;
}
.shca-neon .shca-dashboard-section {
    background: #fff;
    border: .1rem solid #e0e0e0;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2rem;
}
.shca-neon .shca-dashboard-section h4 {
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: .1rem solid #eee;
}
.shca-neon .shca-membership-status {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.shca-neon .shca-status-badge {
    display: inline-block;
    padding: .5rem 1.2rem;
    border-radius: 2rem;
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: uppercase;
}
.shca-neon .shca-status-active {
    background: #d4edda;
    color: #155724;
}
.shca-neon .shca-status-expired {
    background: #f8d7da;
    color: #721c24;
}
.shca-neon .shca-status-pending {
    background: #fff3cd;
    color: #856404;
}
.shca-neon .shca-status-none {
    background: #e9ecef;
    color: #495057;
}
.shca-neon .shca-membership-details {
    margin-top: 1.5rem;
}
.shca-neon .shca-membership-details dl {
    display: grid;
    grid-template-columns: 15rem 1fr;
    gap: .8rem 1.5rem;
    margin: 0;
}
.shca-neon .shca-membership-details dt {
    font-weight: 600;
    color: #666;
}
.shca-neon .shca-membership-details dd {
    margin: 0;
}
.shca-neon .shca-renew-button {
    margin-top: 2rem;
}
.shca-neon .shca-account-info dl {
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: .8rem 1.5rem;
    margin: 0;
}
.shca-neon .shca-account-info dt {
    font-weight: 600;
    color: #666;
}
.shca-neon .shca-account-info dd {
    margin: 0;
}
.shca-neon .shca-no-membership {
    text-align: center;
    padding: 2rem;
    color: #666;
}
.shca-neon .shca-transactions-table {
    width: 100%;
    border-collapse: collapse;
}
.shca-neon .shca-transactions-table th,
.shca-neon .shca-transactions-table td {
    padding: 1rem;
    text-align: left;
    border-bottom: .1rem solid #eee;
}
.shca-neon .shca-transactions-table th {
    background: #f9f9f9;
    font-weight: 600;
}
.shca-neon .shca-no-transactions {
    text-align: center;
    padding: 2rem;
    color: #999;
}


/*//////// PRODUCT/MEMBERSHIP GRID ////////*/
.shca-neon-grid {
    display: grid;
    gap: 2rem;
    margin: 2rem 0;
}
.shca-neon-grid.columns-1 {
    grid-template-columns: 1fr;
}
.shca-neon-grid.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}
.shca-neon-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}
.shca-neon-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}
.shca-neon-grid .shca-neon-product {
    width: 100%;
    margin: 0;
}

/* PRODUCT/MEMBERSHIP TYPE CLASSES */
.shca-neon-product.type-membership .product-title:before {
    content: 'Join ';
}
.shca-neon-product.type-product .product-title:before {
    content: 'Purchase ';
}

/* PRICE DISPLAY COMPONENTS */
.shca-neon-product .price-amount {
    font-weight: bold;
}
.shca-neon-product .price-term {
    font-weight: normal;
    font-size: 0.85em;
    color: #666;
    margin-left: .5rem;
}
.shca-neon-product .category-label {
    display: inline-block;
    padding: .3rem 1rem;
    background: #f0f0f0;
    border-radius: .3rem;
    font-size: 0.85em;
    color: #666;
}


/* ============================================
   UPDATE INFO CHECKBOX SECTION
   ============================================ */
.shca-neon .update-info-section {
    background: #f8f9fa;
    border: .1rem solid #e1e5e9;
    border-radius: .6rem;
    padding: 1.5rem 1.8rem;
    margin: 2rem 0;
}

.shca-neon .update-info-section .checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    cursor: pointer;
    font-weight: 500;
}

.shca-neon .update-info-section input[type="checkbox"] {
    width: 1.8rem;
    height: 1.8rem;
    margin-top: .2rem;
    flex-shrink: 0;
    accent-color: #0073aa;
}

.shca-neon .update-info-section .checkbox-text {
    color: #1e3a5f;
}

.shca-neon .update-info-section .field-hint {
    margin: .8rem 0 0 2.8rem;
    font-size: 1.3rem;
    color: #666;
    line-height: 1.4;
}

/* ============================================
   MEMBERSHIP DROPDOWN SELECTOR
   ============================================ */
.shca-neon .shca-membership-selector-wrap {
    max-width: 70rem;
    margin: 0 auto;
}

.shca-neon .shca-membership-section {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid #e1e5e9;
}

.shca-neon .shca-membership-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.shca-neon .membership-section-heading {
    font-size: 2.4rem;
    font-weight: 600;
    color: #1e3a5f;
    margin: 0 0 1.5rem 0;
    padding-bottom: 0.8rem;
    border-bottom: .3rem solid #A41E22;
}

.shca-neon .shca-membership-selector-form {
    background: #f8f9fa;
    border: .1rem solid #e1e5e9;
    border-radius: .8rem;
    padding: 2rem;
}

.shca-neon .membership-selector-row {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}

.shca-neon .shca-membership-dropdown {
    flex: 1;
    min-width: 0;
    padding: 1.2rem 1.5rem;
    font-size: 2.2rem;
    border: .2rem solid #ddd;
    border-radius: .6rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.shca-neon .shca-membership-dropdown:hover {
    border-color: #999;
}

.shca-neon .shca-membership-dropdown:focus {
    border-color: #A41E22;
    outline: none;
    box-shadow: 0 0 0 .3rem rgba(164, 30, 34, 0.15);
}

.shca-neon .shca-membership-submit {
    flex-shrink: 0;
    padding: 1.2rem 2.5rem !important;
    font-size: 1.6rem !important;
    white-space: nowrap;
}

.shca-neon .shca-membership-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.shca-neon .membership-description {
    margin-top: 1.5rem;
    padding: 1.2rem 1.5rem;
    background: #fff;
    border-left: .4rem solid #A41E22;
    border-radius: 0 .6rem .6rem 0;
}

.shca-neon .membership-description .description-text {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    color: #555;
}


/*//// PRODUCT DROPDOWN SELECTOR ////*/
.shca-neon .shca-product-selector-wrap {
    max-width: 70rem;
    margin: 0 auto;
}

.shca-neon .shca-product-section {
    margin-bottom: 3rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid #e1e5e9;
}

.shca-neon .shca-product-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.shca-neon .product-section-heading {
    font-size: 2.4rem;
    font-weight: 600;
    color: #1e3a5f;
    margin: 0 0 1.5rem 0;
    padding-bottom: 0.8rem;
    border-bottom: .3rem solid #A41E22;
}

.shca-neon .shca-product-selector-form {
    background: #f8f9fa;
    border: .1rem solid #e1e5e9;
    border-radius: .8rem;
    padding: 2rem;
}

.shca-neon .product-selector-row {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}

.shca-neon .shca-product-dropdown {
    flex: 1;
    min-width: 0;
    padding: 1.2rem 1.5rem;
    font-size: 1.6rem;
    border: .2rem solid #ddd;
    border-radius: .6rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.shca-neon .shca-product-dropdown:hover {
    border-color: #999;
}

.shca-neon .shca-product-dropdown:focus {
    border-color: #A41E22;
    outline: none;
    box-shadow: 0 0 0 .3rem rgba(164, 30, 34, 0.15);
}

.shca-neon .shca-product-submit {
    flex-shrink: 0;
    padding: 1.2rem 2.5rem !important;
    font-size: 1.6rem !important;
    white-space: nowrap;
}

.shca-neon .shca-product-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.shca-neon .product-description {
    margin-top: 1.5rem;
    padding: 1.2rem 1.5rem;
    background: #fff;
    border-left: .4rem solid #A41E22;
    border-radius: 0 .6rem .6rem 0;
}

.shca-neon .product-description .description-text {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    color: #555;
}


/* ============================================
   SECONDARY MEMBER SECTION (CHECKOUT)
   ============================================ */
.shca-neon .secondary-member-section {
    border: .1rem solid silver;
    padding: 2rem;
    margin: 2.5rem 0;
    color: #333;
}

.shca-neon .secondary-member-heading {
    margin: 0 0 .8rem 0;
    font-size: 2.8rem;
    font-weight: 600;
    color: #1e3a5f;
}

.shca-neon .secondary-member-heading .optional-label {
    font-weight: normal;
    font-size: 1.6rem;
    color: #666;
}

.shca-neon .secondary-member-section .field-hint {
    margin: 0 0 1.8rem 0;
    font-size: 1.8rem;
    color: #555;
    line-height: 1.5;
}

.shca-neon .secondary-member-section .form-row {
    margin-bottom: 0;
}

.shca-neon .secondary-member-section input[type="text"] {
    background: #fff;
}


/* PRODUCT ROW STYLE */
.shca-neon .shca-product-row {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem 1.5rem;
    background: #fff;
    border: .1rem solid #ddd;
    border-radius: .6rem;
    margin-bottom: 0.75rem;
}

.shca-neon .shca-product-row:hover {
    border-color: #A41E22;
}

.shca-neon .product-row-info {
    flex: 1;
    min-width: 0;
}

.shca-neon .product-row-name {
    /*MARGIN-BOTTOM: 1REM;*/
    font-family: "Open Sans Condensed", sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1.3;
    line-height: 1.175;
    color: #2F4176;
    text-transform: capitalize;
}

.shca-neon .product-row-desc {
    display: block;
    font-size: 0.9rem;
    color: #666;
    margin-top: 0.25rem;
}

.shca-neon .product-row-price {
    white-space: nowrap;
    font-family: "Open Sans", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    color: #777777;
}

.shca-neon .product-row-action {
    flex-shrink: 0;
}

.shca-neon .product-row-action form {
    margin: 0;
}

.shca-neon .shca-product-rows-wrap {
    margin: 1.5rem 0;
}

.shca-neon .product-rows-heading {
    margin-bottom: 1rem;
    font-size: 1.4rem;
}


/*////// ISSUE START DATE (#7 - APR 15 NEON WALKTHROUGH) - CART-LEVEL DROPDOWN //////*/
.shca-neon .cart-issue-start {margin:.8rem 0 0 0;display:flex;flex-direction:column;gap:.4rem}
.shca-neon .cart-issue-start-label {font-weight:600;font-size:1.3rem}
.shca-neon .cart-issue-req {color:#d63638}
.shca-neon .issue-start-select {max-width:24rem;padding:.6rem .8rem}
.shca-neon .cart-issue-missing {color:#d63638;font-size:1.25rem}
.shca-neon .cart-issue-missing.is-hidden {display:none}
/*////// END ISSUE START DATE //////*/

/*//////// MOVED FROM INLINE <STYLE> BLOCKS (V2.7 DE-INLINE) //////// */
/*//// CHECKOUT: SHIPPING-ADDRESS SECTION (WAS CHECKOUT.PHP) ////*/
.shca-neon .shipping-address-section {
    margin: 2rem 0;
    padding: 1.5rem;
    background: #f9f9f9;
    border-radius: .4rem;
}
.shca-neon .shipping-address-section .checkbox-label {
    display: flex;
    align-items: center;
    gap: .8rem;
    cursor: pointer;
}
.shca-neon .shipping-address-section .checkbox-text {
    font-weight: 500;
}
.shca-neon .shipping-fields {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: .1rem solid #ddd;
}
.shca-neon .shipping-fields label {
    display: block;
    margin-bottom: .5rem;
}
.shca-neon .shipping-fields input {
    width: 100%;
    padding: .8rem;
    border: .1rem solid #ddd;
    border-radius: .4rem;
}
/*//// THANK-YOU PAGE LAYOUT (WAS THANK-YOU.PHP) ////*/
.shca-neon .shca-thank-you-wrap {
    max-width: 70rem;
    margin: 0 auto;
    padding: 2rem;
}
.shca-neon .thank-you-header {
    text-align: center;
    margin-bottom: 3rem;
}
.shca-neon .thank-you-icon {
    font-size: 6.4rem;
    display: block;
    margin-bottom: 1.5rem;
}
.shca-neon .thank-you-header h2 {
    color: #1e4620;
    margin: 0;
}
.shca-neon .order-confirmation-box {
    background: #ecf7ed;
    border: .1rem solid #46b450;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2.5rem;
    text-align: center;
}
.shca-neon .order-number {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}
.shca-neon .order-message {
    width: 80%;
    margin: 0 auto;    
    color: #555;
}
.shca-neon .order-details-box {
    background: #f9f9f9;
    border: .1rem solid #ddd;
    border-radius: .8rem;
    padding: 2rem;
    margin-bottom: 2.5rem;
}
.shca-neon .order-details-box h3 {
    margin-top: 0;
    border-bottom: .1rem solid #ddd;
    padding-bottom: 1rem;
}
.shca-neon .order-details-table {
    width: 100%;
    border-collapse: collapse;
}
.shca-neon .order-details-table th {
    width: 10rem;
    padding: .8rem 1rem;
    font-size: 1.8rem;
    color: #666;
    text-align: left;
    vertical-align: top;
}
.shca-neon .order-details-table td {
    padding: .8rem 1rem;
    font-size: 1.8rem;
    color: #666;
    text-align: left;    
}
.shca-neon .order-items-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.shca-neon .order-items-list li {
    display: flex;
    justify-content: space-between;
    padding: .5rem 0;
    border-bottom: .1rem dotted #ddd;
}
.shca-neon .order-items-list li:last-child {
    border-bottom: none;
}
.shca-neon .item-price {
    font-weight: 500;
}
.shca-neon .total-row {
    border-top: .2rem solid #ddd;
}
.shca-neon .total-row th,
.shca-neon .total-row td {
    padding-top: 1.5rem;
    font-size: 1.8rem;
}
.shca-neon .thank-you-actions {
    text-align: center;
}
.shca-neon .thank-you-actions p {
    margin-bottom: 1.5rem;
}





/*//////// PROCESSING MODAL COUNTDOWN (V2.7, TASK 4) //////// */
.shca-neon .processing-countdown { margin: 1rem 0 .6rem 0; font-size: 1.5rem; color: #333; }
.shca-neon .processing-countdown-label { color: #666; }
.shca-neon .processing-countdown-value { font-weight: 700; font-size: 2rem; color: #A41E22; margin-left: .6rem; }
.shca-neon .processing-countdown-note { font-size: 1.3rem; color: #777; margin: 0 0 1.8rem 0; }
.shca-neon .loading-card-msg { color: #666; font-size: 1.4rem; }
.shca-neon .card-error-msg { color: #d63638; }
.shca-neon .processing-error-reassure { font-size: 1.3rem; color: #555; margin: 1rem 0 0 0; }





/*///////// RESPONSIVE / BREAKPOINTS ////////*/
/*// TABLET & DOWN (1024) //*/
@media only screen and (max-width: 1024px) { }
/*// LARGE PHONE & DOWN (850) //*/
@media only screen and (max-width: 850px) {

    /*// CART //*/
    .shca-neon .shca-cart-table {
        font-size: 1.4rem;
    }
    .shca-neon .shca-cart-table th,
    .shca-neon .shca-cart-table td {
        padding: 1rem .8rem;
    }
    .shca-neon .shca-cart-table .cart-remove {
        text-align: center;
    }
    .shca-neon .remove-item {
        padding: .8rem;
        font-size: 1.2rem;
    }

    /*// CHECKOUT //*/
    .shca-neon .shca-checkout-cart-table th,
    .shca-neon .shca-checkout-cart-table td {
        padding: 1rem .8rem;
    }
    .shca-neon .membership-status-box {
        padding: 1.5rem;
    }
    .shca-neon .status-grid {
        grid-template-columns: 1fr;
    }

    /*// FORMS //*/
    .shca-neon .shca-checkout-form input[type="text"],
    .shca-neon .shca-checkout-form input[type="email"],
    .shca-neon .shca-checkout-form input[type="tel"] {
        max-width: 100%;
    }
    .shca-neon .shca-email-lookup input[type="email"] {
        max-width: 100%;
    }
    .shca-neon .form-row {
        flex-direction: column;
        gap: 0;
    }
    .shca-neon .form-col-small {
        flex: 1;
    }

    /*// GRID //*/
    .shca-neon-grid.columns-3,
    .shca-neon-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    /*// DASHBOARD //*/
    .shca-neon .shca-membership-details dl,
    .shca-neon .shca-account-info dl {
        grid-template-columns: 1fr;
    }
    .shca-neon .shca-membership-details dt,
    .shca-neon .shca-account-info dt {
        margin-top: 1rem;
    }

    /*// SELECTORS - STACK (moved up from 480; audit Change 1) //*/
    .shca-neon .membership-selector-row,
    .shca-neon .product-selector-row {
        flex-direction: column;
    }
    .shca-neon .shca-membership-dropdown,
    .shca-neon .shca-membership-submit,
    .shca-neon .shca-product-dropdown,
    .shca-neon .shca-product-submit {
        width: 100%;
    }

}
@media only screen and (max-width: 480px) {

    /*// PHONE (480) //*/

    /*// CART - HIDE NON-ESSENTIAL COLUMNS //*/
    .shca-neon .shca-cart-table .cart-price {
        display: none;
    }
    .shca-neon .qty-input {
        width: 5rem;
    }

    /*// GRID - SINGLE COLUMN //*/
    .shca-neon-grid.columns-2,
    .shca-neon-grid.columns-3,
    .shca-neon-grid.columns-4 {
        grid-template-columns: 1fr;
    }

    /*// TIGHTEN CONTAINER PADDING ON PHONES (audit Change 2) //*/
    .shca-neon #shca-cart-container,
    .shca-neon #shca-checkout-form,
    .shca-neon #shca-checkout-email,
    .shca-neon div.shca-neon-product {
        padding: 1.5rem;
    }

    /*// WIDE TABLES - SHRINK TEXT/PADDING (audit Change 3) //*/
    .shca-neon .shca-transactions-table,
    .shca-neon .order-details-table {
        font-size: 1.4rem;
    }
    .shca-neon .shca-transactions-table th,
    .shca-neon .shca-transactions-table td {
        padding: .6rem .5rem;
    }

    /*// PRODUCT ROW //*/
    .shca-neon .shca-product-row {
        width: 90%;
        margin-bottom: 3rem;
        flex-wrap: wrap;
    }
    .shca-neon .product-row-info {
        width: 100%;
    }
    .shca-neon .product-row-price {
        flex: 1;
    }
}
@media only screen and (max-width: 420px) { }
@media only screen and (max-width: 375px) { }
@media only screen and (max-width: 360px) { }

/*// LANDSCAPE ORIENTATION - TABLET & SMALLER //*/
@media screen and (max-width: 1024px) and (orientation: landscape) { }
@media screen and (max-width: 850px) and (orientation: landscape) { }