/* =========================================================================
   Sidedog — integração visual com o WooCommerce
   Deixa loja, produto, carrinho e checkout com a cara do tema.
   ========================================================================= */

.woo-wrap { max-width: 1080px; }
.woocommerce, .woocommerce-page { color: var(--corpo); }

/* títulos e larguras */
.woocommerce .woocommerce-products-header__title,
.woocommerce h1, .woocommerce h2 { font-family: var(--disp); color: var(--tinta); }

/* botões do WooCommerce no padrão do tema */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	background: var(--amarelo);
	color: var(--grafite);
	font-family: var(--disp);
	font-weight: 600;
	border: 0;
	border-radius: 100px;
	padding: 13px 26px;
	transition: background .2s, transform .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
	background: var(--amarelo-2);
	color: var(--grafite);
	transform: translateY(-2px);
}

/* botão de finalizar compra em destaque verde */
.woocommerce #place_order,
.woocommerce-checkout #place_order {
	background: var(--verde-zap);
	color: #06351a;
	font-size: 1.05rem;
	width: 100%;
}
.woocommerce #place_order:hover { background: #2ee06f; color: #06351a; }

/* preços */
.woocommerce .price,
.woocommerce span.amount { color: var(--tinta); font-weight: 700; }
.woocommerce .price del { color: var(--suave); font-weight: 500; }

/* campos de formulário (checkout, conta) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce .select2-container .select2-selection,
.woocommerce table.cart td.actions .coupon .input-text {
	border: 1.5px solid var(--linha-2);
	border-radius: 12px;
	padding: 12px 14px;
	background: #fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: var(--amarelo-esc);
	box-shadow: 0 0 0 3px var(--amarelo-cl);
}

/* cartões (carrinho, totais, produto) */
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce ul.products li.product,
.woocommerce div.product .woocommerce-tabs {
	background: #fff;
	border: 1px solid var(--linha);
	border-radius: var(--r-lg);
}
.woocommerce .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details {
	padding: 8px 4px;
}

/* mensagens (adicionado ao carrinho, avisos) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--amarelo-esc);
	border-radius: var(--r);
	font-family: var(--sans);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--amarelo-esc); }

/* grade da loja */
.woocommerce ul.products li.product { padding: 14px; text-align: center; }
.woocommerce ul.products li.product a img { border-radius: var(--r); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--disp); color: var(--tinta); }

/* tabela do carrinho */
.woocommerce table.shop_table { border-radius: var(--r-lg); border-color: var(--linha); }
.woocommerce table.shop_table th { font-family: var(--disp); color: var(--tinta); }

/* página do produto */
.woocommerce div.product .product_title { font-family: var(--disp); color: var(--tinta); font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--tinta); font-family: var(--disp); font-weight: 700; font-size: 2rem; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--r-lg); }
.woocommerce div.product form.cart { margin-bottom: 18px; }
.woocommerce div.product form.cart .quantity input.qty {
	border: 1.5px solid var(--linha-2); border-radius: 10px; padding: 12px 8px; background: #fff;
}
.woocommerce div.product .stock { color: var(--grafite-3); }

/* --------------------------------------------- calcular frete pelo CEP ---- */
.frete {
	background: var(--creme); border: 1px solid var(--linha);
	border-radius: var(--r-lg); padding: 20px 20px 18px; margin: 6px 0 22px;
}
.frete__t {
	display: flex; align-items: center; gap: 9px;
	font-family: var(--disp); font-weight: 700; font-size: 1rem; color: var(--tinta); margin-bottom: 12px;
}
.frete__t svg { width: 22px; height: 22px; color: var(--amarelo-esc); flex: none; }
.frete__form { display: flex; gap: 10px; flex-wrap: wrap; }
.frete__cep {
	flex: 1 1 160px; min-width: 0; padding: 13px 15px; border-radius: 100px;
	border: 1.5px solid var(--linha-2); background: #fff; color: var(--tinta);
	font-family: var(--disp); font-weight: 600; font-size: 1rem; letter-spacing: .02em;
}
.frete__cep:focus { outline: none; border-color: var(--amarelo-esc); box-shadow: 0 0 0 4px var(--amarelo-cl); }
.frete__btn { flex: none; padding: 13px 24px; }
.frete__msg { margin-top: 14px; font-size: .94rem; }
.frete__msg--erro { color: #a3441f; }
.frete__msg--info { color: var(--corpo); }
.frete__local { margin-top: 14px; font-size: .92rem; color: var(--corpo); }
.frete__lista { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.frete__lista li {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	background: #fff; border: 1px solid var(--linha); border-radius: 12px; padding: 12px 15px;
}
.frete__nome { font-size: .95rem; color: var(--tinta); }
.frete__nome small { display: block; font-size: .82rem; color: var(--suave); }
.frete__valor { font-family: var(--disp); font-weight: 700; color: var(--tinta); white-space: nowrap; }
.frete__ajuda { display: inline-block; margin-top: 12px; font-size: .85rem; color: var(--grafite-3); text-decoration: underline; }
.frete__ajuda:hover { color: var(--amarelo-esc); }

/* características do Sidedog na página do produto */
.sec-specs-produto { margin: clamp(30px, 4vw, 52px) 0; }
.sec-specs-produto .h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); margin-bottom: 20px; text-align: center; }
.sec-specs-produto .spec__ic svg { width: 22px; height: 22px; }
.frete__debug { margin-top: 12px; font-size: .78rem; line-height: 1.5; color: var(--grafite-3); background: #fff; border: 1px dashed var(--linha-2); border-radius: 10px; padding: 10px 12px; word-break: break-word; }
