/*
Theme Name: Tereré com TCG
Description: Tema da loja Tereré com TCG (filho do Twenty Twenty-Five).
Template: twentytwentyfive
Version: 1.3.2
Text Domain: terere-tema
*/

:root {
	--terere-tinta: var(--wp--preset--color--contrast);
	--terere-amarelo: var(--wp--preset--color--accent-1);
	--terere-roxo: var(--wp--preset--color--accent-3);
	--terere-linha: 1px solid var(--wp--preset--color--accent-6);
}

/* Topo e rodapé: brancos, separados por uma linha roxa fina */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; background: #fff; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 0; position: static; } }
.terere-topo { border-bottom: var(--terere-linha); gap: 18px; }
.terere-rodape { border-top: var(--terere-linha); color: var(--wp--preset--color--accent-4); }
.terere-logo { flex: 0 0 auto; }
.terere-conta { flex: 0 0 auto; }
.terere-topo .wc-block-mini-cart__button,
.terere-topo .wc-block-customer-account__account-icon { color: var(--terere-tinta); }

/* Menu de tipos de produto */
.terere-tipos {
	display: flex; flex: 1 1 auto; min-width: 0; gap: 8px; overflow-x: auto; padding: 4px 2px;
	scrollbar-width: thin;
}
.terere-tipos a {
	flex: 0 0 auto; padding: 6px 14px; border-radius: 999px; border: var(--terere-linha);
	color: var(--terere-tinta); text-decoration: none; font-weight: 700; font-size: .92rem; white-space: nowrap;
}
.terere-tipos a:hover, .terere-tipos a:focus-visible { background: var(--terere-amarelo); border-color: var(--terere-tinta); }

/* Vitrines */
.terere-vitrine section { scroll-margin-top: 120px; margin-bottom: var(--wp--preset--spacing--50); }
.terere-vitrine h2 { margin-bottom: 14px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Cartões de produto: brancos, com borda roxa fina */
.woocommerce ul.products li.product,
.wc-block-product {
	box-sizing: border-box;
	background: #fff;
	border: var(--terere-linha);
	border-radius: 12px;
	padding: 14px;
}
.woocommerce ul.products li.product:hover { border-color: var(--terere-roxo); }
.woocommerce ul.products li.product img,
.wc-block-product img { border-radius: 8px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--terere-tinta); }
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.wc-block-components-product-price { color: var(--terere-tinta); font-weight: 800; }

/* Botões: amarelos com texto escuro; invertem ao passar o mouse */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--terere-amarelo);
	color: var(--terere-tinta);
	border: 1px solid var(--terere-tinta);
	border-radius: 999px;
	font-weight: 800;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible {
	background: var(--terere-tinta);
	color: var(--terere-amarelo);
}
/* Botão dos cartões de produto: igual na home, nas páginas de tipo e na busca */
a.terere-escolher,
.woocommerce ul.products li.product a.button,
.wc-block-product a.button,
.wc-block-product .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button {
	display: block; box-sizing: border-box; width: 100%; margin: 12px 0 0;
	padding: 10px 14px; text-align: center; text-decoration: none;
	font-size: .95rem; line-height: 1.25; font-weight: 800;
	background: var(--terere-amarelo); color: var(--terere-tinta);
	border: 1px solid var(--terere-tinta); border-radius: 999px;
}
a.terere-escolher:hover, a.terere-escolher:focus-visible,
.wc-block-product a.button:hover, .wc-block-product .wp-block-button__link:hover,
.wc-block-product .wc-block-components-product-button__button:hover {
	background: var(--terere-tinta); color: var(--terere-amarelo);
}
/* Cartões das páginas de tipo com o mesmo alinhamento da home */
.wc-block-product { text-align: left; }
.wc-block-product h2, .wc-block-product h3, .wc-block-product .wp-block-post-title { font-size: 1.05rem; line-height: 1.3; margin: 12px 0 4px; text-align: left; }
.wc-block-product .wp-block-post-title a { color: var(--terere-tinta); text-decoration: none; }
.wc-block-product .wc-block-components-product-price, .wc-block-product .price { text-align: left; font-size: 1rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; line-height: 1.3; }
.woocommerce span.onsale { background: var(--terere-tinta); color: var(--terere-amarelo); }

/* Campos de formulário */
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.woocommerce .quantity .qty {
	background: #fff; color: var(--terere-tinta); border: var(--terere-linha); border-radius: 8px; padding: 8px 10px;
}
.woocommerce input.input-text:focus, .woocommerce textarea:focus, .woocommerce select:focus {
	border-color: var(--terere-roxo); outline: 2px solid var(--terere-amarelo); outline-offset: 1px;
}

/* Caixa "lacrado ou live" do plugin */
.terere-modo { border: var(--terere-linha) !important; background: #fff; }
.terere-modo legend { color: var(--terere-tinta); }
.terere-modo input { accent-color: var(--terere-roxo); }

/* Mascote na página inicial */
.terere-heroi img { border-radius: 16px; border: var(--terere-linha); }

/* Botões flutuantes: "Como funciona a live" e WhatsApp */
.terere-flutuante {
	position: fixed; right: 18px; bottom: 18px; z-index: 60; transition: bottom .25s ease;
	display: flex; align-items: center; gap: 10px;
}
.terere-flutuante a, .terere-flutuante button { text-decoration: none; box-shadow: 0 4px 14px rgba(28, 11, 29, .22); }
.terere-flutuante button { cursor: pointer; font-family: inherit; }
.terere-flutuante .terere-como {
	background: var(--terere-amarelo); color: var(--terere-tinta); border: 1px solid var(--terere-tinta);
	font-weight: 800; font-size: 14px; line-height: 1; padding: 13px 18px; border-radius: 999px;
}
.terere-flutuante .terere-como:hover, .terere-flutuante .terere-como:focus-visible { background: var(--terere-tinta); color: var(--terere-amarelo); }
.terere-flutuante .terere-wpp {
	width: 52px; height: 52px; border-radius: 50%; background: #25d366; color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.terere-flutuante .terere-wpp:hover, .terere-flutuante .terere-wpp:focus-visible { background: #1da851; }
@media (max-width: 600px) {
	.terere-flutuante { right: 12px; bottom: 12px; }
	.terere-flutuante .terere-como { font-size: 13px; padding: 11px 14px; }
}

/* Balão "Como funciona a live": abre acima do botão flutuante */
.terere-como-painel {
	position: fixed; inset: auto 18px 84px auto; margin: 0;
	width: min(340px, calc(100vw - 36px));
	background: #fff; color: var(--terere-tinta);
	border: 1px solid var(--terere-roxo); border-radius: 14px;
	padding: 16px 18px; font-size: 14px; line-height: 1.45;
	box-shadow: 0 10px 30px rgba(28, 11, 29, .25);
}
.terere-como-painel .terere-como-titulo { margin: 0 0 8px; font-weight: 800; font-size: 15px; }
.terere-como-painel ol { margin: 0 0 10px; padding-left: 1.2em; }
.terere-como-painel li { margin: 0 0 4px; }
.terere-como-painel .terere-como-nota { margin: 0; color: var(--wp--preset--color--accent-4); font-size: 13px; }
@media (max-width: 600px) { .terere-como-painel { inset: auto 12px 74px auto; } }

/* Agenda de lives na página inicial */
.terere-agenda { border: var(--terere-linha); border-radius: 12px; padding: 16px 20px; margin-bottom: var(--wp--preset--spacing--50); }
.terere-agenda h2 { margin: 0 0 10px; font-size: 1.25rem; }
.terere-agenda ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 28px; }
.terere-agenda li { margin: 0; }
.terere-agenda li strong { margin-right: 6px; }
.terere-agenda li em { font-style: normal; color: var(--wp--preset--color--accent-4); margin-left: 6px; }
.terere-qual-live select { background: #fff; color: var(--terere-tinta); border: var(--terere-linha); border-radius: 8px; padding: 8px 10px; }

.wc-block-product .wc-block-components-product-button, .wc-block-product .wp-block-button { width: 100%; margin: 0; }

/* Chat da Sofia */
.terere-flutuante button.terere-wpp { border: 0; padding: 0; }
.terere-sofia {
	position: fixed; inset: auto 18px 84px auto; margin: 0; padding: 0;
	width: min(360px, calc(100vw - 24px)); max-height: min(560px, calc(100vh - 110px));
	background: #fff; color: var(--terere-tinta);
	border: 1px solid var(--terere-roxo); border-radius: 14px; overflow: hidden;
	box-shadow: 0 10px 30px rgba(28, 11, 29, .25); font-size: 14px; line-height: 1.45;
}
.terere-sofia:popover-open { display: flex; flex-direction: column; }
.terere-sofia header { padding: 12px 16px; border-bottom: var(--terere-linha); }
.terere-sofia header strong { display: block; font-size: 16px; }
.terere-sofia header span { color: var(--wp--preset--color--accent-4); font-size: 12.5px; }
.terere-sofia-msgs { flex: 1 1 auto; min-height: 180px; overflow-y: auto; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.terere-sofia-msgs p { margin: 0; padding: 8px 12px; border-radius: 12px; max-width: 86%; white-space: pre-line; overflow-wrap: anywhere; }
.terere-sofia-ela { align-self: flex-start; background: #f4f1f6; }
.terere-sofia-eu { align-self: flex-end; background: var(--terere-amarelo); }
.terere-sofia-espera { color: var(--wp--preset--color--accent-4); font-style: italic; }
.terere-sofia-ela a { color: var(--terere-roxo); font-weight: 700; }
.terere-sofia-form { display: flex; gap: 8px; padding: 10px 12px; border-top: var(--terere-linha); }
.terere-sofia-form input { flex: 1 1 auto; min-width: 0; border: var(--terere-linha); border-radius: 999px; padding: 9px 14px; font: inherit; color: inherit; background: #fff; }
.terere-sofia-form input:focus { outline: 2px solid var(--terere-amarelo); border-color: var(--terere-roxo); }
.terere-sofia-form button { border: 1px solid var(--terere-tinta); background: var(--terere-amarelo); color: var(--terere-tinta); border-radius: 999px; padding: 9px 16px; font: inherit; font-weight: 800; cursor: pointer; box-shadow: none; }
.terere-sofia-form button:disabled { opacity: .55; cursor: default; }
.terere-sofia-rodape { margin: 0; padding: 0 14px 12px; font-size: 12px; color: var(--wp--preset--color--accent-4); }
.terere-sofia-rodape a { color: var(--terere-roxo); }
@media (max-width: 600px) { .terere-sofia { inset: auto 12px 74px auto; } }

.terere-flutuante .terere-sofia a { box-shadow: none; }
.terere-sofia header strong { font-weight: 800; }

.terere-flutuante .terere-sofia a.terere-sofia-botao {
	display: block; margin: 8px 0 0; padding: 8px 12px; text-align: center; text-decoration: none;
	background: var(--terere-amarelo); color: var(--terere-tinta); border: 1px solid var(--terere-tinta);
	border-radius: 999px; font-weight: 800; font-size: 13.5px; white-space: normal;
}
.terere-flutuante .terere-sofia a.terere-sofia-botao:hover, .terere-flutuante .terere-sofia a.terere-sofia-botao:focus-visible { background: var(--terere-tinta); color: var(--terere-amarelo); }

/* Faixa de aviso do topo: fundo roxo com o texto deslizando */
.terere-faixa { background: var(--terere-roxo); color: #fff; overflow: hidden; font-size: 13.5px; font-weight: 700; line-height: 1; }
.terere-faixa-trilho { display: flex; width: max-content; padding: 9px 0; animation: terere-desliza 40s linear infinite; }
.terere-faixa-trilho span { padding: 0 34px; white-space: nowrap; min-width: 50vw; box-sizing: border-box; text-align: center; }
@media (max-width: 700px) { .terere-faixa-trilho span { min-width: 100vw; } }
.terere-faixa:hover .terere-faixa-trilho { animation-play-state: paused; }
@keyframes terere-desliza { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.terere-faixa-trilho { animation: none; width: 100%; justify-content: center; }
	.terere-faixa-trilho span:not(:first-child) { display: none; }
}

/* Banners rotativos da home */
.terere-banners { position: relative; width: 100vw; max-width: none; margin: 0 0 var(--wp--preset--spacing--40) calc(50% - 50vw); overflow: hidden; background: var(--terere-tinta); }
body { overflow-x: clip; }
.terere-banners-trilho { display: flex; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.terere-banners-trilho::-webkit-scrollbar { display: none; }
.terere-banner { flex: 0 0 100%; scroll-snap-align: start; margin: 0; }
.terere-banner a { display: block; }
.terere-banner { position: relative; overflow: hidden; }
.terere-banner picture { display: block; }
.terere-banner img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 520; max-height: 560px; object-fit: cover; }
.terere-banner.tem-texto::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(28, 11, 29, .9) 0%, rgba(28, 11, 29, .62) 40%, rgba(28, 11, 29, 0) 70%); }
.terere-banner-texto { position: absolute; inset: 0 auto 0 0; z-index: 2; box-sizing: border-box; width: min(60%, 720px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; padding: 24px clamp(20px, 6vw, 96px) 34px; color: #fff; }
.terere-banner-texto h2 { margin: 0; color: var(--terere-amarelo); font-size: clamp(1.6rem, 3.8vw, 3.3rem); line-height: 1.04; font-weight: 800; letter-spacing: -.01em; text-wrap: balance; }
.terere-banner-texto p { margin: 0; max-width: 38ch; font-size: clamp(.95rem, 1.35vw, 1.25rem); line-height: 1.4; color: #fff; }
.terere-banner-selo { padding: 5px 12px; border-radius: 999px; background: var(--terere-amarelo); color: var(--terere-tinta); font-size: .78rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.terere-banner-botao { margin-top: 6px; padding: 12px 26px; border-radius: 999px; border: 1px solid var(--terere-amarelo); background: var(--terere-amarelo); color: var(--terere-tinta); font-weight: 800; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.terere-banner-botao:hover, .terere-banner-botao:focus-visible { background: transparent; color: var(--terere-amarelo); }
.terere-banner.tem-texto ~ .terere-banners-pontos button, .terere-banners:has(.tem-texto) .terere-banners-pontos button { border-color: #fff; background: transparent; }
.terere-banners:has(.tem-texto) .terere-banners-pontos button[aria-current="true"] { background: var(--terere-amarelo); border-color: var(--terere-amarelo); }
@media (max-width: 700px) {
	.terere-banner.tem-texto img, .terere-banner.tem-celular img { aspect-ratio: auto; height: min(112vw, 480px); max-height: none; object-position: 82% center; }
	.terere-banner.tem-celular img { object-position: center top; }
	.terere-banner.tem-texto::before { background: linear-gradient(0deg, rgba(28, 11, 29, .95) 0%, rgba(28, 11, 29, .78) 36%, rgba(28, 11, 29, 0) 68%); }
	.terere-banner-texto { inset: auto 0 0 0; width: 100%; justify-content: flex-end; gap: 10px; padding: 20px 20px 40px; }
	.terere-banner-texto h2 { font-size: clamp(1.6rem, 7.4vw, 2.1rem); }
}
.terere-banners-seta { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--terere-tinta); background: #fff; color: var(--terere-tinta); font-size: 24px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 3px; }
.terere-banners-seta:hover, .terere-banners-seta:focus-visible { background: var(--terere-amarelo); }
.terere-banners-ant { left: 12px; } .terere-banners-prox { right: 12px; }
.terere-banners-pontos { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 8px; }
.terere-banners-pontos button { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 1px solid var(--terere-tinta); background: #fff; cursor: pointer; }
.terere-banners-pontos button[aria-current="true"] { background: var(--terere-amarelo); width: 26px; border-radius: 999px; }
@media (max-width: 900px) { .terere-banners-seta { display: none; } }

/* Página de produto */
.terere-produto-colunas { gap: clamp(20px, 4vw, 56px); margin-top: 8px; }
.terere-produto-galeria .woocommerce-product-gallery { width: 100%; float: none; margin: 0; }
.terere-produto-galeria .woocommerce-product-gallery__wrapper { border-radius: 16px; overflow: hidden; }
@media (min-width: 600px) { .terere-produto-galeria { position: sticky; top: 104px; align-self: flex-start; } }
.terere-produto-compra h1 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.15; margin: 0 0 8px; }
.terere-produto-compra .wp-block-woocommerce-product-price { margin: 0; }
.terere-produto-compra .wp-block-post-excerpt { margin: 0 0 16px; color: #4a3a4c; font-size: 1rem; line-height: 1.55; }
.terere-produto-compra .wp-block-post-excerpt p { font-size: inherit; margin: 0; }
.terere-produto-compra .stock { font-size: .92rem; margin: 0 0 14px; }
.terere-sanfona summary { font-size: 1rem; }
.terere-nota { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: .9rem; color: var(--terere-tinta); text-decoration: none; }
.terere-nota:hover span { text-decoration: underline; }
.terere-nota .star-rating { margin: 0; float: none; color: #e0a800; }
.terere-parcelas { margin: 2px 0 14px; font-size: .95rem; color: #5c4a5e; }

fieldset.terere-modo, .wc-block-add-to-cart-form fieldset.terere-modo { margin: 0 0 16px; padding: 0 !important; border: 0 !important; min-width: 0; font-size: 1rem; }
.terere-modo legend { padding: 0; margin-bottom: 8px; font-weight: 700; font-size: 1rem; }
.terere-modo-opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.terere-modo-op { position: relative; display: block; padding: 12px 14px; border: var(--terere-linha); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, transform .15s ease; }
.terere-modo-op:hover { border-color: var(--terere-roxo); }
.terere-modo-op:active { transform: scale(.985); }
.terere-modo-op input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.terere-modo-op:has(input:checked) { border-color: var(--terere-roxo); box-shadow: inset 0 0 0 1px var(--terere-roxo); background: #faf6fc; }
.terere-modo-op:has(input:focus-visible) { outline: 2px solid var(--terere-roxo); outline-offset: 2px; }
.terere-modo-op:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.terere-modo-op:has(input:disabled) input { cursor: not-allowed; }
.terere-modo-t { display: block; font-weight: 700; font-size: 1rem; line-height: 1.3; }
.terere-modo-d { display: block; margin-top: 2px; font-size: .82rem; line-height: 1.35; color: #5c4a5e; }
.terere-qual-live, .terere-aceite { margin-top: 12px; font-size: .92rem; line-height: 1.45; }
.terere-qual-live select { display: block; width: 100%; margin-top: 4px; padding: 10px 12px; border: var(--terere-linha); border-radius: 10px; background: #fff; font: inherit; }
@media (max-width: 420px) { .terere-modo-opcoes { grid-template-columns: 1fr; } }

.terere-selos { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 7px; font-size: .92rem; }
.terere-selos li { position: relative; padding-left: 24px; }
.terere-selos li::before { content: ""; position: absolute; left: 2px; top: .38em; width: 12px; height: 6px; border-left: 2px solid var(--terere-roxo); border-bottom: 2px solid var(--terere-roxo); transform: rotate(-45deg); }

.terere-sanfona { margin-top: 8px; border-bottom: var(--terere-linha); }
.terere-sanfona details { border-top: var(--terere-linha); }
.terere-sanfona summary { position: relative; padding: 14px 32px 14px 0; font-weight: 700; cursor: pointer; list-style: none; }
.terere-sanfona summary::-webkit-details-marker { display: none; }
.terere-sanfona summary::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font-size: 1.35rem; font-weight: 400; line-height: 1; }
.terere-sanfona details[open] summary::after { content: "\2212"; }
.terere-sanfona summary:focus-visible { outline: 2px solid var(--terere-roxo); outline-offset: 2px; }
.terere-sanfona-corpo { padding: 0 0 16px; font-size: .95rem; line-height: 1.6; }
.terere-sanfona-corpo > :first-child { margin-top: 0; }
.terere-sanfona-corpo > :last-child { margin-bottom: 0; }
.terere-sanfona-corpo table { width: 100%; border-collapse: collapse; margin: 0; }
.terere-sanfona-corpo th, .terere-sanfona-corpo td { padding: 8px 0; text-align: left; border-bottom: 1px solid #efe9f1; font-style: normal; }
.terere-sanfona-corpo th { width: 40%; font-weight: 600; }
.terere-sanfona-corpo td p { margin: 0; }

.terere-avaliacoes, .terere-sugestoes { margin-top: var(--wp--preset--spacing--60); }
.terere-avaliacoes h2, .terere-sugestoes h2 { font-size: 1.4rem; margin: 0 0 14px; }
.terere-dist { display: grid; gap: 5px; max-width: 380px; margin: 0 0 18px; font-size: .9rem; }
.terere-dist-linha { display: grid; grid-template-columns: 34px 1fr 28px; align-items: center; gap: 10px; }
.terere-dist-barra { height: 8px; border-radius: 99px; background: #efe9f1; overflow: hidden; }
.terere-dist-barra i { display: block; height: 100%; background: var(--terere-amarelo); border-radius: 99px; }

.terere-aviseme { margin: 0 0 16px; padding: 16px; border: var(--terere-linha); border-radius: 12px; display: grid; gap: 8px; }
.terere-aviseme-linha { display: flex; gap: 8px; flex-wrap: wrap; }
.terere-aviseme input { flex: 1 1 180px; min-width: 0; padding: 11px 12px; border: var(--terere-linha); border-radius: 10px; font: inherit; }
.terere-aviseme button, .terere-barra-botao { padding: 11px 22px; border: 1px solid var(--terere-tinta); border-radius: 999px; background: var(--terere-amarelo); color: var(--terere-tinta); font: inherit; font-weight: 800; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.terere-aviseme button:hover, .terere-aviseme button:focus-visible, .terere-barra-botao:hover, .terere-barra-botao:focus-visible { background: var(--terere-tinta); color: var(--terere-amarelo); }
.terere-aviseme small { color: #5c4a5e; }
.terere-aviseme-msg { margin: 0; font-weight: 600; }
.terere-aviseme-msg:empty { display: none; }

.terere-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: flex; align-items: center; gap: 12px; padding: 10px 18px; background: #fff; border-top: var(--terere-linha); box-shadow: 0 -6px 20px rgba(28, 11, 29, .08); transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility .25s; }
.terere-barra.is-on { transform: none; visibility: visible; }
.terere-barra img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.terere-barra-info { flex: 1; min-width: 0; line-height: 1.3; font-size: .95rem; }
.terere-barra-info strong { display: block; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.terere-barra-info span { font-weight: 800; }
body.terere-barra-on .terere-flutuante { bottom: 84px; }
@media (prefers-reduced-motion: reduce) { .terere-barra, .terere-flutuante, .terere-modo-op { transition: none; } }

/* Cabeçalho em telas menores: logo e ícones na primeira linha, tipos de produto em uma faixa rolável na segunda */
@media (max-width: 1100px) {
	.terere-topo { flex-wrap: wrap !important; row-gap: 8px; column-gap: 12px; padding-left: 16px !important; padding-right: 16px !important; }
	.terere-topo .terere-logo { order: 1; }
	.terere-topo .terere-conta { order: 2; margin-left: auto; }
	.terere-topo .terere-tipos { order: 3; flex: 0 0 100%; margin: 0 -16px; padding: 2px 16px 6px; scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
	.terere-topo .terere-tipos::-webkit-scrollbar { display: none; }
	.terere-topo .terere-tipos a { scroll-snap-align: start; }
}
@media (max-width: 600px) {
	.terere-topo .terere-logo img { height: 46px !important; }
	.terere-topo { padding-top: 8px !important; padding-bottom: 6px !important; }
	.terere-topo .terere-tipos a { padding: 6px 12px; font-size: .86rem; }
}

/* Celular: botões dos cartões mais compactos, ajuda vira um botão redondo e a simulação de frete não estoura a tela */
@media (max-width: 600px) {
	.woocommerce ul.products li.product a.button { padding: 9px 8px; font-size: .8rem; line-height: 1.2; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; }
	.woocommerce ul.products li.product, .wc-block-product { padding: 10px; }
	.terere-flutuante { right: 12px; bottom: 12px; gap: 8px; }
	.terere-flutuante .terere-como { width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 0; display: inline-flex; align-items: center; justify-content: center; }
	.terere-flutuante .terere-como::before { content: "?"; font-size: 1.25rem; font-weight: 800; line-height: 1; }
	body.terere-barra-on .terere-flutuante { bottom: 76px; }
	.terere-barra { padding: 8px 12px; gap: 10px; }
	.terere-barra-botao { padding: 10px 18px; }
}
.terere-produto-compra .containerCalculator, .terere-produto-compra .containerCalculator * { max-width: 100%; box-sizing: border-box; }
.terere-produto-compra .containerCalculator { width: 100%; margin: 0 0 16px; border-radius: 12px; }
.terere-produto-compra { min-width: 0; }

/* Tablet em pé: produto continua em duas colunas */
@media (min-width: 600px) and (max-width: 781px) {
	.terere-produto-colunas { flex-wrap: nowrap !important; gap: 24px; }
	.terere-produto-colunas > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; min-width: 0; }
}
.terere-produto-galeria .wp-block-woocommerce-product-image-gallery { max-width: none; width: 100%; }
/* Carrinho e checkout no celular: só o botão do chat, menor, para não cobrir o botão de finalizar */
@media (max-width: 600px) {
	.woocommerce-cart .terere-flutuante .terere-como, .woocommerce-checkout .terere-flutuante .terere-como { display: none; }
	.woocommerce-cart .terere-flutuante .terere-wpp, .woocommerce-checkout .terere-flutuante .terere-wpp,
	.woocommerce-cart .terere-flutuante .terere-sofia-abrir, .woocommerce-checkout .terere-flutuante .terere-sofia-abrir { width: 44px; height: 44px; }
	.woocommerce-cart main, .woocommerce-checkout main { padding-bottom: 64px; }
}

/* Faixa de confiança da home */
.terere-confianca { list-style: none; margin: 0 0 var(--wp--preset--spacing--50); padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border: var(--terere-linha); border-radius: 12px; overflow: hidden; }
.terere-confianca li { margin: 0; padding: 14px 18px; border-left: var(--terere-linha); }
.terere-confianca li:first-child { border-left: 0; }
.terere-confianca strong { display: block; font-size: .95rem; }
.terere-confianca span { display: block; margin-top: 2px; font-size: .84rem; color: #5c4a5e; }
@media (max-width: 900px) { .terere-confianca { grid-template-columns: 1fr 1fr; } .terere-confianca li:nth-child(odd) { border-left: 0; } .terere-confianca li:nth-child(n+3) { border-top: var(--terere-linha); } }
@media (max-width: 420px) { .terere-confianca li { padding: 12px; } }

/* Agenda de lives: contagem e destaque ao vivo */
.terere-agenda-conta { display: inline-block; margin-left: 8px; padding: 3px 10px; border-radius: 999px; background: #f3ecf6; color: var(--terere-roxo); font-size: .8rem; font-weight: 800; }
.terere-agenda li.ao-vivo .terere-agenda-conta { background: #d92d20; color: #fff; }

/* Selos nos cartões */
.woocommerce ul.products li.product { position: relative; }
.terere-selo-card { position: absolute; top: 22px; left: 22px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: var(--terere-tinta); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .02em; }
.terere-selo-ultimas-unidades, .terere-selo-oferta { background: var(--terere-amarelo); color: var(--terere-tinta); }
.terere-selo-esgotado { background: #6b6470; }
.terere-selo-pre-venda { background: var(--terere-roxo); }
@media (max-width: 600px) { .terere-selo-card { top: 16px; left: 16px; font-size: .68rem; padding: 3px 8px; } }

/* Movimento leve: só com mouse de verdade e sem preferência por menos movimento */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.woocommerce ul.products li.product { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
	.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(28, 11, 29, .1); }
	.woocommerce ul.products li.product img { transition: transform .3s ease; }
	.woocommerce ul.products li.product:hover img { transform: scale(1.03); }
}
@media (prefers-reduced-motion: no-preference) {
	.woocommerce a.button:active, .woocommerce button.button:active, .wp-element-button:active, .terere-banner-botao:active { transform: scale(.97); }
	@supports (animation-timeline: view()) {
		.terere-banner img { animation: terere-paralaxe linear both; animation-timeline: scroll(root block); animation-range: 0 620px; }
		.terere-vitrine > section, .terere-confianca, .terere-agenda, .terere-sugestoes, .terere-avaliacoes { animation: terere-surgir linear both; animation-timeline: view(); animation-range: entry 0% entry 32%; }
	}
}
@keyframes terere-paralaxe { to { transform: translateY(46px) scale(1.05); } }
@keyframes terere-surgir { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

/* Transição suave entre páginas (navegadores que suportam) */
@media (prefers-reduced-motion: no-preference) { @view-transition { navigation: auto; } }

/* Balão "Como funciona a live" no celular */
@media (max-width: 600px) { .terere-como-painel { inset: auto 12px 68px 12px; width: auto; } }

/* Checkout: campos em largura total no celular e formulário do cartão organizado */
@media (max-width: 600px) {
	.woocommerce-checkout form .form-row, .woocommerce-checkout form .form-row-first, .woocommerce-checkout form .form-row-last { float: none !important; width: 100% !important; }
	.woocommerce-checkout form .form-row input.input-text, .woocommerce-checkout form .form-row select, .woocommerce-checkout form .form-row textarea, .woocommerce-checkout .select2-container { width: 100% !important; box-sizing: border-box; }
}
.woocommerce-checkout .payment_box { padding: 16px !important; }
.asaas-cc-form-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.asaas-cc-form-wrapper .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; grid-column: 1 / -1; }
.asaas-cc-form-wrapper .form-row.form-row-first { grid-column: 1; }
.asaas-cc-form-wrapper .form-row.form-row-last { grid-column: 2; }
.asaas-cc-form-wrapper .asaas-cc-form-field-no-margin { margin-bottom: -6px !important; }
.asaas-cc-form-wrapper label { display: block; margin: 0 0 4px; color: var(--terere-tinta) !important; font-size: .92rem; }
.asaas-cc-form-wrapper input.input-text, .asaas-cc-form-wrapper select { width: 100% !important; box-sizing: border-box; }

.terere-banners-seta, .terere-banners-pontos { z-index: 3; }

@media (max-width: 700px) { .terere-banner.tem-celular img { height: min(128vw, 600px); } }
.woocommerce-checkout .payment_box .form-row { float: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box; }
.woocommerce-checkout .payment_box .asaas-cc-form-wrapper .form-row { width: auto !important; }
.woocommerce-checkout .payment_box select, .woocommerce-checkout .payment_box input.input-text { width: 100% !important; max-width: 100%; box-sizing: border-box; }
.woocommerce-checkout .payment_box label { color: var(--terere-tinta) !important; }

.woocommerce-checkout form .form-row { box-sizing: border-box; }
.woocommerce-checkout form select.select2-hidden-accessible { width: 1px !important; }

/* Menu principal: Jogos e Coleções */
.terere-topo { position: relative; }
.terere-nav { display: flex; flex: 1 1 auto; gap: 8px; min-width: 0; }
.terere-menu { position: static; }
.terere-menu summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: var(--terere-linha); border-radius: 999px; color: var(--terere-tinta); font-weight: 700; font-size: .95rem; cursor: pointer; user-select: none; transition: background-color .15s ease, border-color .15s ease; }
.terere-menu summary::-webkit-details-marker { display: none; }
.terere-menu summary::after { content: ""; width: 7px; height: 7px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
.terere-menu[open] summary { background: var(--terere-amarelo); border-color: var(--terere-tinta); }
.terere-menu[open] summary::after { transform: rotate(-135deg); margin-top: 3px; }
.terere-menu summary:hover, .terere-menu summary:focus-visible { background: var(--terere-amarelo); border-color: var(--terere-tinta); outline: none; }
.terere-menu-painel { position: absolute; top: calc(100% + 1px); left: 0; right: 0; z-index: 70; background: #fff; border-bottom: var(--terere-linha); box-shadow: 0 18px 30px rgba(28, 11, 29, .12); padding: 22px clamp(16px, 4vw, 48px) 26px; max-height: min(70vh, 560px); overflow-y: auto; }
.terere-menu-painel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.terere-menu-painel > ul { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px 24px; }
.terere-menu-painel a { display: block; padding: 7px 0; color: var(--terere-tinta); text-decoration: none; font-size: .98rem; }
.terere-menu-painel > ul a { font-weight: 700; font-size: 1.05rem; }
.terere-menu-painel a:hover, .terere-menu-painel a:focus-visible { color: var(--terere-roxo); text-decoration: underline; }
.terere-menu-colecoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px 32px; }
.terere-menu-jogo { padding: 0 0 6px !important; margin-bottom: 6px; border-bottom: var(--terere-linha); font-weight: 800; font-size: .82rem !important; letter-spacing: .06em; text-transform: uppercase; color: var(--terere-roxo) !important; }
@media (max-width: 1100px) {
	.terere-topo .terere-nav { order: 2; flex: 0 1 auto; margin-left: auto; }
	.terere-topo .terere-conta { order: 3; margin-left: 0; }
}
@media (max-width: 600px) {
	.terere-nav { gap: 6px; }
	.terere-menu summary { padding: 8px 11px; font-size: .86rem; gap: 6px; }
	.terere-topo { column-gap: 8px !important; }
	.terere-topo .terere-logo img { height: 40px !important; }
	.terere-menu-colecoes { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
	.terere-menu-painel { padding: 16px 16px 20px; }
}

/* Página de jogo ou coleção: chips de coleções e de formatos */
.terere-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; width: 100%; clear: both; }
.terere-chips span { font-size: .85rem; font-weight: 700; color: #5c4a5e; margin-right: 2px; }
.terere-chips a { padding: 6px 14px; border: var(--terere-linha); border-radius: 999px; color: var(--terere-tinta); text-decoration: none; font-size: .9rem; font-weight: 700; }
.terere-chips a:hover, .terere-chips a:focus-visible, .terere-chips a[aria-current="true"] { background: var(--terere-amarelo); border-color: var(--terere-tinta); }
.terere-produto-colecao { margin: 0 0 6px; font-size: .82rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.terere-produto-colecao a { color: var(--terere-roxo); text-decoration: none; }
.terere-produto-colecao a:hover { text-decoration: underline; }
/* Fotos de produto com fundo transparente ou de proporções diferentes ficam inteiras no cartão */
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }

.terere-colecao { padding-top: 18px; padding-bottom: var(--wp--preset--spacing--50); }
.terere-trilha { font-size: .88rem; margin: 0 0 10px; }
.terere-colecao-titulo { margin: 0 0 14px; font-size: clamp(1.7rem, 3.2vw, 2.4rem); line-height: 1.1; }
.terere-colecao-desc { max-width: 70ch; margin: 0 0 16px; color: #4a3a4c; }
.terere-paginas { display: flex; gap: 6px; justify-content: center; margin-top: 24px; }
.terere-paginas .page-numbers { padding: 8px 14px; border: var(--terere-linha); border-radius: 999px; text-decoration: none; color: var(--terere-tinta); font-weight: 700; }
.terere-paginas .page-numbers.current { background: var(--terere-amarelo); border-color: var(--terere-tinta); }

@media (max-width: 600px) {
	.terere-topo .terere-conta { order: 2; margin-left: auto; }
	.terere-topo .terere-nav { order: 3; flex: 0 0 100%; margin-left: 0; gap: 8px; }
	.terere-topo .terere-nav .terere-menu { flex: 1 1 0; }
	.terere-topo .terere-nav .terere-menu summary { display: flex; justify-content: center; padding: 9px 12px; font-size: .92rem; }
	.terere-topo .terere-logo img { height: 44px !important; }
}

/* Menu por jogo com submenu de coleções ao passar o mouse */
.terere-nav { display: block; flex: 1 1 auto; min-width: 0; }
.terere-nav-lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; }
.terere-nav-item { position: relative; margin: 0; }
.terere-nav-jogo { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: var(--terere-linha); border-radius: 999px; color: var(--terere-tinta); font-weight: 700; font-size: .95rem; text-decoration: none; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease; }
.tem-sub > .terere-nav-jogo::after { content: ""; width: 6px; height: 6px; margin-top: -3px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.terere-nav-item:hover > .terere-nav-jogo, .terere-nav-item:focus-within > .terere-nav-jogo, .terere-nav-item.aberto > .terere-nav-jogo { background: var(--terere-amarelo); border-color: var(--terere-tinta); }
.terere-sub { position: absolute; top: 100%; left: 0; z-index: 70; min-width: 260px; padding-top: 10px; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility 0s linear .2s; }
.terere-sub ul { list-style: none; margin: 0; padding: 8px; background: #fff; border: var(--terere-linha); border-radius: 14px; box-shadow: 0 16px 34px rgba(28, 11, 29, .16); }
.terere-sub li { margin: 0; }
.terere-sub a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--terere-tinta); text-decoration: none; font-size: .95rem; white-space: nowrap; }
.terere-sub a:hover, .terere-sub a:focus-visible { background: #f6f0f8; color: var(--terere-roxo); }
.terere-sub-tudo { margin-top: 6px !important; padding-top: 6px; border-top: var(--terere-linha); }
.terere-sub-tudo a { font-weight: 800; font-size: .88rem; color: var(--terere-roxo); }
.terere-nav-item:hover > .terere-sub, .terere-nav-item:focus-within > .terere-sub, .terere-nav-item.aberto > .terere-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@media (hover: none) { .terere-nav-item:hover:not(.aberto):not(:focus-within) > .terere-sub { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .terere-sub { transition: none; } }
@media (max-width: 1000px) {
	.terere-topo .terere-conta { order: 2; margin-left: auto; }
	.terere-topo .terere-nav { order: 3; flex: 0 0 100%; margin: 0 -16px; padding: 2px 16px 4px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.terere-topo .terere-nav::-webkit-scrollbar { display: none; }
	.terere-nav-item { position: static; }
	.terere-nav-jogo { padding: 8px 13px; font-size: .88rem; }
	.terere-sub { left: 0; right: 0; min-width: 0; padding: 6px 12px 0; }
	.terere-sub a { white-space: normal; }
}
@media (min-width: 1001px) and (max-width: 1100px) { .terere-topo .terere-nav { order: 2; flex: 1 1 auto; margin-left: 0; } .terere-topo .terere-conta { order: 3; margin-left: auto; } }

@media (min-width: 601px) and (max-width: 1000px) { .terere-nav-item { position: relative; } .terere-topo .terere-nav { overflow: visible; } .terere-sub { left: 0; right: auto; min-width: 260px; padding: 10px 0 0; } }

@media (min-width: 601px) { .terere-nav-item:nth-last-child(-n+2):not(:first-child) > .terere-sub { left: auto; right: 0; } }
@media (min-width: 1001px) and (max-width: 1100px) { .terere-topo { flex-wrap: nowrap !important; } .terere-topo .terere-conta { flex: 0 0 auto; } }

/* Topo inteiro na cor de fundo do logo, com o menu adaptado para fundo escuro */
header.wp-block-template-part { background: var(--terere-tinta); }
.terere-topo, .terere-topo.has-base-background-color { background-color: var(--terere-tinta) !important; border-bottom: 0; }
.terere-topo .terere-logo img { border-radius: 0 !important; }
.terere-nav-jogo { color: #fff; border-color: rgba(255, 255, 255, .28); }
.terere-nav-item:hover > .terere-nav-jogo, .terere-nav-item:focus-within > .terere-nav-jogo, .terere-nav-item.aberto > .terere-nav-jogo { background: var(--terere-amarelo); border-color: var(--terere-amarelo); color: var(--terere-tinta); }
.terere-nav-jogo:focus-visible { outline: 2px solid var(--terere-amarelo); outline-offset: 2px; }
.terere-topo .wc-block-mini-cart__button, .terere-topo .wc-block-customer-account__account-icon, .terere-topo .wp-block-woocommerce-customer-account a { color: #fff !important; }
.terere-topo .wc-block-mini-cart__button:hover, .terere-topo .wp-block-woocommerce-customer-account a:hover { color: var(--terere-amarelo) !important; }
.terere-topo .wc-block-mini-cart__badge { background: var(--terere-amarelo) !important; color: var(--terere-tinta) !important; }

.wp-site-blocks > main { margin-top: 0 !important; }
main.wp-block-group > *:first-child,
main.wp-block-group > .screen-reader-text + * { margin-top: 0 !important; margin-block-start: 0 !important; }
