/* TT Code Manager Context Turbo CSS - Toàn site - generated at 2026-07-03 21:48:36 */
/* File này chỉ load khi frontend khớp context: global. */

/* Snippet #630 - 22 - WooCommerce giỏ hàng & thanh toán */
/* 22 - WooCommerce Cart + Checkout: ThangTin Store UI */

body.woocommerce-cart,
body.woocommerce-checkout {
    --tt-wc-primary: #FF4B2B;
    --tt-wc-primary-dark: #D92D20;
    --tt-wc-primary-soft: #FFF6F3;
    --tt-wc-primary-line: #FFE1DA;
    --tt-wc-text: #17243A;
    --tt-wc-muted: #64748B;
    --tt-wc-border: #E5EAF2;
    --tt-wc-line: #EEF2F7;
    --tt-wc-bg-soft: #F8FAFC;
    --tt-wc-radius: 8px;
    --tt-wc-input-h: 42px;
    --tt-wc-button-h: 42px;
    --tt-wc-focus: 0 0 0 3px rgba(255, 75, 43, .11);
    --tt-wc-shadow-soft: 0 3px 10px rgba(255, 75, 43, .07);
    --tt-wc-shadow-hover: 0 8px 18px rgba(255, 75, 43, .12);
}

/* Steps */
body:is(.woocommerce-cart, .woocommerce-checkout) :is(.page-title, .checkout-page-title, .page-title-inner) {
    min-height: 0 !important;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs {
    margin: 28px 0 30px !important;
    color: #CBD5E1 !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    text-transform: none !important;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs :is(a, span) {
    color: #CBD5E1 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs :is(.current, .current span) {
    color: var(--tt-wc-text) !important;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs .breadcrumb-step {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin-right: 7px !important;
    border-radius: 999px !important;
    background: #D1D5DB !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 22px !important;
    text-align: center !important;
}

body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs :is(.current .breadcrumb-step, .breadcrumb-step.current) {
    background: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
}

/* Shared inputs */
body.woocommerce-cart :is(input.input-text, textarea, select),
body.woocommerce-checkout form.checkout :is(input.input-text, textarea, select),
body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, input#coupon_code) {
    width: 100% !important;
    min-height: var(--tt-wc-input-h) !important;
    border: 1px solid var(--tt-wc-border) !important;
    border-radius: var(--tt-wc-radius) !important;
    background: #FFFFFF !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
    color: var(--tt-wc-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.woocommerce-cart :is(input.input-text, textarea, select):focus,
body.woocommerce-checkout form.checkout :is(input.input-text, textarea, select):focus,
body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, input#coupon_code):focus {
    border-color: var(--tt-wc-primary) !important;
    background: #FFFFFF !important;
    box-shadow: var(--tt-wc-focus) !important;
    outline: 0 !important;
}

body.woocommerce-cart :is(input.input-text, textarea)::placeholder,
body.woocommerce-checkout :is(form.checkout, form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, textarea, input#coupon_code)::placeholder {
    color: #94A3B8 !important;
    opacity: 1 !important;
}

/* Shared buttons */
body.woocommerce-cart :is(.woocommerce-cart-form .actions .button, .cart_totals .button, .wc-proceed-to-checkout .button, .ux-cart-coupon .coupon .button),
body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) .button,
body.woocommerce-checkout form.checkout :is(#place_order, button[name="woocommerce_checkout_place_order"]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: var(--tt-wc-button-h) !important;
    padding: 0 18px !important;
    border: 1px solid var(--tt-wc-primary) !important;
    border-radius: var(--tt-wc-radius) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Cart */
body.woocommerce-cart :is(.woocommerce-cart-form .shop_table, .cart_totals table) {
    border-color: var(--tt-wc-line) !important;
}

body.woocommerce-cart :is(.woocommerce-cart-form .shop_table thead th, .cart_totals table th, .cart_totals table td, .ux-cart-coupon .widget-title) {
    border-bottom-color: var(--tt-wc-line) !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions {
    padding-top: 18px !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping {
    float: left !important;
    width: auto !important;
    margin: 0 12px 0 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping {
    min-width: 210px !important;
    background: #FFFFFF !important;
    border-color: rgba(255, 75, 43, .72) !important;
    color: var(--tt-wc-primary) !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping:hover {
    background: var(--tt-wc-primary-soft) !important;
    border-color: var(--tt-wc-primary) !important;
    color: var(--tt-wc-primary-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    float: left !important;
    clear: none !important;
    min-width: 156px !important;
    margin: 0 !important;
    background: var(--tt-wc-primary-soft) !important;
    border-color: var(--tt-wc-primary-line) !important;
    color: var(--tt-wc-primary-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:not(:disabled):hover {
    background: var(--tt-wc-primary) !important;
    border-color: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
    padding-top: 20px !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    min-height: 44px !important;
    background: var(--tt-wc-primary) !important;
    border-color: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    box-shadow: 0 8px 18px rgba(255, 75, 43, .10) !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--tt-wc-primary-dark) !important;
    border-color: var(--tt-wc-primary-dark) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(217, 45, 32, .14) !important;
    transform: translateY(-1px);
}

body.woocommerce-cart .woocommerce .coupon input#coupon_code {
    height: 39px !important;
    min-height: 39px !important;
    margin: 0 0 9px !important;
    padding: 0 14px !important;
    line-height: 39px !important;
}

body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
    width: 100% !important;
    background: var(--tt-wc-primary-soft) !important;
    border-color: var(--tt-wc-primary) !important;
    color: var(--tt-wc-primary-dark) !important;
    box-shadow: var(--tt-wc-shadow-soft) !important;
}

body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]::before,
body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]:hover,
body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]:focus {
    background: var(--tt-wc-primary) !important;
    border-color: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
    box-shadow: var(--tt-wc-shadow-hover) !important;
    transform: translateY(-1px);
}

body.woocommerce-cart .woocommerce-cart-form .quantity {
    display: inline-flex !important;
    align-items: center !important;
    overflow: hidden !important;
    height: 36px !important;
    min-width: 84px !important;
    border: 1px solid var(--tt-wc-border) !important;
    border-radius: 999px !important;
    background: var(--tt-wc-bg-soft) !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus) {
    width: 28px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tt-wc-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus):hover {
    background: #FFFFFF !important;
    color: var(--tt-wc-primary-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity input.qty {
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-width: 0 1px !important;
    border-style: solid !important;
    border-color: var(--tt-wc-border) !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    color: var(--tt-wc-text) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: center !important;
}

body.woocommerce-cart :is(.woocommerce-cart-form .actions .button, .woocommerce-cart-form .actions button[name="update_cart"], .woocommerce .coupon .button):is(:disabled, .disabled) {
    background: var(--tt-wc-bg-soft) !important;
    border-color: var(--tt-wc-border) !important;
    color: #94A3B8 !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: not-allowed !important;
}

/* Checkout */
body.woocommerce-checkout form.checkout :is(h3, #order_review_heading) {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--tt-wc-text) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout .woocommerce-info {
    margin-bottom: 18px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--tt-wc-primary-line) !important;
    border-radius: 7px !important;
    background: var(--tt-wc-primary-soft) !important;
    color: var(--tt-wc-text) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .woocommerce-info::before {
    color: var(--tt-wc-primary) !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 0 !important;
}

body.woocommerce-checkout :is(.woocommerce-info a, .woocommerce-form-coupon-toggle a) {
    color: var(--tt-wc-primary-dark) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) {
    margin: 0 0 18px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--tt-wc-primary-line) !important;
    border-style: solid !important;
    border-radius: 9px !important;
    background: var(--tt-wc-primary-soft) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) .coupon {
    width: 100% !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(.flex-row, .medium-flex-wrap) {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 520px !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) .flex-col.flex-grow {
    flex: 0 1 360px !important;
    max-width: 360px !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) .flex-col:not(.flex-grow) {
    flex: 0 0 auto !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, input#coupon_code) {
    flex: 1 1 auto !important;
    height: var(--tt-wc-input-h) !important;
    margin: 0 !important;
    padding: 0 14px !important;
    line-height: var(--tt-wc-input-h) !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(.button, button[name="apply_coupon"]) {
    flex: 0 0 auto !important;
    min-width: 118px !important;
    height: var(--tt-wc-button-h) !important;
    min-height: var(--tt-wc-button-h) !important;
    margin: 0 !important;
    background: var(--tt-wc-primary-soft) !important;
    color: var(--tt-wc-primary-dark) !important;
    box-shadow: var(--tt-wc-shadow-soft) !important;
}

body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(.button, button[name="apply_coupon"]):is(:hover, :focus) {
    background: var(--tt-wc-primary) !important;
    border-color: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
    box-shadow: var(--tt-wc-shadow-hover) !important;
    transform: translateY(-1px);
}



/* Checkout coupon: compact box below order total */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon {
    display: none !important;
}

body.woocommerce-checkout form.checkout #order_review table .tt-checkout-coupon-row td {
    padding: 14px 0 4px !important;
    border-top: 2px solid var(--tt-wc-line) !important;
    border-bottom: 0 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-box {
    position: relative !important;
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 13px 13px 15px !important;
    overflow: hidden !important;
    border: 1px solid #FFD1C7 !important;
    border-left: 3px solid var(--tt-wc-primary) !important;
    border-radius: var(--tt-wc-radius) !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFDFC 100%) !important;
    box-shadow: 0 8px 18px rgba(255, 75, 43, .08) !important;
}

body.woocommerce-checkout .tt-checkout-coupon-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

body.woocommerce-checkout .tt-checkout-coupon-title {
    color: var(--tt-wc-primary-dark) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
}

body.woocommerce-checkout .tt-checkout-coupon-status {
    flex: 0 0 auto !important;
    color: #15803D !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-applied {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

body.woocommerce-checkout .tt-checkout-coupon-chip {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(22, 163, 74, .26) !important;
    border-radius: 999px !important;
    background: #ECFDF5 !important;
    color: #047857 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-form {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
}

body.woocommerce-checkout .tt-checkout-coupon-input {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #D9E1EC !important;
    border-radius: var(--tt-wc-radius) !important;
    background: #FFFFFF !important;
    color: var(--tt-wc-text) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .03) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 40px !important;
}

body.woocommerce-checkout .tt-checkout-coupon-input::placeholder {
    color: #94A3B8 !important;
    opacity: 1 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-input:focus {
    border-color: var(--tt-wc-primary) !important;
    box-shadow: var(--tt-wc-focus) !important;
    outline: 0 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-button {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 94px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    border: 1px solid var(--tt-wc-primary) !important;
    border-radius: var(--tt-wc-radius) !important;
    background: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 7px 16px rgba(255, 75, 43, .16) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .tt-checkout-coupon-button:hover,
body.woocommerce-checkout .tt-checkout-coupon-button:focus {
    background: var(--tt-wc-primary-dark) !important;
    border-color: var(--tt-wc-primary-dark) !important;
    color: #FFFFFF !important;
    box-shadow: 0 9px 18px rgba(217, 45, 32, .18) !important;
    transform: translateY(-1px);
}

body.woocommerce-checkout .tt-checkout-coupon-button.is-loading,
body.woocommerce-checkout .tt-checkout-coupon-button:disabled {
    background: #F1F5F9 !important;
    border-color: #E2E8F0 !important;
    color: #94A3B8 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: wait !important;
    opacity: 1 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-message {
    min-height: 0 !important;
    color: var(--tt-wc-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout .tt-checkout-coupon-message:empty {
    display: none !important;
}

body.woocommerce-checkout .tt-checkout-coupon-message.is-success {
    color: #15803D !important;
}

body.woocommerce-checkout .tt-checkout-coupon-message.is-error {
    color: #DC2626 !important;
}

/* Checkout left column: keep billing fields light and clean */
body.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields, .woocommerce-additional-fields) {
    margin-bottom: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields, .woocommerce-additional-fields)::before,
body.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields, .woocommerce-additional-fields)::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3) {
    margin-top: 0 !important;
}



/* Checkout billing layout: desktop name + phone, email full row */
@media (min-width: 850px) {
    body.woocommerce-checkout form.checkout #billing_first_name_field {
        clear: none !important;
        float: left !important;
        width: calc(50% - 7px) !important;
        margin-right: 14px !important;
    }

    body.woocommerce-checkout form.checkout #billing_phone_field {
        clear: none !important;
        float: left !important;
        width: calc(50% - 7px) !important;
        margin-right: 0 !important;
    }

    body.woocommerce-checkout form.checkout #billing_email_field {
        clear: both !important;
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }
}

body.woocommerce-checkout form.checkout .form-row {
    position: relative !important;
    margin-bottom: 14px !important;
    padding: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row-first,
body.woocommerce-checkout form.checkout .form-row-last {
    width: calc(50% - 7px) !important;
}

body.woocommerce-checkout form.checkout .form-row-first {
    margin-right: 14px !important;
}

body.woocommerce-checkout form.checkout .form-row-wide {
    clear: both !important;
    width: 100% !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout form.checkout .form-row label {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    color: var(--tt-wc-text) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.woocommerce-checkout form.checkout .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout form.checkout :is(input.input-text, textarea, select) {
    display: block !important;
    margin: 0 !important;
    padding: 0 14px !important;
    line-height: 44px !important;
}

body.woocommerce-checkout form.checkout textarea {
    min-height: 118px !important;
    padding-top: 12px !important;
    line-height: 1.55 !important;
    resize: vertical !important;
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments {
    min-height: 104px !important;
    max-height: 220px !important;
    padding: 12px 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    resize: vertical !important;
    scrollbar-width: thin;
    scrollbar-color: #CBD5E1 transparent;
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments::-webkit-scrollbar {
    width: 6px;
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments::-webkit-scrollbar-track {
    background: transparent;
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #CBD5E1;
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments::-webkit-scrollbar-thumb:hover {
    background: var(--tt-wc-primary);
}

body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments::-webkit-scrollbar-button {
    display: none;
    width: 0;
    height: 0;
}

body.woocommerce-checkout form.checkout .woocommerce-invalid :is(input.input-text, textarea, select) {
    border-color: #EF4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .10) !important;
}

body.woocommerce-checkout form.checkout .woocommerce-validated :is(input.input-text, textarea, select) {
    border-color: #D9E1EC !important;
}



/* Checkout spacing: reduce empty vertical space between customer info and order summary */
body.woocommerce-checkout form.checkout > .row {
    align-items: flex-start !important;
}

body.woocommerce-checkout form.checkout .woocommerce-additional-fields {
    margin-bottom: 14px !important;
}

@media (min-width: 850px) {
    body.woocommerce-checkout form.checkout > .row > .large-7 {
        padding-right: 18px !important;
    }

    body.woocommerce-checkout form.checkout > .row > .large-5 {
        padding-left: 18px !important;
    }
}

body.woocommerce-checkout form.checkout .large-5 > .col-inner {
    padding: 26px 30px !important;
    border: 1px solid var(--tt-wc-primary-line) !important;
    border-radius: 9px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important;
    overflow: hidden !important;
}

body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.woocommerce-checkout form.checkout #order_review table {
    margin-bottom: 18px !important;
    border-color: var(--tt-wc-line) !important;
}

body.woocommerce-checkout form.checkout #order_review table :is(th, td) {
    padding: 10px 0 !important;
    border-color: var(--tt-wc-line) !important;
    color: var(--tt-wc-text) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout form.checkout #order_review table th {
    font-weight: 800 !important;
}

body.woocommerce-checkout form.checkout #order_review .product-name {
    padding-right: 12px !important;
}

body.woocommerce-checkout form.checkout #order_review :is(.product-total, .cart-subtotal td, .order-total td) {
    text-align: right !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout form.checkout #payment {
    margin-top: 12px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--tt-wc-line) !important;
    background: transparent !important;
}

body.woocommerce-checkout form.checkout #payment :is(ul.payment_methods, .payment_methods, li) {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

body.woocommerce-checkout form.checkout #payment label {
    color: var(--tt-wc-text) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout form.checkout #payment .payment_box {
    margin: 8px 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tt-wc-text) !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.woocommerce-checkout form.checkout #payment .payment_box::before {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout form.checkout .payment_method_casso-payos > label > img {
    width: 70px !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
}

body.woocommerce-checkout :is(form.checkout .vietqr-row, .woocommerce .vietqr-row) {
    display: none !important;
}

body.woocommerce-checkout form.checkout :is(#place_order, button[name="woocommerce_checkout_place_order"]) {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-top: 8px !important;
    background: var(--tt-wc-primary) !important;
    color: #FFFFFF !important;
    box-shadow: var(--tt-wc-shadow-hover) !important;
    font-size: 16px !important;
}

body.woocommerce-checkout form.checkout :is(#place_order, button[name="woocommerce_checkout_place_order"]):hover {
    background: var(--tt-wc-primary-dark) !important;
    border-color: var(--tt-wc-primary-dark) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(217, 45, 32, .16) !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 849px) {
    body:is(.woocommerce-cart, .woocommerce-checkout) :is(main#main, #main) {
        padding-top: 0 !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) .cart-container:is(.page-wrapper, .page-cart, .page-checkout) {
        padding: 10px 12px 12px !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) :is(.page-title, .checkout-page-title, .page-title-inner) {
        margin: 0 !important;
        padding: 8px 0 !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Checkout mobile: hide duplicated step title above the billing section */
    body.woocommerce-checkout .checkout-breadcrumbs {
        display: none !important;
    }

    body.woocommerce-checkout :is(.checkout-page-title, .page-title-inner) {
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs,
    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs :is(a, span) {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs .breadcrumb-step {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        margin-right: 6px !important;
        font-size: 12px !important;
        line-height: 20px !important;
    }

    body.woocommerce-cart .woocommerce > .row > .col,
    body.woocommerce-checkout form.checkout > .row > .col {
        padding-bottom: 10px !important;
    }

    body.woocommerce-cart .woocommerce > .row > .col:last-child,
    body.woocommerce-checkout form.checkout > .row > .col:last-child {
        padding-bottom: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions :is(.continue-shopping, .button-continue-shopping, button[name="update_cart"]) {
        display: flex !important;
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        margin-top: 10px !important;
    }

    body.woocommerce-cart .woocommerce .cart_totals,
    body.woocommerce-checkout form.checkout #order_review {
        margin-top: 12px !important;
    }

    body.woocommerce-checkout .woocommerce-info {
        margin-bottom: 16px !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    body.woocommerce-checkout .woocommerce-form-coupon-toggle {
        margin-bottom: 12px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
        margin: 0 !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) {
        margin-bottom: 16px !important;
        padding: 12px !important;
        border-radius: var(--tt-wc-radius) !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(.flex-row, .medium-flex-wrap) {
        flex-direction: column !important;
        gap: 8px !important;
        max-width: none !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) .flex-col.flex-grow {
        flex: 1 1 auto !important;
        max-width: none !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, input#coupon_code, .button, button[name="apply_coupon"]) {
        width: 100% !important;
        min-width: 0 !important;
        border-radius: var(--tt-wc-radius) !important;
    }



    body.woocommerce-checkout .tt-checkout-coupon-form {
        flex-direction: column !important;
        gap: 8px !important;
    }

    body.woocommerce-checkout .tt-checkout-coupon-button {
        width: 100% !important;
        min-width: 0 !important;
    }



    /* Checkout mobile polish: make order summary lighter and easier to read */
    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        padding: 18px 16px !important;
        border-color: var(--tt-wc-primary-line) !important;
        box-shadow: 0 8px 20px rgba(15, 23, 42, .04) !important;
    }

    body.woocommerce-checkout form.checkout #order_review table {
        margin-bottom: 14px !important;
    }

    body.woocommerce-checkout form.checkout #order_review table :is(th, td) {
        padding: 8px 0 !important;
        font-size: 12.5px !important;
        line-height: 1.45 !important;
        vertical-align: top !important;
    }

    body.woocommerce-checkout form.checkout #order_review .product-name {
        width: 68% !important;
        padding-right: 10px !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-checkout form.checkout #order_review :is(.product-total, .cart-subtotal td, .order-total td) {
        width: 32% !important;
        text-align: right !important;
        white-space: nowrap !important;
        font-size: 12.5px !important;
        font-weight: 850 !important;
    }

    body.woocommerce-checkout form.checkout #order_review .order-total th,
    body.woocommerce-checkout form.checkout #order_review .order-total td {
        padding-top: 11px !important;
        font-size: 13.5px !important;
        font-weight: 900 !important;
    }

    body.woocommerce-checkout .tt-checkout-coupon-box {
        padding: 11px !important;
        border-left-width: 2px !important;
        box-shadow: 0 6px 14px rgba(255, 75, 43, .06) !important;
    }

    body.woocommerce-checkout form.checkout :is(h3, #order_review_heading) {
        margin-bottom: 12px !important;
        font-size: 16px !important;
    }

    body.woocommerce-checkout form.checkout :is(.form-row-first, .form-row-last) {
        width: 100% !important;
        margin-right: 0 !important;
    }

    body.woocommerce-checkout form.checkout .form-row {
        margin-bottom: 12px !important;
    }

    body.woocommerce-checkout form.checkout .form-row label {
        margin-bottom: 6px !important;
        font-size: 12.5px !important;
    }

    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        margin-top: 10px !important;
        padding: 18px 16px !important;
        border-radius: var(--tt-wc-radius) !important;
    }

    body.woocommerce-checkout form.checkout #order_review table :is(th, td) {
        font-size: 12.5px !important;
    }

    body.woocommerce-checkout form.checkout :is(#place_order, button[name="woocommerce_checkout_place_order"]) {
        height: 46px !important;
        min-height: 46px !important;
        margin-top: 12px !important;
    }
}

@media (max-width: 480px) {
    body:is(.woocommerce-cart, .woocommerce-checkout) .cart-container:is(.page-wrapper, .page-cart, .page-checkout) {
        padding: 6px 10px 10px !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) :is(.page-title, .checkout-page-title, .page-title-inner) {
        padding: 6px 0 !important;
    }

    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs,
    body:is(.woocommerce-cart, .woocommerce-checkout) .checkout-breadcrumbs :is(a, span) {
        font-size: 14.5px !important;
    }

    body.woocommerce-cart .woocommerce > .row > .col,
    body.woocommerce-checkout form.checkout > .row > .col {
        padding-bottom: 6px !important;
    }

    body.woocommerce-checkout form.checkout :is(input.input-text, textarea, select) {
        min-height: 42px !important;
        line-height: 42px !important;
    }

    body.woocommerce-checkout form.checkout textarea {
        min-height: 104px !important;
        line-height: 1.5 !important;
    }

    body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments {
        min-height: 96px !important;
        max-height: 180px !important;
        padding: 12px 14px !important;
        line-height: 1.5 !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) {
        padding: 10px !important;
    }

    body.woocommerce-checkout :is(form.checkout_coupon, form.woocommerce-form-coupon) :is(input.input-text, input#coupon_code, .button, button[name="apply_coupon"]) {
        height: 40px !important;
        min-height: 40px !important;
        line-height: 40px !important;
    }

    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        padding: 16px 14px !important;
    }

    body.woocommerce-checkout form.checkout #order_comments_field textarea#order_comments {
        min-height: 88px !important;
        max-height: 150px !important;
    }

    body.woocommerce-checkout .tt-checkout-coupon-box {
        padding: 10px !important;
    }


    body.woocommerce-checkout form.checkout #order_review .product-name {
        padding-right: 8px !important;
    }

    body.woocommerce-checkout form.checkout #order_review table :is(th, td) {
        padding: 8px 0 !important;
    }
}

/* Cart compact summary box and table polish - 2026-07-02 */
body.woocommerce-cart {
    --tt-cart-text: #0f172a;
    --tt-cart-muted: #64748b;
    --tt-cart-line: #e8eef6;
    --tt-cart-soft: #f8fafc;
    --tt-cart-primary: #ff4b2b;
    --tt-cart-primary-dark: #d92d20;
    --tt-cart-primary-soft: #fff3ef;
}

body.woocommerce-cart .cart-container {
    padding-top: 20px !important;
    padding-bottom: 22px !important;
}

@media (min-width: 850px) {
    body.woocommerce-cart .woocommerce > .row.row-large {
        column-gap: 28px !important;
    }

    body.woocommerce-cart .woocommerce > .row.row-large > .large-7 {
        flex-basis: calc(58.333333% - 14px) !important;
        max-width: calc(58.333333% - 14px) !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .woocommerce > .row.row-large > .large-5 {
        flex-basis: calc(41.666667% - 14px) !important;
        max-width: calc(41.666667% - 14px) !important;
        padding-left: 0 !important;
    }
}

body.woocommerce-cart .woocommerce-cart-form .shop_table {
    width: 100% !important;
    margin-bottom: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th, td) {
    border-width: 0 0 1px !important;
    border-style: solid !important;
    border-color: var(--tt-cart-line) !important;
    box-shadow: none !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
    padding: 0 0 12px !important;
    color: var(--tt-cart-text) !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table tbody td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
}

@media (min-width: 850px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-remove, td.product-remove) {
        width: 30px !important;
        padding-right: 6px !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-thumbnail, td.product-thumbnail) {
        width: 78px !important;
        padding-right: 12px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-name, td.product-name) {
        width: auto !important;
        padding-right: 14px !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-price, td.product-price) {
        width: 106px !important;
        padding-right: 12px !important;
        text-align: right !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-quantity, td.product-quantity) {
        width: 112px !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table :is(th.product-subtotal, td.product-subtotal) {
        width: 106px !important;
        text-align: right !important;
    }
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #94a3b8 !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove:hover {
    border-color: var(--tt-cart-primary) !important;
    background: var(--tt-cart-primary-soft) !important;
    color: var(--tt-cart-primary-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
    border: 1px solid #e8eef6 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a {
    color: var(--tt-cart-text) !important;
    font-size: 14.5px !important;
    font-weight: 750 !important;
    line-height: 1.38 !important;
}

body.woocommerce-cart .woocommerce-cart-form :is(.product-price, .product-subtotal),
body.woocommerce-cart .woocommerce-cart-form :is(.product-price, .product-subtotal) .amount {
    color: var(--tt-cart-text) !important;
    font-size: 14.5px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity {
    display: inline-grid !important;
    grid-template-columns: 28px 34px 28px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px !important;
    min-width: 90px !important;
    height: 32px !important;
    min-height: 32px !important;
    overflow: hidden !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus) {
    width: 28px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #475569 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity input.qty {
    width: 34px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-width: 0 1px !important;
    border-style: solid !important;
    border-color: #d9e1ec !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--tt-cart-text) !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 30px !important;
    text-align: center !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus):hover {
    background: #fff !important;
    color: var(--tt-cart-primary-dark) !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding-top: 14px !important;
    border-bottom: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping {
    margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping,
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    height: 38px !important;
    min-height: 38px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-width: 1px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 36px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:disabled {
    border-color: #e2e8f0 !important;
    background: #f1f5f9 !important;
    color: #64748b !important;
    opacity: .7 !important;
    cursor: not-allowed !important;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-sidebar {
    border-left: 0 !important;
}

body.woocommerce-cart .cart-sidebar,
body.woocommerce-cart .cart-sidebar.col-inner {
    padding: 18px 20px !important;
    border: 1px solid #e8eef6 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .045) !important;
}

body.woocommerce-cart .cart_totals {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .cart_totals > table:first-child {
    display: none !important;
}

body.woocommerce-cart .cart_totals h2 {
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid #e8eef6 !important;
    color: var(--tt-cart-text) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    letter-spacing: .01em !important;
}

body.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    box-shadow: none !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 14px !important;
}

body.woocommerce-cart .cart_totals table.shop_table :is(th, td) {
    display: block !important;
    width: auto !important;
    padding: 9px 0 !important;
    border-width: 0 0 1px !important;
    border-style: solid !important;
    border-color: #eef2f7 !important;
    color: var(--tt-cart-text) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

body.woocommerce-cart .cart_totals table.shop_table th {
    font-weight: 700 !important;
    text-align: left !important;
}

body.woocommerce-cart .cart_totals table.shop_table td {
    font-weight: 900 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals table.shop_table .order-total :is(th, td) {
    border-bottom: 0 !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
    padding: 4px 0 14px !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: var(--tt-cart-primary) !important;
    color: #fff !important;
    font-size: 14.5px !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 18px rgba(255, 75, 43, .10) !important;
}

body.woocommerce-cart .ux-cart-coupon,
body.woocommerce-cart .ux-cart-coupon .coupon {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-cart .ux-cart-coupon .coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 8px !important;
    align-items: center !important;
}

body.woocommerce-cart .ux-cart-coupon .widget-title,
body.woocommerce-cart .coupon .widget-title {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 14px 0 10px !important;
    border-top: 1px solid #eef2f7 !important;
    border-bottom: 0 !important;
    color: var(--tt-cart-text) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

body.woocommerce-cart .woocommerce .coupon input#coupon_code {
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--tt-cart-text) !important;
    font-size: 13.5px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
    width: 96px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 1px solid var(--tt-cart-primary) !important;
    border-radius: 8px !important;
    background: var(--tt-cart-primary-soft) !important;
    color: var(--tt-cart-primary-dark) !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
    line-height: 38px !important;
    box-shadow: none !important;
}

@media (max-width: 849px) {
    body.woocommerce-cart .cart-container {
        padding-top: 8px !important;
        padding-bottom: 14px !important;
    }

    body.woocommerce-cart .cart-sidebar,
    body.woocommerce-cart .cart-sidebar.col-inner {
        padding: 16px 14px !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .04) !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        width: 100% !important;
    }

    body.woocommerce-cart .ux-cart-coupon .coupon {
        grid-template-columns: minmax(0, 1fr) 88px !important;
    }

    body.woocommerce-cart .woocommerce .coupon button[name="apply_coupon"] {
        width: 88px !important;
        padding: 0 10px !important;
    }
}

/* Cart compact v3: grid layout fix remove/thumbnail width - 2026-07-02 */
@media (min-width: 850px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table {
        display: block !important;
        width: 100% !important;
        table-layout: auto !important;
        border-collapse: collapse !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead tr,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 24px 54px minmax(250px, 1fr) 92px 96px 92px !important;
        align-items: center !important;
        width: 100% !important;
        column-gap: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-name {
        grid-column: 1 / 4 !important;
        padding: 0 14px 12px 0 !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-price,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-price {
        grid-column: 4 !important;
        padding-right: 10px !important;
        text-align: right !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-quantity,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-quantity {
        grid-column: 5 !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-subtotal,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-subtotal {
        grid-column: 6 !important;
        padding-left: 8px !important;
        text-align: right !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-remove {
        grid-column: 1 !important;
        padding: 11px 4px 11px 0 !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-thumbnail {
        grid-column: 2 !important;
        padding: 11px 8px 11px 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-name {
        grid-column: 3 !important;
        padding: 11px 16px 11px 0 !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        gap: 10px !important;
        padding-top: 14px !important;
        border-bottom: 0 !important;
    }
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-color: #dbe3ee !important;
    font-size: 14px !important;
    line-height: 16px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    border-radius: 7px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-name a {
    font-size: 14.5px !important;
    font-weight: 800 !important;
    line-height: 1.34 !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity {
    grid-template-columns: 26px 32px 26px !important;
    width: 84px !important;
    min-width: 84px !important;
    height: 30px !important;
    min-height: 30px !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus) {
    width: 26px !important;
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity input.qty {
    width: 32px !important;
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"].tt-cart-update-ready,
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:not(:disabled) {
    border-color: var(--tt-cart-primary) !important;
    background: var(--tt-cart-primary-soft) !important;
    color: var(--tt-cart-primary-dark) !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"].tt-cart-update-ready:hover,
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:not(:disabled):hover {
    background: var(--tt-cart-primary) !important;
    color: #fff !important;
}

@media (max-width: 849px) {
    body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        font-size: 15px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
        width: 52px !important;
        max-width: 52px !important;
        height: 52px !important;
    }
}

/* Cart compact v4: align cart row cells on one line - 2026-07-02 */
@media (min-width: 850px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        grid-template-columns: 22px 50px minmax(285px, 1fr) 92px 96px 92px !important;
        align-items: stretch !important;
        min-height: 58px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td {
        display: flex !important;
        align-items: center !important;
        min-height: 58px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        line-height: 1.3 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-remove {
        justify-content: center !important;
        padding-right: 4px !important;
        padding-left: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-thumbnail {
        justify-content: center !important;
        padding-right: 6px !important;
        padding-left: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-name {
        justify-content: flex-start !important;
        padding-right: 14px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-price,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-subtotal {
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-quantity {
        justify-content: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-quantity .quantity {
        margin: 0 auto !important;
        transform: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead tr {
        grid-template-columns: 22px 50px minmax(285px, 1fr) 92px 96px 92px !important;
        align-items: end !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-name {
        grid-column: 1 / 4 !important;
        padding-right: 14px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-price {
        grid-column: 4 !important;
        padding-right: 10px !important;
        text-align: right !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-quantity {
        grid-column: 5 !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-subtotal {
        grid-column: 6 !important;
        padding-left: 8px !important;
        text-align: right !important;
    }
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    display: block !important;
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Cart compact v5: align cart totals rows and remove broken divider - 2026-07-02 */
body.woocommerce-cart .cart_totals table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 0 !important;
    width: 100% !important;
    border-bottom: 1px solid #eef2f7 !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total {
    border-bottom: 0 !important;
}

body.woocommerce-cart .cart_totals table.shop_table :is(th, td) {
    display: flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 7px 0 !important;
    border: 0 !important;
    line-height: 1.35 !important;
}

body.woocommerce-cart .cart_totals table.shop_table th {
    justify-content: flex-start !important;
    padding-right: 12px !important;
    text-align: left !important;
}

body.woocommerce-cart .cart_totals table.shop_table td {
    justify-content: flex-end !important;
    min-width: 112px !important;
    padding-left: 12px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals table.shop_table td .amount,
body.woocommerce-cart .cart_totals table.shop_table td strong {
    display: inline-flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    text-align: right !important;
}

body.woocommerce-cart .cart_totals table.shop_table .order-total :is(th, td) {
    min-height: 34px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
    padding-top: 8px !important;
}

/* Cart compact v6: mobile cart layout fix - 2026-07-02 */
@media (max-width: 849px) {
    body.woocommerce-cart .cart-container {
        padding: 8px 12px 14px !important;
    }

    body.woocommerce-cart .cart-wrapper,
    body.woocommerce-cart .cart-wrapper.sm-touch-scroll {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .woocommerce-cart-form .shop_table,
    body.woocommerce-cart .woocommerce-cart-form .shop_table thead,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead tr {
        display: grid !important;
        grid-template-columns: 24px 54px minmax(0, 1fr) 86px !important;
        align-items: end !important;
        width: 100% !important;
        padding: 0 !important;
        border-bottom: 1px solid #e8eef6 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
        display: block !important;
        padding: 0 0 11px !important;
        border: 0 !important;
        color: var(--tt-cart-text) !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-name {
        grid-column: 1 / 4 !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-quantity {
        grid-column: 4 !important;
        text-align: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-price,
    body.woocommerce-cart .woocommerce-cart-form .shop_table thead th.product-subtotal {
        display: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 24px 54px minmax(0, 1fr) 86px !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 92px !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #e8eef6 !important;
        column-gap: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td {
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        line-height: 1.35 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-remove {
        grid-column: 1 !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-thumbnail {
        grid-column: 2 !important;
        justify-content: center !important;
        padding-right: 8px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-name {
        grid-column: 3 !important;
        display: block !important;
        padding-right: 8px !important;
        text-align: left !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-quantity {
        grid-column: 4 !important;
        justify-content: flex-end !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-price,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-subtotal {
        display: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
        width: 19px !important;
        height: 19px !important;
        min-width: 19px !important;
        font-size: 14px !important;
        line-height: 17px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
        width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        border-radius: 7px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-name a {
        display: block !important;
        color: var(--tt-cart-text) !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 1.32 !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .mobile-product-price {
        display: block !important;
        margin-top: 5px !important;
        color: var(--tt-cart-text) !important;
        font-size: 12.5px !important;
        font-weight: 650 !important;
        line-height: 1.25 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .mobile-product-price .amount {
        font-size: 12.5px !important;
        font-weight: 850 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .quantity {
        grid-template-columns: 23px 28px 23px !important;
        width: 74px !important;
        min-width: 74px !important;
        height: 30px !important;
        min-height: 30px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .quantity :is(.minus, .plus) {
        width: 24px !important;
        height: 28px !important;
        min-height: 28px !important;
        line-height: 28px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .quantity input.qty {
        width: 30px !important;
        height: 28px !important;
        min-height: 28px !important;
        line-height: 28px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) {
        display: block !important;
        width: 100% !important;
        border: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 0 10px !important;
        border: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        float: none !important;
        clear: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 12px !important;
        border-radius: 8px !important;
        font-size: 13.5px !important;
        line-height: 36px !important;
    }

    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart-collaterals.large-5,
    body.woocommerce-cart .cart-sidebar,
    body.woocommerce-cart .cart-sidebar.col-inner {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .cart-sidebar,
    body.woocommerce-cart .cart-sidebar.col-inner {
        padding: 14px !important;
        border-radius: 10px !important;
    }

    body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
        height: 44px !important;
        min-height: 44px !important;
    }
}

@media (max-width: 380px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table thead tr,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        grid-template-columns: 22px 48px minmax(0, 1fr) 76px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
        width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .quantity {
        grid-template-columns: 22px 28px 22px !important;
        width: 72px !important;
        min-width: 72px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-name a {
        font-size: 13.5px !important;
    }
}

/* Cart compact v7: mobile action buttons and remove alignment - 2026-07-02 */
@media (max-width: 849px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        align-items: stretch !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-remove,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-thumbnail,
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-quantity {
        min-height: 72px !important;
        align-self: stretch !important;
        display: flex !important;
        align-items: center !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item td.product-remove {
        justify-content: center !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .product-remove a.remove {
        position: static !important;
        top: auto !important;
        transform: none !important;
        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 16px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 12px 0 10px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping {
        width: 100% !important;
        min-width: 0 !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 12px !important;
        border-color: rgba(255, 75, 43, .72) !important;
        background: #fff !important;
        color: var(--tt-cart-primary) !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 34px !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        flex: 0 0 132px !important;
        width: 132px !important;
        max-width: 132px !important;
        min-width: 132px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 10px !important;
        border-color: #d9e1ec !important;
        background: #f8fafc !important;
        color: #64748b !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 34px !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"].tt-cart-update-ready,
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"]:not(:disabled) {
        border-color: var(--tt-cart-primary) !important;
        background: var(--tt-cart-primary-soft) !important;
        color: var(--tt-cart-primary-dark) !important;
    }
}

@media (max-width: 380px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        gap: 6px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        font-size: 12.5px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        flex-basis: 124px !important;
        width: 124px !important;
        max-width: 124px !important;
        min-width: 124px !important;
    }
}

/* Cart compact v8: mobile summary spacing and border polish - 2026-07-02 */
@media (max-width: 849px) {
    body.woocommerce-cart .cart-sidebar,
    body.woocommerce-cart .cart-sidebar.col-inner {
        padding: 12px 12px 13px !important;
        border: 1px solid #d5deeb !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 20px rgba(15, 23, 42, .055) !important;
    }

    body.woocommerce-cart .cart_totals h2 {
        margin-bottom: 8px !important;
        padding-bottom: 9px !important;
        border-bottom-color: #dce5f0 !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table {
        margin-bottom: 8px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table tr {
        border-bottom-color: #dce5f0 !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table :is(th, td) {
        min-height: 32px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    body.woocommerce-cart .cart_totals table.shop_table .order-total :is(th, td) {
        min-height: 32px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    body.woocommerce-cart .woocommerce .wc-proceed-to-checkout {
        margin: 10px 0 8px !important;
        padding: 4px 0 8px !important;
    }

    body.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
    }

    body.woocommerce-cart .ux-cart-coupon .widget-title,
    body.woocommerce-cart .coupon .widget-title {
        padding-top: 11px !important;
        border-top-color: #dce5f0 !important;
    }
}

/* Cart compact v10: hide manual update and show auto status - 2026-07-02 */
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .actions .tt-cart-auto-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid #d9e1ec !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #64748b !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.woocommerce-cart.tt-cart-auto-updating .woocommerce-cart-form .actions .tt-cart-auto-status {
    border-color: var(--tt-cart-primary) !important;
    background: var(--tt-cart-primary-soft) !important;
    color: var(--tt-cart-primary-dark) !important;
}

@media (max-width: 849px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .tt-cart-auto-status {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        padding: 0 10px !important;
        border-radius: 8px !important;
        font-size: 12.5px !important;
    }
}

@media (max-width: 380px) {
    body.woocommerce-cart .woocommerce-cart-form .actions .tt-cart-auto-status {
        font-size: 12px !important;
        padding: 0 8px !important;
    }
}

/* Cart compact v11: silent auto update no status badge - 2026-07-02 */
body.woocommerce-cart .woocommerce-cart-form .actions .tt-cart-auto-status {
    display: none !important;
}

@media (max-width: 849px) {
    body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr:not(.cart_item) td.actions {
        display: flex !important;
        justify-content: flex-start !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .continue-shopping {
        flex: 0 1 auto !important;
        width: auto !important;
    }

    body.woocommerce-cart .woocommerce-cart-form .actions .button-continue-shopping {
        width: auto !important;
        min-width: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* Cart compact v28: equal desktop quantity and subtotal columns - 2026-07-03 */
body.woocommerce-cart .woocommerce-cart-form .tt-cart-products {
    display: none;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .tt-cart-products {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents thead,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents tbody tr.cart_item {
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents tbody,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents tbody tr:not(.cart_item),
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents tbody td.actions {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents td.actions {
    padding: 14px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents td.actions::before,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready button[name="update_cart"] {
    display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .continue-shopping {
    margin: 0 !important;
}

body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .continue-shopping a,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready a.continue-shopping,
body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .button-continue-shopping {
    width: auto !important;
    min-width: 190px !important;
    max-width: 240px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    border: 1px solid #ff4b36 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #ff432f !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 36px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
    content: "\203A";
    display: inline-block;
    margin-left: 8px;
    font-size: 20px;
    line-height: 1;
    transform: translateY(1px);
}

body.woocommerce-cart .tt-cart-products__head,
body.woocommerce-cart .tt-cart-products__row {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .tt-cart-products__cell {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

body.woocommerce-cart .tt-cart-products__remove a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d9e2ef !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #8da0b7 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
}

body.woocommerce-cart .tt-cart-products__remove a.remove::before {
    content: "\00d7";
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
}

body.woocommerce-cart .tt-cart-products__thumb img {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    object-fit: contain !important;
    border: 1px solid #e4ebf3 !important;
    border-radius: 7px !important;
    background: #fff !important;
}

body.woocommerce-cart .tt-cart-products__name a {
    display: block !important;
    color: #071b33 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

body.woocommerce-cart .tt-cart-products__price,
body.woocommerce-cart .tt-cart-products__subtotal {
    color: #071b33 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .tt-cart-products__price .amount,
body.woocommerce-cart .tt-cart-products__subtotal .amount {
    display: inline-block !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .tt-cart-products__qty .quantity {
    display: inline-grid !important;
    grid-template-columns: 25px 32px 25px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 29px !important;
    min-height: 29px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d7e1ee !important;
    border-radius: 999px !important;
    background: #f9fbfe !important;
    box-shadow: none !important;
}

body.woocommerce-cart .tt-cart-products__qty .quantity :is(.minus, .plus) {
    width: 25px !important;
    height: 29px !important;
    min-height: 29px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0f315c !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 29px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .tt-cart-products__qty .quantity input.qty {
    width: 32px !important;
    height: 29px !important;
    min-height: 29px !important;
    padding: 0 !important;
    border-width: 0 1px !important;
    border-style: solid !important;
    border-color: #d7e1ee !important;
    background: #fff !important;
    color: #071b33 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 29px !important;
    text-align: center !important;
    box-shadow: none !important;
}

body.woocommerce-cart .cart-sidebar {
    border-color: #d7e1ee !important;
}

body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart_totals.calculated_shipping {
    border-color: #d7e1ee !important;
}

@media (min-width: 850px) {
    body.woocommerce-cart .tt-cart-products__head,
    body.woocommerce-cart .tt-cart-products__row {
        display: grid !important;
        grid-template-columns: 22px 44px minmax(210px, 1fr) 88px 104px 104px !important;
        column-gap: 6px !important;
        align-items: center !important;
    }

    body.woocommerce-cart .tt-cart-products__head {
        min-height: 34px !important;
        padding: 0 0 9px !important;
        border-bottom: 1px solid #e1e8f0 !important;
        color: #071b33 !important;
        font-size: 13.5px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    body.woocommerce-cart .tt-cart-products__row {
        min-height: 64px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid #e6edf5 !important;
        background: transparent !important;
    }

    body.woocommerce-cart .tt-cart-products__remove,
    body.woocommerce-cart .tt-cart-products__thumb,
    body.woocommerce-cart .tt-cart-products__qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .tt-cart-products__name {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    body.woocommerce-cart .tt-cart-products__price,
    body.woocommerce-cart .tt-cart-products__subtotal {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__name {
        grid-column: 1 / 4 !important;
        display: block !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__price {
        grid-column: 4 !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__qty {
        grid-column: 5 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__subtotal {
        grid-column: 6 !important;
    }
}

@media (max-width: 849px) {
    body.woocommerce-cart .woocommerce.row.row-large.row-divided {
        gap: 12px !important;
    }

    body.woocommerce-cart .tt-cart-products__head,
    body.woocommerce-cart .tt-cart-products__row {
        display: grid !important;
        grid-template-columns: 22px 44px minmax(0, 1fr) 90px !important;
        column-gap: 8px !important;
        align-items: center !important;
    }

    body.woocommerce-cart .tt-cart-products__head {
        min-height: 34px !important;
        padding: 0 0 9px !important;
        border-bottom: 1px solid #e1e8f0 !important;
        color: #071b33 !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__name {
        grid-column: 1 / 4 !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__price,
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__subtotal {
        display: none !important;
    }

    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__qty {
        grid-column: 4 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .tt-cart-products__row {
        min-height: 86px !important;
        padding: 11px 0 !important;
        border-bottom: 1px solid #e6edf5 !important;
    }

    body.woocommerce-cart .tt-cart-products__remove,
    body.woocommerce-cart .tt-cart-products__thumb,
    body.woocommerce-cart .tt-cart-products__qty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .tt-cart-products__name {
        display: block !important;
        text-align: left !important;
    }

    body.woocommerce-cart .tt-cart-products__name a {
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    body.woocommerce-cart .tt-cart-products__price,
    body.woocommerce-cart .tt-cart-products__subtotal {
        display: none !important;
    }

    body.woocommerce-cart .tt-cart-products__thumb img {
        width: 38px !important;
        height: 38px !important;
        max-width: 38px !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity {
        grid-template-columns: 23px 28px 23px !important;
        width: 74px !important;
        min-width: 74px !important;
        height: 29px !important;
        min-height: 29px !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity :is(.minus, .plus),
    body.woocommerce-cart .tt-cart-products__qty .quantity input.qty {
        height: 29px !important;
        min-height: 29px !important;
        line-height: 29px !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity input.qty {
        width: 30px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready table.shop_table.woocommerce-cart-form__contents td.actions {
        padding-top: 12px !important;
    }

    body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .continue-shopping a,
    body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready a.continue-shopping,
    body.woocommerce-cart .woocommerce-cart-form.tt-cart-products-ready .button-continue-shopping {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        padding: 0 16px !important;
        font-size: 13.5px !important;
        line-height: 36px !important;
    }

    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart-sidebar,
    body.woocommerce-cart .cart_totals.calculated_shipping {
        margin-top: 12px !important;
    }

    body.woocommerce-cart .cart-sidebar {
        border: 1px solid #d3deeb !important;
        border-radius: 9px !important;
    }

    body.woocommerce-cart .wc-proceed-to-checkout {
        margin: 14px 0 16px !important;
        padding: 0 !important;
    }
}

@media (max-width: 380px) {
    body.woocommerce-cart .tt-cart-products__head,
    body.woocommerce-cart .tt-cart-products__row {
        grid-template-columns: 20px 40px minmax(0, 1fr) 82px !important;
        column-gap: 7px !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity {
        grid-template-columns: 23px 28px 23px !important;
        width: 74px !important;
        min-width: 74px !important;
    }
}


/* Cart compact v24 adjustment: keep numeric columns visually grouped on desktop. */
@media (min-width: 850px) {
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__price,
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__qty,
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__subtotal,
    body.woocommerce-cart .tt-cart-products__price,
    body.woocommerce-cart .tt-cart-products__qty,
    body.woocommerce-cart .tt-cart-products__subtotal {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* Cart compact v25 adjustment: smaller quantity pill without changing auto update. */
body.woocommerce-cart .tt-cart-products__qty .quantity {
    box-shadow: none !important;
}


/* Cart compact v26 adjustment: quantity column has breathing room but remains centered. */
@media (min-width: 850px) {
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__qty,
    body.woocommerce-cart .tt-cart-products__qty {
        text-align: center !important;
        justify-content: center !important;
    }
}


/* Cart compact v27 adjustment: center mobile quantity label and controls. */
@media (max-width: 849px) {
    body.woocommerce-cart .tt-cart-products__head .tt-cart-products__qty,
    body.woocommerce-cart .tt-cart-products__qty {
        text-align: center !important;
        justify-content: center !important;
    }

    body.woocommerce-cart .tt-cart-products__qty .quantity {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* Cart compact v28 adjustment: desktop quantity and subtotal columns use equal width. */
@media (min-width: 850px) {
    body.woocommerce-cart .tt-cart-products__head,
    body.woocommerce-cart .tt-cart-products__row {
        grid-template-columns: 22px 44px minmax(210px, 1fr) 88px 104px 104px !important;
    }
}

/* Checkout v31: stabilize order summary without hiding it. */
body.woocommerce-checkout form.checkout .large-5 > .col-inner {
    min-height: 520px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
}

body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order {
    min-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body.woocommerce-checkout form.checkout #order_review table.shop_table {
    table-layout: fixed !important;
    width: 100% !important;
}

body.woocommerce-checkout form.checkout #order_review table.shop_table :is(th, td) {
    vertical-align: middle !important;
}

body.woocommerce-checkout form.checkout #payment {
    min-height: 170px !important;
}

body.woocommerce-checkout form.checkout .tt-checkout-coupon-box {
    min-height: 76px !important;
}

@media (max-width: 849px) {
    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        min-height: 480px !important;
    }

    body.woocommerce-checkout form.checkout #payment {
        min-height: 160px !important;
    }
}

/* Checkout v32: lock desktop checkout geometry to prevent WooCommerce layout shift. */
@media (min-width: 850px) {
    body.woocommerce-checkout .cart-container:is(.page-wrapper, .page-checkout) {
        width: 100% !important;
        max-width: 1240px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    body.woocommerce-checkout form.checkout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.woocommerce-checkout form.checkout > .row {
        display: grid !important;
        grid-template-columns: minmax(560px, 1fr) 384px !important;
        column-gap: 34px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 1040px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.woocommerce-checkout form.checkout > .row::before,
    body.woocommerce-checkout form.checkout > .row::after {
        display: none !important;
        content: none !important;
    }

    body.woocommerce-checkout form.checkout > .row > .large-7,
    body.woocommerce-checkout form.checkout > .row > .large-5 {
        display: block !important;
        float: none !important;
        flex: none !important;
        flex-basis: auto !important;
        max-width: none !important;
        width: auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout form.checkout > .row > .large-5 {
        width: 384px !important;
        max-width: 384px !important;
    }

    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 384px !important;
        min-height: 520px !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    body.woocommerce-checkout form.checkout #order_review,
    body.woocommerce-checkout form.checkout #order_review .woocommerce-checkout-review-order {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
    }

    body.woocommerce-checkout form.checkout #order_review table.shop_table {
        width: 100% !important;
        table-layout: fixed !important;
        margin-bottom: 16px !important;
    }

    body.woocommerce-checkout form.checkout #order_review table.shop_table th.product-name,
    body.woocommerce-checkout form.checkout #order_review table.shop_table td.product-name {
        width: 68% !important;
    }

    body.woocommerce-checkout form.checkout #order_review table.shop_table th.product-total,
    body.woocommerce-checkout form.checkout #order_review table.shop_table td.product-total {
        width: 32% !important;
        text-align: right !important;
    }

    body.woocommerce-checkout form.checkout .tt-checkout-coupon-box {
        min-height: 76px !important;
    }

    body.woocommerce-checkout form.checkout #payment {
        min-height: 168px !important;
    }
}

@media (min-width: 850px) and (max-width: 1120px) {
    body.woocommerce-checkout form.checkout > .row {
        grid-template-columns: minmax(500px, 1fr) 360px !important;
        column-gap: 24px !important;
        max-width: 960px !important;
    }

    body.woocommerce-checkout form.checkout > .row > .large-5,
    body.woocommerce-checkout form.checkout .large-5 > .col-inner {
        width: 360px !important;
        max-width: 360px !important;
    }
}

/* Checkout v33: coupon box after place order button. */
body.woocommerce-checkout .tt-checkout-coupon-after-submit {
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout form.checkout #payment .tt-checkout-coupon-after-submit .tt-checkout-coupon-box {
    margin-top: 0 !important;
    box-shadow: 0 7px 16px rgba(255, 75, 43, .06) !important;
}

body.woocommerce-checkout form.checkout #payment .tt-checkout-coupon-after-submit .tt-checkout-coupon-form {
    align-items: stretch !important;
}

@media (max-width: 849px) {
    body.woocommerce-checkout .tt-checkout-coupon-after-submit {
        margin-top: 12px !important;
    }
}

/* Checkout v35: hide redundant VietQR payment radio, keep default bank transfer selected. */
body.woocommerce-checkout form.checkout #payment .payment_method_tt_vietqr > input.input-radio,
body.woocommerce-checkout form.checkout #payment .payment_method_tt_vietqr > input#payment_method_tt_vietqr {
    display: none !important;
}

body.woocommerce-checkout form.checkout #payment .payment_method_tt_vietqr > label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}

body.woocommerce-checkout form.checkout #payment .payment_method_tt_vietqr {
    position: relative !important;
}

/* Checkout v36: hide WooCommerce optional text immediately. */
body.woocommerce-checkout form.checkout label .optional,
body.woocommerce-checkout form.checkout span.optional,
body.woocommerce-checkout form.checkout #order_comments_field label .optional {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Snippet #627 - 21 - WooCommerce shop & trang chủ */
/* 21 - WooCommerce Shop + Trang chủ: chỉ giữ CSS không liên quan cart/checkout */

.woocommerce-ordering > select {
    border-radius: 20px;
    background: #FFFFFF;
}

.woocommerce-result-count {
    display: none;
}

.category-page-row {
    padding-top: 10px;
    border-top: 1px dotted lightgray;
}

.widget_wpc_filters_widget {
    z-index: 9;
}

.sp-ban-chay {
    position: relative;
    z-index: 1;
}

.sp-ban-chay::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 11rem;
    background: #000D21;
}

.sp-ban-chay .flickity-prev-next-button svg {
    width: 72%;
}

.bo-anh img {
    border-radius: 6px;
}

.callout.badge.badge-circle {
    width: 60px;
    height: 1.8rem;
}

/* Snippet #624 - 10 - Giao diện - Header và tìm kiếm */
/* =========================================================
   THANG TIN STORE - HEADER, MENU, SEARCH CLEAN VERSION
   Hướng màu: Header trắng + đỏ cam điểm nhấn
   Đã bổ sung fix riêng nút Zalo trong header
========================================================= */

/* =========================================================
   01. BIẾN MÀU DÙNG CHUNG
========================================================= */
:root {
    --tt-primary: #FF4B2B;
    --tt-primary-dark: #D92D20;
    --tt-primary-hover: #E53935;
    --tt-text: #17243A;
    --tt-muted: #64748B;
    --tt-border: #E5E7EB;
    --tt-white: #FFFFFF;
    --tt-zalo: #0068FF;
    --tt-zalo-hover: #0056D6;
}


/* =========================================================
   02. HEADER CHÍNH
========================================================= */

/* Header chính nền trắng */
.header-main,
.header-bg-color {
    background: #FFFFFF !important;
}

/* Top bar dùng màu thương hiệu */
.header-top,
#top-bar.header-top {
    background: #FF4B2B !important;
}

.header-top a,
.header-top .nav > li > a,
.header-top .slides a {
    color: #FFFFFF !important;
}

/* Header bottom / menu dưới */
.header-bottom,
#wide-nav.header-bottom {
    background: #FFFFFF !important;
    border-bottom: 1px solid #E5E7EB !important;
}


/* =========================================================
   03. CĂN CHỈNH HEADER DESKTOP
========================================================= */

/* Căn giữa khu vực tìm kiếm desktop */
.header-inner .nav-left {
    justify-content: center !important;
}

/* Khối chứa search trong header */
.header-wrapper .html_top_right_text {
    width: 83%;
}

/* Tránh search desktop bị lệch quá trái */
@media (min-width: 850px) {
    .header-main .html_top_right_text {
        display: flex;
        justify-content: center;
    }

    .header-main .ttfps-search-form {
        width: 100%;
        max-width: 620px;
    }
}


/* =========================================================
   04. TÀI KHOẢN VÀ GIỎ HÀNG
========================================================= */

.header-cart-link,
.account-link,
.account-item > a {
    display: flex !important;
    flex-flow: row-reverse nowrap;
    align-items: center;
    justify-content: center;
    padding: 9px 10px !important;
    border: 1px solid #FF4B2B !important;
    border-radius: 8px;
    background: #FFFFFF !important;
    color: #FF4B2B !important;
}

.header-cart-link:hover,
.account-link:hover,
.account-item > a:hover {
    background: #FFF3F0 !important;
    color: #D92D20 !important;
    border-color: #D92D20 !important;
}

.header-cart-title,
.header-account-title,
.account-link span,
.account-item > a span {
    color: inherit !important;
}

.header-cart-link img {
    width: 26px;
}

.header-cart-title {
    margin-left: 8px;
}

.header-cart-icon {
    margin-left: 7px;
}


/* =========================================================
   05. FIX RIÊNG NÚT ZALO TRÊN HEADER
   Nút có dạng:
   a.button.plain.is-bevel.box-shadow-1.box-shadow-2-hover[href="#zalo-qr"]
========================================================= */

.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"],
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border: 1px solid var(--tt-zalo) !important;
    border-radius: 999px !important;
    background: var(--tt-zalo) !important;
    color: #FFFFFF !important;
    box-shadow: 0 8px 18px rgba(0, 104, 255, 0.18) !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 34px !important;
}

/* Chặn Flatsome phủ màu qua pseudo element */
.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"]::before,
.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"]::after,
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"]::before,
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"]::after {
    display: none !important;
    content: none !important;
}

/* Chữ bên trong nút Zalo */
.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"] span,
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"] span {
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Hover nút Zalo */
.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"]:hover,
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"]:hover {
    background: var(--tt-zalo-hover) !important;
    border-color: var(--tt-zalo-hover) !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(0, 104, 255, 0.24) !important;
    transform: translateY(-1px);
}

.header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"]:hover span,
.header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"]:hover span {
    color: #FFFFFF !important;
}


/* =========================================================
   06. ICON HEADER
========================================================= */

/* Icon menu/search/user theo header trắng */
.header-wrapper .icon-search::before,
.header-wrapper .icon-menu::before,
.header-wrapper .icon-user::before {
    color: #17243A !important;
}

/* Icon hover */
.header-wrapper a:hover .icon-search::before,
.header-wrapper a:hover .icon-menu::before,
.header-wrapper a:hover .icon-user::before {
    color: #FF4B2B !important;
}

/* Icon tài khoản chưa đăng nhập */
.nav-top-not-logged-in span::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: -4px 5px 0 0;
    vertical-align: middle;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z'/%3E%3C/svg%3E") center / contain no-repeat;
}

a.nav-top-not-logged-in {
    padding: 14px !important;
}


/* =========================================================
   07. TOPBAR TEXT SLIDER
========================================================= */

.header-wrapper .slider-container {
    display: flex;
    width: 100%;
    margin: 6px auto;
    align-items: center;
}

.header-wrapper .slides {
    width: 100%;
    overflow: hidden;
}

.header-wrapper .slide-wrapper {
    display: flex;
    transition: transform .5s ease;
}

.header-wrapper .slide {
    min-width: 100%;
    padding: 0;
    box-sizing: border-box;
    text-align: center;
}

.header-wrapper .slides a:hover {
    text-decoration: underline;
}

.header-wrapper .arrow-btn {
    display: flex;
    padding: 0;
    border: 0;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #FFFFFF !important;
    background: transparent !important;
}


/* =========================================================
   08. ẨN BLOCK / FOOTER MẶC ĐỊNH
========================================================= */

/* Ẩn block sau header nếu đang dùng để bỏ QR/block thừa */
.header-block.block-html-after-header.z-1 {
    display: none;
}

/* Ẩn footer bản quyền mặc định nếu muốn dùng footer riêng */
.absolute-footer {
    display: none !important;
}


/* =========================================================
   09. MOBILE
========================================================= */

@media (max-width: 849px) {
    .header-main,
    .header-bottom,
    #wide-nav.header-bottom {
        background: #FFFFFF !important;
    }

    .header-bottom {
        display: block;
    }

    .header-bottom .html_top_right_text {
        width: 100%;
    }

    .mobile-nav .account-link-mobile,
    .mobile-nav .header-cart-link {
        border-color: #FF4B2B !important;
        background: #FFFFFF !important;
        color: #FF4B2B !important;
    }

    .mobile-nav .icon-menu::before,
    .mobile-nav .icon-user::before {
        color: #17243A !important;
    }

    .nav-slide {
        padding-top: 0 !important;
    }

    .header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"],
    .header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"] {
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 12px !important;
        line-height: 32px !important;
    }

    .header-wrapper .header-button-1 .header-button a.button[href="#zalo-qr"] span,
    .header-wrapper li.html.header-button-1 a.button[href="#zalo-qr"] span {
        font-size: 12.5px !important;
    }
}


/* =========================================================
   10. TỪ KHÓA NỔI BẬT MOBILE
========================================================= */

@media (max-width: 549px) {
    .tu-khoa-noi-bat {
        --stack-gap: unset !important;
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        gap: 5px !important;
    }

    .tu-khoa-noi-bat a {
        --stack-gap: unset !important;
        width: 47% !important;
        margin-bottom: 10px !important;
        font-size: 15.5px;
    }
}

/* =========================================================
   11. HEADER SHADOW NHẸ HƠN
========================================================= */
.header-wrapper {
    box-shadow: 0 2px 12px rgba(15, 23, 42, .055) !important;
}

.header-wrapper .header-main,
.header-wrapper .header-bottom,
.header-wrapper #wide-nav.header-bottom {
    box-shadow: none !important;
}

.header-wrapper.stuck,
.stuck .header-wrapper,
.stuck .header-main {
    box-shadow: 0 3px 14px rgba(15, 23, 42, .07) !important;
}

@media (max-width: 849px) {
    .header-wrapper {
        box-shadow: 0 2px 10px rgba(15, 23, 42, .05) !important;
    }

    .header-wrapper.stuck,
    .stuck .header-wrapper,
    .stuck .header-main {
        box-shadow: 0 3px 12px rgba(15, 23, 42, .065) !important;
    }
}

/* Snippet #620 - 11 - Giao diện - Liên hệ nổi */
.widget-btn-list {
    position: fixed;
    right: 30px;
    bottom: 135px;
    z-index: 9999;
    width: 55px;
}

.widget-btn-list.left {
    right: auto;
    bottom: 60px;
    left: 15px;
}

.widget-btn-list a {
    position: relative;
    display: block !important;
    width: 55px;
    height: 55px;
    margin-bottom: 7px;
    border: 0 !important;
    border-radius: 50% !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    cursor: pointer;
}

.widget-btn-list .call {
    background-color: #f7a400 !important;
    background-image: url('https://thangtinstore.com/wp-content/uploads/2023/01/phone.svg') !important;
}

.widget-btn-list .telegram {
    background-color: #29b6f6 !important;
    background-image: url('https://thangtinstore.com/wp-content/uploads/2023/01/telegram.svg') !important;
}

.widget-btn-list .zalo {
    background-color: #0068ff !important;
    background-image: url('https://thangtinstore.com/wp-content/uploads/2023/01/zalo.svg') !important;
}

.widget-btn-list .tt-contact-mobile {
    display: none !important;
}

#zalo-qr {
    max-width: none !important;
    padding: 0 !important;
    background: transparent;
    box-shadow: none !important;
}

@media (max-width: 549px) {
    .widget-btn-list {
        right: 20px;
    }

    .widget-btn-list .tt-contact-desktop {
        display: none !important;
    }

    .widget-btn-list .tt-contact-mobile {
        display: block !important;
    }
}


/* Checkout mobile: hide floating contact buttons so they do not cover order details */
@media (max-width: 849px) {
    body.woocommerce-checkout .widget-btn-list,
    body.woocommerce-cart .widget-btn-list {
        display: none !important;
    }
}

/* Snippet #625 - 20 - WooCommerce - Trang chi tiết sản phẩm */
/* 20 - WooCommerce product detail: compact spacing + red orange UI */
.single-product .product-info {
    --tt-price: #D92D20;
    --tt-primary: #FF4B2B;
    --tt-primary-dark: #D92D20;
    --tt-primary-soft: #FFF3F0;
    --tt-text: #17243A;
    --tt-muted: #64748B;
    --tt-border: #E5E7EB;
    --tt-divider: #EEF2F7;
    --tt-control-border: #CBD5E1;
    --tt-star: #FF8A00;
    --tt-consult: #2F80ED;
    --tt-consult-dark: #1E6FD8;
    --tt-gap: 12px;
    --tt-gap-sm: 8px;
    --tt-gap-xs: 6px;
    --tt-divider-space: 10px;
    --tt-btn-height: 46px;
    --tt-input-height: 38px;
    --tt-option-height: 32px;
    --tt-cart-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.78a2 2 0 0 0 1.95-1.57L21 7H5.12'/%3E%3C/svg%3E");
    --tt-pay-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
    padding-top: 0;
    border-right: 0;
    color: var(--tt-text);
}

.single-product .product-summary {
    padding-right: 0;
    padding-bottom: 0 !important;
}

.single-product .page-title-inner {
    padding-top: 0;
}

.single-product .product-info .product_title {
    margin: 0 0 5px;
    padding: 0;
    color: var(--tt-text) !important;
    font-size: clamp(24px, 2.05vw, 29px) !important;
    font-weight: 800;
    line-height: 1.18 !important;
    letter-spacing: -0.01em;
}

.single-product .product-info .woocommerce-product-rating {
    display: inline-flex !important;
    flex-wrap: nowrap;
    gap: 0;
    align-items: center;
    justify-content: flex-start;
    width: auto !important;
    max-width: 100%;
    margin: 0 0 5px !important;
    line-height: 1.2;
}

.single-product .product-info .woocommerce-product-rating .star-rating {
    flex: 0 0 auto;
    margin: 0 6px 0 0 !important;
}

.single-product .product-info .star-rating::before,
.single-product .product-info .star-rating span::before,
.single-product .product-info .stars a {
    color: var(--tt-star) !important;
}

.single-product .product-info .woocommerce-review-link,
.single-product .product-info .woocommerce-review-link span {
    display: inline-flex !important;
    flex: 0 0 auto;
    margin: 0 !important;
    color: var(--tt-muted) !important;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}

.single-product .product-info .price {
    margin: 0 0 8px !important;
    color: var(--tt-price) !important;
    line-height: 1.18 !important;
}

.single-product .product-info .price,
.single-product .product-info .price .woocommerce-Price-amount,
.single-product .product-info .price ins .woocommerce-Price-amount {
    font-size: 24px !important;
    font-weight: 800 !important;
}

.single-product .product-info .price del,
.single-product .product-info .price del .woocommerce-Price-amount {
    color: #94A3B8 !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}

.single-product .product-info .price ins {
    text-decoration: none !important;
}

.single-product .product-info .product-short-description {
    margin: 0 0 var(--tt-gap) !important;
    font-size: 15px;
    line-height: 1.55;
}

.single-product .product-info .product-short-description p,
.single-product .show_note_wrap p {
    margin: 0;
}

.single-product .product-info .product-short-description ul {
    margin: var(--tt-gap-xs) 0 0 18px;
    padding: 0;
}

.single-product .product-info .product-short-description li {
    margin-bottom: 5px;
    line-height: 1.5;
}

.single-product .product-info .product-short-description li:last-child {
    margin-bottom: 0;
}

.single-product .entry-summary ul li {
    line-height: 1.4;
}

.single-product .product-info form.cart,
.single-product .product-info form.variations_form,
.single-product .product-info form.variations_form table.variations {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .product-info form.variations_form {
    display: block !important;
}

.single-product .product-info form.variations_form .single_variation_wrap,
.single-product .product-info form.variations_form .woocommerce-variation,
.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .product-info form.cart:not(.variations_form),
.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart,
.single-product .product-info .ux-swatches,
.single-product .wpclv-attributes .wpclv-terms {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: var(--tt-gap-xs);
    row-gap: var(--tt-gap-xs);
    align-items: center;
}

.single-product .product-info form.cart:not(.variations_form),
.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
    align-items: stretch;
}

.single-product .product-info form.cart .quantity,
.single-product .product-info form.cart .ux-quantity,
.single-product .product-info .reset_variations,
.single-product .woocommerce-product-attributes,
.single-product .product-footer .large-2 {
    display: none !important;
}

.single-product .product-info form.cart .single_add_to_cart_button,
.single-product .product-info form.cart .ux-buy-now-button {
    position: relative;
    flex: 1 1 calc(50% - 3px) !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: none !important;
    height: var(--tt-btn-height) !important;
    min-height: var(--tt-btn-height) !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid var(--tt-primary) !important;
    border-radius: 6px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px;
    box-shadow: none !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.single-product .product-info form.cart .single_add_to_cart_button {
    background: #FFFFFF !important;
    color: var(--tt-primary) !important;
}

.single-product .product-info form.cart .ux-buy-now-button {
    background: var(--tt-primary) !important;
    color: #FFFFFF !important;
}

.single-product .product-info form.cart .single_add_to_cart_button::before,
.single-product .product-info form.cart .ux-buy-now-button::before {
    content: "";
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    background: currentColor;
}

.single-product .product-info form.cart .single_add_to_cart_button::before {
    -webkit-mask: var(--tt-cart-icon) center/contain no-repeat;
    mask: var(--tt-cart-icon) center/contain no-repeat;
}

.single-product .product-info form.cart .ux-buy-now-button::before {
    -webkit-mask: var(--tt-pay-icon) center/contain no-repeat;
    mask: var(--tt-pay-icon) center/contain no-repeat;
}

.single-product .product-info form.cart .single_add_to_cart_button:hover {
    background: var(--tt-primary-soft) !important;
    color: var(--tt-primary-dark) !important;
}

.single-product .product-info form.cart .ux-buy-now-button:hover {
    background: var(--tt-primary-dark) !important;
    color: #FFFFFF !important;
}

.single-product .product-info form.cart .single_add_to_cart_button:hover,
.single-product .product-info form.cart .ux-buy-now-button:hover {
    border-color: var(--tt-primary-dark) !important;
    box-shadow: 0 8px 18px rgba(217, 45, 32, .14) !important;
    transform: translateY(-1px);
}

.single-product .product-info form.cart .single_add_to_cart_button:focus,
.single-product .product-info form.cart .ux-buy-now-button:focus {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(255, 75, 43, .16) !important;
}

.single-product .product-info form.cart .single_add_to_cart_button.disabled,
.single-product .product-info form.cart .single_add_to_cart_button:disabled,
.single-product .product-info form.cart .ux-buy-now-button.disabled,
.single-product .product-info form.cart .ux-buy-now-button:disabled {
    border-color: var(--tt-control-border) !important;
    background: #F1F5F9 !important;
    color: #94A3B8 !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: not-allowed !important;
}

.single-product .product-info form.cart .single_add_to_cart_button.loading {
    opacity: .86;
}

.single-product .product-info form.cart .single_add_to_cart_button.added::after {
    color: #FFFFFF !important;
}

.single-product .product-info .lienhetuvan,
.single-product .product-info #lien-he-tu-van {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    padding: 6px 14px !important;
    overflow: hidden;
    border: 1px solid var(--tt-consult) !important;
    border-radius: 7px;
    align-items: center;
    justify-content: center;
    gap: 2px;
    background: var(--tt-consult) !important;
    color: #FFFFFF !important;
    box-shadow: 0 5px 12px rgba(47, 128, 237, .16) !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.single-product .product-info form.cart .lienhetuvan,
.single-product .product-info form.cart #lien-he-tu-van,
.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart .lienhetuvan,
.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart #lien-he-tu-van {
    margin-top: 0 !important;
}

.single-product .product-info form.cart + .lienhetuvan,
.single-product .product-info form.cart + #lien-he-tu-van,
.single-product .product-info form.variations_form + .lienhetuvan,
.single-product .product-info form.variations_form + #lien-he-tu-van,
.single-product .product-info form.cart ~ .lienhetuvan,
.single-product .product-info form.cart ~ #lien-he-tu-van,
.single-product .product-info form.variations_form ~ .lienhetuvan,
.single-product .product-info form.variations_form ~ #lien-he-tu-van {
    margin-top: var(--tt-gap-xs) !important;
}

.single-product .product-info .lienhetuvan::before,
.single-product .product-info #lien-he-tu-van::before,
.single-product .product-info .lienhetuvan br,
.single-product .product-info #lien-he-tu-van br {
    display: none !important;
    content: none !important;
}

.single-product .product-info .lienhetuvan:hover,
.single-product .product-info #lien-he-tu-van:hover {
    border-color: var(--tt-consult-dark) !important;
    background: var(--tt-consult-dark) !important;
    box-shadow: 0 8px 18px rgba(47, 128, 237, .20) !important;
    transform: translateY(-1px);
}

.single-product .product-info .lienhetuvan > strong,
.single-product .product-info #lien-he-tu-van > strong {
    display: inline-flex;
    margin: 0;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #FFFFFF !important;
    font-size: 13.5px !important;
    font-weight: 800;
    line-height: 1.2;
    text-transform: none;
}

.single-product .product-info .lienhetuvan > strong::after,
.single-product .product-info #lien-he-tu-van > strong::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-top: 1px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.single-product .product-info .lienhetuvan > span,
.single-product .product-info #lien-he-tu-van > span {
    color: rgba(255, 255, 255, .9) !important;
    font-size: 11.5px !important;
    font-weight: 500;
    line-height: 1.3;
}

/* Final spacing guard: keep variable and simple product button areas consistent. */
body.single-product .product-info form.variations_form .single_variation_wrap,
body.single-product .product-info form.variations_form .woocommerce-variation,
body.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
    row-gap: var(--tt-gap-xs) !important;
}

body.single-product .product-info .woocommerce-variation-add-to-cart + .lienhetuvan,
body.single-product .product-info .woocommerce-variation-add-to-cart + #lien-he-tu-van {
    margin-top: var(--tt-gap-xs) !important;
}

/* Section dividers: separate description, options, and purchase actions. */
body.single-product .product-info .product-short-description + .wpclv-attributes,
body.single-product .product-info .product-short-description + form.cart:not(.variations_form),
body.single-product .product-info .product-short-description + form.variations_form {
    margin-top: 0 !important;
    padding-top: var(--tt-divider-space) !important;
    border-top: 1px solid var(--tt-divider) !important;
}

body.single-product .product-info .wpclv-attributes + form.cart,
body.single-product .product-info form.variations_form .single_variation_wrap {
    margin-top: var(--tt-divider-space) !important;
    padding-top: var(--tt-divider-space) !important;
    border-top: 1px solid var(--tt-divider) !important;
}

body.single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
    border-top: 0 !important;
}

.single-product .lien-he-zalo {
    text-align: center;
}

.single-product a.button.plain.is-bevel.box-shadow-1.box-shadow-2-hover {
    color: #FFFFFF;
}

.single-product .product-info form.variations_form table.variations,
.single-product .product-info form.variations_form table.variations tbody,
.single-product .product-info form.variations_form table.variations tr,
.single-product .product-info form.variations_form table.variations td,
.single-product .product-info form.variations_form table.variations th,
.single-product .product-info table.thwepo-extra-options,
.single-product .product-info table.thwepo-extra-options tbody,
.single-product .product-info table.thwepo-extra-options tr,
.single-product .product-info table.thwepo-extra-options td,
.single-product .product-info table.thwepo-extra-options th {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .product-info form.variations_form table.variations th.label,
.single-product .product-info form.variations_form table.variations td.label,
.single-product .product-info form.variations_form table.variations td.value {
    display: block;
    width: 100%;
}

.single-product .product-info form.variations_form table.variations tr,
.single-product .wpclv-attributes .wpclv-attribute {
    display: block;
    margin: 0 0 var(--tt-gap) !important;
    padding: 0 !important;
}

.single-product .product-info form.variations_form table.variations tr:last-child,
.single-product .wpclv-attributes .wpclv-attribute:last-child {
    margin-bottom: var(--tt-gap) !important;
}

.single-product .product-info form.variations_form table.variations th.label,
.single-product .product-info form.variations_form table.variations td.label,
.single-product .product-info form.variations_form table.variations td.value {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .product-info form.variations_form table.variations th.label,
.single-product .product-info form.variations_form table.variations td.label {
    padding-bottom: var(--tt-gap-xs) !important;
}

.single-product .product-info form.variations_form table.variations th.label label,
.single-product .product-info form.variations_form table.variations td.label label,
.single-product table.variations label,
.single-product .wpclv-attributes .wpclv-attribute-label,
.single-product .product-info table.thwepo-extra-options h3,
.single-product .product-info h3[name='thongtinbosung'] {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tt-text) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.single-product .wpclv-attributes,
.single-product .product-info .ux-swatches,
.single-product .wpclv-attributes .wpclv-terms {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .wpclv-attributes .wpclv-attribute-label {
    display: block;
    margin-bottom: var(--tt-gap-xs) !important;
}

.single-product .product-info .ux-swatch,
.single-product .wpclv-attributes .wpclv-term,
.single-product .wpclv-attributes .wpclv-term-button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: var(--tt-option-height) !important;
    min-height: var(--tt-option-height) !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 1px solid var(--tt-control-border) !important;
    border-radius: 6px !important;
    align-items: center;
    justify-content: center;
    background: #FFFFFF !important;
    color: var(--tt-text) !important;
    box-shadow: none !important;
    font-size: 13.5px !important;
    font-weight: 600;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.single-product .product-info .ux-swatch:hover,
.single-product .wpclv-attributes .wpclv-term:hover,
.single-product .wpclv-attributes .wpclv-term-button:hover {
    border-color: var(--tt-primary) !important;
    color: var(--tt-primary-dark) !important;
    box-shadow: 0 0 0 2px rgba(255, 75, 43, .10) !important;
}

.single-product .product-info .ux-swatch.selected,
.single-product .product-info .ux-swatch[aria-checked="true"],
.single-product .wpclv-attributes .wpclv-term.active,
.single-product .wpclv-attributes .wpclv-term-button.active {
    border-color: var(--tt-primary) !important;
    background: var(--tt-primary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 8px rgba(255, 75, 43, .22) !important;
    font-weight: 700;
}

.single-product .wpclv-attributes .wpclv-term span,
.single-product .wpclv-attributes .wpclv-term a,
.single-product .wpclv-attributes .wpclv-term-button span,
.single-product .wpclv-attributes .wpclv-term-button a {
    display: inline-flex !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
}

.single-product .product-info table.thwepo-extra-options {
    width: 100%;
    margin: 0 0 var(--tt-gap) !important;
    padding: 0 !important;
    border-collapse: collapse;
    border-spacing: 0;
}

.single-product .product-info table.thwepo-extra-options tr::before,
.single-product .product-info table.thwepo-extra-options tr::after,
.single-product .product-info table.thwepo-extra-options td::before,
.single-product .product-info table.thwepo-extra-options td::after {
    display: none !important;
    content: none !important;
}

.single-product .product-info table.thwepo-extra-options td.label {
    width: 72px;
    min-width: 72px;
    padding: 0 12px var(--tt-gap-sm) 0 !important;
    vertical-align: middle;
}

.single-product .product-info table.thwepo-extra-options td.value {
    padding: 0 0 var(--tt-gap-sm) !important;
    vertical-align: middle;
}

.single-product .product-info table.thwepo-extra-options tr:last-child td {
    padding-bottom: 0 !important;
}

.single-product .product-info table.thwepo-extra-options tr.thongtinbosung td {
    padding: 0 0 var(--tt-gap-xs) !important;
}

.single-product .product-info table.thwepo-extra-options .label-tag {
    margin: 0;
    color: var(--tt-text);
    font-size: 13px;
    font-weight: 700;
    line-height: var(--tt-input-height);
}

.single-product .product-info table.thwepo-extra-options input.thwepof-input-field {
    width: 100%;
    height: var(--tt-input-height);
    min-height: var(--tt-input-height);
    margin: 0;
    padding: 0 12px;
    border: 1px solid var(--tt-control-border) !important;
    border-radius: 7px;
    outline: 0;
    background: #FFFFFF !important;
    color: var(--tt-text) !important;
    box-shadow: none !important;
    font-size: 13.5px;
    font-weight: 500;
    line-height: var(--tt-input-height);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.single-product .product-info table.thwepo-extra-options input.thwepof-input-field:hover {
    border-color: #FFB3A6 !important;
}

.single-product .product-info table.thwepo-extra-options input.thwepof-input-field:focus {
    border-color: var(--tt-primary) !important;
    box-shadow: 0 0 0 3px rgba(255, 75, 43, .14) !important;
}

.single-product .product-info table.thwepo-extra-options input.thwepof-input-field:-webkit-autofill {
    -webkit-text-fill-color: var(--tt-text) !important;
    box-shadow: 0 0 0 1000px #FFFFFF inset !important;
    caret-color: var(--tt-text);
}

.single-product .dambao_wrap {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--tt-gap);
    padding: 10px;
    border: 1px solid var(--tt-border);
    border-radius: 10px;
    background: #FFFFFF;
}

.single-product .show_note_wrap {
    position: relative;
    margin: var(--tt-gap) 0;
    padding: 15px 15px 15px 45px;
    border-left: 4px solid var(--tt-primary);
    border-radius: 5px;
    background: #FFF7F5;
    color: var(--tt-text);
}

.single-product .show_note_wrap::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    width: 27px;
    height: 27px;
    transform: translateY(-50%);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23FF4B2B' d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.single-product .product-container,
.single-product .product-main,
.single-product .product-footer {
    padding-bottom: 0 !important;
}

.single-product .product-footer {
    margin-top: 16px !important;
    padding-top: 0 !important;
}

.single-product .product-footer .large-10 {
    flex-basis: 100%;
    max-width: 100%;
}

.single-product div#tab-description,
.single-product .woocommerce-Tabs-panel--description,
.single-product .product-page-accordian,
.single-product .entry-content {
    padding-top: 10px !important;
}

.single-product .woocommerce-tabs,
.single-product .product-tabs,
.single-product .woocommerce-Tabs {
    margin-top: 0 !important;
    padding-top: var(--tt-gap) !important;
    border-top: 1px solid var(--tt-border);
}

@media (max-width: 849px) {
    .single-product .product-info {
        --tt-btn-height: 44px;
        --tt-option-height: 31px;
        --tt-divider-space: 8px;
    }
}

@media (max-width: 549px) {
    .single-product .product-info {
        --tt-gap: 10px;
        --tt-gap-sm: 7px;
        --tt-gap-xs: 5px;
        --tt-btn-height: 42px;
        --tt-input-height: 36px;
        --tt-option-height: 30px;
        --tt-divider-space: 7px;
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .single-product .product-info,
    .single-product .product-info form.cart,
    .single-product .product-info form.variations_form,
    .single-product .product-info form.variations_form .single_variation_wrap,
    .single-product .product-info form.variations_form .woocommerce-variation-add-to-cart,
    .single-product .product-info table.thwepo-extra-options,
    .single-product .product-info .lienhetuvan,
    .single-product .product-info #lien-he-tu-van {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .single-product .product-info > *,
    .single-product .product-info form.cart,
    .single-product .product-info form.variations_form,
    .single-product .product-info form.variations_form .single_variation_wrap,
    .single-product .product-info form.variations_form .woocommerce-variation-add-to-cart {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .single-product .product-info .product_title {
        margin-bottom: 5px !important;
        font-size: 22px !important;
        line-height: 1.18 !important;
        letter-spacing: 0;
    }

    .single-product .product-info .woocommerce-product-rating {
        display: inline-flex !important;
        flex-wrap: nowrap;
        gap: 0;
        width: auto !important;
        margin-bottom: 4px !important;
        font-size: 13px;
        line-height: 1.15;
    }

    .single-product .product-info .woocommerce-product-rating .star-rating {
        margin-right: 5px !important;
    }

    .single-product .product-info .woocommerce-review-link,
    .single-product .product-info .woocommerce-review-link span {
        font-size: 13px;
        line-height: 1.15;
        white-space: nowrap;
    }

    .single-product .product-info .price {
        margin-bottom: 8px !important;
        line-height: 1.15 !important;
    }

    .single-product .product-info .price,
    .single-product .product-info .price .woocommerce-Price-amount,
    .single-product .product-info .price ins .woocommerce-Price-amount {
        font-size: 22px !important;
    }

    .single-product .product-info .price del,
    .single-product .product-info .price del .woocommerce-Price-amount {
        font-size: 17px !important;
    }

    .single-product .product-info .ux-swatch,
    .single-product .wpclv-attributes .wpclv-term,
    .single-product .wpclv-attributes .wpclv-term-button {
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 9px !important;
        font-size: 13px !important;
    }

    .single-product .product-info form.cart .single_add_to_cart_button,
    .single-product .product-info form.cart .ux-buy-now-button {
        flex: 1 1 calc(50% - 3px) !important;
        width: auto !important;
        max-width: none !important;
        height: var(--tt-btn-height) !important;
        min-height: var(--tt-btn-height) !important;
        padding: 0 10px !important;
        gap: 6px;
        font-size: 12.5px !important;
    }

    .single-product .product-info form.cart .single_add_to_cart_button::before,
    .single-product .product-info form.cart .ux-buy-now-button::before {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    .single-product .product-info .lienhetuvan,
    .single-product .product-info #lien-he-tu-van {
        min-height: 44px;
        padding: 5px 12px !important;
    }

    .single-product .product-info .lienhetuvan > strong,
    .single-product .product-info #lien-he-tu-van > strong {
        font-size: 12.5px !important;
    }

    .single-product .product-info .lienhetuvan > span,
    .single-product .product-info #lien-he-tu-van > span {
        font-size: 10.5px !important;
    }

    .single-product .product-info table.thwepo-extra-options {
        display: block !important;
        margin-bottom: var(--tt-gap-xs) !important;
    }

    .single-product .product-info table.thwepo-extra-options tbody {
        display: block !important;
        width: 100%;
    }

    .single-product .product-info table.thwepo-extra-options tr {
        display: grid !important;
        grid-template-columns: 56px minmax(0, 1fr);
        column-gap: 8px;
        width: 100%;
        margin: 0 0 var(--tt-gap-sm) !important;
        align-items: center;
    }

    .single-product .product-info table.thwepo-extra-options td {
        display: block !important;
        min-width: 0;
        padding: 0 !important;
        vertical-align: middle;
    }

    .single-product .product-info table.thwepo-extra-options tr.thongtinbosung {
        display: block !important;
        margin: 0 0 var(--tt-gap-xs) !important;
    }

    .single-product .product-info table.thwepo-extra-options tr.thongtinbosung td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .single-product .product-info table.thwepo-extra-options td.label {
        width: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        white-space: nowrap;
    }

    .single-product .product-info table.thwepo-extra-options td.value {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    .single-product .product-info table.thwepo-extra-options .label-tag {
        font-size: 12.5px;
        line-height: var(--tt-input-height);
    }

    .single-product .product-info table.thwepo-extra-options input.thwepof-input-field {
        display: block;
        width: 100% !important;
        max-width: none !important;
        height: var(--tt-input-height);
        min-height: var(--tt-input-height);
        margin: 0 !important;
        padding: 0 11px;
        font-size: 13px;
        line-height: var(--tt-input-height);
    }

    .single-product .product-info table.thwepo-extra-options tr:last-child td.value {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 380px) {
    .single-product .product-info .product_title {
        font-size: 21px !important;
    }

    .single-product .product-info .price,
    .single-product .product-info .price .woocommerce-Price-amount,
    .single-product .product-info .price ins .woocommerce-Price-amount {
        font-size: 21px !important;
    }
}

/* Rating hard override: keep stars and review count visually connected. */
body.single-product .product-info.summary .woocommerce-product-rating,
body.single-product .product-info .woocommerce-product-rating {
    display: inline-grid !important;
    grid-template-columns: max-content max-content !important;
    column-gap: 6px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: start !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    line-height: 1.15 !important;
}

body.single-product .product-info.summary .woocommerce-product-rating .star-rating,
body.single-product .product-info .woocommerce-product-rating .star-rating {
    float: none !important;
    display: inline-block !important;
    width: 5.4em !important;
    min-width: 5.4em !important;
    margin: 0 !important;
    line-height: 1 !important;
}

body.single-product .product-info.summary .woocommerce-product-rating .woocommerce-review-link,
body.single-product .product-info .woocommerce-product-rating .woocommerce-review-link {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

@media (max-width: 549px) {
    body.single-product .product-info.summary .woocommerce-product-rating,
    body.single-product .product-info .woocommerce-product-rating {
        column-gap: 5px !important;
        margin-bottom: 4px !important;
    }

    body.single-product .product-info.summary .woocommerce-product-rating .woocommerce-review-link,
    body.single-product .product-info .woocommerce-product-rating .woocommerce-review-link {
        font-size: 13px !important;
    }
}




/* Product breadcrumb desktop font and spacing. */
body.single-product .rank-math-breadcrumb {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #64748B !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
}

body.single-product .rank-math-breadcrumb p {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .rank-math-breadcrumb a,
body.single-product .rank-math-breadcrumb span {
    color: #64748B !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body.single-product .rank-math-breadcrumb .separator {
    margin: 0 3px !important;
    color: #CBD5E1 !important;
    font-weight: 700 !important;
}

/* Mobile product top rhythm: image -> breadcrumb -> title. */
@media (max-width: 549px) {
    body.single-product .product-main {
        padding-top: 4px !important;
    }

    body.single-product .product-gallery {
        padding-bottom: 12px !important;
    }

    body.single-product .product-info {
        padding-top: 0 !important;
    }

    body.single-product .rank-math-breadcrumb {
        display: block !important;
        margin: 0 0 7px !important;
        padding: 0 !important;
        color: #64748B !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-transform: none !important;
    }

    body.single-product .rank-math-breadcrumb p {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product .rank-math-breadcrumb a,
    body.single-product .rank-math-breadcrumb span {
        color: #64748B !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
    }

    body.single-product .rank-math-breadcrumb .separator {
        margin: 0 2px !important;
        color: #CBD5E1 !important;
        font-weight: 700 !important;
    }

    body.single-product .product-info .product_title {
        margin: 0 0 7px !important;
        font-size: 20px !important;
        font-weight: 850 !important;
        line-height: 1.24 !important;
        letter-spacing: 0 !important;
    }

    body.single-product .product-info .woocommerce-product-rating {
        margin-bottom: 5px !important;
    }

    body.single-product .product-info .price {
        margin-bottom: 9px !important;
    }

    body.single-product .product-info .product-short-description {
        margin-bottom: 10px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    body.single-product .product-info .product-short-description ul {
        margin-top: 5px !important;
    }

    body.single-product .product-info .product-short-description li {
        margin-bottom: 4px !important;
    }

    body.single-product .widget-btn-list {
        right: 10px !important;
        bottom: 82px !important;
        width: 46px !important;
    }

    body.single-product .widget-btn-list a {
        width: 46px !important;
        height: 46px !important;
        margin-bottom: 6px !important;
        background-size: 22px auto !important;
        box-shadow: 0 6px 14px rgba(15, 23, 42, .14) !important;
    }
}

@media (max-width: 380px) {
    body.single-product .rank-math-breadcrumb,
    body.single-product .rank-math-breadcrumb a,
    body.single-product .rank-math-breadcrumb span {
        font-size: 12px !important;
    }

    body.single-product .product-info .product_title {
        font-size: 19.5px !important;
    }
}

/* Product main and related sidebar spacing polish. */
body.single-product .product-main {
    padding-top: 14px !important;
    padding-bottom: 4px !important;
}

body.single-product #product-sidebar {
    padding-bottom: 8px !important;
}

body.single-product #product-sidebar .widget,
body.single-product #product-sidebar .widget_products,
body.single-product #product-sidebar .product_list_widget {
    margin-bottom: 12px !important;
}

body.single-product #product-sidebar .widget-title,
body.single-product #product-sidebar span.widget-title {
    margin-bottom: 12px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

@media (max-width: 849px) {
    body.single-product .product-main {
        padding-top: 10px !important;
        padding-bottom: 12px !important;
    }
}

@media (max-width: 549px) {
    body.single-product .product-main {
        padding-top: 6px !important;
        padding-bottom: 10px !important;
    }
}

/* Product footer and long description spacing balance. */
body.single-product .product-footer {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.single-product .product-page-sections,
body.single-product .product-section {
    margin-top: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 0 !important;
}

body.single-product .product-section .row {
    margin-bottom: 0 !important;
}

body.single-product .product-section .large-10,
body.single-product .product-section .large-10.col,
body.single-product .product-section .large-10.col.pb-0,
body.single-product .product-section .large-10.col.pb-0.mb-0 {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.single-product div#tab-description,
body.single-product .woocommerce-Tabs-panel--description,
body.single-product .product-page-accordian,
body.single-product .panel.entry-content,
body.single-product .entry-content {
    padding-top: 6px !important;
    padding-bottom: 14px !important;
}

body.single-product .woocommerce-tabs,
body.single-product .product-tabs,
body.single-product .woocommerce-Tabs {
    margin-top: 0 !important;
    padding-top: 8px !important;
}

@media (max-width: 849px) {
    body.single-product .product-main {
        padding-bottom: 6px !important;
    }

    body.single-product .product-page-sections,
    body.single-product .product-section {
        padding-top: 6px !important;
    }

    body.single-product div#tab-description,
    body.single-product .woocommerce-Tabs-panel--description,
    body.single-product .product-page-accordian,
    body.single-product .panel.entry-content,
    body.single-product .entry-content {
        padding-top: 6px !important;
        padding-bottom: 12px !important;
    }
}

/* Snippet #622 - 32 - WooCommerce - CSS tính năng sản phẩm */
.product-features-container {
    display: grid;
    gap: 14px;
    margin: 20px 0;
}

.product-features-container .product-feature-item {
    display: flex;
    align-items: flex-start;
    margin: 0;
}

.product-features-container .icon-box-img {
    flex: 0 0 35px;
    width: 35px;
    margin-right: 15px;
}

.product-features-container .icon-box-img img {
    display: block;
    width: 35px;
    height: 35px;
    object-fit: contain;
}

.product-features-container .icon-box-text {
    min-width: 0;
}

.product-features-container .icon-box-text p {
    margin: 0;
    line-height: 1.4;
}

.product-features-container .product-feature-title {
    margin-bottom: 3px;
    font-weight: 700;
}

@media (max-width: 549px) {
    .product-features-container {
        gap: 12px;
    }
}

/* Snippet #623 - 90 - Trang bảo trì */
body:has(.ttsx-maint-v2) .header-wrapper,
body:has(.ttsx-maint-v2) #masthead,
body:has(.ttsx-maint-v2) .footer-wrapper,
body:has(.ttsx-maint-v2) .absolute-footer,
body:has(.ttsx-maint-v2) .page-title,
body:has(.ttsx-maint-v2) .breadcrumbs,
body:has(.ttsx-maint-v2) #button-contact-vr,
body:has(.ttsx-maint-v2) .button-contact,
body:has(.ttsx-maint-v2) .devvn_float_contact,
body:has(.ttsx-maint-v2) .devvn_float_left_right_ads,
body:has(.ttsx-maint-v2) .hotline-phone-ring-wrap,
body:has(.ttsx-maint-v2) .zalo-container,
body:has(.ttsx-maint-v2) .quick-alo-phone,
body:has(.ttsx-maint-v2) .floating-buttons,
body:has(.ttsx-maint-v2) .float-contact,
body:has(.ttsx-maint-v2) .widget-btn-list {
  display: none !important;
}

body:has(.ttsx-maint-v2) #main,
body:has(.ttsx-maint-v2) .page-wrapper,
body:has(.ttsx-maint-v2) .content-area,
body:has(.ttsx-maint-v2) .entry-content,
body:has(.ttsx-maint-v2) .section,
body:has(.ttsx-maint-v2) .section-content,
body:has(.ttsx-maint-v2) .row,
body:has(.ttsx-maint-v2) .col {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}

.ttsx-maint-v2 {
  --tts-red: #d70018;
  --tts-red-2: #ff3b4d;
  --tts-yellow: #ffb000;
  --tts-zalo: #0068ff;
  --tts-telegram: #229ed9;
  --tts-phone: #22c55e;
  --tts-border: rgba(255,255,255,.15);

  width: 100vw !important;
  min-height: 100svh !important;
  margin-left: calc(50% - 50vw) !important;
  padding: 18px !important;
  color: #fff !important;
  font-family: 'Roboto', 'Segoe UI', Arial, sans-serif !important;
  background:
    radial-gradient(circle at 12% 14%, rgba(255,176,0,.13), transparent 27%),
    radial-gradient(circle at 88% 10%, rgba(255,59,77,.24), transparent 32%),
    linear-gradient(135deg, #190207 0%, #790010 48%, #150207 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-x: hidden !important;
}

.ttsx-maint-v2,
.ttsx-maint-v2 * {
  box-sizing: border-box !important;
}

.ttsx-maint-v2 br {
  display: none !important;
}

.ttsx-maint-v2 p {
  margin: 0 !important;
  padding: 0 !important;
}

.ttsx-shell {
  width: min(1080px, 100%) !important;
  margin: 0 auto !important;
}

.ttsx-top {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}

.ttsx-brand,
.ttsx-top-link {
  height: 58px !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 16px !important;
  border-radius: 20px !important;
  border: 1px solid var(--tts-border) !important;
  background: rgba(255,255,255,.10) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(14px) !important;
}

.ttsx-brand {
  flex: 0 1 auto !important;
}

.ttsx-top-link {
  flex: 0 0 auto !important;
  justify-content: center !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.ttsx-top-link:hover {
  color: #fff !important;
  text-decoration: none !important;
  filter: brightness(1.04) !important;
}

.ttsx-top-link img {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  display: block !important;
  flex: 0 0 20px !important;
}

.ttsx-logo {
  position: relative !important;
  width: 43px !important;
  height: 43px !important;
  flex: 0 0 43px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, var(--tts-red-2), var(--tts-red)) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

.ttsx-logo::after {
  content: "" !important;
  position: absolute !important;
  right: -2px !important;
  bottom: -2px !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #22c55e !important;
  border: 3px solid #5d0712 !important;
}

.ttsx-brand-title {
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

.ttsx-brand-sub {
  color: rgba(255,255,255,.76) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin-top: 4px !important;
}

.ttsx-card {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 370px !important;
  gap: 28px !important;
  align-items: center !important;
  padding: 34px !important;
  border-radius: 30px !important;
  border: 1px solid var(--tts-border) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.06)),
    rgba(43,4,11,.58) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.32) !important;
  backdrop-filter: blur(18px) !important;
}

.ttsx-left {
  min-width: 0 !important;
}

.ttsx-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.ttsx-badge::before {
  content: "" !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 0 0 6px rgba(255,255,255,.12) !important;
}

.ttsx-title {
  color: #fff !important;
  font-size: clamp(36px, 4.1vw, 54px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  margin: 0 0 16px !important;
}

.ttsx-title span {
  color: var(--tts-yellow) !important;
}

.ttsx-desc {
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 500 !important;
  margin: 0 !important;
  max-width: 600px !important;
}

.ttsx-progress {
  max-width: 600px !important;
  margin-top: 22px !important;
  padding: 13px !important;
  border-radius: 18px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.ttsx-progress-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  margin-bottom: 9px !important;
}

.ttsx-progress-bar {
  height: 10px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.16) !important;
}

.ttsx-progress-bar span {
  display: block !important;
  height: 100% !important;
  width: 72% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #fff, var(--tts-yellow), var(--tts-red-2)) !important;
  animation: ttsxProgress 2.7s ease-in-out infinite alternate !important;
}

.ttsx-actions {
  width: 100% !important;
  max-width: 600px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.ttsx-btn {
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  border-radius: 16px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  transition: .18s ease !important;
}

.ttsx-btn:hover {
  transform: translateY(-2px) !important;
  color: #fff !important;
  text-decoration: none !important;
  filter: brightness(1.04) !important;
}

.ttsx-btn img {
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
  object-fit: contain !important;
  display: block !important;
}

.ttsx-btn-zalo {
  background: var(--tts-zalo) !important;
  box-shadow: 0 14px 28px rgba(0,104,255,.26) !important;
}

.ttsx-btn-telegram {
  background: var(--tts-telegram) !important;
  box-shadow: 0 14px 28px rgba(34,158,217,.26) !important;
}

.ttsx-btn-phone {
  background: var(--tts-phone) !important;
  box-shadow: 0 14px 28px rgba(34,197,94,.26) !important;
}

.ttsx-services {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

.ttsx-service {
  min-height: 94px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.ttsx-service-title {
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  margin: 0 0 6px !important;
}

.ttsx-service-text {
  color: rgba(255,255,255,.72) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

.ttsx-right {
  display: grid !important;
  gap: 16px !important;
  justify-items: stretch !important;
}

.ttsx-visual {
  width: 100% !important;
  min-height: 230px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 26px !important;
  border: 1px solid var(--tts-border) !important;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,.16), transparent 42%),
    rgba(255,255,255,.075) !important;
  position: relative !important;
  overflow: hidden !important;
}

.ttsx-visual::before {
  content: "" !important;
  position: absolute !important;
  width: 190px !important;
  height: 190px !important;
  border-radius: 50% !important;
  border: 2px dashed rgba(255,255,255,.15) !important;
  animation: ttsxSpin 24s linear infinite !important;
}

.ttsx-server {
  position: relative !important;
  z-index: 2 !important;
  width: 185px !important;
  height: 132px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, #ff5a64, #8f101e 58%, #3b050b) !important;
  box-shadow: 0 26px 35px rgba(0,0,0,.32) !important;
  display: grid !important;
  gap: 10px !important;
  padding: 23px !important;
  animation: ttsxFloat 4.5s ease-in-out infinite !important;
}

.ttsx-server-row {
  height: 21px !important;
  border-radius: 8px !important;
  background: rgba(55,0,8,.55) !important;
  position: relative !important;
}

.ttsx-server-row::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  transform: translateY(-50%) !important;
  border-radius: 50% !important;
  background: #22c55e !important;
}

.ttsx-server-row:nth-child(2)::before {
  background: var(--tts-yellow) !important;
}

.ttsx-server-row:nth-child(3)::before {
  background: var(--tts-red-2) !important;
}

.ttsx-server-row::after {
  content: "" !important;
  position: absolute !important;
  left: 34px !important;
  top: 50% !important;
  width: 70px !important;
  height: 5px !important;
  transform: translateY(-50%) !important;
  border-radius: 99px !important;
  background: rgba(255,255,255,.65) !important;
}

.ttsx-flash {
  position: absolute !important;
  right: -17px !important;
  bottom: 22px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--tts-red-2) !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 12px 28px rgba(255,59,77,.38) !important;
}

.ttsx-flash::before {
  content: "⚡" !important;
  color: #fff !important;
  font-size: 27px !important;
  font-weight: 900 !important;
}

.ttsx-contact {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px !important;
  border-radius: 24px !important;
  background: rgba(0,0,0,.25) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.ttsx-qr {
  width: 104px !important;
  height: 104px !important;
  padding: 8px !important;
  border-radius: 18px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}

.ttsx-qr img {
  width: 88px !important;
  height: 88px !important;
  max-width: 88px !important;
  max-height: 88px !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: 8px !important;
}

.ttsx-contact-info {
  min-width: 0 !important;
}

.ttsx-contact-title {
  text-align: left !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
  margin: 0 0 10px !important;
}

.ttsx-contact-row {
  display: grid !important;
  grid-template-columns: 18px 66px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 6px 0 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.ttsx-contact-row img {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
  display: block !important;
}

.ttsx-contact-row span {
  color: rgba(255,255,255,.72) !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.ttsx-contact-row a {
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ttsx-footer {
  text-align: center !important;
  color: rgba(255,255,255,.58) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin-top: 14px !important;
  font-weight: 500 !important;
}

@keyframes ttsxProgress {
  from { width: 50%; }
  to { width: 86%; }
}

@keyframes ttsxFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes ttsxSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1100px) {
  .ttsx-card {
    grid-template-columns: 1fr !important;
  }

  .ttsx-left {
    text-align: center !important;
  }

  .ttsx-desc,
  .ttsx-progress,
  .ttsx-actions {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ttsx-right {
    max-width: 430px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 768px) {
  .ttsx-maint-v2 {
    align-items: flex-start !important;
    padding: 10px !important;
  }

  .ttsx-top {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .ttsx-brand,
  .ttsx-top-link {
    width: 100% !important;
    justify-content: center !important;
  }

  .ttsx-card {
    padding: 18px !important;
    border-radius: 24px !important;
    gap: 22px !important;
  }

  .ttsx-title {
    font-size: 31px !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
  }

  .ttsx-desc {
    font-size: 14.5px !important;
    line-height: 1.68 !important;
  }

  .ttsx-progress-head {
    font-size: 12px !important;
  }

  .ttsx-actions {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  .ttsx-btn {
    height: 54px !important;
    font-size: 15px !important;
  }

  .ttsx-services {
    grid-template-columns: 1fr !important;
  }

  .ttsx-service {
    min-height: auto !important;
  }

  .ttsx-visual {
    min-height: 205px !important;
  }

  .ttsx-server {
    animation: none !important;
  }

  .ttsx-contact {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    justify-items: center !important;
  }

  .ttsx-contact-title {
    text-align: center !important;
  }

  .ttsx-contact-row {
    grid-template-columns: 18px 64px auto !important;
    justify-content: center !important;
    text-align: left !important;
  }
}

@media (max-width: 390px) {
  .ttsx-card {
    padding: 15px !important;
  }

  .ttsx-title {
    font-size: 27px !important;
  }

  .ttsx-brand-title {
    font-size: 15px !important;
  }

  .ttsx-brand-sub {
    font-size: 11px !important;
  }

  .ttsx-btn {
    font-size: 14px !important;
  }
}
