/* =========================================================
   PCG - CART (enxuto, sem frete e sem payopt clicável)
   ========================================================= */

/* -------------------------
   CONTAINER & GRID
   ------------------------- */
body.woocommerce-cart main.site-main{
  max-width:1400px; margin:0 auto; padding:10px;
  background:#fff; border-radius:5px;
}
body.woocommerce-cart .entry-content > .woocommerce{ max-width:100%; }

body.woocommerce-cart .woocommerce{
  display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:10px; align-items:start;
}
body.woocommerce-cart .woocommerce-cart-form{ grid-column:1; min-width:0; }
body.woocommerce-cart .cart-collaterals{ grid-column:2; display:block; }

body.woocommerce-cart .cart_totals{ position:sticky; top:96px; }

@media (max-width:992px){
  body.woocommerce-cart .woocommerce{ display:block; }
  body.woocommerce-cart .cart_totals{ position:static; }
}

/* Mensagem inline do controle de quantidade */
.pcg-qty__msg {
    margin-top: 6px;
    /* padding: 6px 10px; */
    background: #e63535;
    color: #fff;
    border-radius: 8px;
    font-size: 12px;
    /* line-height: 1.3; */
    font-weight: 600;
    display: flex;
    justify-content: center;
}

/* -------------------------
   TABELA DO CARRINHO
   ------------------------- */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form .shop_table{ width:100%;margin:0; }

body.woocommerce-cart table.shop_table thead th{
  font-weight:700; color:#1f2937; border-bottom:2px solid #e5e7eb;
  padding:12px 10px; font-size:14px;
}
body.woocommerce-cart table.shop_table td{
  padding:12px 10px; vertical-align:top; font-size:14px;border-bottom:1px solid #e5e7eb;
}
body.woocommerce-cart table.shop_table th{border-bottom:1px solid #e5e7eb;}

body.woocommerce-cart td.product-thumbnail img{
  width:105px; height:auto; border-radius:6px;
}

body.woocommerce-cart .pcg-item-title{
  font-weight:600; color:#111827; text-decoration:none;
}
body.woocommerce-cart .pcg-item-title:hover{ text-decoration:underline; }

body.woocommerce-cart .pcg-item-lines{ margin-top:6px; }
body.woocommerce-cart .pcg-item-line{ display:block; font-size:12px; line-height:1.2; font-weight:500; }
body.woocommerce-cart .pcg-item-line strong{ font-weight:700; }
body.woocommerce-cart .pcg-item-line.pcg-pix{ color:#059669; }
body.woocommerce-cart .pcg-item-line.pcg-card{ color:#374151; }

/* Link remover */
body.woocommerce-cart a.remove {
    display: flex;
    align-items: center;
    /* gap: 6px; */
    color: #ef4444;
    border-radius: 6px;
    font-size: 12px;
    justify-content: center;
}
body.woocommerce-cart a.remove .material-symbols-outlined{ font-size:16px; color:red; }
body.woocommerce-cart a.remove:hover{ background:#fee2e2; color:#991b1b; }

/* Subtotais empilhados (PIX / parcelado) */
body.woocommerce-cart .pcg-price-stack{ display:flex; flex-direction:column; gap:4px; }
body.woocommerce-cart .pcg-price strong{ display:block; font-size:16px; line-height:1; }
body.woocommerce-cart .pcg-price small{ display:block; font-size:10px; opacity:.85; }
body.woocommerce-cart .pcg-price--pix strong{ color:#059669; }

/* -------------------------
   QUANTIDADE +/−
   ------------------------- */
body.woocommerce-cart button[name="update_cart"]{ display:none; } /* ocultar botão nativo */

.pcg-qty{
  display:inline-flex; align-items:center; overflow:hidden;
  border:1px solid #e5e7eb; border-radius:8px; background:#fff;
}
.pcg-qty input.qty{
  width:60px; border:0; text-align:center; outline:none;
  -moz-appearance:textfield;
}
.pcg-qty input.qty::-webkit-outer-spin-button,
.pcg-qty input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.pcg-qty__btn{height:100%; border:0; cursor:pointer;font-weight:700; line-height:1;}
.pcg-qty__btn.minus{ border-right:1px solid #e5e7eb; }
.pcg-qty__btn.plus{  border-left:1px solid #e5e7eb; }
.pcg-qty__btn:active{ transform:translateY(1px); }

.pcg-qty-hint{
  display:flex; background:#ef4444; color:#fff; font-size:12px; font-weight:700;
  align-items:center; justify-content:center; border-radius:10px; margin-top:5px; padding:2px 6px;
}

/* -------------------------
   CARD DE TOTAIS (direita)
   ------------------------- */
.pcg-cart-totals{
  background:#fff; border:1px solid #e5e7eb; border-radius:14px;
  padding:16px; box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.pcg-cart-totals .pcg-ct-title{
  font-weight:800; font-size:18px; margin:0 0 12px;
}
.pcg-summary-row{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0; border-bottom:1px dashed #e5e7eb;
}
.pcg-summary-row:last-child{ border-bottom:0; }
.pcg-summary-row .pcg-label{ color:#374151;
font-size:14px}

.pcg-amount-sub{font-size: 9px;  
	display: inline;          /* se alguma regra antiga colocou block */
  white-space: nowrap;}
.pcg-label > span { display:block; }

.pcg-amount .material-symbols-outlined {
	font-size: 18px;
	margin-left:2px;
}
.pcg-amount .pcg-badge{
	font-size: 14px;
	color:white;
	background:white;
}
.retira-sub .material-symbols-outlined {
	font-size: 20px;
	color:#0070f3;
}
.pcg-summary-row .pcg-amount {
    font-weight: 800;
    color: #111827;
    display: flex;
    /* justify-content: flex-end; */
    /* align-content: flex-end; */
    flex-direction: column;
    align-items: flex-end;
    min-width: 90px;
	font-size:14px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block; width:100%; border-radius:12px; padding:12px 16px; font-weight:700; margin-top:12px;
}
.pcg-label{
  display:inline-flex;          /* badge fica ao lado do título */
  align-items:center;
  gap:8px;
  flex-wrap:wrap;               /* permite a “sub” ir para a linha de baixo */
  line-height:1.2;
}
.pcg-label-sub{
  flex-basis:100%;              /* quebra de linha abaixo do título+badge */
  font-size:12px;
  opacity:.75;
}
.pcg-badge{
  display:inline-block;         /* garante lado a lado */
  padding:2px 6px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:#e6fffb;
  color:#059669;
  border:1px solid #a7f3d0;
}

/* -------------------------
   RESPONSIVO
   ------------------------- */
@media (max-width:640px){
body.woocommerce-cart table.shop_table thead{ display:none; }
body.woocommerce-cart table.shop_table td{ padding:4px;border:0; display:flex;}
body.woocommerce-cart table.shop_table th{ max-width: 280px;}
body.woocommerce-cart td.product-thumbnail img{width: 80px; }
body.woocommerce-cart table.shop_table tr {    display: flex;    flex-wrap: wrap;align-items:center;justify-content:space-around;}
body.woocommerce-cart .pcg-item-title {font-size:14px;}
	
body.woocommerce-cart table.shop_table th{border:0;}
body.woocommerce-cart table.shop_table tr{border-bottom:1px solid #e5e7eb;}
body.woocommerce-cart .pcg-price-stack {display: flex;gap: 10px;flex-direction:row;}
body.woocommerce-cart table.shop_table .product-remove .remove {  padding: 4px;  display: inline-block;}
body.woocommerce-cart table.shop_table .product-remove .remove .remove-text {  display: none;}
body.woocommerce-cart table.shop_table .product-remove .remove .material-symbols-outlined {
  font-size: 28px !important;      /* CORREÇÃO: Sintaxe do !important */
  vertical-align: middle !important; /* CORREÇÃO: Sintaxe do !important */
  margin-left: 10px;                 /* O texto está oculto, então a margem é 0 */
}
}

.pcg-row-frete .pcg-amount { display:flex; justify-content:flex-end; }
.pcg-row-frete .button { padding:6px 12px; border-radius:10px; font-weight:700; }

/* ===== Modal de Frete (overlay) ===== */
.pcg-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.pcg-modal[aria-hidden="false"]{ display:block; }
.pcg-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45); }
.pcg-modal__card{
  position:relative; background:#fff; border-radius:12px; padding:16px;
  max-width:560px; width:calc(100% - 32px); margin:8vh auto; box-shadow:0 12px 36px rgba(0,0,0,.18);
}
.pcg-modal__close{ position:absolute; top:8px; right:10px; border:0; background:transparent; font-size:22px; cursor:pointer; }
.pcg-frete-form{ display:flex; gap:8px; align-items:center; margin-bottom:12px; }
.pcg-frete-form input[type=text]{ height:38px; border-radius:10px; max-width:160px; }
.pcg-frete-table{ width:100%; border-collapse:separate; border-spacing:0; }
.pcg-frete-table th, .pcg-frete-table td{ padding:8px; border-bottom:1px solid #e5e7eb; font-size:14px; }
.pcg-frete-row{ cursor:pointer; }
.pcg-frete-row input{ margin-right:8px; transform:translateY(2px); }
.pcg-frete-actions{ display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
/* Preço grátis (site inteiro) */
.pcg-gratis {
  color: #18a058;   /* ajuste se seu popup usar outro tom */
  font-weight: 600;
}
.pcg-gratis { color:#18a058; font-weight:600; }
.pcg-frete-inline-card{
  border:1px solid #eee; border-radius:12px; padding:12px; background:#fff; margin-top:8px;
}
.pcg-frete-inline-card .pcg-frete-header{ font-weight:700; color:#ff7a00; margin-bottom:6px; }
.pcg-frete-inline-card .pcg-frete-local{ font-size:.92rem; color:#555; margin-bottom:8px; }
.pcg-frete-inline-card .pcg-frete-row{
  display:grid; grid-template-columns:1fr auto auto; gap:8px; padding:8px 10px; border-radius:8px; background:#f7f7f8; margin-bottom:6px;
}
.pcg-frete-inline-card .pcg-frete-col.price{ text-align:right; font-weight:600; }
.pcg-frete-inline-card .pcg-frete-col.eta{ text-align:right; color:#666; }
.pcg-frete-trocar-cep{ font-weight:600; text-decoration:underline; cursor:pointer; }
/* --- Bloco de Destaque para Loja Física no Carrinho --- */

/* O 'wrapper' principal com o fundo verde e cantos arredondados */
.pcg-loja-fisica-group {
    background-color: #f0f7f1; /* Um verde bem discreto */
    border-radius: 8px;        /* Cantos arredondados */
    padding: 15px 15px 5px 15px; /* Espaçamento interno */
    margin: 15px 0;            /* Espaçamento externo (em cima e embaixo) */
}

/* O título "Condições exclusivas..." */
.pcg-group-title {
    font-size: 14px;
    /* font-weight: 700; */
    color: #222;
    margin: 0 0 12px 0;
    /* padding: 0; */
    line-height: 1.3;
    display: flex;
    justify-content: center;
}

/* Ajuste para as linhas de pagamento DENTRO do bloco verde */
.pcg-loja-fisica-group .pcg-summary-row {
    border-top: 1px solid #dcebdf; /* Linha sutil verde-acinzentada */
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Remove a borda superior da primeira linha (para não ficar duplicada) */
.pcg-loja-fisica-group .pcg-summary-row:first-of-type {
    border-top: none;
    padding-top: 0;
}

/* --- Bloco de Destaque para Pagamento Online no Carrinho --- */

/* O 'wrapper' principal com o fundo azul */
.pcg-site-online-group {
    background-color: #f0f6fa; /* Um azul bem discreto */
    border-radius: 8px;
    padding: 15px 15px 5px 15px;
    margin: 15px 0;
}

/* Ajuste para as linhas de pagamento DENTRO do bloco azul */
.pcg-site-online-group .pcg-summary-row {
    border-top: 1px solid #dbe8f0; /* Linha sutil azul-acinzentada */
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Remove a borda superior da primeira linha */
.pcg-site-online-group .pcg-summary-row:first-of-type {
    border-top: none;
    padding-top: 0;
}

/* --- Estilos para o ícone e popup de Imposto/Taxa --- */

.pcg-tax-popup-trigger .material-symbols-outlined {
    font-size: 20px;
}

/* O popup (inicialmente escondido) */
.pcg-tax-popup {
    display: none; /* Escondido por padrão */
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
/* Classe para mostrar o popup */
.pcg-tax-popup.is-open {
    display: flex;
}

/* Fundo escuro (overlay) */
.pcg-tax-popup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
}

/* A caixa de conteúdo do popup */
.pcg-tax-popup-content {
    position: relative;
    background-color: #fff;
    padding: 25px;
    border-radius: 8px;
    width: 90%;
    max-width: 500px;
    z-index: 100000;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* Título do popup */
.pcg-tax-popup-title {
    margin: 0 0 10px 0;
    font-size: 1.2em;
    font-weight: 700;
    color: #222;
    display: flex;
    justify-content: center;
}

/* Texto do popup */
.pcg-tax-popup-content p {
    font-size: 0.95em;
    line-height: 1.5;
    margin: 0;
}

/* Botão de Fechar (X) */
.pcg-tax-popup-close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 28px;
    line-height: 1;
    font-weight: bold;
    color: #aaa;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.pcg-tax-popup-close:hover {
    color: #333;
}

.botoes-carrinho {
    background: #00B3F5;
    color: white;
    padding: 4px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    transition: background 0.3s ease;
    /* width: auto; */
    justify-content: center;
    text-decoration-line: none;
}
.pcg-cart-actions-header{
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

.pcg-cart-actions-header .material-symbols-outlined,
.pcg-frete-label .material-symbols-outlined{
font-size:18px;
}

/* === OTIMIZAÇÃO PAGAMENTO (Compacto) === */
/* Força o label a ocupar toda a largura e usar Flexbox */
#payment .payment_methods li label {
    display: flex !important;
    align-items: center;
    justify-content: space-between; /* Texto na esq, Preço na dir */
    width: 100%;
    padding: 10px 15px; /* Altura reduzida */
    cursor: pointer;
}

/* Esconde descrições padrão do Woo para economizar espaço vertical */
#payment .payment_box {
    display: none !important; 
}

/* Estilo para destacar o desconto/parcelamento na mesma linha */
#payment label .desconto-destaque {
    background: #e6f9ed;
    color: #28a745;
    font-size: 0.85em;
    padding: 2px 6px;
    border-radius: 4px;
    margin-left: 10px;
    font-weight: bold;
}

/* === OTIMIZAÇÃO ENTREGA (Loja Física) === */
/* Estilo do bloco personalizado de Loja Física */
.pcg-opcao-entrega-row {
    display: flex;
    align-items: flex-start;
    padding: 5px 0;
}

.pcg-titulo-metodo {
    display: flex;
    flex-direction: column;
    margin-left: 8px;
    font-size: 14px;
}

/* Ajuste do endereço injetado */
.pcg-loja-detalhes {
    margin-top: 4px;
    padding: 8px;
    background: #f8f9fa;
    border-left: 3px solid #007bff;
    border-radius: 0 4px 4px 0;
    font-size: 0.9em;
}