/**
 * Brazilian Checkout Fields - Frontend CSS
 *
 * @package BrazilianCheckout
 */

/* === Toggle PF/PJ === */
.person-type-field {
    transition: opacity 0.2s ease, max-height 0.2s ease;
}

/* CPF/CNPJ são obrigatórios conforme o tipo de pessoa (o JS marca
   validate-required); o "(opcional)" do WooCommerce no rótulo não vale. */
.person-type-field.validate-required label .optional {
    display: none;
}

/* Resumo recolhível (#bcf-order-review-toggle) e notas recolhíveis: o CSS
   fica nos módulos OrderReview e OrderNotes, que só carregam quando a opção
   está ligada. Aqui ele escondia os títulos do WooCommerce mesmo com as
   opções desligadas. */

/* === Order Notes Toggle (rótulo) === */
.bcf-order-notes-toggle {
    margin-bottom: 1em;
}

.bcf-order-notes-toggle label {
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
}

/* === CEP Feedback (inside field) === */
.bcf-cep-overlay {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    pointer-events: none;
    z-index: 9;
    background: #fff;
    padding: 0 5px;
    line-height: 1;
}

.bcf-cep-overlay--loading {
    color: #007cba;
    animation: bcf-pulse 1.5s infinite;
}

.bcf-cep-overlay--error {
    color: #b81c23;
}

@keyframes bcf-pulse {
    0%   { opacity: 1; }
    50%  { opacity: 0.4; }
    100% { opacity: 1; }
}

/* === Minha Conta - Editar Endereços === */
.woocommerce-address-fields__field-wrapper {
    margin-bottom: 20px;
}

/* === Trust Badges === */
.bcf-trust-badges {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin: 1.5em 0;
}

.bcf-trust-badge-img {
    max-height: 50px;
    width: auto;
    height: auto;
}

.bcf-trust-badges a {
    display: inline-flex;
    text-decoration: none;
    border: none;
    box-shadow: none;
}

/* ------------------------------------------------------------------
   Retirada no local: endereço abaixo de cada ponto (checkout clássico)
   ------------------------------------------------------------------ */
.bcf-pickup-address {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 4px 0 6px 0;
    font-size: 12.5px;
    line-height: 1.45;
    opacity: .8;
    position: relative;
}

.bcf-pickup-address__hours {
    display: block;
}

.bcf-pickup-address__map,
.bcf-pickup-extras__map {
    display: inline-block;
    margin-top: 1px;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Checkout e carrinho em blocos (o estilo vai junto em frontend.css). */
.bcf-pickup-extras {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.45;
    opacity: .85;
}

.bcf-pickup-address__details {
    font-style: italic;
}

/* Retirada escolhida: o bloco de prazo de ENTREGA do WoodMart fica vazio e some.
   (:has() preso à classe do bloco: não pesa no resto da página.) */
.wd-overall-est-del:has(.wd-info-msg:empty) {
    display: none !important;
}

/* Retirada escolhida (checkout em blocos): a barra de frete grátis do WoodMart
   também some. (:has() preso ao checkout: dois elementos na página.) */
.bcf-pickup-hide-wd .wc-block-checkout:has(.wc-block-checkout__pickup-options) .wd-shipping-progress-bar {
    display: none !important;
}

/* ------------------------------------------------------------------
   Prazo de entrega (checkout e carrinho clássicos; pedido)
   ------------------------------------------------------------------ */
.bcf-estimate {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin: 4px 0 6px 0;
    font-size: 12.5px;
    line-height: 1.45;
    position: relative;
}

.bcf-estimate--package {
    margin-top: 8px;
}

.bcf-estimate__date {
    font-weight: 600;
}

.bcf-estimate__note {
    opacity: .75;
}

.bcf-estimate-order {
    opacity: .85;
}

/* ------------------------------------------------------------------
   Miniatura e SKU nos pedidos (Pedido recebido, Minha Conta)
   ------------------------------------------------------------------ */
.bcf-order-item {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    vertical-align: middle;
}

.bcf-order-item__thumb img,
img.bcf-order-item__img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 6px;
}

.bcf-order-item__thumb {
    flex: 0 0 56px;
}

.bcf-order-item__text {
    display: inline-flex;
    flex-direction: column;
}

.bcf-order-item__sku {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    opacity: .7;
}

/* Checkout em blocos aberto em Enviar, ainda sem CEP: o aviso do WooCommerce
   sobre recalcular os totais só aparece depois de haver CEP. */
[data-bcf-ship-pending] .wc-block-checkout__sidebar .wc-block-components-notices .wc-block-components-notice-banner.is-info {
    display: none !important;
}

/* Resumo do pedido (blocos): linha da opção de entrega escolhida, do tamanho
   do texto ao lado (classe repetida: vence a regra igual do WooCommerce, que
   carrega depois). */
.wc-block-components-totals-shipping .wc-block-components-totals-shipping__via.wc-block-components-totals-shipping__via {
    font-size: 1em;
    width: 100%;
}

/* Pontos de retirada: além do limite, escondidos até "Ver todos" (pickup-limit.js). */
[data-bcf-far] {
    display: none !important;
}

.bcf-pickup-more,
#shipping_method .bcf-pickup-more-row {
    margin: 6px 0 2px;
    text-align: inherit;
}

.bcf-pickup-more button.bcf-pickup-more__btn,
.bcf-pickup-more-row button.bcf-pickup-more__btn {
    all: unset !important; /* o tema desenha todo <button> como botão cheio */
    cursor: pointer !important;
    font-size: .9em !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    opacity: .8 !important;
}

.bcf-pickup-more button.bcf-pickup-more__btn:hover,
.bcf-pickup-more-row button.bcf-pickup-more__btn:hover {
    opacity: 1 !important;
}

.bcf-pickup-more button.bcf-pickup-more__btn:focus-visible,
.bcf-pickup-more-row button.bcf-pickup-more__btn:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 2px !important;
}

/* Checkout em blocos, lista enxuta: endereço, mapa e prazo só no ponto escolhido. */
.bcf-pickup-compact .wc-block-checkout__pickup-options .wc-block-components-radio-control__option:not(.wc-block-components-radio-control__option-checked) .wc-block-components-radio-control__description-group {
    display: none;
}
