/*
Theme Name: Sol Rara V43 Final Centralizado
Theme URI: https://solrarajoias.com.br
Author: Sol Rara
Description: Tema oficial da Sol Rara, integrado ao WooCommerce.
Version: 1.0.43.7
Text Domain: sol-rara
*/

:root {
    --sol-green: #17351f;
    --sol-cream: #f4eee6;
    --sol-line: #d8cec1;
}

body.sol-rara-commerce {
    margin: 0;
    background: var(--sol-cream);
    color: var(--sol-green);
    font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.commerce-header {
    display: flex;
    align-items: center;
    min-height: 76px;
    padding: 0 6vw;
    border-bottom: 1px solid var(--sol-line);
}

.commerce-header a {
    color: inherit;
    font-size: 11px;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.commerce-content {
    width: min(1240px, 90vw);
    min-height: 70vh;
    margin: 0 auto;
    padding: 76px 0 120px;
}

.commerce-content button,
.commerce-content .button,
.commerce-content input,
.commerce-content select,
.commerce-content textarea {
    font: inherit;
}

.commerce-content .button,
.commerce-content button[type="submit"] {
    border: 1px solid var(--sol-green);
    border-radius: 0;
    background: var(--sol-green);
    color: #fff;
}

.sol-rara-commerce .wc-block-checkout {
    column-gap: clamp(48px, 7vw, 104px);
}

.sol-rara-commerce .wc-block-components-title,
.sol-rara-commerce .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title,
.sol-rara-commerce .wc-block-checkout__billing-fields .wc-block-components-checkout-step__title,
.sol-rara-commerce .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title {
    margin: 0 0 28px;
    color: var(--sol-green);
    font-size: clamp(21px, 2vw, 28px);
    font-weight: 400;
    letter-spacing: -.025em;
}

.sol-rara-commerce .wc-block-components-checkout-step {
    margin: 0 0 52px;
    padding: 0;
}

.sol-rara-commerce .wc-block-components-checkout-step__container {
    padding-left: 0;
}

.sol-rara-commerce .wc-block-components-text-input,
.sol-rara-commerce .wc-block-components-combobox {
    margin-top: 12px;
}

/* Give the country selector the same breathing room as the other fields. */
.sol-rara-commerce .wc-block-components-address-form__country {
    margin-top: 14px;
    margin-bottom: 14px;
}

.sol-rara-commerce .wc-block-components-text-input input,
.sol-rara-commerce .wc-block-components-combobox .components-combobox-control__input,
.sol-rara-commerce .wc-block-components-address-form select {
    min-height: 58px;
    border: 1px solid #cbc8c2;
    border-radius: 0;
    background: #f1efeb;
    box-shadow: none;
    color: var(--sol-green);
    font-size: 14px;
    transition: border-color .2s ease, background-color .2s ease;
}

.sol-rara-commerce .wc-block-components-text-input input:focus,
.sol-rara-commerce .wc-block-components-combobox .components-combobox-control__input:focus,
.sol-rara-commerce .wc-block-components-address-form select:focus {
    border-color: #aaa69f;
    outline: 0;
    background: #f6f4f0;
    box-shadow: none;
}

.sol-rara-commerce .wc-block-components-text-input label,
.sol-rara-commerce .wc-block-components-combobox label {
    color: rgba(23, 53, 31, .72);
    font-size: 12px;
}

/* Keep every checkout field visually consistent with the country selector. */
.sol-rara-commerce .wc-block-checkout input:not([type="checkbox"]):not([type="radio"]),
.sol-rara-commerce .wc-block-checkout select,
.sol-rara-commerce .wc-block-checkout textarea,
.sol-rara-commerce .wc-block-components-text-input input,
.sol-rara-commerce .wc-block-components-combobox .components-combobox-control__input {
    min-height: 58px !important;
    border: 1px solid #cbc8c2 !important;
    border-radius: 0 !important;
    background-color: #f1efeb !important;
    box-shadow: none !important;
}

.sol-rara-commerce .wc-block-checkout input:not([type="checkbox"]):not([type="radio"]):focus,
.sol-rara-commerce .wc-block-checkout select:focus,
.sol-rara-commerce .wc-block-checkout textarea:focus {
    border-color: #aaa69f !important;
    background-color: #f6f4f0 !important;
    outline: 0 !important;
}

.sol-rara-commerce .wc-block-components-checkout-step__description,
.sol-rara-commerce .wc-block-components-checkout-step__heading-content,
.sol-rara-commerce .wc-block-components-address-form__address_2-toggle {
    color: rgba(23, 53, 31, .68);
    font-size: 12px;
    line-height: 1.7;
}

.sol-rara-commerce .wc-block-checkout__sidebar {
    top: 36px;
}

.sol-rara-commerce .wc-block-components-sidebar {
    border: 0;
}

.sol-rara-commerce .wp-block-woocommerce-checkout-order-summary-block {
    overflow: hidden;
    border: 1px solid rgba(23, 53, 31, .18);
    border-radius: 2px;
    background: rgba(255, 255, 255, .25);
    box-shadow: 0 24px 70px rgba(23, 53, 31, .06);
}

.sol-rara-commerce .wc-block-components-checkout-order-summary__title {
    padding: 25px 24px 20px;
    font-size: 20px;
    font-weight: 400;
}

.sol-rara-commerce .wc-block-components-order-summary,
.sol-rara-commerce .wc-block-components-totals-wrapper {
    padding-right: 24px;
    padding-left: 24px;
}

.sol-rara-commerce .wc-block-components-order-summary-item__description {
    padding-top: 3px;
}

.sol-rara-commerce .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .01em;
}

.sol-rara-commerce .wc-block-components-order-summary-item__image img {
    border-radius: 0;
}

.sol-rara-commerce .wc-block-components-totals-item__label,
.sol-rara-commerce .wc-block-components-totals-item__value {
    font-size: 13px;
}

.sol-rara-commerce .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.sol-rara-commerce .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 21px;
    font-weight: 400;
}

.sol-rara-commerce .wc-block-components-checkout-place-order-button {
    min-height: 58px;
    margin-top: 24px;
    border: 1px solid var(--sol-green);
    background: var(--sol-green);
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
}

.sol-rara-commerce .wc-block-components-checkout-place-order-button:hover {
    background: transparent;
    color: var(--sol-green);
}

/* Página de produto — acabamento editorial Sol Rara */
.sol-rara-commerce a {
    color: var(--sol-green);
}

.single-product .commerce-content {
    width: min(1180px, calc(100vw - 64px));
    padding-top: 54px;
}

.single-product .woocommerce-breadcrumb {
    margin: 0 0 28px;
    color: rgba(23, 53, 31, .58);
    font-size: 11px;
    letter-spacing: .04em;
}

.single-product div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .82fr);
    gap: 64px clamp(48px, 7vw, 96px);
    align-items: start;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a {
    display: block;
}

.single-product .woocommerce-product-gallery__image img.wp-post-image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 780px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center;
    border-radius: 0 !important;
}

.single-product .woocommerce-product-gallery__trigger {
    top: 16px !important;
    right: 16px !important;
    border-radius: 0 !important;
    background: rgba(244, 238, 230, .94) !important;
}

.single-product .summary {
    padding-top: 8px;
}

.single-product .product_title {
    margin: 0 0 22px;
    color: var(--sol-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.single-product .summary .price {
    margin: 0 0 26px;
    color: var(--sol-green) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px !important;
}

.single-product .woocommerce-product-details__short-description {
    margin-bottom: 30px;
    color: rgba(23, 53, 31, .82);
    font-size: 15px;
    line-height: 1.8;
}

/* Mantém somente o cálculo oficial do Melhor Envio. */
.single-product .woo-better-parent-container,
.single-product .woo-better-info-block {
    display: none !important;
}

.single-product #woocommerce-correios-calculo-de-frete-na-pagina-do-produto {
    margin: 0 0 26px !important;
    padding: 24px 0 !important;
    border-top: 1px solid var(--sol-line);
    border-bottom: 1px solid var(--sol-line);
    background: transparent !important;
}

.single-product #woocommerce-correios-calculo-de-frete-na-pagina-do-produto p {
    margin: 0 0 14px;
    color: var(--sol-green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.single-product #inputCep {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    border: 1px solid rgba(23, 53, 31, .3) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .45) !important;
    color: var(--sol-green);
}

.single-product .resultado-frete {
    margin-top: 14px;
    color: var(--sol-green);
    font-size: 13px;
    line-height: 1.7;
}

.single-product form.cart {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
    margin: 0 0 22px !important;
}

.single-product form.cart .quantity {
    float: none !important;
    margin: 0 !important;
}

.single-product form.cart .qty {
    box-sizing: border-box;
    width: 68px;
    height: 56px;
    border: 1px solid rgba(23, 53, 31, .42);
    border-radius: 0 !important;
    background: transparent;
    color: var(--sol-green);
    text-align: center;
}

.single-product .single_add_to_cart_button,
.single-product .related.products .button,
.single-product #review_form #submit {
    min-height: 56px;
    padding: 0 26px !important;
    border: 1px solid var(--sol-green) !important;
    border-radius: 0 !important;
    background: var(--sol-green) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.single-product .single_add_to_cart_button:hover,
.single-product .related.products .button:hover,
.single-product #review_form #submit:hover {
    background: transparent !important;
    color: var(--sol-green) !important;
}

.single-product .product_meta {
    display: none !important;
}

.single-product .woocommerce-tabs,
.single-product .related.products {
    grid-column: 1 / -1;
    float: none !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 30px;
    margin: 0 0 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--sol-line) !important;
}

.single-product .woocommerce-tabs ul.tabs::before,
.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 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    padding: 0 0 13px !important;
    color: rgba(23, 53, 31, .52) !important;
    font-size: 11px;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    margin-bottom: -1px;
    border-bottom: 2px solid var(--sol-green);
    color: var(--sol-green) !important;
}

.single-product .woocommerce-Tabs-panel {
    max-width: 900px;
    color: rgba(23, 53, 31, .84);
    font-size: 15px;
    line-height: 1.85;
}

.single-product .woocommerce-Tabs-panel > h2,
.single-product .related.products > h2,
.single-product .woocommerce-Reviews-title {
    margin: 0 0 24px;
    color: var(--sol-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 400;
    letter-spacing: -.025em;
}

.single-product #review_form_wrapper {
    max-width: 760px;
    margin-top: 32px;
    padding-top: 30px;
    border-top: 1px solid var(--sol-line);
}

.single-product #review_form label {
    display: block;
    margin: 0 0 8px;
    color: var(--sol-green);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.single-product #review_form input[type="text"],
.single-product #review_form input[type="email"],
.single-product #review_form textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 14px;
    border: 1px solid rgba(23, 53, 31, .28);
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .4);
    color: var(--sol-green);
}

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

.single-product p.stars a {
    color: #a48b42 !important;
    font-size: 24px;
    text-decoration: none !important;
}

.single-product .related.products {
    margin-top: 42px !important;
    padding-top: 42px;
    border-top: 1px solid var(--sol-line);
}

.single-product .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

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

.single-product .related.products img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0 !important;
}

.single-product .related.products .woocommerce-loop-product__title {
    padding: 15px 0 7px !important;
    color: var(--sol-green);
    font-size: 13px !important;
    font-weight: 600;
}

.single-product #secondary,
.single-product .widget-area,
.single-product .sidebar {
    display: none !important;
}

@media (max-width: 820px) {
    .single-product .commerce-content {
        width: min(100% - 36px, 680px);
    }

    .single-product div.product {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .single-product .woocommerce-product-gallery__image img.wp-post-image {
        max-height: none;
    }

    .single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 782px) {
    .commerce-header {
        min-height: 64px;
        padding: 0 24px;
    }

    .commerce-content {
        width: min(100% - 40px, 680px);
        padding: 44px 0 80px;
    }

    .sol-rara-commerce .wc-block-checkout {
        display: flex;
        flex-direction: column;
    }

    .sol-rara-commerce .wc-block-checkout__sidebar {
        order: -1;
        margin-bottom: 44px;
    }

    .sol-rara-commerce .wc-block-components-checkout-step {
        margin-bottom: 40px;
    }
}

/* Conta de cliente — acesso e cadastro simples, legível e responsivo. */
.woocommerce-account .woocommerce {
    max-width: 980px;
    margin: 0 auto;
}

.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    margin: 0 0 28px;
    font-family: Georgia, serif;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
    line-height: 1.15;
}

.woocommerce-account .u-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(48px, 8vw, 100px);
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
    float: none !important;
    width: auto !important;
}

.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password,
.woocommerce-account .woocommerce-EditAccountForm {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.woocommerce-account form .form-row {
    margin: 0 0 22px;
    padding: 0;
}

.woocommerce-account form label {
    display: block;
    margin-bottom: 8px;
    color: rgba(23, 53, 31, .72);
    font-size: 11px;
    letter-spacing: .04em;
}

.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="tel"] {
    box-sizing: border-box;
    width: 100%;
    min-height: 54px;
    padding: 12px 15px;
    border: 1px solid #cbc8c2;
    border-radius: 0;
    background: rgba(255, 255, 255, .25);
    color: var(--sol-green);
}

.woocommerce-account form .button,
.woocommerce-account .woocommerce-Button {
    min-height: 50px;
    padding: 12px 28px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--sol-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    border-bottom: 1px solid var(--sol-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: block;
    padding: 15px 0;
    font-size: 12px;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content {
    line-height: 1.75;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    border-top-color: var(--sol-green);
    background: rgba(255, 255, 255, .32);
    color: var(--sol-green);
}

@media (max-width: 960px) {
    .sol-rara-commerce .wc-block-checkout {
        display: flex;
        flex-direction: column;
    }

    .sol-rara-commerce .wc-block-checkout__sidebar {
        position: static;
        order: -1;
        width: 100%;
        margin-bottom: 44px;
    }
}

@media (max-width: 700px) {
    .commerce-content {
        width: min(100% - 32px, 680px);
        padding: 36px 0 68px;
    }

    .woocommerce-account .u-columns {
        grid-template-columns: 1fr;
        gap: 58px;
    }

    .woocommerce-account form .button,
    .woocommerce-account .woocommerce-Button {
        width: 100%;
    }

    .sol-rara-commerce .wc-block-components-checkout-step {
        margin-bottom: 34px;
    }

    .sol-rara-commerce .wc-block-components-checkout-step__title,
    .sol-rara-commerce .wc-block-components-title {
        font-size: 23px;
    }

    .sol-rara-commerce .wc-block-components-text-input input,
    .sol-rara-commerce .wc-block-components-combobox .components-combobox-control__input,
    .sol-rara-commerce .wc-block-checkout input:not([type="checkbox"]):not([type="radio"]) {
        min-height: 54px !important;
    }

    .sol-rara-commerce .wp-block-woocommerce-checkout-order-summary-block {
        box-shadow: none;
    }
}
