﻿:root {
    --tp-theme-shop: #2e80ff !important;
}

.single.single-product,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-shop {
    background-color: #fff !important;
}
.tp-product-item-thumb img,
.woocommerce-cart-form .product-thumbnail img {
    height: auto;
}

div .agntix-product.product.type-product .tp-product-item {
    margin-bottom: 40px;
}

body.archive.woocommerce-shop.woocommerce .added_to_cart.wc-forward {
    margin: 0px 0px 0px 10px !important;
}

.tp-product-details-thumb-wrapper.tp-tab ol {
    list-style: none;
}

.tp-product-details-thumb-wrapper.tp-tab ol li {
    margin-bottom: 5px;
}

.tp-product-details-thumb-wrapper.tp-tab ol li:last-child {
    margin-bottom: 0px;
}

.tp-product-details-thumb-wrapper.tp-tab ol li img {
    height: auto;
    border: 1px solid transparent;
    padding: 5px;
    border-radius: 5px;
}

.tp-product-details-thumb-wrapper.tp-tab ol li img.flex-active {
    border-color:  #ddd;
}

.woocommerce-product-gallery__image img {
    object-fit: cover;
}

.woocommerce-notices-wrapper:empty {
    display: none;
}

/* --- Store notices ------------------------------------------------------- */

/* WooCommerce's own look, reproduced here because core's stylesheet is
   dequeued in functions.php -- values are taken straight from woocommerce.css.
   `.woocommerce-info` is narrowed to the notices wrapper on purpose: the same
   class dresses the "Have a coupon?" bar on checkout, which keeps the dashed
   look it has in sops.css. */
.woocommerce-message,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info {
    position: relative;
    width: auto;
    margin: 0 0 2em;
    padding: 1em 2em 1em 3.1em;
    list-style: none outside;
    word-wrap: break-word;
    font-family: var(--tp-ff-onest);
    font-size: 15px;
    line-height: 1.5;
    color: #515151;
    background-color: #f6f5f8;
    border-top: 3px solid #a46497;
}

.woocommerce-message {
    border-top-color: #8fae1b;
}

.woocommerce-error {
    border-top-color: #b81c23;
}

.woocommerce-notices-wrapper .woocommerce-info {
    border-top-color: #1e85be;
}

/* Focus is set programmatically for screen readers (tabindex="-1"), so the ring
   would appear on every add to cart without a real keyboard interaction. */
.woocommerce-message:focus,
.woocommerce-error:focus {
    outline: none;
}

/* WooCommerce draws these from its own icon font, which ships with the same
   dequeued stylesheet, so Font Awesome stands in at the same size and place. */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-info::before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 1.5em;
    display: inline-block;
    font-family: var(--tp-ff-fontawesome);
    font-weight: 900;
    font-size: 15px;
    line-height: 1.5;
}

.woocommerce-message::before {
    content: "\f058";
    color: #8fae1b;
}

.woocommerce-error::before {
    content: "\f06a";
    color: #b81c23;
}

.woocommerce-notices-wrapper .woocommerce-info::before {
    content: "\f05a";
    color: #1e85be;
}

/* Text on the left, the action pushed to the right edge. WooCommerce floats
   the button; `margin-left: auto` lands it in the same place without the
   float's risk of escaping the notice box. */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

/* WooCommerce renders errors as a <ul>. */
.woocommerce-error li {
    list-style: none;
}

.woocommerce-error li + li {
    margin-top: 6px;
}

.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-notices-wrapper .woocommerce-info .button {
    display: inline-block;
    padding: 0.618em 1em;
    font-size: 100%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    white-space: nowrap;
    color: #515151;
    background-color: #8fae1b1c;
    background-image: none;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    transition: all 0.3s ease;
}

.woocommerce-message .button:hover,
.woocommerce-error .button:hover,
.woocommerce-notices-wrapper .woocommerce-info .button:hover {
    color: #8fae1b;
    text-decoration: none;
}

.woocommerce-error .button {
    margin-left: 12px;
}

.tp-product-details-action-wrapper .variations .value select {
    margin-right: 10px;
}

/* ==========================================================================
   Cart page — modern layout
   Loaded before sops.css, so cart rules are scoped to `body.woocommerce-cart`
   to win on specificity.
   ========================================================================== */

body.woocommerce-cart,
body.woocommerce-checkout {
    --agntix-cart-line: #ECEEF1;
    --agntix-cart-muted: #6B7280;
    --agntix-cart-soft: #F7F8FA;
    --agntix-cart-radius: 16px;
}

/* WooCommerce core styles are dequeued in functions.php, so the a11y-only
   labels inside the cart need their own hiding rule. */
body.woocommerce-cart .woocommerce-cart-form .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* --- Products table shell ------------------------------------------------ */

/* The table keeps its columns at every screen size and scrolls sideways
   instead of collapsing into stacked cards. */
body.woocommerce-cart .woocommerce-cart-form {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

body.woocommerce-cart .woocommerce-cart-form::-webkit-scrollbar {
    height: 6px;
}

body.woocommerce-cart .woocommerce-cart-form::-webkit-scrollbar-track {
    background-color: transparent;
}

body.woocommerce-cart .woocommerce-cart-form::-webkit-scrollbar-thumb {
    background-color: #D5D9DF;
    border-radius: 999px;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table.cart {
    min-width: 820px;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: var(--agntix-cart-radius);
    overflow: hidden;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead {
    background-color: var(--agntix-cart-soft);
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
    padding: 18px 16px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--agntix-cart-muted);
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
    text-align: center;
    white-space: nowrap;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-thumbnail {
    width: 132px;
    padding-left: 24px;
    text-align: left;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-name {
    text-align: left;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-quantity {
    width: 160px;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-remove {
    width: 90px;
    padding-right: 24px;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td {
    padding: 20px 16px;
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
    vertical-align: middle;
    text-align: center;
    background-color: transparent;
    transition: background-color 0.25s ease;
}

/* Image + product columns run left-aligned so they line up with their header
   cells. Needs to out-specify the generic `tbody td` centring above. */
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-thumbnail,
body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td.product-name {
    text-align: left;
}

body.woocommerce-cart .woocommerce-cart-form .cart_item:hover td {
    background-color: #FBFCFD;
}

body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-thumbnail {
    padding-left: 24px;
}

body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-remove {
    padding-right: 24px;
}

/* --- Thumbnail ----------------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a {
    display: inline-block;
    line-height: 0;
    border-radius: 12px;
    overflow: hidden;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    width: 84px;
    height: 84px;
    max-width: none;
    object-fit: cover;
    border-radius: 12px;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
    transition: transform 0.35s ease;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail a:hover img {
    transform: scale(1.06);
}

/* --- Product name -------------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .product-name a {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--tp-common-black);
    transition: color 0.3s ease;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a:hover {
    color: var(--tp-theme-shop);
}

/* Variation / meta data under the title. */
body.woocommerce-cart .woocommerce-cart-form .product-name .variation,
body.woocommerce-cart .woocommerce-cart-form .product-name dl.variation {
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--agntix-cart-muted);
}

body.woocommerce-cart .woocommerce-cart-form .product-name .variation dt,
body.woocommerce-cart .woocommerce-cart-form .product-name .variation dd {
    display: inline-block;
    margin: 0 4px 0 0;
    font-weight: 400;
}

body.woocommerce-cart .woocommerce-cart-form .product-name .variation dd p {
    margin: 0;
}

body.woocommerce-cart .woocommerce-cart-form .product-name .backorder_notification {
    margin: 6px 0 0;
    font-size: 13px;
    color: #C77700;
}

/* --- Price --------------------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .product-price .amount {
    font-size: 15px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
}

body.woocommerce-cart .woocommerce-cart-form .product-price del .amount {
    opacity: 0.6;
}

/* --- Subtotal ------------------------------------------------------------ */

body.woocommerce-cart .woocommerce-cart-form .product-subtotal .amount {
    font-size: 17px;
    font-weight: 700;
    color: var(--tp-common-black);
}

/* --- Quantity stepper ---------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .tp-product-quantity {
    width: 132px;
    margin: 0 auto;
}

body.woocommerce-cart .woocommerce-cart-form .tp-cart-input[type="text"] {
    height: 48px;
    line-height: 48px;
    padding: 0 42px;
    font-size: 15px;
    font-weight: 600;
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.woocommerce-cart .woocommerce-cart-form .tp-cart-input[type="text"]:focus {
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
    outline: none;
}

body.woocommerce-cart .woocommerce-cart-form .tp-product-details-quantity .tp-cart-plus,
body.woocommerce-cart .woocommerce-cart-form .tp-product-details-quantity .tp-cart-minus {
    top: 12px;
    left: 8px;
    width: 26px;
    height: 26px;
    line-height: 23px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
}

body.woocommerce-cart .woocommerce-cart-form .tp-product-details-quantity .tp-cart-plus {
    left: auto;
    right: 8px;
}

body.woocommerce-cart .woocommerce-cart-form .tp-product-details-quantity .tp-cart-plus:hover,
body.woocommerce-cart .woocommerce-cart-form .tp-product-details-quantity .tp-cart-minus:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
}

/* --- Remove button ------------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
    transition: all 0.3s ease;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover {
    color: #fff;
    background-color: #E14747;
    border-color: #E14747;
    transform: rotate(90deg);
}

/* --- Coupon / update row ------------------------------------------------- */

body.woocommerce-cart .woocommerce-cart-form .actions {
    padding: 20px 24px;
    border-bottom: 0 !important;
    background-color: var(--agntix-cart-soft);
}

body.woocommerce-cart .woocommerce-cart-form .coupon {
    display: flex;
    align-items: center;
    gap: 10px;
}

body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code {
    flex: 1 1 auto;
    width: 100%;
    max-width: 260px;
    height: 52px;
    padding: 0 20px;
    font-size: 14px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
}

body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code:focus {
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

body.woocommerce-cart .woocommerce-cart-form .coupon button,
body.woocommerce-cart .woocommerce-cart-form .tp-cart-update-btn {
    height: 52px;
    padding: 0 28px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 12px;
    white-space: nowrap;
    transition: all 0.3s ease;
}

body.woocommerce-cart .woocommerce-cart-form .tp-cart-update-btn {
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
}

body.woocommerce-cart .woocommerce-cart-form .tp-cart-update-btn:hover:not([disabled]) {
    color: #fff;
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
}

body.woocommerce-cart .woocommerce-cart-form .tp-cart-update-btn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* --- Cart totals card ---------------------------------------------------- */

body.woocommerce-cart .tp-cart-checkout-wrapper {
    position: sticky;
    top: 30px;
    margin-left: 0;
    padding: 26px 24px 24px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: var(--agntix-cart-radius);
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.07);
}

body.woocommerce-cart .tp-cart-total-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 6px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-cart .tp-cart-total-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--tp-common-black);
}

body.woocommerce-cart .tp-cart-total-count {
    flex: 0 0 auto;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.1);
}

body.woocommerce-cart .cart_totals table {
    width: 100%;
    margin-bottom: 0;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
    background-color: transparent;
    vertical-align: middle;
}

body.woocommerce-cart .cart_totals table th {
    font-size: 14px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
    text-align: left;
}

body.woocommerce-cart .cart_totals table td {
    font-size: 15px;
    font-weight: 600;
    color: var(--tp-common-black);
    text-align: right;
}

body.woocommerce-cart .cart_totals .cart-discount td .amount {
    color: #12A150;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
    padding-top: 18px;
    border-bottom: 0;
}

body.woocommerce-cart .cart_totals .order-total th {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
}

body.woocommerce-cart .cart_totals .order-total td .amount {
    font-size: 24px;
    font-weight: 700;
    color: var(--tp-common-black);
}

body.woocommerce-cart .cart_totals .order-total td small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--agntix-cart-muted);
}

/* Note under the totals table. */
body.woocommerce-cart .tp-cart-total-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 4px 0 18px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
    border-radius: 10px;
}

body.woocommerce-cart .tp-cart-total-note svg {
    flex: 0 0 auto;
    margin-top: 2px;
    color: var(--tp-theme-shop);
}

/* Checkout button. */
body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0;
    margin-bottom: 12px;
}

body.woocommerce-cart .tp-cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.28);
    transition: all 0.3s ease;
}

body.woocommerce-cart .tp-cart-checkout-btn:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.25);
    transform: translateY(-2px);
}

body.woocommerce-cart .tp-cart-checkout-btn svg {
    transition: transform 0.3s ease;
}

body.woocommerce-cart .tp-cart-checkout-btn:hover svg {
    transform: translateX(3px);
}

/* Continue shopping. */
body.woocommerce-cart .tp-cart-continue-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 24px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 12px;
    color: var(--tp-common-black);
    background-color: transparent;
    border: 1px solid var(--agntix-cart-line);
    transition: all 0.3s ease;
}

body.woocommerce-cart .tp-cart-continue-btn:hover {
    color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.05);
}

body.woocommerce-cart .tp-cart-continue-btn svg {
    transition: transform 0.3s ease;
}

body.woocommerce-cart .tp-cart-continue-btn:hover svg {
    transform: translateX(-3px);
}

/* Trust list. */
body.woocommerce-cart .tp-cart-trust-list {
    list-style: none;
    margin: 20px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--agntix-cart-line);
}

body.woocommerce-cart .tp-cart-trust-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-cart .tp-cart-trust-list li:not(:last-child) {
    margin-bottom: 11px;
}

body.woocommerce-cart .tp-cart-trust-list svg {
    flex: 0 0 auto;
    color: #12A150;
}

/* Accepted payment chips. */
body.woocommerce-cart .tp-cart-pay {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--agntix-cart-line);
}

body.woocommerce-cart .tp-cart-pay-label {
    display: block;
    margin-bottom: 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9AA1AC;
}

body.woocommerce-cart .tp-cart-pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.woocommerce-cart .tp-cart-pay-list li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: #4B5563;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
    border-radius: 6px;
}

/* Gateways that ship a logo (PayPal, Stripe, …) return an <img> from
   get_icon(); WooCommerce floats it right by default. */
body.woocommerce-cart .tp-cart-pay-icon {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 0;
}

body.woocommerce-cart .tp-cart-pay-icon img {
    display: inline-block;
    float: none !important;
    width: auto;
    height: 16px;
    max-width: 44px;
    max-height: 16px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    object-fit: contain;
}

body.woocommerce-cart .tp-cart-pay-empty {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 1199px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td {
        padding-left: 10px;
        padding-right: 10px;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-thumbnail,
    body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-thumbnail {
        padding-left: 16px;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-remove,
    body.woocommerce-cart .woocommerce-cart-form .cart_item td.product-remove {
        padding-right: 16px;
    }
}

@media (max-width: 991px) {
    body.woocommerce-cart .tp-cart-checkout-wrapper {
        position: static;
        margin-top: 40px;
    }
}

/* The rows never stack — the table scrolls sideways instead. Below lg the
   coupon/update strip stacks, so its content is left-aligned to stay in view
   without scrolling the table first. */
@media (max-width: 991px) {
    body.woocommerce-cart .woocommerce-cart-form .actions {
        padding: 18px 16px;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .text-end {
        margin-top: 12px;
        text-align: left !important;
    }
}

/* ==========================================================================
   Checkout page — modern layout
   Same card language as the cart. Scoped to `body.woocommerce-checkout` so it
   beats sops.css, which is enqueued after this file.
   ========================================================================== */

/* --- Coupon toggle + form ------------------------------------------------ */

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 15px 20px;
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--tp-common-black);
    background-color: rgba(46, 128, 255, 0.06);
    border: 1px solid rgba(46, 128, 255, 0.18);
    border-radius: 12px;
}

body.woocommerce-checkout .woocommerce-info .showcoupon {
    font-weight: 600;
    color: var(--tp-theme-shop);
    text-decoration: underline;
}

body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
    display: none;
    margin-top: 12px;
    padding: 22px 24px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: var(--agntix-cart-radius);
}

body.woocommerce-checkout .checkout_coupon > p:first-of-type {
    margin: 0 0 14px;
    font-size: 14px;
    color: var(--agntix-cart-muted);
}

body.woocommerce-checkout .checkout_coupon .form-row {
    margin: 0;
    padding: 0;
    display: inline-block;
    vertical-align: top;
}

body.woocommerce-checkout .checkout_coupon .form-row-first {
    width: calc(100% - 170px);
    padding-right: 10px;
}

body.woocommerce-checkout .checkout_coupon .form-row-last {
    width: 170px;
}

body.woocommerce-checkout .checkout_coupon #coupon_code {
    width: 100%;
    height: 52px;
    padding: 0 20px;
    font-size: 14px;
    line-height: 50px;
    text-transform: none;
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
}

body.woocommerce-checkout .checkout_coupon .tp-checkout-btn {
    width: 100%;
    height: 52px;
    padding: 0 20px;
    font-size: 15px;
    font-weight: 600;
    line-height: 50px;
    border-radius: 12px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    transition: all 0.3s ease;
    margin-top: 15px;
}

body.woocommerce-checkout .checkout_coupon .tp-checkout-btn:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
}

/* --- Billing / shipping card --------------------------------------------- */

body.woocommerce-checkout .tp-checkout-bill-area {
    padding: 32px 32px 12px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: var(--agntix-cart-radius);
}

body.woocommerce-checkout .tp-checkout-bill-area h3 {
    position: relative;
    margin: 0 0 26px;
    padding-bottom: 18px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--tp-common-black);
    border-bottom: 1px solid var(--agntix-cart-line);
}

/* The theme drops an empty spacer between billing and shipping. */
body.woocommerce-checkout .tp-checkout-bill-area .mt-40 {
    margin-top: 8px;
}

body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
    margin-top: 28px;
}

/* --- Form fields --------------------------------------------------------- */

body.woocommerce-checkout .tp-checkout-bill-area .form-row {
    margin: 0 0 18px;
    padding: 0;
}

body.woocommerce-checkout .tp-checkout-bill-area .form-row-first,
body.woocommerce-checkout .tp-checkout-bill-area .form-row-last {
    float: none;
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
}

body.woocommerce-checkout .tp-checkout-bill-area .form-row-first {
    margin-right: 12px;
}

body.woocommerce-checkout .tp-checkout-bill-area label,
body.woocommerce-checkout .tp-checkout-bill-area .form-row label {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .tp-checkout-bill-area label .required {
    margin-left: 1px;
    font-size: 16px;
    font-weight: 500;
    color: #E14747;
    text-decoration: none;
    border: 0;
}

body.woocommerce-checkout .tp-checkout-bill-area label .optional {
    font-size: 14px;
    font-weight: 400;
    color: #9AA1AC;
}

body.woocommerce-checkout .woocommerce-input-wrapper {
    display: block;
    width: 100%;
}

body.woocommerce-checkout .tp-checkout-bill-area input[type="text"],
body.woocommerce-checkout .tp-checkout-bill-area input[type="tel"],
body.woocommerce-checkout .tp-checkout-bill-area input[type="email"],
body.woocommerce-checkout .tp-checkout-bill-area input[type="password"],
body.woocommerce-checkout .tp-checkout-bill-area textarea {
    width: 100%;
    height: 54px;
    padding: 0 18px;
    line-height: 52px;
    font-size: 15px;
    text-transform: none;
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.woocommerce-checkout .tp-checkout-bill-area input:focus,
body.woocommerce-checkout .tp-checkout-bill-area textarea:focus {
    outline: none;
    background-color: #fff;
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

body.woocommerce-checkout .tp-checkout-bill-area input::placeholder,
body.woocommerce-checkout .tp-checkout-bill-area textarea::placeholder {
    font-size: 15px;
    line-height: normal;
    text-transform: none;
    color: #9AA1AC;
}

body.woocommerce-checkout .tp-checkout-bill-area textarea,
body.woocommerce-checkout .woocommerce-input-wrapper textarea {
    height: 120px;
    padding: 14px 18px;
    line-height: 1.6;
    resize: vertical;
}

/* Inline validation states. */
body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
body.woocommerce-checkout .form-row.woocommerce-invalid textarea {
    border-color: #E14747;
}

body.woocommerce-checkout .form-row.woocommerce-validated input.input-text {
    border-color: #12A150;
}

/* Select2 dropdowns (country / state). */
body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 54px;
    line-height: 52px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 18px;
    padding-right: 32px;
    line-height: 52px;
    font-size: 15px;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 15px;
    right: 14px;
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

/* --- Order summary card -------------------------------------------------- */

body.woocommerce-checkout .tp-checkout-place {
    position: sticky;
    top: 30px;
    padding: 26px 24px 24px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: var(--agntix-cart-radius);
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.07);
}

body.woocommerce-checkout .tp-checkout-place-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-checkout #order_review_heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .tp-checkout-place-count {
    flex: 0 0 auto;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    border-radius: 999px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.1);
}

body.woocommerce-checkout .tp-checkout-place-edit {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
    transition: color 0.3s ease;
}

body.woocommerce-checkout .tp-checkout-place-edit:hover {
    color: var(--tp-theme-shop);
}

/* --- Review order table -------------------------------------------------- */

body.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 0;
    background-color: transparent;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    padding: 16px 0 12px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9AA1AC;
    background-color: transparent;
    border: 0;
    text-align: left;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
    padding: 14px 0;
    border: 0;
    border-top: 1px solid var(--agntix-cart-line);
    background-color: transparent;
    vertical-align: middle;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td.product-total {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
    text-align: right;
    white-space: nowrap;
}

/* Line item: thumbnail + title, quantity as a corner pill. */
body.woocommerce-checkout .tp-checkout-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

body.woocommerce-checkout .tp-checkout-item-thumb {
    position: relative;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    line-height: 0;
}

body.woocommerce-checkout .tp-checkout-item-thumb img {
    width: 56px;
    height: 56px;
    max-width: none;
    object-fit: cover;
    border-radius: 10px;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
}

body.woocommerce-checkout .tp-checkout-item-qty {
    position: absolute;
    top: -8px;
    right: -10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    box-shadow: 0 0 0 2px #fff;
}

body.woocommerce-checkout .tp-checkout-item-qty .product-quantity {
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

body.woocommerce-checkout .tp-checkout-item-info {
    display: block;
    min-width: 0;
}

body.woocommerce-checkout .tp-checkout-item-title {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .tp-checkout-item .variation {
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--agntix-cart-muted);
}

body.woocommerce-checkout .tp-checkout-item .variation dt,
body.woocommerce-checkout .tp-checkout-item .variation dd {
    display: inline-block;
    margin: 0 4px 0 0;
    font-weight: 400;
}

body.woocommerce-checkout .tp-checkout-item .variation dd p {
    margin: 0;
}

/* Totals rows. */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    padding: 13px 0;
    border: 0;
    border-top: 1px solid var(--agntix-cart-line);
    background-color: transparent;
    vertical-align: middle;
}

body.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table tfoot th {
    font-size: 15px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
    text-align: left;
}

/* `.shop_table` is carried in the selector so the totals stay right-aligned:
   sops.css sets `text-align: left` on every cell of this table and outranks a
   selector without it. */
body.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table tfoot td {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
    text-align: right;
    white-space: nowrap;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-savings th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-savings td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-discount td .amount {
    color: #12A150;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td .amount {
    font-size: 22px;
    font-weight: 700;
    color: var(--tp-common-black);
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: var(--agntix-cart-muted);
}

/* Shipping options inside the summary. */
body.woocommerce-checkout #shipping_method {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: right;
}

body.woocommerce-checkout #shipping_method li {
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
}

body.woocommerce-checkout #shipping_method li:last-child {
    margin-bottom: 0;
}

body.woocommerce-checkout #shipping_method label {
    margin-left: 6px;
    color: var(--tp-common-black);
    cursor: pointer;
}

/* --- Payment methods ----------------------------------------------------- */

body.woocommerce-checkout .woocommerce-checkout-payment {
    margin-top: 22px;
    background-color: transparent;
}

body.woocommerce-checkout .wc_payment_methods.payment_methods.methods {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}

body.woocommerce-checkout li.wc_payment_method {
    padding: 14px 16px;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

body.woocommerce-checkout li.wc_payment_method:not(:last-child) {
    margin-bottom: 10px;
}

body.woocommerce-checkout li.wc_payment_method:hover {
    border-color: rgba(46, 128, 255, 0.4);
}

body.woocommerce-checkout li.wc_payment_method:has(input:checked) {
    border-color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.04);
}

body.woocommerce-checkout li.wc_payment_method > input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.woocommerce-checkout li.wc_payment_method > label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding-left: 30px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--tp-common-black);
    cursor: pointer;
}

/* Custom radio dot. */
body.woocommerce-checkout li.wc_payment_method > label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1px solid #C7CCD3;
    transform: translateY(-50%);
    transition: border-color 0.3s ease;
}

body.woocommerce-checkout li.wc_payment_method > label::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--tp-theme-shop);
    opacity: 0;
    transform: translateY(-50%) scale(0.4);
    transition: all 0.25s ease;
}

body.woocommerce-checkout li.wc_payment_method > input:checked + label::before {
    border-color: var(--tp-theme-shop);
}

body.woocommerce-checkout li.wc_payment_method > input:checked + label::after {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

body.woocommerce-checkout li.wc_payment_method > label img {
    height: 22px;
    width: auto;
    max-width: 120px;
    margin: 0 0 0 auto;
    float: none !important;
    object-fit: contain;
}

body.woocommerce-checkout li.wc_payment_method .payment_box {
    margin: 12px 0 0;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
    border-radius: 10px;
}

body.woocommerce-checkout li.wc_payment_method .payment_box p {
    margin: 0;
    color: inherit;
}

body.woocommerce-checkout li.wc_payment_method .payment_box p:not(:last-child) {
    margin-bottom: 8px;
}

/* "No payment methods" notice keeps the info-bar look. */
body.woocommerce-checkout .wc_payment_methods > li > .woocommerce-info {
    margin: 0;
    border-radius: 12px;
}

/* --- Place order --------------------------------------------------------- */

body.woocommerce-checkout .form-row.place-order {
    margin: 0;
    padding: 0;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 14px;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper:empty,
body.woocommerce-checkout .woocommerce-privacy-policy-text:empty {
    margin: 0;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

body.woocommerce-checkout .validate-required.woocommerce-terms-and-conditions-checkbox-text,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
    cursor: pointer;
}

body.woocommerce-checkout #place_order {
    display: block;
    width: 100%;
    height: auto;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    border-radius: 12px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.28);
    transition: all 0.3s ease;
}

body.woocommerce-checkout #place_order:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.25);
    transform: translateY(-2px);
}

/* --- Trust list under the summary ---------------------------------------- */

body.woocommerce-checkout .tp-checkout-trust-list {
    list-style: none;
    margin: 20px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--agntix-cart-line);
}

body.woocommerce-checkout .tp-checkout-trust-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-checkout .tp-checkout-trust-list li:not(:last-child) {
    margin-bottom: 11px;
}

body.woocommerce-checkout .tp-checkout-trust-list svg {
    flex: 0 0 auto;
    color: #12A150;
}

/* --- Blocking overlay ---------------------------------------------------- */

body.woocommerce-checkout .blockUI.blockOverlay {
    border-radius: var(--agntix-cart-radius);
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 991px) {
    body.woocommerce-checkout .tp-checkout-place {
        position: static;
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    body.woocommerce-checkout .tp-checkout-bill-area {
        padding: 24px 20px 8px;
    }

    body.woocommerce-checkout .tp-checkout-place {
        padding: 22px 20px 20px;
    }

    body.woocommerce-checkout .tp-checkout-bill-area .form-row-first,
    body.woocommerce-checkout .tp-checkout-bill-area .form-row-last {
        display: block;
        width: 100%;
        margin-right: 0;
    }

    body.woocommerce-checkout .checkout_coupon .form-row-first,
    body.woocommerce-checkout .checkout_coupon .form-row-last {
        display: block;
        width: 100%;
        padding-right: 0;
    }

    body.woocommerce-checkout .checkout_coupon .form-row-first {
        margin-bottom: 10px;
    }

    body.woocommerce-checkout .tp-checkout-place-head {
        flex-wrap: wrap;
    }
}
/* ==========================================================================
   Order received / thank-you page
   Also covers My Account -> View order, which reuses the same order templates,
   so these rules key off the wrappers rather than a body class.
   ========================================================================== */

.tp-order-area,
.woocommerce-order-details,
.tp-woo-order-customer-details,
.woocommerce-bacs-bank-details,
.woocommerce-order-downloads {
    --agntix-cart-line: #ECEEF1;
    --agntix-cart-muted: #6B7280;
    --agntix-cart-soft: #F7F8FA;
}

/* --- Success hero -------------------------------------------------------- */

/* The glow is painted as a background layer rather than a sized pseudo
   element — an ellipse measured against the card itself always reaches full
   transparency inside it, so there is no hard edge against the white. */
.tp-thankyou-hero {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 34px 40px 30px;
    overflow: hidden;
    text-align: center;
    background-color: #fff;
    background-image: radial-gradient(58% 155px at 50% -8px, rgba(18, 161, 80, 0.16) 0%, rgba(18, 161, 80, 0.05) 45%, rgba(18, 161, 80, 0) 100%);
    background-repeat: no-repeat;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.07);
}

.tp-thankyou-hero > * {
    position: relative;
}

.tp-thankyou-badge {
    display: inline-block;
    margin-bottom: 10px;
    line-height: 0;
    color: #12A150;
    animation: agntix-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.tp-thankyou-badge--failed {
    color: #E14747;
}

.tp-thankyou-hero--failed {
    background-image: radial-gradient(62% 190px at 50% -10px, rgba(225, 71, 71, 0.14) 0%, rgba(225, 71, 71, 0.05) 45%, rgba(225, 71, 71, 0) 100%);
}

@keyframes agntix-pop {
    from {
        opacity: 0;
        transform: scale(0.75);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tp-thankyou-badge {
        animation: none;
    }
}

/* Order status pill. */
.tp-thankyou-status {
    display: inline-flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 999px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
}

.tp-thankyou-status.is-processing,
.tp-thankyou-status.is-on-hold,
.tp-thankyou-status.is-pending {
    color: #B26A00;
    background-color: rgba(224, 150, 0, 0.12);
}

.tp-thankyou-status.is-completed {
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.12);
}

.tp-thankyou-status.is-cancelled,
.tp-thankyou-status.is-failed {
    color: #C13333;
    background-color: rgba(225, 71, 71, 0.12);
}

.tp-thankyou-title {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--tp-common-black);
}

.tp-thankyou-text {
    max-width: 480px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.55;
    color: var(--agntix-cart-muted);
}

.tp-thankyou-mail {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 0;
    padding: 8px 14px;
    font-size: 14px;
    line-height: 1.4;
    border-radius: 999px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
}

.tp-thankyou-mail svg {
    flex: 0 0 auto;
    color: var(--tp-theme-shop);
}

.tp-thankyou-mail strong {
    font-weight: 600;
    color: var(--tp-common-black);
    word-break: break-word;
}

/* Order meta tiles — the 1px grid gap draws the dividers. */
.tp-thankyou-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    list-style: none;
    margin: 22px 0 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--agntix-cart-line);
    border: 1px solid var(--agntix-cart-line);
    border-radius: 14px;
}

.tp-thankyou-meta li {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 13px 14px;
    background-color: #fff;
    text-align: center;
}

.tp-thankyou-meta li span {
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #9AA1AC;
}

.tp-thankyou-meta li strong {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--tp-common-black);
    word-break: break-word;
}

.tp-thankyou-meta li strong .amount {
    font-size: 16px;
    font-weight: 600;
    color: inherit;
}

/* Actions. */
.tp-thankyou-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin: 22px 0 0;
}

.tp-thankyou-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 26px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.tp-thankyou-btn--primary {
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.28);
}

.tp-thankyou-btn--primary:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.25);
    transform: translateY(-2px);
}

.tp-thankyou-btn--primary svg {
    transition: transform 0.3s ease;
}

.tp-thankyou-btn--primary:hover svg {
    transform: translateX(3px);
}

.tp-thankyou-btn--ghost {
    color: var(--tp-common-black);
    background-color: transparent;
    border: 1px solid var(--agntix-cart-line);
}

.tp-thankyou-btn--ghost:hover {
    color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.05);
}

/* --- Order details card -------------------------------------------------- */

.woocommerce-order-details,
.woocommerce-bacs-bank-details,
.woocommerce-order-downloads {
    max-width: 860px;
    margin: 28px auto 0;
    padding: 28px 32px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
}

.woocommerce-order-details .tp-order-info-title,
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading,
.woocommerce-order-downloads > h2 {
    margin: 0 0 20px;
    padding-bottom: 16px;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--tp-common-black);
    border-bottom: 1px solid var(--agntix-cart-line);
}

.woocommerce-order-details .tp-order-info-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-order-details .tp-order-info-list ul li {
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--agntix-cart-line);
}

.woocommerce-order-details .tp-order-info-list ul li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

/* Column header. */
.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-header {
    padding: 0 0 12px;
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-header h4 {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9AA1AC;
}

/* Line item: thumbnail, name, line total. */
.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-desc {
    align-items: center;
}

.tp-order-item-thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    line-height: 0;
}

.tp-order-item-thumb img {
    width: 56px;
    height: 56px;
    max-width: none;
    object-fit: cover;
    border-radius: 10px;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
}

.woocommerce-order-details .tp-order-info-list-desc .product-name {
    flex: 1 1 auto;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
    color: var(--tp-common-black);
}

.woocommerce-order-details .tp-order-info-list-desc .product-name a {
    color: inherit;
    transition: color 0.3s ease;
}

.woocommerce-order-details .tp-order-info-list-desc .product-name a:hover {
    color: var(--tp-theme-shop);
}

.woocommerce-order-details .tp-order-info-list-desc .product-quantity {
    margin-left: 4px;
    font-size: 13px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
}

.woocommerce-order-details .tp-order-info-list-desc .wc-item-meta,
.woocommerce-order-details .tp-order-info-list-desc .variation {
    margin: 5px 0 0;
    padding: 0;
    list-style: none;
    font-size: 13px;
    font-weight: 400;
    color: var(--agntix-cart-muted);
}

.woocommerce-order-details .tp-order-info-list-desc .wc-item-meta p,
.woocommerce-order-details .tp-order-info-list-desc .wc-item-meta strong {
    display: inline;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
}

.woocommerce-order-details .tp-order-info-list-desc .product-total {
    flex: 0 0 auto;
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
    white-space: nowrap;
}

/* Totals rows. */
.woocommerce-order-details .tp-order-info-list ul li span:first-child {
    font-size: 15px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
}

.woocommerce-order-details .tp-order-info-list ul li span:last-child {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
    text-align: right;
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-discount span:last-child {
    color: #12A150;
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-total span:first-child {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-total span:last-child,
.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-total .amount {
    font-size: 22px;
    font-weight: 700;
    color: var(--tp-common-black);
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-note {
    display: block;
}

.woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-note p {
    margin: 6px 0 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

/* --- Gateway instructions (bank transfer, etc.) -------------------------- */

.woocommerce-bacs-bank-details ul.wc-bacs-bank-details {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-bacs-bank-details ul.wc-bacs-bank-details li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    font-size: 15px;
    color: var(--agntix-cart-muted);
    border-bottom: 1px solid var(--agntix-cart-line);
}

.woocommerce-bacs-bank-details ul.wc-bacs-bank-details li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.woocommerce-bacs-bank-details ul.wc-bacs-bank-details li strong {
    font-weight: 600;
    color: var(--tp-common-black);
    text-align: right;
    word-break: break-word;
}

/* --- Billing / shipping address cards ------------------------------------ */

.tp-woo-order-customer-details {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.tp-woo-order-customer-details > .row > [class*="col-"] {
    margin-bottom: 24px;
}

.tp-order-address-card {
    height: 100%;
    padding: 26px 26px 24px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
}

.tp-order-address-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

.tp-order-address-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.08);
}

.tp-order-address-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--tp-common-black);
}

.tp-order-address-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tp-order-address-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--agntix-cart-line);
}

.tp-order-address-list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tp-order-address-list li span {
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
}

.tp-order-address-list li strong {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: right;
    color: var(--tp-common-black);
    word-break: break-word;
}

.tp-order-address-list li strong a {
    color: inherit;
    transition: color 0.3s ease;
}

.tp-order-address-list li strong a:hover {
    color: var(--tp-theme-shop);
}

/* --- Downloads ----------------------------------------------------------- */

.woocommerce-order-downloads table.order_details {
    width: 100%;
    margin: 0;
}

.woocommerce-order-downloads table.order_details th,
.woocommerce-order-downloads table.order_details td {
    padding: 12px 10px;
    font-size: 14px;
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
    text-align: left;
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 767px) {
    .tp-thankyou-hero {
        padding: 28px 18px 24px;
        border-radius: 16px;
    }

    .tp-thankyou-title {
        font-size: 23px;
    }

    .tp-thankyou-text {
        font-size: 14.5px;
    }

    .tp-thankyou-meta {
        grid-template-columns: repeat(2, 1fr);
    }

    .tp-thankyou-actions .tp-thankyou-btn {
        flex: 1 1 100%;
    }

    .woocommerce-order-details,
    .woocommerce-bacs-bank-details,
    .woocommerce-order-downloads {
        padding: 24px 20px;
    }

    .tp-order-address-card {
        padding: 22px 20px;
    }

    .woocommerce-order-details .tp-order-info-list ul li.tp-order-info-list-desc {
        flex-wrap: wrap;
    }

    .woocommerce-order-details .tp-order-info-list-desc .product-total {
        width: 100%;
        text-align: right;
    }
}

/* --- Two column layout under the hero ------------------------------------ */

.tp-order-grid {
    margin-top: 28px;
}

/* The cards centre themselves when they stand alone (My Account -> View
   order); inside the grid the column already sets the width. */
.tp-order-grid .woocommerce-order-details,
.tp-order-grid .woocommerce-bacs-bank-details,
.tp-order-grid .woocommerce-order-downloads,
.tp-order-grid .tp-woo-order-customer-details {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.tp-order-grid .woocommerce-order-details,
.tp-order-grid .woocommerce-order-downloads {
    margin-top: 0;
}

.tp-order-grid .woocommerce-order-downloads + .woocommerce-order-details {
    margin-top: 24px;
}

.tp-order-grid .tp-woo-order-customer-details {
    margin-top: 0;
}

/* Address cards stack in the narrow sidebar instead of splitting in half. */
.tp-order-grid .tp-woo-order-customer-details > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

.tp-order-grid .tp-woo-order-customer-details > .row > [class*="col-"]:last-child {
    margin-bottom: 0;
}

/* The address column follows the order list while it scrolls. */
@media (min-width: 992px) {
    .tp-order-grid .tp-woo-order-customer-details {
        position: sticky;
        top: 30px;
    }
}

/* Gateway instructions card (bank details, cash on delivery note). */
.tp-order-gateway-note {
    margin-bottom: 24px;
    padding: 24px 28px;
    background-color: rgba(46, 128, 255, 0.05);
    border: 1px solid rgba(46, 128, 255, 0.18);
    border-radius: 16px;
}

.tp-order-gateway-title,
.tp-order-gateway-note .wc-bacs-bank-details-heading {
    margin: 0 0 12px;
    padding: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-common-black);
    border-bottom: 0;
}

.tp-order-gateway-note p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

.tp-order-gateway-note p + p {
    margin-top: 8px;
}

.tp-order-gateway-note .woocommerce-bacs-bank-details {
    max-width: none;
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
}

@media (max-width: 991px) {
    .tp-order-grid .tp-woo-order-customer-details {
        margin-top: 24px;
    }
}

/* ==========================================================================
   My Account
   sops.css is enqueued after this file, so account rules carry
   `body.woocommerce-account` to win on specificity.
   ========================================================================== */

body.woocommerce-account {
    --agntix-cart-line: #ECEEF1;
    --agntix-cart-muted: #6B7280;
    --agntix-cart-soft: #F7F8FA;
}

/* --- Sidebar ------------------------------------------------------------- */

body.woocommerce-account .tp-my-account-nav {
    position: sticky;
    top: 30px;
    margin-right: 0;
    padding: 20px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.06);
}

/* Signed-in customer card. */
body.woocommerce-account .tp-account-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 18px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-account-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    border-radius: 50%;
    color: var(--tp-common-white);
    background-image: linear-gradient(135deg, var(--tp-theme-shop), #1B5FD1);
}

body.woocommerce-account .tp-account-user-info {
    display: block;
    min-width: 0;
}

body.woocommerce-account .tp-account-user-info strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-account-user-info span {
    display: block;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--agntix-cart-muted);
    overflow-wrap: anywhere;
}

body.woocommerce-account .tp-my-account-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .tp-my-account-nav li {
    margin: 0;
}

body.woocommerce-account .tp-my-account-nav li:not(:last-child) {
    margin-bottom: 2px;
}

body.woocommerce-account .tp-my-account-nav li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 14px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    border-radius: 10px;
    color: var(--tp-common-black);
    background-color: transparent;
    transition: all 0.25s ease;
}

body.woocommerce-account .tp-my-account-nav li a:hover {
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.06);
}

body.woocommerce-account .tp-account-nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    line-height: 0;
    color: var(--agntix-cart-muted);
    transition: color 0.25s ease;
}

body.woocommerce-account .tp-my-account-nav li a:hover .tp-account-nav-icon {
    color: var(--tp-theme-shop);
}

body.woocommerce-account .tp-account-nav-arrow {
    display: inline-flex;
    margin-left: auto;
    line-height: 0;
    opacity: 0;
    transform: translateX(-4px);
    transition: all 0.25s ease;
}

body.woocommerce-account .tp-my-account-nav li a:hover .tp-account-nav-arrow {
    opacity: 0.6;
    transform: translateX(0);
}

body.woocommerce-account .tp-my-account-nav li.is-active a {
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    box-shadow: 0 10px 22px rgba(46, 128, 255, 0.26);
}

body.woocommerce-account .tp-my-account-nav li.is-active a .tp-account-nav-icon,
body.woocommerce-account .tp-my-account-nav li.is-active a:hover .tp-account-nav-icon {
    color: var(--tp-common-white);
}

body.woocommerce-account .tp-my-account-nav li.is-active a .tp-account-nav-arrow {
    opacity: 0.85;
    transform: translateX(0);
}

/* Log out sits apart from the navigation proper. */
body.woocommerce-account .tp-my-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-my-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #E14747;
    background-color: rgba(225, 71, 71, 0.07);
}

body.woocommerce-account .tp-my-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover .tp-account-nav-icon {
    color: #E14747;
}

/* --- Content shell ------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 0;
    background-color: transparent;
}

/* Endpoints other than the dashboard render bare markup, so they get the card. */
body.woocommerce-account:not(.woocommerce-dashboard) .woocommerce-MyAccount-content {
    padding: 30px 32px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
}

body.woocommerce-account .woocommerce-MyAccount-content > h2,
body.woocommerce-account .woocommerce-MyAccount-content > h3,
body.woocommerce-account .woocommerce-MyAccount-content legend {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--tp-common-black);
}

body.woocommerce-account .woocommerce-MyAccount-content > p {
    font-size: 15px;
    line-height: 1.65;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .woocommerce-MyAccount-content a {
    color: var(--tp-theme-shop);
}

/* --- Dashboard: welcome -------------------------------------------------- */

body.woocommerce-account .tp-account-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    padding: 26px 30px;
    background-color: #fff;
    background-image: radial-gradient(70% 150px at 100% 0%, rgba(46, 128, 255, 0.12) 0%, rgba(46, 128, 255, 0) 100%);
    background-repeat: no-repeat;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
}

body.woocommerce-account .tp-account-welcome-eyebrow {
    display: block;
    margin-bottom: 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tp-theme-shop);
}

body.woocommerce-account .tp-account-welcome-title {
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-account-welcome-meta {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .tp-account-welcome-sep {
    margin: 0 6px;
    color: #C7CCD3;
}

body.woocommerce-account .tp-account-welcome-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 13px 24px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 12px;
    color: var(--tp-common-white) !important;
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.26);
    transition: all 0.3s ease;
}

body.woocommerce-account .tp-account-welcome-btn:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.22);
    transform: translateY(-2px);
}

body.woocommerce-account .tp-account-welcome-btn svg {
    transition: transform 0.3s ease;
}

body.woocommerce-account .tp-account-welcome-btn:hover svg {
    transform: translateX(3px);
}

/* --- Dashboard: stat tiles ----------------------------------------------- */

body.woocommerce-account .tp-account-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
}

body.woocommerce-account .tp-account-stat {
    padding: 20px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 14px;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

body.woocommerce-account .tp-account-stat:hover {
    border-color: rgba(46, 128, 255, 0.35);
    transform: translateY(-2px);
}

body.woocommerce-account .tp-account-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    border-radius: 11px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.1);
}

body.woocommerce-account .tp-account-stat-icon.is-amber {
    color: #B26A00;
    background-color: rgba(224, 150, 0, 0.12);
}

body.woocommerce-account .tp-account-stat-icon.is-green {
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.12);
}

body.woocommerce-account .tp-account-stat-icon.is-purple {
    color: #6B45D1;
    background-color: rgba(107, 69, 209, 0.11);
}

body.woocommerce-account .tp-account-stat-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .tp-account-stat-value,
body.woocommerce-account .tp-account-stat-value .amount {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--tp-common-black);
}

/* --- Dashboard: recent orders -------------------------------------------- */

body.woocommerce-account .tp-account-recent {
    margin-top: 20px;
    padding: 24px 28px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
}

body.woocommerce-account .tp-account-recent-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-account-recent-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-account-recent-all {
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 500;
    color: var(--tp-theme-shop);
}

body.woocommerce-account .tp-account-order-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .tp-account-order {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-account-order:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

body.woocommerce-account .tp-account-order-main {
    flex: 1 1 auto;
    min-width: 0;
}

body.woocommerce-account .tp-account-order-no {
    display: block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--tp-common-black);
    transition: color 0.3s ease;
}

body.woocommerce-account .tp-account-order-no:hover {
    color: var(--tp-theme-shop);
}

body.woocommerce-account .tp-account-order-meta {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--agntix-cart-muted);
}

/* Shared by the dashboard's recent orders and the Orders table, which gets its
   badge from the woocommerce_my_account_my_orders_column_order-status hook. */
body.woocommerce-account .tp-account-order-status,
body.woocommerce-account .tp-order-status {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    border-radius: 999px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
}

body.woocommerce-account .tp-account-order-status.is-processing,
body.woocommerce-account .tp-account-order-status.is-on-hold,
body.woocommerce-account .tp-account-order-status.is-pending,
body.woocommerce-account .tp-order-status.is-processing,
body.woocommerce-account .tp-order-status.is-on-hold,
body.woocommerce-account .tp-order-status.is-pending {
    color: #B26A00;
    background-color: rgba(224, 150, 0, 0.12);
}

body.woocommerce-account .tp-account-order-status.is-completed,
body.woocommerce-account .tp-order-status.is-completed {
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.12);
}

body.woocommerce-account .tp-account-order-status.is-cancelled,
body.woocommerce-account .tp-account-order-status.is-failed,
body.woocommerce-account .tp-order-status.is-cancelled,
body.woocommerce-account .tp-order-status.is-failed,
body.woocommerce-account .tp-order-status.is-refunded {
    color: #C13333;
    background-color: rgba(225, 71, 71, 0.12);
}

body.woocommerce-account .tp-account-order-total,
body.woocommerce-account .tp-account-order-total .amount {
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 700;
    color: var(--tp-common-black);
    white-space: nowrap;
}

body.woocommerce-account .tp-account-order-view {
    flex: 0 0 auto;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 9px;
    color: var(--tp-common-black);
    border: 1px solid var(--agntix-cart-line);
    transition: all 0.3s ease;
}

body.woocommerce-account .tp-account-order-view:hover {
    color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.05);
}

/* Empty state. */
body.woocommerce-account .tp-account-empty {
    padding: 34px 20px 30px;
    text-align: center;
}

body.woocommerce-account .tp-account-empty-icon {
    display: inline-block;
    margin-bottom: 14px;
    line-height: 0;
    color: #C7CCD3;
}

body.woocommerce-account .tp-account-empty-title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 600;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-account-empty-text {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--agntix-cart-muted);
}

/* --- Dashboard: quick links ---------------------------------------------- */

body.woocommerce-account .tp-account-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
}

body.woocommerce-account .tp-account-links a {
    display: block;
    height: 100%;
    padding: 20px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 14px;
    transition: all 0.3s ease;
}

body.woocommerce-account .tp-account-links a:hover {
    border-color: rgba(46, 128, 255, 0.35);
    background-color: rgba(46, 128, 255, 0.03);
    transform: translateY(-2px);
}

body.woocommerce-account .tp-account-links-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 12px;
    border-radius: 11px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.1);
}

body.woocommerce-account .tp-account-links a strong {
    display: block;
    margin-bottom: 3px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-account-links a span:not(.tp-account-links-icon) {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

/* --- Orders / downloads tables ------------------------------------------- */

body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
    width: 100%;
    margin: 0;
    background-color: transparent;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
    padding: 16px 12px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    color: #9AA1AC;
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
    padding: 16px 12px;
    font-size: 14.5px;
    text-align: left;
    vertical-align: middle;
    color: var(--agntix-cart-muted);
    background-color: transparent;
    border: 0;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th:first-child,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td:first-child {
    padding-left: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th:last-child,
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td:last-child {
    padding-right: 0;
    text-align: right;
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: var(--tp-common-black);
}

body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover {
    color: var(--tp-theme-shop);
}

body.woocommerce-account .woocommerce-orders-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button {
    display: inline-block;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 9px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    transition: all 0.3s ease;
    margin-left: 5px;
}

body.woocommerce-account .woocommerce-orders-table .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
}

/* Order actions are colour coded by what they do: Pay settles money, View is
   the neutral read-only action, Cancel is destructive. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.pay {
    color: var(--tp-common-white);
    background-color: #12A150;
    border-color: #12A150;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.pay:hover {
    color: var(--tp-common-white);
    background-color: #0F8A45;
    border-color: #0F8A45;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.view {
    color: var(--tp-common-black);
    background-color: transparent;
    border-color: var(--agntix-cart-line);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.view:hover {
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.06);
    border-color: var(--tp-theme-shop);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.cancel {
    color: #C13333;
    background-color: rgba(225, 71, 71, 0.09);
    border-color: rgba(225, 71, 71, 0.35);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.cancel:hover {
    color: var(--tp-common-white);
    background-color: #E14747;
    border-color: #E14747;
}

/* Re-ordering an old order is a positive, but secondary, action. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button.order-again {
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
}

/* --- Addresses ----------------------------------------------------------- */

body.woocommerce-account .tp-address-intro {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .woocommerce-Addresses > .u-column {
    margin-bottom: 24px;
}

/* The card lives inside the grid column so the gutter stays between cards
   rather than being swallowed as card padding. */
body.woocommerce-account .woocommerce-Address {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 22px 24px 24px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.woocommerce-account .woocommerce-Address:hover {
    border-color: rgba(46, 128, 255, 0.3);
    box-shadow: 0 16px 40px rgba(20, 26, 46, 0.06);
}

body.woocommerce-account .woocommerce-Address.is-empty {
    background-color: var(--agntix-cart-soft);
    border-style: dashed;
    border-color: #D8DCE2;
}

body.woocommerce-account .woocommerce-Address-title.title {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .woocommerce-Address.is-empty .woocommerce-Address-title.title {
    border-bottom-color: #E2E6EB;
}

body.woocommerce-account .tp-address-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.09);
}

body.woocommerce-account .woocommerce-Address.is-empty .tp-address-icon {
    color: #9AA1AC;
    background-color: rgba(154, 161, 172, 0.12);
}

body.woocommerce-account .woocommerce-Address-title.title h2,
body.woocommerce-account .woocommerce-Address-title.title h3 {
    flex: 1 1 auto;
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-address-badge {
    flex: 0 0 auto;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    border-radius: 999px;
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.12);
}

body.woocommerce-account .woocommerce-Address address {
    flex: 1 1 auto;
    margin: 0 0 18px;
    font-size: 14.5px;
    font-style: normal;
    line-height: 1.75;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .tp-address-empty {
    display: block;
    padding: 6px 0 2px;
    font-size: 14px;
    line-height: 1.6;
    color: #9AA1AC;
}

/* Edit / Add action sits at the bottom of the card. */
body.woocommerce-account a.edit.tp-address-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    align-self: flex-start;
    padding: 10px 18px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 10px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.07);
    border: 1px solid rgba(46, 128, 255, 0.25);
    text-decoration: none !important;
    transition: all 0.3s ease;
}

body.woocommerce-account a.edit.tp-address-btn:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
}

body.woocommerce-account .woocommerce-Address.is-empty a.edit.tp-address-btn {
    width: 100%;
}

body.woocommerce-account a.edit {
    font-size: 13px;
    font-weight: 600;
    color: var(--tp-theme-shop);
    text-decoration: none !important;
}

/* --- Account forms ------------------------------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row,
body.woocommerce-account .woocommerce-MyAccount-content .form-row {
    margin-bottom: 20px;
}

/* sops.css targets `.woocommerce-form-row label` through a long selector, so
   the account label rules need the extra `.woocommerce-page` class to win. */
body.woocommerce-account .woocommerce-MyAccount-content label,
body.woocommerce-account .woocommerce-MyAccount-content .form-row label,
body.woocommerce-account.woocommerce-page div.woocommerce-MyAccount-content .woocommerce-form-row label {
    display: block;
    margin-bottom: 9px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--tp-common-black);
}

body.woocommerce-account .woocommerce-MyAccount-content label .required {
    color: #E14747;
    border: 0;
    text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.woocommerce-account .woocommerce-MyAccount-content textarea {
    width: 100%;
    height: 52px;
    padding: 0 18px;
    font-size: 15px;
    line-height: 50px;
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.woocommerce-account .woocommerce-MyAccount-content textarea:focus {
    outline: none;
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"] {
    padding: 14px 30px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 12px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.24);
    transition: all 0.3s ease;
}

body.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.22);
    transform: translateY(-2px);
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 991px) {
    body.woocommerce-account .tp-my-account-nav {
        position: static;
        margin-bottom: 30px;
    }
}

@media (max-width: 767px) {
    body.woocommerce-account .tp-account-welcome {
        padding: 22px 20px;
    }

    body.woocommerce-account .tp-account-welcome-title {
        font-size: 22px;
    }

    body.woocommerce-account .tp-account-welcome-btn {
        width: 100%;
        justify-content: center;
    }

    body.woocommerce-account .tp-account-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    body.woocommerce-account .tp-account-stat {
        padding: 16px;
    }

    body.woocommerce-account .tp-account-stat-value,
    body.woocommerce-account .tp-account-stat-value .amount {
        font-size: 20px;
    }

    body.woocommerce-account .tp-account-recent {
        padding: 20px;
    }

    /* Order rows wrap into two lines instead of squeezing four columns. */
    body.woocommerce-account .tp-account-order {
        flex-wrap: wrap;
        gap: 10px;
    }

    body.woocommerce-account .tp-account-order-main {
        flex: 1 1 100%;
    }

    body.woocommerce-account .tp-account-order-view {
        margin-left: auto;
    }

    body.woocommerce-account:not(.woocommerce-dashboard) .woocommerce-MyAccount-content {
        padding: 22px 20px;
    }
}

/* ==========================================================================
   Pay for order (checkout/order-pay endpoint)
   Shares the checkout summary styling — the table carries the
   review-order class — plus its own centred card shell.
   ========================================================================== */

body.woocommerce-order-pay .tp-order-pay {
    max-width: 640px;
    margin: 0 auto;
}

body.woocommerce-order-pay .tp-order-pay-inner {
    padding: 26px 30px 28px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.07);
}

body.woocommerce-order-pay .tp-order-pay-status {
    flex: 0 0 auto;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    border-radius: 999px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
}

body.woocommerce-order-pay .tp-order-pay-status.is-pending,
body.woocommerce-order-pay .tp-order-pay-status.is-on-hold,
body.woocommerce-order-pay .tp-order-pay-status.is-processing {
    color: #B26A00;
    background-color: rgba(224, 150, 0, 0.12);
}

body.woocommerce-order-pay .tp-order-pay-status.is-failed,
body.woocommerce-order-pay .tp-order-pay-status.is-cancelled {
    color: #C13333;
    background-color: rgba(225, 71, 71, 0.12);
}

body.woocommerce-order-pay .tp-order-pay-meta {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

/* The pay table has no thead divider of its own to lean on. */
body.woocommerce-order-pay .woocommerce-checkout-review-order-table thead th {
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-order-pay .woocommerce-checkout-review-order-table tbody tr:first-child td {
    border-top: 0;
}

/* WooCommerce labels the last footer row "Total:" rather than tagging it. */
body.woocommerce-order-pay .woocommerce-checkout-review-order-table tfoot tr:last-child th {
    font-size: 16px;
    font-weight: 600;
    color: var(--tp-common-black);
}

body.woocommerce-order-pay .woocommerce-checkout-review-order-table tfoot tr:last-child td .amount {
    font-size: 20px;
    font-weight: 700;
    color: var(--tp-common-black);
}

body.woocommerce-order-pay #payment {
    margin-top: 22px;
    background-color: transparent;
}

body.woocommerce-order-pay .tp-order-pay-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 16px 0 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-order-pay .tp-order-pay-secure svg {
    flex: 0 0 auto;
    color: #12A150;
}

@media (max-width: 767px) {
    body.woocommerce-order-pay .tp-order-pay-inner {
        padding: 22px 20px 24px;
    }

    body.woocommerce-order-pay .tp-checkout-place-head {
        flex-wrap: wrap;
    }
}

/* --- Edit address / edit account forms ----------------------------------- */

body.woocommerce-account .woocommerce-MyAccount-content form h2,
body.woocommerce-account .woocommerce-MyAccount-content form h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--tp-common-black);
}

body.woocommerce-account .tp-address-form-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 20px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-address-form-heading {
    flex: 1 1 auto;
    min-width: 0;
}

body.woocommerce-account .tp-address-form-heading p {
    margin: 4px 0 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account .tp-address-form-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    padding: 9px 16px;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 10px;
    color: var(--tp-common-black);
    border: 1px solid var(--agntix-cart-line);
    transition: all 0.3s ease;
}

body.woocommerce-account .tp-address-form-back:hover {
    color: var(--tp-theme-shop);
    border-color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.05);
}

body.woocommerce-account .tp-address-form-back svg {
    transition: transform 0.3s ease;
}

body.woocommerce-account .tp-address-form-back:hover svg {
    transform: translateX(-3px);
}

/* Name fields share a row, everything else runs full width. */
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
    float: none;
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
}

body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first {
    margin-right: 12px;
}

body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide {
    display: block;
    width: 100%;
}

/* Select2 dropdowns (country / district) match the plain inputs. */
body.woocommerce-account .select2-container .select2-selection--single {
    height: 52px;
    line-height: 50px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
}

body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 18px;
    padding-right: 32px;
    line-height: 50px;
    font-size: 15px;
    color: var(--tp-common-black);
}

body.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 14px;
    right: 14px;
}

body.woocommerce-account .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

/* Validation states. */
body.woocommerce-account .form-row.woocommerce-invalid input.input-text {
    border-color: #E14747;
}

body.woocommerce-account .form-row.woocommerce-validated input.input-text {
    border-color: #12A150;
}

/* Save / cancel. */
body.woocommerce-account .tp-address-form-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 26px 0 0;
    padding-top: 22px;
    border-top: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .tp-address-form-cancel {
    font-size: 14px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
    transition: color 0.3s ease;
}

body.woocommerce-account .tp-address-form-cancel:hover {
    color: #E14747;
}

@media (max-width: 575px) {
    body.woocommerce-account .tp-address-form-head {
        flex-wrap: wrap;
    }

    body.woocommerce-account .tp-address-form-back {
        order: -1;
        margin-left: auto;
    }

    body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
    body.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last {
        display: block;
        width: 100%;
        margin-right: 0;
    }
}

/* --- Account details form ------------------------------------------------ */

body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
body.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
    float: none;
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-first {
    margin-right: 12px;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row-wide {
    display: block;
    width: 100%;
}

body.woocommerce-account .woocommerce-EditAccountForm .clear {
    clear: both;
}

/* Hint under the display name field. */
body.woocommerce-account #account_display_name_description {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
}

body.woocommerce-account #account_display_name_description em {
    font-style: normal;
    color: inherit;
}

/* Password change block. Browsers render <legend> inside the border notch, so
   it is floated out to read as a normal section heading. */
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
    margin: 28px 0 0;
    padding: 22px 24px 4px;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
    border-radius: 14px;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
    display: block;
    float: left;
    width: 100%;
    margin: 0 0 18px;
    padding: 0 0 14px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--tp-common-black);
    border-bottom: 1px solid var(--agntix-cart-line);
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset .form-row:last-child {
    margin-bottom: 22px;
}

body.woocommerce-account .woocommerce-MyAccount-content fieldset input {
    background-color: #fff;
}

/* Submit row. */
body.woocommerce-account .woocommerce-EditAccountForm .profile__btn {
    margin: 26px 0 0;
    padding-top: 22px;
    border-top: 1px solid var(--agntix-cart-line);
}

@media (max-width: 575px) {
    body.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    body.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
        display: block;
        width: 100%;
        margin-right: 0;
    }

    body.woocommerce-account .woocommerce-MyAccount-content fieldset {
        padding: 20px 18px 4px;
    }
}

/* ==========================================================================
   Login / register
   The logged-out account page has no .woocommerce-MyAccount-content wrapper,
   so these rules hang off .tp-login-area instead. agntix-custom.css styles
   `form.login` as a card with !important, which the card wrapper undoes.
   ========================================================================== */

.tp-login-area {
    --agntix-cart-line: #ECEEF1;
    --agntix-cart-muted: #6B7280;
    --agntix-cart-soft: #F7F8FA;

    max-width: 1000px;
    margin: 0 auto;
}

/* --- Intro --------------------------------------------------------------- */

.tp-login-intro {
    margin-bottom: 30px;
    text-align: center;
}

.tp-login-badge {
    display: inline-block;
    margin-bottom: 14px;
    line-height: 0;
    color: var(--tp-theme-shop);
}

.tp-login-intro-title {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--tp-common-black);
}

.tp-login-intro-text {
    max-width: 440px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

/* --- Cards --------------------------------------------------------------- */

/* Each card keeps its natural height. Stretching them to match left a tall
   empty block under the shorter login form. */
.tp-login-area > .row {
    align-items: flex-start;
}

.tp-login-area > .row > [class*="col-"] {
    margin-bottom: 24px;
}

.tp-login-card {
    display: flex;
    flex-direction: column;
    height: auto;
    padding: 28px 30px 30px;
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(20, 26, 46, 0.06);
}

/* agntix-custom.css turns form.login into its own bordered card. */
.tp-login-area .tp-login-card form.login,
.tp-login-area .tp-login-card form.register {
    margin-top: 0 !important;
    padding: 0 !important;
    background-color: transparent;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none;
}

.tp-login-head {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 18px;
    margin-bottom: 22px;
    border-bottom: 1px solid var(--agntix-cart-line);
}

.tp-login-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--tp-theme-shop);
    background-color: rgba(46, 128, 255, 0.09);
}

.tp-login-icon.is-green {
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.11);
}

.tp-login-head-text h3 {
    margin: 0;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--tp-common-black);
}

.tp-login-head-text p {
    margin: 3px 0 0;
    font-size: 13.5px;
    line-height: 1.4;
    color: var(--agntix-cart-muted);
}

/* --- Fields -------------------------------------------------------------- */

.tp-login-area .tp-login-card form .form-row {
    margin: 0 0 18px;
    padding: 0;
}

.tp-login-area .tp-login-card form label {
    display: block;
    margin-bottom: 9px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--tp-common-black);
}

.tp-login-area .tp-login-card form label .required {
    color: #E14747;
    border: 0;
    text-decoration: none;
}

.tp-login-area .tp-login-card input.input-text,
.tp-login-area .tp-login-card input[type="text"],
.tp-login-area .tp-login-card input[type="email"],
.tp-login-area .tp-login-card input[type="password"] {
    width: 100%;
    height: 52px;
    padding: 0 18px;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 50px;
    color: var(--tp-common-black);
    background-color: #fff;
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.tp-login-area .tp-login-card input.input-text:focus,
.tp-login-area .tp-login-card input[type="text"]:focus,
.tp-login-area .tp-login-card input[type="email"]:focus,
.tp-login-area .tp-login-card input[type="password"]:focus {
    outline: none;
    border-color: var(--tp-theme-shop);
    box-shadow: 0 0 0 3px rgba(46, 128, 255, 0.12);
}

/* --- Remember me / lost password ----------------------------------------- */

.tp-login-area .tp-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px !important;
}

.tp-login-area .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--agntix-cart-muted) !important;
    cursor: pointer;
}

.tp-login-area .woocommerce-form__input-checkbox {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--tp-theme-shop);
    cursor: pointer;
}

.tp-login-lost {
    font-size: 14px;
    font-weight: 500;
    color: var(--tp-theme-shop);
    transition: color 0.3s ease;
}

.tp-login-lost:hover {
    color: var(--tp-common-black);
}

/* --- Buttons ------------------------------------------------------------- */

.tp-login-area .tp-login-submit {
    margin-bottom: 0 !important;
}

.tp-login-area .tp-login-card button.button {
    display: block;
    width: 100%;
    height: auto;
    padding: 15px 24px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    border-radius: 12px;
    color: var(--tp-common-white);
    background-color: var(--tp-theme-shop);
    border: 1px solid var(--tp-theme-shop);
    box-shadow: 0 12px 26px rgba(46, 128, 255, 0.24);
    transition: all 0.3s ease;
}

.tp-login-area .tp-login-card button.button:hover {
    color: var(--tp-common-white);
    background-color: var(--tp-common-black);
    border-color: var(--tp-common-black);
    box-shadow: 0 12px 26px rgba(20, 26, 46, 0.22);
    transform: translateY(-2px);
}

/* Register is a distinct action from signing in. */
.tp-login-area .tp-login-card button.woocommerce-form-register__submit {
    background-color: #12A150;
    border-color: #12A150;
    box-shadow: 0 12px 26px rgba(18, 161, 80, 0.22);
}

.tp-login-area .tp-login-card button.woocommerce-form-register__submit:hover {
    background-color: #0F8A45;
    border-color: #0F8A45;
    box-shadow: 0 12px 26px rgba(15, 138, 69, 0.28);
}

/* --- Register extras ----------------------------------------------------- */

.tp-login-note {
    margin: 0 0 18px;
    padding: 12px 14px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
    border-radius: 10px;
}

.tp-login-area .woocommerce-privacy-policy-text:empty {
    display: none;
}

.tp-login-area .woocommerce-privacy-policy-text p {
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--agntix-cart-muted);
}

/* --- Back link ----------------------------------------------------------- */

.tp-login-back {
    margin: 6px 0 0;
    text-align: center;
}

.tp-login-back a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    font-weight: 500;
    color: var(--agntix-cart-muted);
    transition: color 0.3s ease;
}

.tp-login-back a:hover {
    color: var(--tp-theme-shop);
}

.tp-login-back svg {
    transition: transform 0.3s ease;
}

.tp-login-back a:hover svg {
    transform: translateX(-3px);
}

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 767px) {
    .tp-login-card {
        padding: 24px 20px 26px;
    }

    .tp-login-intro-title {
        font-size: 23px;
    }

    .tp-login-area .tp-login-options {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==========================================================================
   Password reveal toggle — self-contained
   Only the .password-input wrapper WooCommerce injects around password fields
   and the button inside it are touched, so no other field or button styling is
   affected. WooCommerce draws this eye with its own icon font, which the theme
   dequeues, so it is redrawn here as an inline SVG.
   Applies anywhere a password field appears: login, register, account details,
   password reset, and checkout account creation.
   ========================================================================== */

/* Flex makes the wrapper hug the input exactly. As a block it inherited the
   inline baseline gap under the input, which pushed `top: 50%` below centre. */
.password-input {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.password-input > input {
    flex: 1 1 auto;
    width: 100%;
    padding-right: 50px;
}

.password-input .show-password-input {
    position: absolute;
    top: 50%;
    right: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-height: 0;
    padding: 0;
    margin: 0;
    line-height: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 9px;
    background-color: transparent;
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.25s ease;
}

.password-input .show-password-input:hover {
    background-color: rgba(46, 128, 255, 0.08);
}

.password-input .show-password-input::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%236B7280' stroke-width='1.5'%3E%3Cpath d='M1.8 10S4.9 4.6 10 4.6 18.2 10 18.2 10 15.1 15.4 10 15.4 1.8 10 1.8 10Z' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='10' r='2.6'/%3E%3C/svg%3E");
}

/* WooCommerce adds this class while the password is visible. */
.password-input .show-password-input.display-password::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none' stroke='%232e80ff' stroke-width='1.5'%3E%3Cpath d='M1.8 10S4.9 4.6 10 4.6 18.2 10 18.2 10 15.1 15.4 10 15.4 1.8 10 1.8 10Z' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='10' r='2.6'/%3E%3Cpath d='M3.5 16.5 16.5 3.5' stroke-linecap='round'/%3E%3C/svg%3E");
}


.tp-login-card .login .password-input .show-password-input {
    top: 36%;
}
/* --- Register password checklist ----------------------------------------- */

.tp-password-rules {
    list-style: none;
    margin: -6px 0 20px;
    padding: 14px 16px;
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
    border-radius: 12px;
}

.tp-password-rules-title {
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #9AA1AC;
}

.tp-password-rule {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--agntix-cart-muted);
    transition: color 0.25s ease;
}

.tp-password-rule:not(:last-child) {
    margin-bottom: 7px;
}

.tp-password-rule-icon {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 0;
    color: #C7CCD3;
    transition: color 0.25s ease;
}

/* The tick is drawn in the same SVG and only revealed once the rule passes. */
.tp-password-rule .tp-password-check {
    opacity: 0;
    transition: opacity 0.25s ease;
}

.tp-password-rule.is-valid {
    color: #0F8A45;
}

.tp-password-rule.is-valid .tp-password-rule-icon {
    color: #12A150;
}

.tp-password-rule.is-valid .tp-password-check {
    opacity: 1;
}

/* Register stays blocked until every field checks out. */
.tp-login-area .tp-login-card button.button:disabled,
.tp-login-area .tp-login-card button.button.is-disabled {
    color: #fff;
    background-color: #C2C8D0;
    border-color: #C2C8D0;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.tp-login-area .tp-login-card button.button:disabled:hover,
.tp-login-area .tp-login-card button.button.is-disabled:hover {
    color: #fff;
    background-color: #C2C8D0;
    border-color: #C2C8D0;
    box-shadow: none;
    transform: none;
}

/* WordPress' generic password hint duplicates the checklist below the field,
   so it is dropped from the register form only — the reset-password form still
   shows it. */
.woocommerce-form-register .woocommerce-password-hint {
    display: none;
}

/* The strength meter stays; it is colour coded to match the checklist. */
.woocommerce-form-register .woocommerce-password-strength {
    display: block;
    margin: 10px 0 0;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    border-radius: 10px;
    color: var(--agntix-cart-muted);
    background-color: var(--agntix-cart-soft);
    border: 1px solid var(--agntix-cart-line);
}

.woocommerce-form-register .woocommerce-password-strength.short,
.woocommerce-form-register .woocommerce-password-strength.bad {
    color: #C13333;
    background-color: rgba(225, 71, 71, 0.08);
    border-color: rgba(225, 71, 71, 0.25);
}

.woocommerce-form-register .woocommerce-password-strength.good {
    color: #B26A00;
    background-color: rgba(224, 150, 0, 0.1);
    border-color: rgba(224, 150, 0, 0.28);
}

.woocommerce-form-register .woocommerce-password-strength.strong {
    color: #0F8A45;
    background-color: rgba(18, 161, 80, 0.1);
    border-color: rgba(18, 161, 80, 0.28);
}

.tp-action-btn,
.tp-product-item-title,
.tp-product-item-price,
.tp-product-cats a,
.tp-product-details-price,
.tp-product-details-stock span,
.tp-product-details-query-item>span,
.tp-product-details-social a,
.tp-product-related-title,
.tp-product-details-title,
.tp-shop-section-title {
    color: #21212D;
}

.tp-product-cats a {
    border-color: #21212D;
}

.tp-product-item:hover .tp-product-item-btn .added_to_cart.wc-forward:hover {
    background: #4677c1;
}

.tp-product-details-quantity .tp-cart-input[type="text"] {
    background-color: #F2F2F2;
}

.tp-product-details-add-to-cart-btn:hover {
    background-color: #f2f2f2;
    border-color: #f2f2f2;
}