/* ==========================================================================
   Checkout one-page (estilo Yampi) + carrinho
   ========================================================================== */

.woocommerce-checkout .site-main,
.woocommerce-cart .site-main{ padding-bottom:clamp(48px,7vw,72px); }

.checkout-shell{ max-width:none; margin:0; padding:clamp(20px,3vw,32px) 0 0; }
.checkout-progress{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted-2); margin-bottom:22px; flex-wrap:wrap; }
.checkout-progress .step{ display:flex; align-items:center; gap:8px; font-weight:700; }
.checkout-progress .step .num{ width:24px; height:24px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--muted-2); }
.checkout-progress .step.is-active .num{ background:var(--ac); color:#fff; }
.checkout-progress .step.is-active{ color:var(--ink); }

/* Layout em duas colunas — coluna lateral com largura mínima garantida */
form.checkout.woocommerce-checkout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:clamp(20px,3vw,32px); align-items:start; }
.checkout-col-main{ min-width:0; }
.checkout-col-side{ min-width:0; }
@media (max-width:900px){ form.checkout.woocommerce-checkout{ grid-template-columns:1fr; } }

.checkout-col-main > .woocommerce-billing-fields,
.checkout-col-main > .woocommerce-shipping-fields,
.checkout-col-main > .woocommerce-additional-fields,
#order_review,
#order_review_heading{ background:#fff; border-radius:var(--radius-lg); padding:clamp(22px,3vw,30px); margin-bottom:18px; }

.checkout-col-side{ position:sticky; top:96px; }

/* Títulos de bloco */
.woocommerce-checkout h3,
#order_review_heading{ font-size:18px; font-weight:800; color:var(--ink); margin:0 0 18px; letter-spacing:-.01em; display:flex; align-items:center; gap:10px; }
.woocommerce-checkout h3 .step-dot{ width:26px; height:26px; border-radius:50%; background:var(--bg-soft); color:var(--ac); display:inline-flex; align-items:center; justify-content:center; font-size:13px; }

/* Campos */
.woocommerce form .form-row{ padding:0 0 14px; margin:0; }
.woocommerce-checkout .form-row label{ display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:6px; }
.woocommerce-checkout .form-row .required{ color:var(--ac); border:none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection,
.woocommerce-checkout select{
  width:100%;
  border:1.5px solid var(--line-2);
  border-radius:12px;
  padding:13px 14px;
  font:inherit;
  font-size:14.5px;
  color:var(--ink);
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout select:focus{
  outline:none;
  border-color:var(--ac);
  box-shadow:0 0 0 3px rgba(36,116,60,.12);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text{ border-color:#e3534b; }

/* Grid de campos lado a lado */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.form-row-wide, #billing_address_1_field, #billing_company_field, .form-row[id$="_country_field"]{ grid-column:1 / -1; }
@media (max-width:520px){ .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{ grid-template-columns:1fr; } }

/* Resumo do pedido */
.woocommerce-checkout #order_review table.shop_table{ width:100%; table-layout:auto; border:none; margin:0 0 12px; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td{ padding:10px 0; border:none; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }
/* nome do produto: quebra normal por palavra, nunca letra a letra */
.woocommerce-checkout #order_review .product-name{ word-break:normal; overflow-wrap:anywhere; padding-right:10px; }
.woocommerce-checkout #order_review .product-total{ white-space:nowrap; text-align:right; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td{ font-size:18px; font-weight:800; color:var(--ink); border-bottom:none; padding-top:14px; }
.woocommerce-checkout #order_review .cart_item .product-name{ color:var(--ink-2); }

/* Botão finalizar */
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order{
  width:100%;
  background:var(--ac);
  color:#fff;
  border:none;
  border-radius:var(--radius-pill);
  font-weight:800;
  font-size:16px;
  padding:16px 24px;
  margin-top:12px;
  transition:filter .15s ease;
}
.woocommerce-checkout #place_order:hover{ filter:brightness(.96); }

/* Métodos de pagamento (Yapay) */
.woocommerce-checkout #payment{ background:transparent; }
.woocommerce-checkout #payment ul.payment_methods{ border:none; padding:0; margin:0 0 8px; display:flex; flex-direction:column; gap:10px; }
.woocommerce-checkout #payment ul.payment_methods li{
  background:#fff; border:1.5px solid var(--line-2); border-radius:14px; padding:14px 16px; list-style:none;
}
.woocommerce-checkout #payment ul.payment_methods li.is-selected,
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){ border-color:var(--ac); box-shadow:0 0 0 3px rgba(36,116,60,.1); }
.woocommerce-checkout #payment ul.payment_methods li label{ font-weight:700; color:var(--ink); display:inline-flex; align-items:center; gap:10px; }
.woocommerce-checkout #payment div.payment_box{ background:var(--bg); border-radius:12px; margin-top:12px; padding:16px; font-size:13.5px; }
.woocommerce-checkout #payment div.payment_box::before{ display:none; }

/* Campos do cartão (gateway transparente Yapay) */
.yapay-card-fields{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.yapay-card-fields .field-full{ grid-column:1 / -1; }
.yapay-card-fields label{ font-size:12.5px; font-weight:600; color:var(--ink-2); display:block; margin-bottom:6px; }
.yapay-card-fields input, .yapay-card-fields select{
  width:100%; border:1.5px solid var(--line-2); border-radius:10px; padding:12px; font:inherit; font-size:14px;
}
.yapay-card-fields input:focus, .yapay-card-fields select:focus{ outline:none; border-color:var(--ac); box-shadow:0 0 0 3px rgba(36,116,60,.12); }
.yapay-installments-info{ font-size:12.5px; color:var(--ac); font-weight:600; margin-top:4px; }

/* PIX / boleto */
.yapay-pix-box{ text-align:center; }
.yapay-pix-box img{ margin:8px auto; width:180px; height:180px; }
.yapay-pix-code{ word-break:break-all; background:#fff; border:1px dashed var(--line-2); border-radius:10px; padding:12px; font-size:12px; }

/* Cupom */
.woocommerce-form-coupon-toggle, .checkout_coupon{ background:#fff; border-radius:14px; padding:16px 18px; margin-bottom:18px; }
.checkout_coupon .form-row{ display:flex; gap:10px; align-items:center; }
.checkout_coupon .button{ background:var(--ink); color:#fff; border:none; border-radius:var(--radius-pill); padding:12px 20px; font-weight:700; }

/* Login/voltar */
.woocommerce-form-login-toggle .woocommerce-info{ background:#fff; border-radius:14px; padding:14px 18px; border-left:4px solid var(--ac); }

/* Carrinho */
.woocommerce-cart table.cart{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; border-collapse:separate; }
.woocommerce-cart table.cart th, .woocommerce-cart table.cart td{ border-color:var(--line); }
.woocommerce-cart .cart-collaterals .cart_totals{ background:#fff; border-radius:var(--radius-lg); padding:24px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  background:var(--ac)!important; color:#fff!important; border-radius:var(--radius-pill)!important;
  font-weight:800!important; padding:16px!important; text-align:center; display:block;
}

/* Mensagens */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-radius:14px; border-top:none; padding:14px 18px; font-size:14px;
}
.woocommerce-message{ background:#e7f7ee; border-left:4px solid #1f9d57; }
.woocommerce-error{ background:#fdeceb; border-left:4px solid #e3534b; }
.woocommerce-info{ background:#eef6f9; border-left:4px solid var(--ac); list-style:none; }

/* ==========================================================================
   Botões gerais do WooCommerce (loja inteira)
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button{
  background:var(--ac); color:#fff; border:none; border-radius:var(--radius-pill);
  font-weight:700; font-size:14.5px; padding:13px 24px; transition:filter .15s ease;
  text-shadow:none; line-height:1.2;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover{ background:var(--ac); filter:brightness(.95); }
.woocommerce a.button.alt, .woocommerce button.button.alt{ background:var(--ink); }
/* botão secundário (ex.: "Atualizar carrinho") */
.woocommerce button[name="update_cart"]{ background:#fff; color:var(--ink); border:1.5px solid var(--line-2); }

/* Campo de quantidade padrão do Woo */
.woocommerce .quantity input.qty{
  border:1.5px solid var(--line-2); border-radius:10px; padding:10px; width:64px;
  text-align:center; font:inherit; font-size:14px;
}

/* ==========================================================================
   Avaliações (reviews) na página de produto
   ========================================================================== */
#reviews, #reviews .card{ font-size:14.5px; }
#reviews h2, #reviews #reply-title{ font-size:18px; font-weight:800; color:var(--ink); margin:0 0 16px; }
#reviews #comments ol.commentlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
#reviews #comments ol.commentlist li{ background:var(--bg); border-radius:14px; padding:16px 18px; }
#reviews .comment-text{ margin-left:0; }
#reviews .comment_container img.avatar{ border-radius:50%; width:42px; height:42px; position:static; float:left; margin-right:12px; }
#reviews .star-rating{ color:#f5a623; }
#review_form .comment-form-rating label,
#review_form label{ display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:6px; }
#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea,
#review_form select{
  width:100%; border:1.5px solid var(--line-2); border-radius:12px; padding:13px 14px;
  font:inherit; font-size:14.5px; background:#fff;
}
#review_form input:focus, #review_form textarea:focus{ outline:none; border-color:var(--ac); box-shadow:0 0 0 3px rgba(36,116,60,.12); }
#review_form .stars a{ color:#f5a623; }

/* ==========================================================================
   Páginas de conta / login / cadastro
   ========================================================================== */
.woocommerce-account .woocommerce{ display:block; }
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  background:#fff; border-radius:var(--radius-lg); padding:clamp(22px,3vw,30px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; display:flex; flex-direction:column; gap:6px; }
.woocommerce-account .woocommerce-MyAccount-navigation a{ display:block; padding:10px 12px; border-radius:9px; font-weight:600; color:var(--ink-2); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{ background:var(--bg-soft); color:var(--ac); }
@media (min-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation{ float:left; width:30%; }
  .woocommerce-account .woocommerce-MyAccount-content{ float:right; width:66%; }
}

/* ==========================================================================
   Calculadora de frete (carrinho) — quando o WooCommerce a exibe
   ========================================================================== */
.woocommerce .cart_totals .shipping-calculator-button{ color:var(--ac); font-weight:700; }
.woocommerce .shipping-calculator-form{ margin-top:10px; }
.woocommerce .shipping-calculator-form .button{ width:100%; }
