/* =========================================================
   RT RECOVERY - PRODUTO INDIVIDUAL WOOCOMMERCE
   Mantém visual do tema e organiza a página do produto.
========================================================= */

:root {
    --rt-product-accent: #ff4a00;
    --rt-product-accent-soft: #ff6a1f;
    --rt-product-accent-dark: #c93a00;
    --rt-product-accent-bg: #fff3eb;
}

.single-product .container {
    width: min(var(--rt-site-container), calc(100% - 40px));
    max-width: none;
    margin: 34px auto 56px;
    padding: 0;
}

.rt-single-product-nav {
    width: 100%;
    margin: 0 0 18px;
}

.rt-product-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    background: var(--rt-product-accent);
    color: #ffffff;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.rt-product-back-button:hover {
    background: var(--rt-product-accent-dark);
    color: #ffffff;
}

.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    gap: 34px;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 0;
}

.single-product div.product::before,
.single-product div.product::after {
    display: none;
    content: none;
}

.single-product div.product div.images,
.single-product div.product div.summary {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

.single-product div.product div.images {
    position: relative;
    background: linear-gradient(145deg, #f1f1f1, #ffffff);
    border: none;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
    overflow: visible;
}

.single-product div.product div.images img {
    width: 100%;
    max-height: 560px;
    object-fit: contain;
    background: transparent;
    border: none;
    border-radius: 10px;
    margin: 0 auto;
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image {
    margin: 0;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
    margin-bottom: 26px !important;
}

.single-product div.product .flex-control-nav.flex-control-thumbs,
.single-product div.product .flex-control-thumbs {
    clear: both;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
    gap: 14px;
    margin: 26px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid rgba(255, 106, 31, 0.20);
}

.single-product div.product .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    list-style: none;
    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 7px;
}

.single-product div.product .flex-control-thumbs img {
    height: 72px;
    object-fit: contain;
    opacity: 1;
    border-radius: 6px;
}

.single-product div.product .onsale {
    position: absolute !important;
    left: 24px !important;
    top: 24px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 30;
    min-height: 0 !important;
    min-width: 0 !important;
    height: 28px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 14px 0 20px !important;
    margin: 0 !important;
    background: var(--rt-product-accent) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    border-left: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em;
    overflow: visible !important;
}

.single-product div.product .onsale::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 10px;
    height: 100%;
    background: #111111;
    border-radius: 4px 0 0 4px;
}

.single-product div.product .summary {
    background: #ffffff;
    border: 1px solid #ffd2bd;
    border-top: 4px solid var(--rt-product-accent);
    border-radius: 12px;
    padding: 26px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.06);
}

.single-product div.product .product_title {
    font-size: 34px;
    line-height: 1.18;
    color: var(--text);
    margin: 0 0 14px;
}

.single-product div.product .woocommerce-product-rating {
    margin: 0 0 14px;
}

.single-product div.product .price {
    color: var(--rt-product-accent) !important;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.15;
    margin: 18px 0;
}

.single-product div.product .price del {
    color: #777777 !important;
    font-size: 18px;
    font-weight: 600;
    opacity: 0.75;
}

.single-product div.product .price ins {
    color: var(--rt-product-accent) !important;
    text-decoration: none;
}

.single-product div.product .woocommerce-product-details__short-description {
    color: var(--text);
    line-height: 1.65;
    margin: 16px 0 0;
}

.single-product div.product .woocommerce-product-details__short-description p {
    margin-bottom: 12px;
}

.rt-single-condition {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0 18px;
    padding: 13px 14px;
    background: var(--rt-product-accent-bg);
    border: 1px solid #ffd2bd;
    border-radius: 8px;
}

.rt-single-condition .rt-condition-badge {
    position: relative;
    flex: 0 0 32px;
}

.rt-single-condition-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rt-single-condition-text strong {
    color: var(--text);
    font-size: 15px;
}

.rt-single-condition-text span {
    display: none;
}

.single-product div.product form.cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 22px 0 0;
}

.single-product div.product form.cart .quantity {
    flex: 0 0 92px;
}

.single-product div.product form.cart .quantity input.qty {
    width: 100%;
    height: 48px;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    background: #ffffff;
    font-weight: 700;
}

.single-product div.product form.cart .button,
.single-product div.product .single_add_to_cart_button {
    min-height: 48px;
    background: var(--rt-product-accent);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0 24px;
    font-weight: 800;
    text-transform: none;
}

.single-product div.product form.cart .button:hover,
.single-product div.product .single_add_to_cart_button:hover {
    background: var(--rt-product-accent-dark);
    color: #ffffff;
}

.single-product div.product .stock {
    display: inline-flex;
    align-items: center;
    margin: 14px 0 0;
    padding: 6px 10px;
    border-radius: 5px;
    background: #f7f7f7;
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.single-product div.product .product_meta {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.single-product div.product .product_meta a {
    color: var(--rt-product-accent-dark);
    text-decoration: none;
    font-weight: 700;
}

.rt-single-trust-box {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.rt-single-trust-box div {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    background: var(--rt-product-accent-bg);
    border: 1px solid #ffd2bd;
    border-radius: 8px;
}

.rt-single-trust-box strong {
    color: var(--text);
    font-size: 13px;
}

.rt-single-trust-box span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

/* Caminho/breadcrumb do produto */
.single-product .woocommerce-breadcrumb {
    margin: 0 0 18px !important;
    color: var(--rt-product-accent) !important;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 800;
}

.single-product .woocommerce-breadcrumb a {
    color: #6b3a25 !important;
    text-decoration: none;
    font-weight: 700;
}

.single-product .woocommerce-breadcrumb a:hover {
    color: var(--rt-product-accent) !important;
}

.single-product .woocommerce-breadcrumb .breadcrumb_last,
.single-product .woocommerce-breadcrumb span:last-child {
    color: var(--rt-product-accent) !important;
    font-weight: 900;
}

/* Reforço contra cores padrão do WooCommerce */
.woocommerce.single-product div.product p.price,
.woocommerce.single-product div.product span.price,
.single-product.woocommerce div.product p.price,
.single-product.woocommerce div.product span.price,
.single-product div.product p.price,
.single-product div.product span.price {
    color: var(--rt-product-accent) !important;
}

.woocommerce.single-product div.product p.price ins,
.woocommerce.single-product div.product span.price ins,
.single-product.woocommerce div.product p.price ins,
.single-product.woocommerce div.product span.price ins,
.single-product div.product p.price ins,
.single-product div.product span.price ins {
    color: var(--rt-product-accent) !important;
}

.woocommerce.single-product div.product p.price del,
.woocommerce.single-product div.product span.price del,
.single-product.woocommerce div.product p.price del,
.single-product.woocommerce div.product span.price del,
.single-product div.product p.price del,
.single-product div.product span.price del {
    color: #777777 !important;
}

/* Variações e produtos agrupados */
.single-product div.product form.cart.variations_form,
.single-product div.product form.cart.grouped_form {
    display: block;
}

.single-product div.product form.cart .variations {
    width: 100%;
    margin-bottom: 18px;
    border-collapse: separate;
    border-spacing: 0 10px;
}

.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td {
    display: block;
    width: 100%;
    padding: 0;
    text-align: left;
}

.single-product div.product form.cart .variations label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    color: var(--text);
}

.single-product div.product form.cart .variations select,
.single-product #review_form input[type="text"],
.single-product #review_form input[type="email"],
.single-product #review_form textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 11px 12px;
    background: #ffffff;
    color: var(--text);
}

.single-product div.product form.cart .reset_variations {
    display: inline-block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}

.single-product div.product .woocommerce-variation-price .price {
    display: block;
    margin: 12px 0;
}

/* Abas: descrição, informações adicionais e avaliações */
.single-product .woocommerce-tabs {
    width: 100%;
    margin: 34px 0 0;
    background: #ffffff;
    border: 1px solid #ffd2bd;
    border-top: 4px solid var(--rt-product-accent);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.05);
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--border);
    background: #f7f7f7;
}

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

.single-product .woocommerce-tabs ul.tabs li,
.single-product .woocommerce-tabs ul.tabs li.active {
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

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

.single-product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 16px 22px;
    color: var(--text);
    font-weight: 800;
    text-decoration: none;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--primary);
    background: #ffffff;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 26px;
    color: var(--text);
    line-height: 1.65;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Reviews-title,
.single-product #reviews #comments h2 {
    font-size: 24px;
    margin: 0 0 16px;
    color: var(--text);
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel p,
.single-product #reviews p {
    margin-bottom: 14px;
}

.single-product .woocommerce-tabs table.shop_attributes {
    border: none;
    margin: 0;
}

.single-product .woocommerce-tabs table.shop_attributes th,
.single-product .woocommerce-tabs table.shop_attributes td {
    border-color: var(--border);
    padding: 12px;
}

.single-product #reviews #comments ol.commentlist {
    padding: 0;
    margin: 0 0 22px;
}

.single-product #reviews #comments ol.commentlist li .comment-text {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
}

.single-product #review_form_wrapper,
.single-product #review_form {
    border-top: 1px solid var(--border);
    padding-top: 20px;
}

.single-product #review_form textarea {
    min-height: 120px;
    resize: vertical;
}

.single-product #review_form .form-submit input,
.single-product .woocommerce button.button,
.single-product .woocommerce a.button {
    background: var(--rt-product-accent);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 12px 18px;
    font-weight: 800;
}

.single-product #review_form .form-submit input:hover,
.single-product .woocommerce button.button:hover,
.single-product .woocommerce a.button:hover {
    background: var(--rt-product-accent-dark);
    color: #ffffff;
}

/* Relacionados */
.single-product section.related,
.single-product section.upsells {
    margin-top: 34px;
}

.single-product section.related > h2,
.single-product section.upsells > h2 {
    font-size: 24px;
    margin: 0 0 18px;
    color: var(--text);
}

/* Oculta navegação padrão de posts no rodapé do produto */
.single-product .post-navigation,
.single-product .posts-navigation,
.single-product nav.navigation.post-navigation,
.single-product .nav-links {
    display: none;
}

@media screen and (max-width: 980px) {
    .single-product div.product {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .single-product div.product div.images img {
        max-height: 460px;
    }
}

@media screen and (max-width: 640px) {
    .single-product .container {
        width: min(100% - 24px, 100%);
        margin-top: 24px;
    }

    .single-product div.product .summary,
    .single-product div.product div.images {
        padding: 18px;
        border-radius: 10px;
    }

    .single-product div.product .product_title {
        font-size: 26px;
    }

    .single-product div.product .price {
        font-size: 25px;
    }

    .single-product div.product form.cart {
        display: grid;
        grid-template-columns: 90px 1fr;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 13px 14px;
        font-size: 13px;
    }

    .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 20px;
    }
}

/* Correção: galeria separada e blocos abaixo em colunas independentes */
.single-product div.product div.images {
    grid-column: 1;
    grid-row: 1;
}

.single-product div.product div.summary {
    grid-column: 2;
    grid-row: 1;
}

.single-product div.product .woocommerce-product-gallery {
    display: block !important;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
    display: block !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
}

.single-product div.product .woocommerce-product-gallery__image:first-child {
    margin-bottom: 0 !important;
}

.single-product div.product .flex-control-nav.flex-control-thumbs,
.single-product div.product .flex-control-thumbs,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: static !important;
    clear: both !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(82px, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid rgba(255, 106, 31, 0.24) !important;
}

.single-product div.product .flex-control-thumbs li,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    list-style: none !important;
}

.single-product div.product .flex-control-thumbs img,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
    display: block !important;
    width: 100% !important;
    height: 78px !important;
    object-fit: contain !important;
}

.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block {
    width: 100%;
    margin: 0;
    background: #ffffff;
    border: 1px solid #ffd2bd;
    border-top: 4px solid var(--rt-product-accent);
    border-radius: 12px;
    padding: 26px;
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.05);
}

.single-product .rt-single-product-description-block {
    grid-column: 1;
    grid-row: 2;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2;
    grid-row: 2;
}

.single-product .rt-single-product-description-block h2,
.single-product .rt-single-product-reviews-block h2,
.single-product .rt-single-product-reviews-block .woocommerce-Reviews-title,
.single-product .rt-single-product-reviews-block #comments h2 {
    font-size: 24px;
    margin: 0 0 16px;
    color: var(--text);
}

.single-product .rt-single-product-description-block p,
.single-product .rt-single-product-reviews-block p {
    margin: 0 0 14px;
    color: var(--text);
    line-height: 1.65;
}

.single-product .rt-single-product-reviews-block #reviews #comments ol.commentlist {
    padding: 0;
    margin: 0 0 22px;
}

.single-product .rt-single-product-reviews-block #reviews #comments ol.commentlist li .comment-text {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px;
}

.single-product .rt-single-product-reviews-block #review_form_wrapper,
.single-product .rt-single-product-reviews-block #review_form {
    border-top: 1px solid var(--border);
    padding-top: 20px;
}

.single-product section.related,
.single-product section.upsells {
    grid-column: 1 / -1;
}

@media screen and (max-width: 980px) {
    .single-product div.product div.images,
    .single-product div.product div.summary,
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block,
    .single-product section.related,
    .single-product section.upsells {
        grid-column: 1;
        grid-row: auto;
    }
}

@media screen and (max-width: 640px) {
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block {
        padding: 20px;
        border-radius: 10px;
    }

    .single-product div.product .flex-control-nav.flex-control-thumbs,
    .single-product div.product .flex-control-thumbs,
    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)) !important;
        gap: 12px !important;
        margin-top: 24px !important;
        padding-top: 16px !important;
    }

    .single-product div.product .flex-control-thumbs img,
    .single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
        height: 68px !important;
    }
}


/* =========================================================
   CORREÇÃO FINAL - GALERIA DO PRODUTO INDIVIDUAL
   Mantém Descrição na coluna das imagens e Avaliações na coluna de resumo.
========================================================= */
.single-product div.product {
    row-gap: 30px !important;
}

.single-product div.product div.images {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.single-product div.product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 0 !important;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product div.product .woocommerce-product-gallery__image:first-child {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 430px !important;
    margin: 0 0 34px !important;
    padding: 16px !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.single-product div.product .woocommerce-product-gallery__image:first-child a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    cursor: default !important;
}

.single-product div.product .woocommerce-product-gallery__image:not(:first-child) {
    margin: 0 !important;
}

.single-product div.product .flex-control-nav.flex-control-thumbs,
.single-product div.product .flex-control-thumbs,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    clear: both !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid rgba(255, 106, 31, 0.28) !important;
    list-style: none !important;
}

.single-product div.product .flex-control-thumbs li,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 8px !important;
    min-height: 92px !important;
    background: #ffffff !important;
    border: 1px solid #ffd2bd !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}

.single-product div.product .flex-control-thumbs li:hover,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover,
.single-product div.product .flex-control-thumbs li.rt-gallery-thumb-active,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li.rt-gallery-thumb-active {
    border-color: var(--rt-product-accent) !important;
    box-shadow: 0 8px 18px rgba(255, 74, 0, 0.16) !important;
}

.single-product div.product .flex-control-thumbs img,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs img {
    display: block !important;
    width: 100% !important;
    max-width: 86px !important;
    height: 76px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
}

.single-product div.product .woocommerce-product-gallery__trigger {
    display: none !important;
}

.single-product div.product .woocommerce-product-gallery__image:first-child .onsale,
.single-product div.product div.images .onsale {
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 40 !important;
    height: 28px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px 0 20px !important;
    margin: 0 !important;
    background: var(--rt-product-accent) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    overflow: visible !important;
}

.single-product div.product .woocommerce-product-gallery__image:first-child .onsale::before,
.single-product div.product div.images .onsale::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 10px !important;
    height: 100% !important;
    background: #111111 !important;
    border-radius: 4px 0 0 4px !important;
}

.single-product .rt-single-product-description-block {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

@media screen and (max-width: 980px) {
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product div.product .woocommerce-product-gallery__image:first-child {
        min-height: 340px !important;
        margin-bottom: 26px !important;
    }
}

/* =========================================================
   RT RECOVERY - GALERIA CUSTOMIZADA ESTILO MARKETPLACE
   Remove dependência da galeria padrão do WooCommerce e mantém
   miniaturas à esquerda com troca contínua no hover/click.
========================================================= */
.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    display: block !important;
}

.single-product div.product .rt-product-gallery-inner {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
}

.single-product div.product .rt-product-thumbs {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 92px !important;
    max-height: 560px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 4px 0 0 !important;
    margin: 0 !important;
    border: none !important;
}

.single-product div.product .rt-product-thumb {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 84px !important;
    height: 84px !important;
    flex: 0 0 84px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #ffd2bd !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    box-shadow: none !important;
    appearance: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.single-product div.product .rt-product-thumb:hover,
.single-product div.product .rt-product-thumb:focus,
.single-product div.product .rt-product-thumb.is-active {
    border-color: var(--rt-product-accent) !important;
    box-shadow: 0 8px 18px rgba(255, 74, 0, 0.16) !important;
    outline: none !important;
}

.single-product div.product .rt-product-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    opacity: 1 !important;
}

.single-product div.product .rt-product-main-image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 560px !important;
    min-height: 560px !important;
    max-height: 560px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
}

.single-product div.product .rt-product-main-image-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

.single-product div.product .rt-product-main-image .onsale {
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 40 !important;
    height: 28px !important;
    min-height: 0 !important;
    min-width: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px 0 20px !important;
    margin: 0 !important;
    background: var(--rt-product-accent) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    overflow: visible !important;
}

.single-product div.product .rt-product-main-image .onsale::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 10px !important;
    height: 100% !important;
    background: #111111 !important;
    border-radius: 4px 0 0 4px !important;
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .flex-control-nav.flex-control-thumbs,
.single-product div.product .flex-control-thumbs,
.single-product div.product .woocommerce-product-gallery__trigger {
    display: none !important;
}

.single-product .rt-single-product-description-block {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

@media screen and (max-width: 980px) {
    .single-product div.product .rt-custom-product-gallery.images,
    .single-product div.product div.images.rt-custom-product-gallery,
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product div.product .rt-product-gallery-inner {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .single-product div.product .rt-product-thumbs {
        width: 76px !important;
        max-height: 440px !important;
        gap: 10px !important;
    }

    .single-product div.product .rt-product-thumb {
        width: 70px !important;
        height: 70px !important;
        flex-basis: 70px !important;
    }

    .single-product div.product .rt-product-main-image {
        height: 440px !important;
        min-height: 440px !important;
        max-height: 440px !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product div.product .rt-product-gallery-inner {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .single-product div.product .rt-product-thumbs {
        order: 2 !important;
        flex-direction: row !important;
        width: 100% !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 6px !important;
    }

    .single-product div.product .rt-product-main-image {
        order: 1 !important;
        height: 340px !important;
        min-height: 340px !important;
        max-height: 340px !important;
    }
}

/* =========================================================
   RT RECOVERY - AJUSTES DE OFERTA, AVALIAÇÕES E RECOMENDAÇÕES
   Mantém galeria aprovada e reorganiza comentários/formulário.
========================================================= */
.single-product div.product .rt-product-main-image .onsale,
.single-product div.product .woocommerce-product-gallery__image:first-child .onsale,
.single-product div.product div.images .onsale {
    left: 0 !important;
    top: 0 !important;
    border-radius: 0 4px 4px 0 !important;
}

.single-product div.product .rt-product-main-image .onsale::before,
.single-product div.product .woocommerce-product-gallery__image:first-child .onsale::before,
.single-product div.product div.images .onsale::before {
    border-radius: 0 !important;
}

.single-product .rt-single-product-reviews-block {
    height: 560px !important;
    max-height: 560px !important;
    display: flex !important;
    flex-direction: column !important;
}

.single-product .rt-single-product-reviews-block .rt-reviews-only,
.single-product .rt-single-product-reviews-block #comments {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.single-product .rt-single-product-reviews-block .rt-reviews-scroll {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
}

.single-product .rt-single-product-reviews-block #reviews #comments ol.commentlist,
.single-product .rt-single-product-reviews-block ol.commentlist {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .rt-single-product-reviews-block #review_form_wrapper,
.single-product .rt-single-product-reviews-block #review_form,
.single-product .rt-single-product-reviews-block .comment-respond {
    display: none !important;
}

.single-product .rt-single-product-review-form-block {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: start !important;
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #ffd2bd !important;
    border-top: 4px solid var(--rt-product-accent) !important;
    border-radius: 12px !important;
    padding: 26px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.05) !important;
}

.single-product .rt-single-product-review-form-block h2 {
    font-size: 24px !important;
    margin: 0 0 12px !important;
    color: var(--text) !important;
}

.single-product .rt-review-form-intro {
    color: var(--muted) !important;
    line-height: 1.6 !important;
    margin: 0 0 18px !important;
}

.single-product .rt-review-login-box {
    display: grid !important;
    gap: 10px !important;
    padding: 16px !important;
    background: var(--rt-product-accent-bg) !important;
    border: 1px solid #ffd2bd !important;
    border-radius: 10px !important;
}

.single-product .rt-review-login-box strong {
    color: var(--text) !important;
    font-size: 16px !important;
}

.single-product .rt-review-login-box span,
.single-product .rt-review-login-box small {
    color: var(--muted) !important;
    line-height: 1.45 !important;
}

.single-product .rt-review-login-button,
.single-product .rt-social-review-button,
.single-product .rt-single-product-review-form-block #submit {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    padding: 0 16px !important;
    background: var(--rt-product-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.single-product .rt-social-review-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 4px !important;
}

.single-product .rt-social-review-button:disabled {
    background: #333333 !important;
    opacity: 0.72 !important;
    cursor: not-allowed !important;
}

.single-product .rt-single-product-review-form-block .comment-form-rating,
.single-product .rt-single-product-review-form-block .comment-form-comment,
.single-product .rt-single-product-review-form-block .comment-form-author,
.single-product .rt-single-product-review-form-block .comment-form-email {
    margin: 0 0 14px !important;
}

.single-product .rt-single-product-review-form-block label {
    display: block !important;
    margin: 0 0 6px !important;
    font-weight: 800 !important;
    color: var(--text) !important;
}

.single-product .rt-single-product-review-form-block select,
.single-product .rt-single-product-review-form-block input[type="text"],
.single-product .rt-single-product-review-form-block input[type="email"],
.single-product .rt-single-product-review-form-block textarea {
    width: 100% !important;
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 11px 12px !important;
    background: #ffffff !important;
    color: var(--text) !important;
}

.single-product .rt-single-product-review-form-block textarea {
    min-height: 130px !important;
    resize: vertical !important;
}

.single-product .rt-product-recommendations-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    display: grid !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
}

.single-product .rt-product-recommendation-section {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #ffd2bd !important;
    border-top: 4px solid var(--rt-product-accent) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.05) !important;
}

.single-product .rt-product-recommendation-section h2 {
    font-size: 24px !important;
    margin: 0 0 18px !important;
    color: var(--text) !important;
}

.single-product .rt-product-recommendation-section ul.products,
.single-product .rt-product-recommendation-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .rt-product-recommendation-section ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

@media screen and (max-width: 980px) {
    .single-product .rt-single-product-review-form-block,
    .single-product .rt-product-recommendations-wrap {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 440px !important;
        max-height: 440px !important;
    }

    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product .rt-single-product-review-form-block,
    .single-product .rt-product-recommendation-section {
        padding: 20px !important;
        border-radius: 10px !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 380px !important;
        max-height: 380px !important;
    }

    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   RT RECOVERY - AJUSTES VISUAIS DESCRIÇÃO, AVALIAÇÕES E CARDS
   Mantém a galeria marketplace aprovada.
========================================================= */

/* Estrelas de avaliação em tom do site */
.single-product .star-rating,
.single-product .star-rating::before,
.single-product .star-rating span::before,
.single-product .comment-form-rating .stars a,
.single-product .comment-form-rating .stars a::before,
.single-product .woocommerce-review__dash,
.single-product .woocommerce-review__published-date {
    color: var(--rt-product-accent) !important;
}

.single-product .comment-form-rating .stars:hover a,
.single-product .comment-form-rating .stars.selected a,
.single-product .comment-form-rating .stars a:hover,
.single-product .comment-form-rating .stars a.active {
    color: var(--rt-product-accent-soft) !important;
}

/* Campos principais com apenas a borda superior aparente */
.single-product div.product .summary,
.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block,
.single-product .rt-single-product-review-form-block,
.single-product .rt-product-recommendation-section {
    border: 0 !important;
    border-top: 4px solid var(--rt-product-accent) !important;
}

/* Reorganização: descrição à esquerda; avaliações e formulário à direita */
.single-product .rt-single-product-description-block {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    height: 690px !important;
    max-height: 690px !important;
    display: flex !important;
    flex-direction: column !important;
}

.single-product .rt-single-product-description-content {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
}

.single-product .rt-single-product-description-block > p {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding-right: 8px !important;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2 !important;
    grid-row: 2 !important;
    height: 300px !important;
    max-height: 300px !important;
    min-height: 300px !important;
}

.single-product .rt-single-product-review-form-block {
    grid-column: 2 !important;
    grid-row: 3 !important;
    height: 360px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.single-product .rt-product-recommendations-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
}

/* Cards compactos somente nas seções de recomendações do produto individual */
.single-product .rt-product-recommendation-section {
    padding: 20px !important;
}

.single-product .rt-product-recommendation-section h2 {
    font-size: 22px !important;
    margin-bottom: 14px !important;
}

.single-product .rt-product-recommendation-section ul.products,
.single-product .rt-product-recommendation-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.single-product .rt-product-recommendation-section ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce-page ul.products li.product {
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
    padding: 12px !important;
    border: 0 !important;
    overflow: hidden !important;
}

.single-product .rt-product-recommendation-section ul.products li.product img {
    height: 145px !important;
    max-height: 145px !important;
    margin-bottom: 8px !important;
    object-fit: contain !important;
}

.single-product .rt-product-recommendation-section .woocommerce-loop-product__title {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    margin: 0 0 6px !important;
    overflow: hidden !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .price {
    min-height: 22px !important;
    margin: 2px 0 6px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    color: var(--rt-product-accent) !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .button {
    height: 34px !important;
    min-height: 34px !important;
    margin-top: auto !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .onsale {
    top: 146px !important;
    left: 12px !important;
    height: 22px !important;
    font-size: 11px !important;
}

.single-product .rt-product-recommendation-section .rt-product-condition {
    top: 10px !important;
    right: 10px !important;
}

.single-product .rt-product-recommendation-section .rt-condition-badge {
    width: 28px !important;
    height: 28px !important;
    border-radius: 5px !important;
    font-size: 13px !important;
}

@media screen and (max-width: 980px) {
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block,
    .single-product .rt-single-product-review-form-block,
    .single-product .rt-product-recommendations-wrap {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-review-form-block {
        height: auto !important;
        max-height: none !important;
    }

    .single-product .rt-single-product-description-content {
        max-height: 420px !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 300px !important;
        max-height: 300px !important;
        min-height: 300px !important;
    }

    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: 1fr !important;
    }

    .single-product .rt-product-recommendation-section ul.products li.product {
        height: 315px !important;
        min-height: 315px !important;
        max-height: 315px !important;
    }
}

/* =========================================================
   RT RECOVERY - REFINO VISUAL DOS BLOCOS DO PRODUTO
   Teste com borda superior + laterais, textos mais compactos
   e formulário de avaliação sem rolagem.
========================================================= */

/* Blocos com borda superior e laterais, sem borda inferior */
.single-product div.product .summary,
.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block,
.single-product .rt-single-product-review-form-block,
.single-product .rt-product-recommendation-section {
    border-top: 4px solid var(--rt-product-accent) !important;
    border-right: 1px solid #ffd2bd !important;
    border-bottom: 0 !important;
    border-left: 1px solid #ffd2bd !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Remove movimento de hover nos cards de produtos recomendados */
.single-product .rt-product-recommendation-section ul.products li.product,
.single-product .rt-product-recommendation-section ul.products li.product:hover,
.single-product .rt-product-recommendation-section .product,
.single-product .rt-product-recommendation-section .product:hover {
    transform: none !important;
    translate: none !important;
    transition-property: box-shadow, border-color, background-color, color !important;
}

/* Remove qualquer elevação herdada do card.css apenas dentro da página individual */
.single-product .rt-product-recommendation-section ul.products li.product:hover {
    box-shadow: none !important;
}

/* Textos corridos mais compactos, sem alterar títulos/subtítulos/blocos de confiança/meta */
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .woocommerce-product-details__short-description p,
.single-product .rt-single-product-description-content,
.single-product .rt-single-product-description-content p,
.single-product .rt-single-product-description-block > p,
.single-product .rt-single-product-reviews-block .comment-text,
.single-product .rt-single-product-reviews-block .comment-text p,
.single-product .rt-single-product-reviews-block .description,
.single-product .rt-single-product-reviews-block .description p,
.single-product .rt-single-product-reviews-block .rt-reviews-empty p,
.single-product .rt-review-form-intro,
.single-product .rt-review-login-box span,
.single-product .rt-review-login-box small {
    font-size: 13px !important;
    line-height: 1.38 !important;
}

.single-product div.product .woocommerce-product-details__short-description p,
.single-product .rt-single-product-description-content p,
.single-product .rt-single-product-description-block > p,
.single-product .rt-single-product-reviews-block .comment-text p,
.single-product .rt-single-product-reviews-block .description p,
.single-product .rt-review-form-intro {
    margin-bottom: 8px !important;
}

/* Descrição e avaliações continuam com rolagem interna */
.single-product .rt-single-product-description-block {
    height: 650px !important;
    max-height: 650px !important;
}

.single-product .rt-single-product-description-content {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.single-product .rt-single-product-reviews-block {
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
}

.single-product .rt-single-product-reviews-block .rt-reviews-scroll {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* Avalie este produto mais compacto e sem barra de rolagem */
.single-product .rt-single-product-review-form-block {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 20px 22px !important;
}

.single-product .rt-single-product-review-form-block h2 {
    margin-bottom: 8px !important;
}

.single-product .rt-review-form-intro {
    margin: 0 0 10px !important;
}

.single-product .rt-review-login-box {
    gap: 8px !important;
    padding: 12px 14px !important;
}

.single-product .rt-review-login-box strong {
    font-size: 14px !important;
}

.single-product .rt-social-review-actions {
    gap: 8px !important;
}

.single-product .rt-review-login-button,
.single-product .rt-social-review-button,
.single-product .rt-single-product-review-form-block #submit {
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
}

@media screen and (max-width: 980px) {
    .single-product .rt-single-product-description-block {
        height: auto !important;
        max-height: none !important;
    }

    .single-product .rt-single-product-description-content {
        max-height: 420px !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 285px !important;
        min-height: 285px !important;
        max-height: 285px !important;
    }
}

/* =========================================================
   RT RECOVERY - CORREÇÃO DE NÍVEIS E CARDS DE RECOMENDAÇÃO
   Linhas horizontais por faixa da página, sem bordas individuais.
========================================================= */

.single-product div.product {
    --rt-level-line: #ffd2bd;
    --rt-row-gap: 22px;
    --rt-reviews-height: 285px;
    --rt-review-form-height: 245px;
    row-gap: var(--rt-row-gap) !important;
    column-gap: 34px !important;
    align-items: stretch !important;
}

/* Remove bordas de caixas individuais para evitar aparência de blocos separados. */
.single-product div.product .summary,
.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block,
.single-product .rt-single-product-review-form-block,
.single-product .rt-product-recommendation-section {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
}

/* Linha de nível 1: fim da faixa imagem + informações do produto. */
.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery,
.single-product div.product .summary {
    border-bottom: 1px solid var(--rt-level-line) !important;
    padding-bottom: 26px !important;
    align-self: stretch !important;
}

/* Mantém o bloco visual interno da galeria sem borda externa. */
.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery {
    background: transparent !important;
}

/* Descrição deve acompanhar a altura de Avaliações + Avalie este produto. */
.single-product .rt-single-product-description-block {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    min-height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    max-height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 24px 0 26px !important;
    border-bottom: 1px solid var(--rt-level-line) !important;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2 !important;
    grid-row: 2 !important;
    height: var(--rt-reviews-height) !important;
    min-height: var(--rt-reviews-height) !important;
    max-height: var(--rt-reviews-height) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 24px 0 0 !important;
}

.single-product .rt-single-product-review-form-block {
    grid-column: 2 !important;
    grid-row: 3 !important;
    height: var(--rt-review-form-height) !important;
    min-height: var(--rt-review-form-height) !important;
    max-height: var(--rt-review-form-height) !important;
    overflow: visible !important;
    padding: 0 0 26px !important;
    border-bottom: 1px solid var(--rt-level-line) !important;
}

.single-product .rt-single-product-description-content,
.single-product .rt-single-product-description-block > p {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
}

.single-product .rt-single-product-reviews-block .rt-reviews-scroll {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
}

/* Recomendações: cada faixa separada por uma linha reta, não por card/borda arredondada. */
.single-product .rt-product-recommendations-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
}

.single-product .rt-product-recommendation-section {
    padding: 24px 0 28px !important;
    border-bottom: 1px solid var(--rt-level-line) !important;
}

.single-product .rt-product-recommendation-section:last-child {
    border-bottom: 0 !important;
}

.single-product .rt-product-recommendation-section h2 {
    font-size: 22px !important;
    margin: 0 0 16px !important;
}

/* Cards menores de verdade: diminui o card, não apenas a imagem. */
.single-product .rt-product-recommendation-section ul.products,
.single-product .rt-product-recommendation-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(190px, 215px)) !important;
    justify-content: start !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .rt-product-recommendation-section ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce-page ul.products li.product {
    width: 100% !important;
    height: 310px !important;
    min-height: 310px !important;
    max-height: 310px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(145deg, #f1f1f1, #ffffff) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
    transform: none !important;
    transition: none !important;
}

.single-product .rt-product-recommendation-section ul.products li.product:hover,
.single-product .rt-product-recommendation-section .product:hover {
    transform: none !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
}

.single-product .rt-product-recommendation-section ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    padding: 0 10px 0 !important;
}

.single-product .rt-product-recommendation-section ul.products li.product img {
    width: calc(100% + 20px) !important;
    height: 155px !important;
    max-height: 155px !important;
    margin: 0 -10px 10px !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 10px 10px 0 0 !important;
    display: block !important;
}

.single-product .rt-product-recommendation-section .woocommerce-loop-product__title {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .price {
    min-height: 20px !important;
    margin: 0 0 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .button {
    width: auto !important;
    max-width: calc(100% - 20px) !important;
    height: 32px !important;
    min-height: 32px !important;
    align-self: flex-start !important;
    margin: auto 10px 10px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.single-product .rt-product-recommendation-section .rt-product-condition {
    top: 8px !important;
    right: 8px !important;
}

.single-product .rt-product-recommendation-section .rt-condition-badge {
    width: 26px !important;
    height: 26px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .onsale {
    top: 132px !important;
    left: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 9px !important;
    border-radius: 0 4px 4px 0 !important;
    font-size: 10px !important;
}

@media screen and (max-width: 980px) {
    .single-product div.product {
        --rt-reviews-height: 285px;
        --rt-review-form-height: auto;
    }

    .single-product div.product .rt-custom-product-gallery.images,
    .single-product div.product div.images.rt-custom-product-gallery,
    .single-product div.product .summary,
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block,
    .single-product .rt-single-product-review-form-block,
    .single-product .rt-product-recommendations-wrap {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-review-form-block {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .single-product .rt-single-product-description-content {
        max-height: 420px !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 285px !important;
        min-height: 285px !important;
        max-height: 285px !important;
    }

    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   RT RECOVERY - AJUSTE REAL DE NÍVEIS DA PÁGINA DO PRODUTO
   Linhas únicas atravessando as duas colunas, sem borda por bloco.
========================================================= */
.single-product div.product {
    --rt-level-line: #ffd2bd;
    --rt-row-gap: 22px;
    --rt-reviews-height: 285px;
    --rt-review-form-height: 245px;
    row-gap: var(--rt-row-gap) !important;
    align-items: stretch !important;
}

/* Remove qualquer linha/borda individual aplicada anteriormente aos blocos. */
.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery,
.single-product div.product .summary,
.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block,
.single-product .rt-single-product-review-form-block,
.single-product .rt-product-recommendation-section {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery,
.single-product div.product .summary {
    grid-row: 1 !important;
    padding-bottom: 0 !important;
    align-self: stretch !important;
}

/* Linhas de nível: uma linha inteira, de uma coluna até a outra. */
.single-product .rt-product-level-line {
    grid-column: 1 / -1 !important;
    height: 1px !important;
    min-height: 1px !important;
    max-height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--rt-level-line) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .rt-product-level-line-after-main {
    grid-row: 2 !important;
}

.single-product .rt-product-level-line-after-content {
    grid-row: 5 !important;
}

/* Descrição fica na coluna esquerda e ocupa a soma vertical de Avaliações + Avalie este produto. */
.single-product .rt-single-product-description-block {
    grid-column: 1 !important;
    grid-row: 3 / span 2 !important;
    height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    min-height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    max-height: calc(var(--rt-reviews-height) + var(--rt-row-gap) + var(--rt-review-form-height)) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.single-product .rt-single-product-reviews-block {
    grid-column: 2 !important;
    grid-row: 3 !important;
    height: var(--rt-reviews-height) !important;
    min-height: var(--rt-reviews-height) !important;
    max-height: var(--rt-reviews-height) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.single-product .rt-single-product-review-form-block {
    grid-column: 2 !important;
    grid-row: 4 !important;
    height: var(--rt-review-form-height) !important;
    min-height: var(--rt-review-form-height) !important;
    max-height: var(--rt-review-form-height) !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
}

.single-product .rt-single-product-description-content,
.single-product .rt-single-product-description-block > p,
.single-product .rt-single-product-reviews-block .rt-reviews-scroll {
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
}

/* Recomendações começam somente abaixo da linha única da seção Descrição/Avaliações/Avalie. */
.single-product .rt-product-recommendations-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 6 !important;
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .rt-product-recommendation-section {
    padding: 24px 0 28px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--rt-level-line) !important;
    background: transparent !important;
}

.single-product .rt-product-recommendation-section:last-child {
    border-bottom: 0 !important;
}

/* Cards das recomendações: card menor; imagem ocupa todo o topo do card; botão menor. */
.single-product .rt-product-recommendation-section ul.products,
.single-product .rt-product-recommendation-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(178px, 200px)) !important;
    justify-content: start !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .rt-product-recommendation-section ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce ul.products li.product,
.single-product .rt-product-recommendation-section .woocommerce-page ul.products li.product {
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: linear-gradient(145deg, #f1f1f1, #ffffff) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
    transform: none !important;
    transition: none !important;
}

.single-product .rt-product-recommendation-section ul.products li.product:hover,
.single-product .rt-product-recommendation-section .product:hover {
    transform: none !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
}

.single-product .rt-product-recommendation-section ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 0 10px !important;
}

.single-product .rt-product-recommendation-section ul.products li.product img,
.single-product .rt-product-recommendation-section ul.products li.product a.woocommerce-LoopProduct-link img {
    width: calc(100% + 20px) !important;
    height: 150px !important;
    max-height: 150px !important;
    min-height: 150px !important;
    margin: 0 -10px 9px !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 10px 10px 0 0 !important;
    display: block !important;
}

.single-product .rt-product-recommendation-section .woocommerce-loop-product__title {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .price {
    min-height: 20px !important;
    margin: 0 0 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: var(--rt-product-accent) !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .button {
    width: auto !important;
    max-width: calc(100% - 20px) !important;
    height: 31px !important;
    min-height: 31px !important;
    align-self: flex-start !important;
    margin: auto 10px 10px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    border-radius: 6px !important;
}

.single-product .rt-product-recommendation-section .rt-product-condition {
    top: 8px !important;
    right: 8px !important;
}

.single-product .rt-product-recommendation-section .rt-condition-badge {
    width: 26px !important;
    height: 26px !important;
    border-radius: 5px !important;
    font-size: 12px !important;
}

.single-product .rt-product-recommendation-section ul.products li.product .onsale {
    top: 126px !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 9px !important;
    border-radius: 0 4px 4px 0 !important;
    font-size: 10px !important;
}

@media screen and (max-width: 980px) {
    .single-product .rt-product-level-line,
    .single-product div.product .rt-custom-product-gallery.images,
    .single-product div.product div.images.rt-custom-product-gallery,
    .single-product div.product .summary,
    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-reviews-block,
    .single-product .rt-single-product-review-form-block,
    .single-product .rt-product-recommendations-wrap {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .single-product .rt-single-product-description-block,
    .single-product .rt-single-product-review-form-block {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .single-product .rt-single-product-description-content {
        max-height: 420px !important;
    }

    .single-product .rt-single-product-reviews-block {
        height: 285px !important;
        min-height: 285px !important;
        max-height: 285px !important;
    }

    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product .rt-product-recommendation-section ul.products,
    .single-product .rt-product-recommendation-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   RT Recovery - Modal de avaliação do produto
   ========================================================= */
.single-product .rt-single-product-review-form-block {
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 20px !important;
}

.single-product .rt-review-compact-box {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 6px 14px !important;
    padding: 14px 16px !important;
}

.single-product .rt-review-compact-box strong,
.single-product .rt-review-compact-box span {
    grid-column: 1 !important;
}

.single-product .rt-review-compact-box .rt-open-review-modal {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    min-height: 38px !important;
    padding: 0 22px !important;
}

.single-product .rt-review-modal {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
}

.single-product .rt-review-modal.is-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
}

.rt-review-modal-open {
    overflow: hidden !important;
}

.single-product .rt-review-modal-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.62) !important;
}

.single-product .rt-review-modal-dialog {
    position: relative !important;
    width: min(620px, 100%) !important;
    max-height: min(720px, calc(100vh - 44px)) !important;
    overflow-y: auto !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 28px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}

.single-product .rt-review-modal-dialog h3 {
    margin: 0 0 18px !important;
    font-size: 24px !important;
    color: var(--text) !important;
}

.single-product .rt-review-modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.single-product .rt-review-modal-dialog .comment-form-rating,
.single-product .rt-review-modal-dialog .comment-form-comment,
.single-product .rt-review-modal-dialog .comment-form-author,
.single-product .rt-review-modal-dialog .comment-form-email {
    margin: 0 0 14px !important;
}

.single-product .rt-review-modal-dialog label {
    display: block !important;
    margin: 0 0 6px !important;
    font-weight: 800 !important;
    color: var(--text) !important;
}

.single-product .rt-review-modal-dialog select,
.single-product .rt-review-modal-dialog input[type="text"],
.single-product .rt-review-modal-dialog input[type="email"],
.single-product .rt-review-modal-dialog textarea {
    width: 100% !important;
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    padding: 11px 12px !important;
    background: #ffffff !important;
    color: var(--text) !important;
}

.single-product .rt-review-modal-dialog textarea {
    min-height: 170px !important;
    resize: vertical !important;
}

.single-product .rt-review-modal-dialog #submit {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    padding: 0 18px !important;
    background: var(--rt-product-accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

@media screen and (max-width: 640px) {
    .single-product .rt-review-compact-box {
        grid-template-columns: 1fr !important;
    }

    .single-product .rt-review-compact-box .rt-open-review-modal {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: fit-content !important;
    }
}

/* =========================================================
   RT RECOVERY - AJUSTE PONTUAL DE ALINHAMENTO DO TOPO
   Corrige somente o alinhamento vertical entre a galeria/foto
   e o bloco de título, preço e informações do produto.
========================================================= */
.single-product div.product .summary {
    padding-top: 0 !important;
    margin-top: 0 !important;
    align-self: start !important;
}

.single-product div.product .summary > :first-child,
.single-product div.product .summary .woocommerce-breadcrumb,
.single-product div.product .summary .product_title {
    margin-top: 0 !important;
}

.single-product div.product .rt-custom-product-gallery.images,
.single-product div.product div.images.rt-custom-product-gallery,
.single-product div.product .rt-product-gallery-inner,
.single-product div.product .rt-product-main-image {
    margin-top: 0 !important;
}

/* =========================================================
   RT RECOVERY - CORREÇÃO DE LARGURA DO PRODUTO INDIVIDUAL
   Mantém a página do produto dentro do mesmo limite do header.
========================================================= */
.single-product .container,
.single-product main .container,
.single-product .site-main .container {
    width: min(1280px, calc(100% - 40px)) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: clip !important;
}

.single-product div.product,
.single-product div.product > *,
.single-product .rt-product-recommendations-wrap,
.single-product .rt-product-recommendation-section,
.single-product .rt-product-recommendation-grid,
.single-product .rt-product-recommendation-section ul.products {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.single-product div.product {
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr) !important;
    column-gap: 28px !important;
    overflow: hidden !important;
}

.single-product div.product .rt-product-gallery-inner,
.single-product div.product .rt-product-main-image,
.single-product div.product .summary,
.single-product .rt-single-product-description-block,
.single-product .rt-single-product-reviews-block,
.single-product .rt-single-product-review-form-block {
    min-width: 0 !important;
    max-width: 100% !important;
}

.single-product .rt-product-recommendation-section ul.products,
.single-product .rt-product-recommendation-grid {
    grid-template-columns: repeat(auto-fill, minmax(178px, 200px)) !important;
    justify-content: start !important;
    overflow: hidden !important;
}

@media screen and (max-width: 980px) {
    .single-product .container,
    .single-product main .container,
    .single-product .site-main .container {
        width: min(100% - 32px, 1280px) !important;
    }

    .single-product div.product {
        grid-template-columns: 1fr !important;
        overflow: visible !important;
    }
}

@media screen and (max-width: 640px) {
    .single-product .container,
    .single-product main .container,
    .single-product .site-main .container {
        width: min(100% - 24px, 1280px) !important;
    }
}

/* =====================================================
   RT RECOVERY - SIMULADOR DE FRETE NO PRODUTO
===================================================== */
.rt-product-shipping-calculator {
    margin: 20px 0 0;
    padding: 16px;
    border: 1px solid rgba(255, 74, 0, 0.28);
    border-radius: 14px;
    background: rgba(17, 17, 17, 0.96);
    color: #ffffff;
}

.rt-product-shipping-calculator label {
    display: block;
    margin: 0 0 10px;
    color: #ff4a00;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.86rem;
}

.rt-product-shipping-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.rt-product-shipping-row input.input-text {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.18);
    background: #ffffff;
    color: #111111;
    padding: 0 14px;
    font-weight: 700;
}

.rt-product-shipping-row .button,
.rt-product-shipping-row .button:hover,
.rt-product-shipping-row .button:focus {
    height: 46px;
    border-radius: 10px;
    background: #ff4a00 !important;
    color: #111111 !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: 900;
    white-space: nowrap;
}

.rt-product-shipping-row .button:hover,
.rt-product-shipping-row .button:focus {
    background: #d63e00 !important;
}

.rt-product-shipping-result {
    margin-top: 12px;
}

.rt-product-shipping-error,
.rt-product-shipping-loading {
    margin: 0;
    font-size: 0.94rem;
    color: rgba(255,255,255,0.82);
}

.rt-product-shipping-error {
    color: #ffb199;
}

.rt-product-shipping-rates {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.rt-product-shipping-rates li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,0.08);
    color: #ffffff;
}

.rt-product-shipping-rates strong {
    color: #ff4a00;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .rt-product-shipping-row {
        flex-direction: column;
    }

    .rt-product-shipping-row .button {
        width: 100%;
    }
}


/* RT RECOVERY - OCULTAR SIMULADOR PROPRIO
   O frete da página de produto deve ser o do plugin Melhor Envio. */
.single-product .rt-product-shipping-calculator,
.single-product #rt_product_shipping_postcode,
.single-product .rt-product-shipping-button,
.single-product .rt-product-shipping-result {
    display: none !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 - espaço entre 'Calcular entrega/Simulação de frete' e CEP */
.rt-product-shipping-calculator label{
    margin-bottom: 16px !important;
}

.rt-product-shipping-row{
    margin-top: 6px !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 - 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;
}
