/* v0.3.5 — polimento visual SOMENTE da caixa de frete na página do produto.
   Sem alterar cálculo, carrinho, checkout ou regras homologadas. */
body.single-product .leo-product-delivery .leo-product-cep-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 148px !important;
    gap: 10px !important;
    align-items: stretch !important;
}

body.single-product .leo-product-delivery input[type="text"],
body.single-product .leo-product-delivery input[type="tel"],
body.single-product .leo-product-delivery input[type="search"],
body.single-product .leo-product-delivery .leo-product-cep {
    min-height: 44px !important;
    border-radius: 10px !important;
}

body.single-product .leo-product-delivery .leo-product-cep-search {
    white-space: nowrap !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    color: #1a2533 !important;
    background: linear-gradient(180deg, #ffd95a 0%, #f5c93d 100%) !important;
    border: 1px solid #e3b11c !important;
    box-shadow: 0 2px 0 rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.35) !important;
    transition: transform .12s ease, box-shadow .12s ease, filter .12s ease !important;
}
body.single-product .leo-product-delivery .leo-product-cep-search:hover,
body.single-product .leo-product-delivery .leo-product-cep-search:focus {
    filter: brightness(1.02) !important;
    box-shadow: 0 4px 10px rgba(227,177,28,.22), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
body.single-product .leo-product-delivery .leo-product-cep-search:active {
    transform: translateY(1px) !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.35) !important;
}
body.single-product .leo-product-delivery .leo-product-cep-search[disabled] {
    opacity: .9 !important;
    cursor: wait !important;
}

body.single-product .leo-product-delivery .leo-shipping-destination {
    margin-top: 10px !important;
    color: #5f6f80 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-info,
body.single-product .leo-product-delivery .leo-delivery-v20-error,
body.single-product .leo-product-delivery .leo-shipping-error,
body.single-product .leo-product-delivery .leo-frete-product-minimum-message {
    margin-top: 12px !important;
    padding: 14px 15px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    line-height: 1.58 !important;
    box-shadow: none !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-info,
body.single-product .leo-product-delivery .leo-frete-product-minimum-message {
    background: #f4fcf7 !important;
    border: 1px solid #cfe8d7 !important;
    border-left: 4px solid #1f8d5d !important;
    color: #28543a !important;
    font-weight: 500 !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-error,
body.single-product .leo-product-delivery .leo-shipping-error {
    background: #fff6f4 !important;
    border: 1px solid #f0d1ca !important;
    border-left: 4px solid #d6634a !important;
    color: #8b3b2e !important;
    font-weight: 500 !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-info .amount,
body.single-product .leo-product-delivery .leo-delivery-v20-error .amount,
body.single-product .leo-product-delivery .leo-frete-product-minimum-message .amount,
body.single-product .leo-product-delivery .leo-shipping-error .amount,
body.single-product .leo-product-delivery .leo-delivery-v20-info strong,
body.single-product .leo-product-delivery .leo-frete-product-minimum-message strong {
    color: inherit !important;
    font-weight: 800 !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-options,
body.single-product .leo-product-delivery .leo-delivery-v20-rates,
body.single-product .leo-product-delivery .leo-shipping-rates {
    margin-top: 12px !important;
}

body.single-product .leo-product-delivery .leo-delivery-v20-option,
body.single-product .leo-product-delivery .leo-delivery-method-card,
body.single-product .leo-product-delivery .leo-shipping-rate {
    border-radius: 10px !important;
}

@media (max-width: 999px) {
    body.single-product .leo-product-delivery .leo-product-cep-form {
        grid-template-columns: minmax(0, 1fr) 140px !important;
    }
}

@media (max-width: 767px) {
    body.single-product .leo-product-delivery .leo-product-cep-form {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    body.single-product .leo-product-delivery .leo-product-cep-search {
        width: 100% !important;
        font-size: 12px !important;
    }
    body.single-product .leo-product-delivery .leo-delivery-v20-info,
    body.single-product .leo-product-delivery .leo-delivery-v20-error,
    body.single-product .leo-product-delivery .leo-shipping-error,
    body.single-product .leo-product-delivery .leo-frete-product-minimum-message {
        padding: 13px 14px !important;
        font-size: 13px !important;
    }
}


/* v0.3.6 — padronização visual da galeria de imagens na página do produto.
   Escopo estrito ao bloco principal de galeria; sem alterar frete, carrinho, checkout,
   mini carrinho ou regras homologadas. Baseado na estrutura confirmada via DevTools:
   .woocommerce-product-gallery > .ct-product-gallery-container > .flexy-container ... > figure.ct-media-container */
body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item > figure.ct-media-container {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #fff !important;
}

body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item > figure.ct-media-container > img:not(.zoomImg),
body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item > figure.ct-media-container > picture,
body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item > figure.ct-media-container > picture > img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item {
    display: flex !important;
}

/* Mantém o zoom intacto: não forçar width/height do zoomImg, apenas garante que ele não estoure por CSS global. */
body.single-product .woocommerce-product-gallery .ct-product-gallery-container .zoomImg {
    max-width: none !important;
    max-height: none !important;
}

@media (max-width: 999px) {
    body.single-product .woocommerce-product-gallery .ct-product-gallery-container .flexy-view[data-flexy-view="boxed"] .flexy-items > .flex-item > figure.ct-media-container {
        aspect-ratio: 1 / 1 !important;
    }
}
