/* Recargals – estilos do tema filho. Cores vêm do theme.json (Aparência → Editor → Estilos). */

:root {
	--rc-primaria: var(--wp--preset--color--primaria);
	--rc-botao: var(--wp--preset--color--botao);
	--rc-suave: var(--wp--preset--color--suave);
	--rc-borda: var(--wp--preset--color--borda);
	--rc-texto2: var(--wp--preset--color--accent-4);
	--rc-raio: 10px;
	--rc-sombra: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .05);
}

body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* Botões grandes, fáceis de tocar */
.wp-element-button,
.wp-block-button__link,
.woocommerce button.button,
.woocommerce a.button,
.wc-block-components-product-button__button {
	min-height: 48px;
	transition: filter .15s;
}
.wp-element-button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover { filter: brightness(.93); }

/* Cabeçalho */
.rc-header {
	background: var(--rc-primaria);
	color: #fff;
	padding-top: 12px;
	padding-bottom: 12px;
}
.rc-header a { color: #fff; }
.rc-logo { font-size: 1.3rem; font-weight: 800; margin: 0; }
.rc-header-link, .rc-seguro { margin: 0; font-size: .9rem; font-weight: 600; }
.rc-seguro::before { content: "🔒 "; }

/* Banner */
.rc-banner {
	background: linear-gradient(135deg, var(--rc-primaria), color-mix(in srgb, var(--rc-primaria) 65%, #000));
	color: #fff;
	border-radius: 0 0 var(--rc-raio) var(--rc-raio);
	padding: 32px 20px 36px;
	margin-top: 0 !important;
}
.rc-banner h1 { color: #fff; margin: 8px 0 12px; }
.rc-banner p { margin: 0 0 20px; opacity: .95; }
.rc-banner-tag {
	display: inline-block;
	background: rgba(255, 255, 255, .18);
	border-radius: 99px;
	padding: 4px 12px;
	font-size: .85rem;
	font-weight: 600;
	margin-bottom: 0 !important;
}
.rc-btn-banner .wp-block-button__link { width: 100%; }
@media (min-width: 600px) {
	.rc-banner { padding: 56px 48px; border-radius: var(--rc-raio); margin-top: 24px !important; }
	.rc-btn-banner .wp-block-button__link { width: auto; }
}

/* Selos de confiança */
.rc-selos {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 20px !important;
}
@media (min-width: 700px) { .rc-selos { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.rc-selo {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--rc-suave);
	border-radius: var(--rc-raio);
	padding: 12px 14px;
}
.rc-selo > * { margin: 0 !important; }
.rc-selo p { font-size: .9rem; line-height: 1.35; color: var(--rc-texto2); }
.rc-selo strong { color: var(--wp--preset--color--contrast); font-size: 1rem; }
.rc-selo-icone {
	flex: 0 0 40px;
	height: 40px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--rc-primaria) 14%, #fff);
	position: relative;
}
.rc-selo-icone::after {
	content: "";
	position: absolute;
	inset: 9px;
	background: var(--rc-primaria);
	-webkit-mask: var(--rc-icone) center / contain no-repeat;
	mask: var(--rc-icone) center / contain no-repeat;
}
.rc-icone-raio { --rc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.rc-icone-pix { --rc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5 22.5 12 12 22.5 1.5 12zm0 4.2L5.7 12l6.3 6.3 6.3-6.3z'/%3E%3C/svg%3E"); }
.rc-icone-suporte { --rc-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.7 15l-1.3 5 5.1-1.3A10 10 0 1 0 12 2zm-3 6h1.6l1 2.6-1 1a6 6 0 0 0 2.8 2.8l1-1 2.6 1V16a1 1 0 0 1-1 1A8 8 0 0 1 8 9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E"); }

/* Vitrine */
.rc-titulo-vitrine { margin-top: 32px !important; margin-bottom: 12px !important; }
.rc-vitrine .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
@media (min-width: 700px) { .rc-vitrine .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.rc-vitrine .wc-block-product {
	width: auto !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--rc-borda);
	border-radius: var(--rc-raio);
	padding: 10px;
	box-shadow: var(--rc-sombra);
}
.rc-vitrine .wc-block-components-product-image { margin-bottom: 8px !important; }
.rc-vitrine .wc-block-components-product-image img { border-radius: 8px; aspect-ratio: 1; object-fit: cover; }
.rc-card-titulo { font-size: .95rem !important; font-weight: 600; line-height: 1.3; margin: 0 0 6px !important; }
.rc-card-titulo a { color: inherit; }
.rc-card-preco { font-size: 1.15rem !important; font-weight: 800; color: var(--wp--preset--color--contrast); margin: 0 0 10px !important; text-align: left !important; }
.rc-card-botao { margin-top: auto !important; width: 100%; }
.rc-card-botao .wp-block-button__link,
.rc-card-botao .wc-block-components-product-button__button {
	width: 100%;
	justify-content: center;
	font-size: .95rem !important;
	padding: 10px 8px !important;
}

/* Página de produto */
.rc-produto { padding-top: 16px; padding-bottom: 32px; }
.rc-produto-topo { gap: 20px !important; }
.rc-produto .woocommerce-product-gallery img { border-radius: var(--rc-raio); }
.rc-produto-compra h1 { margin: 0 0 8px; font-size: clamp(1.4rem, 5vw, 2rem); }
.rc-preco-destaque,
.rc-preco-destaque .price { font-size: 2rem !important; font-weight: 800; color: var(--rc-botao) !important; margin: 4px 0 12px !important; }
.rc-preco-destaque del { font-size: 1rem; color: var(--rc-texto2); font-weight: 400; }
.rc-preco-destaque ins { text-decoration: none; }
.rc-produto form.cart {
	display: flex;
	gap: 10px;
	align-items: stretch;
	margin: 16px 0 8px !important;
}
.rc-produto form.cart .quantity input.qty {
	width: 64px;
	height: 100%;
	min-height: 52px;
	border: 1px solid var(--rc-borda);
	border-radius: 8px;
	text-align: center;
	font-size: 1rem;
}
.rc-produto form.cart .single_add_to_cart_button {
	flex: 1;
	min-height: 52px;
	font-size: 1.15rem !important;
	background: var(--rc-botao) !important;
	color: #fff !important;
	border-radius: 8px !important;
	border: 0;
}
.rc-garantia { font-size: .85rem; color: var(--rc-texto2); margin: 0; }
.rc-detalhes { margin-top: 32px !important; }
.rc-detalhes .wc-tabs { display: none; }
@media (max-width: 781px) {
	.rc-produto-compra {
		position: relative;
	}
}

/* Checkout estilo Mercado Pago */
body.woocommerce-checkout { background: var(--rc-suave); }
.rc-checkout { padding-top: 16px; padding-bottom: 32px; }
.rc-checkout > .wp-block-post-content > .woocommerce { max-width: 100%; }
.rc-checkout h1.wp-block-post-title { display: none; }

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr) 380px;
		grid-template-rows: auto 1fr;
		gap: 0 24px;
		align-items: start;
	}
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; }
	.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 16px; }
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
.woocommerce-checkout #customer_details .col-2:not(:has(input, textarea, select)) { display: none; }

/* Cartões */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout #order_review {
	background: #fff;
	border-radius: var(--rc-raio);
	box-shadow: var(--rc-sombra);
	padding: 20px 16px;
}
@media (min-width: 600px) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout #order_review { padding: 24px; }
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 16px;
}
.woocommerce-checkout #order_review_heading {
	background: #fff;
	border-radius: var(--rc-raio) var(--rc-raio) 0 0;
	padding: 20px 16px 0;
	margin: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, .04);
}
.woocommerce-checkout #order_review { border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 12px; }
@media (min-width: 600px) { .woocommerce-checkout #order_review_heading { padding: 24px 24px 0; } }

/* Campos */
.woocommerce-checkout .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce-checkout .form-row label { font-size: .9rem; font-weight: 600; margin-bottom: 6px; display: block; }
.woocommerce-checkout .form-row .required { color: #d93025; text-decoration: none; }
.woocommerce-checkout .form-row input.input-text {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	font-size: 16px; /* evita zoom automático no iPhone */
	border: 1px solid #c9ced4;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}
.woocommerce-checkout .form-row input.input-text:focus {
	outline: none;
	border-color: var(--rc-primaria);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--rc-primaria) 25%, transparent);
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text { border-color: #d93025; }
@media (max-width: 599px) {
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: 100% !important; float: none !important; }
}
@media (min-width: 600px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; }
	.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { width: auto !important; float: none !important; }
}

/* Resumo do pedido */
.woocommerce-checkout table.shop_table {
	border: 0;
	margin: 0 0 16px;
	width: 100%;
	border-collapse: collapse;
	font-size: .95rem;
}
.woocommerce-checkout table.shop_table thead { display: none; }
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	border: 0;
	border-bottom: 1px solid var(--rc-borda);
	padding: 12px 0;
	background: none;
	vertical-align: middle;
}
.woocommerce-checkout table.shop_table td.product-total,
.woocommerce-checkout table.shop_table tfoot td { text-align: right; white-space: nowrap; }
.woocommerce-checkout table.shop_table tfoot th { font-weight: 400; color: var(--rc-texto2); text-align: left; }
.woocommerce-checkout table.shop_table tr.order-total th,
.woocommerce-checkout table.shop_table tr.order-total td { border-bottom: 0; font-size: 1.15rem; font-weight: 800; color: var(--wp--preset--color--contrast); }
.rc-item { display: flex; align-items: center; gap: 12px; }
.rc-item img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; flex: 0 0 48px; }
.woocommerce-checkout .product-quantity { color: var(--rc-texto2); font-weight: 400; }

/* Pagamento */
.woocommerce-checkout #payment { background: none; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0 0 12px; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid var(--rc-borda);
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 8px;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--rc-primaria); background: color-mix(in srgb, var(--rc-primaria) 6%, #fff); }
.woocommerce-checkout #payment div.payment_box { background: var(--rc-suave); border-radius: 6px; margin: 10px 0 0; font-size: .9rem; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row { padding: 0 !important; }
.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 54px;
	font-size: 1.15rem;
	font-weight: 700;
	background: var(--rc-botao);
	color: #fff;
	border: 0;
	border-radius: 8px;
	float: none;
}
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: .8rem; color: var(--rc-texto2); }
.rc-seguro-rodape { font-size: .85rem; color: var(--rc-texto2); text-align: center; margin: 12px 0 0; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: #fff; border: 0; border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); font-size: .9rem; }

/* Rodapé */
.rc-footer { border-top: 1px solid var(--rc-borda); background: #fff; font-size: .9rem; }
.rc-footer .wp-block-navigation { gap: 6px; }

/* Ajustes após teste no celular */
.rc-selos > * { margin: 0 !important; }
.rc-card-botao, .rc-card-botao > * { width: 100%; }
.rc-item small { display: block; color: var(--rc-texto2); font-size: .85rem; }
.rc-checkout > * { margin-top: 0 !important; }
.rc-checkout .wp-block-post-content > * { margin-top: 0; }
@media (max-width: 899px) {
	.woocommerce-checkout form.checkout { row-gap: 0; }
	.woocommerce-checkout #customer_details { margin-bottom: 16px; }
	.woocommerce-checkout #order_review_heading { box-shadow: none; }
}

/* =====================================================================
 * Refinamento visual
 * =================================================================== */

:root {
	--rc-escuro: #0F1B2D;
	--rc-sombra-hover: 0 6px 20px rgba(15, 27, 45, .10);
}

body { background: var(--rc-suave); }

/* Cabeçalho fixo, com marca destacada */
.wp-site-blocks > header:first-child { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header:first-child { top: 46px; }
@media (min-width: 783px) { .admin-bar .wp-site-blocks > header:first-child { top: 32px; } }
.rc-header { box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }
.rc-logo a { display: inline-flex; align-items: center; gap: 8px; letter-spacing: -.02em; text-decoration: none !important; }
.rc-logo a::before {
	content: "";
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009EE3' d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.rc-header-link a {
	display: inline-block;
	padding: 6px 14px;
	border: 1.5px solid rgba(255, 255, 255, .7);
	border-radius: 99px;
	text-decoration: none !important;
}
.rc-header-link a:hover { background: rgba(255, 255, 255, .15); }

/* Banner: conteúdo alinhado à esquerda, com detalhe decorativo */
.rc-banner { position: relative; overflow: hidden; }
.rc-banner > * { position: relative; z-index: 1; max-width: 620px !important; margin-left: 0 !important; margin-right: auto !important; }
.rc-banner::before,
.rc-banner::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	pointer-events: none;
}
.rc-banner::before { width: 260px; height: 260px; right: -80px; top: -90px; }
.rc-banner::after { width: 180px; height: 180px; right: 60px; bottom: -110px; background: rgba(255, 255, 255, .06); }
.rc-banner h1 { font-size: clamp(1.75rem, 6vw, 2.75rem); letter-spacing: -.02em; }
.rc-btn-banner .wp-block-button__link { box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }

/* Selos: cartões brancos */
.rc-selo { background: #fff; box-shadow: var(--rc-sombra); }

/* Título de seção com marcador */
.rc-titulo-vitrine { display: flex; align-items: center; gap: 10px; }
.rc-titulo-vitrine::before { content: ""; width: 5px; height: 1.1em; border-radius: 3px; background: var(--rc-primaria); }

/* Cards de produto */
.rc-vitrine .wc-block-product { border-color: transparent; transition: transform .15s, box-shadow .15s; }
@media (hover: hover) {
	.rc-vitrine .wc-block-product:hover { transform: translateY(-3px); box-shadow: var(--rc-sombra-hover); }
}
.rc-vitrine .wc-block-components-product-image img { background: var(--rc-suave); }
.rc-card-titulo { min-height: 2.6em; }
.rc-card-preco { font-size: 1.25rem !important; }
.rc-card-botao { display: flex !important; flex-direction: column; align-items: stretch !important; }
.rc-card-botao .wp-block-button__link { display: flex; align-items: center; border-radius: 8px !important; }
.home main { padding-bottom: 40px; }

/* Página de produto: área de compra em cartão */
.rc-produto .woocommerce-product-gallery { background: #fff; border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); padding: 8px; }
.rc-produto-compra {
	background: #fff;
	border-radius: var(--rc-raio);
	box-shadow: var(--rc-sombra);
	padding: 20px 16px !important;
	align-self: flex-start;
}
@media (min-width: 782px) {
	.rc-produto-compra { padding: 28px !important; position: sticky; top: 90px; }
}
.rc-preco-destaque { position: relative; }
.rc-produto-compra .wp-block-post-excerpt { color: var(--rc-texto2); }
.rc-garantia { text-align: center; }
.rc-detalhes {
	background: #fff;
	border-radius: var(--rc-raio);
	box-shadow: var(--rc-sombra);
	padding: 20px 16px !important;
}
.rc-detalhes h2 { font-size: 1.2rem; margin-top: 0; }

/* Páginas institucionais: texto em cartão branco */
body.page:not(.home):not(.woocommerce-page) main { padding-top: 24px; padding-bottom: 40px; }
body.page:not(.home):not(.woocommerce-page) main > .wp-block-group {
	background: #fff;
	border-radius: var(--rc-raio);
	box-shadow: var(--rc-sombra);
	max-width: 760px;
	margin: 0 auto !important;
	padding: 28px 20px !important;
}
@media (min-width: 600px) {
	body.page:not(.home):not(.woocommerce-page) main > .wp-block-group { padding: 40px 48px !important; }
}
body.page:not(.home):not(.woocommerce-page) main .wp-block-post-title {
	font-size: clamp(1.6rem, 6vw, 2.2rem);
	margin-top: 0;
	padding-bottom: 14px;
	border-bottom: 3px solid var(--rc-primaria);
	display: inline-block;
}
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content { padding-left: 0 !important; padding-right: 0 !important; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content h2 { font-size: 1.2rem; margin-top: 1.8em; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content p,
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content li { color: #3A4048; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content ul,
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content ol { padding-left: 1.2em; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content li { margin-bottom: .4em; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content li::marker { color: var(--rc-primaria); font-weight: 700; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content a { text-decoration: underline; text-underline-offset: 2px; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content .wp-block-button__link { text-decoration: none; }

/* Rodapé escuro */
.rc-footer { background: var(--rc-escuro); color: #C9D1DC; border-top: 0; }
.rc-footer a { color: #fff; }
.rc-footer a:hover { color: #fff; text-decoration: underline; }
.rc-footer .wp-block-site-title a { font-size: 1.2rem; font-weight: 800; }
.rc-footer .wp-block-navigation a { color: #C9D1DC; }
.rc-footer .wp-block-navigation a:hover { color: #fff; }
.rc-footer > p:last-child { border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 16px; font-size: .8rem; color: #8B96A5; }
@media (max-width: 599px) {
	.rc-footer .wp-block-navigation__container { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px 16px !important; }
}

/* Checkout: cupom discreto */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border: 1px dashed var(--rc-borda) !important; box-shadow: none; }
body.page:not(.home):not(.woocommerce-page) .wp-block-post-content.alignfull { margin-left: 0 !important; margin-right: 0 !important; }
.rc-detalhes { box-sizing: border-box; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 600px) { .rc-detalhes { padding: 24px 28px !important; } }
.rc-produto .woocommerce-product-gallery { box-sizing: border-box; max-width: 100%; }
