/* ============================================================
   HELLO CHILD v3 — loja.css (versão limpa 3.5)
   ============================================================ */

/* ── VARIÁVEIS (injetadas via PHP) ──────────────────────────
   --loja-cor-primaria
   --loja-cor-primaria-hover
   --loja-pix-bg / --loja-pix-texto
   --loja-badge-oferta
   ---------------------------------------------------------- */

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f0ebe6; }
::-webkit-scrollbar-thumb { background: #7a5c3e; border-radius: 99px; border: 2px solid #f0ebe6; }
::-webkit-scrollbar-thumb:hover { background: #5c4128; }
* { scrollbar-width: thin; scrollbar-color: #7a5c3e #f0ebe6; }

/* ============================================================
   PÁGINA DE PRODUTO — single-product.php
   ============================================================ */

.loja-produto-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 1.5rem 3rem;
}

.loja-breadcrumb { font-size: 13px; color: #888; margin-bottom: 1.5rem; }
.loja-breadcrumb a { color: #555; text-decoration: none; }
.loja-breadcrumb a:hover { color: var(--loja-cor-primaria); }

/* Grid produto */
.loja-produto-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: flex-start;
    margin-bottom: 3rem;
}

/* Galeria */
.loja-galeria-wrap { position: sticky; top: 20px; align-self: flex-start; }
.loja-galeria { display: flex; flex-direction: row; gap: 10px; align-items: flex-start; }

.loja-thumbs { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }
.loja-thumb {
    width: 72px; height: 72px; border-radius: 8px; overflow: hidden;
    border: 2px solid #e5e5e5; background: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    padding: 4px; transition: border-color 0.15s;
}
.loja-thumb img { width: 100%; height: 100%; object-fit: contain; opacity: 0.6; transition: opacity 0.15s; }
.loja-thumb.ativo, .loja-thumb:hover { border-color: var(--loja-cor-primaria); }
.loja-thumb.ativo img, .loja-thumb:hover img { opacity: 1; }

.loja-img-principal {
    flex: 1; position: relative; background: #fff;
    border: 1px solid #e5e5e5; border-radius: 14px; overflow: hidden;
    aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
}
.loja-img-principal img { width: 88%; height: 88%; object-fit: contain; transition: opacity 0.2s; }

.loja-badge-oferta {
    position: absolute; top: 14px; left: 14px;
    background: var(--loja-cor-primaria); color: #fff;
    font-size: 11px; font-weight: 700; padding: 4px 12px;
    border-radius: 20px; letter-spacing: 0.5px; z-index: 2;
}
.loja-zoom {
    position: absolute; top: 14px; right: 14px; background: #fff;
    border: 1px solid #e5e5e5; border-radius: 50%; width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: #555; transition: background 0.15s; z-index: 2;
}
.loja-zoom:hover { background: #f5f5f5; }

/* Info do produto */
.loja-info-wrap { display: flex; flex-direction: column; gap: 14px; }
.loja-sku { font-size: 12px; color: #aaa; }
.loja-titulo { font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; color: #1a1a1a !important; margin: 0 !important; }

.loja-avaliacoes { display: flex; align-items: center; gap: 8px; }
.loja-avaliacoes .star-rating { color: #f39c12; }
.loja-aval-link { font-size: 13px; color: #666; text-decoration: none; }

.loja-short-desc {
    font-size: 14px; color: #555; line-height: 1.6; max-height: 80px; overflow: hidden;
    mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

.loja-urgencia {
    background: #fff8e6; border: 1px solid #f0c060; border-radius: 8px;
    padding: 8px 12px; font-size: 13px; color: #8a6000; font-weight: 500;
}
.loja-urgencia-esgotado {
    background: #fef2f2; border-color: #fca5a5; color: #991b1b;
}

/* Bloco de preços */
.loja-precos-bloco { background: #f8f8f8; border-radius: 12px; padding: 16px; border: 1px solid #e5e5e5; }
.loja-preco-de { font-size: 14px; color: #aaa; text-decoration: line-through; margin-bottom: 2px; }
.loja-preco-de .woocommerce-Price-amount { color: #aaa !important; }
.loja-preco-por { font-size: 28px; font-weight: 700; color: #1a1a1a; line-height: 1.2; }
.loja-parcel-resumo { font-size: 13px; color: #666; margin-top: 4px; }

.loja-pix-bloco {
    background: var(--loja-pix-bg); border-radius: 10px; padding: 10px 14px;
    display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap;
}
.loja-pix-tag { background: var(--loja-pix-texto); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 20px; }
.loja-pix-valor { font-size: 17px; font-weight: 700; color: var(--loja-pix-texto); }
.loja-pix-desc { font-size: 12px; color: var(--loja-pix-texto); opacity: 0.85; }

/* Accordion parcelas */
.loja-parc-toggle {
    display: flex; align-items: center; justify-content: space-between;
    cursor: pointer; font-size: 13px; color: #555;
    padding: 10px 0 0; border-top: 1px solid #e5e5e5; margin-top: 12px;
    user-select: none; transition: color 0.15s;
}
.loja-parc-toggle:hover { color: var(--loja-cor-primaria); }
.loja-parc-icon { font-size: 18px; transition: transform 0.2s; }
.loja-parc-toggle.aberto .loja-parc-icon { transform: rotate(180deg); }
.loja-parc-grid { display: none; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px; }
.loja-parc-grid.visivel { display: grid; }
.loja-parc-item { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; padding: 8px 10px; }
.loja-parc-item.destaque { background: #eaf3fb; border-color: #b5d4f4; }
.loja-parc-num { font-size: 13px; font-weight: 600; color: #1a1a1a; }
.loja-parc-item.destaque .loja-parc-num { color: #185fa5; }
.loja-parc-sub { font-size: 11px; color: #888; margin-top: 2px; }

/* Botões de compra */
.loja-compra { display: flex; flex-direction: column; gap: 10px; }
.loja-compra p.stock { display: none !important; }

.loja-qty-wrap { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 999px; overflow: hidden; width: fit-content; }
.loja-qty-btn { width: 40px; height: 40px; background: #f5f5f5; border: none; cursor: pointer; font-size: 18px; color: #555; display: flex; align-items: center; justify-content: center; transition: background 0.15s; line-height: 1; }
.loja-qty-btn:hover { background: #e8e8e8; }
.loja-qty-wrap input.qty { width: 52px !important; height: 40px !important; border: none !important; border-left: 1px solid #eee !important; border-right: 1px solid #eee !important; text-align: center !important; font-size: 15px !important; font-weight: 600 !important; background: #fff !important; -moz-appearance: textfield !important; }
.loja-qty-wrap input.qty::-webkit-inner-spin-button, .loja-qty-wrap input.qty::-webkit-outer-spin-button { -webkit-appearance: none; }

.loja-compra .single_add_to_cart_button {
    background: var(--loja-cor-primaria) !important; color: #fff !important;
    border: none !important; border-radius: 8px !important; padding: 14px 20px !important;
    font-size: 15px !important; font-weight: 700 !important; width: 100% !important;
    cursor: pointer !important; transition: background 0.15s !important; text-transform: uppercase !important;
    margin-top: 5px !important;
}
.loja-compra .single_add_to_cart_button:hover { background: var(--loja-cor-primaria-hover) !important; }

.loja-btn-whatsapp {
    background: #25d366; color: #fff; border: none; border-radius: 8px;
    padding: 14px 20px; font-size: 15px; font-weight: 700; width: 100%;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    text-decoration: none; transition: background 0.15s; margin-top: 5px;
    box-sizing: border-box; line-height: 1;
}
.loja-btn-whatsapp svg, .loja-btn-whatsapp img { width: 18px; height: 18px; flex-shrink: 0; }
.loja-btn-whatsapp:hover { background: #1fa855; color: #fff; }

.loja-seguro { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; color: #888; }

/* Frete */
.loja-frete-box { border: 1px solid #e5e5e5; border-radius: 12px; overflow: hidden; }
.loja-frete-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: #f8f8f8; cursor: pointer; font-size: 13px; font-weight: 600; color: #444; user-select: none; }
.loja-frete-body { padding: 14px 16px; border-top: 1px solid #e5e5e5; display: flex; flex-direction: column; gap: 10px; }
.loja-frete-gratis { background: #eafaf1; border-radius: 8px; padding: 8px 12px; font-size: 12px; color: #1e8449; font-weight: 500; }

/* Campo CEP frete */
#wc-shipping-sim-form-fields { display: flex !important; gap: 8px !important; align-items: center !important; }
#wc-shipping-sim-form-fields .input-postcode { flex: 1 !important; border: 1px solid #ddd !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 14px !important; background: #fff !important; height: auto !important; }
#wc-shipping-sim-form-fields .input-postcode:focus { border-color: var(--loja-cor-primaria) !important; }
#wc-shipping-sim-form-fields .button.submit { background: #1a1a1a !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 18px !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; white-space: nowrap !important; height: auto !important; width: auto !important; }
#wc-shipping-sim-form-fields .button.submit:hover { background: #333 !important; }
#wc-shipping-sim-results table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }
#wc-shipping-sim-results table tr { border-bottom: 1px solid #f0f0f0; }
#wc-shipping-sim-results table td { padding: 8px 4px; color: #444; }
#wc-shipping-sim-results table td:last-child { text-align: right; font-weight: 600; color: #1a1a1a; }

/* Abas */
.loja-abas .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 !important; border-bottom: 2px solid #e5e5e5 !important; display: flex !important; list-style: none !important; }
.loja-abas .woocommerce-tabs ul.tabs::before { display: none !important; }
.loja-abas .woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; }
.loja-abas .woocommerce-tabs ul.tabs li::before, .loja-abas .woocommerce-tabs ul.tabs li::after { display: none !important; }
.loja-abas .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 22px !important; font-size: 14px !important; font-weight: 500 !important; color: #888 !important; border-bottom: 2px solid transparent; margin-bottom: -2px; text-decoration: none; transition: color 0.15s; }
.loja-abas .woocommerce-tabs ul.tabs li.active a, .loja-abas .woocommerce-tabs ul.tabs li a:hover { color: var(--loja-cor-primaria) !important; border-bottom-color: var(--loja-cor-primaria) !important; }
.loja-abas .woocommerce-tabs .panel { padding: 1.5rem 0 !important; border: none !important; margin: 0 !important; background: transparent !important; }

/* Avaliações */
.woocommerce-Reviews .star-rating, .woocommerce-Reviews .star-rating span::before,
.comment-form-rating .stars a { color: #f39c12 !important; }

/* Ocultar parcelamento PagBank duplicado */
.woocommerce-pagbank-connect-installments,
.pagbank-connect-installments,
[class*="pagbank-connect-install"],
.wc-pagbank-installments { display: none !important; }

/* ============================================================
   PRODUTOS RELACIONADOS
   ============================================================ */
.loja-produto-wrap .related.products h2 { font-size: 18px !important; font-weight: 700 !important; color: #1a1a1a; margin-bottom: 1rem !important; }
.loja-produto-wrap .related.products ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 14px !important; margin: 0 !important; list-style: none !important; float: none !important; }
.loja-produto-wrap .related.products ul.products::before, .loja-produto-wrap .related.products ul.products::after { display: none !important; }
.loja-produto-wrap .related.products ul.products li.product { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s; margin: 0 !important; padding: 0 !important; float: none !important; width: 100% !important; }
.loja-produto-wrap .related.products ul.products li.product:hover { border-color: #ccc; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.loja-produto-wrap .related.products ul.products li.product a img { width: 92% !important; height: auto; object-fit: contain; margin: 0.5rem auto !important; display: block; aspect-ratio: 1; }
.loja-produto-wrap .related.products ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; font-weight: 500 !important; color: #1a1a1a; padding: 0 12px 6px !important; min-height: 40px; line-height: 1.4; }
.loja-produto-wrap .related.products ul.products li.product .price { padding: 0 12px !important; }
.loja-produto-wrap .related.products ul.products li.product .price del { font-size: 11px !important; color: #aaa !important; display: block; }
.loja-produto-wrap .related.products ul.products li.product .price ins { font-size: 15px !important; font-weight: 700 !important; color: #1a1a1a !important; text-decoration: none !important; display: block; }
.loja-produto-wrap .related.products ul.products li.product .button { background: var(--loja-cor-primaria) !important; color: #fff !important; border: none !important; border-radius: 0 0 10px 10px !important; padding: 10px !important; font-size: 13px !important; font-weight: 600 !important; width: 100% !important; display: block !important; text-align: center !important; margin: 8px 0 0 !important; transition: background 0.15s !important; }
.loja-produto-wrap .related.products ul.products li.product .button:hover { background: var(--loja-cor-primaria-hover) !important; }
.loja-produto-wrap .related.products ul.products li.product .onsale { background: var(--loja-cor-primaria) !important; color: #fff !important; border-radius: 20px !important; font-size: 10px !important; padding: 3px 10px !important; top: 10px !important; left: 10px !important; right: auto !important; min-height: auto !important; }
.loja-produto-wrap .related.products .star-rating span::before, .loja-produto-wrap .related.products .star-rating::before { color: #f39c12 !important; }

/* ============================================================
   CARDS DE PRODUTO — categoria, busca, relacionados
   ============================================================ */

/* Grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important; margin: 0 !important; padding: 0 !important;
    list-style: none !important; float: none !important; width: 100% !important;
    max-width: 100% !important;
}
/* Página de categoria — layout com sidebar (categorias + marca à esquerda) */
.loja-arquivo-wrap .products {
    display: grid !important; grid-template-columns: repeat(5, 1fr) !important;
    gap: 16px !important; margin: 0 !important; padding: 0 !important;
    list-style: none !important; float: none !important; width: 100% !important;
    max-width: 100% !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; content: none !important; }

li.loja-card,
li.loja-card.first,
li.loja-card.last,
.woocommerce ul.products li.loja-card,
.woocommerce ul.products li.product.loja-card {
    background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s; display: flex !important; flex-direction: column;
    margin: 0 !important; padding: 0 !important; float: none !important; width: 100% !important;
    clear: none !important;
}
li.loja-card:hover { border-color: #ccc; box-shadow: 0 6px 20px rgba(0,0,0,.09); }
.loja-card-link { text-decoration: none; color: inherit; flex: 1; display: flex; flex-direction: column; }
.loja-card .onsale { display: none !important; }

.loja-card-img-wrap { position: relative; background: #f9f9f9; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; padding: 6px; }
.loja-card-img { width: 92%; height: 92%; object-fit: contain; }
.loja-card-badge { position: absolute; top: 10px; left: 10px; background: var(--loja-cor-primaria) !important; color: #fff; font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 20px; z-index: 2; }
.loja-card-badge-esgotado { background: #6b6b6b !important; }
.loja-card-img-esgotado { opacity: 0.45; filter: grayscale(60%); }
.loja-card-footer button.loja-card-btn-esgotado,
.loja-card-footer button.loja-card-btn-esgotado:hover { background: #e0e0e0 !important; color: #8a8a8a !important; box-shadow: none !important; cursor: not-allowed !important; border: none !important; pointer-events: none; }

.loja-card-body { padding: 10px 14px 12px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.loja-card-titulo { font-size: 13px !important; font-weight: 600 !important; color: #1a1a1a !important; line-height: 1.4 !important; min-height: 36px; margin: 0 !important; padding: 0 !important; }

.loja-card-precos { display: flex; flex-direction: column; gap: 3px; }
.loja-card-precos-linha { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.loja-card-de { font-size: 12px; color: #999; text-decoration: line-through; }
.loja-card-de .woocommerce-Price-amount { color: #999 !important; font-size: 12px !important; }
.loja-card-por { font-size: 17px; font-weight: 700; color: #1a1a1a; }
.loja-card-por .woocommerce-Price-amount { color: #1a1a1a !important; font-size: 17px !important; font-weight: 700 !important; }
.loja-card-parcelas {
    font-size: 12px; color: #666;
    display: flex; align-items: baseline; gap: 3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.loja-card-parcelas strong { color: #1a1a1a; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: baseline; }
.loja-card-parcelas .woocommerce-Price-amount { font-size: 12px !important; font-weight: 600 !important; color: #1a1a1a !important; white-space: nowrap !important; }

.loja-card-pix { display: flex; align-items: center; gap: 6px; background: var(--loja-pix-bg); border-radius: 8px; padding: 5px 9px; margin-top: 4px; flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
.loja-card-pix-tag { background: var(--loja-pix-texto); color: #fff; font-size: 9px; font-weight: 700; padding: 2px 7px; border-radius: 20px; flex-shrink: 0; }
.loja-card-pix-val { font-size: 13px; font-weight: 700; color: var(--loja-pix-texto); white-space: nowrap; flex-shrink: 0; }
.loja-card-pix .woocommerce-Price-amount { font-size: 13px !important; font-weight: 700 !important; color: var(--loja-pix-texto) !important; white-space: nowrap !important; }
.loja-card-pix-desc { font-size: 11px; color: var(--loja-pix-texto); opacity: 0.75; flex-shrink: 0; white-space: nowrap; }

.loja-card-disponivel {
    display: inline-flex; align-items: center; gap: 5px;
    align-self: flex-start;
    background: #eafaf1; color: #1e8449;
    font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .2px;
    padding: 3px 9px; border-radius: 20px; margin-top: 2px;
}

/* ── Forçar mesmo padrão de preço/parcelas/botão dentro do widget
   "WooCommerce Products" do Elementor Pro (usado na home em carrosséis).
   O Elementor tem CSS próprio de alta especificidade que sobrescreve
   nosso tema; aqui usamos a classe do wrapper do widget + !important
   para garantir consistência visual em toda a loja. ── */
.elementor-widget-woocommerce-products .loja-card-precos-linha,
.elementor-widget-woocommerce-products .loja-card-precos { display: flex !important; }
.elementor-widget-woocommerce-products .loja-card-precos { flex-direction: column !important; gap: 3px !important; }
.elementor-widget-woocommerce-products .loja-card-precos-linha { align-items: baseline !important; gap: 8px !important; flex-wrap: wrap !important; }
.elementor-widget-woocommerce-products .loja-card-de,
.elementor-widget-woocommerce-products .loja-card-de .woocommerce-Price-amount { font-size: 12px !important; color: #999 !important; text-decoration: line-through !important; }
.elementor-widget-woocommerce-products .loja-card-por,
.elementor-widget-woocommerce-products .loja-card-por .woocommerce-Price-amount { font-size: 17px !important; font-weight: 700 !important; color: #1a1a1a !important; }
.elementor-widget-woocommerce-products .loja-card-parcelas,
.elementor-widget-woocommerce-products .loja-card-parcelas .woocommerce-Price-amount { font-size: 12px !important; color: #666 !important; }

/* Botão Adicionar ao carrinho — sempre vermelho da marca, nunca o azul padrão do Elementor */
.elementor-widget-woocommerce-products a.add_to_cart_button,
.elementor-widget-woocommerce-products a.ajax_add_to_cart,
.elementor-widget-woocommerce-products .loja-card-btn,
.woocommerce ul.products li.product .loja-card-btn,
a.loja-card-btn,
a.loja-card-btn:hover,
a.loja-card-btn:focus,
a.loja-card-btn:visited,
a.loja-card-btn:active {
    background: var(--loja-cor-primaria) !important;
    border-color: var(--loja-cor-primaria) !important;
    color: #fff !important;
    text-decoration: none !important;
}
.elementor-widget-woocommerce-products a.add_to_cart_button:hover,
.elementor-widget-woocommerce-products .loja-card-btn:hover,
a.loja-card-btn:hover {
    background: var(--loja-cor-primaria-hover) !important;
    border-color: var(--loja-cor-primaria-hover) !important;
}

/* ── Parcelas e PIX nos cards da home (Premium Addons carousel) ── */
.loja-home-card-extra { padding: 0 12px 8px; }
.loja-home-card-parcelas { font-size: 12px; color: #666; margin-bottom: 4px; }
.loja-home-card-parcelas strong .woocommerce-Price-amount { font-size: 12px !important; }
.loja-home-card-pix {
    display: inline-flex; align-items: center; gap: 5px;
    background: var(--loja-pix-bg); border-radius: 6px;
    padding: 3px 8px; flex-wrap: wrap;
}
.loja-home-card-pix .loja-card-pix-tag { background: var(--loja-pix-texto); color: #fff; font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 20px; }
.loja-home-card-pix .loja-card-pix-val { font-size: 12px; font-weight: 700; color: var(--loja-pix-texto); }
.loja-home-card-pix .loja-card-pix-val .woocommerce-Price-amount { font-size: 12px !important; font-weight: 700 !important; color: var(--loja-pix-texto) !important; }
.loja-home-card-pix .loja-card-pix-desc { font-size: 11px; color: var(--loja-pix-texto); opacity: 0.75; }

/* Evitar duplicação em nosso template archive (já tem parcelas/PIX) */
.loja-card .loja-home-card-extra { display: none !important; }

/* ── Botão do card (Adicionar ao carrinho / Leia mais) + favoritar ── */
.loja-card-footer { padding: 0 14px 14px; display: flex; align-items: stretch; gap: 8px; }

.loja-card-favoritar {
    flex-shrink: 0; width: 44px; height: auto;
    display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid #e5e5e5; border-radius: 8px;
    color: #999; cursor: pointer; transition: border-color .15s, color .15s, background .15s;
}
.loja-card-favoritar svg { width: 18px; height: 18px; }
.loja-card-favoritar:hover { border-color: #ccc; color: #C98300; }
.loja-card-favoritar.is-favorito { background: #FFF0F0; border-color: #FFC9C9; color: #E0245E; }
.loja-card-favoritar.is-favorito svg { fill: #E0245E; }

.loja-card-footer a,
.loja-card-footer a.button,
.loja-card-footer a.loja-card-btn,
.loja-card-footer button:not(.loja-card-favoritar),
.woocommerce ul.products li.product .loja-card-footer a,
.woocommerce ul.products li.product a.loja-card-btn {
    display: block !important;
    flex: 1 !important;
    width: auto !important;
    box-sizing: border-box !important;
    background: var(--loja-cor-primaria) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.15s, box-shadow 0.15s !important;
    box-shadow: 0 2px 6px rgba(192,57,43,0.25) !important;
    letter-spacing: 0.2px !important;
    line-height: 1.4 !important;
}
.loja-card-footer a:hover,
.loja-card-footer a.button:hover,
.loja-card-footer a.loja-card-btn:hover,
.woocommerce ul.products li.product a.loja-card-btn:hover {
    background: var(--loja-cor-primaria-hover) !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(192,57,43,0.35) !important;
}

/* ============================================================
   PÁGINA DE CATEGORIA
   ============================================================ */
.loja-arquivo-wrap { max-width: 1200px; margin: 0 auto; padding: 1rem 1.5rem 3rem; }
.loja-arquivo-header { margin-bottom: 1.5rem; }
.loja-arquivo-header-topo { display: flex; align-items: center; gap: 16px; }
.loja-arquivo-icone {
    flex-shrink: 0; width: 54px; height: 54px; border-radius: 50%;
    background: #1a1a1a; color: var(--loja-cor-primaria);
    display: flex; align-items: center; justify-content: center;
}
.loja-arquivo-icone svg { width: 26px; height: 26px; }
.loja-arquivo-titulo { font-size: 22px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 0 6px !important; }
.loja-arquivo-desc { font-size: 14px; color: #666; margin: 0; }

.loja-arquivo-selos {
    display: flex; flex-wrap: wrap; gap: 20px;
    margin-top: 16px; padding-top: 16px; border-top: 1px solid #eee;
}
.loja-arquivo-selo { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: #666; }
.loja-arquivo-selo svg { width: 18px; height: 18px; color: var(--loja-cor-primaria, #C98300); flex-shrink: 0; }
.loja-arquivo-selo strong { display: block; color: #1a1a1a; font-size: 13px; }
.loja-arquivo-selo small { display: block; font-size: 11.5px; color: #888; }

/* Chips de filtro ativo + limpar filtros */
.loja-arquivo-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 20px; }
.loja-arquivo-chip {
    display: inline-flex; align-items: center; gap: 6px;
    background: #FFF4E0; color: #C98300; font-size: 12.5px; font-weight: 600;
    padding: 6px 10px; border-radius: 20px; text-decoration: none;
}
.loja-arquivo-chip span { font-size: 11px; }
.loja-arquivo-chip:hover { background: #ffe9c2; }
.loja-arquivo-limpar { font-size: 12.5px; color: #888; text-decoration: underline; }
.loja-arquivo-limpar:hover { color: #1a1a1a; }

.loja-arquivo-controles { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; flex-wrap: wrap; gap: 10px; }
.loja-arquivo-controles .woocommerce-result-count { font-size: 13px; color: #888; margin: 0; }
.loja-arquivo-controles-direita { display: flex; align-items: center; gap: 10px; }
.loja-arquivo-ordering select { border: 1px solid #ddd; border-radius: 8px; padding: 7px 12px; font-size: 13px; color: #444; background: #fff; }

/* Toggle grid / lista */
.loja-arquivo-view-toggle { display: flex; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; }
.loja-arquivo-view-btn {
    width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
    background: #fff; border: none; color: #999; cursor: pointer;
}
.loja-arquivo-view-btn + .loja-arquivo-view-btn { border-left: 1px solid #ddd; }
.loja-arquivo-view-btn.is-ativo { background: #1a1a1a; color: var(--loja-cor-primaria); }

/* Modo lista: cards em linha (imagem pequena à esquerda, infos à direita) */
.loja-arquivo-wrap .products.loja-view-lista {
    grid-template-columns: 1fr !important;
}
.loja-view-lista li.loja-card { flex-direction: row !important; }
.loja-view-lista .loja-card-link { flex-direction: row !important; align-items: center; }
.loja-view-lista .loja-card-img-wrap { width: 140px; flex-shrink: 0; aspect-ratio: 1; }
.loja-view-lista .loja-card-body { flex: 1; }
.loja-view-lista .loja-card-footer { width: 200px; flex-shrink: 0; padding: 14px; }

/* Layout de arquivo/categoria — sidebar (categorias + marca) + grid de produtos */
.loja-arquivo-grid { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: start; }
.loja-arquivo-sidebar { display: flex; flex-direction: column; gap: 24px; }
.loja-arquivo-filtro-bloco { border: 1px solid #eee; border-radius: 10px; padding: 16px; }
.loja-arquivo-filtro-titulo { font-size: 14px; font-weight: 700; color: #1a1a1a; margin: 0 0 12px; }
.loja-arquivo-cat-lista,
.loja-arquivo-marca-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.loja-arquivo-cat-link,
.loja-arquivo-marca-link {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 7px 6px; border-radius: 6px;
    font-size: 13px; color: #444; text-decoration: none; line-height: 1.35;
}
.loja-arquivo-cat-link:hover,
.loja-arquivo-marca-link:hover { background: #FAF7F0; color: #C98300; }
.loja-arquivo-cat-link.is-ativa,
.loja-arquivo-marca-link.is-ativa { background: #FFF4E0; color: #C98300; font-weight: 700; }
.loja-arquivo-filtro-count { font-size: 11.5px; color: #000; flex-shrink: 0; }
.loja-arquivo-marca-link.is-ativa .loja-arquivo-filtro-count { color: #C98300; }
.loja-arquivo-checkbox {
    width: 15px; height: 15px; border: 1.5px solid #ccc; border-radius: 4px;
    flex-shrink: 0; display: inline-block; position: relative;
}
.loja-arquivo-marca-link.is-ativa .loja-arquivo-checkbox {
    background: #C98300; border-color: #C98300;
}
.loja-arquivo-marca-link.is-ativa .loja-arquivo-checkbox::after {
    content: ""; position: absolute; left: 4px; top: 1px;
    width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.loja-arquivo-marca-link .loja-arquivo-filtro-count { margin-left: auto; }

.loja-paginacao { margin-top: 2rem; display: flex; justify-content: center; }
.loja-paginacao .woocommerce-pagination ul { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0; }
.loja-paginacao .woocommerce-pagination ul li a,
.loja-paginacao .woocommerce-pagination ul li span { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; border: 1px solid #e5e5e5; font-size: 14px; color: #444; text-decoration: none; transition: all 0.15s; }
.loja-paginacao .woocommerce-pagination ul li a:hover,
.loja-paginacao .woocommerce-pagination ul li span.current { background: var(--loja-cor-primaria); border-color: var(--loja-cor-primaria); color: #fff; }

/* ============================================================
   CARRINHO — página (via template cart/cart.php)
   ============================================================ */
.loja-cart-page { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.5rem 3rem; }

.loja-cart-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 10px; }
.loja-cart-titulo { font-size: 22px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 !important; }
.loja-cart-voltar { font-size: 13px; color: #555; text-decoration: none; border: 1px solid #e5e5e5; border-radius: 8px; padding: 7px 14px; transition: border-color 0.15s; }
.loja-cart-voltar:hover { border-color: #aaa; color: #1a1a1a; }

.loja-cart-layout { display: grid; grid-template-columns: 1fr 340px; gap: 1.5rem; align-items: start; }

/* Item */
.loja-cart-item {
    display: grid;
    grid-template-columns: 26px 76px 1fr 130px 90px;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
}
.loja-cart-item:hover { border-color: #ccc; }

.loja-remover-btn { width: 26px; height: 26px; border-radius: 50%; background: #f5f5f5; color: #aaa; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 12px; transition: background 0.15s, color 0.15s; flex-shrink: 0; }
.loja-remover-btn:hover { background: #fee; color: #c0392b; }

.loja-cart-item-img-wrap { display: block; background: #f9f9f9; border-radius: 10px; overflow: hidden; aspect-ratio: 1; width: 76px; height: 76px; flex-shrink: 0; }
.loja-cart-item-img-wrap img { width: 100%; height: 100%; object-fit: contain; padding: 6px; display: block; }

.loja-cart-item-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; overflow: hidden; }
.loja-cart-item-nome {
    font-size: 14px; font-weight: 500; color: #1a1a1a; text-decoration: none;
    line-height: 1.4; display: block; overflow: hidden;
    max-height: 2.8em; /* ~2 linhas — fallback sem -webkit-box */
}
/* webkit-box separado evita conflito de display */
@supports (-webkit-line-clamp: 2) {
    .loja-cart-item-nome {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: none;
    }
}
.loja-cart-item-nome:hover { color: var(--loja-cor-primaria); }
.loja-cart-item-sku { font-size: 11px; color: #aaa; }
.loja-cart-item-preco-unit { font-size: 12px; color: #888; }

/* Controles +/- */
.loja-qty-controles { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 999px; overflow: hidden; width: fit-content; }
.loja-qty-btn { width: 34px; height: 36px; background: #f5f5f5; border: none; cursor: pointer; font-size: 16px; color: #555; display: flex; align-items: center; justify-content: center; transition: background 0.15s; line-height: 1; }
.loja-qty-btn:hover { background: #e5e5e5; }
.loja-qty-input { width: 44px !important; height: 36px !important; border: none !important; border-left: 1px solid #eee !important; border-right: 1px solid #eee !important; text-align: center !important; font-size: 14px !important; font-weight: 600 !important; background: #fff !important; -moz-appearance: textfield !important; box-shadow: none !important; }
.loja-qty-input::-webkit-inner-spin-button, .loja-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }

.loja-cart-item-subtotal { font-size: 15px; font-weight: 700; color: #1a1a1a; white-space: nowrap; text-align: right; }

/* Ações */
.loja-cart-acoes { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 0; border-top: 1px solid #f0f0f0; margin-top: 4px; }
.loja-cart-cupom { display: flex; gap: 8px; align-items: center; }
.loja-input-cupom { border: 1px solid #ddd !important; border-radius: 8px !important; padding: 9px 14px !important; font-size: 13px !important; width: 180px !important; }
.loja-btn-cupom { background: #1a1a1a; color: #fff; border: none; border-radius: 8px; padding: 9px 16px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.15s; }
.loja-btn-cupom:hover { background: #333; }
.loja-btn-atualizar { background: transparent; color: #555; border: 1px solid #ddd; border-radius: 8px; padding: 9px 16px; font-size: 13px; cursor: pointer; }
.loja-btn-atualizar:hover { border-color: #999; color: #1a1a1a; }

/* Resumo direita */
.loja-cart-resumo-box { background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; padding: 20px; position: sticky; top: 20px; }
.loja-cart-resumo-titulo { font-size: 16px !important; font-weight: 700 !important; color: var(--loja-cor-primaria) !important; margin: 0 0 14px !important; padding-bottom: 12px !important; border-bottom: 1px solid #f0f0f0 !important; }
.loja-cart-resumo-box .cart_totals > h2 { display: none !important; }
.loja-cart-resumo-box .cart_totals table.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.loja-cart-resumo-box .cart_totals table.shop_table th,
.loja-cart-resumo-box .cart_totals table.shop_table td { padding: 10px 0; border: none; border-bottom: 1px solid #f5f5f5; vertical-align: top; }
.loja-cart-resumo-box .cart_totals table.shop_table th { color: #555; font-weight: 400; text-align: left; white-space: nowrap; padding-right: 12px; vertical-align: top; padding-top: 12px; }
.loja-cart-resumo-box .cart_totals table.shop_table td { text-align: right; font-weight: 600; color: #1a1a1a; vertical-align: top; }
/* Linha de entrega: td alinha à esquerda pois tem lista de opções */
.loja-cart-resumo-box .cart_totals tr.shipping > td { text-align: left !important; font-weight: 400 !important; }

/* Linha de entrega: texto longo precisa de espaço */
.loja-cart-resumo-box .cart_totals tr.shipping td { font-size: 13px !important; line-height: 1.5 !important; text-align: left !important; padding-left: 0 !important; }
.loja-cart-resumo-box .cart_totals tr.shipping td ul,
.loja-cart-resumo-box .cart_totals tr.shipping td ul li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.loja-cart-resumo-box .cart_totals tr.shipping td ul li label { font-size: 13px; font-weight: 500; color: #1a1a1a; display: flex; align-items: center; gap: 6px; cursor: pointer; flex-wrap: wrap; }
.loja-cart-resumo-box .cart_totals tr.shipping td ul li label input[type="radio"] { accent-color: var(--loja-cor-primaria); flex-shrink: 0; }
.loja-cart-resumo-box .cart_totals tr.shipping td ul li + li { margin-top: 6px !important; }

/* "Entrega para Cidade, UF, CEP." */
.loja-cart-resumo-box .cart_totals tr.shipping td p.woocommerce-shipping-destination,
.loja-cart-resumo-box .cart_totals tr.shipping td p { font-size: 11px !important; color: #999 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; text-align: left !important; }

/* "Mudar endereço" — link vermelho */
.loja-cart-resumo-box a.shipping-calculator-button {
    display: inline-block !important;
    font-size: 12px !important;
    color: var(--loja-cor-primaria) !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 2px 0 0 !important;
    margin: 0 !important;
    font-weight: 500 !important;
}
.loja-cart-resumo-box a.shipping-calculator-button:hover { color: var(--loja-cor-primaria-hover) !important; }

/* Formulário de CEP — WooCommerce controla abertura/fechamento via JS nativo */
/* Não forçar display:none no form — deixar o toggle funcionar normalmente */
.loja-cart-resumo-box .shipping-calculator-form { margin-top: 10px !important; }

/* Ocultar País, Estado e Cidade — sempre, mesmo quando o form está aberto */
#calc_shipping_country_field,
#calc_shipping_state_field,
#calc_shipping_city_field { display: none !important; }

/* Forçar campo CEP sempre visível — WooCommerce às vezes o oculta inline
   quando País/Estado ainda não estão definidos */
#calc_shipping_postcode_field {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}
#calc_shipping_postcode_field label,
#calc_shipping_postcode_field input { display: block !important; }

/* Campo CEP */
.loja-cart-resumo-box .shipping-calculator-form input[type="text"] {
    width: 100% !important; border: 1px solid #ddd !important; border-radius: 8px !important;
    padding: 8px 12px !important; font-size: 13px !important; margin-bottom: 6px !important;
    box-sizing: border-box !important;
}
/* Botão Atualizar dentro do form de CEP */
.loja-cart-resumo-box .shipping-calculator-form button[name="calc_shipping"] {
    background: #1a1a1a !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 9px 16px !important; font-size: 13px !important;
    font-weight: 600 !important; cursor: pointer !important; width: 100% !important;
}

.loja-cart-resumo-box .cart_totals .order-total th,
.loja-cart-resumo-box .cart_totals .order-total td { font-size: 17px !important; font-weight: 700 !important; border-bottom: none !important; padding-top: 14px !important; color: #1a1a1a !important; }

.loja-cart-resumo-box .wc-proceed-to-checkout a.checkout-button { background: var(--loja-cor-primaria) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 14px 20px !important; font-size: 15px !important; font-weight: 700 !important; width: 100% !important; display: block !important; text-align: center !important; text-decoration: none !important; margin-top: 14px !important; transition: background 0.15s !important; }
.loja-cart-resumo-box .wc-proceed-to-checkout a.checkout-button:hover { background: var(--loja-cor-primaria-hover) !important; color: #fff !important; }

/* Elementor cart widget — estilizar por cima */
.elementor-widget-woocommerce-cart .e-cart_container { max-width: 1100px !important; margin: 0 auto !important; width: 100% !important; }
.elementor-widget-woocommerce-cart .e-cart_column.e-cart_column-start { flex: 1 1 0% !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
.elementor-widget-woocommerce-cart .e-cart_column.e-cart_column-end { width: 340px !important; min-width: 340px !important; flex-shrink: 0 !important; }
.elementor-widget-woocommerce-cart .cart_totals h2, .e-cart-totals .cart_totals h2 { font-size: 16px !important; font-weight: 700 !important; color: var(--loja-cor-primaria) !important; margin: 0 0 14px !important; padding-bottom: 12px !important; border-bottom: 1px solid #f0f0f0 !important; font-family: inherit !important; line-height: 1.3 !important; }
.elementor-widget-woocommerce-cart .e-cart-totals, .e-cart_column-end .e-cart-section { background: #fff !important; border: 1px solid #e5e5e5 !important; border-radius: 14px !important; padding: 20px !important; position: sticky !important; top: 20px !important; }
.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background: var(--loja-cor-primaria) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 14px 20px !important; font-size: 15px !important; font-weight: 700 !important; width: 100% !important; display: block !important; text-align: center !important; text-decoration: none !important; margin-top: 14px !important; transition: background 0.15s !important; }
.elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--loja-cor-primaria-hover) !important; color: #fff !important; }
.elementor-widget-woocommerce-cart .shipping-calculator-button { display: none !important; }
.elementor-widget-woocommerce-cart .shipping-calculator-form { display: block !important; }
/* Ocultar País, Estado e Cidade no widget Elementor — só CEP */
.elementor-widget-woocommerce-cart .shipping-calculator-form select,
.elementor-widget-woocommerce-cart .shipping-calculator-form .select2-container,
.elementor-widget-woocommerce-cart .shipping-calculator-form #calc_shipping_country_field,
.elementor-widget-woocommerce-cart .shipping-calculator-form #calc_shipping_state_field,
.elementor-widget-woocommerce-cart .shipping-calculator-form #calc_shipping_city_field { display: none !important; }

/* ============================================================
   CHECKOUT
   ============================================================ */
.loja-checkout-wrap { max-width: 1100px; margin: 0 auto; padding: 1.5rem 1.5rem 3rem; }

/* Cupom de desconto dentro do resumo lateral */
.loja-checkout-cupom-box { margin: 16px 0; padding-top: 16px; border-top: 1px solid #f0f0f0; }
.loja-checkout-cupom-box .woocommerce-form-coupon-toggle { display: none !important; }
.loja-checkout-cupom-box .checkout_coupon.woocommerce-form-coupon {
    background: none !important; border: none !important; padding: 0 !important; margin: 0 !important;
    display: flex !important; gap: 8px !important; flex-wrap: nowrap !important; align-items: stretch !important;
}
.loja-checkout-cupom-box .checkout_coupon.woocommerce-form-coupon .form-row {
    margin: 0 !important; flex: 1 1 auto !important; min-width: 0 !important;
}
.loja-checkout-cupom-box .checkout_coupon.woocommerce-form-coupon .form-row-last {
    flex: 0 0 auto !important;
}
.loja-checkout-cupom-box #coupon_code {
    border: 1.5px solid #ababab !important; border-radius: 10px !important;
    padding: 11px 14px !important; font-size: 13px !important; width: 100% !important;
    box-sizing: border-box !important; transition: border-color .15s ease, box-shadow .15s ease !important;
}
.loja-checkout-cupom-box #coupon_code:focus {
    border-color: var(--loja-cor-primaria, #C98300) !important; outline: none !important;
    box-shadow: 0 0 0 3px rgba(201, 131, 0, .12) !important;
}
.loja-checkout-cupom-box button[name="apply_coupon"] {
    background: var(--loja-cor-primaria, #C98300) !important; color: #fff !important; border: none !important;
    border-radius: 10px !important; padding: 11px 20px !important; font-size: 14px !important;
    font-weight: 700 !important; cursor: pointer !important; white-space: nowrap !important;
    transition: background .15s ease !important;
}
.loja-checkout-cupom-box button[name="apply_coupon"]:hover {
    background: var(--loja-cor-primaria-hover, #A86D00) !important;
}

/* A tag .woocommerce-checkout-review-order-table existe só para o JS nativo
   do WooCommerce ter um alvo de fragment AJAX. replaceWith() do jQuery
   recria a tag inteira a cada atualização, perdendo qualquer style inline
   ou classe que não venha do próprio WooCommerce — por isso o seletor
   abaixo usa a classe nativa do WooCommerce, que sempre é reaplicada. */
table.woocommerce-checkout-review-order-table { display: none !important; }

.loja-checkout-pagamento-resumo { margin-top: 14px; padding-top: 14px; border-top: 1px solid #f0f0f0; }
.loja-checkout-pagamento-resumo .loja-checkout-secao-titulo { font-size: 15px !important; }

/* Métodos de entrega na seção "Endereço de entrega" */
.loja-checkout-frete-metodos { margin-bottom: 1.25rem; padding-top: 14px; border-top: 1px solid #f0f0f0; }
/* wc_cart_totals_shipping_html() gera um <tr><th>Entrega</th><td>...</td></tr> nativo;
   ocultamos o th redundante pois já temos nosso próprio título "Forma de entrega".
   Seletores duplicados (tag + classe) de propósito — mitiga plugins de "CSS não usado"
   (ex: LiteSpeed UCSS) que às vezes cortam um dos dois por engano. */
.loja-checkout-frete-metodos th,
.loja-checkout-frete-metodos tr.woocommerce-shipping-totals th,
.loja-checkout-frete-metodos .woocommerce-shipping-totals > th { display: none !important; }
.loja-checkout-frete-metodos td,
.loja-checkout-frete-metodos tr.woocommerce-shipping-totals td { display: block !important; padding: 0 !important; width: 100% !important; }
.loja-checkout-subtitulo { font-size: 14px !important; font-weight: 600 !important; color: #444 !important; margin: 0 0 10px !important; }
.loja-checkout-frete-metodos ul#shipping_method {
    list-style: none !important; margin: 0 !important; padding: 0 !important;
    display: flex !important; flex-direction: column !important; gap: 8px !important;
}
.loja-checkout-frete-metodos ul#shipping_method li {
    background: #f8f8f8 !important; border: 1.5px solid #ababab !important;
    border-radius: 10px !important; padding: 12px 14px !important;
    transition: border-color .15s ease, background .15s ease !important;
}
/* Mesmo padrão visual do side cart: opção selecionada fica com borda
   dourada e fundo destacado, ao vivo (sem precisar de JS pra alternar
   classe — o navegador já sabe qual radio está marcado). */
.loja-checkout-frete-metodos ul#shipping_method li:has(input:checked) {
    border-color: var(--loja-cor-primaria) !important;
    background: #FFF8EE !important;
}
.loja-checkout-frete-metodos ul#shipping_method li:has(input:checked) label .woocommerce-Price-amount {
    color: var(--loja-cor-primaria) !important;
}
.loja-checkout-frete-metodos ul#shipping_method li label {
    font-size: 13px !important; font-weight: 600 !important; color: #1a1a1a !important;
    display: flex !important; align-items: flex-start !important; gap: 8px !important; cursor: pointer !important;
    line-height: 1.4 !important;
}
.loja-checkout-frete-metodos ul#shipping_method li input[type="radio"] {
    accent-color: var(--loja-cor-primaria) !important; flex-shrink: 0 !important; margin-top: 2px !important;
}
/* O preço vem dentro do mesmo texto do label, sem tag própria — usamos
   flex-wrap para o valor poder quebrar para a linha de baixo se precisar,
   mas mantemos o texto fluido em vez de cortar abruptamente. */
.loja-checkout-frete-metodos ul#shipping_method li label .woocommerce-Price-amount {
    font-weight: 700 !important; color: #1a1a1a !important; white-space: nowrap !important;
}
/* Espaço abaixo do bloco de frete, antes dos avisos do checkout */
.loja-checkout-avisos { margin-bottom: 1rem; }
.loja-checkout-avisos > * {
    background: #f8f9fa !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    font-size: 13px !important;
    color: #555 !important;
}
.loja-checkout-avisos a {
    color: var(--loja-cor-primaria) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}
.loja-checkout-avisos input[type="text"],
.loja-checkout-avisos input[type="password"],
.loja-checkout-avisos input[type="email"] {
    border: 1px solid #ddd !important; border-radius: 8px !important;
    padding: 9px 12px !important; font-size: 13px !important; width: 100% !important;
    box-sizing: border-box !important; margin-top: 6px !important; margin-bottom: 8px !important;
    display: block !important;
}
.loja-checkout-avisos button,
.loja-checkout-avisos input[type="submit"] {
    background: var(--loja-cor-primaria) !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 10px 18px !important; font-size: 13px !important;
    font-weight: 600 !important; cursor: pointer !important;
}
.loja-checkout-avisos button:hover,
.loja-checkout-avisos input[type="submit"]:hover { background: #c99712 !important; }
.loja-checkout-avisos p { margin: 0 0 8px !important; }
.loja-checkout-avisos label { font-size: 13px !important; color: #444 !important; }

/* ── Avisos nativos do WooCommerce (erros, mensagens, info) ──────
   wc_print_notices() imprime <ul class="woocommerce-error/-message/-info">
   em vários pontos do site (checkout, carrinho, produto), muitas vezes
   fora de qualquer wrapper nosso — por isso o estilo fica global aqui,
   não preso a uma classe específica de página. */
.woocommerce-error, .woocommerce-message, .woocommerce-info {
    font-family: var(--carstar-fonte, inherit) !important;
    list-style: none !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-left: 4px solid #c0392b !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    margin: 0 0 14px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #444 !important;
}
/* O WooCommerce injeta um ícone (fonte "WooCommerce") via ::before nesse
   container, posicionado em absolute contando com o padding-left maior do
   CSS padrão dele. Como reduzimos o padding acima para o nosso layout de
   card, o ícone passa a cair em cima da primeira letra do texto
   ("❌ocê não pode..."). Mais simples e seguro que recalcular o offset do
   ícone: removê-lo e deixar só a borda colorida à esquerda, que já indica
   erro/sucesso/info visualmente. */
.woocommerce-error::before, .woocommerce-message::before, .woocommerce-info::before {
    display: none !important;
}
.woocommerce-message { border-left-color: #1e8449 !important; }
.woocommerce-info { border-left-color: #888 !important; }
.woocommerce-error li, .woocommerce-message li, .woocommerce-info li {
    margin: 0 0 6px !important;
    padding: 0 !important;
    list-style: none !important;
}
.woocommerce-error li:last-child, .woocommerce-message li:last-child, .woocommerce-info li:last-child { margin-bottom: 0 !important; }
.woocommerce-error a, .woocommerce-message a, .woocommerce-info a {
    color: var(--loja-cor-primaria, #C98300) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-error a:hover, .woocommerce-message a:hover, .woocommerce-info a:hover { text-decoration: underline !important; }
.woocommerce-message .button, .woocommerce-info .button {
    background: #1a1a1a !important; color: #fff !important; border-radius: 8px !important;
    padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important;
    text-decoration: none !important; display: inline-block !important; margin-top: 8px !important;
}

/* Botão "Retornar para a loja" (carrinho vazio) */
.wc-backward, a.wc-backward, .woocommerce-cart-form .wc-backward, .return-to-shop .button {
    display: inline-block !important;
    background: #1a1a1a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.15s !important;
}
.wc-backward:hover, a.wc-backward:hover, .return-to-shop .button:hover { background: #333 !important; }

/* ── Formulário de cupom nativo do checkout (woocommerce_checkout_coupon_form) ──
   Diferente do carrinho, aqui o WooCommerce imprime markup próprio
   (.woocommerce-form-coupon), sem nossas classes .loja-input-cupom/.loja-btn-cupom. */
.woocommerce-form-coupon-toggle { margin-bottom: 12px !important; }
.woocommerce-form-coupon-toggle .woocommerce-info {
    background: #fff8e6 !important; border-left-color: #C98300 !important;
}
.woocommerce-form-coupon { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; align-items: flex-start !important; margin-bottom: 14px !important; }
.woocommerce-form-coupon .form-row { flex: 1 1 auto !important; min-width: 160px !important; margin: 0 !important; }
.woocommerce-form-coupon #coupon_code {
    width: 100% !important; border: 1px solid #ddd !important; border-radius: 8px !important;
    padding: 9px 14px !important; font-size: 13px !important; height: auto !important;
}
.woocommerce-form-coupon button[name="apply_coupon"] {
    background: #1a1a1a !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 9px 18px !important; font-size: 13px !important;
    font-weight: 600 !important; cursor: pointer !important; white-space: nowrap !important;
    transition: background 0.15s !important;
}
.woocommerce-form-coupon button[name="apply_coupon"]:hover { background: #333 !important; }

/* ── Login / criar conta no checkout ──────────────────────────── */
.woocommerce-form-login-toggle .woocommerce-info {
    display: flex !important; align-items: center !important; justify-content: space-between !important;
}
.woocommerce-form-login-toggle a,
.showlogin { color: var(--loja-cor-primaria, #C98300) !important; font-weight: 600 !important; text-decoration: none !important; }
.woocommerce-form-login-toggle a:hover, .showlogin:hover { text-decoration: underline !important; }

.woocommerce-form-login {
    background: #fff !important; border: 1px solid #eee !important; border-radius: 12px !important;
    padding: 20px !important; margin-bottom: 16px !important;
}
.woocommerce-form-login .form-row { margin-bottom: 12px !important; }
.woocommerce-form-login label { font-size: 13px !important; color: #444 !important; display: block !important; margin-bottom: 4px !important; }
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"] {
    width: 100% !important; border: 1px solid #ababab !important; border-radius: 8px !important;
    padding: 10px 12px !important; font-size: 14px !important;
}
.woocommerce-form-login .woocommerce-form-login__submit {
    background: #1a1a1a !important; color: #fff !important; border: none !important;
    border-radius: 999px !important; padding: 10px 22px !important; font-size: 13px !important;
    font-weight: 600 !important; cursor: pointer !important;
}
.woocommerce-form-login .woocommerce-form-login__submit:hover { background: #333 !important; }
.woocommerce-form-login .woocommerce-form-login__rememberme { font-size: 12px !important; color: #666 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 12px !important; }
.woocommerce-form-login .lost_password a { font-size: 12px !important; color: #888 !important; }
.woocommerce-form-login .lost_password a:hover { color: var(--loja-cor-primaria, #C98300) !important; }

/* ── Página "Minha Conta" (/minha-conta/) — Entrar + Cadastre-se ──
   Escopado com ".woocommerce-account" (classe que o WooCommerce só
   coloca no <body> dessa página específica) pra não interferir no
   login embutido do checkout, que já tem seu próprio bloco de CSS
   ali em cima. Cobre os dois formulários de uma vez, então qualquer
   ajuste futuro (cor, borda, etc.) vale pros dois ao mesmo tempo. */
.woocommerce-account #customer_login {
    display: flex; flex-wrap: wrap; gap: 24px;
    max-width: 900px; margin: 2rem auto; padding: 0 1.5rem;
}
.woocommerce-account #customer_login > div { flex: 1 1 320px; }
.woocommerce-account #customer_login h2 { font-size: 20px; font-weight: 700; color: #1a1a1a; margin: 0 0 16px; }

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: #fff; border: 1px solid #eee; border-radius: 12px;
    padding: 24px; height: 100%; box-sizing: border-box;
}
.woocommerce-account .woocommerce-form-login .form-row,
.woocommerce-account .woocommerce-form-register .form-row { margin-bottom: 14px; }
.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label { font-size: 13px; color: #444; display: block; margin-bottom: 4px; }
.woocommerce-account .woocommerce-form-login input[type="text"],
.woocommerce-account .woocommerce-form-login input[type="password"],
.woocommerce-account .woocommerce-form-register input[type="text"],
.woocommerce-account .woocommerce-form-register input[type="email"],
.woocommerce-account .woocommerce-form-register input[type="password"] {
    width: 100%; border: 1px solid #ababab; border-radius: 8px;
    padding: 10px 12px; font-size: 14px; box-sizing: border-box;
}
.woocommerce-account .woocommerce-form-register p { font-size: 13px; color: #666; }

/* Botões — cobre os dois nomes de classe que o WooCommerce usa
   (login e cadastro têm sufixos de submit diferentes). */
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit {
    background: #1a1a1a !important; color: #fff !important; border: none !important;
    border-radius: 999px !important; padding: 10px 22px !important; font-size: 13px !important;
    font-weight: 600 !important; cursor: pointer !important;
}
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:hover { background: #333 !important; }

.woocommerce-account .woocommerce-form-login__rememberme {
    font-size: 12px; color: #666; display: inline-flex; align-items: center; gap: 6px; margin: 0 12px 0 0;
}
.woocommerce-account .lost_password a { font-size: 12px; color: #888; }
.woocommerce-account .lost_password a:hover { color: var(--loja-cor-primaria, #C98300); }

@media (max-width: 640px) {
    .woocommerce-account #customer_login { margin: 1.2rem auto; padding: 0 1rem; }
}

/* Checkbox "Criar uma conta?" */
.woocommerce-account-fields .create-account { margin: 10px 0 16px !important; }
.woocommerce-account-fields .create-account label {
    display: flex !important; align-items: center !important; gap: 8px !important;
    font-size: 13px !important; font-weight: 600 !important; color: #1a1a1a !important; cursor: pointer !important;
}
.woocommerce-account-fields .create-account input[type="checkbox"] {
    width: 18px !important; height: 18px !important; accent-color: var(--loja-cor-primaria, #C98300) !important;
    cursor: pointer !important;
}
.woocommerce-account-fields .create-account-form { margin-top: 12px !important; padding: 16px !important; background: #fafafa !important; border-radius: 10px !important; }

.loja-steps { display: flex; align-items: center; justify-content: center; gap: 0; margin-bottom: 2rem; }
.loja-step { display: flex; align-items: center; gap: 8px; }
.loja-step-num { width: 30px; height: 30px; border-radius: 50%; background: #e5e5e5; color: #555; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.loja-step-label { font-size: 13px; font-weight: 500; color: #444; white-space: nowrap; }
.loja-step-sep { width: 50px; height: 1px; background: #e5e5e5; margin: 0 4px; }

.loja-checkout-grid { display: grid !important; grid-template-columns: 1fr 400px !important; gap: 1.5rem !important; align-items: start !important; }
.loja-checkout-campos { min-width: 0; }

/* Garantir que o grid funcione dentro do Elementor widget de checkout */
.elementor-widget-woocommerce-checkout-page .loja-checkout-wrap { max-width: 100% !important; padding: 0 !important; }
.elementor-widget-woocommerce-checkout-page .loja-checkout-grid { width: 100% !important; }

/* Fix quando o checkout roda via widget Shortcode do Elementor */
.elementor-widget-shortcode .loja-checkout-wrap { max-width: 100% !important; }
.elementor-widget-shortcode > .elementor-widget-container { padding: 0 !important; }
/* Remover min-height herdado do Elementor que causa espaço branco abaixo do checkout */
.elementor-widget-shortcode .elementor-widget-container,
.elementor-widget-shortcode .woocommerce { min-height: 0 !important; }

/* Fix do vão em branco antes do rodapé no checkout (14/08/2026): o body
   dessa página carrega classes do tema-pai Hello Elementor (ex:
   "hello-elementor-default") que aplicam altura mínima fixa, mesmo sem o
   plugin Elementor ativo. Zeramos por força bruta, só nas classes do
   checkout — não afeta o resto do site. */
body.woocommerce-checkout,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout main#content,
body.woocommerce-checkout .woocommerce {
    min-height: 0 !important;
    height: auto !important;
}

.loja-checkout-secao { background: #fff; border: 1px solid #ababab; border-radius: 14px; padding: 20px 22px; margin-bottom: 16px; }
/* O WooCommerce adiciona "(opcional)" automaticamente em todo campo não
   obrigatório — no Complemento isso ocupa espaço demais no layout de duas
   colunas (lado a lado com Número), atrapalhando o responsivo. O campo
   continua opcional de verdade, só escondemos o texto do rótulo. */
#billing_complemento_field .optional { display: none; }
/* Segurança extra: telefone agora é obrigatório (ver functions.php); se
   algum cache antigo ainda mostrar o "(opcional)", isso garante que suma
   visualmente até o cache realmente atualizar. */
#billing_phone_field .optional { display: none; }
.loja-checkout-secao-titulo, .loja-checkout-secao h3 { font-size: 15px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 0 16px !important; padding-bottom: 10px !important; border-bottom: 1px solid #f0f0f0 !important; }

/* Campos */
.loja-checkout-form .woocommerce-input-wrapper input:not([type=checkbox]):not([type=radio]),
.loja-checkout-form .woocommerce-input-wrapper select,
.loja-checkout-form .woocommerce-input-wrapper textarea,
.woocommerce-checkout .woocommerce-input-wrapper input:not([type=checkbox]):not([type=radio]),
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea { border: 1px solid #ababab !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 14px !important; background: #fff !important; box-shadow: none !important; transition: border-color 0.15s !important; }
.woocommerce-checkout .woocommerce-input-wrapper input:focus,
.woocommerce-checkout .woocommerce-input-wrapper select:focus { border-color: var(--loja-cor-primaria) !important; outline: none !important; }

/* Destaque vermelho em campo inválido (ex: CPF/CNPJ real-mas-errado) —
   mais específico que a regra de borda padrão acima, pra conseguir
   vencer o !important genérico e o erro ficar visível no campo certo. */
.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-input-wrapper input {
    border-color: #e2401c !important;
}

/* Pagamento */
.loja-checkout-form #payment, .woocommerce-checkout #payment { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; }
.loja-checkout-form #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods { border: 1px solid #e5e5e5 !important; border-radius: 10px !important; padding: 0 !important; margin: 0 0 14px !important; list-style: none !important; overflow: hidden !important; background: #fff !important; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 12px 8px !important; border-bottom: 1px solid #f0f0f0 !important; margin: 0 !important; line-height: 1.5 !important; }
.woocommerce-checkout #payment ul.payment_methods li label { line-height: 1.5 !important; }
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: none !important; }
.woocommerce-checkout #payment div.payment_box { background: #f8f9fa !important; border-radius: 8px !important; padding: 0px !important; margin: 0px 0 0 !important; font-size: 13px !important; border: none !important; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment #place_order { background: var(--loja-cor-primaria) !important; color: #fff !important; border: none !important; border-radius: 10px !important; padding: 15px 20px !important; font-size: 16px !important; font-weight: 700 !important; width: 100% !important; cursor: pointer !important; transition: background 0.15s !important; margin-top: 12px !important; display: block !important; }
.woocommerce-checkout #payment #place_order:hover { background: var(--loja-cor-primaria-hover) !important; }

/* Ajuste do formulário do plugin Woo Rede (Cartão de Crédito - Rede).
   Bloco único e consolidado (substitui várias rodadas de ajuste
   anteriores) — escopado só nas classes do Rede, não afeta boleto/PIX. */
.rede-payment-form,
.rede-payment-form * { box-sizing: border-box !important; }
.rede-payment-form { max-width: 100% !important; overflow: hidden !important; padding: 4px !important; }
.rede-credit-fields-wrapper,
.wc-payment-rede-form-fields { width: 100% !important; max-width: 100% !important; }

/* Logo + texto "Pague sua compra com cartão através do Rede" — puramente
   decorativo, não ajuda o cliente a preencher nada. Removido. */
.rede-payment-form .payment-method-description { display: none !important; }

/* Mockup animado do cartão (imagem "paisagem" ~350px) — também só
   decorativo, e era o principal culpado do layout estourado. Removido. */
#rede-card-animation { display: none !important; }

/* Rótulos: sem ícone decorativo (só ocupava espaço), fonte menor, uma
   linha só, colados no campo. */
.rede-payment-form .labels-with-icons {
    display: block !important;
    font-size: 13px !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}
.rede-payment-form .icon-rede-input { display: none !important; }

/* Campos: altura reduzida bem mais que antes — padding vertical mínimo,
   fonte menor, sem herdar min-height de nenhum outro lugar. */
.rede-payment-form input.input-text,
.rede-payment-form select.input-select,
.rede-payment-form input[type="tel"],
.rede-payment-form input[type="text"] {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    padding: 11px 12px !important;
    height: auto !important;
    min-height: 0 !important;
}

/* Espaço entre um campo e o próximo — bem mais apertado. */
.rede-payment-form .form-row { margin: 0 0 10px !important; padding: 0 !important; }

/* Chrome (principalmente mobile) desenha nativamente um ícone de bandeira
   dentro do campo de número do cartão quando reconhece o padrão — isso é
   do navegador, não do plugin. Reservamos espaço à direita só nesse campo
   pra não colidir com o texto digitado. */
#rede-card-number { padding-right: 48px !important; }

/* Resumo lateral checkout */
.loja-checkout-resumo-box { background: #fff; border: 1px solid #ababab; border-radius: 14px; padding: 20px; position: sticky; top: 20px; }
.loja-checkout-resumo-titulo { font-size: 15px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 0 14px !important; padding-bottom: 10px !important; border-bottom: 1px solid #f0f0f0 !important; }

.loja-checkout-itens { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid #f0f0f0; }
.loja-checkout-item { display: grid; grid-template-columns: 54px 1fr auto; gap: 10px; align-items: center; }
.loja-checkout-item-img-wrap { position: relative; flex-shrink: 0; }
.loja-checkout-item-img { width: 54px; height: 54px; object-fit: contain; background: #f9f9f9; border-radius: 8px; border: 1px solid #eee; padding: 4px; display: block; }
.loja-checkout-item-qty { position: absolute; top: -6px; right: -6px; background: #555; color: #fff; font-size: 10px; font-weight: 700; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.loja-checkout-item-nome { font-size: 12px; font-weight: 500; color: #1a1a1a; line-height: 1.4; }
.loja-checkout-item-sku { font-size: 10px; color: #aaa; margin-top: 2px; }
.loja-checkout-item-subtotal { font-size: 13px; font-weight: 700; color: #1a1a1a; white-space: nowrap; text-align: right; }

.loja-checkout-totais { display: flex; flex-direction: column; margin-bottom: 14px; }
.loja-checkout-total-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: 13px; color: #555; border-bottom: 1px solid #f5f5f5; }
.loja-checkout-total-row span:last-child { font-weight: 600; color: #1a1a1a; }
.loja-checkout-total-final { font-size: 16px !important; font-weight: 700 !important; border-bottom: none !important; padding-top: 12px !important; }
.loja-checkout-total-final span { color: #1a1a1a !important; font-weight: 700 !important; }
.loja-checkout-desconto span:last-child { color: #1e8449 !important; }
.loja-checkout-seguro { text-align: center; font-size: 14px; color: #000; margin-top: 10px; }

/* Texto de política de privacidade nativo do WooCommerce — vinha
   grande demais (herdando tamanho padrão do navegador). */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: #888 !important;
    margin: 10px 0 !important;
}
.woocommerce-privacy-policy-text a { color: var(--loja-cor-primaria, #C98300) !important; }
/* #order_review contém o resumo E os métodos de pagamento.
   REMOVIDO em 15/08/2026: esta regra escondia (display:none) tudo dentro
   de #order_review que não fosse #payment. Foi um patch de emergência
   aplicado quando o pagamento estava duplicando dentro do resumo — só que
   quando a causa raiz da duplicação foi corrigida de verdade (removendo o
   wrapper <div id="payment"> duplicado em form-checkout.php), essa regra
   ficou esquecida aqui e passou a esconder o conteúdo REAL do resumo
   (itens, frete, totais), que sempre esteve certo no HTML — só não
   aparecia na tela por causa desta regra. Foi a causa de um bug que levou
   quase um dia inteiro pra ser encontrado. Lição: qualquer display:none
   de emergência precisa ser marcado como temporário e revisado depois.
.loja-checkout-form #order_review > :not(#payment),
.loja-checkout-campos #order_review > :not(#payment) { display: none !important; }
*/
.loja-checkout-form #order_review #payment,
.loja-checkout-campos #order_review #payment { display: block !important; }

/* ============================================================
   SIDE CART — nosso footer injetado no drawer do Elementor
   ============================================================ */

/* Ocultar footer nativo do Elementor — quando nosso footer está presente */
.widget_shopping_cart_content:has(#loja-sc-footer) .elementor-menu-cart__footer-buttons,
.widget_shopping_cart_content:has(#loja-sc-footer) .elementor-menu-cart__subtotal,
.widget_shopping_cart_content:has(#loja-sc-footer) .e-cart__shipping,
.widget_shopping_cart_content:has(#loja-sc-footer) a.shipping-calculator-button,
.widget_shopping_cart_content:has(#loja-sc-footer) .elementor-menu-cart__shipping-destination { display: none !important; }

/* Garantir que o container do side cart expande para mostrar nosso footer
   Escopo restrito ao side cart para não afetar outros elementos */
.elementor-menu-cart__container { display: flex !important; flex-direction: column !important; }
.elementor-menu-cart__container .elementor-menu-cart__main { display: flex !important; flex-direction: column !important; overflow: hidden !important; flex: 1 1 auto !important; min-height: 0 !important; }
.elementor-menu-cart__container .widget_shopping_cart_content { display: flex !important; flex-direction: column !important; height: 100% !important; min-height: 0 !important; overflow: hidden !important; }
.elementor-menu-cart__container .elementor-menu-cart__products { flex: 1 1 auto !important; overflow-y: auto !important; min-height: 0 !important; }
#loja-sc-footer { flex: 0 0 auto !important; overflow-y: auto !important; max-height: 50vh !important; display: block !important; visibility: visible !important; }

/* Footer container */
.loja-sc-footer {
    border-top: 1px solid #f0f0f0;
    padding: 14px 20px 20px;
    background: #fff;
    flex-shrink: 0;
}

/* Subtotal */
.loja-sc-subtotal-row {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 14px; color: #555; padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f0; margin-bottom: 12px;
}
.loja-sc-subtotal-row small { font-size: 11px; color: #888; }
.loja-sc-subtotal-val { font-weight: 700; color: #1a1a1a; }

/* Bloco frete */
.loja-sc-frete-bloco { margin-bottom: 14px; }

/* Ícone meios de envio */
.loja-sc-frete-icone { font-size: 13px; font-weight: 600; color: #444; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }

/* Wrap CEP + botão */
.loja-sc-cep-wrap { display: flex; gap: 8px; margin-bottom: 6px; }
.loja-sc-cep-input {
    flex: 1; border: 1px solid #ddd; border-radius: 8px;
    padding: 9px 12px; font-size: 14px; background: #fff;
    outline: none; min-width: 0;
}
.loja-sc-cep-input:focus { border-color: var(--loja-cor-primaria); }
.loja-sc-calcular-btn {
    background: #1563b8; color: #fff; border: none; border-radius: 8px;
    padding: 9px 14px; font-size: 12px; font-weight: 700; cursor: pointer;
    white-space: nowrap; transition: background 0.15s; letter-spacing: 0.5px;
}
.loja-sc-calcular-btn:hover { background: #0f4f9a; }
.loja-sc-calcular-btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Não sei meu CEP */
.loja-sc-nao-sei { font-size: 12px; color: #1563b8; text-decoration: none; display: block; margin-bottom: 10px; }
.loja-sc-nao-sei:hover { text-decoration: underline; }

/* Separador "Nossa loja" */
.loja-sc-loja-sep { font-size: 12px; font-weight: 600; color: #555; margin: 10px 0 6px; display: flex; align-items: center; gap: 6px; }

/* Opções de frete */
.loja-sc-opcoes-frete { display: flex; flex-direction: column; gap: 6px; margin-bottom: 6px; }
.loja-sc-opcao {
    display: flex; align-items: flex-start; gap: 10px;
    background: #fff; border: 1px solid #e5e5e5; border-radius: 8px;
    padding: 10px 12px; cursor: pointer; transition: border-color 0.15s;
    font-size: 13px; margin-bottom: 4px;
}
.loja-sc-opcao.selecionada { border-color: var(--loja-cor-primaria); background: #fdf5f5; }
.loja-sc-opcao:has(input:checked) { border-color: var(--loja-cor-primaria); background: #fdf5f5; }
.loja-sc-opcao input[type="radio"] { accent-color: var(--loja-cor-primaria); flex-shrink: 0; margin-top: 2px; }
.loja-sc-opcao-info { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.loja-sc-opcao-nome { color: #333; font-weight: 500; line-height: 1.4; }
.loja-sc-prazo { font-size: 11px; color: #888; display: flex; align-items: center; gap: 4px; }
.loja-sc-opcao-preco { font-weight: 700; color: #1a1a1a; white-space: nowrap; flex-shrink: 0; font-size: 13px; }
.loja-sc-gratis { color: #1563b8 !important; }
.loja-sc-opcao-retirada { align-items: flex-start; }

/* Após calcular — header CEP */
.loja-sc-entrega-header {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 13px; color: #333; margin-bottom: 10px; gap: 8px;
}
.loja-sc-entrega-txt { font-weight: 500; }
.loja-sc-alterar-btn {
    background: none; border: none; color: #1563b8; font-size: 11px;
    font-weight: 700; cursor: pointer; white-space: nowrap; padding: 0;
    letter-spacing: 0.3px;
}
.loja-sc-alterar-btn:hover { text-decoration: underline; }

/* Aviso prazo */
.loja-sc-aviso-prazo { font-size: 11px; color: #888; margin: 6px 0 10px; line-height: 1.4; }

/* Feedback cálculo */
.loja-sc-calculando { font-size: 12px; color: #888; display: block; text-align: center; padding: 4px 0; }
.loja-sc-erro { font-size: 12px; color: #c0392b; display: block; padding: 3px 0; }

/* Total */
.loja-sc-total-bloco {
    border-top: 1px solid #f0f0f0; padding-top: 12px; margin-bottom: 14px;
}
.loja-sc-total-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.loja-sc-total-label { font-size: 17px; font-weight: 700; color: #1a1a1a; }
.loja-sc-total-val { font-size: 20px; font-weight: 700; color: var(--loja-cor-primaria); }
.loja-sc-parcelas { font-size: 12px; color: #888; text-align: right; }

/* Botões */
.loja-sc-btns { display: flex; flex-direction: column; gap: 8px; }
.loja-sc-btn-finalizar {
    display: block; text-align: center; padding: 14px;
    border-radius: 10px; background: var(--loja-cor-primaria); color: #fff;
    font-size: 15px; font-weight: 700; text-decoration: none;
    transition: background 0.15s; letter-spacing: 0.5px;
}
.loja-sc-btn-finalizar:hover { background: var(--loja-cor-primaria-hover); color: #fff; }
.loja-sc-btn-ver {
    display: block; text-align: center; padding: 10px;
    color: #555; font-size: 13px; text-decoration: none;
    transition: color 0.15s;
}
.loja-sc-btn-ver:hover { color: #1a1a1a; text-decoration: underline; }

/* ============================================================
   LIGHTBOX — galeria do produto
   ============================================================ */
#loja-lightbox { display: none; position: fixed; inset: 0; z-index: 99999; align-items: center; justify-content: center; }
#loja-lightbox.ativo { display: flex; }
.loja-lb-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.88); }
.loja-lb-box { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; max-width: 92vw; max-height: 92vh; }
.loja-lb-img { max-width: 88vw; max-height: 85vh; object-fit: contain; border-radius: 8px; display: block; }
.loja-lb-fechar {
    position: fixed; top: 18px; right: 22px;
    background: rgba(255,255,255,0.15); color: #fff; border: none;
    border-radius: 50%; width: 42px; height: 42px; font-size: 20px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background 0.15s; z-index: 2;
}
.loja-lb-fechar:hover { background: rgba(255,255,255,0.3); }
.loja-lb-prev, .loja-lb-next {
    position: fixed; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,0.15); color: #fff; border: none;
    border-radius: 50%; width: 46px; height: 46px; font-size: 28px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background 0.15s; z-index: 2; line-height: 1;
}
.loja-lb-prev { left: 16px; }
.loja-lb-next { right: 16px; }
.loja-lb-prev:hover, .loja-lb-next:hover { background: rgba(255,255,255,0.3); }
.loja-lb-counter {
    position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
    color: rgba(255,255,255,0.7); font-size: 13px; z-index: 2;
}
/* ============================================================
   RESPONSIVO — mobile
   ============================================================ */

@media (max-width: 1024px) {
    .loja-arquivo-grid { grid-template-columns: 210px 1fr; gap: 20px; }
    .loja-arquivo-wrap .products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 768px) {
    html, body { overflow-x: hidden !important; }

    /* Single product — empilhar galeria + info */
    .loja-produto-grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
    .loja-galeria-wrap { position: static !important; }
    .loja-galeria { flex-direction: column !important; }
    .loja-thumbs { flex-direction: row !important; flex-wrap: wrap !important; }
    .loja-thumb { width: 56px !important; height: 56px !important; }

    /* Produtos relacionados — 2 colunas */
    .loja-produto-wrap .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }

    /* Archive / categoria — sidebar empilha em cima, grid vira 2 colunas */
    .loja-arquivo-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
    .loja-arquivo-wrap .products,
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }

    /* Cabeçalho da categoria — ícone menor, selos empilham em 2 colunas */
    .loja-arquivo-icone { width: 44px; height: 44px; }
    .loja-arquivo-icone svg { width: 20px; height: 20px; }
    .loja-arquivo-selos { gap: 14px 20px; }

    /* Card em 2 colunas — botão de favoritar mais estreito, sem sumir */
    .loja-card-favoritar { width: 38px; }
    .loja-card-footer { gap: 6px; padding: 0 10px 10px; }

    /* Modo lista também vira coluna única no mobile (evita espremer) */
    .loja-view-lista li.loja-card { flex-direction: column !important; }
    .loja-view-lista .loja-card-img-wrap { width: 100%; }
    .loja-view-lista .loja-card-footer { width: 100%; }

    /* Carrinho — empilhar itens e resumo */
    .loja-cart-layout { grid-template-columns: 1fr !important; }
    .loja-cart-resumo-box { position: static !important; }
    .loja-cart-wrap { padding: 1rem !important; overflow-x: hidden !important; }

    /* Checkout — empilhar */
    .loja-checkout-grid { grid-template-columns: 1fr !important; }
    .loja-checkout-resumo { position: static !important; }
    .loja-checkout-wrap { padding: 1rem !important; }
    .elementor-widget-shortcode,
    .elementor-widget-shortcode .elementor-widget-container { overflow-x: hidden !important; }

    /* Campos checkout */
    .loja-checkout-wrap,
    .loja-checkout-grid,
    .loja-checkout-campos,
    .loja-checkout-resumo,
    .loja-checkout-secao { max-width: 100% !important; box-sizing: border-box !important; overflow-x: hidden !important; }

    /* Steps checkout */
    .loja-steps .loja-step-label { display: none; }
    .loja-step-sep { width: 30px; }

    /* Pagamento mobile */
    #payment .wc_payment_method label { word-break: break-word; }
}

@media (max-width: 500px) {
    /* Lightbox */
    .loja-lb-prev { left: 6px; }
    .loja-lb-next { right: 6px; }
    .loja-lb-fechar { top: 10px; right: 10px; }

    /* Carrinho itens */
    .loja-cart-item { grid-template-columns: 26px 56px 1fr !important; grid-template-rows: auto auto; }
    .loja-cart-item-qty-wrap { grid-column: 2 / 4; }
    .loja-cart-item-subtotal { grid-column: 3; text-align: right; }

    /* Side cart CEP */
    .loja-sc-calcular-btn { padding: 9px 10px; font-size: 12px; }
}

/* Telas bem estreitas (iPhone SE, 320-380px) — aperta espaçamentos
   e reduz fontes pra nada estourar a largura da tela. */
@media (max-width: 400px) {
    .loja-produto-wrap,
    .loja-arquivo-wrap,
    .loja-cart-page,
    .loja-checkout-wrap { padding: 12px !important; }

    .loja-titulo { font-size: 18px !important; }
    .loja-galeria-wrap { padding: 0 !important; }
    .loja-thumb { width: 46px !important; height: 46px !important; }

    .loja-produto-grid { gap: 1rem !important; }
    .loja-precos-bloco, .loja-compra, .loja-frete-box { padding: 12px !important; }

    /* Categoria / relacionados — cards mais estreitos, 2 por linha continua ok */
    .woocommerce ul.products { gap: 8px !important; }
    .loja-card-titulo { font-size: 12px !important; min-height: 32px; }
    .loja-card-body { padding: 8px 10px 10px !important; }
}

/* ============================================================
   MINHA CONTA (Pedidos, Downloads, Endereços, Detalhes da conta)
   Antes sem estilo nenhum nosso — caía no visual cru do tema-pai
   (Hello Elementor). Tudo via CSS, sem criar template PHP novo.
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    max-width: 260px;
    border: none !important;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 10px;
    margin-bottom: 20px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation-link { margin: 0 0 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 10px 14px;
    border-radius: 8px;
    color: #1a1a1a;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    transition: background 0.15s, color 0.15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover {
    background: #f6f6f6;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a {
    background: var(--loja-cor-primaria, #C98300);
    color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #b23b3b;
}

.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 24px;
}

/* Layout: nav ao lado do conteúdo em telas largas, empilhado no mobile */
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
}
.woocommerce-account .woocommerce-MyAccount-content { flex: 1 1 420px; }

/* Tabela de pedidos */
.woocommerce-account .woocommerce-orders-table { border: 1px solid #e5e5e5; border-radius: 10px; overflow: hidden; border-collapse: collapse; width: 100%; }
.woocommerce-account .woocommerce-orders-table th {
    background: #f8f9fa; text-align: left; padding: 12px 14px; font-size: 13px; font-weight: 600; color: #444;
    border-bottom: 1px solid #e5e5e5;
}
.woocommerce-account .woocommerce-orders-table td { padding: 12px 14px; font-size: 14px; border-bottom: 1px solid #f0f0f0; vertical-align: middle; }
.woocommerce-account .woocommerce-orders-table tr:last-child td { border-bottom: none; }

/* Botões de ação (Pagar / Visualizar / Cancelar) */
.woocommerce-account .woocommerce-orders-table .button {
    display: inline-block; margin: 2px 4px 2px 0; padding: 7px 14px; border-radius: 8px;
    font-size: 12px; font-weight: 600; text-decoration: none; border: 1px solid #ddd; color: #333; background: #fff;
    transition: background 0.15s;
}
.woocommerce-account .woocommerce-orders-table .button:hover { background: #f6f6f6; }
.woocommerce-account .woocommerce-orders-table .button.pay,
.woocommerce-account .woocommerce-orders-table .button.view {
    background: var(--loja-cor-primaria, #C98300); color: #fff; border-color: transparent;
}
.woocommerce-account .woocommerce-orders-table .button.pay:hover,
.woocommerce-account .woocommerce-orders-table .button.view:hover { background: var(--loja-cor-primaria-hover, #A86D00); }
.woocommerce-account .woocommerce-orders-table .button.cancel { color: #b23b3b; border-color: #e8c4c4; background: #fff; }

/* Formulários (Endereços, Detalhes da conta) */
.woocommerce-account .woocommerce-address-fields input,
.woocommerce-account .woocommerce-address-fields select,
.woocommerce-account .woocommerce-EditAccountForm input {
    border: 1px solid #ababab !important; border-radius: 8px !important; padding: 10px 14px !important; font-size: 14px !important;
    width: 100%; margin-top: 4px;
}
.woocommerce-account .woocommerce-Button {
    background: var(--loja-cor-primaria, #C98300) !important; color: #fff !important; border: none !important;
    border-radius: 8px !important; padding: 12px 22px !important; font-weight: 700 !important; cursor: pointer !important;
}
.woocommerce-account .woocommerce-Button:hover { background: var(--loja-cor-primaria-hover, #A86D00) !important; }

@media (max-width: 782px) {
    .woocommerce-account .woocommerce-MyAccount-navigation { max-width: 100%; }
    .woocommerce-account .woocommerce-orders-table,
    .woocommerce-account .woocommerce-orders-table thead,
    .woocommerce-account .woocommerce-orders-table tbody { display: block; width: 100%; overflow-x: auto; }
}

/* ── Página de produto: descrição com texto "sem quebra" ─────────
   Descrições coladas de fornecedor (com &nbsp;, tabelas largas ou imagens
   grandes) alargavam a coluna da direita e esmagavam a galeria (a foto
   principal ficava com ~0px). minmax(0,1fr) + min-width:0 + quebra de
   palavra mantém as duas colunas do mesmo tamanho. */
.loja-galeria-wrap, .loja-info-wrap { min-width: 0; }
.loja-info-wrap { overflow-wrap: anywhere; word-break: normal; }
.loja-info-wrap table { display: block; max-width: 100%; overflow-x: auto; }
.loja-info-wrap img, .loja-info-wrap iframe, .loja-info-wrap video { max-width: 100%; height: auto; }
.loja-img-principal { min-width: 0; }

/* Troca de foto ao passar o mouse (só em telas com mouse) */
.loja-card-img-2 { display: none; }
@media (hover: hover) {
    .loja-card-img-wrap:has(.loja-card-img-2) { position: relative; }
    .loja-card-img-wrap .loja-card-img-2 {
        display: block; position: absolute; inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px);
        opacity: 0; transition: opacity .25s ease; pointer-events: none; background: inherit;
    }
    .loja-card:hover .loja-card-img-wrap .loja-card-img-2,
    .loja-card:focus-within .loja-card-img-wrap .loja-card-img-2 { opacity: 1; }
}

/* ── Estrelas (cards, resumo de avaliações) ───────────────────── */
.loja-estrelas { --n:0; display:inline-block; font-size:14px; letter-spacing:1px; line-height:1; white-space:nowrap;
  background:linear-gradient(90deg,#f5a623 calc(var(--n)/5*100%),#d9d9d9 calc(var(--n)/5*100%));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.loja-estrelas-g { font-size:22px; }
.loja-card-aval { display:flex; align-items:center; gap:6px; margin:2px 0 4px; font-size:12px; color:#555; }
.loja-card-aval .loja-estrelas { font-size:13px; }
.loja-card-aval small { color:#888; font-size:11.5px; }

/* ── Resumo de avaliações na página do produto ────────────────── */
.loja-aval-resumo { margin:32px 0 8px; padding:24px; border:1px solid #e5e5e5; border-radius:14px; background:#fff; }
.loja-aval-resumo-titulo { font-size:18px; margin:0 0 16px; }
.loja-aval-resumo-grid { display:grid; grid-template-columns:150px minmax(180px,260px) 1fr; gap:28px; align-items:start; }
.loja-aval-nota { display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.loja-aval-nota strong { font-size:44px; line-height:1; }
.loja-aval-nota small { color:#777; }
.loja-aval-barra { display:grid; grid-template-columns:34px 1fr 26px; gap:8px; align-items:center; font-size:12.5px; color:#555; margin:5px 0; }
.loja-aval-barra i { height:8px; border-radius:6px; background:#eee; overflow:hidden; display:block; }
.loja-aval-barra b { display:block; height:100%; background:#f5a623; }
.loja-aval-item { padding:0 0 14px; margin:0 0 14px; border-bottom:1px solid #eee; }
.loja-aval-item-topo { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:4px; font-size:13px; }
.loja-aval-item-topo small { color:#999; margin-left:auto; }
.loja-aval-item p { margin:0; font-size:14px; line-height:1.5; color:#333; }
.loja-aval-todas { font-size:13.5px; font-weight:600; color:var(--loja-cor-primaria); text-decoration:none; }
@media (max-width:860px) { .loja-aval-resumo-grid { grid-template-columns:1fr; gap:18px; } .loja-aval-resumo { padding:18px; } }

/* ── Filtro de preço (arquivo) ────────────────────────────────── */
.loja-preco-campos { display:flex; align-items:center; gap:6px; }
.loja-preco-campos label { display:flex; align-items:center; gap:4px; flex:1; min-width:0; border:1px solid #ddd; border-radius:8px; padding:0 8px; background:#fff; }
.loja-preco-campos label span { font-size:12px; color:#888; }
.loja-preco-campos input { width:100%; min-width:0; border:0 !important; outline:0; padding:9px 0 !important; font-size:13.5px; background:transparent !important; box-shadow:none !important; }
.loja-preco-campos em { color:#aaa; font-style:normal; }
.loja-preco-btn { margin-top:10px; width:100%; padding:9px; border:0; border-radius:8px; background:var(--loja-cor-primaria); color:#fff; font-weight:700; font-size:13.5px; cursor:pointer; }

/* Troca de foto: trava tamanho da 2ª foto (o CSS do WooCommerce forçava height:auto e ela vazava do card) */
.loja-card-img-wrap { overflow: hidden; }
.loja-card-img-wrap .loja-card-img-2 {
    width: calc(100% - 12px) !important; height: calc(100% - 12px) !important;
    max-width: none !important; margin: 0 !important; object-fit: contain !important; box-shadow: none !important;
}

/* 2ª foto: escondida por padrão (vence o CSS do WooCommerce); só aparece com mouse, sobreposta à 1ª */
.loja-card-img-wrap .loja-card-img-2 { display: none !important; }
@media (hover: hover) and (pointer: fine) {
    .loja-card-img-wrap .loja-card-img-2 { display: block !important; position: absolute !important; inset: 6px; }
}
@media (hover: none), (pointer: coarse) { .loja-card-img-wrap .loja-card-img-2 { display: none !important; } }

/* Vídeos (YouTube etc.) dentro da descrição do produto: nunca estouram a coluna */
.loja-produto-wrap .loja-abas iframe, .loja-produto-wrap .loja-short-desc iframe,
.loja-produto-wrap .loja-abas .wp-block-embed iframe {
    display: block; max-width: 100% !important; width: 100%; height: auto; aspect-ratio: 16 / 9;
    margin: 18px auto; border: 0; border-radius: 14px; background: #000;
}
.loja-produto-wrap .loja-abas iframe { max-width: min(100%, 720px) !important; }
.loja-produto-wrap iframe.loja-video-vertical { aspect-ratio: 9 / 16; max-width: min(100%, 340px) !important; max-height: 78vh; }
.loja-produto-wrap .loja-abas .wp-block-embed, .loja-produto-wrap .loja-abas .wp-block-embed__wrapper { margin: 0; max-width: 100%; }

/* ── Appmax: passos do Pix compactos (1–4 em lista, sem quebrar o layout) ── */
body #pagamentos-para-woocommerce-com-appmax-pix > div { margin-top: 12px !important; }
body #pagamentos-para-woocommerce-com-appmax-pix .pagamentos-para-woocommerce-com-appmax--wrapper {
  display: block; margin: 0; text-align: left;
}
body #pagamentos-para-woocommerce-com-appmax-pix .pagamentos-para-woocommerce-com-appmax--step {
  display: flex; align-items: flex-start; gap: 10px;
  max-width: none; width: 100%; padding: 0; margin: 0 0 10px; text-align: left;
  font-size: 13px; line-height: 1.4;
}
body #pagamentos-para-woocommerce-com-appmax-pix .pagamentos-para-woocommerce-com-appmax--step::before {
  position: static; flex: 0 0 22px; width: 22px; height: 22px; margin: 0;
  font-size: 12px; line-height: 22px; text-align: center; color: #fff;
}
body #pagamentos-para-woocommerce-com-appmax-pix .pagamentos-para-woocommerce-com-appmax--step p {
  margin: 0; line-height: 1.4; font-size: 13px;
}
