/* ==========================================================================
   Orçamento WhatsApp para WooCommerce — front
   Cores: --owc-cor / --owc-cor-texto (configurações → Aparência).
   Tudo com prefixo .owc-/#owc- e valores explícitos para não depender do tema.
   ========================================================================== */
:root{--owc-cor:#1fa855;--owc-cor-texto:#fff}
html.owc-lock,html.owc-lock body{overflow:hidden!important}
.owc-ico{flex-shrink:0;display:inline-block;vertical-align:middle}

/* ---------- botões de envio (carrinho clássico, mini-carrinho, blocos) ---------- */
/* seletores reforçados (html body ... .owc-enviar.owc-enviar) para vencer o CSS de temas que estilizam o botão com !important */
.woocommerce a.owc-enviar,.woocommerce-page a.owc-enviar,a.owc-enviar,
html body a.owc-enviar.owc-enviar,
html body .wc-proceed-to-checkout a.checkout-button.owc-enviar.owc-enviar,
html body .woocommerce .wc-proceed-to-checkout a.checkout-button.owc-enviar.owc-enviar,
html body .woocommerce-mini-cart__buttons a.owc-enviar.owc-enviar,
.wc-block-cart__submit-button.owc-enviar,.wc-block-mini-cart__footer-checkout.owc-enviar{
  background:var(--owc-cor)!important;background-color:var(--owc-cor)!important;color:var(--owc-cor-texto)!important;
  border-color:var(--owc-cor)!important;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;text-decoration:none!important
}
.wc-proceed-to-checkout a.owc-enviar{display:flex!important;width:100%;font-size:1.05em;padding-top:1em;padding-bottom:1em;border-radius:12px}
a.owc-enviar:hover,html body a.owc-enviar.owc-enviar:hover,.wc-block-cart__submit-button.owc-enviar:hover{filter:brightness(.93);background:var(--owc-cor)!important;background-color:var(--owc-cor)!important}
a.owc-enviar .wc-block-components-button__text{color:inherit!important}

/* botão do produto com o estilo copiado de um botão da página */
.single_add_to_cart_button.owc-estilo-copiado{transition:filter .15s}
.single_add_to_cart_button.owc-estilo-copiado:hover{filter:brightness(.92)}

/* ---------- dica abaixo do botão do produto ---------- */
.owc-dica{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0!important;font-size:.88em;line-height:1.45;color:#4b5563;clear:both;width:100%}
.owc-dica .owc-ico{color:var(--owc-cor);margin-top:1px}
.owc-sem-preco{font-size:.9em;font-weight:600;color:#4b5563}

/* ---------- preços ocultos (carrinho em blocos e temas) ---------- */
body.owc-sem-precos .wc-block-components-product-price,
body.owc-sem-precos .wc-block-cart-item__total,
body.owc-sem-precos .wc-block-components-totals-wrapper,
body.owc-sem-precos .wc-block-cart__totals-title,
body.owc-sem-precos .wc-block-mini-cart__footer-subtotal,
body.owc-sem-precos .wc-block-mini-cart__amount,
body.owc-sem-precos .woocommerce-mini-cart__total,
body.owc-sem-precos .cart_totals table,
body.owc-sem-precos .cart_totals h2,
body.owc-sem-precos td.product-price,body.owc-sem-precos th.product-price,
body.owc-sem-precos td.product-subtotal,body.owc-sem-precos th.product-subtotal{display:none!important}

/* ---------- botão flutuante ---------- */
a.owc-fab{position:fixed;bottom:22px;z-index:99990;display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 18px 0 16px;border-radius:999px;
  background:var(--owc-cor);color:var(--owc-cor-texto)!important;text-decoration:none!important;font:600 15px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  box-shadow:0 12px 28px -10px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s,opacity .2s}
a.owc-fab--direita{right:22px}
a.owc-fab--esquerda{left:22px}
a.owc-fab:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(0,0,0,.5)}
a.owc-fab.is-vazio{opacity:0;pointer-events:none;transform:translateY(20px)}
.owc-fab-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#fff;color:#111827;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:600px){
  a.owc-fab{bottom:16px;height:50px;padding:0 14px}
  a.owc-fab--direita{right:16px}
  a.owc-fab--esquerda{left:16px}
  .owc-fab-txt{display:none}
}

/* ---------- modal ---------- */
#owc-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#0f172a;line-height:1.45;-webkit-font-smoothing:antialiased;text-align:left}
#owc-modal[hidden]{display:none!important}
#owc-modal *,#owc-modal *::before,#owc-modal *::after{box-sizing:border-box}
#owc-modal .owc-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .18s}
#owc-modal .owc-dialog{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:20px;
  box-shadow:0 24px 60px rgba(15,23,42,.3);padding:30px 26px 22px;transform:translateY(12px) scale(.98);opacity:0;transition:transform .18s,opacity .18s}
#owc-modal.is-open .owc-backdrop{opacity:1}
#owc-modal.is-open .owc-dialog{transform:none;opacity:1}
#owc-modal .owc-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:#f1f5f9;color:#475569;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;box-shadow:none}
#owc-modal .owc-x:hover{background:#e2e8f0;color:#0f172a}
#owc-modal .owc-badge{display:inline-flex;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--owc-cor) 12%,#fff);color:var(--owc-cor);align-items:center;justify-content:center;margin:0 0 12px}
#owc-modal .owc-badge--ok{background:#dcfce7;color:#16a34a}
#owc-modal h2{font-size:21px!important;font-weight:700!important;margin:0 0 6px!important;color:#0f172a!important;letter-spacing:-.01em;line-height:1.25!important;text-transform:none!important;font-family:inherit!important;padding:0!important;border:0!important}
#owc-modal .owc-sub{font-size:14px;color:#64748b;margin:0 0 18px;padding:0}
#owc-modal .owc-num{font-size:14px;color:#334155;margin:0 0 6px}
#owc-modal .owc-field{display:block;margin:0 0 12px;padding:0}
#owc-modal .owc-field>span{display:block;font-size:13.5px;font-weight:600;color:#0f172a;margin:0 0 6px}
#owc-modal .owc-field em{font-style:normal;font-weight:400;color:#94a3b8}
#owc-modal .owc-field input,#owc-modal .owc-field textarea{display:block;width:100%;height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:0 14px;
  font-size:16px;color:#0f172a;font-family:inherit;outline:none;box-shadow:none;margin:0;transition:border-color .15s,box-shadow .15s}
#owc-modal .owc-field textarea{height:auto;min-height:72px;padding:12px 14px;resize:vertical;line-height:1.4}
#owc-modal .owc-field input:focus,#owc-modal .owc-field textarea:focus{border-color:var(--owc-cor);box-shadow:0 0 0 4px color-mix(in srgb,var(--owc-cor) 18%,transparent)}
#owc-modal .owc-field input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.12)}
#owc-modal .owc-check{display:flex;align-items:flex-start;gap:10px;margin:2px 0 12px;font-size:13.5px;color:#334155;cursor:pointer}
#owc-modal .owc-check input{width:18px;height:18px;margin:1px 0 0;flex-shrink:0;accent-color:var(--owc-cor)}
#owc-modal .owc-erro{margin:2px 0 12px;padding:10px 12px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:14px}
#owc-modal .owc-erro[hidden]{display:none}
#owc-modal .owc-enviar-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;margin:6px 0 0;border:0;border-radius:14px;
  background:var(--owc-cor);color:var(--owc-cor-texto)!important;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none!important;
  box-shadow:0 10px 22px -12px color-mix(in srgb,var(--owc-cor) 90%,transparent);transition:filter .15s,transform .05s;text-transform:none;letter-spacing:0;padding:0 16px}
#owc-modal .owc-enviar-btn:hover{filter:brightness(.93)}
#owc-modal .owc-enviar-btn:active{transform:translateY(1px)}
#owc-modal .owc-enviar-btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--owc-cor) 30%,transparent)}
#owc-modal .owc-enviar-btn.is-loading{pointer-events:none;opacity:.85}
#owc-modal .owc-enviar-btn.is-loading .owc-ico{display:none}
#owc-modal .owc-enviar-btn.is-loading::before{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;animation:owcGiro .7s linear infinite}
@keyframes owcGiro{to{transform:rotate(360deg)}}
#owc-modal .owc-legal{margin:12px 0 0;text-align:center;font-size:12.5px;color:#94a3b8}
#owc-modal .owc-ok{text-align:center}
#owc-modal .owc-ok[hidden],#owc-modal .owc-form[hidden]{display:none}
#owc-modal .owc-voltar{display:block;width:100%;margin:10px 0 0;height:46px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;color:#0f172a;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:none;text-transform:none}
#owc-modal .owc-voltar:hover{background:#f8fafc}
@media (max-width:480px){
  #owc-modal{align-items:flex-end;padding:0}
  #owc-modal .owc-dialog{max-width:none;border-radius:20px 20px 0 0;padding:26px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(40px)}
}
@media (prefers-reduced-motion:reduce){#owc-modal .owc-dialog,#owc-modal .owc-backdrop,a.owc-fab{transition:none}}
