/*
Theme Name:   	Olimar 3.0 (Twenty Twenty-Five Child)
Theme URI:    	https://github.com/stuartduff/storefront-child-theme
Author:       	Stuart Duff, Anibal Sá
Author URI:     http://stuartduff.com, https://anibalsa.com
Template:     	twentytwentyfive
Description:  	Child theme for Twenty Twenty-Five theme
Version:      	3.0.0
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	olimar
Tags:         	black, white, light, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Storefront is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
FontAwesome License: SIL Open Font License - http://scripts.sil.org/OFL
Images License: GNU General Public License v2 or later
*/
/*
 * Add your own custom css below this text.
 */

/* ==========================================================================
   CHECKOUT EM ETAPAS (Funcional)
   ========================================================================== */

/* Container Principal */
.lim-checkout-clean {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--lim-space-medium) var(--lim-space-small);
    font-family: 'Raleway', 'Roboto Condensed', sans-serif;
}

/* Barra de Progresso / Etapas */
.lim-checkout-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--lim-space-large);
    gap: var(--lim-space-small);
}

.lim-checkout-progress .progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.3s ease;
    text-align: center;
    width: 60px;
}

.lim-checkout-progress .progress-step.active {
    opacity: 1;
    font-weight: 700;
}

.lim-checkout-progress .progress-step.completed {
    opacity: 0.8;
}

.lim-checkout-progress .step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--lim-color-border);
    color: var(--lim-color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    z-index: 2;
}

.lim-checkout-progress .progress-step.active .step-num {
    background-color: var(--lim-color-primary);
    color: #ffffff;
}

.lim-checkout-progress .progress-step.completed .step-num {
    background-color: var(--lim-color-success);
    color: #ffffff;
}

.lim-checkout-progress .step-text {
    font-size: 0.65rem;
    letter-spacing: 0.5px;
    color: var(--lim-color-text-muted);
    text-transform: uppercase;
    line-height: 1;
}

.lim-checkout-progress .progress-step.active .step-text {
    color: var(--lim-color-primary);
}

.lim-checkout-progress .progress-step.completed .step-text {
    color: var(--lim-color-success);
}

.lim-checkout-progress .progress-line {
    flex-grow: 1;
    max-width: 60px;
    height: 2px;
    background-color: var(--lim-color-border);
    transition: background-color 0.3s ease;
    margin-top: -12px;
    z-index: 1;
}

.lim-checkout-progress .progress-step.completed+.progress-line {
    background-color: var(--lim-color-success);
}

@media (min-width: 768px) {
    .lim-checkout-progress .progress-step {
        flex-direction: row;
        width: auto;
        gap: var(--lim-space-micro);
    }

    .lim-checkout-progress .step-num {
        width: 32px;
        height: 32px;
        font-size: 1rem;
    }

    .lim-checkout-progress .step-text {
        font-size: 0.85rem;
        letter-spacing: 1px;
    }

    .lim-checkout-progress .progress-line {
        max-width: 100px;
        margin-top: 0;
    }
}

/* Colunas (Layout Construtivista) */
.woocommerce-cart-form.processing,
.cart_totals.processing {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}

.woocommerce-cart-form.processing::after,
.cart_totals.processing::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    border: 4px solid var(--lim-color-border, #e2e8f0);
    border-top-color: var(--lim-color-primary, #0f4c81);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 999;
}

.lim-checkout-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--lim-space-medium);
}

@media (min-width: 1024px) {
    .lim-checkout-columns {
        grid-template-columns: 1.618fr 1fr;
        gap: var(--lim-space-large);
        align-items: start;
    }

    .lim-checkout-col-right {
        position: sticky;
        top: var(--lim-space-medium);
    }
}

/* Caixas de Etapa da Esquerda */
.lim-checkout-step-box {
    background-color: #ffffff;
    border: 1px solid var(--lim-color-border);
    border-radius: 8px;
    padding: var(--lim-space-medium);
    margin-bottom: var(--lim-space-medium);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03);
    display: none;
}

.lim-checkout-step-box.active {
    display: block;
}

.lim-box-header {
    display: flex;
    align-items: center;
    gap: var(--lim-space-small);
    margin-bottom: var(--lim-space-medium);
    padding-bottom: var(--lim-space-small);
    border-bottom: 1px solid var(--lim-color-border);
}

.lim-box-icon {
    width: 48px;
    height: 48px;
    background-color: var(--lim-color-primary-light);
    color: var(--lim-color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lim-box-icon svg {
    width: 24px;
    height: 24px;
}

.lim-box-title-group h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--lim-color-primary);
    text-transform: uppercase;
}

.lim-box-title-group p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--lim-color-text-muted);
}

/* Estilo Geral de Campos */
.lim-checkout-clean .form-row {
    margin-bottom: var(--lim-space-small) !important;
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
}

.lim-checkout-clean .form-row label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--lim-color-text-dark);
}

.lim-checkout-clean .form-row label .required {
    color: var(--lim-color-error);
    text-decoration: none;
}

.lim-checkout-clean input[type="text"],
.lim-checkout-clean input[type="email"],
.lim-checkout-clean input[type="tel"],
.lim-checkout-clean select,
.lim-checkout-clean textarea {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid var(--lim-color-border) !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
    color: var(--lim-color-text-dark) !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    -webkit-appearance: none;
}

.lim-checkout-clean input:focus,
.lim-checkout-clean select:focus,
.lim-checkout-clean textarea:focus {
    border-color: var(--lim-color-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 70, 127, 0.1) !important;
}

/* Grid de Inputs no Desktop */
@media (min-width: 768px) {
    .lim-step-fields-placeholder {
        display: grid;
        gap: var(--lim-space-small);
    }

    .lim-step-fields-placeholder #billing_email_field,
    .lim-step-fields-placeholder #billing_address_1_field,
    .lim-step-fields-placeholder #ship-to-different-address,
    .lim-step-fields-placeholder .shipping_address,
    .lim-step-fields-placeholder .woocommerce-account-fields,
    .lim-step-fields-placeholder .woocommerce-additional-fields,
    .lim-step-fields-placeholder .woocommerce-form-login-toggle,
    .lim-step-fields-placeholder form.woocommerce-form-login {
        grid-column: span 2;
    }

    .lim-step-fields-placeholder #billing_postcode_field {
        grid-column: span 1;
    }

    @media (min-width: 768px) {

        #order_review_heading,
        #order_review {
            width: 100% !important;
            float: right;
            margin-right: 0;
            clear: right;
        }
    }
}

/* Ocultar País */
#billing_country_field {
    display: none !important;
}

/* CPF / CNPJ adicionais */
#billing_cpf_field,
#billing_cnpj_field,
#billing_rg_field,
#billing_ie_field {
    grid-column: span 1;
}

#billing_persontype_field,
#billing_company_field {
    grid-column: span 2;
}

/* Endereço diferente */
#ship-to-different-address {
    margin-top: var(--lim-space-small);
    border-top: 1px solid var(--lim-color-border);
    padding-top: var(--lim-space-small) !important;
}

#ship-to-different-address label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 600;
}

#ship-to-different-address input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Botões de Etapas */
.lim-step-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--lim-space-small);
    margin-top: var(--lim-space-medium);
    border-top: 1px solid var(--lim-color-border);
    padding-top: var(--lim-space-medium);
}

.lim-btn-primary,
.lim-btn-secondary {
    padding: 0.85rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.lim-btn-primary {
    background-color: var(--lim-color-primary) !important;
    color: #ffffff !important;
    border: none !important;
}

.lim-btn-primary:hover {
    background-color: #003057 !important;
}

.lim-btn-secondary {
    background-color: transparent !important;
    color: var(--lim-color-text-muted) !important;
    border: 1px solid var(--lim-color-border) !important;
}

.lim-btn-secondary:hover {
    background-color: var(--lim-color-primary-light) !important;
    color: var(--lim-color-primary) !important;
}

.lim-btn-primary svg,
.lim-btn-secondary svg {
    width: 16px;
    height: 16px;
}

/* Proteção de Dados */
.lim-data-protection-info {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: var(--lim-color-text-muted);
    margin-top: var(--lim-space-small);
    justify-content: center;
}

.lim-data-protection-info svg {
    width: 14px;
    height: 14px;
}

/* Mensagens de Erro Inline */
.lim-error-field input,
.lim-error-field select,
.lim-error-field textarea {
    border-color: var(--lim-color-error) !important;
    background-color: var(--lim-color-error-bg) !important;
}

.lim-error-msg {
    display: block;
    color: var(--lim-color-error);
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 4px;
}

/* Coluna da Direita (Resumo do Pedido) */
.lim-checkout-summary-box {
    background-color: #ffffff;
    border: 1px solid var(--lim-color-border);
    border-radius: 8px;
    padding: var(--lim-space-medium);
    margin-bottom: var(--lim-space-small);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03);
}

.lim-checkout-summary-box h3 {
    margin: 0 0 var(--lim-space-medium) 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--lim-color-primary);
    text-transform: uppercase;
    border-bottom: 1px solid var(--lim-color-border);
    padding-bottom: var(--lim-space-small);
}

/* Itens do Resumo */
.lim-review-order-items {
    margin-bottom: var(--lim-space-medium);
}

.lim-review-item {
    display: flex;
    align-items: center;
    gap: var(--lim-space-small);
    padding: var(--lim-space-small) 0;
    border-bottom: 1px dashed var(--lim-color-border);
}

.lim-review-item:last-child {
    border-bottom: none;
}

.lim-review-item-image img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--lim-color-border);
}

.lim-review-item-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.lim-review-item-name {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--lim-color-text-dark);
}

.lim-review-item-qty {
    font-size: 0.75rem;
    color: var(--lim-color-text-muted);
    margin-top: 2px;
}

.lim-review-item-price {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--lim-color-text-dark);
}

/* Linhas de Totais */
.lim-review-totals {
    border-top: 1px solid var(--lim-color-border);
    padding-top: var(--lim-space-small);
}

.lim-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.9rem;
    margin-bottom: var(--lim-space-micro);
    color: var(--lim-color-text-muted);
}

.lim-subtotal span:last-child,
.lim-discount span:last-child {
    color: var(--lim-color-text-dark);
    font-weight: 600;
}

.lim-discount {
    color: var(--lim-color-success);
}

.lim-shipping-container {
    padding: var(--lim-space-micro) 0;
    border-bottom: 1px solid var(--lim-color-border);
    margin-bottom: var(--lim-space-micro);
}

.lim-shipping-container th {
    display: block;
    text-align: left;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--lim-color-text-dark);
    margin-bottom: 4px;
}

.lim-shipping-container td {
    display: block;
    padding: 0;
}

.lim-shipping-container ul#shipping_method {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.lim-shipping-container ul#shipping_method li {
    margin-bottom: 6px !important;
    font-size: 0.85rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.lim-shipping-container ul#shipping_method input {
    margin: 0 !important;
}

.lim-total-grand {
    margin-top: var(--lim-space-small);
    border-top: 1px solid var(--lim-color-border);
    padding-top: var(--lim-space-small);
    align-items: center;
}

.lim-total-grand>span:first-child {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--lim-color-text-dark);
}

.lim-total-grand-value {
    text-align: right;
}

.lim-total-grand-value span {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--lim-color-primary);
}

/* Box PIX */
.lim-payment-info-box {
    background-color: var(--lim-color-success-bg);
    border: 1px solid var(--lim-color-success-border);
    border-radius: 8px;
    padding: var(--lim-space-small);
    display: flex;
    align-items: center;
    gap: var(--lim-space-small);
    margin-bottom: var(--lim-space-small);
}

.lim-info-icon-pix {
    color: var(--lim-color-success);
    flex-shrink: 0;
}

.lim-info-icon-pix svg {
    width: 24px;
    height: 24px;
}

.lim-info-text-pix strong {
    display: block;
    font-size: 0.85rem;
    color: var(--lim-color-success);
}

.lim-info-text-pix p {
    margin: 2px 0 0 0;
    font-size: 0.75rem;
    color: var(--lim-color-success);
}

/* Box Selos de Compra Protegida */
.lim-secure-purchase-box {
    background-color: #ffffff;
    border: 1px solid var(--lim-color-border);
    border-radius: 8px;
    padding: var(--lim-space-medium);
    margin-bottom: var(--lim-space-medium);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03);
}

.lim-secure-purchase-box h4 {
    margin: 0 0 var(--lim-space-small) 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--lim-color-text-dark);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.lim-secure-item {
    display: flex;
    align-items: flex-start;
    gap: var(--lim-space-small);
    padding: var(--lim-space-small) 0;
    border-bottom: 1px solid var(--lim-color-border);
}

.lim-secure-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.lim-secure-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lim-secure-icon svg {
    width: 20px;
    height: 20px;
}

.secure-green {
    color: var(--lim-color-success);
}

.lim-secure-text strong {
    display: block;
    font-size: 0.8rem;
    color: var(--lim-color-text-dark);
}

.lim-secure-text p {
    margin: 2px 0 0 0;
    font-size: 0.75rem;
    color: var(--lim-color-text-muted);
}

/* Estilização Customizada do Gateway Pagar.me */
.lim-checkout-clean #payment {
    background-color: transparent !important;
    padding: 0 !important;
}

.lim-checkout-clean #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 var(--lim-space-small) 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column;
}

.wc_payment_method.payment_method_woo-pagarme-payments-pix.lim-styled-method.lim-pix-method {
    order: -1;
}

.lim-styled-method {
    background-color: #ffffff !important;
    border: 1px solid var(--lim-color-border) !important;
    border-radius: 8px !important;
    padding: var(--lim-space-small) !important;
    margin-bottom: var(--lim-space-micro) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: var(--lim-space-small) !important;
    flex-wrap: wrap !important;
}

.lim-styled-method .payment_box {
    flex-basis: 100% !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: var(--lim-space-small) !important;
    border-top: 1px solid var(--lim-color-border);
}

.lim-styled-method:hover {
    border-color: var(--lim-color-primary) !important;
    background-color: var(--lim-color-primary-light) !important;
}

.lim-styled-method.active {
    border-color: var(--lim-color-primary) !important;
    background-color: var(--lim-color-primary-light) !important;
    box-shadow: 0 0 0 2px var(--lim-color-primary) !important;
}

.lim-styled-method input[type="radio"] {
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
}

.lim-styled-method label {
    margin: 0 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    color: var(--lim-color-text-dark) !important;
    cursor: pointer !important;
}

/* Destaque do PIX */
.lim-pix-method {
    border-left: 4px solid var(--lim-color-success) !important;
}

.lim-pix-method.active {
    box-shadow: 0 0 0 2px var(--lim-color-success) !important;
    border-color: var(--lim-color-success) !important;
    background-color: var(--lim-color-success-bg) !important;
}

.lim-checkout-clean #place_order {
    width: 100% !important;
    padding: 1rem !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    background-color: var(--lim-color-primary) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    transition: background-color 0.3s ease !important;
    margin-top: var(--lim-space-small) !important;
    box-shadow: 0 4px 10px rgba(0, 70, 127, 0.2) !important;
}

.lim-checkout-clean #place_order:hover {
    background-color: #003057 !important;
}

/* Efeito AJAX */
.lim-updating {
    opacity: 0.5 !important;
    pointer-events: none;
    position: relative;
    transition: opacity 0.3s ease;
}

.lim-updating::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--lim-color-primary);
    border-radius: 50%;
    animation: lim-spin 1s linear infinite;
    z-index: 99;
}

.lim-loading-cep {
    position: relative;
}

.lim-loading-cep::after {
    content: "";
    position: absolute;
    top: 38px;
    right: 15px;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(0, 0, 0, 0.1);
    border-top-color: var(--lim-color-primary);
    border-radius: 50%;
    animation: lim-spin 1s linear infinite;
    z-index: 9;
}

.lim-loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lim-loader-content {
    background-color: #ffffff;
    padding: var(--lim-space-large);
    border-radius: 12px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--lim-space-small);
}

.lim-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid var(--lim-color-border);
    border-top: 5px solid var(--lim-color-primary);
    border-radius: 50%;
    animation: lim-spin 1s linear infinite;
}

.lim-loader-content h3 {
    margin: 0;
    color: var(--lim-color-primary);
    font-size: 1.2rem;
    font-weight: 700;
    text-transform: uppercase;
}

.lim-loader-content p {
    margin: 0;
    color: var(--lim-color-text-muted);
    font-size: 0.85rem;
}

@keyframes lim-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.woocommerce-checkout #secondary {
    display: none !important;
}

.woocommerce-checkout #primary {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
}

form.checkout.lim-step-1 #payment,
form.checkout.lim-step-2 #payment {
    display: none !important;
}

.gw-slide-fixed {
    height: 550px !important;
    max-height: 80vh;
    overflow: hidden !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gw-slide-fit,
.gw-slide-fixed img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}


/* ==========================================================================
   SIDE CART (Funcional)
   ========================================================================== */

.eb-side-cart {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 999999;
    pointer-events: none;
}

.eb-side-cart.is-open {
    pointer-events: auto;
}

/* Overlay escuro */
.eb-side-cart__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    backdrop-filter: blur(2px);
}

.eb-side-cart.is-open .eb-side-cart__overlay {
    opacity: 1;
    visibility: visible;
}

/* O Painel Deslizante */
.eb-side-cart__panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    max-width: 90%;
    height: 100%;
    background: #fff;
    box-shadow: -5px 0 30px rgba(0, 0, 0, 0.1);
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    pointer-events: auto;
}

.eb-side-cart.is-peeking .eb-side-cart__panel {
    transform: translateX(100%);
}

.eb-side-cart.is-open .eb-side-cart__panel {
    transform: translateX(0);
    cursor: default;
}

/* Aba lateral */
.eb-side-cart__trigger {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #111;
    color: #fff;
    width: 48px;
    height: 120px;
    border-radius: 8px 0 0 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: -4px 0 15px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, right 0.3s ease;
    z-index: 999999;
    pointer-events: auto;
}

.eb-side-cart__trigger:hover {
    width: 54px;
}

.eb-side-cart.is-peeking .eb-side-cart__trigger {
    opacity: 1;
    visibility: visible;
}

.eb-side-cart.is-open .eb-side-cart__trigger {
    opacity: 0;
    visibility: hidden;
}

.eb-cart-icon {
    font-size: 24px;
    margin-bottom: 4px;
}

.eb-cart-count {
    background: #d4af37;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 12px;
    line-height: 1;
}

/* Header do Carrinho */
.eb-side-cart__header {
    padding: 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
}

.eb-side-cart__header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

.eb-side-cart__close {
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #999;
    padding: 0;
}

.eb-side-cart__close:hover {
    color: #111;
}

/* Área de Produtos */
.eb-side-cart__content {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    scrollbar-width: thin;
}

/* Footer */
.eb-side-cart__footer {
    padding: 24px;
    background: #fcfcfc;
    border-top: 1px solid #f0f0f0;
}

body.single-product .woocommerce-notices-wrapper .woocommerce-message {
    display: none !important;
}

.storefront-sticky-add-to-cart {
    display: none !important;
}

.cart-popup,
.header-cart .nav-dropdown,
.mini-cart-content,
.widget_shopping_cart.dropdown,
.nav-dropdown-has-arrow.cart-popup,
.nav-dropdown-default.cart-popup {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Itens do Carrinho */
.eb-cart-empty {
    text-align: center;
    padding: 40px 0;
    color: #999;
    font-size: 15px;
}

.eb-cart-items-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.eb-cart-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.eb-cart-item img {
    width: 110px !important;
    height: 110px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    margin: 0 auto 12px auto !important;
    display: block !important;
}

.eb-item-link {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    color: #111 !important;
    width: 100%;
}

.eb-item-name {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    line-height: 1.4;
    margin-bottom: 6px;
    display: block;
    padding: 0 24px;
}

.eb-item-qty {
    font-size: 13px;
    color: #888;
    margin-bottom: 4px;
    display: block;
}

.eb-item-price {
    font-size: 15px;
    font-weight: 700;
    color: #111;
    display: block;
}

.eb-remove-item {
    position: absolute !important;
    top: 12px !important;
    right: 8px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 18px !important;
    line-height: 26px !important;
    text-align: center !important;
    border-radius: 50% !important;
    background: #f0f0f0 !important;
    color: #666 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s, color 0.2s !important;
}

.eb-remove-item:hover {
    background: #d00 !important;
    color: #fff !important;
}

.eb-cart-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 0;
    font-size: 16px;
    border-top: 2px solid #111;
    margin-top: 8px;
}

.eb-cart-subtotal strong {
    font-size: 18px;
}

/* Botão de Finalizar */
.eb-checkout-btn-wrap {
    padding: 0;
    display: none;
}

.eb-checkout-btn {
    display: block;
    width: 100%;
    padding: 18px;
    background: #111;
    color: #fff !important;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    border-radius: 4px;
    transition: background 0.3s;
}

.eb-checkout-btn:hover {
    background: #d4af37;
    color: #fff !important;
}

/* Captura de e-mail */
.eb-email-capture {
    display: none;
    padding: 20px 0;
    text-align: center;
}

.eb-email-capture p {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 14px;
    color: #333;
    line-height: 1.5;
}

.eb-email-capture__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.eb-email-capture__form input {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.eb-email-capture__form input:focus {
    border-color: #111;
}

.eb-email-capture__form button {
    width: 100%;
    padding: 15px;
    background: #111;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
}

.eb-email-capture__form button:hover {
    background: #d4af37;
}

.eb-email-capture__form button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.eb-side-cart-welcome {
    background: #f0fdf4;
    color: #166534;
    padding: 12px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 16px;
    border-radius: 4px;
    display: none;
}

@media (max-width: 480px) {
    .eb-side-cart__panel {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* =============================================================================
   PAGINA DE PRODUTO: MINIATURAS E BOTOES DE CONVERSAO (MIGRADO DO FUNCTIONS)
   ============================================================================= */
.flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    padding-bottom: 10px !important;
}

.flex-control-thumbs li {
    flex-shrink: 0 !important;
    margin-right: 10px !important;
}

.flex-control-thumbs li:last-child {
    margin-right: 0 !important;
}

.single_add_to_cart_button::before {
    display: none !important;
}

.single-product div.product form.cart {
    padding: 1rem;
}

.infixs-correios-automatico-calculator {
    font-family: 'Raleway';
}

.olim-highlights .olim-box h3,
.olim-faq .olim-box h3 {
    color: #00467F;
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
}

.olim-faq .olim-box p strong {
    color: #00467F;
}

.single-product div.product p.price {
    color: #00467F;
}

@media (max-width: 680px) {
    .summary.entry-summary {
        grid-template-columns: auto 1fr !important;
    }

    .summary.entry-summary>p.price {
        grid-column: 1 !important;
        grid-row: 2 !important;
        margin: 0 1rem 0 0 !important;
    }

    .summary.entry-summary>form.cart {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }
}

/* Estiliza inputs, textareas e selects do WooCommerce e do Tema para o padrão Twenty Twenty-Five */
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
.woocommerce input.input-text,
.woocommerce-page input.input-text,
.woocommerce textarea,
.woocommerce-page textarea,
.woocommerce select,
.woocommerce-page select,
.woocommerce .woocommerce-ordering select {
    font-family: inherit !important;
    font-size: 1rem !important;
    padding: 12px 16px !important;
    /* Cor da borda padrão do tema */
    border-radius: 8px !important;
    /* Cantos arredondados suaves do 2025 */
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    max-width: 100% !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    outline: none !important;
}

/* Forçar altura de 46px para inputs e selects de linha única (ergonomia e alinhamento) */
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
.woocommerce input.input-text,
.woocommerce-page input.input-text,
.woocommerce select,
.woocommerce-page select,
.woocommerce .woocommerce-ordering select {
    height: 46px !important;
}

/* Ajuste de altura automática para textareas */
.woocommerce textarea,
.woocommerce-page textarea {
    height: auto !important;
    min-height: 120px !important;
}

/* Injetar seta chevron SVG moderna e limpa para todos os selects */
.woocommerce select,
.woocommerce-page select,
.woocommerce .woocommerce-ordering select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 16px 16px !important;
    padding-right: 42px !important;
    /* Espaço para a seta */
}

/* Efeito de clique/foco igual ao do tema */
.woocommerce input.input-text:focus,
.woocommerce-page input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce-page textarea:focus,
.woocommerce select:focus,
.woocommerce-page select:focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08) !important;
    outline: none !important;
}

/* Forçar largura total em formulários de checkout e carrinho */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-cart-form input,
.woocommerce-cart-form select,
.woocommerce-billing-fields input,
.woocommerce-shipping-fields input,
.woocommerce-address-fields input,
.woocommerce-address-fields select {
    width: 100% !important;
}

/* ==========================================================================
   PAGINA DE PRODUTO: SEÇÕES DE CONVERSÃO (Ideal para, Benefícios, FAQ, Specs)
   ========================================================================== */

/* Cores e Espaçamentos do Layout Olimar */
:root {
    --olim-color-primary: #00467F;
    --olim-color-success: #16a34a;
    --olim-color-text-dark: #1a1a1a;
    --olim-color-text-muted: #666;
    --olim-color-border: #d1d1d1;
    --olim-space-large: 2rem;
    --olim-space-medium: 1.5rem;
    --olim-space-small: 1rem;
    --olim-space-micro: 0.5rem;
}

.olim-conversion-full-width {
    max-width: 1200px;
    margin: var(--olim-space-large) auto;
    padding: 0 var(--olim-space-small);
    font-family: inherit;
    box-sizing: border-box;
}

/* Ideal para & Benefícios em destaque (Grid de 2 Colunas) */
.olim-conversion-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--olim-space-medium);
    margin-bottom: var(--olim-space-large);
}

@media (min-width: 768px) {
    .olim-conversion-row {
        grid-template-columns: 1fr 1fr;
        gap: var(--olim-space-large);
    }
}

.olim-ideal-para-box,
.olim-recommend-or-benefits {
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border);
    border-radius: 8px;
    padding: var(--olim-space-medium);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.olim-ideal-para-box h3,
.olim-recommend-or-benefits h4 {
    margin-top: 0;
    margin-bottom: var(--olim-space-small);
    font-size: 1.25rem;
    color: var(--olim-color-primary);
    text-transform: uppercase;
    font-weight: 700;
}

.olim-checklist {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.olim-checklist li {
    display: flex;
    align-items: flex-start;
    gap: var(--olim-space-micro);
    margin-bottom: var(--olim-space-micro) !important;
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--olim-color-text-dark);
}

.olim-checklist li svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.olim-benefits-quick-card ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.olim-benefits-quick-card li {
    display: flex;
    align-items: center;
    gap: var(--olim-space-micro);
    margin-bottom: var(--olim-space-micro) !important;
    font-size: 0.95rem;
    color: var(--olim-color-text-dark);
}

.olim-benefits-quick-card li svg {
    flex-shrink: 0;
}

/* Benefícios Grid e Cards */
.olim-benefits-grid-section {
    margin-bottom: var(--olim-space-large);
}

.olim-section-header {
    border-bottom: 2px solid var(--olim-color-primary);
    padding-bottom: var(--olim-space-micro);
    margin-bottom: var(--olim-space-medium);
}

.olim-section-header h3 {
    margin: 0;
    font-size: 1.5rem;
    color: var(--olim-color-primary);
    text-transform: uppercase;
    font-weight: 700;
}

.olim-benefits-cards-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--olim-space-small);
}

@media (min-width: 640px) {
    .olim-benefits-cards-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .olim-benefits-cards-container {
        grid-template-columns: repeat(4, 1fr);
    }
}

.olim-benefit-card {
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border);
    border-radius: 8px;
    padding: var(--olim-space-medium);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--olim-space-small);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.olim-benefit-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    border-color: var(--olim-color-primary);
}

.benefit-card-icon {
    width: 48px;
    height: 48px;
    background-color: rgba(0, 70, 127, 0.06);
    color: var(--olim-color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.benefit-card-icon svg {
    width: 24px;
    height: 24px;
}

.benefit-card-info h5 {
    margin: 0 0 var(--olim-space-micro) 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--olim-color-primary);
}

.benefit-card-info p {
    margin: 0;
    font-size: 0.85rem;
    color: var(--olim-color-text-muted);
    line-height: 1.4;
}

/* Acordeão de FAQ (Dúvidas Comuns) */
.olim-faq-accordion-section {
    margin-bottom: var(--olim-space-large);
}

.olim-accordion-container {
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border);
    border-radius: 8px;
    overflow: hidden;
}

.olim-accordion-item {
    border-bottom: 1px solid var(--olim-color-border);
}

.olim-accordion-item:last-child {
    border-bottom: none;
}

.olim-accordion-trigger {
    width: 100%;
    background: none;
    border: none;
    padding: var(--olim-space-medium);
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    font-size: 1rem;
    font-weight: 700;
    color: var(--olim-color-primary);
    cursor: pointer;
    outline: none;
    transition: background-color 0.2s ease;
}

.olim-accordion-trigger:hover {
    background-color: rgba(0, 70, 127, 0.02);
}

.olim-accordion-trigger[aria-expanded="true"] {
    background-color: rgba(0, 70, 127, 0.04);
}

.accordion-arrow {
    color: var(--olim-color-primary);
    transition: transform 0.3s ease;
}

.olim-accordion-trigger[aria-expanded="true"] .accordion-arrow {
    transform: rotate(180deg);
}

.olim-accordion-inner {
    padding: var(--olim-space-medium);
    border-top: 1px solid rgba(0, 70, 127, 0.1);
    background-color: #fafafa;
}

.olim-accordion-inner p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--olim-color-text-dark);
    line-height: 1.5;
}

/* Especificações Técnicas (Attributes Table) */
.olim-technical-specs-section {
    margin-bottom: var(--olim-space-large);
}

.product-technical-highlights {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--olim-space-small);
}

@media (min-width: 768px) {
    .product-technical-highlights {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .product-technical-highlights {
        grid-template-columns: repeat(3, 1fr);
    }
}

.product-technical-highlights .highlight-item {
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border);
    border-radius: 8px;
    padding: var(--olim-space-medium);
    display: flex;
    align-items: flex-start;
    gap: var(--olim-space-medium);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

.product-technical-highlights .highlight-icon {
    width: 44px;
    height: 44px;
    background-color: rgba(0, 70, 127, 0.06);
    color: var(--olim-color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.product-technical-highlights .highlight-icon svg {
    width: 22px;
    height: 22px;
}

.product-technical-highlights .highlight-text {
    font-size: 0.95rem;
    color: var(--olim-color-text-dark);
    line-height: 1.4;
}

.product-technical-highlights .highlight-label {
    display: block;
    font-weight: 700;
    color: var(--olim-color-primary);
    font-size: 0.8rem;
    text-transform: uppercase;
    margin-bottom: 2px;
}

/* ==========================================================================
   STICKY CTA MOBILE (Mobile-only bottom persistent bar)
   ========================================================================== */
.olim-sticky-cta-mobile {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid var(--olim-color-border);
    padding: 10px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.olim-sticky-cta-mobile.is-visible {
    transform: translateY(0);
}

.olim-sticky-cta-mobile .price-box {
    display: flex;
    flex-direction: column;
}

.olim-sticky-cta-mobile .price-box .regular-price {
    font-size: 0.8rem;
    color: var(--olim-color-text-muted);
    text-decoration: line-through;
    line-height: 1.2;
}

.olim-sticky-cta-mobile .price-box .active-price {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--olim-color-primary);
    line-height: 1.2;
}

.olim-sticky-cta-mobile .price-box .pix-price {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--olim-color-success);
    line-height: 1.2;
    margin-top: 2px;
}

.olim-sticky-cta-mobile .buy-button-wrapper {
    flex-grow: 1;
    max-width: 180px;
}

.olim-sticky-cta-mobile .buy-button-wrapper button {
    width: 100%;
    height: 46px;
    background-color: var(--olim-color-success) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.2s ease !important;
}

.olim-sticky-cta-mobile .buy-button-wrapper button:hover {
    background-color: #15803d !important;
}

@media (min-width: 768px) {
    .olim-sticky-cta-mobile {
        display: none !important;
    }
}

/* Placeholder para blocos vazios no Site Editor */
.olim-block-placeholder {
    border: 2px dashed var(--olim-color-primary, #00467F);
    background-color: rgba(0, 70, 127, 0.03);
    color: var(--olim-color-primary, #00467F);
    padding: 24px;
    border-radius: 8px;
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 16px 0;
}

/* Estilos do Bloco de Atributo Individual */
.olim-single-attribute-box {
    display: inline-block;
    margin: 8px 0;
    vertical-align: top;
    width: 100%;
}

.olim-single-attribute-box .highlight-item {
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border);
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Se o bloco receber fundo ou borda customizada via FSE, remove os estilos padrão do item interno */
.olim-single-attribute-box.has-background .highlight-item,
.olim-single-attribute-box[style*="background-color"] .highlight-item {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.olim-single-attribute-box[style*="border"] .highlight-item {
    border-color: transparent !important;
}

.olim-single-attribute-box .highlight-icon {
    width: 36px;
    height: 36px;
    background-color: rgba(0, 70, 127, 0.06);
    color: var(--olim-color-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: color 0.2s ease, background-color 0.2s ease;
}

/* Herança dinâmica de cores do editor no ícone */
.olim-single-attribute-box.has-text-color .highlight-icon,
.olim-single-attribute-box[style*="color:"] .highlight-icon {
    color: inherit !important;
    background-color: color-mix(in srgb, currentColor 10%, transparent) !important;
}

.olim-single-attribute-box .highlight-icon svg {
    width: 18px;
    height: 18px;
}

.olim-single-attribute-box .highlight-text {
    font-size: 0.9rem;
    color: var(--olim-color-text-dark);
    line-height: 1.4;
    transition: color 0.2s ease;
}

.olim-single-attribute-box.has-text-color .highlight-text,
.olim-single-attribute-box[style*="color:"] .highlight-text {
    color: inherit !important;
}

.olim-single-attribute-box .highlight-label {
    display: block;
    font-weight: 700;
    color: var(--olim-color-primary);
    font-size: 0.75rem;
    text-transform: uppercase;
    margin-bottom: 2px;
    transition: color 0.2s ease;
}

.olim-single-attribute-box.has-text-color .highlight-label,
.olim-single-attribute-box[style*="color:"] .highlight-label {
    color: inherit !important;
}

/* WooCommerce Native Product Gallery Reset */
.woocommerce-product-gallery ul,
.woocommerce-product-gallery ol,
.woocommerce-product-gallery li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Olimar Stock Urgency Block */
.olim-stock-urgency {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--olim-color-primary, #00467F);
    background-color: rgba(0, 70, 127, 0.04);
    border: 1px solid rgba(0, 70, 127, 0.1);
    border-radius: 8px;
    padding: 10px 14px;
    margin: 16px 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    line-height: 1;
}

/* .olim-stock-urgency.has-text-color,
.olim-stock-urgency[style*="color:"] {
    color: inherit !important;
} */

.olim-stock-urgency.has-background,
.olim-stock-urgency[style*="background-color:"] {
    border-color: transparent !important;
}

.olim-stock-urgency svg.olim-urgency-svg {
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    stroke: currentColor;
}

.olim-stock-urgency.has-text-color svg.olim-urgency-svg,
.olim-stock-urgency[style*="color:"] svg.olim-urgency-svg {
    stroke: currentColor !important;
}

.olim-stock-urgency strong {
    font-weight: 700;
    color: #e11d48;
    transition: color 0.2s ease;
}

.olim-stock-urgency.has-text-color strong,
.olim-stock-urgency[style*="color:"] strong {
    color: inherit !important;
}

/* Olimar Customizable Trust and Conversion Seals Container */
.olim-seals-container {
    box-sizing: border-box;
    margin: 1.5rem 0;
    width: 100%;
}

/* Layout Grid para Página do Produto */
.olim-seals-container.layout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .olim-seals-container.layout-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .olim-seals-container.layout-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Layout List para Checkout Sidebar Box */
.olim-seals-container.layout-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem;
    background-color: #ffffff;
    border: 1px solid var(--olim-color-border, #d1d1d1);
    border-radius: 8px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
}

/* Item Individual de Selo */
.olim-seal-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    box-sizing: border-box;
}

/* Ícone do Selo */
.olim-seal-icon {
    width: 38px;
    height: 38px;
    background-color: rgba(0, 70, 127, 0.06);
    color: var(--olim-color-primary, #00467F);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.olim-seal-icon svg {
    width: 20px;
    height: 20px;
}

/* Texto do Selo */
.olim-seal-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.olim-seal-text strong {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--olim-color-text-dark, #1a1a1a);
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.olim-seal-text strong a {
    color: inherit !important;
    text-decoration: underline !important;
}

.olim-seal-text p {
    margin: 0 !important;
    font-size: 0.85rem;
    color: var(--olim-color-text-muted, #666);
    line-height: 1.4;
}

/* Herança Dinâmica de Cores do FSE no Editor */
.olim-seals-container.has-text-color .olim-seal-icon,
.olim-seals-container[style*="color:"] .olim-seal-icon {
    color: inherit !important;
    background-color: color-mix(in srgb, currentColor 10%, transparent) !important;
}

.olim-seals-container.has-text-color .olim-seal-text strong,
.olim-seals-container[style*="color:"] .olim-seal-text strong {
    color: inherit !important;
}

.olim-seals-container.has-text-color .olim-seal-text p,
.olim-seals-container[style*="color:"] .olim-seal-text p {
    color: inherit !important;
    opacity: 0.85;
}

/* Resets FSE se fundo customizado for aplicado */
.olim-seals-container.layout-list.has-background,
.olim-seals-container.layout-list[style*="background-color"] {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Bloco de Selo Individual */
.olim-single-seal-box {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    box-sizing: border-box;
    margin: 0.75rem 0;
    width: 100%;
}

.olim-single-seal-box .olim-seal-icon {
    width: 38px;
    height: 38px;
    background-color: rgba(0, 70, 127, 0.06);
    color: var(--olim-color-primary, #00467F);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.olim-single-seal-box .olim-seal-icon svg {
    width: 20px;
    height: 20px;
}

.olim-single-seal-box .olim-seal-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.olim-single-seal-box .olim-seal-text strong {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--olim-color-text-dark, #1a1a1a);
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

.olim-single-seal-box .olim-seal-text p {
    margin: 0 !important;
    font-size: 0.85rem;
    color: var(--olim-color-text-muted, #666);
    line-height: 1.4;
}

/* Herança de Cores FSE para o Selo Individual */
.olim-single-seal-box.has-text-color .olim-seal-icon,
.olim-single-seal-box[style*="color:"] .olim-seal-icon {
    color: inherit !important;
    background-color: color-mix(in srgb, currentColor 10%, transparent) !important;
}

.olim-single-seal-box.has-text-color .olim-seal-text strong,
.olim-single-seal-box[style*="color:"] .olim-seal-text strong {
    color: inherit !important;
}

.olim-single-seal-box.has-text-color .olim-seal-text p,
.olim-single-seal-box[style*="color:"] .olim-seal-text p {
    color: inherit !important;
    opacity: 0.85;
}

/* Estilização de Preços da Galeria/Grid de Blocos do WooCommerce */
.wc-block-components-product-price ins,
.wc-block-grid__product-price ins {
    text-decoration: none !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: var(--olim-color-primary, #00467F) !important;
}

.wc-block-components-product-price del,
.wc-block-grid__product-price del {
    font-size: 0.95rem !important;
    color: var(--olim-color-text-muted, #666) !important;
    margin-right: 6px !important;
    opacity: 0.8;
}

.wc-block-components-product-price del::before,
.wc-block-grid__product-price del::before {
    content: "De " !important;
    display: inline-block !important;
    font-size: 0.95rem !important;
    color: var(--olim-color-text-muted, #666) !important;
    margin-right: 6px !important;
    opacity: 0.8;
}

/* Estilização de Preço na Página de Produto Único */
.wc-block-components-product-price ins,
.wc-block-grid__product-price ins {
    display: block !important;
    font-size: 3rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    color: var(--olim-color-primary, #00467F) !important;

}

.single-product div.product p.price del {
    font-size: 1.25rem !important;
    color: var(--olim-color-text-muted, #666) !important;
    margin-right: 8px !important;
    opacity: 0.7;
    display: block;
}

.single-product div.product .wc-block-components-product-price {
    display: flex !important;
    flex-direction: column !important;
}

/* Customizações da Calculadora de Frete Correios Automático */
.infixs-correios-automatico-input-text {
    position: relative !important;
    margin-top: -10px !important;
    margin-bottom: -5px !important;
}

#infixs-correios-automatico-input-postcode {
    padding-left: 54px !important;
}

.infixs-correios-automatico-input-text-prepend {
    left: 16px !important;
}

.infixs-correios-automatico-shipping-results-method {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

.infixs-correios-automatico-shipping-results-time {
    font-size: 0.85rem !important;
    opacity: 0.8 !important;
}

.infixs-correios-automatico-calculator .infixs-correios-automatico-calculate-box {
    display: flex;
    gap: 1rem;
    margin-bottom: -25px !important;
}

@media (min-width: 1200px) {
    .infixs-correios-automatico-calculator {
        display: grid !important;
        grid-template-columns: 1fr 1.5fr !important;
        column-gap: 2px !important;
        row-gap: 2px !important;
        align-items: start !important;
    }

    .infixs-correios-automatico-calculator-title {
        grid-column: 1 / -1 !important;
        margin-top: 5px !important;
        margin-bottom: -5px !important;
        text-transform: uppercase !important;
        font-size: 13px !important;
    }

    .infixs-correios-automatico-calculate-box {
        grid-column: 1 !important;
    }

    .infixs-correios-automatico-calculator>div:nth-child(3) {
        grid-column: 1 !important;
        margin-top: -5px !important;
    }

    #infixs-correios-automatico-calculate-results {
        grid-column: 2 !important;
        grid-row: 2 / span 2 !important;
        margin-top: 0 !important;
        border-left: 1px solid #eee !important;
        padding-left: 13px !important;
    }
}

.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce div.product form.cart button[name=add-to-cart] {
    background-color: #00467F !important;
    border-radius: 8px !important;
    margin: 0.5rem 0 1.25rem !important;
    width: 100% !important;
    padding: 0.5rem !important;
}

/*thumbnails galeria de produtos */
:where(.is-vertical .wc-block-product-gallery-thumbnails) :where(.wc-block-product-gallery-thumbnails__thumbnail) {
    flex: 0 0 auto;
    height: 100px !important;
    width: 100px !important;
}

:where(.is-vertical .wc-block-product-gallery-thumbnails) :where(.wc-block-product-gallery-thumbnails__thumbnail) img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
}

.woocommerce div.product form.cart {
    margin-top: -2rem !important;
    margin-bottom: -1rem !important;
}



@media (min-width: 1600px) {
    .wp-block-column.col-cart {
        height: 600px !important;
        /* Corrigido ponto e vírgula final */
    }
}

/* Customização Responsiva de Font-Size para H1 */


@media (min-width: 758px) and (max-width: 1599px) {
    h1 {
        font-size: var(--wp--preset--font-size--x-large) !important;
    }

    .single-product div.product form.cart {
        padding: 0 !important;
    }

}

@media (min-width: 1600px) {
    h1 {
        font-size: var(--wp--preset--font-size--xx-large) !important;
    }

    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product form.cart button[name=add-to-cart] {
        margin: 1.5rem 0 !important;
    }
}

/* Estilização da Seleção de Quantidade (Purchase CTA) */

form.cart,
div[data-block-name="woocommerce/add-to-cart-form"] {
    margin-block-start: 0 !important;
}

.purchase-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

.purchase-quantity-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 1rem 0 0.5rem !important;
    gap: 6px !important;
}

.purchase-quantity-wrapper .quantidade {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--olim-color-text-muted, #777) !important;
    text-align: center !important;
    display: block !important;
}

.purchase-quantity-wrapper .quantity.wc-block-components-quantity-selector {
    margin: 0 auto !important;
    border-radius: 8px !important;
}