/**
 * Cashzone WooCommerce visual foundation.
 */

:root {
    --cz-wc-black: var(--cz-charcoal);
    --cz-wc-panel: var(--cz-charcoal);
    --cz-wc-panel-soft: var(--cz-warm-white);
    --cz-wc-border: rgba(255, 255, 255, 0.14);
    --cz-wc-border-gold: rgba(215, 166, 41, 0.42);
    --cz-wc-gold: var(--cz-yellow);
    --cz-wc-gold-light: var(--cz-yellow);
    --cz-wc-white: var(--cz-warm-white);
    --cz-wc-muted: var(--cz-grey);
    --cz-wc-danger: #ffb5b5;
    --cz-wc-success: #c6f6d5;
}

.woocommerce,
.woocommerce-page {
    background: var(--cz-wc-black);
    color: var(--cz-wc-white);
}

.woocommerce main,
.woocommerce-page main,
.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce .entry-content,
.woocommerce-page .entry-content {
    background: var(--cz-wc-black);
    color: var(--cz-wc-white);
}

.woocommerce .woocommerce,
.woocommerce-page .woocommerce {
    margin: 0 auto;
    max-width: 1180px;
    padding: clamp(24px, 5vw, 56px) clamp(16px, 4vw, 32px);
}

.woocommerce *,
.woocommerce *::before,
.woocommerce *::after,
.woocommerce-page *,
.woocommerce-page *::before,
.woocommerce-page *::after {
    box-sizing: border-box;
}

body.woocommerce-account [class*="search"],
body.woocommerce-account [id*="search"] {
    border: 0 !important;
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    pointer-events: none !important;
    position: static !important;
    visibility: hidden !important;
    width: 0 !important;
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce h5,
.woocommerce h6,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce-page h4,
.woocommerce-page h5,
.woocommerce-page h6 {
    color: var(--cz-wc-white);
    letter-spacing: 0;
}

.woocommerce p,
.woocommerce address,
.woocommerce-page p,
.woocommerce-page address {
    color: var(--cz-wc-muted);
    line-height: 1.65;
}

.woocommerce a,
.woocommerce-page a {
    color: var(--cz-wc-gold-light);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.woocommerce a:hover,
.woocommerce a:focus,
.woocommerce-page a:hover,
.woocommerce-page a:focus {
    color: var(--cz-wc-gold);
}

.woocommerce strong,
.woocommerce b,
.woocommerce-page strong,
.woocommerce-page b {
    color: var(--cz-wc-white);
}

.woocommerce mark,
.woocommerce-page mark {
    background: transparent;
    color: var(--cz-wc-gold-light);
    font-weight: 800;
}

.woocommerce .cart_totals,
.woocommerce .cross-sells,
.woocommerce form.checkout,
.woocommerce .woocommerce-billing-fields,
.woocommerce .woocommerce-shipping-fields,
.woocommerce .woocommerce-additional-fields,
.woocommerce #order_review,
.woocommerce .woocommerce-order,
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-Address,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.woocommerce .woocommerce-ResetPassword,
.woocommerce .checkout_coupon,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
    background: var(--cz-wc-panel);
    border: 1px solid var(--cz-wc-border-gold);
    border-radius: 10px;
    color: var(--cz-wc-white);
    box-shadow: none;
}

.woocommerce .cart_totals,
.woocommerce .cross-sells,
.woocommerce .woocommerce-billing-fields,
.woocommerce .woocommerce-shipping-fields,
.woocommerce .woocommerce-additional-fields,
.woocommerce #order_review,
.woocommerce .woocommerce-order,
.woocommerce .woocommerce-customer-details,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-Address,
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.woocommerce .woocommerce-ResetPassword,
.woocommerce .checkout_coupon {
    padding: clamp(18px, 3vw, 28px);
}

.woocommerce .u-columns.col2-set {
    align-items: stretch;
}

.woocommerce .u-columns.col2-set > .u-column1,
.woocommerce .u-columns.col2-set > .u-column2 {
    background: var(--cz-wc-panel);
    border: 1px solid var(--cz-wc-border-gold);
    border-radius: 8px;
    color: var(--cz-wc-white);
    padding: clamp(18px, 3vw, 28px);
}

.woocommerce .u-columns.col2-set > .u-column1 h2,
.woocommerce .u-columns.col2-set > .u-column2 h2 {
    border-bottom: 1px solid var(--cz-wc-border);
    color: var(--cz-wc-gold-light);
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    line-height: 1.2;
    margin: 0 0 20px;
    padding-bottom: 14px;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    margin: 0 12px 12px 0;
}

.woocommerce .woocommerce-form-login .lost_password {
    margin-bottom: 0;
}

.woocommerce .woocommerce-form-register .woocommerce-privacy-policy-text {
    margin-bottom: 16px;
}

.woocommerce .woocommerce-form-login input[type="checkbox"],
.woocommerce .woocommerce-form-register input[type="checkbox"] {
    accent-color: var(--cz-wc-gold);
    height: 18px;
    width: 18px;
}

.woocommerce .woocommerce-Addresses {
    display: grid;
    gap: 18px;
}

.woocommerce table.shop_table,
.woocommerce table.shop_table_responsive,
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-table {
    background: var(--cz-wc-panel);
    border: 1px solid var(--cz-wc-border-gold);
    border-collapse: separate;
    border-radius: 8px;
    border-spacing: 0;
    color: var(--cz-wc-white);
    overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table_responsive th,
.woocommerce table.my_account_orders th,
.woocommerce table.woocommerce-table th {
    background: var(--cz-charcoal);
    border-color: var(--cz-wc-border);
    color: var(--cz-wc-gold-light);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    padding: 14px;
    text-transform: uppercase;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table_responsive td,
.woocommerce table.my_account_orders td,
.woocommerce table.woocommerce-table td {
    background: transparent;
    border-color: var(--cz-wc-border);
    color: var(--cz-wc-white);
    padding: 14px;
    vertical-align: middle;
}

.woocommerce table.shop_table tr:nth-child(even) td,
.woocommerce table.shop_table_responsive tr:nth-child(even) td,
.woocommerce table.my_account_orders tr:nth-child(even) td,
.woocommerce table.woocommerce-table tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.03);
}

.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td {
    background: var(--cz-charcoal);
    color: var(--cz-wc-white);
}

.woocommerce table.cart img {
    border-radius: 8px;
    max-width: 76px;
}

.woocommerce .cart-collaterals,
.woocommerce .woocommerce-checkout {
    margin-top: clamp(22px, 4vw, 36px);
}

.woocommerce .cart-collaterals .cart_totals {
    width: min(100%, 480px);
}

.woocommerce .coupon {
    display: flex;
    gap: 10px;
}

.woocommerce .coupon .input-text {
    min-width: 180px;
}

.woocommerce form .form-row {
    margin: 0 0 16px;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
    color: var(--cz-wc-white);
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 7px;
}

.woocommerce form .form-row .required {
    color: var(--cz-wc-gold-light);
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce-page input.input-text,
.woocommerce-page textarea,
.woocommerce-page select,
.woocommerce-page .select2-container--default .select2-selection--single {
    background: var(--cz-charcoal);
    border: 1px solid var(--cz-wc-border);
    border-radius: 8px;
    color: var(--cz-wc-white);
    min-height: 48px;
    padding: 12px 14px;
    width: 100%;
}

.woocommerce textarea,
.woocommerce-page textarea {
    min-height: 130px;
    resize: vertical;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce .select2-container--default .select2-selection--single:focus,
.woocommerce-page input.input-text:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus {
    border-color: var(--cz-wc-gold);
    box-shadow: 0 0 0 3px rgba(215, 166, 41, 0.22);
    outline: none;
}

.woocommerce ::placeholder,
.woocommerce-page ::placeholder {
    color: rgba(255, 255, 255, 0.52);
    opacity: 1;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--cz-wc-white);
    line-height: 22px;
    padding: 0;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
    min-height: 48px;
}

.select2-dropdown {
    background: var(--cz-charcoal);
    border-color: var(--cz-wc-gold);
    color: var(--cz-wc-white);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background: var(--cz-wc-gold);
    color: var(--cz-charcoal);
}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce .button,
.woocommerce-page .button {
    align-items: center;
    background: var(--cz-wc-gold);
    border: 1px solid var(--cz-wc-gold);
    border-radius: 8px;
    color: var(--cz-charcoal);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 900;
    justify-content: center;
    letter-spacing: 0.04em;
    line-height: 1.2;
    min-height: 48px;
    padding: 12px 20px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.woocommerce-page button.button:hover,
.woocommerce-page button.button:focus,
.woocommerce-page a.button:hover,
.woocommerce-page a.button:focus,
.woocommerce-page input.button:hover,
.woocommerce-page input.button:focus,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page #respond input#submit:focus {
    background: var(--cz-wc-gold-light);
    border-color: var(--cz-wc-gold-light);
    color: var(--cz-charcoal);
    transform: translateY(-1px);
}

.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    background: var(--cz-wc-gold);
    border-color: var(--cz-wc-gold);
    color: var(--cz-charcoal);
    width: auto;
}

.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
    background: var(--cz-grey);
    border-color: var(--cz-grey);
    color: rgba(255, 255, 255, 0.68);
    cursor: not-allowed;
    opacity: 1;
}

.woocommerce .quantity .qty {
    max-width: 92px;
    text-align: center;
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
    border-left: 4px solid var(--cz-wc-gold);
    margin: 0 0 22px;
    padding: 16px 18px 16px 52px;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before {
    color: var(--cz-wc-gold-light);
    top: 17px;
}

.woocommerce .woocommerce-error {
    border-color: rgba(255, 181, 181, 0.62);
    color: var(--cz-wc-danger);
}

.woocommerce .woocommerce-error::before {
    color: var(--cz-wc-danger);
    top: 17px;
}

.woocommerce .woocommerce-message {
    border-left-color: rgba(198, 246, 213, 0.72);
}

.woocommerce .woocommerce-message::before {
    color: var(--cz-wc-success);
}

.woocommerce .woocommerce-info a,
.woocommerce .woocommerce-message a,
.woocommerce .woocommerce-error a {
    color: var(--cz-wc-white);
    font-weight: 800;
}

.woocommerce #payment,
.woocommerce-checkout #payment {
    background: var(--cz-wc-panel-soft);
    border: 1px solid var(--cz-wc-border);
    border-radius: 8px;
    color: var(--cz-wc-white);
}

.woocommerce #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom-color: var(--cz-wc-border);
    padding: 18px;
}

.woocommerce #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background: var(--cz-charcoal);
    color: var(--cz-wc-muted);
}

.woocommerce #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--cz-charcoal);
}

.woocommerce #payment div.form-row,
.woocommerce-checkout #payment div.form-row {
    padding: 18px;
}

.woocommerce .woocommerce-privacy-policy-text p {
    font-size: 0.92rem;
}

.woocommerce .product-name,
.woocommerce .product-total,
.woocommerce .cart-subtotal th,
.woocommerce .order-total th,
.woocommerce .cart-subtotal td,
.woocommerce .order-total td {
    color: var(--cz-wc-white);
}

.woocommerce .order-total .amount,
.woocommerce .cart_totals .order-total .amount {
    color: var(--cz-wc-gold-light);
    font-size: 1.12rem;
}

.woocommerce .remove {
    color: var(--cz-wc-gold-light) !important;
}

.woocommerce .remove:hover,
.woocommerce .remove:focus {
    background: var(--cz-wc-gold) !important;
    color: var(--cz-charcoal) !important;
}

.woocommerce .woocommerce-checkout-review-order-table {
    margin-bottom: 22px;
}

.woocommerce .woocommerce-form-login-toggle,
.woocommerce .woocommerce-form-coupon-toggle {
    margin-bottom: 16px;
}

.cashzone-set-password-grid {
    align-items: start !important;
    display: grid !important;
    gap: 28px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.cashzone-set-password-grid .form-row,
.cashzone-set-password-grid .woocommerce-form-row {
    margin: 0 !important;
}

body.woocommerce-reset-password input[type="password"],
body.woocommerce-lost-password input[type="password"] {
    height: 56px !important;
}

.cashzone-password-strength-wrap,
.woocommerce-password-strength {
    margin-top: 18px !important;
    max-width: 420px !important;
}

.woocommerce-password-strength {
    background: var(--cz-charcoal) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 10px !important;
    color: var(--cz-warm-white) !important;
    font-weight: 700 !important;
    padding: 12px 16px !important;
}

.woocommerce-password-strength.strong {
    border-color: #2ecc71 !important;
    color: #2ecc71 !important;
}

.woocommerce-password-strength.good {
    border-color: var(--cz-yellow) !important;
    color: var(--cz-yellow) !important;
}

.woocommerce-password-strength.bad,
.woocommerce-password-strength.short {
    border-color: #e74c3c !important;
    color: #e74c3c !important;
}

.cashzone-password-strength-wrap .woocommerce-password-strength:first-child {
    margin-top: 0 !important;
}

.cashzone-password-strength-wrap .woocommerce-password-hint {
    color: var(--cz-wc-muted);
    display: block;
    line-height: 1.5;
    margin-top: 10px;
    max-width: 420px;
}

.cashzone-set-password-actions {
    display: flex;
    justify-content: center;
    margin: 24px 0 0 !important;
}

.woocommerce .cashzone-account-details {
    background: var(--cz-warm-white);
    border: 1px solid rgba(226, 177, 38, 0.45);
    border-radius: 16px;
    display: grid;
    gap: 26px;
    margin: 0 auto;
    max-width: 900px;
    padding: clamp(22px, 4vw, 34px);
}

.woocommerce .cashzone-account-details__header {
    border-bottom: 1px solid var(--cz-wc-border);
    padding-bottom: 20px;
}

.woocommerce .cashzone-account-details__header h2 {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    line-height: 1.12;
    margin: 0 0 8px;
}

.woocommerce .cashzone-account-details__header p {
    margin: 0;
    max-width: 680px;
}

.woocommerce .cashzone-account-section {
    border-top: 1px solid var(--cz-wc-border);
    display: grid;
    gap: 16px;
    padding-top: 24px;
}

.woocommerce .cashzone-account-section:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.woocommerce .cashzone-account-section h3 {
    color: var(--cz-wc-gold-light);
    font-size: 1.08rem;
    font-weight: 900;
    letter-spacing: 0;
    margin: 0;
}

.woocommerce .cashzone-account-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce .cashzone-account-grid .form-row {
    float: none;
    margin: 0;
    width: 100%;
}

.woocommerce .cashzone-field-full {
    grid-column: 1 / -1;
}

.woocommerce .cashzone-account-help {
    color: var(--cz-wc-muted);
    display: block;
    font-size: 0.88rem;
    line-height: 1.45;
    margin-top: 7px;
}

.woocommerce .cashzone-account-checkbox-row {
    margin: 0;
}

.woocommerce .cashzone-account-checkbox-row label {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    margin: 0;
}

.woocommerce .cashzone-account-checkbox-row input[type="checkbox"] {
    accent-color: var(--cz-wc-gold);
    height: 18px;
    width: 18px;
}

.woocommerce .cashzone-postal-fields[hidden],
.woocommerce .cz-account-postal-fields[hidden] {
    display: none;
}

.woocommerce .cashzone-account-actions {
    margin: 0;
}

.woocommerce .cashzone-account-actions .button {
    min-width: 220px;
}

@media (min-width: 769px) {
    .woocommerce-account .woocommerce::before,
    .woocommerce-account .woocommerce::after {
        display: none;
    }

    .woocommerce .col2-set {
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce .col2-set::before,
    .woocommerce .col2-set::after {
        display: none;
    }

    .woocommerce .col2-set .col-1,
    .woocommerce .col2-set .col-2 {
        float: none;
        width: auto;
    }

    .woocommerce .u-columns.col2-set {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 768px) {
    .woocommerce .woocommerce {
        padding-left: 14px;
        padding-right: 14px;
    }

    .woocommerce .u-columns.col2-set {
        display: grid;
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .woocommerce .cashzone-account-grid {
        grid-template-columns: 1fr;
    }

    .woocommerce .u-columns.col2-set > .u-column1,
    .woocommerce .u-columns.col2-set > .u-column2 {
        float: none;
        width: 100%;
    }

    .woocommerce .coupon {
        flex-direction: column;
    }

    .woocommerce .coupon .input-text,
    .woocommerce .coupon .button,
    .woocommerce table.cart td.actions .button,
    .woocommerce table.cart td.actions .input-text {
        width: 100%;
    }

    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
        background: var(--cz-wc-panel);
        border: 1px solid var(--cz-wc-border);
        border-radius: 8px;
        display: block;
        margin-bottom: 12px;
        padding: 6px 0;
    }

    .woocommerce table.shop_table_responsive tr:nth-child(even) td,
    .woocommerce-page table.shop_table_responsive tr:nth-child(even) td {
        background: transparent;
    }

    .woocommerce table.shop_table_responsive tr td,
    .woocommerce-page table.shop_table_responsive tr td {
        border: 0;
        display: flex;
        justify-content: space-between;
        gap: 16px;
        min-height: 44px;
        padding: 10px 14px;
        text-align: right !important;
    }

    .woocommerce table.shop_table_responsive tr td::before,
    .woocommerce-page table.shop_table_responsive tr td::before {
        color: var(--cz-wc-gold-light);
        content: attr(data-title);
        float: none;
        font-weight: 800;
        text-align: left;
    }

    .woocommerce table.shop_table_responsive thead,
    .woocommerce-page table.shop_table_responsive thead {
        display: none;
    }

    .woocommerce .woocommerce-info,
    .woocommerce .woocommerce-message,
    .woocommerce .woocommerce-error {
        padding-left: 44px;
    }
}

@media (max-width: 560px) {
    .woocommerce .woocommerce {
        padding-top: 20px;
    }

    .woocommerce .cart_totals,
    .woocommerce .cross-sells,
    .woocommerce form.checkout,
    .woocommerce .woocommerce-billing-fields,
    .woocommerce .woocommerce-shipping-fields,
    .woocommerce .woocommerce-additional-fields,
    .woocommerce #order_review,
    .woocommerce .woocommerce-order,
    .woocommerce .woocommerce-customer-details,
    .woocommerce .woocommerce-order-details,
    .woocommerce .woocommerce-Address,
    .woocommerce .woocommerce-form-login,
    .woocommerce .woocommerce-form-register,
    .woocommerce .woocommerce-ResetPassword,
    .woocommerce .checkout_coupon {
        padding: 16px;
    }

    .woocommerce button.button,
    .woocommerce a.button,
    .woocommerce input.button,
    .woocommerce #respond input#submit,
    .woocommerce-page button.button,
    .woocommerce-page a.button,
    .woocommerce-page input.button,
    .woocommerce-page #respond input#submit {
        width: 100%;
    }

    .woocommerce table.cart img {
        max-width: 58px;
    }
}

@media (max-width: 760px) {
    .cashzone-set-password-grid {
        grid-template-columns: 1fr !important;
    }

    .cashzone-password-strength-wrap,
    .woocommerce-password-strength {
        max-width: 100% !important;
    }
}

.cashzone-support-box {
  background: #141414 !important;
  border: 1px solid rgba(226,177,38,.45) !important;
  border-radius: 18px !important;
  padding: 28px 24px !important;
  text-align: center !important;
}

.cashzone-support-icon-wrap {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}

.cashzone-support-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: var(--cz-yellow) !important;
  color: var(--cz-charcoal) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cashzone-support-icon svg {
  width: 28px !important;
  height: 28px !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 2 !important;
}

.cashzone-support-box h3 {
  color: var(--cz-warm-white) !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

.cashzone-support-box p {
  color: var(--cz-grey) !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  margin: 0 0 28px !important;
}

.cashzone-support-button-wrap {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.cashzone-support-button {
  width: 210px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
  background: var(--cz-yellow) !important;
  color: var(--cz-charcoal) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  border: none !important;
}

.cashzone-support-button:hover {
  background: var(--cz-gold) !important;
  color: var(--cz-charcoal) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce {
    max-width: 1180px;
}

/* My Account page shell reset: keep the site shell full-width and constrain only the account card. */
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) #content,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .site-content,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .container,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .grid-container,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .content-area,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .site-main,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) main,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .inside-article,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .entry-content,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .woocommerce {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    width: 100% !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cashzone-login-wrap {
    align-items: center !important;
    background: transparent !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    margin: 70px calc(50% - 50vw) 60px !important;
    max-width: none !important;
    padding: 0 !important;
    transform: none !important;
    width: 100vw !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cashzone-login-panel {
    box-sizing: border-box !important;
    flex: 0 1 auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(1180px, calc(100vw - 48px)) !important;
    transform: none !important;
    width: min(1180px, calc(100vw - 48px)) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set > .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set > .u-column2 {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-panel {
    background: var(--cz-black);
    border: 1px solid var(--cz-border-gold);
    border-radius: 18px;
    max-width: 1100px;
    overflow: hidden;
    padding: clamp(24px, 4vw, 36px);
    width: 100%;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-intro {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    margin-bottom: 32px;
    padding-bottom: 26px;
    text-align: center;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-intro h2 {
    color: var(--cz-white);
    font-size: clamp(1.9rem, 4vw, 2.65rem);
    line-height: 1.1;
    margin: 0;
    text-transform: none;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-intro h2::after {
    background: var(--cz-gold);
    border-radius: 999px;
    content: "";
    display: block;
    height: 3px;
    margin: 18px auto 0;
    width: 86px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-intro p {
    color: var(--cz-text);
    line-height: 1.65;
    margin: 18px auto 0;
    max-width: 760px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-grid {
    align-items: stretch;
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.woocommerce-account:not(.logged-in) .cashzone-login-grid--single {
    grid-template-columns: minmax(0, 1fr);
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card {
    background: var(--cz-panel);
    border: 1px solid var(--cz-border-gold);
    border-radius: 18px;
    color: var(--cz-text);
    display: flex;
    flex-direction: column;
    min-height: 560px;
    min-width: 0;
    padding: 34px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card__header {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 58px minmax(0, 1fr);
    margin-bottom: 28px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card__icon,
body.woocommerce-account:not(.logged-in) .cashzone-login-trust-icon {
    align-items: center;
    background: var(--cz-gold);
    border-radius: 50%;
    color: #000000;
    display: flex;
    height: 52px;
    justify-content: center;
    width: 52px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card__icon svg,
body.woocommerce-account:not(.logged-in) .cashzone-login-trust-icon svg {
    fill: none;
    height: 28px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 28px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card h3 {
    color: var(--cz-white);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 8px;
    text-transform: none;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card__header p {
    color: var(--cz-text);
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) .woocommerce form.login,
body.woocommerce-account:not(.logged-in) .woocommerce form.register,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-register {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card form {
    display: flex;
    flex: 1;
    flex-direction: column;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .form-row {
    margin: 0 0 18px;
    padding: 0;
    width: 100%;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card label {
    color: var(--cz-white);
    display: block;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 8px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="text"],
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="email"],
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="password"] {
    background: var(--cz-card) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    color: var(--cz-white) !important;
    height: 52px !important;
    padding: 0 16px !important;
    width: 100% !important;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="text"]:focus,
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="email"]:focus,
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="password"]:focus {
    border-color: var(--cz-gold) !important;
    outline: 2px solid rgba(212, 173, 58, 0.18);
    outline-offset: 0;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .password-input {
    display: block;
    width: 100%;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .show-password-input {
    color: var(--cz-gold);
    top: 50%;
    transform: translateY(-50%);
}

body.woocommerce-account:not(.logged-in) .cashzone-login-actions {
    margin-top: auto;
    padding-top: 24px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card button,
body.woocommerce-account:not(.logged-in) .cashzone-login-card .button,
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="submit"] {
    align-items: center !important;
    background: var(--cz-gold) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #000000 !important;
    display: flex !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    height: 54px !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 18px !important;
    text-align: center !important;
    text-transform: none !important;
    width: 100% !important;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card button:hover,
body.woocommerce-account:not(.logged-in) .cashzone-login-card .button:hover,
body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="submit"]:hover {
    background: var(--cz-gold-hover) !important;
    color: #000000 !important;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .woocommerce-form-login__rememberme {
    align-items: center;
    color: var(--cz-muted);
    display: inline-flex;
    gap: 10px;
    margin: 0 0 18px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .woocommerce-form-login__rememberme input {
    accent-color: var(--cz-gold);
    flex: 0 0 auto;
    height: 18px;
    width: 18px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .lost_password {
    margin: 16px 0 0;
    text-align: center;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .lost_password a,
body.woocommerce-account:not(.logged-in) .cashzone-login-card .woocommerce-privacy-policy-text a,
body.woocommerce-account:not(.logged-in) .cashzone-login-card .cz-marketing-optin a {
    color: var(--cz-gold);
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .woocommerce-privacy-policy-text {
    color: var(--cz-muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 4px 0 18px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .woocommerce-privacy-policy-text p {
    color: inherit;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .cz-marketing-optin {
    margin: 4px 0 18px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .cz-marketing-optin label {
    align-items: flex-start;
    color: var(--cz-muted);
    display: flex;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    margin: 0;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card .cz-marketing-optin input {
    accent-color: var(--cz-gold);
    flex: 0 0 auto;
    height: 18px;
    margin-top: 2px;
    width: 18px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-card ::selection {
    background: rgba(212, 173, 58, 0.38);
    color: var(--cz-white);
}

body.woocommerce-account:not(.logged-in) .cashzone-login-trust {
    background: var(--cz-panel);
    border: 1px solid var(--cz-border-gold);
    border-radius: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 32px;
    overflow: hidden;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item {
    align-items: center;
    background: var(--cz-panel);
    color: var(--cz-text);
    display: grid;
    gap: 18px;
    grid-template-columns: 58px minmax(0, 1fr);
    min-width: 0;
    padding: 28px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item + .cashzone-login-trust-item {
    border-left: 1px solid rgba(212, 173, 58, 0.28);
}

body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item strong {
    color: var(--cz-gold);
    display: block;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 6px;
}

body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item span span {
    color: var(--cz-text);
    display: block;
    font-size: 15px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    body.woocommerce-account:not(.logged-in) .cashzone-login-panel {
        padding: 24px;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-grid,
    body.woocommerce-account:not(.logged-in) .cashzone-login-trust {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-card {
        min-height: 0;
        padding: 26px;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item + .cashzone-login-trust-item {
        border-left: 0;
        border-top: 1px solid rgba(212, 173, 58, 0.28);
    }
}

@media (max-width: 560px) {
    body.woocommerce-account:not(.logged-in) .cashzone-login-panel {
        padding: 18px;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-card {
        padding: 22px;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-card__header,
    body.woocommerce-account:not(.logged-in) .cashzone-login-trust-item {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    body.woocommerce-account:not(.logged-in) .cashzone-login-card button,
    body.woocommerce-account:not(.logged-in) .cashzone-login-card .button,
    body.woocommerce-account:not(.logged-in) .cashzone-login-card input[type="submit"] {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 260px;
    }
}

body.woocommerce-reset-password .woocommerce-ResetPassword,
body.woocommerce-lost-password .woocommerce-ResetPassword {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  float: none !important;
}

body.woocommerce-reset-password .lost_reset_password,
body.woocommerce-lost-password .lost_reset_password {
  clear: both !important;
}

body.woocommerce-lost-password,
body.woocommerce-reset-password {
  background: #000 !important;
}

body.woocommerce-lost-password .site-main,
body.woocommerce-reset-password .site-main,
body.woocommerce-lost-password .content-area,
body.woocommerce-reset-password .content-area,
body.woocommerce-lost-password .entry-content,
body.woocommerce-reset-password .entry-content,
body.woocommerce-lost-password .woocommerce,
body.woocommerce-reset-password .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  float: none !important;
  box-sizing: border-box !important;
}

.cashzone-password-reset-wrap,
.cashzone-set-password-wrap {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 80px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.cashzone-password-reset-panel,
.cashzone-set-password-panel {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  float: none !important;
}

.cashzone-set-password-grid {
  width: 100% !important;
  max-width: 760px !important;
  margin: 36px auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

body.woocommerce-reset-password .woocommerce-notices-wrapper,
body.woocommerce-lost-password .woocommerce-notices-wrapper {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto 20px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

body.woocommerce-reset-password .woocommerce-message,
body.woocommerce-lost-password .woocommerce-message,
.cashzone-success-notice {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  background: #0d0d0d !important;
  border: 1px solid rgba(212,173,58,.45) !important;
  border-left: 4px solid #d4ad3a !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .cashzone-password-reset-wrap,
  .cashzone-set-password-wrap,
  body.woocommerce-reset-password .woocommerce-notices-wrapper {
    padding: 0 16px !important;
  }

  .cashzone-password-reset-panel,
  .cashzone-set-password-panel,
  body.woocommerce-reset-password .woocommerce-message {
    max-width: 100% !important;
  }

  .cashzone-set-password-grid {
    grid-template-columns: 1fr !important;
  }
}

body.woocommerce-lost-password,
body.woocommerce-lost-password #page,
body.woocommerce-lost-password .site,
body.woocommerce-lost-password .site-content,
body.woocommerce-lost-password .content-area,
body.woocommerce-lost-password .entry-content,
body.woocommerce-lost-password .woocommerce {
  background: #23231F !important;
  color: #DDDDDD !important;
}

body.woocommerce-lost-password .woocommerce {
  max-width: 100% !important;
  padding: 0 !important;
}

body.woocommerce-lost-password .woocommerce-ResetPassword.cz-lostpass-form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.cz-lostpass-page {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 72px auto 62px !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

.cz-lostpass-shell {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 46px !important;
  background: #23231F !important;
  border: 1px solid rgba(212,173,58,.45) !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

.cz-lostpass-header {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.cz-lostpass-header h1 {
  display: block !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  text-align: center !important;
  text-transform: none !important;
}

.cz-lostpass-header p {
  color: #DDDDDD !important;
  opacity: 1 !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  margin: 0 auto !important;
  max-width: 650px !important;
  text-align: center !important;
}

.cz-lostpass-header::after {
  content: "";
  display: block;
  width: 96px;
  height: 3px;
  background: #D4AD3A;
  border-radius: 999px;
  margin: 22px auto 26px !important;
}

.cz-lostpass-card {
  background: #141414 !important;
  border: 1px solid rgba(212,173,58,.45) !important;
  border-radius: 16px !important;
  padding: 34px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(420px, 1fr) 220px !important;
  gap: 28px !important;
  align-items: end !important;
}

.cz-lostpass-form-row,
.cz-lostpass-actions {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.cz-lostpass-card label {
  display: block !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
}

.cz-lostpass-card input[type="text"],
.cz-lostpass-card input[type="email"] {
  width: 100% !important;
  min-width: 360px !important;
  height: 54px !important;
  min-height: 54px !important;
  background: #101010 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}

.cz-lostpass-card input::placeholder {
  color: rgba(255,255,255,.55) !important;
}

.cz-lostpass-card input:focus {
  border-color: #D4AD3A !important;
  box-shadow: 0 0 0 2px rgba(212,173,58,.18) !important;
  outline: none !important;
}

.cz-lostpass-card button,
.cz-lostpass-card .button,
.cz-lostpass-card input[type="submit"] {
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  background: #D4AD3A !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cz-lostpass-card button:hover,
.cz-lostpass-card .button:hover,
.cz-lostpass-card input[type="submit"]:hover {
  background: #E0B93C !important;
  color: #000000 !important;
}

@media (max-width: 760px) {
  .cz-lostpass-shell {
    padding: 30px 20px !important;
  }

  .cz-lostpass-card {
    grid-template-columns: 1fr !important;
  }

  .cz-lostpass-card input[type="text"],
  .cz-lostpass-card input[type="email"] {
    min-width: 0 !important;
  }

  .cz-lostpass-header h1 {
    font-size: 34px !important;
  }
}

body.woocommerce-lost-password .cz-lostpass-header h1,
body.woocommerce-account .cz-lostpass-header h1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #FFFFFF !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  text-indent: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  position: relative !important;
  z-index: 2 !important;
}

body.woocommerce-lost-password .cz-lostpass-header {
  text-align: center !important;
  margin-bottom: 32px !important;
}

body.woocommerce-lost-password .cz-lostpass-card input[type="text"],
body.woocommerce-lost-password .cz-lostpass-card input[type="email"] {
  background: #101010 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

body.woocommerce-lost-password .cz-lostpass-card button,
body.woocommerce-lost-password .cz-lostpass-card .button,
body.woocommerce-lost-password .cz-lostpass-card input[type="submit"] {
  background: #D4AD3A !important;
  color: #000000 !important;
}

/* Password reset flow final Cashzone lock-in. */
body.woocommerce-lost-password,
body.woocommerce-reset-password,
body.woocommerce-lost-password #page,
body.woocommerce-reset-password #page,
body.woocommerce-lost-password .site,
body.woocommerce-reset-password .site,
body.woocommerce-lost-password .site-content,
body.woocommerce-reset-password .site-content,
body.woocommerce-lost-password .content-area,
body.woocommerce-reset-password .content-area,
body.woocommerce-lost-password .site-main,
body.woocommerce-reset-password .site-main,
body.woocommerce-lost-password .entry-content,
body.woocommerce-reset-password .entry-content,
body.woocommerce-lost-password .woocommerce,
body.woocommerce-reset-password .woocommerce {
  background: #242421 !important;
  background-color: #242421 !important;
  background-image: none !important;
  color: #E8E8E2 !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
}

body.woocommerce-lost-password .entry-content,
body.woocommerce-reset-password .entry-content,
body.woocommerce-lost-password .woocommerce,
body.woocommerce-reset-password .woocommerce {
  box-sizing: border-box !important;
  display: block !important;
  float: none !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  width: 100% !important;
}

.cz-lostpass-page,
.cz-reset-sent-page,
.cz-resetflow-page {
  box-sizing: border-box !important;
  margin: 72px auto 64px !important;
  max-width: 1180px !important;
  padding: 0 24px !important;
  width: 100% !important;
}

.cz-lostpass-shell,
.cz-reset-sent-shell,
.cz-resetflow-shell {
  background: #2b2b27 !important;
  background-color: #2b2b27 !important;
  background-image: none !important;
  border: 1px solid #5f5a2a !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28) !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 860px !important;
  padding: 46px !important;
  width: 100% !important;
}

.cz-reset-sent-shell {
  max-width: 820px !important;
}

.cz-lostpass-card,
.cz-reset-sent-card,
.cz-resetflow-card {
  background: #2b2b27 !important;
  background-color: #2b2b27 !important;
  background-image: none !important;
  border: 1px solid #5f5a2a !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #E8E8E2 !important;
}

.cz-resetflow-card,
.cz-reset-sent-card {
  padding: 38px 34px !important;
  text-align: center !important;
}

.cz-lostpass-header,
.cz-resetflow-header {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 auto 32px !important;
  max-width: 680px !important;
  padding: 0 !important;
  text-align: center !important;
}

.cz-lostpass-header h1,
.cz-resetflow-header h1,
body.woocommerce-lost-password .cz-reset-sent-card h1,
.cz-reset-sent-card h1,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .cz-resetflow-header h1,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .cz-resetflow-header h1 {
  color: #FFFFFF !important;
  display: block !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  font-size: clamp(2rem, 4vw, 2.625rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  margin: 0 0 14px !important;
  text-align: center !important;
  text-transform: none !important;
}

.cz-lostpass-header p,
.cz-resetflow-header p,
.cz-reset-sent-card p {
  color: #E8E8E2 !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
  margin: 0 auto 14px !important;
  max-width: 650px !important;
  text-align: center !important;
  text-transform: none !important;
}

.cz-lostpass-header::after,
.cz-resetflow-header::after {
  background: #F7E653 !important;
  border-radius: 999px !important;
  content: "" !important;
  display: block !important;
  height: 3px !important;
  margin: 22px auto 0 !important;
  width: 96px !important;
}

.cz-lostpass-card {
  align-items: end !important;
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: minmax(0, 1fr) 220px !important;
  padding: 34px !important;
}

body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card form.cashzone-set-password-form,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card form.cashzone-set-password-form {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: 760px !important;
  padding: 0 !important;
}

body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .password-input,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .password-input {
  display: block !important;
  width: 100% !important;
}

.cz-lostpass-card label,
.cz-resetflow-card label,
body.woocommerce-reset-password .cashzone-set-password-form label,
body.woocommerce-lost-password .cz-lostpass-card label {
  color: #FFFFFF !important;
  display: block !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin: 0 0 10px !important;
  text-transform: none !important;
}

.cz-lostpass-card input[type="text"],
.cz-lostpass-card input[type="email"],
.cz-resetflow-card input[type="password"],
body.woocommerce-reset-password .cashzone-set-password-form input[type="password"],
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-lostpass-card .form-row input.input-text[type="text"],
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-lostpass-card .form-row input.input-text[type="email"],
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .form-row input.input-text[type="password"],
body.woocommerce-account.woocommerce-lost-password .woocommerce .cashzone-set-password-form .form-row input.input-text[type="password"],
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .form-row input.input-text[type="password"],
body.woocommerce-account.woocommerce-reset-password .woocommerce .cashzone-set-password-form .form-row input.input-text[type="password"] {
  background: #1f1f1b !important;
  background-color: #1f1f1b !important;
  background-image: none !important;
  border: 1px solid #5f5a2a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #FFFFFF !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  height: 54px !important;
  min-height: 54px !important;
  min-width: 0 !important;
  padding: 0 14px !important;
  width: 100% !important;
}

.cz-lostpass-card input:focus,
.cz-resetflow-card input:focus,
body.woocommerce-reset-password .cashzone-set-password-form input[type="password"]:focus,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-lostpass-card .form-row input.input-text:focus,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .form-row input.input-text:focus,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cashzone-set-password-form .form-row input.input-text:focus,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .form-row input.input-text:focus,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cashzone-set-password-form .form-row input.input-text:focus {
  border-color: #F7E653 !important;
  box-shadow: none !important;
  outline: 2px solid rgba(247, 230, 83, 0.42) !important;
  outline-offset: 2px !important;
}

.cashzone-set-password-grid {
  align-items: start !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 auto !important;
  max-width: 760px !important;
  width: 100% !important;
}

.cashzone-set-password-grid .form-row,
.cashzone-set-password-grid .woocommerce-form-row,
.cz-lostpass-actions,
.cashzone-set-password-actions {
  margin: 0 !important;
  padding: 0 !important;
}

.cashzone-password-strength-wrap {
  margin: 18px auto 0 !important;
  max-width: 760px !important;
  text-align: left !important;
}

.woocommerce-password-strength {
  background: #1f1f1b !important;
  border: 1px solid #5f5a2a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #E8E8E2 !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  margin: 0 !important;
  max-width: 100% !important;
  padding: 12px 16px !important;
}

.cashzone-password-strength-wrap .woocommerce-password-hint {
  color: #C9C9C1 !important;
  display: block !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin-top: 10px !important;
  max-width: 760px !important;
}

.cashzone-set-password-actions {
  display: flex !important;
  justify-content: center !important;
  margin-top: 28px !important;
}

.cz-lostpass-card button,
.cz-lostpass-card .button,
.cz-lostpass-card input[type="submit"],
.cz-resetflow-card button,
.cz-resetflow-card .button,
.cz-reset-sent-button,
.cz-reset-sent-button:visited,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-lostpass-card .cz-lostpass-actions button.button,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .cashzone-set-password-actions button.button,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .cashzone-set-password-actions button.button {
  align-items: center !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  min-height: 54px !important;
  padding: 0 26px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
}

.cz-lostpass-card button,
.cz-lostpass-card .button,
.cz-lostpass-card input[type="submit"],
.cz-resetflow-card button,
.cz-resetflow-card .button,
.cz-reset-sent-button--primary,
.cz-reset-sent-button--primary:visited,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-lostpass-card .cz-lostpass-actions button.button,
body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .cashzone-set-password-actions button.button,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .cashzone-set-password-actions button.button {
  background: #F7E653 !important;
  border: 1px solid #F7E653 !important;
  color: #242421 !important;
}

body.woocommerce-account.woocommerce-lost-password .woocommerce .cz-resetflow-card .password-input .show-password-input,
body.woocommerce-account.woocommerce-reset-password .woocommerce .cz-resetflow-card .password-input .show-password-input {
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #5f5a2a !important;
  border-radius: 0 12px 12px 0 !important;
  box-shadow: none !important;
  color: #F7E653 !important;
}

.cz-lostpass-card button:hover,
.cz-lostpass-card .button:hover,
.cz-lostpass-card input[type="submit"]:hover,
.cz-resetflow-card button:hover,
.cz-resetflow-card .button:hover,
.cz-reset-sent-button--primary:hover,
.cz-reset-sent-button--primary:focus {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #242421 !important;
  transform: translateY(-1px) !important;
}

.cz-reset-sent-button--secondary,
.cz-reset-sent-button--secondary:visited {
  background: #1f1f1b !important;
  border: 1px solid #5f5a2a !important;
  color: #F7E653 !important;
}

.cz-reset-sent-button--secondary:hover,
.cz-reset-sent-button--secondary:focus {
  background: #242421 !important;
  border-color: #F7E653 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

.cz-reset-sent-icon {
  align-items: center !important;
  background: #F7E653 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  height: 72px !important;
  justify-content: center !important;
  margin: 0 auto 24px !important;
  width: 72px !important;
}

.cz-reset-sent-icon svg {
  fill: #242421 !important;
  height: 34px !important;
  width: 34px !important;
}

.cz-reset-sent-card .cz-reset-sent-support {
  color: #C9C9C1 !important;
  font-size: 15px !important;
  margin-bottom: 0 !important;
}

.cz-reset-sent-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  justify-content: center !important;
  margin-top: 30px !important;
}

.cz-reset-sent-button {
  min-width: 190px !important;
}

.cz-reset-sent-footer {
  border-top: 1px solid #5f5a2a !important;
  margin-top: 30px !important;
  padding-top: 22px !important;
}

.cz-reset-sent-footer p {
  color: #C9C9C1 !important;
  font-size: 14px !important;
  margin-bottom: 0 !important;
}

.cz-reset-sent-footer .cz-reset-sent-footer__label {
  color: #F7E653 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

body.woocommerce-lost-password .woocommerce-notices-wrapper,
body.woocommerce-reset-password .woocommerce-notices-wrapper,
body.woocommerce-lost-password .woocommerce-message,
body.woocommerce-reset-password .woocommerce-message,
body.woocommerce-lost-password .woocommerce-info,
body.woocommerce-reset-password .woocommerce-info {
  background: #2b2b27 !important;
  border: 1px solid #5f5a2a !important;
  border-left: 4px solid #F7E653 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #E8E8E2 !important;
  font-family: Poppins, Arial, Helvetica, sans-serif !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 860px !important;
}

@media (max-width: 760px) {
  .cz-lostpass-page,
  .cz-reset-sent-page,
  .cz-resetflow-page {
    margin: 52px auto 46px !important;
    max-width: 100% !important;
    padding: 0 16px !important;
    width: 100% !important;
  }

  .cz-lostpass-shell,
  .cz-reset-sent-shell,
  .cz-resetflow-shell {
    max-width: 100% !important;
    padding: 28px 18px !important;
  }

  .cz-lostpass-card,
  .cz-reset-sent-card,
  .cz-resetflow-card {
    padding: 28px 18px !important;
  }

  .cz-lostpass-card,
  .cashzone-set-password-grid {
    grid-template-columns: 1fr !important;
  }

  .cz-lostpass-header h1,
  .cz-resetflow-header h1,
  .cz-reset-sent-card h1 {
    font-size: 32px !important;
  }

  .cz-lostpass-card button,
  .cz-lostpass-card .button,
  .cz-lostpass-card input[type="submit"],
  .cz-resetflow-card button,
  .cz-resetflow-card .button,
  .cz-reset-sent-button {
    min-width: 0 !important;
    width: 100% !important;
  }

  .cz-reset-sent-actions {
    flex-direction: column !important;
  }
}

/* Logged-out My Account action order lock-in. */
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-card {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-card form {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-register-actions {
  display: flex !important;
  flex-direction: column !important;
  margin-top: auto !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-register-actions {
  margin-bottom: 48px !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions button,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions input[type="submit"],
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-register-actions button,
body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-register-actions input[type="submit"] {
  height: 54px !important;
  order: 2 !important;
  width: 100% !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions .woocommerce-form-login__rememberme {
  align-items: center !important;
  display: flex !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  order: 1 !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions .woocommerce-form-login__rememberme input[type="checkbox"] {
  height: 16px !important;
  margin: 0 !important;
  width: 16px !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions .lost_password {
  margin: 24px 0 0 !important;
  order: 3 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-login-actions .lost_password a {
  color: #F7E653 !important;
  display: inline-block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  body.woocommerce-account:not(.logged-in):not(.woocommerce-lost-password):not(.woocommerce-reset-password) .cz-auth-register-actions {
    margin-bottom: 0 !important;
  }
}

/* Password reset flow top separator cleanup. */
body.woocommerce-lost-password::before,
body.woocommerce-reset-password::before,
body.woocommerce-lost-password #page::before,
body.woocommerce-reset-password #page::before,
body.woocommerce-lost-password .site::before,
body.woocommerce-reset-password .site::before,
body.woocommerce-lost-password .site-content::before,
body.woocommerce-reset-password .site-content::before,
body.woocommerce-lost-password .content-area::before,
body.woocommerce-reset-password .content-area::before,
body.woocommerce-lost-password .site-main::before,
body.woocommerce-reset-password .site-main::before,
body.woocommerce-lost-password .entry-content::before,
body.woocommerce-reset-password .entry-content::before,
body.woocommerce-lost-password .woocommerce::before,
body.woocommerce-reset-password .woocommerce::before,
body.woocommerce-lost-password .cz-lostpass-page::before,
body.woocommerce-reset-password .cz-lostpass-page::before,
body.woocommerce-lost-password .cz-reset-page::before,
body.woocommerce-reset-password .cz-reset-page::before,
body.woocommerce-lost-password .cz-resetflow-page::before,
body.woocommerce-reset-password .cz-resetflow-page::before,
body.woocommerce-lost-password .cz-reset-sent-page::before,
body.woocommerce-reset-password .cz-reset-sent-page::before {
  background: none !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  content: none !important;
  display: none !important;
}

body.woocommerce-lost-password #masthead.cashzone-site-header .cashzone-header-inner,
body.woocommerce-reset-password #masthead.cashzone-site-header .cashzone-header-inner {
  border-bottom: 0 !important;
}

body.woocommerce-lost-password #masthead.cz-main-header,
body.woocommerce-reset-password #masthead.cz-main-header {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-lost-password #masthead,
body.woocommerce-reset-password #masthead,
body.woocommerce-lost-password #masthead.site-header,
body.woocommerce-reset-password #masthead.site-header,
body.woocommerce-lost-password #masthead .header-inner,
body.woocommerce-reset-password #masthead .header-inner,
body.woocommerce-lost-password #masthead .cz-main-header-inner,
body.woocommerce-reset-password #masthead .cz-main-header-inner,
body.woocommerce-lost-password #masthead .cashzone-header-inner,
body.woocommerce-reset-password #masthead .cashzone-header-inner {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-lost-password .header-inner,
body.woocommerce-reset-password .header-inner,
body.woocommerce-lost-password .cashzone-header-inner,
body.woocommerce-reset-password .cashzone-header-inner,
body.woocommerce-lost-password .cz-main-header-inner,
body.woocommerce-reset-password .cz-main-header-inner {
  border-bottom-color: transparent !important;
  border-bottom-style: none !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-lost-password #masthead::before,
body.woocommerce-reset-password #masthead::before,
body.woocommerce-lost-password #masthead::after,
body.woocommerce-reset-password #masthead::after,
body.woocommerce-lost-password .cz-main-header::before,
body.woocommerce-reset-password .cz-main-header::before,
body.woocommerce-lost-password .cz-main-header::after,
body.woocommerce-reset-password .cz-main-header::after,
body.woocommerce-lost-password .cz-main-header-inner::before,
body.woocommerce-reset-password .cz-main-header-inner::before,
body.woocommerce-lost-password .cz-main-header-inner::after,
body.woocommerce-reset-password .cz-main-header-inner::after,
body.woocommerce-lost-password .cashzone-header-inner::before,
body.woocommerce-reset-password .cashzone-header-inner::before,
body.woocommerce-lost-password .cashzone-header-inner::after,
body.woocommerce-reset-password .cashzone-header-inner::after {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  display: none !important;
}

body.woocommerce-lost-password #masthead::after,
body.woocommerce-reset-password #masthead::after {
  background: #242421 !important;
  border: 0 !important;
  bottom: -3px !important;
  box-shadow: none !important;
  content: "" !important;
  display: block !important;
  height: 6px !important;
  left: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
  width: 100% !important;
}
