/* ========================================
   RT RECOVERY - WOOCOMMERCE
   Carrinho, checkout, minha conta, pedidos e formulários
   no padrão visual do tema RT Recovery.
======================================== */

.woocommerce-account .container,
.woocommerce-checkout .container,
.woocommerce-cart .container,
.woocommerce-order-received .container,
.woocommerce-view-order .container,
.woocommerce-edit-account .container,
.woocommerce-edit-address .container,
.woocommerce-lost-password .container {
    width: min(var(--rt-site-container), calc(100% - 40px));
    max-width: none;
    margin: 40px auto;
    padding: 0;
}

.woocommerce-account .rt-page-content,
.woocommerce-checkout .rt-page-content,
.woocommerce-cart .rt-page-content,
.woocommerce-order-received .rt-page-content,
.woocommerce-view-order .rt-page-content,
.woocommerce-edit-account .rt-page-content,
.woocommerce-edit-address .rt-page-content,
.woocommerce-lost-password .rt-page-content {
    width: 100%;
}

.woocommerce-account .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-order-received .woocommerce,
.woocommerce-view-order .woocommerce,
.woocommerce-edit-account .woocommerce,
.woocommerce-edit-address .woocommerce,
.woocommerce-lost-password .woocommerce {
    color: #ffffff;
}

.woocommerce-account h1,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout h3,
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart h3,
.woocommerce-order-received h1,
.woocommerce-order-received h2,
.woocommerce-order-received h3,
.woocommerce-view-order h1,
.woocommerce-view-order h2,
.woocommerce-view-order h3,
.woocommerce-edit-account h1,
.woocommerce-edit-account h2,
.woocommerce-edit-account h3,
.woocommerce-edit-address h1,
.woocommerce-edit-address h2,
.woocommerce-edit-address h3,
.woocommerce-lost-password h1,
.woocommerce-lost-password h2,
.woocommerce-lost-password h3 {
    color: #ffffff;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.woocommerce-account h2,
.woocommerce-checkout h2,
.woocommerce-cart h2,
.woocommerce-order-received h2,
.woocommerce-view-order h2,
.woocommerce-edit-account h2,
.woocommerce-edit-address h2,
.woocommerce-lost-password h2 {
    margin-bottom: 14px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    border-top: 0 !important;
    background: linear-gradient(135deg, #111111 0%, #1a1a1a 58%, #050505 100%) !important;
    color: #ffffff !important;
    border-radius: 16px;
    border: 1px solid rgba(255, 74, 0, 0.28) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
    padding: 18px 22px 18px 52px !important;
}

.woocommerce-error {
    border-color: rgba(255, 74, 0, 0.52) !important;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
    color: #ff4a00 !important;
    top: 18px !important;
}

.woocommerce-info a,
.woocommerce-message a,
.woocommerce-error a {
    color: #ff4a00 !important;
    font-weight: 800;
    text-decoration: none !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #payment #place_order,
.woocommerce .cart .button,
.woocommerce .cart input.button {
    background: #ff4a00 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 13px 18px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(255, 74, 0, 0.24);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #payment #place_order:hover,
.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover {
    background: #d94100 !important;
    color: #ffffff !important;
}

.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce input.button.disabled,
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button:disabled[disabled],
.woocommerce input.button:disabled[disabled] {
    background: #343434 !important;
    color: rgba(255, 255, 255, 0.45) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce form .form-row span,
.woocommerce-page form .form-row span {
    color: rgba(255, 255, 255, 0.88);
    font-weight: 700;
    margin-bottom: 6px;
}

.woocommerce form .form-row .required {
    color: #ff4a00;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select,
.select2-container--default .select2-selection--single {
    min-height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    padding: 10px 12px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.woocommerce form .form-row textarea,
.woocommerce-page form .form-row textarea {
    min-height: 110px;
}

.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #ffffff !important;
    line-height: 26px !important;
    padding-left: 0 !important;
}

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

.select2-dropdown {
    background: #111111 !important;
    border-color: rgba(255, 74, 0, 0.32) !important;
    color: #ffffff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background: #ff4a00 !important;
    color: #ffffff !important;
}

.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    background: #252525 !important;
    color: #ffffff !important;
}

.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.edit-account,
.woocommerce form.woocommerce-EditAccountForm,
.woocommerce form.woocommerce-address-fields,
.woocommerce .woocommerce-customer-details address,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-order-downloads,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart table.shop_table,
.woocommerce table.shop_table,
.woocommerce-order ul.order_details,
.woocommerce .woocommerce-order-overview {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 74, 0, 0.18), transparent 34%),
        linear-gradient(145deg, #151515 0%, #0d0d0d 58%, #040404 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 18px !important;
    padding: 22px !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
    border-color: rgba(255, 74, 0, 0.20) !important;
}

.woocommerce table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
}

.woocommerce table.shop_table thead,
.woocommerce table.shop_table tfoot th {
    background: rgba(255, 74, 0, 0.12);
}

.woocommerce table.shop_table th {
    color: #ffffff;
    font-weight: 800;
    border-top: 0 !important;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
    border-top-color: rgba(255, 255, 255, 0.09) !important;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table td span,
.woocommerce table.shop_table td small,
.woocommerce table.shop_table td strong,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    color: rgba(255, 255, 255, 0.88);
}

.woocommerce table.shop_table a,
.woocommerce table.shop_table .product-name a,
.woocommerce-cart table.cart .product-name a,
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout-review-order-table .product-name a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800;
}

.woocommerce table.shop_table a:hover,
.woocommerce table.shop_table .product-name a:hover,
.woocommerce-cart table.cart .product-name a:hover {
    color: #ff4a00 !important;
    text-decoration: none !important;
}

.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-checkout-review-order-table .order-total .amount,
.woocommerce table.shop_table .amount {
    color: #ff4a00 !important;
    font-weight: 900;
}

.woocommerce a.remove,
.woocommerce-cart table.cart a.remove {
    width: 34px;
    height: 34px;
    line-height: 31px;
    border-radius: 10px;
    background: rgba(255, 74, 0, 0.12) !important;
    color: #ff4a00 !important;
    border: 1px solid rgba(255, 74, 0, 0.28);
    text-decoration: none !important;
    font-size: 23px;
    font-weight: 900;
}

.woocommerce a.remove:hover,
.woocommerce-cart table.cart a.remove:hover {
    background: #ff4a00 !important;
    color: #ffffff !important;
}

/* Login unificado */
.rt-rizhort-unified-login,
.rt-checkout-unified-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 22px;
    padding: 18px 20px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 8% 0%, rgba(255, 74, 0, 0.18), transparent 32%),
        linear-gradient(135deg, #0b0b0b 0%, #171717 52%, #050505 100%);
    color: #ffffff;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(255, 74, 0, 0.28);
}

.rt-rizhort-unified-login strong,
.rt-checkout-unified-card strong {
    display: block;
    color: #ff4a00;
    font-size: 17px;
    margin-bottom: 5px;
}

.rt-rizhort-unified-login p,
.rt-checkout-unified-card span {
    display: block;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.45;
}

.rt-google-login-button,
.rt-checkout-unified-card a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 10px;
    background: #ff4a00;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(255, 74, 0, 0.20);
}

.rt-google-login-button:hover,
.rt-checkout-unified-card a:hover {
    background: #ffffff;
    color: #111111 !important;
}

/* Pop-up Conta única Rizhort */
.rt-rizhort-account-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rt-rizhort-account-modal.rt-is-hidden {
    opacity: 0;
    pointer-events: none;
}

.rt-rizhort-account-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
}

.rt-rizhort-account-modal__box {
    position: relative;
    width: min(520px, 100%);
    border-radius: 22px;
    padding: 28px;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 74, 0, 0.22), transparent 36%),
        linear-gradient(145deg, #171717 0%, #0b0b0b 62%, #030303 100%);
    border: 1px solid rgba(255, 74, 0, 0.34);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
    color: #ffffff;
}

.rt-rizhort-account-modal__box strong {
    display: block;
    color: #ff4a00;
    font-size: 24px;
    line-height: 1.1;
    margin: 0 42px 12px 0;
}

.rt-rizhort-account-modal__box p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.55;
    font-size: 15px;
}

.rt-rizhort-account-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 24px;
    line-height: 30px;
    cursor: pointer;
}

.rt-rizhort-account-modal__button {
    min-height: 42px;
    padding: 0 18px;
    border: none;
    border-radius: 10px;
    background: #ff4a00;
    color: #ffffff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(255, 74, 0, 0.22);
}

/* Minha Conta */
.woocommerce-account .woocommerce {
    display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 250px;
    float: left;
    margin: 0 24px 24px 0;
    background: linear-gradient(145deg, #151515, #050505);
    border: 1px solid rgba(255, 74, 0, 0.22);
    border-radius: 18px;
    padding: 12px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0 0 6px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 11px 12px;
    border-radius: 11px;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none !important;
    font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: #ff4a00;
    color: #ffffff;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: calc(100% - 274px);
    min-height: 280px;
}

.woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce-account .woocommerce-MyAccount-content address,
.woocommerce-account .woocommerce-MyAccount-content li,
.woocommerce-account .woocommerce-MyAccount-content span,
.woocommerce-account .woocommerce-MyAccount-content strong {
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.55;
}

.woocommerce-account .woocommerce-MyAccount-content a {
    color: #ff4a00;
    text-decoration: none !important;
    font-weight: 800;
}

.woocommerce-account .woocommerce-MyAccount-content mark {
    background: rgba(255, 74, 0, 0.18);
    color: #ffffff;
    padding: 2px 5px;
    border-radius: 5px;
}

/* Checkout */
.woocommerce-checkout .col2-set,
.woocommerce-checkout .woocommerce-checkout-review-order {
    margin-top: 18px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 74, 0, 0.14), transparent 34%),
        linear-gradient(145deg, #151515 0%, #0d0d0d 58%, #040404 100%);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
    color: #ffffff;
}

.woocommerce-checkout #payment {
    margin-top: 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom-color: rgba(255, 255, 255, 0.10) !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods label,
.woocommerce-checkout #payment ul.payment_methods span {
    color: rgba(255, 255, 255, 0.88) !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.86) !important;
    border-radius: 14px !important;
}

.woocommerce-checkout #payment div.payment_box p {
    color: rgba(255, 255, 255, 0.86) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper p,
.woocommerce-privacy-policy-text p {
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.5;
}

.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-privacy-policy-text a {
    color: #ff4a00;
    text-decoration: none !important;
    font-weight: 800;
}

/* Carrinho */
.woocommerce-cart table.cart img {
    width: 76px;
    border-radius: 12px;
    background: #f4f4f4;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.woocommerce-cart table.cart td.actions {
    background: rgba(255, 255, 255, 0.04);
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    min-width: 220px;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
}

.woocommerce-cart .quantity .qty {
    min-height: 40px;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-weight: 800;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    color: #ffffff;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    text-align: center;
    font-size: 16px;
}

/* Pedidos e detalhes */
.woocommerce-order-overview li,
.woocommerce-order ul.order_details li,
.woocommerce-customer-details address,
.woocommerce-order-details p,
.woocommerce-order p {
    color: rgba(255, 255, 255, 0.88) !important;
}

.woocommerce-order-overview strong,
.woocommerce-order ul.order_details strong {
    color: #ff4a00 !important;
}

@media (max-width: 900px) {
    .rt-rizhort-unified-login,
    .rt-checkout-unified-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        float: none;
        margin-right: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 18px;
    }
}

@media (max-width: 768px) {
    .woocommerce table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr {
        background: rgba(255, 255, 255, 0.04);
        border-radius: 12px;
        margin-bottom: 12px;
        overflow: hidden;
    }

    .woocommerce table.shop_table_responsive tr td::before,
    .woocommerce-page table.shop_table_responsive tr td::before {
        color: #ff4a00;
        font-weight: 900;
    }
}

@media (max-width: 640px) {
    .woocommerce-account .container,
    .woocommerce-checkout .container,
    .woocommerce-cart .container,
    .woocommerce-order-received .container,
    .woocommerce-view-order .container,
    .woocommerce-edit-account .container,
    .woocommerce-edit-address .container,
    .woocommerce-lost-password .container {
        width: min(100% - 24px, 100%);
        margin: 28px auto;
    }

    .woocommerce form.checkout,
    .woocommerce form.login,
    .woocommerce form.register,
    .woocommerce form.lost_reset_password,
    .woocommerce form.edit-account,
    .woocommerce form.woocommerce-EditAccountForm,
    .woocommerce form.woocommerce-address-fields,
    .woocommerce .woocommerce-customer-details address,
    .woocommerce .woocommerce-order-details,
    .woocommerce .woocommerce-order-downloads,
    .woocommerce .woocommerce-MyAccount-content,
    .woocommerce-checkout-review-order,
    .woocommerce-checkout #payment,
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart table.shop_table,
    .woocommerce table.shop_table,
    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2,
    .woocommerce-order ul.order_details,
    .woocommerce .woocommerce-order-overview {
        padding: 16px !important;
        border-radius: 14px !important;
    }

    .rt-google-login-button,
    .rt-checkout-unified-card a {
        width: 100%;
    }

    .rt-rizhort-account-modal__box {
        padding: 24px 20px;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text,
    .woocommerce-cart table.cart td.actions .coupon .button {
        width: 100% !important;
        margin: 0 0 10px !important;
    }
}

/* =====================================================
   RT RECOVERY - WOOCOMMERCE BLOCKS / CARRINHO MODERNO
   O WooCommerce atual usa blocos em algumas páginas.
   Esta seção força carrinho/checkout/minha conta a seguirem
   a identidade RT Recovery mesmo quando o conteúdo vem dos blocos.
===================================================== */

.woocommerce-cart .rt-page-content,
.woocommerce-checkout .rt-page-content,
.woocommerce-account .rt-page-content,
.page .rt-page-content:has(.wc-block-cart),
.page .rt-page-content:has(.wc-block-checkout),
.page .rt-page-content:has(.woocommerce) {
    width: min(var(--rt-site-container), calc(100% - 40px));
    margin: 48px auto;
    padding: 0;
}

.woocommerce-cart .rt-page-article,
.woocommerce-checkout .rt-page-article,
.woocommerce-account .rt-page-article,
.rt-page-article:has(.wc-block-cart),
.rt-page-article:has(.wc-block-checkout),
.rt-page-article:has(.woocommerce) {
    background:
        radial-gradient(circle at 11% 0%, rgba(255, 74, 0, 0.12), transparent 32%),
        linear-gradient(145deg, #151515 0%, #0c0c0c 62%, #030303 100%);
    border: 1px solid rgba(255, 74, 0, 0.22);
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 24px 58px rgba(0, 0, 0, 0.26);
    color: #ffffff;
}

.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar-layout,
.wc-block-components-main,
.wc-block-components-sidebar,
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
    color: #ffffff !important;
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-sidebar-layout .wc-block-components-main h2,
.wc-block-components-sidebar-layout .wc-block-components-sidebar h2,
.wc-block-checkout__main h2,
.wc-block-checkout__sidebar h2,
.wc-block-cart h1,
.wc-block-checkout h1,
.wc-block-cart h2,
.wc-block-checkout h2,
.wc-block-cart h3,
.wc-block-checkout h3 {
    color: #ffffff !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em;
}

.wc-block-cart-items,
.wc-block-cart-items__row,
.wc-block-components-totals-wrapper,
.wc-block-components-sidebar,
.wc-block-components-main,
.wc-block-components-panel,
.wc-block-components-order-summary,
.wc-block-components-order-summary-item,
.wc-block-components-checkout-step,
.wc-block-components-form,
.wc-block-components-address-form,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon,
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item,
.wc-block-components-radio-control,
.wc-block-components-checkbox {
    border-color: rgba(255, 255, 255, 0.10) !important;
}

.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-checkout-step,
.wc-block-components-panel,
.wc-block-components-radio-control,
.wc-block-components-totals-coupon {
    background:
        radial-gradient(circle at 10% 0%, rgba(255, 74, 0, 0.10), transparent 34%),
        linear-gradient(145deg, #101010 0%, #080808 62%, #020202 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.wc-block-cart__main,
.wc-block-checkout__main {
    padding: 20px !important;
}

.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
    padding: 20px !important;
}

.wc-block-cart-items__header,
.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
}

.wc-block-cart-items__header span,
.wc-block-cart-items__header th,
.wc-block-cart-items__row td,
.wc-block-cart-item__wrap,
.wc-block-cart-item__prices,
.wc-block-cart-item__total,
.wc-block-cart-item__quantity,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-checkout-step__description,
.wc-block-components-checkbox .wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description,
.wc-block-components-validation-error,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__quantity,
.wc-block-components-address-card,
.wc-block-components-address-card address,
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__content,
.wc-block-components-totals-coupon__form {
    color: rgba(255, 255, 255, 0.88) !important;
}

.wc-block-cart-item__wrap a,
.wc-block-components-product-name,
.wc-block-components-product-name a,
.wc-block-cart-item__wrap .wc-block-components-product-name,
.wc-block-cart-item__wrap .wc-block-components-product-name a,
.wc-block-components-order-summary-item__description a,
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.woocommerce-cart a.wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-name a {
    color: #ffffff !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    font-weight: 900 !important;
}

.wc-block-cart-item__wrap a:hover,
.wc-block-components-product-name:hover,
.wc-block-components-product-name a:hover,
.wc-block-components-order-summary-item__description a:hover {
    color: #ff4a00 !important;
    text-decoration: none !important;
}

.wc-block-components-product-price,
.wc-block-components-product-price__value,
.wc-block-formatted-money-amount,
.wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__individual-prices,
.wc-block-components-product-price ins,
.wc-block-components-product-price span {
    color: #ff4a00 !important;
    font-weight: 900 !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
    border-radius: 14px !important;
    border: 1px solid rgba(255, 74, 0, 0.22) !important;
    background: #f4f4f4 !important;
    padding: 4px;
}

.wc-block-components-quantity-selector {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector button {
    color: #ffffff !important;
    background: transparent !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.wc-block-cart-item__remove-link,
.wc-block-components-button.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
    color: #ff4a00 !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 74, 0, 0.35) !important;
    background: rgba(255, 74, 0, 0.12) !important;
    border-radius: 10px !important;
    padding: 7px 10px !important;
    font-weight: 900 !important;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-components-button.wc-block-cart-item__remove-link:hover,
button.wc-block-cart-item__remove-link:hover {
    color: #ffffff !important;
    background: #ff4a00 !important;
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-button:not(.is-link) {
    background: #ff4a00 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 14px 26px rgba(255, 74, 0, 0.22) !important;
}

.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-button:not(.is-link):hover {
    background: #d94100 !important;
    color: #ffffff !important;
}

.wc-block-components-button.is-link,
.wc-block-components-panel__button,
.wc-block-components-totals-coupon-link,
.wc-block-components-checkout-return-to-cart-button {
    color: #ff4a00 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

.wc-block-components-button.is-link:hover,
.wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon-link:hover,
.wc-block-components-checkout-return-to-cart-button:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-textarea,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-totals-coupon__input input {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.wc-block-components-totals-coupon__input input:focus {
    border-color: rgba(255, 74, 0, 0.65) !important;
    box-shadow: 0 0 0 2px rgba(255, 74, 0, 0.16) !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox-control label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label {
    color: rgba(255, 255, 255, 0.82) !important;
}

.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-error {
    background: linear-gradient(135deg, #111111 0%, #1a1a1a 58%, #050505 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 74, 0, 0.30) !important;
    border-radius: 16px !important;
}

.wc-block-components-notice-banner a,
.wc-block-components-notice-banner button {
    color: #ff4a00 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

.wc-block-cart__empty-cart__title,
.wc-block-cart__empty-cart__description,
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    color: #ffffff !important;
}

@media (max-width: 782px) {
    .woocommerce-cart .rt-page-content,
    .woocommerce-checkout .rt-page-content,
    .woocommerce-account .rt-page-content,
    .page .rt-page-content:has(.wc-block-cart),
    .page .rt-page-content:has(.wc-block-checkout),
    .page .rt-page-content:has(.woocommerce) {
        width: min(100% - 24px, 100%);
        margin: 28px auto;
    }

    .woocommerce-cart .rt-page-article,
    .woocommerce-checkout .rt-page-article,
    .woocommerce-account .rt-page-article,
    .rt-page-article:has(.wc-block-cart),
    .rt-page-article:has(.wc-block-checkout),
    .rt-page-article:has(.woocommerce) {
        padding: 18px;
        border-radius: 18px;
    }

    .wc-block-cart__main,
    .wc-block-cart__sidebar,
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar {
        padding: 14px !important;
    }
}

/* =====================================================
   RT RECOVERY - FINALIZAR COMPRA: RESUMO EM UM BLOCO
   Escopo exclusivo: página de checkout. Não afeta carrinho.
===================================================== */

body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-checkout {
    align-items: flex-start !important;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    min-width: 0 !important;
}

/* Coluna direita continua ao lado, mas sem esticar tudo por dentro */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    align-self: flex-start !important;
    width: 100% !important;
    max-width: 430px !important;
    min-width: 360px !important;
    box-sizing: border-box !important;
}

/* O resumo vira visualmente um único bloco, sem blocos internos vazios aparentes */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
body.woocommerce-checkout .woocommerce-checkout-review-order {
    background: rgba(17, 17, 17, 0.96) !important;
    border: 1px solid rgba(255, 74, 0, 0.24) !important;
    border-radius: 16px !important;
    padding: 22px !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar > *,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar > *,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-panel,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-totals-coupon {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove espaços de painéis vazios do resumo sem remover cupom/produto/total */
body.woocommerce-checkout .wc-block-components-panel:empty,
body.woocommerce-checkout .wc-block-components-totals-wrapper:empty,
body.woocommerce-checkout .wc-block-components-order-summary:empty,
body.woocommerce-checkout .wc-block-components-totals-item:empty,
body.woocommerce-checkout .wc-block-components-totals-footer-item:empty {
    display: none !important;
}

/* País separado dos campos de nome/sobrenome/endereço */
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #shipping_country_field,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-address-form [class*="country"],
body.woocommerce-checkout .wc-block-components-address-form [id*="country"] {
    display: block !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    clear: both !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-address-form {
    row-gap: 18px !important;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-combobox,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    margin-bottom: 16px !important;
}

body.woocommerce-checkout select,
body.woocommerce-checkout select option,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout .select2-dropdown,
body.woocommerce-checkout .select2-results__option,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .components-combobox-control__input,
body.woocommerce-checkout .components-custom-select-control__button,
body.woocommerce-checkout .components-custom-select-control__menu,
body.woocommerce-checkout .components-custom-select-control__item {
    background-color: #111111 !important;
    color: #ffffff !important;
    border-color: rgba(255, 74, 0, 0.35) !important;
}

/* Produto do resumo: imagem em cima, detalhes embaixo */
body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 190px !important;
    max-width: 100% !important;
    height: 190px !important;
    max-height: 190px !important;
    object-fit: contain !important;
    display: block !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-product-metadata {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    box-sizing: border-box !important;
}

/* Subtotal e total: linhas normais, nunca blocos grandes/esticados */
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    flex: 0 0 auto !important;
    align-self: auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 52px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 32px !important;
    line-height: 1.25 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    flex: 0 0 auto !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* Cupom fica aberto, mas dentro do mesmo bloco do resumo */
body.woocommerce-checkout .wc-block-components-totals-coupon__content,
body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    display: flex !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form {
    gap: 10px !important;
    align-items: flex-end !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__button {
    flex: 0 0 auto !important;
    min-height: 40px !important;
    height: auto !important;
    padding: 9px 14px !important;
}

@media (max-width: 900px) {
    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* =====================================================
   RT RECOVERY - AJUSTE FINAL CHECKOUT (rtrecovery 32)
   Escopo exclusivo: Finalizar compra. Não afeta carrinho.
   Mantém resumo ao lado, sem largura excessiva e sem esticar
   subtotal/total.
===================================================== */

@media (min-width: 901px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 340px !important;
        gap: 24px !important;
        align-items: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: initial !important;
        grid-column: 1 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 340px !important;
        max-width: 340px !important;
        min-width: 0 !important;
        flex: initial !important;
        grid-column: 2 !important;
        align-self: flex-start !important;
        box-sizing: border-box !important;
    }
}

body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    padding: 18px !important;
    overflow: hidden !important;
}

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-coupon {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 220px !important;
    max-width: 100% !important;
    height: 180px !important;
    object-fit: contain !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

/* Subtotal e Total como linhas compactas: nunca podem virar blocos grandes */
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
    padding-top: 12px !important;
    margin-top: 8px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* Separação do país em relação aos campos seguintes do endereço */
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-address-form [id*="country"],
body.woocommerce-checkout .wc-block-components-address-form [class*="country"],
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #shipping_country_field {
    margin-bottom: 20px !important;
    padding-bottom: 2px !important;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input + *,
body.woocommerce-checkout #billing_country_field + *,
body.woocommerce-checkout #shipping_country_field + * {
    margin-top: 14px !important;
}

@media (max-width: 900px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 100% !important;
        max-width: none !important;
        margin-top: 22px !important;
    }
}

/* =====================================================
   RT RECOVERY - AJUSTES CHECKOUT/CARRINHO (rtrecovery 33)
   - Checkout: esquerda harmonizada, resumo à direita controlado.
   - Carrinho: foto maior e remover dentro do campo.
===================================================== */

@media (min-width: 901px) {
    body.woocommerce-checkout .rt-page-content,
    body.woocommerce-checkout .rt-page-article:has(.wc-block-checkout) {
        width: min(var(--rt-site-container), calc(100% - 40px)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 360px !important;
        gap: 24px !important;
        align-items: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        grid-column: 2 !important;
        width: 360px !important;
        min-width: 0 !important;
        max-width: 360px !important;
        box-sizing: border-box !important;
        align-self: flex-start !important;
    }
}

/* Bloco esquerdo do checkout com o mesmo padrão visual do resumo */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    background: rgba(17, 17, 17, 0.96) !important;
    border: 1px solid rgba(255, 74, 0, 0.24) !important;
    border-radius: 16px !important;
    padding: 22px !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Resumo do pedido: mantém um único bloco controlado, sem ficar largo demais */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    background: rgba(17, 17, 17, 0.96) !important;
    border: 1px solid rgba(255, 74, 0, 0.24) !important;
    border-radius: 16px !important;
    padding: 18px !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

/* Badge/bolinha da quantidade no produto do resumo */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary-item__image .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-quantity-badge {
    background: #ff4a00 !important;
    color: #111111 !important;
    border-color: #ff4a00 !important;
    font-weight: 900 !important;
}

/* Produto no resumo: imagem em cima e descrições embaixo */
body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 230px !important;
    max-width: 100% !important;
    height: 185px !important;
    max-height: 185px !important;
    object-fit: contain !important;
    display: block !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    box-sizing: border-box !important;
}

/* Total/subtotal compactos: não viram blocos altos */
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 46px !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    text-align: right !important;
}

/* País separado dos campos seguintes */
body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-components-address-form [id*="country"],
body.woocommerce-checkout .wc-block-components-address-form [class*="country"],
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #shipping_country_field {
    display: block !important;
    width: 100% !important;
    flex-basis: 100% !important;
    margin-bottom: 22px !important;
    clear: both !important;
}

body.woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input + *,
body.woocommerce-checkout #billing_country_field + *,
body.woocommerce-checkout #shipping_country_field + * {
    margin-top: 12px !important;
}

/* Carrinho: reinicial visual sem achatamento */
@media (min-width: 783px) {
    body.woocommerce-cart .rt-page-content,
    body.woocommerce-cart .rt-page-article:has(.wc-block-cart) {
        width: min(var(--rt-site-container), calc(100% - 40px)) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-cart__main {
        min-width: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row,
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        min-height: 170px !important;
    }
}

body.woocommerce-cart .wc-block-cart-item__image,
body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img {
    width: 126px !important;
    max-width: 126px !important;
    height: 126px !important;
    max-height: 126px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__wrap {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-cart-item__remove-link:visited,
body.woocommerce-cart .wc-block-cart-item__remove-link:active {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    margin-top: 10px !important;
    border-radius: 10px !important;
    background: rgba(255, 74, 0, 0.12) !important;
    border: 1px solid rgba(255, 74, 0, 0.35) !important;
    color: #ff4a00 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link svg,
body.woocommerce-cart .wc-block-cart-item__remove-link:before {
    color: #ff4a00 !important;
    fill: #ff4a00 !important;
}

body.woocommerce-cart .wc-block-cart-items__row td,
body.woocommerce-cart table.wc-block-cart-items td {
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

@media (max-width: 782px) {
    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img,
    body.woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__image img {
        width: 104px !important;
        max-width: 104px !important;
        height: 104px !important;
        max-height: 104px !important;
    }
}

/* =====================================================
   RT RECOVERY - CARRINHO: CUPOM SEM RECOLHER
   Escopo exclusivo: página do carrinho.
   Mantém o texto "Adicionar cupons" e deixa o campo ativo.
===================================================== */
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-totals-coupon {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 18px !important;
    margin: 16px 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    background: rgba(17, 17, 17, 0.96) !important;
    border: 1px solid rgba(255, 74, 0, 0.24) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 0 12px 0 !important;
    margin: 0 0 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ff4a00 !important;
    font-weight: 900 !important;
    text-align: left !important;
    text-decoration: none !important;
}

/* remove somente o ícone de recolher/expandir, não o texto */
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button svg,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button::after,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link svg,
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon-link::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__content,
body.woocommerce-cart .wc-block-components-totals-coupon__form {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__content[hidden],
body.woocommerce-cart .wc-block-components-totals-coupon__form[hidden] {
    display: flex !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__content {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form {
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input,
body.woocommerce-cart .wc-block-components-totals-coupon__input .wc-block-components-text-input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 96px !important;
    max-width: 150px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    body.woocommerce-cart .wc-block-components-totals-coupon__form {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.woocommerce-cart .wc-block-components-totals-coupon__button {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* =====================================================
   RT RECOVERY - CARRINHO: CUPOM SEM TEXTO SOBREPOSTO
   Corrige o label/placeholder "Digite o código" cobrindo o código digitado.
   Escopo exclusivo: página do carrinho.
===================================================== */
body.woocommerce-cart .wc-block-components-totals-coupon__input .wc-block-components-text-input {
    position: relative !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input .wc-block-components-text-input label {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.woocommerce-cart .wc-block-components-totals-coupon__input input.has-value,
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus {
    padding: 0 14px !important;
    line-height: 44px !important;
    text-indent: 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input::placeholder {
    color: rgba(255,255,255,0.55) !important;
    opacity: 1 !important;
}


/* =========================================================
   RT Recovery - cards de produto corrigidos
   - Foto e conteúdo ocupam a mesma largura do card.
   - Ícones/selo ficam presos dentro da área da foto.
   - Texto, preço e botão não encavalam.
   - Sem movimento no hover.
========================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products,
.rt-shop-products ul.products,
.home ul.products,
.front-page ul.products,
.single-product .rt-product-recommendation-section ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 280px)) !important;
    gap: 22px !important;
    align-items: stretch !important;
    justify-content: start !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.rt-shop-products ul.products li.product,
.home ul.products li.product,
.front-page ul.products li.product {
    width: 100% !important;
    max-width: 280px !important;
    min-width: 0 !important;
    min-height: 460px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    float: none !important;
    clear: none !important;
    transition: box-shadow .18s ease !important;
    transform: none !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.rt-shop-products ul.products li.product:hover,
.home ul.products li.product:hover,
.front-page ul.products li.product:hover:hover {
    transform: none !important;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
.rt-shop-products ul.products li.product a.woocommerce-LoopProduct-link,
.home ul.products li.product a.woocommerce-LoopProduct-link,
.front-page ul.products li.product a.woocommerce-LoopProduct-link a.woocommerce-LoopProduct-link {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    text-decoration: none !important;
    color: inherit !important;
    box-sizing: border-box !important;
}

/* Área da foto: ocupa toda a largura do card e contém os ícones */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link > img,
.rt-shop-products ul.products li.product a.woocommerce-LoopProduct-link > img,
.home ul.products li.product a.woocommerce-LoopProduct-link > img,
.front-page ul.products li.product a.woocommerce-LoopProduct-link > img a.woocommerce-LoopProduct-link > img {
    width: 100% !important;
    max-width: 100% !important;
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f2f2f2 !important;
    box-sizing: border-box !important;
    flex: 0 0 210px !important;
}

/* Selo de oferta preso no rodapé da foto, sem aumentar a largura do card */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.rt-shop-products ul.products li.product .onsale,
.home ul.products li.product .onsale,
.front-page ul.products li.product .onsale .onsale {
    position: absolute !important;
    left: 0 !important;
    top: 184px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 45 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: calc(100% - 10px) !important;
    min-width: 0 !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    padding: 0 10px 0 18px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 4px 0 0 !important;
    background: #ff4a00 !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .onsale::before,
.woocommerce-page ul.products li.product .onsale::before,
.rt-shop-products ul.products li.product .onsale::before,
.home ul.products li.product .onsale::before,
.front-page ul.products li.product .onsale::before .onsale::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 9px !important;
    height: 100% !important;
    background: #111111 !important;
}

/* Classificação presa no canto da foto, sem ultrapassar o card */
.woocommerce ul.products li.product .rt-product-condition,
.woocommerce-page ul.products li.product .rt-product-condition,
.rt-shop-products ul.products li.product .rt-product-condition,
.home ul.products li.product .rt-product-condition,
.front-page ul.products li.product .rt-product-condition .rt-product-condition {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 50 !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .rt-condition-badge,
.woocommerce-page ul.products li.product .rt-condition-badge,
.rt-shop-products ul.products li.product .rt-condition-badge,
.home ul.products li.product .rt-condition-badge,
.front-page ul.products li.product .rt-condition-badge .rt-condition-badge {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 6px !important;
    background: #111111 !important;
    color: #ff4a00 !important;
    box-sizing: border-box !important;
}

/* Conteúdo: sem espaçamento entre borda/card e conteúdo, mas com respiro interno de texto */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.rt-shop-products ul.products li.product .woocommerce-loop-product__title,
.home ul.products li.product .woocommerce-loop-product__title,
.front-page ul.products li.product .woocommerce-loop-product__title .woocommerce-loop-product__title {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 10px 0 6px !important;
    padding: 0 12px !important;
    color: #111111 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .rt-loop-description,
.woocommerce-page ul.products li.product .rt-loop-description,
.rt-shop-products ul.products li.product .rt-loop-description,
.home ul.products li.product .rt-loop-description,
.front-page ul.products li.product .rt-loop-description .rt-loop-description {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 0 8px !important;
    padding: 0 12px !important;
    color: #555555 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.rt-shop-products ul.products li.product .price,
.home ul.products li.product .price,
.front-page ul.products li.product .price .price {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 34px !important;
    max-height: 44px !important;
    margin: auto 0 8px !important;
    padding: 0 12px !important;
    color: #ff4a00 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.woocommerce ul.products li.product .price span,
.woocommerce-page ul.products li.product .price span {
    line-height: 1.25 !important;
    white-space: normal !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.rt-shop-products ul.products li.product .button,
.home ul.products li.product .button,
.front-page ul.products li.product .button .button {
    width: 100% !important;
    max-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 0 12px 12px !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
    flex: 0 0 42px !important;
}

@media (min-width: 1200px) {
    .rt-shop-products ul.products,
    .woocommerce-shop ul.products,
    .post-type-archive-product ul.products,
    .tax-product_cat ul.products {
        grid-template-columns: repeat(3, minmax(240px, 280px)) !important;
    }

    .home ul.products,
    .front-page ul.products {
        grid-template-columns: repeat(4, minmax(240px, 280px)) !important;
    }
}

@media (max-width: 980px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .rt-shop-products ul.products,
    .home ul.products,
    .front-page ul.products,
    .single-product .rt-product-recommendation-section ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .rt-shop-products ul.products li.product,
    .home ul.products li.product,
    .front-page ul.products li.product,
    .single-product .rt-product-recommendation-section ul.products li.product {
        max-width: none !important;
    }
}

@media (max-width: 520px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .rt-shop-products ul.products,
    .home ul.products,
    .front-page ul.products,
    .single-product .rt-product-recommendation-section ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   RT Recovery - ajustes solicitados em 14/05/2026
   - Classificação colada no topo/direita da área da foto.
   - Descrição do card levemente maior.
   - Nenhum botão com hover branco; hover usa laranja mais escuro.
   - Sem movimento no hover dos cards.
========================================================= */
.woocommerce ul.products li.product .rt-product-condition,
.woocommerce-page ul.products li.product .rt-product-condition,
.rt-shop-products ul.products li.product .rt-product-condition,
.home ul.products li.product .rt-product-condition,
.front-page ul.products li.product .rt-product-condition .rt-product-condition {
    top: 0 !important;
    right: 0 !important;
}

.woocommerce ul.products li.product .rt-condition-badge,
.woocommerce-page ul.products li.product .rt-condition-badge,
.rt-shop-products ul.products li.product .rt-condition-badge,
.home ul.products li.product .rt-condition-badge,
.front-page ul.products li.product .rt-condition-badge .rt-condition-badge {
    border-radius: 0 0 0 6px !important;
}

.woocommerce ul.products li.product .rt-loop-description,
.woocommerce-page ul.products li.product .rt-loop-description,
.rt-shop-products ul.products li.product .rt-loop-description,
.home ul.products li.product .rt-loop-description,
.front-page ul.products li.product .rt-loop-description .rt-loop-description {
    font-size: 13px !important;
    line-height: 1.38 !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.rt-shop-products ul.products li.product:hover,
.home ul.products li.product:hover,
.front-page ul.products li.product:hover:hover,
.single-product .rt-product-recommendation-section .product:hover {
    transform: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.rt-shop-products ul.products li.product .button:hover,
.home ul.products li.product .button:hover,
.front-page ul.products li.product .button:hover .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #payment #place_order:hover,
.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover,
.rt-google-login-button:hover,
.rt-checkout-unified-card a:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-totals-coupon__button:hover,
.wc-block-components-button:not(.is-link):hover,
.rt-rizhort-account-modal__button:hover {
    background: #d94100 !important;
    color: #ffffff !important;
    border-color: #d94100 !important;
    transform: none !important;
}

/* =====================================================
   RT RECOVERY - CARRINHO/CHECKOUT CLÁSSICOS BR
===================================================== */
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-billing-fields {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-cart .shipping-calculator-form .form-row,
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row {
    display: block;
}

.woocommerce-checkout #billing_cpf_field,
.woocommerce-checkout #billing_cnpj_field,
.woocommerce-checkout #billing_number_field {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment .place-order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =====================================================
   RT RECOVERY - AJUSTE REAL CARRINHO/CHECKOUT/FRETE
   Corrige layout desktop clássico e vence estrutura mobile.
===================================================== */
body.single-product .rt-product-shipping-calculator,
body.single-product #rt_product_shipping_postcode,
body.single-product .rt-product-shipping-button,
body.single-product .rt-product-shipping-result {
    display: none !important;
}

body.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info {
    grid-column: 1 / -1 !important;
}

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

body.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}

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

body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table tbody,
body.woocommerce-cart .cart_totals table.shop_table tr {
    display: table !important;
    width: 100% !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
    display: table-row !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
    display: table-cell !important;
    width: auto !important;
    text-align: left !important;
}

body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 410px !important;
    gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout form.checkout #order_review {
    position: sticky !important;
    top: 18px !important;
}

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

body.woocommerce-checkout .form-row {
    width: 100% !important;
    float: none !important;
    margin: 0 0 10px !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_phone_field {
    grid-column: 1 / -1 !important;
}

body.single-product .melhor-envio,
body.single-product [class*="melhor-envio"],
body.single-product [id*="melhor-envio"],
body.single-product [class*="melhorenvio"],
body.single-product [id*="melhorenvio"],
body.single-product [class*="frete"] {
    max-width: 100% !important;
    border-radius: 14px !important;
}

body.single-product [class*="melhor-envio"] button,
body.single-product [id*="melhor-envio"] button,
body.single-product [class*="melhorenvio"] button,
body.single-product [id*="melhorenvio"] button,
body.single-product [class*="frete"] button,
body.woocommerce-cart button.button:hover,
body.woocommerce-cart a.button:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-checkout a.button:hover {
    background: #d94100 !important;
    color: #ffffff !important;
    border-color: #d94100 !important;
}

@media (max-width: 980px) {
    body.woocommerce-cart .woocommerce,
    body.woocommerce-checkout form.checkout,
    body.woocommerce-checkout form.checkout #customer_details,
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        display: block !important;
    }

    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-checkout form.checkout #order_review {
        position: static !important;
        margin-top: 18px !important;
    }
}

/* =====================================================
   RT RECOVERY - PADRONIZAÇÃO FINAL CARRINHO/CHECKOUT
   Base: rtrecovery(60). Mantém frete do Melhor Envio no produto,
   corrige largura padrão das páginas e remove aparência mobile
   forçada em desktop.
===================================================== */
body.single-product .rt-product-shipping-calculator,
body.single-product #rt_product_shipping_postcode,
body.single-product .rt-product-shipping-button,
body.single-product .rt-product-shipping-result {
    display: none !important;
}

body.woocommerce-cart .rt-page-content,
body.woocommerce-checkout .rt-page-content,
body.woocommerce-account .rt-page-content {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: 1280px !important;
    margin: 42px auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .rt-page-article,
body.woocommerce-checkout .rt-page-article,
body.woocommerce-account .rt-page-article {
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Carrinho clássico em duas colunas, sem estreitar a tabela do produto. */
body.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    gap: 24px !important;
    align-items: start !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info {
    grid-column: 1 / -1 !important;
}

body.woocommerce-cart form.woocommerce-cart-form {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 380px !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    position: static !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.cart {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart table.cart td,
body.woocommerce-cart table.cart th {
    display: table-cell !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table tbody,
body.woocommerce-cart .cart_totals table.shop_table tr {
    display: table !important;
    width: 100% !important;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
    display: table-row !important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
    display: table-cell !important;
    width: auto !important;
    text-align: left !important;
    vertical-align: top !important;
}

/* Checkout clássico: blocos empilhados, mas ocupando a largura correta do site. */
body.woocommerce-checkout form.checkout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout .col2-set,
body.woocommerce-checkout form.checkout .col-1,
body.woocommerce-checkout form.checkout .col-2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    position: static !important;
}

body.woocommerce-checkout form.checkout #order_review_heading {
    margin-top: 24px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .form-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 0 12px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #order_comments_field {
    grid-column: 1 / -1 !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-cart input.input-text,
body.woocommerce-cart select,
body.woocommerce-cart textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
}

/* Se alguma página ainda estiver em blocos do WooCommerce, neutraliza a largura estreita/mobile. */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout {
    display: block !important;
}

body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    position: static !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px) !important;
    gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 380px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .button:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-cart button:hover,
body.woocommerce-checkout button:hover,
body.woocommerce-cart a.button:hover,
body.woocommerce-checkout a.button:hover {
    background: #d94100 !important;
    color: #ffffff !important;
    border-color: #d94100 !important;
}

@media (max-width: 980px) {
    body.woocommerce-cart .rt-page-content,
    body.woocommerce-checkout .rt-page-content,
    body.woocommerce-account .rt-page-content {
        width: min(100% - 24px, 100%) !important;
        margin: 28px auto !important;
    }

    body.woocommerce-cart .woocommerce,
    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        display: block !important;
    }

    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .wc-block-cart__sidebar,
    body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        max-width: none !important;
        margin-top: 18px !important;
    }
}

/* =====================================================
   RT RECOVERY - CARRINHO PADRÃO (ajuste final solicitado)
   Escopo: carrinho. Produto em cima, totais embaixo, largura
   igual às demais páginas e bordas menos arredondadas.
===================================================== */
body.woocommerce-cart main.container,
body.woocommerce-cart .container,
body.woocommerce-cart .rt-page-content,
body.woocommerce-cart .rt-page-article {
    width: min(var(--rt-site-container), calc(100% - 40px)) !important;
    max-width: var(--rt-site-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .rt-page-content {
    margin-top: 40px !important;
    margin-bottom: 48px !important;
    padding: 0 !important;
}

body.woocommerce-cart .rt-page-article,
body.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .woocommerce {
    display: block !important;
}

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .cart-collaterals {
    margin-top: 22px !important;
}

body.woocommerce-cart .cart-collaterals::before,
body.woocommerce-cart .cart-collaterals::after,
body.woocommerce-cart .woocommerce::before,
body.woocommerce-cart .woocommerce::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-cart table.cart,
body.woocommerce-cart table.shop_table,
body.woocommerce-cart .shop_table.cart,
body.woocommerce-cart .cart_totals table.shop_table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart table.cart td.actions {
    padding-top: 18px !important;
}

body.woocommerce-cart table.cart td.actions .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    width: auto !important;
    max-width: 100% !important;
    float: left !important;
}

body.woocommerce-cart table.cart td.actions .coupon .input-text,
body.woocommerce-cart table.cart td.actions .coupon input.input-text,
body.woocommerce-cart table.cart td.actions .coupon #coupon_code {
    width: min(320px, 100%) !important;
    min-width: 220px !important;
    margin: 0 !important;
    float: none !important;
}

body.woocommerce-cart table.cart td.actions .coupon .button,
body.woocommerce-cart table.cart td.actions .coupon button.button {
    margin: 0 !important;
    float: none !important;
    white-space: nowrap !important;
}

body.woocommerce-cart .cart_totals h2 {
    margin-top: 0 !important;
}

body.woocommerce-cart .woocommerce table.shop_table,
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-order-summary,
body.woocommerce-cart .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-totals-coupon {
    border-radius: 10px !important;
}

/* Caso a página ainda use carrinho em blocos do WooCommerce. */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar {
    margin-top: 22px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__form {
    display: flex !important;
    align-items: flex-end !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input {
    flex: 1 1 260px !important;
    min-width: 220px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Arredondamento geral menor nos blocos WooCommerce. */
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.edit-account,
.woocommerce form.woocommerce-EditAccountForm,
.woocommerce form.woocommerce-address-fields,
.woocommerce .woocommerce-customer-details address,
.woocommerce .woocommerce-order-details,
.woocommerce .woocommerce-order-downloads,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce-checkout-review-order,
.woocommerce-checkout #payment,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart table.shop_table,
.woocommerce table.shop_table,
.woocommerce-order ul.order_details,
.woocommerce .woocommerce-order-overview,
.woocommerce-cart .rt-page-article,
.woocommerce-checkout .rt-page-article,
.woocommerce-account .rt-page-article,
.rt-page-article:has(.wc-block-cart),
.rt-page-article:has(.wc-block-checkout),
.rt-page-article:has(.woocommerce) {
    border-radius: 10px !important;
}

@media (max-width: 640px) {
    body.woocommerce-cart main.container,
    body.woocommerce-cart .container,
    body.woocommerce-cart .rt-page-content,
    body.woocommerce-cart .rt-page-article {
        width: min(100% - 24px, 100%) !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon {
        display: block !important;
        float: none !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon .input-text,
    body.woocommerce-cart table.cart td.actions .coupon input.input-text,
    body.woocommerce-cart table.cart td.actions .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon .button,
    body.woocommerce-cart table.cart td.actions .coupon button.button {
        width: 100% !important;
        margin: 0 0 10px !important;
    }
}


/* =========================================================
   RT Recovery - Containers WooCommerce padronizados
   Mantém Carrinho/Checkout/Minha Conta alinhados ao menu.
========================================================= */
body.woocommerce-cart main.container,
body.woocommerce-checkout main.container,
body.woocommerce-account main.container,
body.woocommerce-order-received main.container,
body.woocommerce-view-order main.container,
body.woocommerce-edit-account main.container,
body.woocommerce-edit-address main.container,
body.woocommerce-lost-password main.container {
    width: min(var(--rt-site-container), calc(100% - 40px));
    max-width: none;
    margin: 40px auto 56px;
    padding: 0;
    box-sizing: border-box;
}

.rt-woocommerce-page,
.rt-woocommerce-page .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

.rt-woocommerce-page {
    display: block;
}

.rt-woocommerce-page .woocommerce::before,
.rt-woocommerce-page .woocommerce::after,
body.woocommerce-cart .woocommerce::before,
body.woocommerce-cart .woocommerce::after,
body.woocommerce-checkout .woocommerce::before,
body.woocommerce-checkout .woocommerce::after {
    content: "";
    display: table;
    clear: both;
}

body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    margin: 22px 0 0 !important;
}

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart table.cart,
body.woocommerce-cart .shop_table {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-cart .shop_table,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-navigation {
    border-radius: 10px !important;
}

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

body.woocommerce-cart table.cart td.actions .coupon #coupon_code,
body.woocommerce-cart table.cart td.actions .coupon .input-text {
    margin: 0 !important;
    width: min(320px, 100%) !important;
}

body.woocommerce-cart table.cart td.actions .coupon .button {
    margin: 0 !important;
}

/* Checkout: empilhado, mas sem campos desnecessariamente enormes */
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout .col2-set,
body.woocommerce-checkout form.checkout .col-1,
body.woocommerce-checkout form.checkout .col-2,
body.woocommerce-checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .form-row {
    box-sizing: border-box;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
    width: calc(50% - 8px) !important;
}

body.woocommerce-checkout #billing_persontype_field,
body.woocommerce-checkout #billing_cpf_field,
body.woocommerce-checkout #billing_cnpj_field,
body.woocommerce-checkout #billing_phone_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_number_field,
body.woocommerce-checkout #billing_neighborhood_field,
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #billing_country_field {
    width: calc(50% - 8px) !important;
    float: left !important;
    clear: none !important;
}

body.woocommerce-checkout #billing_address_1_field {
    width: calc(56% - 8px) !important;
    float: left !important;
    clear: both !important;
}

body.woocommerce-checkout #billing_number_field {
    width: calc(18% - 8px) !important;
}

body.woocommerce-checkout #billing_address_2_field {
    width: calc(26% - 8px) !important;
    float: left !important;
    clear: none !important;
}

body.woocommerce-checkout #billing_neighborhood_field {
    width: calc(34% - 8px) !important;
    float: left !important;
    clear: both !important;
}

body.woocommerce-checkout #billing_city_field {
    width: calc(34% - 8px) !important;
}

body.woocommerce-checkout #billing_state_field {
    width: calc(16% - 8px) !important;
}

body.woocommerce-checkout #billing_postcode_field {
    width: calc(16% - 8px) !important;
}

body.woocommerce-checkout #billing_country_field {
    max-width: 260px !important;
}

/* Selects: remove faixa branca e mantém visual do tema */
body.woocommerce-cart select,
body.woocommerce-checkout select,
body.woocommerce-account select,
body.woocommerce-cart .select2-container .select2-selection,
body.woocommerce-checkout .select2-container .select2-selection,
body.woocommerce-account .select2-container .select2-selection {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: rgba(255, 74, 0, 0.45) !important;
    box-shadow: none !important;
}

body.woocommerce-cart .select2-dropdown,
body.woocommerce-checkout .select2-dropdown,
body.woocommerce-account .select2-dropdown {
    background: #111111 !important;
    color: #ffffff !important;
    border-color: rgba(255, 74, 0, 0.45) !important;
}

body.woocommerce-cart .select2-results__option,
body.woocommerce-checkout .select2-results__option,
body.woocommerce-account .select2-results__option {
    background: #111111 !important;
    color: #ffffff !important;
}

body.woocommerce-cart .select2-results__option--highlighted,
body.woocommerce-checkout .select2-results__option--highlighted,
body.woocommerce-account .select2-results__option--highlighted {
    background: #d94100 !important;
    color: #ffffff !important;
}

/* Gateways/cartão: evita campos gigantes quando o plugin usa IDs comuns */
body.woocommerce-checkout #payment input[name*="card"],
body.woocommerce-checkout #payment input[id*="card"],
body.woocommerce-checkout #payment input[name*="cc"],
body.woocommerce-checkout #payment input[id*="cc"] {
    max-width: 100%;
}

body.woocommerce-checkout #payment .form-row-first,
body.woocommerce-checkout #payment .form-row-last {
    width: calc(50% - 8px) !important;
}

@media (max-width: 1024px) {
    body.woocommerce-cart main.container,
    body.woocommerce-checkout main.container,
    body.woocommerce-account main.container {
        width: min(var(--rt-site-container), calc(100% - 28px));
        margin-top: 30px;
    }

    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_number_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #billing_neighborhood_field,
    body.woocommerce-checkout #billing_city_field,
    body.woocommerce-checkout #billing_state_field,
    body.woocommerce-checkout #billing_postcode_field,
    body.woocommerce-checkout #billing_country_field {
        width: calc(50% - 8px) !important;
    }
}

@media (max-width: 768px) {
    body.woocommerce-cart main.container,
    body.woocommerce-checkout main.container,
    body.woocommerce-account main.container {
        width: calc(100% - 22px);
        margin-top: 24px;
    }

    body.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout .form-row-last,
    body.woocommerce-checkout #billing_persontype_field,
    body.woocommerce-checkout #billing_cpf_field,
    body.woocommerce-checkout #billing_cnpj_field,
    body.woocommerce-checkout #billing_phone_field,
    body.woocommerce-checkout #billing_email_field,
    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_number_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #billing_neighborhood_field,
    body.woocommerce-checkout #billing_city_field,
    body.woocommerce-checkout #billing_state_field,
    body.woocommerce-checkout #billing_postcode_field,
    body.woocommerce-checkout #billing_country_field,
    body.woocommerce-checkout #payment .form-row-first,
    body.woocommerce-checkout #payment .form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        max-width: 100% !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon {
        align-items: stretch !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon #coupon_code,
    body.woocommerce-cart table.cart td.actions .coupon .button {
        width: 100% !important;
    }
}

/* =========================================================
   Home - produtos em oferta reais
========================================================= */
.rtr-sale-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 22px;
}

.rtr-sale-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: linear-gradient(145deg, #f1f1f1, #ffffff);
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: #111111;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}

.rtr-sale-product-image {
    position: relative;
    aspect-ratio: 1 / 0.78;
    background: #f4f4f4;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rtr-sale-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rtr-sale-badge {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    background: #d94100;
    color: #ffffff;
    padding: 7px 10px;
    border-radius: 0 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.rtr-sale-product-info {
    padding: 14px;
}

.rtr-sale-product-info strong {
    display: block;
    font-size: 16px;
    line-height: 1.25;
    margin-bottom: 8px;
}

.rtr-sale-product-info .price,
.rtr-sale-product-info .woocommerce-Price-amount {
    color: #d94100;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .rtr-sale-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .rtr-sale-products-grid {
        grid-template-columns: 1fr;
    }
}


/* RT Recovery - ajuste real do popup da classificação */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.rt-shop-products ul.products li.product,
.home ul.products li.product,
.front-page ul.products li.product,
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link{
    overflow: visible !important;
}

.woocommerce ul.products li.product .rt-product-condition,
.woocommerce-page ul.products li.product .rt-product-condition,
.rt-shop-products ul.products li.product .rt-product-condition,
.home ul.products li.product .rt-product-condition,
.front-page ul.products li.product .rt-product-condition .rt-product-condition{
    overflow: visible !important;
    z-index: 2000 !important;
}

.woocommerce ul.products li.product .rt-condition-badge,
.woocommerce-page ul.products li.product .rt-condition-badge,
.rt-shop-products ul.products li.product .rt-condition-badge,
.home ul.products li.product .rt-condition-badge,
.front-page ul.products li.product .rt-condition-badge .rt-condition-badge,
.rt-condition-badge{
    overflow: visible !important;
}

.woocommerce ul.products li.product .rt-condition-badge::after,
.woocommerce-page ul.products li.product .rt-condition-badge::after,
.rt-shop-products ul.products li.product .rt-condition-badge::after,
.home ul.products li.product .rt-condition-badge::after,
.front-page ul.products li.product .rt-condition-badge::after .rt-condition-badge::after,
.rt-condition-badge::after{
    top: 40px !important;
    right: calc(100% + 10px) !important;
    transform: none !important;
    z-index: 99999 !important;
}

.woocommerce ul.products li.product .rt-condition-badge::before,
.woocommerce-page ul.products li.product .rt-condition-badge::before,
.rt-shop-products ul.products li.product .rt-condition-badge::before,
.home ul.products li.product .rt-condition-badge::before,
.front-page ul.products li.product .rt-condition-badge::before .rt-condition-badge::before,
.rt-condition-badge::before{
    top: 48px !important;
    right: calc(100% + 4px) !important;
    transform: none !important;
    z-index: 100000 !important;
}


/* RT Recovery - espaçamento do cálculo de frete / Melhor Envio */
body.single-product [class*="melhor-envio"],
body.single-product [id*="melhor-envio"],
body.single-product [class*="melhorenvio"],
body.single-product [id*="melhorenvio"],
body.single-product [class*="frete"]:not(.rt-product-shipping-calculator):not(.rt-product-shipping-result){
    line-height: 1.45 !important;
}

body.single-product [class*="melhor-envio"] *,
body.single-product [id*="melhor-envio"] *,
body.single-product [class*="melhorenvio"] *,
body.single-product [id*="melhorenvio"] *,
body.single-product [class*="frete"] *{
    line-height: 1.45 !important;
}

body.single-product [class*="melhor-envio"] li,
body.single-product [id*="melhor-envio"] li,
body.single-product [class*="melhorenvio"] li,
body.single-product [id*="melhorenvio"] li,
body.single-product [class*="frete"] li,
body.single-product [class*="melhor-envio"] .shipping-method,
body.single-product [id*="melhor-envio"] .shipping-method,
body.single-product [class*="melhorenvio"] .shipping-method,
body.single-product [id*="melhorenvio"] .shipping-method,
body.single-product [class*="frete"] .shipping-method{
    display: block !important;
    margin: 8px 0 !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    background: rgba(255, 74, 0, 0.06) !important;
}

body.single-product [class*="melhor-envio"] p,
body.single-product [id*="melhor-envio"] p,
body.single-product [class*="melhorenvio"] p,
body.single-product [id*="melhorenvio"] p,
body.single-product [class*="frete"] p{
    margin: 6px 0 !important;
}

body.single-product [class*="melhor-envio"] table td,
body.single-product [id*="melhor-envio"] table td,
body.single-product [class*="melhorenvio"] table td,
body.single-product [id*="melhorenvio"] table td,
body.single-product [class*="frete"] table td{
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* RT Recovery - respiro entre títulos das páginas e conteúdo */
.rt-page-header,
.page-header,
.woocommerce-products-header,
.rt-woocommerce-page .woocommerce-products-header,
.rt-offers-page .rt-page-header{
    margin-bottom: 28px !important;
}

.rt-page-header h1,
.page-header h1,
.woocommerce-products-header__title,
.woocommerce-products-header h1,
.rt-woocommerce-page h1.page-title,
.rt-offers-page .rt-page-header h1{
    margin-bottom: 12px !important;
    line-height: 1.18 !important;
}

.rt-page-content,
.rt-woocommerce-page,
.woocommerce-page .site-main,
.woocommerce-page main{
    padding-top: 18px !important;
}

.rt-woocommerce-page .woocommerce-notices-wrapper + *,
.woocommerce-products-header + *,
.rt-page-header + *{
    margin-top: 18px !important;
}


/* RT Recovery - espaçamento entre título Simulação de frete e campo CEP */
.rt-product-shipping-calculator h3,
.rt-product-shipping-calculator h4,
.rt-product-shipping-title,
[class*="melhor-envio"] h3,
[class*="melhor-envio"] h4,
[id*="melhor-envio"] h3,
[id*="melhor-envio"] h4,
[class*="frete"] h3,
[class*="frete"] h4{
    margin-bottom: 12px !important;
}

.rt-product-shipping-row,
.rt-product-shipping-calculator form,
[class*="melhor-envio"] form,
[id*="melhor-envio"] form,
[class*="frete"] form{
    margin-top: 10px !important;
}


/* RT Recovery - espaçamento real do título de frete */
body.single-product .shipping-calculator-form,
body.single-product .woocommerce-shipping-calculator,
body.single-product [class*="shipping"]{
    margin-top: 12px !important;
}

body.single-product label[for*="postcode"],
body.single-product label[for*="cep"],
body.single-product .shipping-calculator-form p:first-child,
body.single-product .woocommerce-shipping-calculator p:first-child{
    margin-top: 12px !important;
}

body.single-product .woocommerce-shipping-calculator h2,
body.single-product .woocommerce-shipping-calculator h3,
body.single-product .woocommerce-shipping-calculator h4{
    margin-bottom: 14px !important;
}




/* RT Recovery - resultado de frete compacto sem reduzir o título */
body.single-product [class*="melhor-envio"] h1,
body.single-product [class*="melhor-envio"] h2,
body.single-product [class*="melhor-envio"] h3,
body.single-product [class*="melhor-envio"] h4,
body.single-product [class*="melhor-envio"] h5,
body.single-product [class*="melhorenvio"] h1,
body.single-product [class*="melhorenvio"] h2,
body.single-product [class*="melhorenvio"] h3,
body.single-product [class*="melhorenvio"] h4,
body.single-product [class*="melhorenvio"] h5,
body.single-product [id*="melhor-envio"] h1,
body.single-product [id*="melhor-envio"] h2,
body.single-product [id*="melhor-envio"] h3,
body.single-product [id*="melhor-envio"] h4,
body.single-product [id*="melhor-envio"] h5,
body.single-product [id*="melhorenvio"] h1,
body.single-product [id*="melhorenvio"] h2,
body.single-product [id*="melhorenvio"] h3,
body.single-product [id*="melhorenvio"] h4,
body.single-product [id*="melhorenvio"] h5{
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Mantém todos os textos do resultado no tamanho do "Frete para..." e compacta só o respiro */
body.single-product [class*="melhor-envio"] ul,
body.single-product [id*="melhor-envio"] ul,
body.single-product [class*="melhorenvio"] ul,
body.single-product [id*="melhorenvio"] ul,
body.single-product [class*="frete"] ul,
body.single-product [class*="shipping"] ul{
    margin-top: 4px !important;
    margin-bottom: 4px !important;
    padding-left: 0 !important;
}

body.single-product [class*="melhor-envio"] li,
body.single-product [id*="melhor-envio"] li,
body.single-product [class*="melhorenvio"] li,
body.single-product [id*="melhorenvio"] li,
body.single-product [class*="frete"] li,
body.single-product [class*="shipping"] li,
body.single-product [class*="melhor-envio"] .shipping-method,
body.single-product [id*="melhor-envio"] .shipping-method,
body.single-product [class*="melhorenvio"] .shipping-method,
body.single-product [id*="melhorenvio"] .shipping-method,
body.single-product [class*="frete"] .shipping-method,
body.single-product [class*="shipping"] .shipping-method{
    margin: 3px 0 !important;
    padding: 4px 8px !important;
    line-height: 1.3 !important;
    font-size: 13px !important;
    border-radius: 5px !important;
}

body.single-product [class*="melhor-envio"] p:not(:first-child),
body.single-product [id*="melhor-envio"] p:not(:first-child),
body.single-product [class*="melhorenvio"] p:not(:first-child),
body.single-product [id*="melhorenvio"] p:not(:first-child),
body.single-product [class*="frete"] p:not(:first-child),
body.single-product [class*="shipping"] p:not(:first-child),
body.single-product [class*="melhor-envio"] li span,
body.single-product [id*="melhor-envio"] li span,
body.single-product [class*="melhorenvio"] li span,
body.single-product [id*="melhorenvio"] li span,
body.single-product [class*="frete"] li span,
body.single-product [class*="shipping"] li span,
body.single-product [class*="melhor-envio"] li strong,
body.single-product [id*="melhor-envio"] li strong,
body.single-product [class*="melhorenvio"] li strong,
body.single-product [id*="melhorenvio"] li strong,
body.single-product [class*="frete"] li strong,
body.single-product [class*="shipping"] li strong{
    font-size: 13px !important;
    line-height: 1.3 !important;
}

body.single-product [class*="melhor-envio"] table,
body.single-product [id*="melhor-envio"] table,
body.single-product [class*="melhorenvio"] table,
body.single-product [id*="melhorenvio"] table,
body.single-product [class*="frete"] table,
body.single-product [class*="shipping"] table{
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}

body.single-product [class*="melhor-envio"] table td,
body.single-product [id*="melhor-envio"] table td,
body.single-product [class*="melhorenvio"] table td,
body.single-product [id*="melhorenvio"] table td,
body.single-product [class*="frete"] table td,
body.single-product [class*="shipping"] table td{
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}


/* RT Recovery - correção preço promocional na página individual */
.single-product div.product .summary .price,
.single-product div.product p.price{
    color: var(--rt-product-accent, #ff4a00) !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.single-product div.product .summary .price ins,
.single-product div.product p.price ins,
.single-product div.product .summary .price ins .woocommerce-Price-amount,
.single-product div.product p.price ins .woocommerce-Price-amount{
    color: var(--rt-product-accent, #ff4a00) !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
}

.single-product div.product .summary .price del,
.single-product div.product p.price del{
    position: relative !important;
    display: inline-block !important;
    color: #777777 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    opacity: 1 !important;
    text-decoration: none !important;
    margin-right: 8px !important;
}

.single-product div.product .summary .price del .woocommerce-Price-amount,
.single-product div.product p.price del .woocommerce-Price-amount{
    color: #777777 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
}

.single-product div.product .summary .price del::after,
.single-product div.product p.price del::after{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 50% !important;
    height: 2px !important;
    background: var(--rt-product-accent-dark, #c93a00) !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}


/* RT Recovery - preços promocionais padronizados em todo o site */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.single-product div.product .summary .price,
.single-product div.product p.price{
    line-height: 1.15 !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.single-product div.product .summary .price ins,
.single-product div.product p.price ins{
    text-decoration: none !important;
}

.woocommerce ul.products li.product .price ins .woocommerce-Price-amount,
.woocommerce-page ul.products li.product .price ins .woocommerce-Price-amount,
.single-product div.product .summary .price ins .woocommerce-Price-amount,
.single-product div.product p.price ins .woocommerce-Price-amount{
    text-decoration: none !important;
}

/* remove qualquer traço do preço promocional */
.woocommerce ul.products li.product .price ins::before,
.woocommerce ul.products li.product .price ins::after,
.woocommerce-page ul.products li.product .price ins::before,
.woocommerce-page ul.products li.product .price ins::after,
.single-product div.product .summary .price ins::before,
.single-product div.product .summary .price ins::after,
.single-product div.product p.price ins::before,
.single-product div.product p.price ins::after{
    display:none !important;
    content:none !important;
}

/* preço promocional um pouco menor */
.single-product div.product .summary .price,
.single-product div.product p.price,
.single-product div.product .summary .price ins .woocommerce-Price-amount,
.single-product div.product p.price ins .woocommerce-Price-amount{
    font-size: 26px !important;
}

/* traço centralizado para qualquer preço antigo */
.price del,
.price del .woocommerce-Price-amount{
    text-decoration:none !important;
    position:relative !important;
}

.price del::after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:50% !important;
    height:2px !important;
    transform:translateY(-50%) !important;
    background:#c93a00 !important;
}


/* RT Recovery - bloco Com base na sua navegação igual aos demais cards */
.rt-related-products,
.rt-navigation-products,
.rt-recommended-products,
.rt-products-you-may-like,
.rt-browsing-based-products{
    width:100% !important;
}

.rt-related-products ul.products,
.rt-navigation-products ul.products,
.rt-recommended-products ul.products,
.rt-products-you-may-like ul.products,
.rt-browsing-based-products ul.products{
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important;
    gap:20px !important;
}

.rt-related-products li.product,
.rt-navigation-products li.product,
.rt-recommended-products li.product,
.rt-products-you-may-like li.product,
.rt-browsing-based-products li.product{
    height:auto !important;
    min-height:0 !important;
}


/* RT Recovery - recomendações usam exatamente os mesmos cards */
.rt-product-recommendation-section ul.products,
.rt-product-recommendation-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
    gap:24px !important;
}

.rt-product-recommendation-section ul.products li.product,
.rt-product-recommendation-grid li.product{
    background:#fff !important;
    border-radius:12px !important;
    overflow:hidden !important;
    box-shadow:none !important;
    min-height:auto !important;
    height:auto !important;
}

.rt-product-recommendation-section ul.products li.product *,
.rt-product-recommendation-grid li.product *{
    visibility:visible !important;
}

.rt-product-recommendation-section ul.products li.product .button,
.rt-product-recommendation-grid li.product .button{
    display:inline-flex !important;
}
