/* WooCommerce brand integration */
.tm-shop-main { padding: 64px 0 100px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: #111111; font-size: .82rem; }
.woocommerce-products-header { padding: 44px 0 54px; }
.woocommerce-products-header__title.page-title { font-size: clamp(2.4rem, 4.5vw, 4.6rem); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 38px 28px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 4 / 5.2; object-fit: contain; margin: 0 0 20px; background: var(--tm-cream); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin-bottom: 9px; color: #111111; font-size: 1rem; font-weight: 500; }
.woocommerce ul.products li.product .price { color: #111111; font-size: .9rem; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 46px; padding: 12px 18px; border-radius: 3px; background: var(--tm-burgundy); color: #fff; font-weight: 500; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--tm-burgundy-dark); color: #fff; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--tm-burgundy); background: var(--tm-cream); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tm-burgundy); }
.woocommerce div.product { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product .product_title { font-size: clamp(2.4rem, 4vw, 4rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #111111; font-weight: 500; }
.woocommerce div.product form.cart .button { min-height: 50px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height: 48px; border: 1px solid #d8d3d5; border-radius: 2px; padding: 10px 12px; }
.woocommerce-checkout #payment { background: var(--tm-cream); border-radius: 4px; }
.woocommerce table.shop_table { border-color: var(--tm-border); border-radius: 3px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--tm-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--tm-border); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--tm-burgundy); color: #fff; }
@media (max-width: 900px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 520px) { .woocommerce ul.products { grid-template-columns: 1fr; } }


/* 1.3 WooCommerce typography alignment */
.woocommerce,
.woocommerce input,
.woocommerce textarea,
.woocommerce select,
.woocommerce button {
    font-family: "Poppins";
}
.woocommerce .woocommerce-breadcrumb,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a {
    color: #111111;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
    font-weight: 500;
}

/* v1.7.1 — branded Books archive matching the site's original book-shop structure. */
.woocommerce-shop .tm-inner-banner,
.tax-product_cat .tm-inner-banner,
.tax-product_tag .tm-inner-banner {
    background: #F3F4F5;
}

.tm-books-archive {
    padding: clamp(58px, 6vw, 88px) 0 clamp(82px, 8vw, 120px);
    background: #fff;
}
.tm-books-layout {
    display: grid;
    grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    gap: clamp(50px, 6vw, 92px);
    align-items: start;
}
.tm-books-sidebar {
    position: sticky;
    top: 28px;
    padding-top: 48px;
}
.tm-books-sidebar h2 {
    margin: 0 0 28px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1.22rem;
    font-weight: 500;
    line-height: 1.35;
}
.tm-top-books {
    display: grid;
    gap: 22px;
}
.tm-top-book {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    color: #111111;
    text-decoration: none;
}
.tm-top-book__image {
    display: block;
    width: 78px;
    height: 98px;
    overflow: hidden;
    background: #F3F4F5;
}
.tm-top-book__image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}
.tm-top-book__meta {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.tm-top-book__meta strong {
    color: #111111;
    font-size: .94rem;
    font-weight: 400;
    line-height: 1.45;
}
.tm-top-book__price,
.tm-top-book__price .amount {
    color: #111111;
    font-size: .84rem;
    font-weight: 400;
}
.tm-top-book:hover strong {
    color: var(--tm-burgundy);
}

.tm-books-products {
    min-width: 0;
}
.tm-books-products .woocommerce-result-count,
.tm-books-products .woocommerce-ordering,
.tm-books-products .woocommerce-products-header {
    display: none !important;
}
.woocommerce .tm-books-products ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 42px);
    margin: 0;
}
.woocommerce .tm-books-products ul.products li.product {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.woocommerce .tm-books-products ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.woocommerce .tm-books-products ul.products li.product a img {
    width: 100%;
    aspect-ratio: 4 / 5.6;
    object-fit: contain;
    margin: 0 0 18px;
    padding: 0;
    background: #fff;
}
.woocommerce .tm-books-products ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 7px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}
.woocommerce .tm-books-products ul.products li.product .tm-loop-product-description {
    margin: 0 0 10px;
    color: var(--tm-muted);
    font-size: .84rem;
    font-weight: 400;
    line-height: 1.65;
}
.woocommerce .tm-books-products ul.products li.product .price {
    margin: 0 0 14px;
    color: #111111;
    font-size: .9rem;
    font-weight: 400;
}
.woocommerce .tm-books-products ul.products li.product .button {
    align-self: flex-start;
    margin-top: auto;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 2px;
    font-size: .82rem;
    font-weight: 400;
}
.woocommerce .tm-books-products nav.woocommerce-pagination {
    margin-top: 54px;
}

@media (max-width: 1050px) {
    .tm-books-layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 44px;
    }
    .woocommerce .tm-books-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .tm-books-layout {
        grid-template-columns: 1fr;
        gap: 46px;
    }
    .tm-books-sidebar {
        position: static;
        padding-top: 0;
    }
    .tm-top-books {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }
    .tm-top-book {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 11px;
    }
    .tm-top-book__image {
        width: 58px;
        height: 74px;
    }
}

/* v1.8.43 — clean editorial cart matching the supplied two-column reference. */
body.woocommerce-cart .tm-cart-shell {
    padding: clamp(42px, 5vw, 72px) 0 clamp(82px, 8vw, 118px);
    background: #FFFFFF;
}
body.woocommerce-cart .tm-cart-shell > .tm-container {
    width: min(1080px, calc(100% - 48px));
    max-width: 1080px;
}
body.woocommerce-cart .tm-cart-page .tm-commerce-title {
    margin: 0 0 clamp(34px, 4vw, 54px);
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(1.85rem, 3vw, 2.45rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.02em;
}
body.woocommerce-cart .tm-cart-page-content,
body.woocommerce-cart .tm-cart-page-content > .woocommerce {
    width: 100%;
    max-width: none !important;
}
body.woocommerce-cart .tm-cart-page-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 380px);
    column-gap: clamp(38px, 5vw, 62px);
    row-gap: 28px;
    align-items: start;
}
body.woocommerce-cart .tm-cart-page-content .woocommerce-notices-wrapper,
body.woocommerce-cart .tm-cart-page-content .woocommerce-message,
body.woocommerce-cart .tm-cart-page-content .woocommerce-info,
body.woocommerce-cart .tm-cart-page-content .woocommerce-error,
body.woocommerce-cart .tm-cart-page-content .cart-empty,
body.woocommerce-cart .tm-cart-page-content .return-to-shop {
    grid-column: 1 / -1;
}
body.woocommerce-cart .tm-cart-page-content .woocommerce-cart-form {
    grid-column: 1;
    width: 100%;
    min-width: 0;
    margin: 0;
}
body.woocommerce-cart .tm-cart-page-content .cart-collaterals {
    grid-column: 2;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-cart .tm-cart-page-content .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 28px 28px 26px;
    border: 1px solid #D9DDE1 !important;
    background: #FFFFFF;
}
body.woocommerce-cart .tm-cart-page-content table.cart {
    display: block;
    width: 100%;
    border: 0 !important;
    border-collapse: collapse;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead,
body.woocommerce-cart .tm-cart-page-content table.cart tbody {
    display: block;
    width: 100%;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead tr,
body.woocommerce-cart .tm-cart-page-content table.cart tr.cart_item {
    display: grid;
    grid-template-columns: 88px minmax(160px, 1fr) 110px 110px 24px;
    column-gap: 18px;
    width: 100%;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead tr {
    align-items: end;
    padding: 0 0 18px;
    border-bottom: 1px solid #D9DDE1;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead th {
    padding: 0 !important;
    border: 0 !important;
    color: #111111;
    font-size: .9rem;
    font-weight: 500;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-remove,
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-thumbnail {
    display: none;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-name {
    grid-column: 1 / 3;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-price {
    display: none;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-quantity {
    grid-column: 3;
    text-align: center;
}
body.woocommerce-cart .tm-cart-page-content table.cart thead .product-subtotal {
    grid-column: 4;
    text-align: right;
}
body.woocommerce-cart .tm-cart-page-content table.cart tr.cart_item {
    position: relative;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    min-height: 146px;
    padding: 22px 0;
    border-bottom: 1px dashed #D9DDE1;
}
body.woocommerce-cart .tm-cart-page-content table.cart tr.cart_item td {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart tr.cart_item td::before {
    display: none !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail {
    display: block !important;
    grid-column: 1;
    grid-row: 1 / 3;
    width: 76px !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail a,
body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail img {
    display: block;
    width: 76px !important;
    height: 108px !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: center;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-name {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    padding-bottom: 3px !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-name a {
    color: #222A31;
    font-size: 1rem;
    line-height: 1.45;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-price {
    display: block !important;
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    padding-top: 3px !important;
    color: #111111;
    font-size: 1rem;
    font-weight: 500;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-quantity {
    grid-column: 3;
    grid-row: 1 / 3;
    justify-self: center;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-subtotal {
    grid-column: 4;
    grid-row: 1 / 3;
    justify-self: end;
    color: #111111;
    font-size: 1rem;
    font-weight: 500;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-remove {
    display: block !important;
    grid-column: 5;
    grid-row: 1 / 3;
    justify-self: end;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-remove a.remove {
    display: grid;
    width: 24px;
    height: 30px;
    place-items: center;
    color: #737C84 !important;
    font-size: 0;
    line-height: 1;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-remove a.remove::before {
    content: "×";
    font-size: 1.15rem;
    font-weight: 400;
}
body.woocommerce-cart .tm-cart-page-content table.cart .product-remove a.remove:hover {
    background: transparent !important;
    color: var(--tm-burgundy) !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .quantity {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    width: 110px !important;
    height: 43px;
    box-sizing: border-box;
    border: 0;
    border-top: 1px solid var(--tm-burgundy);
    border-bottom: 1px solid var(--tm-burgundy);
    background: #FFFFFF;
}
body.woocommerce-cart .tm-cart-page-content table.cart .quantity .tm-qty-btn,
body.woocommerce-cart .tm-cart-page-content table.cart .quantity input.qty {
    display: grid !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    border: 0 !important;
    background: #FFFFFF !important;
    color: #68717A !important;
    box-shadow: none !important;
    font-size: .78rem !important;
    line-height: 41px !important;
    text-align: center;
}
body.woocommerce-cart .tm-cart-page-content table.cart .quantity .tm-qty-btn {
    cursor: pointer;
}
body.woocommerce-cart .tm-cart-page-content table.cart td.actions {
    display: flex !important;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 0 0 !important;
    border: 0 !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart td.actions .coupon {
    display: flex;
    gap: 8px;
}
body.woocommerce-cart .tm-cart-page-content table.cart td.actions .input-text {
    width: 200px !important;
    min-height: 42px;
    padding: 9px 13px !important;
    border: 1px solid #D9DDE1;
    color: #68717A;
    font-size: .82rem;
}
body.woocommerce-cart .tm-cart-page-content table.cart td.actions .button {
    min-height: 42px;
    padding: 9px 18px !important;
    font-size: .78rem;
}
body.woocommerce-cart .tm-cart-page-content .cart_totals h2 {
    margin: 0 0 20px;
    color: #111111;
    font-size: 1.05rem;
    font-weight: 500;
}
body.woocommerce-cart .tm-cart-page-content .cart_totals table {
    margin: 0 0 24px;
    border: 0 !important;
}
body.woocommerce-cart .tm-cart-page-content .cart_totals table th,
body.woocommerce-cart .tm-cart-page-content .cart_totals table td {
    padding: 17px 0 !important;
    border: 0 !important;
    border-bottom: 1px dashed #D9DDE1 !important;
    color: #68717A;
    font-size: .82rem;
    font-weight: 400;
}
body.woocommerce-cart .tm-cart-page-content .cart_totals table td {
    text-align: right;
}
body.woocommerce-cart .tm-cart-page-content .cart_totals .order-total th,
body.woocommerce-cart .tm-cart-page-content .cart_totals .order-total td,
body.woocommerce-cart .tm-cart-page-content .cart_totals .order-total .amount {
    color: #59616A;
    font-weight: 600;
}
body.woocommerce-cart .tm-cart-page-content .wc-proceed-to-checkout {
    padding: 0;
}
body.woocommerce-cart .tm-cart-page-content .wc-proceed-to-checkout .checkout-button {
    min-height: 46px;
    padding: 12px 18px !important;
    font-size: .82rem;
}
@media (max-width: 900px) {
    body.woocommerce-cart .tm-cart-page-content > .woocommerce {
        grid-template-columns: 1fr;
    }
    body.woocommerce-cart .tm-cart-page-content .woocommerce-cart-form,
    body.woocommerce-cart .tm-cart-page-content .cart-collaterals {
        grid-column: 1;
    }
    body.woocommerce-cart .tm-cart-page-content .cart-collaterals .cart_totals {
        max-width: 520px;
    }
}
@media (max-width: 620px) {
    body.woocommerce-cart .tm-cart-shell > .tm-container {
        width: min(100% - 28px, 1080px);
    }
    body.woocommerce-cart .tm-cart-page-content table.cart thead {
        display: none;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart tr.cart_item {
        grid-template-columns: 72px minmax(0, 1fr) 24px;
        grid-template-rows: auto auto auto;
        gap: 8px 14px;
        padding: 20px 0;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail {
        grid-column: 1;
        grid-row: 1 / 4;
        width: 72px !important;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail a,
    body.woocommerce-cart .tm-cart-page-content table.cart .product-thumbnail img {
        width: 72px !important;
        height: 94px !important;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-name,
    body.woocommerce-cart .tm-cart-page-content table.cart .product-price {
        grid-column: 2;
        grid-row: auto;
        align-self: auto;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-quantity {
        grid-column: 2;
        grid-row: 3;
        justify-self: start;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-subtotal {
        grid-column: 2;
        grid-row: 3;
        align-self: center;
        justify-self: end;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart .product-remove {
        grid-column: 3;
        grid-row: 1;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart td.actions {
        display: grid !important;
        align-items: stretch;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart td.actions .coupon {
        display: grid;
        grid-template-columns: 1fr auto;
        width: 100%;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart td.actions .input-text {
        width: 100% !important;
    }
    body.woocommerce-cart .tm-cart-page-content table.cart td.actions > .button {
        width: 100%;
    }
    body.woocommerce-cart .tm-cart-page-content .cart-collaterals .cart_totals {
        padding: 24px 20px;
    }
}
@media (max-width: 560px) {
    .tm-top-books {
        grid-template-columns: 1fr;
    }
    .woocommerce .tm-books-products ul.products {
        grid-template-columns: 1fr;
    }
    .woocommerce .tm-books-products ul.products li.product a img {
        max-height: 520px;
    }
}


/* v1.7.2 — polished single book page matching the book archive visual system. */
.single-product .tm-shop-main {
    padding: clamp(42px, 5vw, 72px) 0 clamp(82px, 8vw, 118px);
    background: #fff;
}
.single-product .tm-shop-main > .tm-container {
    max-width: 1080px;
}
.single-product .woocommerce-breadcrumb {
    margin: 0 0 clamp(42px, 5vw, 68px);
    color: #111111;
    font-family: "Poppins";
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.6;
}
.single-product .woocommerce-breadcrumb a {
    color: #111111;
    text-decoration: none;
}
.single-product .woocommerce-breadcrumb a:hover {
    color: var(--tm-burgundy);
}
.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(300px, .95fr) minmax(390px, 1.45fr) minmax(215px, .78fr);
    column-gap: clamp(34px, 4vw, 58px);
    row-gap: 44px;
    align-items: start;
}
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}
.single-product .woocommerce div.product div.images {
    grid-column: 1;
    grid-row: 1;
}
.single-product .woocommerce div.product div.summary {
    grid-column: 2;
    grid-row: 1;
    padding-top: 4px;
}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0;
}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
    background: #fff;
}
.single-product .woocommerce div.product div.images img {
    width: 100%;
    max-height: 600px;
    object-fit: contain;
    object-position: top center;
}
.single-product .woocommerce div.product .product_title {
    margin: 0 0 18px;
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(2.1rem, 3vw, 3.35rem);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.025em;
}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
    margin: 0 0 34px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1.12rem;
    font-weight: 400;
}
.single-product .woocommerce div.product .woocommerce-product-details__short-description {
    margin-bottom: 30px;
    color: #111111;
    line-height: 1.75;
}
.single-product .woocommerce div.product form.cart {
    display: grid;
    grid-template-columns: 148px minmax(190px, 1fr);
    gap: 12px;
    padding: 30px 0 38px;
    margin: 0 0 30px;
    border-top: 1px solid #dedfe1;
    border-bottom: 1px solid #dedfe1;
}
.single-product .woocommerce div.product form.cart::before,
.single-product .woocommerce div.product form.cart::after {
    display: none;
}
.single-product .woocommerce div.product form.cart .quantity {
    float: none;
    margin: 0;
}
.single-product .woocommerce div.product form.cart .qty {
    width: 100%;
    min-height: 52px;
    border: 1px solid var(--tm-burgundy);
    border-radius: 0;
    background: #fff;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100%;
    min-height: 52px;
    border-radius: 0;
    background: var(--tm-burgundy);
    color: #fff;
    font-family: "Poppins";
    font-size: .92rem;
    font-weight: 500;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: var(--tm-burgundy-dark);
}
.single-product .woocommerce div.product .product_meta {
    margin-top: 0;
    color: #777;
    font-size: .82rem;
    line-height: 1.7;
    text-transform: uppercase;
}
.single-product .woocommerce div.product .product_meta > span {
    display: block;
    margin-bottom: 4px;
}
.single-product .woocommerce div.product .product_meta a {
    color: #777;
}
.single-product .woocommerce div.product .product_meta a:hover {
    color: var(--tm-burgundy);
}

.single-product .tm-single-book-sidebar {
    grid-column: 3;
    grid-row: 1;
    align-self: start;
    padding-top: 0;
}
.single-product .tm-single-book-sidebar h2 {
    margin: 0 0 24px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3;
}
.tm-single-top-books {
    display: grid;
    gap: 20px;
}
.tm-single-top-book {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    color: #111111;
    text-decoration: none;
}
.tm-single-top-book__image {
    width: 74px;
    height: 94px;
    overflow: hidden;
    background: #F3F4F5;
}
.tm-single-top-book__image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}
.tm-single-top-book__meta {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.tm-single-top-book__meta strong {
    color: #111111;
    font-family: "Poppins";
    font-size: .92rem;
    font-weight: 400;
    line-height: 1.45;
}
.tm-single-top-book__price,
.tm-single-top-book__price .amount {
    color: #111111;
    font-size: .82rem;
    font-weight: 400;
}
.tm-single-top-book:hover .tm-single-top-book__meta strong {
    color: var(--tm-burgundy);
}

.single-product .woocommerce div.product .woocommerce-tabs,
.single-product .woocommerce div.product .related.products,
.single-product .woocommerce div.product .upsells.products {
    grid-column: 1 / 3;
}
.single-product .woocommerce div.product .woocommerce-tabs {
    margin-top: 20px;
    padding-top: 8px;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 28px;
    border-bottom: 1px solid #dedfe1;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-bottom: 0;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 28px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 12px 0;
    color: #555;
    font-weight: 400;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #111111;
    border-bottom: 2px solid var(--tm-burgundy);
}
.single-product .woocommerce div.product .woocommerce-tabs h2,
.single-product .woocommerce div.product .related.products > h2,
.single-product .woocommerce div.product .upsells.products > h2 {
    margin: 0 0 24px;
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(1.75rem, 2.5vw, 2.35rem);
    font-weight: 400;
}
.single-product .woocommerce div.product .related.products,
.single-product .woocommerce div.product .upsells.products {
    margin-top: 22px;
}
.single-product .woocommerce div.product .related.products ul.products,
.single-product .woocommerce div.product .upsells.products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}
.single-product .woocommerce div.product .related.products ul.products li.product a img,
.single-product .woocommerce div.product .upsells.products ul.products li.product a img {
    aspect-ratio: 4 / 5.6;
    object-fit: contain;
    background: #fff;
}

@media (max-width: 1050px) {
    .single-product .woocommerce div.product {
        grid-template-columns: minmax(270px, .9fr) minmax(0, 1.2fr);
        column-gap: 44px;
    }
    .single-product .tm-single-book-sidebar {
        grid-column: 1 / -1;
        grid-row: auto;
        margin-top: 6px;
        padding-top: 36px;
        border-top: 1px solid #dedfe1;
    }
    .single-product .tm-single-top-books {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }
    .single-product .tm-single-top-book {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 11px;
    }
    .single-product .tm-single-top-book__image {
        width: 58px;
        height: 74px;
    }
    .single-product .woocommerce div.product .woocommerce-tabs,
    .single-product .woocommerce div.product .related.products,
    .single-product .woocommerce div.product .upsells.products {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .single-product .tm-shop-main {
        padding-top: 34px;
    }
    .single-product .woocommerce-breadcrumb {
        margin-bottom: 34px;
    }
    .single-product .woocommerce div.product {
        grid-template-columns: 1fr;
        row-gap: 34px;
    }
    .single-product .woocommerce div.product div.images,
    .single-product .woocommerce div.product div.summary,
    .single-product .tm-single-book-sidebar,
    .single-product .woocommerce div.product .woocommerce-tabs,
    .single-product .woocommerce div.product .related.products,
    .single-product .woocommerce div.product .upsells.products {
        grid-column: 1;
        grid-row: auto;
    }
    .single-product .woocommerce div.product div.images img {
        max-height: 620px;
    }
    .single-product .woocommerce div.product form.cart {
        grid-template-columns: 118px minmax(0, 1fr);
    }
    .single-product .tm-single-top-books {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .single-product .woocommerce div.product .product_title {
        font-size: 2rem;
    }
    .single-product .woocommerce div.product form.cart {
        grid-template-columns: 1fr;
    }
    .single-product .tm-single-top-books {
        grid-template-columns: 1fr;
    }
    .single-product .woocommerce div.product .related.products ul.products,
    .single-product .woocommerce div.product .upsells.products ul.products {
        grid-template-columns: 1fr;
    }
}

/* v1.7.3 — refined Cart + Checkout pages to match the site's clean feminine WooCommerce look. */
.woocommerce-cart .tm-shop-main,
.woocommerce-checkout .tm-shop-main {
    padding: clamp(38px, 5vw, 72px) 0 clamp(78px, 8vw, 118px);
    background: #fff;
}

.woocommerce-cart .tm-shop-main > .tm-container,
.woocommerce-checkout .tm-shop-main > .tm-container {
    max-width: 1080px;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
    margin-bottom: 28px;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    padding: 18px 22px 18px 54px;
    border-top: 2px solid var(--tm-burgundy);
    background: #F8F8F9;
    color: #111111;
    font-family: "Poppins";
    font-size: .95rem;
    line-height: 1.6;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before {
    top: 18px;
    left: 18px;
    color: var(--tm-burgundy);
}

.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-cart .woocommerce-message a,
.woocommerce-checkout .woocommerce-message a {
    color: var(--tm-burgundy);
    font-weight: 500;
}

/* Cart page */
.woocommerce-cart table.cart {
    border: 0 !important;
    margin: 0;
}

.woocommerce-cart table.cart thead th {
    padding: 0 0 18px;
    border: 0;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0;
}

.woocommerce-cart table.cart tbody td {
    padding: 28px 0;
    border-top: 1px solid #E2E2E5;
    vertical-align: middle;
    background: transparent !important;
}

.woocommerce-cart table.cart .product-thumbnail {
    width: 118px;
    padding-right: 22px;
}

.woocommerce-cart table.cart .product-thumbnail img {
    width: 92px;
    height: auto;
    background: #fff;
}

.woocommerce-cart table.cart .product-name a {
    color: #111111;
    font-family: "Poppins";
    font-size: 1.02rem;
    font-weight: 400;
    line-height: 1.45;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal,
.woocommerce-cart table.cart .product-price .amount,
.woocommerce-cart table.cart .product-subtotal .amount {
    color: #111111;
    font-size: .98rem;
    font-weight: 400;
}

.woocommerce-cart table.cart td.actions {
    padding-top: 26px;
    border-top: 1px solid #E2E2E5;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    align-items: center;
    gap: 12px;
}

.woocommerce-cart table.cart td.actions .input-text {
    width: 260px !important;
    min-height: 52px;
    border: 1px solid #D8D3D5;
    border-radius: 0;
    padding: 12px 16px !important;
    color: #111111;
    font-family: "Poppins";
}

.woocommerce-cart table.cart .button,
.woocommerce-cart .cart-collaterals .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    min-height: 52px;
    border-radius: 0 !important;
    background: var(--tm-burgundy);
    color: #fff !important;
    font-family: "Poppins";
    font-size: .95rem;
    font-weight: 500;
}

.woocommerce-cart table.cart .button:disabled,
.woocommerce-cart table.cart .button[disabled] {
    background: #BFA8AF !important;
    color: #fff !important;
}

.woocommerce-cart .cart-collaterals {
    margin-top: 24px;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: right;
    width: min(100%, 420px);
    padding: 32px 34px 36px;
    border: 1px solid #D9DADD;
    background: #fff;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    margin: 0 0 24px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1.85rem;
    font-weight: 500;
}

.woocommerce-cart .cart-collaterals .shop_table {
    border: 0;
    margin: 0 0 22px;
}

.woocommerce-cart .cart-collaterals .shop_table th,
.woocommerce-cart .cart-collaterals .shop_table td {
    padding: 18px 0;
    border-top: 1px solid #E2E2E5;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem;
    font-weight: 400;
}

.woocommerce-cart .cart-collaterals .order-total th,
.woocommerce-cart .cart-collaterals .order-total td,
.woocommerce-cart .cart-collaterals .order-total .amount {
    font-weight: 600;
}

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 !important;
}

/* Checkout page */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h2 {
    color: #111111;
    font-family: "Poppins";
}

.woocommerce-checkout .col2-set {
    width: min(100%, 760px);
    float: left;
    margin-right: 48px;
}

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

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    margin: 0 0 28px;
}

.woocommerce-checkout .col2-set .col-1 > *,
.woocommerce-checkout .col2-set .col-2 > * {
    max-width: 100%;
}

.woocommerce-checkout #customer_details::after,
.woocommerce-checkout form.checkout::after {
    content: "";
    display: block;
    clear: both;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    padding: 34px 36px 38px;
    border: 1px solid #E2E2E5;
    background: #fff;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    margin: 0 0 24px;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.2;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 18px;
}

.woocommerce-checkout .form-row {
    margin: 0 0 0.95rem;
}

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 100%;
    float: none;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1;
}

.woocommerce-checkout label {
    margin-bottom: 8px;
    color: #111111;
    font-size: .9rem;
    font-weight: 400;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: 52px;
    border: 1px solid #D8D3D5;
    border-radius: 0;
    background: #fff;
    color: #111111;
    font-family: "Poppins";
    font-size: .95rem;
}

.woocommerce-checkout form .form-row textarea {
    min-height: 132px;
    padding-top: 14px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px;
    padding-left: 12px;
    color: #111111;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    width: min(100%, 380px);
    float: right;
    clear: right;
}

.woocommerce-checkout #order_review {
    padding: 28px 30px 32px;
    border: 1px solid #D9DADD;
    background: #fff;
}

.woocommerce-checkout table.shop_table {
    border: 0;
    margin: 0 0 18px;
    border-collapse: collapse;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    padding: 14px 0;
    border-top: 1px solid #E2E2E5;
    color: #111111;
    font-family: "Poppins";
    font-size: .95rem;
    font-weight: 400;
}

.woocommerce-checkout table.shop_table thead th {
    padding-top: 0;
    border-top: 0;
    font-weight: 500;
}

.woocommerce-checkout table.shop_table .product-total,
.woocommerce-checkout table.shop_table .cart-subtotal td,
.woocommerce-checkout table.shop_table .order-total td {
    text-align: right;
}

.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td,
.woocommerce-checkout table.shop_table .order-total .amount {
    font-weight: 600;
}

.woocommerce-checkout #payment {
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 20px;
    border-bottom: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0;
}

.woocommerce-checkout #payment div.payment_box {
    margin: 12px 0 0;
    padding: 18px 20px;
    border: 1px solid #E2E2E5;
    border-radius: 0;
    background: #F8F8F9;
    color: #111111;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-checkout .place-order {
    padding: 18px 0 0 !important;
}

.woocommerce-checkout .place-order .button,
.woocommerce-checkout .place-order #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    border-radius: 0 !important;
    background: var(--tm-burgundy);
    color: #fff !important;
    font-family: "Poppins";
    font-size: .96rem;
    font-weight: 500;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .place-order p {
    color: #666;
    font-size: .82rem;
    line-height: 1.7;
}

.woocommerce-checkout .woocommerce-form-coupon {
    margin: 18px 0 28px;
    padding: 20px 22px 10px;
    border: 1px solid #E2E2E5;
    border-radius: 0;
}

.woocommerce-checkout .woocommerce-form-coupon p.form-row-first {
    width: calc(100% - 170px);
    padding-right: 12px;
}

.woocommerce-checkout .woocommerce-form-coupon p.form-row-last {
    width: 170px;
}

.woocommerce-checkout .woocommerce-form-coupon .button {
    width: 100%;
}

@media (max-width: 1180px) {
    .woocommerce-checkout .col2-set {
        width: calc(100% - 400px);
        margin-right: 36px;
    }
}

@media (max-width: 980px) {
    .woocommerce-cart table.cart .product-thumbnail {
        width: 88px;
        padding-right: 14px;
    }

    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .col2-set {
        float: none;
        width: 100%;
        margin-right: 0;
    }

    .woocommerce-checkout #order_review_heading {
        margin-top: 36px;
    }
}

@media (max-width: 767px) {
    .woocommerce-cart table.cart thead {
        display: none;
    }

    .woocommerce-cart table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
        display: block;
        position: relative;
        padding: 22px 0;
        border-top: 1px solid #E2E2E5;
    }

    .woocommerce-cart table.shop_table_responsive tr td,
    .woocommerce-page table.shop_table_responsive tr td {
        padding: 10px 0;
        border-top: 0;
    }

    .woocommerce-cart table.shop_table_responsive tr td::before,
    .woocommerce-page table.shop_table_responsive tr td::before {
        color: #555;
        font-family: "Poppins";
        font-weight: 500;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        flex-direction: column;
        align-items: stretch;
    }

    .woocommerce-cart table.cart td.actions .input-text {
        width: 100% !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        padding: 24px 22px 26px;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout .woocommerce-form-coupon p.form-row-first,
    .woocommerce-checkout .woocommerce-form-coupon p.form-row-last {
        width: 100%;
    }
}

/* v1.7.4 — force the custom single-book layout regardless of WooCommerce wrapper markup. */
.single-product .tm-inner-banner,
.single-product .tm-page-hero,
.single-product .woocommerce-products-header {
    display: none !important;
}

.single-product .tm-single-book-page {
    padding: clamp(38px, 4.5vw, 64px) 0 clamp(84px, 8vw, 118px);
    background: #fff;
}

.single-product .tm-single-book-page > .tm-container {
    max-width: 1080px;
}

.single-product .tm-single-book-page .woocommerce-breadcrumb {
    margin: 0 0 clamp(38px, 4vw, 58px);
    color: #111111;
    font-family: "Poppins";
    font-size: .86rem;
    font-weight: 400;
    line-height: 1.6;
}

.single-product .tm-single-book-page .woocommerce-breadcrumb a {
    color: #111111;
    text-decoration: none;
}

.single-product .tm-single-book-page .woocommerce-breadcrumb a:hover {
    color: var(--tm-burgundy);
}

.single-product .tm-single-book {
    display: block !important;
}

.single-product .tm-single-book__top {
    display: grid;
    grid-template-columns: minmax(300px, .95fr) minmax(430px, 1.45fr) minmax(220px, .78fr);
    gap: clamp(34px, 4.2vw, 62px);
    align-items: start;
}

.single-product .tm-single-book__gallery,
.single-product .tm-single-book__summary,
.single-product .tm-single-book-sidebar {
    min-width: 0;
}

.single-product .tm-single-book__gallery .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product .tm-single-book__gallery .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

.single-product .tm-single-book__gallery .woocommerce-product-gallery__image {
    background: #fff;
}

.single-product .tm-single-book__gallery .woocommerce-product-gallery__image img,
.single-product .tm-single-book__gallery img.wp-post-image {
    display: block;
    width: 100% !important;
    max-height: 620px;
    margin: 0 auto !important;
    object-fit: contain;
    object-position: top center;
}

.single-product .tm-single-book__summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding-top: 4px;
}

.single-product .tm-single-book__summary .product_title {
    margin: 0 0 20px;
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(2.4rem, 3.6vw, 3.55rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.028em;
}

.single-product .tm-single-book__summary .price {
    display: block;
    margin: 0 0 30px !important;
    color: #666 !important;
    font-family: "Poppins";
    font-size: 1.18rem !important;
    font-weight: 500 !important;
}

.single-product .tm-single-book__summary .woocommerce-product-details__short-description {
    margin: 0 0 28px;
    color: #111111;
    font-size: 1rem;
    line-height: 1.75;
}

.single-product .tm-single-book__summary form.cart {
    display: grid !important;
    grid-template-columns: 148px minmax(220px, 1fr);
    gap: 12px;
    align-items: stretch;
    width: 100%;
    margin: 0 0 30px !important;
    padding: 30px 0 38px;
    border-top: 1px solid #DDDEE1;
    border-bottom: 1px solid #DDDEE1;
}

.single-product .tm-single-book__summary form.cart::before,
.single-product .tm-single-book__summary form.cart::after {
    display: none !important;
}

.single-product .tm-single-book__summary form.cart .quantity {
    float: none !important;
    width: 100%;
    margin: 0 !important;
}

.single-product .tm-single-book__summary form.cart .qty {
    width: 100% !important;
    min-height: 56px;
    margin: 0;
    border: 1px solid var(--tm-burgundy);
    border-radius: 0;
    background: #fff;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem;
    text-align: center;
}

.single-product .tm-single-book__summary form.cart .single_add_to_cart_button {
    float: none !important;
    width: 100% !important;
    min-height: 56px;
    margin: 0 !important;
    border: 0;
    border-radius: 0 !important;
    background: var(--tm-burgundy) !important;
    color: #fff !important;
    font-family: "Poppins";
    font-size: 1rem;
    font-weight: 500;
}

.single-product .tm-single-book__summary form.cart .single_add_to_cart_button:hover {
    background: var(--tm-burgundy-dark) !important;
}

.single-product .tm-single-book__summary .product_meta {
    margin: 0;
    color: #7B8087;
    font-family: "Poppins";
    font-size: .82rem;
    line-height: 1.7;
    text-transform: uppercase;
}

.single-product .tm-single-book__summary .product_meta > span {
    display: block;
}

.single-product .tm-single-book__summary .product_meta a {
    color: #7B8087;
}

.single-product .tm-single-book-sidebar {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.single-product .tm-single-book-sidebar h2 {
    margin: 0 0 24px;
    color: #111111;
    font-family: "Poppins";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.25;
}

.single-product .tm-single-top-books {
    display: grid;
    gap: 20px;
}

.single-product .tm-single-top-book {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    color: #111111;
    text-decoration: none;
}

.single-product .tm-single-top-book__image {
    width: 78px;
    height: 98px;
    overflow: hidden;
    background: #F3F4F5;
}

.single-product .tm-single-top-book__image img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover;
}

.single-product .tm-single-top-book__meta strong {
    color: #636970;
    font-family: "Poppins";
    font-size: .96rem;
    font-weight: 500;
    line-height: 1.42;
}

.single-product .tm-single-top-book__price,
.single-product .tm-single-top-book__price .amount {
    color: #747A80;
    font-size: .88rem;
    font-weight: 400;
}

.single-product .tm-single-book__below {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .82fr);
    gap: clamp(40px, 5vw, 72px);
    margin-top: clamp(54px, 6vw, 82px);
    align-items: start;
}

.single-product .tm-single-book__below .woocommerce-tabs {
    grid-column: 1;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .tm-single-book__below .related.products,
.single-product .tm-single-book__below .upsells.products {
    grid-column: 2;
    width: 100%;
    margin: 0 !important;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 0 0 24px !important;
    border-bottom: 1px solid #D8DADD;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs li {
    margin: 0 24px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs li::before,
.single-product .tm-single-book__below .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs li a {
    padding: 12px 0 !important;
    color: #5E6369 !important;
    font-family: "Poppins";
    font-size: .88rem;
    font-weight: 400 !important;
}

.single-product .tm-single-book__below .woocommerce-tabs ul.tabs li.active a {
    color: #111111 !important;
    border-bottom: 2px solid var(--tm-burgundy);
}

.single-product .tm-single-book__below .woocommerce-tabs h2,
.single-product .tm-single-book__below .related.products > h2,
.single-product .tm-single-book__below .upsells.products > h2 {
    margin: 0 0 24px;
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(1.8rem, 2.4vw, 2.35rem);
    font-weight: 400;
}

.single-product .tm-single-book__below .woocommerce-tabs .panel {
    color: #111111;
    font-size: .95rem;
    line-height: 1.8;
}

.single-product .tm-single-book__below .related.products ul.products,
.single-product .tm-single-book__below .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 0 !important;
}

.single-product .tm-single-book__below .related.products ul.products li.product,
.single-product .tm-single-book__below .upsells.products ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.single-product .tm-single-book__below .related.products ul.products li.product img,
.single-product .tm-single-book__below .upsells.products ul.products li.product img {
    aspect-ratio: 4 / 5.6;
    object-fit: contain;
    margin-bottom: 12px;
    background: #fff;
}

.single-product .tm-single-book__below .related.products .woocommerce-loop-product__title,
.single-product .tm-single-book__below .upsells.products .woocommerce-loop-product__title {
    font-size: .82rem !important;
    font-weight: 400 !important;
    line-height: 1.4;
}

.single-product .tm-single-book__below .related.products .price,
.single-product .tm-single-book__below .upsells.products .price {
    font-size: .78rem !important;
}

.single-product .tm-single-book__below .related.products .button,
.single-product .tm-single-book__below .upsells.products .button {
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 0;
    font-size: .76rem;
    font-weight: 400;
}

@media (max-width: 1050px) {
    .single-product .tm-single-book__top {
        grid-template-columns: minmax(280px, .9fr) minmax(0, 1.25fr);
        gap: 42px;
    }

    .single-product .tm-single-book-sidebar {
        grid-column: 1 / -1;
        padding-top: 32px !important;
        border-top: 1px solid #E1E2E4 !important;
    }

    .single-product .tm-single-top-books {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    .single-product .tm-single-top-book {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
    }

    .single-product .tm-single-top-book__image {
        width: 58px;
        height: 74px;
    }

    .single-product .tm-single-book__below {
        grid-template-columns: 1fr;
    }

    .single-product .tm-single-book__below .woocommerce-tabs,
    .single-product .tm-single-book__below .related.products,
    .single-product .tm-single-book__below .upsells.products {
        grid-column: 1;
    }
}

@media (max-width: 760px) {
    .single-product .tm-single-book__top {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .single-product .tm-single-book__summary form.cart {
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .single-product .tm-single-top-books {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .single-product .tm-single-book__summary .product_title {
        font-size: 2.05rem;
    }

    .single-product .tm-single-book__summary form.cart {
        grid-template-columns: 1fr;
    }

    .single-product .tm-single-top-books {
        grid-template-columns: 1fr;
    }

    .single-product .tm-single-book__below .related.products ul.products,
    .single-product .tm-single-book__below .upsells.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* v1.7.5 — final single-book visual override. This intentionally wins over WooCommerce/plugin defaults. */
body.single-product .tm-single-book-page {
    padding: 34px 0 96px !important;
    background: #fff !important;
}

body.single-product .tm-single-book-page > .tm-container {
    width: min(100% - 48px, 1080px) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
}

body.single-product .tm-single-book-page .woocommerce-breadcrumb {
    margin: 0 0 48px !important;
    color: #151515 !important;
    font-family: "Poppins" !important;
    font-size: .82rem !important;
    font-weight: 400 !important;
}

body.single-product .tm-single-book__top {
    display: grid !important;
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr) minmax(180px, 210px) !important;
    gap: 30px !important;
    align-items: start !important;
}

body.single-product .tm-single-book__gallery,
body.single-product .tm-single-book__summary,
body.single-product .tm-single-book-sidebar {
    min-width: 0 !important;
}

body.single-product .tm-single-book__gallery .woocommerce-product-gallery,
body.single-product .tm-single-book__gallery .woocommerce-product-gallery__wrapper,
body.single-product .tm-single-book__gallery .woocommerce-product-gallery__image {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.single-product .tm-single-book__gallery .woocommerce-product-gallery__image img,
body.single-product .tm-single-book__gallery img.wp-post-image {
    display: block !important;
    width: 100% !important;
    max-width: 350px !important;
    max-height: 560px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

body.single-product .tm-single-book__summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 6px 0 0 !important;
}

body.single-product .tm-single-book__summary .product_title {
    max-width: 620px !important;
    margin: 0 0 18px !important;
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: clamp(2rem, 2.8vw, 2.75rem) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    letter-spacing: -.024em !important;
}

body.single-product .tm-single-book__summary .price,
body.single-product .tm-single-book__summary .price .amount {
    display: block !important;
    margin: 0 0 32px !important;
    color: #6F747A !important;
    font-family: "Poppins" !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
}

body.single-product .tm-single-book__summary .woocommerce-product-details__short-description {
    max-width: 620px !important;
    margin: -12px 0 28px !important;
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: .96rem !important;
    line-height: 1.75 !important;
}

body.single-product .tm-single-book__summary form.cart {
    display: grid !important;
    grid-template-columns: 150px minmax(220px, 1fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 650px !important;
    margin: 0 0 30px !important;
    padding: 30px 0 38px !important;
    border-top: 1px solid #D9DBDE !important;
    border-bottom: 1px solid #D9DBDE !important;
}

body.single-product .tm-single-book__summary form.cart .quantity {
    display: grid !important;
    grid-template-columns: 42px minmax(44px, 1fr) 42px !important;
    align-items: stretch !important;
    width: 150px !important;
    min-height: 56px !important;
    margin: 0 !important;
    border: 1px solid var(--tm-burgundy) !important;
    background: #fff !important;
    float: none !important;
}

body.single-product .tm-single-book__summary form.cart .quantity .tm-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #697078 !important;
    font-family: "Poppins" !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.single-product .tm-single-book__summary form.cart .quantity input.qty {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #606870 !important;
    font-family: "Poppins" !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    text-align: center !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

body.single-product .tm-single-book__summary form.cart .quantity input.qty::-webkit-inner-spin-button,
body.single-product .tm-single-book__summary form.cart .quantity input.qty::-webkit-outer-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

body.single-product .woocommerce .tm-single-book__summary button.button.alt.single_add_to_cart_button,
body.single-product .tm-single-book__summary button.button.alt.single_add_to_cart_button,
body.single-product .tm-single-book__summary .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: 100% !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #56172C !important;
    color: #fff !important;
    font-family: "Poppins" !important;
    font-size: .98rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

body.single-product .tm-single-book__summary .single_add_to_cart_button:hover {
    background: #56172C !important;
    color: #fff !important;
}

body.single-product .tm-single-book__summary .product_meta {
    max-width: 650px !important;
    margin: 0 !important;
    padding: 6px 0 0 !important;
    color: #8A8F95 !important;
    font-family: "Poppins" !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    text-transform: uppercase !important;
}

body.single-product .tm-single-book__summary .product_meta a {
    color: #8A8F95 !important;
}

body.single-product .tm-single-book-sidebar {
    display: block !important;
    margin: 0 !important;
    padding: 2px 0 0 !important;
    border: 0 !important;
}

body.single-product .tm-single-book-sidebar h2 {
    margin: 0 0 22px !important;
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

body.single-product .tm-single-top-books {
    display: grid !important;
    gap: 20px !important;
}

body.single-product .tm-single-top-book {
    display: grid !important;
    grid-template-columns: 78px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    text-decoration: none !important;
}

body.single-product .tm-single-top-book__image {
    width: 78px !important;
    height: 98px !important;
    overflow: hidden !important;
    background: #F3F4F5 !important;
}

body.single-product .tm-single-top-book__image img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
}

body.single-product .tm-single-top-book__meta strong {
    display: block !important;
    color: #646B72 !important;
    font-family: "Poppins" !important;
    font-size: .93rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

body.single-product .tm-single-top-book__price,
body.single-product .tm-single-top-book__price .amount {
    color: #747A80 !important;
    font-size: .84rem !important;
    font-weight: 400 !important;
}

body.single-product .tm-single-book__below {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr) !important;
    gap: clamp(40px, 5vw, 72px) !important;
    margin-top: 64px !important;
    align-items: start !important;
}

body.single-product .tm-single-book__below .woocommerce-tabs,
body.single-product .tm-single-book__below .related.products,
body.single-product .tm-single-book__below .upsells.products {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.single-product .tm-single-book__below .woocommerce-tabs {
    grid-column: 1 !important;
}

body.single-product .tm-single-book__below .related.products,
body.single-product .tm-single-book__below .upsells.products {
    grid-column: 2 !important;
}

body.single-product .tm-single-book__below .woocommerce-tabs h2,
body.single-product .tm-single-book__below .related.products > h2,
body.single-product .tm-single-book__below .upsells.products > h2 {
    margin: 0 0 22px !important;
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: 1.95rem !important;
    font-weight: 400 !important;
}

body.single-product .tm-single-book__below .related.products ul.products,
body.single-product .tm-single-book__below .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

body.single-product .tm-single-book__below .related.products ul.products li.product,
body.single-product .tm-single-book__below .upsells.products ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

body.single-product .tm-single-book__below .related.products ul.products li.product img,
body.single-product .tm-single-book__below .upsells.products ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 4 / 5.6 !important;
    object-fit: contain !important;
    margin: 0 0 12px !important;
    background: #fff !important;
}

body.single-product .tm-single-book__below .related.products .woocommerce-loop-product__title,
body.single-product .tm-single-book__below .upsells.products .woocommerce-loop-product__title {
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: .82rem !important;
    font-weight: 400 !important;
    line-height: 1.42 !important;
}

body.single-product .tm-single-book__below .related.products .button,
body.single-product .tm-single-book__below .upsells.products .button {
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 0 !important;
    background: #56172C !important;
    color: #fff !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
}

@media (max-width: 1180px) {
    body.single-product .tm-single-book-page > .tm-container {
        width: min(100% - 36px, 1080px) !important;
    }

    body.single-product .tm-single-book__top {
        grid-template-columns: minmax(245px, 315px) minmax(0, 1fr) 210px !important;
        gap: 30px !important;
    }

    body.single-product .tm-single-book__summary .product_title {
        font-size: clamp(1.85rem, 3vw, 2.45rem) !important;
    }

    body.single-product .tm-single-top-book {
        grid-template-columns: 64px minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    body.single-product .tm-single-top-book__image {
        width: 64px !important;
        height: 82px !important;
    }
}

@media (max-width: 980px) {
    body.single-product .tm-single-book__top {
        grid-template-columns: minmax(245px, 320px) minmax(0, 1fr) !important;
    }

    body.single-product .tm-single-book-sidebar {
        grid-column: 1 / -1 !important;
        margin-top: 10px !important;
        padding-top: 30px !important;
        border-top: 1px solid #D9DBDE !important;
    }

    body.single-product .tm-single-top-books {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.single-product .tm-single-book-page > .tm-container {
        width: min(100% - 28px, 680px) !important;
    }

    body.single-product .tm-single-book__top,
    body.single-product .tm-single-book__below {
        grid-template-columns: 1fr !important;
    }

    body.single-product .tm-single-book__gallery .woocommerce-product-gallery__image img,
    body.single-product .tm-single-book__gallery img.wp-post-image {
        max-width: 420px !important;
    }

    body.single-product .tm-single-book__summary form.cart {
        grid-template-columns: 140px minmax(0,1fr) !important;
    }

    body.single-product .tm-single-book__below .woocommerce-tabs,
    body.single-product .tm-single-book__below .related.products,
    body.single-product .tm-single-book__below .upsells.products {
        grid-column: 1 !important;
    }

    body.single-product .tm-single-top-books {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

@media (max-width: 520px) {
    body.single-product .tm-single-book__summary form.cart {
        grid-template-columns: 1fr !important;
    }

    body.single-product .tm-single-book__summary form.cart .quantity {
        width: 100% !important;
    }

    body.single-product .tm-single-top-books,
    body.single-product .tm-single-book__below .related.products ul.products,
    body.single-product .tm-single-book__below .upsells.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* v1.7.6 — dedicated Checkout layout matching the clean two-column reference. */
body.woocommerce-checkout .tm-inner-banner {
    display: none !important;
}

body.woocommerce-checkout .tm-checkout-shell {
    padding: clamp(42px, 5vw, 72px) 0 clamp(80px, 8vw, 118px);
    background: #fff;
}

body.woocommerce-checkout .tm-checkout-shell > .tm-container {
    width: min(1080px, calc(100% - 48px));
    max-width: 1080px;
}

body.woocommerce-checkout .tm-commerce-title {
    margin: 0 0 30px;
    color: #111111;
    font-family: "Poppins";
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -.02em;
}

body.woocommerce-checkout .tm-checkout-page-content,
body.woocommerce-checkout .tm-checkout-page-content .woocommerce {
    width: 100%;
    max-width: none !important;
}

body.woocommerce-checkout form.checkout.tm-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: clamp(36px, 5vw, 64px);
    align-items: start;
    width: 100%;
    margin: 0;
}

body.woocommerce-checkout .tm-checkout-fields,
body.woocommerce-checkout .tm-checkout-order-card {
    min-width: 0;
}

body.woocommerce-checkout .tm-checkout-fields .col2-set,
body.woocommerce-checkout .tm-checkout-fields .col2-set .col-1,
body.woocommerce-checkout .tm-checkout-fields .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-checkout .tm-checkout-fields .col2-set .col-2 {
    margin-top: 28px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
    margin: 0 0 20px !important;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.35;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 14px;
}

body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: block;
}

body.woocommerce-checkout .form-row {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
    float: none !important;
    width: 100% !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #shipping_company_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field {
    grid-column: 1 / -1;
}

body.woocommerce-checkout .form-row label {
    display: block;
    margin: 0 0 7px;
    color: #111111;
    font-family: "Poppins";
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.35;
}

body.woocommerce-checkout .form-row .required {
    color: var(--tm-burgundy);
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100%;
    min-height: 48px !important;
    border: 1px solid #D6DADF !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #111111;
    font-family: "Poppins";
    font-size: .88rem;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea {
    padding: 11px 12px !important;
}

body.woocommerce-checkout form .form-row textarea {
    min-height: 128px !important;
    resize: vertical;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 12px !important;
    color: #111111;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
}

body.woocommerce-checkout .woocommerce-input-wrapper {
    width: 100%;
}

body.woocommerce-checkout .tm-checkout-order-card {
    padding: 28px 30px 20px;
    border: 1px solid #CFD3D8;
    background: #fff;
}

body.woocommerce-checkout .tm-checkout-order-card #order_review_heading {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: #111111;
    font-family: "Poppins";
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.35;
}

body.woocommerce-checkout .tm-checkout-order-card #order_review {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout .tm-checkout-order-card table.shop_table {
    width: 100%;
    margin: 0 0 18px !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

body.woocommerce-checkout .tm-checkout-order-card table.shop_table th,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table td {
    padding: 15px 0 !important;
    border: 0 !important;
    border-top: 1px solid #E1E3E6 !important;
    background: transparent !important;
    color: #555E66;
    font-family: "Poppins";
    font-size: .82rem;
    font-weight: 400;
    line-height: 1.45;
}

body.woocommerce-checkout .tm-checkout-order-card table.shop_table thead th {
    padding-top: 0 !important;
    border-top: 0 !important;
    color: #111111;
    font-weight: 500;
}

body.woocommerce-checkout .tm-checkout-order-card table.shop_table th:last-child,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table td:last-child {
    text-align: right;
}

body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total th,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total td,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total .amount {
    color: #555E66;
    font-weight: 600;
}

body.woocommerce-checkout .tm-checkout-order-card #payment {
    margin: 4px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods > li {
    margin: 0 !important;
    padding: 14px 0 !important;
    border-top: 1px solid #E1E3E6;
}

body.woocommerce-checkout .tm-checkout-order-card #payment label {
    color: #555E66;
    font-family: "Poppins";
    font-size: .82rem;
    font-weight: 400;
}

body.woocommerce-checkout .tm-checkout-order-card #payment div.payment_box {
    margin: 12px 0 0 !important;
    padding: 18px 16px !important;
    border: 1px solid #D7DADE !important;
    border-radius: 0 !important;
    background: #F7F7F8 !important;
    color: #555E66;
}

body.woocommerce-checkout .tm-checkout-order-card #payment div.payment_box::before {
    display: none !important;
}

body.woocommerce-checkout .tm-checkout-order-card #payment img {
    max-width: 100%;
    height: auto;
}

body.woocommerce-checkout .tm-checkout-order-card .woocommerce-privacy-policy-text,
body.woocommerce-checkout .tm-checkout-order-card .place-order p {
    margin: 15px 0 0;
    color: #777F86;
    font-family: "Poppins";
    font-size: .72rem;
    line-height: 1.65;
}

body.woocommerce-checkout .tm-checkout-order-card .place-order {
    margin: 0 !important;
    padding: 16px 0 0 !important;
}

body.woocommerce-checkout .tm-checkout-order-card #place_order,
body.woocommerce-checkout .tm-checkout-order-card .place-order .button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    float: none !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--tm-burgundy) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-family: "Poppins";
    font-size: .82rem !important;
    font-weight: 500 !important;
}

body.woocommerce-checkout .tm-checkout-order-card #place_order:hover,
body.woocommerce-checkout .tm-checkout-order-card .place-order .button:hover {
    background: var(--tm-burgundy-dark) !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle {
    margin-bottom: 22px;
}

body.woocommerce-checkout .woocommerce-info {
    border-top: 2px solid var(--tm-burgundy) !important;
    background: #F7F7F8 !important;
}

@media (max-width: 980px) {
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    body.woocommerce-checkout .tm-checkout-order-card {
        width: 100%;
    }
}

@media (max-width: 680px) {
    body.woocommerce-checkout .tm-checkout-shell > .tm-container {
        width: min(100% - 28px, 1080px);
    }

    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    body.woocommerce-checkout .form-row-wide,
    body.woocommerce-checkout #billing_company_field,
    body.woocommerce-checkout #billing_country_field,
    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #shipping_company_field,
    body.woocommerce-checkout #shipping_country_field,
    body.woocommerce-checkout #shipping_address_1_field,
    body.woocommerce-checkout #shipping_address_2_field {
        grid-column: auto;
    }

    body.woocommerce-checkout .tm-checkout-order-card {
        padding: 22px 18px 18px;
    }
}

/* v1.7.7 — force the dedicated classic checkout to visibly match the reference. */
body.woocommerce-checkout .tm-checkout-shell {
    padding: 54px 0 96px !important;
    background: #fff !important;
}
body.woocommerce-checkout .tm-checkout-shell > .tm-container {
    width: min(1080px, calc(100% - 48px)) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
}
body.woocommerce-checkout .tm-commerce-title {
    margin: 0 0 34px !important;
    color: #111 !important;
    font-family: "Poppins" !important;
    font-size: 2rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}
body.woocommerce-checkout form.checkout.tm-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: 52px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
}
body.woocommerce-checkout .tm-checkout-fields .col2-set,
body.woocommerce-checkout .tm-checkout-fields .col-1,
body.woocommerce-checkout .tm-checkout-fields .col-2 {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout .tm-checkout-order-card #order_review_heading {
    margin: 0 0 22px !important;
    font-family: "Poppins" !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    color: #111 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 17px 18px !important;
}
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #shipping_company_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field {
    grid-column: 1 / -1 !important;
}
body.woocommerce-checkout .form-row label {
    margin-bottom: 7px !important;
    font-family: "Poppins" !important;
    font-size: .8rem !important;
    font-weight: 400 !important;
    color: #111 !important;
}
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: 50px !important;
    border: 1px solid #D8DDE2 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-family: "Poppins" !important;
    font-size: .86rem !important;
}
body.woocommerce-checkout .tm-checkout-order-card {
    width: 100% !important;
    padding: 28px 30px 20px !important;
    border: 1px solid #D0D4D9 !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .quantity:not(:has(.tm-qty-btn)) input.qty {
    grid-column: 1 / -1 !important;
    place-self: center stretch !important;
    text-align: center !important;
}
body.woocommerce-checkout .tm-checkout-order-card #order_review {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table {
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table th,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table td {
    padding: 14px 0 !important;
    border: 0 !important;
    border-top: 1px solid #E1E4E7 !important;
    font-family: "Poppins" !important;
    font-size: .8rem !important;
    color: #59616A !important;
    background: transparent !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table thead th {
    border-top: 0 !important;
    color: #111 !important;
    font-weight: 500 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods {
    padding: 0 !important;
    border: 0 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods > li {
    padding: 14px 0 !important;
    border-top: 1px solid #E1E4E7 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment div.payment_box {
    margin: 12px 0 0 !important;
    padding: 18px !important;
    border: 1px solid #D9DDE1 !important;
    border-radius: 0 !important;
    background: #F7F7F8 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #place_order {
    width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #56172C !important;
    color: #fff !important;
    font-family: "Poppins" !important;
    font-size: .84rem !important;
    font-weight: 500 !important;
}
@media (max-width: 980px) {
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    body.woocommerce-checkout .tm-checkout-order-card {
        max-width: 620px !important;
    }
}
@media (max-width: 680px) {
    body.woocommerce-checkout .tm-checkout-shell > .tm-container {
        width: min(100% - 28px, 1080px) !important;
    }
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }
    body.woocommerce-checkout .form-row-wide,
    body.woocommerce-checkout #billing_company_field,
    body.woocommerce-checkout #billing_country_field,
    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #shipping_company_field,
    body.woocommerce-checkout #shipping_country_field,
    body.woocommerce-checkout #shipping_address_1_field,
    body.woocommerce-checkout #shipping_address_2_field {
        grid-column: auto !important;
    }
}


/* v1.7.8 — checkout visually aligned with the polished Cart page. */
body.woocommerce-checkout .tm-checkout-shell {
    padding: 62px 0 110px !important;
    background: #fff !important;
}
body.woocommerce-checkout .tm-checkout-shell > .tm-container {
    width: min(1080px, calc(100% - 64px)) !important;
    max-width: 1080px !important;
}
body.woocommerce-checkout .tm-commerce-title {
    margin: 0 0 46px !important;
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: clamp(2.35rem, 3.4vw, 3rem) !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
}
body.woocommerce-checkout form.checkout.tm-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 430px) !important;
    gap: clamp(52px, 6vw, 82px) !important;
    align-items: start !important;
}
body.woocommerce-checkout .tm-checkout-fields {
    min-width: 0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout .tm-checkout-order-card #order_review_heading {
    margin: 0 0 26px !important;
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}
body.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 34px !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 18px !important;
}
body.woocommerce-checkout .form-row {
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #shipping_company_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field,
body.woocommerce-checkout #shipping_city_field,
body.woocommerce-checkout #shipping_state_field,
body.woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1 !important;
}
body.woocommerce-checkout .form-row label {
    display: block !important;
    margin: 0 0 9px !important;
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    min-height: 54px !important;
    border: 1px solid #D8DDE2 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: .94rem !important;
    font-weight: 400 !important;
}
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea {
    padding: 13px 15px !important;
}
body.woocommerce-checkout form .form-row textarea {
    min-height: 145px !important;
    resize: vertical !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 52px !important;
    padding-left: 14px !important;
    color: #111111 !important;
    font-size: .94rem !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 52px !important;
    right: 8px !important;
}
body.woocommerce-checkout .tm-checkout-order-card {
    width: 100% !important;
    padding: 34px 34px 30px !important;
    border: 1px solid #D9DADD !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.woocommerce-checkout .tm-checkout-order-card #order_review_heading {
    padding-bottom: 2px !important;
}
body.woocommerce-checkout .tm-checkout-order-card #order_review {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table {
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse !important;
    margin: 0 0 18px !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table th,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table td {
    padding: 17px 0 !important;
    border: 0 !important;
    border-top: 1px solid #E2E2E5 !important;
    background: transparent !important;
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: .93rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table thead th {
    padding-top: 0 !important;
    border-top: 0 !important;
    font-weight: 500 !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table th:last-child,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table td:last-child {
    text-align: right !important;
}
body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total th,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total td,
body.woocommerce-checkout .tm-checkout-order-card table.shop_table .order-total .amount {
    font-weight: 600 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment {
    margin-top: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment ul.payment_methods > li {
    padding: 18px 0 !important;
    border-top: 1px solid #E2E2E5 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment label {
    color: #111111 !important;
    font-family: "Poppins" !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment img {
    max-height: 42px !important;
    width: auto !important;
}
body.woocommerce-checkout .tm-checkout-order-card #payment div.payment_box {
    margin: 14px 0 0 !important;
    padding: 20px !important;
    border: 1px solid #E2E2E5 !important;
    border-radius: 0 !important;
    background: #F8F8F9 !important;
    color: #111111 !important;
    font-size: .86rem !important;
    line-height: 1.65 !important;
}
body.woocommerce-checkout .tm-checkout-order-card .woocommerce-privacy-policy-text,
body.woocommerce-checkout .tm-checkout-order-card .place-order p {
    color: #666666 !important;
    font-family: "Poppins" !important;
    font-size: .8rem !important;
    line-height: 1.7 !important;
}
body.woocommerce-checkout .tm-checkout-order-card .place-order {
    padding: 20px 0 0 !important;
    margin: 0 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #place_order {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #56172C !important;
    color: #fff !important;
    font-family: "Poppins" !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
}
body.woocommerce-checkout .tm-checkout-order-card #place_order:hover {
    background: #3f0f1e !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle {
    margin-bottom: 24px !important;
}
body.woocommerce-checkout .woocommerce-info {
    font-size: .92rem !important;
}
@media (max-width: 1040px) {
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        grid-template-columns: minmax(0, 1fr) 370px !important;
        gap: 40px !important;
    }
}
@media (max-width: 900px) {
    body.woocommerce-checkout .tm-checkout-shell > .tm-container {
        width: min(100% - 40px, 1080px) !important;
    }
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 44px !important;
    }
    body.woocommerce-checkout .tm-checkout-order-card {
        max-width: 620px !important;
    }
}
@media (max-width: 620px) {
    body.woocommerce-checkout .tm-checkout-shell {
        padding-top: 40px !important;
    }
    body.woocommerce-checkout .tm-checkout-shell > .tm-container {
        width: min(100% - 28px, 1080px) !important;
    }
    body.woocommerce-checkout .tm-commerce-title {
        margin-bottom: 32px !important;
        font-size: 2.15rem !important;
    }
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }
    body.woocommerce-checkout .form-row-wide,
    body.woocommerce-checkout #billing_company_field,
    body.woocommerce-checkout #billing_country_field,
    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #billing_city_field,
    body.woocommerce-checkout #billing_state_field,
    body.woocommerce-checkout #billing_phone_field,
    body.woocommerce-checkout #billing_email_field,
    body.woocommerce-checkout #shipping_company_field,
    body.woocommerce-checkout #shipping_country_field,
    body.woocommerce-checkout #shipping_address_1_field,
    body.woocommerce-checkout #shipping_address_2_field,
    body.woocommerce-checkout #shipping_city_field,
    body.woocommerce-checkout #shipping_state_field,
    body.woocommerce-checkout #order_comments_field {
        grid-column: auto !important;
    }
    body.woocommerce-checkout .tm-checkout-order-card {
        padding: 26px 22px 24px !important;
    }
}

/* v1.7.9 — hard override for Cart + Checkout layout and WooCommerce default colours. */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    color: #111111 !important;
    font-family: "Poppins" !important;
}

body.woocommerce-cart .tm-cart-page-content a,
body.woocommerce-checkout .tm-checkout-page-content a {
    color: #56172C;
}

body.woocommerce-cart .required,
body.woocommerce-checkout .required,
body.woocommerce-checkout abbr.required {
    color: #56172C !important;
    text-decoration: none !important;
}

body.woocommerce-cart input[type="radio"],
body.woocommerce-checkout input[type="radio"],
body.woocommerce-cart input[type="checkbox"],
body.woocommerce-checkout input[type="checkbox"] {
    accent-color: #56172C !important;
}

body.woocommerce-cart .button,
body.woocommerce-checkout .button,
body.woocommerce-cart button,
body.woocommerce-checkout button,
body.woocommerce-cart input[type="submit"],
body.woocommerce-checkout input[type="submit"] {
    border-color: #56172C !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: "Poppins" !important;
}

body.woocommerce-cart .button:not(:disabled),
body.woocommerce-checkout .button:not(:disabled),
body.woocommerce-cart button:not(:disabled),
body.woocommerce-checkout button:not(:disabled),
body.woocommerce-cart input[type="submit"]:not(:disabled),
body.woocommerce-checkout input[type="submit"]:not(:disabled) {
    background: #56172C !important;
    color: #ffffff !important;
}

body.woocommerce-cart .button:not(:disabled):hover,
body.woocommerce-checkout .button:not(:disabled):hover,
body.woocommerce-cart button:not(:disabled):hover,
body.woocommerce-checkout button:not(:disabled):hover {
    background: #56172C !important;
    color: #ffffff !important;
}

/* Keep the Cart table and Cart totals side-by-side on desktop/tablet landscape. */
@media (min-width: 761px) {
    body.woocommerce-cart .tm-shop-main > .tm-container > .woocommerce {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 390px) !important;
        column-gap: clamp(30px, 4vw, 56px) !important;
        row-gap: 28px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: none !important;
    }

    body.woocommerce-cart .tm-shop-main > .tm-container > .woocommerce > .woocommerce-notices-wrapper,
    body.woocommerce-cart .tm-shop-main > .tm-container > .woocommerce > .woocommerce-message,
    body.woocommerce-cart .tm-shop-main > .tm-container > .woocommerce > .woocommerce-info {
        grid-column: 1 / -1 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .cart-collaterals {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: start !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Checkout: keep Billing and Your order genuinely side-by-side down to 760px. */
body.woocommerce-checkout .tm-checkout-page-content,
body.woocommerce-checkout .tm-checkout-page-content > .woocommerce {
    width: 100% !important;
    max-width: none !important;
}

@media (min-width: 761px) {
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1.18fr) minmax(350px, .82fr) !important;
        gap: clamp(30px, 4vw, 58px) !important;
        align-items: start !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout .tm-checkout-fields {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body.woocommerce-checkout .tm-checkout-order-card {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        align-self: start !important;
    }
}

/* Two-column name row; everything else remains clean full-width like the reference. */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 18px !important;
}

body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field,
body.woocommerce-checkout #shipping_first_name_field,
body.woocommerce-checkout #shipping_last_name_field {
    grid-column: auto !important;
    width: 100% !important;
}

body.woocommerce-checkout #billing_company_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #shipping_company_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field,
body.woocommerce-checkout #shipping_city_field,
body.woocommerce-checkout #shipping_state_field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid #D8DDE2 !important;
    background: #ffffff !important;
    color: #111111 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #111111 !important;
}

body.woocommerce-checkout .tm-checkout-order-card,
body.woocommerce-cart .cart-collaterals .cart_totals {
    border: 1px solid #D9DADD !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment .payment_box {
    box-shadow: none !important;
}

body.woocommerce-checkout #payment .payment_box {
    border: 1px solid #E2E2E5 !important;
    background: #F3F4F5 !important;
    color: #111111 !important;
}

body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 54px !important;
    background: #56172C !important;
    border-color: #56172C !important;
    color: #ffffff !important;
}

@media (max-width: 760px) {
    body.woocommerce-cart .tm-shop-main > .tm-container > .woocommerce,
    body.woocommerce-checkout form.checkout.tm-checkout-grid {
        display: block !important;
    }

    body.woocommerce-checkout .tm-checkout-order-card {
        margin-top: 38px !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }
}

/* Final cart quantity treatment: complete maroon outline. */
body.woocommerce-cart .tm-cart-page-content table.cart .quantity {
    border: 1px solid #56172C !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
body.woocommerce-cart .tm-cart-page-content table.cart .quantity .tm-qty-btn,
body.woocommerce-cart .tm-cart-page-content table.cart .quantity input.qty {
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Keep the pay-for-order screen in normal flow after a gateway cancellation. */
body.woocommerce-order-pay .tm-checkout-page-content,
body.woocommerce-order-pay .tm-checkout-page-content > .woocommerce {
    display: flow-root !important;
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-order-pay .woocommerce-notices-wrapper,
body.woocommerce-order-pay .woocommerce-error,
body.woocommerce-order-pay .woocommerce-info {
    width: 100% !important;
    max-width: 920px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.woocommerce-order-pay #order_review_heading,
body.woocommerce-order-pay form#order_review,
body.woocommerce-order-pay #order_review {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.woocommerce-order-pay form#order_review,
body.woocommerce-order-pay #order_review {
    margin-top: 28px !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-pay #payment {
    float: none !important;
    width: 100% !important;
}

@media (max-width: 760px) {
    body.woocommerce-order-pay form#order_review,
    body.woocommerce-order-pay #order_review {
        margin-top: 22px !important;
        padding: 22px 18px 24px !important;
    }
}
