/*
Theme Name: Telepresencial Videira
Theme URI: https://telepresencialvideira.com.br
Description: Tema próprio do Telepresencial Videira. Visual moderno com as cores e imagens originais da marca; páginas em blocos nativos do WordPress, sem Elementor.
Author: Lord Studio
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: telepresencial
WC requires at least: 8.0
*/

/* ==========================================================================
   Tokens (cores originais da marca)
   ========================================================================== */
:root {
	--tp-primario: #004F6C;
	--tp-primario-escuro: #003449;
	--tp-primario-profundo: #00253A;
	--tp-secundario: #61ACE5;
	--tp-secundario-suave: #EAF4FC;
	--tp-texto: #384359;
	--tp-texto-suave: #5F6B80;
	--tp-destaque: #A0B9D9;
	--tp-amarelo: #FFD800;
	--tp-amarelo-escuro: #F2C400;
	--tp-verde: #008D21;
	--tp-branco: #fff;
	--tp-cinza: #F4F7FA;
	--tp-borda: #E1E8EF;

	--tp-fonte-titulo: "Noto Sans Hebrew", "Noto Sans", system-ui, sans-serif;
	--tp-fonte: "Noto Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	--tp-largura: 1200px;
	--tp-margem: 20px;
	--tp-raio: 18px;
	--tp-raio-pequeno: 12px;
	--tp-raio-botao: 999px;
	--tp-sombra: 0 1px 2px rgba(0, 40, 60, .06), 0 10px 30px rgba(0, 40, 60, .08);
	--tp-sombra-forte: 0 2px 4px rgba(0, 40, 60, .08), 0 22px 48px rgba(0, 40, 60, .16);
	--tp-secao: clamp(56px, 8vw, 96px);

	/* Simbolo da marca (esferas conectadas) como padrao grafico */
	--tp-padrao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.08' stroke-width='2'%3E%3Cpath d='M30 26L72 58L112 90L72 122L30 154'/%3E%3Ccircle cx='30' cy='26' r='11'/%3E%3Ccircle cx='72' cy='58' r='11'/%3E%3Ccircle cx='112' cy='90' r='11'/%3E%3Ccircle cx='72' cy='122' r='11'/%3E%3Ccircle cx='30' cy='154' r='11'/%3E%3C/g%3E%3C/svg%3E");
	--tp-simbolo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='96' fill='%23ffffff' fill-opacity='.05'/%3E%3Cg fill='%2361ACE5' fill-opacity='.35'%3E%3Ccircle cx='52' cy='40' r='20'/%3E%3Ccircle cx='96' cy='70' r='20'/%3E%3Ccircle cx='140' cy='100' r='20'/%3E%3Ccircle cx='96' cy='130' r='20'/%3E%3Ccircle cx='52' cy='160' r='20'/%3E%3C/g%3E%3Cpath d='M52 40L96 70L140 100L96 130L52 160' stroke='%2361ACE5' stroke-opacity='.35' stroke-width='10' fill='none'/%3E%3C/svg%3E");
}

/* Cores do WooCommerce (o padrao dele e roxo #720eec) trocadas pelas da marca */
:root {
	--woocommerce: #004F6C;
	--wc-primary: #004F6C;
	--wc-primary-text: #ffffff;
	--wc-secondary: #F4F7FA;
	--wc-secondary-text: #384359;
	--wc-highlight: #004F6C;
	--wc-highligh-text: #ffffff;
	--wc-green: #008D21;
	--wc-blue: #61ACE5;
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
	margin: 0;
	background: var(--tp-branco);
	color: var(--tp-texto);
	font: 400 17px/1.7 var(--tp-fonte);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--tp-primario); text-underline-offset: 3px; }
a:hover { color: var(--tp-secundario); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--tp-fonte-titulo);
	font-weight: 800;
	color: var(--tp-primario);
	line-height: 1.15;
	letter-spacing: -.015em;
	margin: 0 0 .55em;
	text-wrap: balance;
}
h1 { font-size: clamp(2.1rem, 5vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: -.005em; }
p { margin: 0 0 1em; }
strong { font-weight: 700; }
:focus-visible { outline: 3px solid var(--tp-secundario); outline-offset: 3px; }
::selection { background: var(--tp-amarelo); color: var(--tp-primario-profundo); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.tp-pular:focus {
	clip: auto; width: auto; height: auto; z-index: 1000; top: 8px; left: 8px;
	background: var(--tp-branco); padding: 8px 14px; border-radius: 8px;
}
.tp-container { width: 100%; max-width: calc(var(--tp-largura) + 2 * var(--tp-margem)); margin-inline: auto; padding-inline: var(--tp-margem); }
.tp-icone { width: 1em; height: 1em; flex: none; vertical-align: -.125em; }

/* Rotulo pequeno acima de titulos */
.tp-rotulo {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px;
	font: 700 .78rem/1 var(--tp-fonte); letter-spacing: .14em; text-transform: uppercase; color: var(--tp-secundario);
}
.tp-rotulo::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }

/* ==========================================================================
   Botoes: amarelo = acao principal; azul/contorno = secundaria
   ========================================================================== */
.tp-botao,
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	padding: .85em 1.7em; min-height: 48px;
	border: 2px solid var(--tp-amarelo);
	border-radius: var(--tp-raio-botao);
	background: var(--tp-amarelo);
	color: var(--tp-primario-profundo);
	font: 700 1rem/1.2 var(--tp-fonte);
	text-align: center; text-decoration: none; cursor: pointer;
	box-shadow: 0 6px 16px rgba(242, 196, 0, .28);
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s, color .18s, border-color .18s;
}
.tp-botao:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
	background: var(--tp-amarelo-escuro); border-color: var(--tp-amarelo-escuro); color: var(--tp-primario-profundo);
	transform: translateY(-2px); box-shadow: 0 10px 22px rgba(242, 196, 0, .36);
}
.tp-botao--contorno,
.is-style-outline .wp-block-button__link,
.woocommerce a.button:not(.alt), .woocommerce button.button:not(.alt) {
	background: transparent; border-color: var(--tp-primario); color: var(--tp-primario); box-shadow: none;
}
.tp-botao--contorno:hover,
.is-style-outline .wp-block-button__link:hover,
.woocommerce a.button:not(.alt):hover, .woocommerce button.button:not(.alt):hover {
	background: var(--tp-primario); border-color: var(--tp-primario); color: var(--tp-branco); box-shadow: none;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #payment #place_order {
	background: var(--tp-amarelo); border-color: var(--tp-amarelo); color: var(--tp-primario-profundo);
}
/* Estados desativados e hover dos botoes principais (o WooCommerce pinta de roxo) */
.woocommerce a.button.alt.disabled, .woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled[disabled],
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled[disabled],
.woocommerce input.button.alt.disabled, .woocommerce input.button.alt:disabled, .woocommerce input.button.alt:disabled[disabled],
.woocommerce a.button.alt.disabled:hover, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt:disabled[disabled]:hover {
	background-color: var(--tp-amarelo); border-color: var(--tp-amarelo); color: var(--tp-primario-profundo); opacity: .6; cursor: not-allowed;
	transform: none; box-shadow: none;
}
.woocommerce a.button.disabled, .woocommerce a.button:disabled, .woocommerce button.button.disabled,
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce input.button:disabled {
	background: transparent; border-color: var(--tp-borda); color: var(--tp-texto-suave); opacity: .7; cursor: not-allowed; transform: none; box-shadow: none;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background-color: var(--tp-amarelo-escuro); border-color: var(--tp-amarelo-escuro); color: var(--tp-primario-profundo);
}
.woocommerce-store-notice, p.demo_store { background-color: var(--tp-primario); color: var(--tp-branco); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background-color: var(--tp-primario); }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--tp-primario); }
.tp-botao--claro { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .35); color: var(--tp-branco); box-shadow: none; padding: .45em 1.1em; min-height: 36px; font-size: .88rem; font-weight: 600; }
.tp-botao--claro:hover { background: var(--tp-branco); border-color: var(--tp-branco); color: var(--tp-primario); box-shadow: none; transform: none; }
.wp-block-buttons { gap: 12px; }
.wp-block-buttons.is-content-justification-center, .tp-centro .wp-block-buttons { justify-content: center; }

/* Em fundos escuros, o contorno fica branco */
:is(.tp-fundo, .tp-secao--primaria, .tp-hero, .tp-chamada, .tp-atalho--destaque, .tp-pagamento-titulo) .is-style-outline .wp-block-button__link,
.tp-hero .tp-botao--contorno { border-color: rgba(255, 255, 255, .75); color: var(--tp-branco); }
:is(.tp-fundo, .tp-secao--primaria, .tp-hero, .tp-chamada, .tp-atalho--destaque) .is-style-outline .wp-block-button__link:hover,
.tp-hero .tp-botao--contorno:hover { background: var(--tp-branco); border-color: var(--tp-branco); color: var(--tp-primario); }

/* ==========================================================================
   Cabecalho
   ========================================================================== */
.tp-topo { background: var(--tp-primario-profundo); color: var(--tp-branco); font-size: .88rem; }
.tp-topo__linha { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 6px; flex-wrap: wrap; }
.tp-topo__titulo { font: 700 .82rem/1 var(--tp-fonte); letter-spacing: .12em; text-transform: uppercase; color: var(--tp-branco); text-decoration: none; opacity: .9; }
.tp-topo__titulo:hover { color: var(--tp-amarelo); opacity: 1; }
.tp-topo__acoes { display: flex; gap: 8px; flex-wrap: wrap; }

.tp-cabecalho {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255, 255, 255, .88);
	backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(0, 79, 108, .08);
	transition: box-shadow .25s;
}
.tp-rolado .tp-cabecalho { box-shadow: 0 6px 24px rgba(0, 40, 60, .10); }
.admin-bar .tp-cabecalho { top: 32px; }
@media (max-width: 782px) { .admin-bar .tp-cabecalho { top: 0; } }
.tp-cabecalho__linha { display: flex; align-items: center; gap: 24px; min-height: 84px; transition: min-height .25s; }
.tp-rolado .tp-cabecalho__linha { min-height: 66px; }
.tp-logo { display: block; flex: none; }
.tp-logo img { display: block; height: 52px; width: auto; transition: height .25s; }
.tp-rolado .tp-logo img { height: 42px; }

.tp-menu { margin-left: auto; }
.tp-menu__lista, .tp-menu__lista ul { list-style: none; margin: 0; padding: 0; }
.tp-menu__lista { display: flex; align-items: center; gap: 2px; }
.tp-menu__lista > li { position: relative; }
.tp-menu__lista a {
	display: block; padding: 10px 14px; border-radius: var(--tp-raio-botao);
	color: var(--tp-texto); font-weight: 600; font-size: .95rem; text-decoration: none; white-space: nowrap;
	transition: background-color .15s, color .15s;
}
.tp-menu__lista > li > a:hover { background: var(--tp-secundario-suave); color: var(--tp-primario); }
.tp-menu__lista > .current-menu-item > a,
.tp-menu__lista > .current-menu-ancestor > a { color: var(--tp-primario); background: var(--tp-secundario-suave); }
.tp-menu__lista .menu-item-has-children > a::after {
	content: ""; display: inline-block; margin-left: 7px; width: .42em; height: .42em;
	border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg);
}
.tp-menu__lista .sub-menu {
	position: absolute; left: 0; top: calc(100% + 8px); min-width: 260px; padding: 8px;
	background: var(--tp-branco); border-radius: var(--tp-raio-pequeno); box-shadow: var(--tp-sombra-forte); border: 1px solid var(--tp-borda);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
}
.tp-menu__lista .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.tp-menu__lista li:hover > .sub-menu,
.tp-menu__lista li:focus-within > .sub-menu,
.tp-menu__lista .tp-submenu-aberto > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.tp-menu__lista .sub-menu a { padding: 10px 14px; border-radius: 8px; }
.tp-menu__lista .sub-menu a:hover { background: var(--tp-secundario-suave); color: var(--tp-primario); }

.tp-carrinho {
	position: relative; display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
	color: var(--tp-primario); font-size: 1.35rem; background: var(--tp-secundario-suave); transition: background-color .15s;
}
.tp-carrinho:hover { background: var(--tp-primario); color: var(--tp-branco); }
.tp-carrinho__qtd {
	position: absolute; top: -3px; right: -3px; min-width: 20px; height: 20px; padding: 0 5px;
	border-radius: 10px; background: var(--tp-amarelo); color: var(--tp-primario-profundo);
	font: 800 .72rem/20px var(--tp-fonte); text-align: center; border: 2px solid var(--tp-branco);
}
.tp-carrinho__qtd[data-qtd="0"] { display: none; }

.tp-menu-botao {
	display: none; margin-left: auto; width: 46px; height: 46px; border: 0; border-radius: 50%;
	background: var(--tp-primario); color: var(--tp-branco); font-size: 1.4rem; cursor: pointer;
	place-items: center;
}
.tp-menu-botao__fechar { display: none; }

@media (max-width: 1080px) {
	.tp-menu-botao { display: inline-grid; }
	.tp-menu {
		position: fixed; inset: 0 0 0 auto; width: min(360px, 90vw); margin: 0; padding: 96px 16px 24px;
		background: var(--tp-branco); box-shadow: var(--tp-sombra-forte); overflow-y: auto;
		transform: translateX(100%); transition: transform .28s ease; z-index: 60;
	}
	.tp-menu-aberto .tp-menu { transform: none; }
	.tp-menu-aberto .tp-menu-botao { position: fixed; right: 20px; top: 20px; z-index: 70; }
	.tp-menu-aberto .tp-menu-botao__abrir { display: none; }
	.tp-menu-aberto .tp-menu-botao__fechar { display: inline; }
	.tp-menu-aberto::after { content: ""; position: fixed; inset: 0; background: rgba(0, 37, 58, .45); z-index: 55; }
	.tp-menu__lista { flex-direction: column; align-items: stretch; gap: 4px; }
	.tp-menu__lista a { white-space: normal; border-radius: var(--tp-raio-pequeno); padding: 14px 16px; font-size: 1.05rem; }
	.tp-menu__lista .sub-menu { position: static; box-shadow: none; border: 0; padding: 0 0 0 12px; opacity: 1; visibility: visible; transform: none; display: none; }
	.tp-menu__lista .tp-submenu-aberto > .sub-menu { display: block; }
	.tp-carrinho { margin-left: auto; }
	.tp-menu-botao { margin-left: 0; }
}
@media (max-width: 600px) {
	.tp-topo__linha { justify-content: center; }
	.tp-topo__titulo { display: none; }
	.tp-logo img { height: 40px; }
	.tp-cabecalho__linha { min-height: 68px; gap: 12px; }
}

/* ==========================================================================
   Rodape
   ========================================================================== */
.tp-rodape {
	background: var(--tp-primario-profundo) var(--tp-padrao);
	color: rgba(255, 255, 255, .82);
}
.tp-rodape a { color: var(--tp-branco); text-decoration: none; }
.tp-rodape a:hover { color: var(--tp-amarelo); }
.tp-rodape__colunas { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 40px; padding-block: 64px 40px; }
.tp-rodape__logo { width: 220px; margin-bottom: 20px; }
.tp-rodape__contato { font-size: .95rem; line-height: 2; }
.tp-rodape__titulo { color: var(--tp-branco); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.tp-rodape__links, .tp-rodape__redes { list-style: none; margin: 0; padding: 0; }
.tp-rodape__links li { margin-bottom: 10px; }
.tp-rodape__redes { display: flex; gap: 10px; }
.tp-rodape__redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .08); font-size: 1.25rem; transition: background-color .15s; }
.tp-rodape__redes a:hover { background: var(--tp-amarelo); color: var(--tp-primario-profundo); }
.tp-rodape__direitos { border-top: 1px solid rgba(255, 255, 255, .1); padding: 20px var(--tp-margem); text-align: center; font-size: .85rem; }
.tp-rodape__cookies { background: none; border: 0; padding: 0; color: var(--tp-branco); font: inherit; text-decoration: underline; cursor: pointer; }
.tp-rodape__cookies:hover { color: var(--tp-amarelo); }
@media (max-width: 800px) {
	.tp-rodape__colunas { grid-template-columns: 1fr; text-align: center; gap: 32px; }
	.tp-rodape__logo { margin-inline: auto; }
	.tp-rodape__redes { justify-content: center; }
}

/* ==========================================================================
   Paginas
   ========================================================================== */
.tp-pagina { padding-block: 56px 80px; }
.tp-pagina__titulo { text-align: center; margin-bottom: 36px; }
.tp-texto { max-width: 780px; margin-inline: auto; }
.tp-texto > * + h2, .tp-texto > * + h3 { margin-top: 1.6em; }
.tp-404 { text-align: center; }
.tp-404 p:last-child { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.tp-secoes > * { margin-block: 0; }
.tp-secao { padding: var(--tp-secao) var(--tp-margem); }
.tp-secao > * { max-width: var(--tp-largura); margin-inline: auto; }
.tp-secao > .wp-block-columns { margin-bottom: 0; }
.tp-secao--estreita > * { max-width: 820px; }
.tp-secao--azul-claro { background: var(--tp-secundario-suave); }
.tp-secao--cinza { background: var(--tp-cinza); }
.tp-secao--secundaria { background: linear-gradient(135deg, var(--tp-primario) 0%, #0d6f95 100%); color: var(--tp-branco); }
.tp-secao--primaria { background: var(--tp-primario) var(--tp-padrao); color: var(--tp-branco); }
.tp-secao--primaria :is(h1, h2, h3, h4, h5, h6),
.tp-secao--secundaria :is(h1, h2, h3, h4, h5, h6),
.tp-fundo :is(h1, h2, h3, h4, h5, h6) { color: var(--tp-branco); }
.tp-secao--primaria a:not(.wp-block-button__link),
.tp-secao--secundaria a:not(.wp-block-button__link),
.tp-fundo a:not(.wp-block-button__link) { color: var(--tp-amarelo); }
.tp-centro { text-align: center; }
.tp-centro .wp-block-image img { margin-inline: auto; }
.tp-titulo-secao { text-align: center; }
.tp-subtitulo { text-align: center; font-size: 1.12rem; max-width: 680px; margin-inline: auto; color: var(--tp-texto-suave); }
.tp-secao--primaria .tp-subtitulo, .tp-fundo .tp-subtitulo { color: rgba(255, 255, 255, .85); }

/* Fundos com imagem: foto original + camada azul da marca + padrao das esferas */
.tp-fundo { position: relative; background-color: var(--tp-primario); background-size: cover; background-position: center; color: var(--tp-branco); isolation: isolate; }
.tp-fundo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); pointer-events: none; }
.tp-fundo--azul { background-image: linear-gradient(135deg, rgba(0, 37, 58, .72), rgba(0, 79, 108, .55)), url(/wp-content/uploads/2024/12/Tela-Azul-Fundo-2.webp); }
.tp-fundo--cursao { background-image: linear-gradient(160deg, rgba(0, 52, 73, .15), rgba(0, 52, 73, .55)), url(/wp-content/uploads/2024/12/Fundo-Cursao-_1-scaled.webp); background-color: #5b9fd6; }
.tp-fundo--escola { background-image: linear-gradient(135deg, rgba(0, 37, 58, .88), rgba(0, 79, 108, .6)), url(/wp-content/uploads/2024/01/Imagens-Site-EAD-Videira_05.jpg); }
.tp-fundo--telepresencial { background-image: linear-gradient(135deg, rgba(0, 37, 58, .88), rgba(0, 79, 108, .55)), url(/wp-content/uploads/2024/01/Imagens-Site-EAD-Videira_04.jpg); }
.tp-fundo--citacao { background-image: linear-gradient(135deg, rgba(0, 52, 73, .92), rgba(0, 79, 108, .85)), url(/wp-content/uploads/2024/01/Imagens-Site-EAD-Videira_03.jpg); }

/* Banner de topo das paginas internas */
.tp-banner { min-height: 360px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 88px var(--tp-margem) 80px; }
.tp-banner > * { max-width: 900px; margin-inline: auto; }
.tp-banner h1, .tp-banner .tp-banner__titulo {
	font-size: clamp(2.2rem, 5.4vw, 3.8rem); font-weight: 800; margin: 0;
	animation: tp-surgir .8s ease-out both;
}
.tp-banner p { font-size: 1.15rem; opacity: .9; margin-top: 14px; }
.tp-banner .wp-block-image { margin: 28px auto 0; }
.tp-banner .wp-block-image img { max-height: 380px; width: auto; margin-inline: auto; filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .25)); }
.tp-fundo .wp-block-image img { margin-inline: auto; }
@keyframes tp-surgir { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   Sub-paginas: cabecalho padrao, numeros, secoes e componentes
   ========================================================================== */
.tp-pagina-hero {
	position: relative; isolation: isolate; overflow: hidden; color: var(--tp-branco);
	background: linear-gradient(120deg, var(--tp-primario-profundo) 0%, var(--tp-primario) 62%, #0d6f95 100%);
	padding: clamp(64px, 9vw, 112px) var(--tp-margem) clamp(72px, 9vw, 120px);
}
.tp-pagina-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-pagina-hero::after { content: ""; position: absolute; z-index: -1; right: -140px; top: -120px; width: 480px; height: 480px; background: var(--tp-simbolo) center / contain no-repeat; opacity: .55; }
.tp-pagina-hero > * { max-width: var(--tp-largura); margin-inline: auto; }
.tp-pagina-hero .wp-block-columns { align-items: center !important; gap: clamp(32px, 5vw, 64px); margin: 0; }
.tp-pagina-hero .tp-rotulo { color: var(--tp-amarelo); }
.tp-pagina-hero h1 { color: var(--tp-branco); font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.08; letter-spacing: -.02em; margin-bottom: 18px; animation: tp-surgir .7s ease-out both; }
.tp-pagina-hero .tp-pagina-hero__sub { font-size: clamp(1.05rem, 1.8vw, 1.25rem); color: rgba(255, 255, 255, .86); max-width: 600px; margin-bottom: 28px; }
.tp-pagina-hero .tp-pagina-hero__sub strong { color: var(--tp-branco); }
.tp-pagina-hero .wp-block-buttons { margin-top: 8px; }
.tp-pagina-hero .wp-block-image { margin: 0; }
.tp-pagina-hero .wp-block-image img { display: block; width: 100%; border-radius: 24px; box-shadow: 0 30px 60px rgba(0, 20, 32, .35); }
.tp-pagina-hero .tp-sem-moldura img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 24px 40px rgba(0, 20, 32, .35)); max-height: 440px; width: auto; margin-inline: auto; }
.tp-pagina-hero--compacto { text-align: center; padding-block: clamp(56px, 7vw, 88px) clamp(56px, 7vw, 80px); }
.tp-pagina-hero--compacto .tp-pagina-hero__sub { margin-inline: auto; margin-bottom: 0; }
.tp-pagina-hero--compacto h1 { margin-bottom: 14px; }
.tp-pagina-hero--compacto .wp-block-buttons { justify-content: center; margin-top: 24px; }
.tp-pagina-hero--compacto + .tp-secao { padding-top: clamp(48px, 6vw, 72px); }

/* Numeros sobrepostos ao cabecalho */
.tp-numeros-faixa { padding: 0 var(--tp-margem); position: relative; z-index: 2; }
.tp-numeros {
	max-width: var(--tp-largura); margin: -56px auto 0 !important; gap: 0 !important;
	background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra-forte); border: 1px solid var(--tp-borda); overflow: hidden;
}
.tp-numeros > .wp-block-column { padding: 30px 20px; text-align: center; border-right: 1px solid var(--tp-borda); }
.tp-numeros > .wp-block-column:last-child { border-right: 0; }
.tp-numeros p { margin: 0; color: var(--tp-texto-suave); font-size: .92rem; }
.tp-numeros .tp-numero { font: 800 clamp(1.7rem, 3.2vw, 2.4rem)/1.1 var(--tp-fonte-titulo); color: var(--tp-primario); letter-spacing: -.02em; margin-bottom: 6px; }
@media (max-width: 781px) {
	.tp-numeros { flex-wrap: wrap !important; }
	.tp-numeros > .wp-block-column { flex-basis: 50% !important; border-bottom: 1px solid var(--tp-borda); }
	.tp-numeros > .wp-block-column:nth-child(2n) { border-right: 0; }
	.tp-numeros > .wp-block-column:nth-last-child(-n+2) { border-bottom: 0; }
}

/* Cabeca de secao */
.tp-cabeca { margin-bottom: clamp(28px, 4vw, 44px) !important; }
.tp-cabeca h2 { margin-bottom: .3em; }
.tp-cabeca--centro { text-align: center; }
.tp-cabeca--centro .tp-rotulo { justify-content: center; }
.tp-cabeca--centro .tp-rotulo::after { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.tp-cabeca .tp-cabeca__sub { color: var(--tp-texto-suave); font-size: 1.1rem; max-width: 640px; margin-inline: auto; }
.tp-secao .tp-rotulo { display: flex; width: fit-content; }
.tp-cabeca--centro .tp-rotulo, .tp-centro > .tp-rotulo { margin-inline: auto; }

/* Texto + imagem lado a lado */
.tp-split { gap: clamp(32px, 6vw, 80px) !important; align-items: center !important; }
.tp-split .wp-block-image { margin: 0; }
.tp-split .wp-block-image img { display: block; width: 100%; border-radius: 24px; box-shadow: var(--tp-sombra-forte); }
.tp-split__midia--retrato .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; max-width: 420px; margin-inline: auto; background: var(--tp-secundario-suave); }
.tp-split__midia--retrato .tp-legenda { text-align: center; margin-top: 16px; font-weight: 500; color: var(--tp-texto-suave); }
.tp-split__midia--retrato .tp-legenda strong { color: var(--tp-primario); }
.tp-split--texto { align-items: flex-start !important; }
.tp-split--texto h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); }
.tp-split__lateral .tp-cards { padding: 0; }
.tp-cards--lateral { margin: 0 !important; }
.tp-cards--lateral > .wp-block-column { flex: 1 1 auto !important; }
.tp-selo-hd { margin-top: 20px !important; }
.tp-selo-hd img { max-width: 180px !important; box-shadow: none !important; border-radius: 0 !important; }
.tp-nota-esquerda { font-size: .95rem; color: var(--tp-texto-suave); padding: 14px 18px; border-left: 3px solid var(--tp-amarelo); background: var(--tp-cinza); border-radius: 0 var(--tp-raio-pequeno) var(--tp-raio-pequeno) 0; }

/* Cards informativos dos cursos (Cursao/CTL) */
.tp-cursos-info { gap: 24px; }
.tp-curso-info { background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); border: 1px solid var(--tp-borda); overflow: hidden; padding-bottom: 12px; }
.tp-curso-info > :not(.wp-block-html) { padding-inline: 28px; }
.tp-curso-info h3 { margin-top: 24px; font-size: 1.35rem; }
.tp-curso-info p { color: var(--tp-texto-suave); }
.tp-curso-info p strong { color: var(--tp-primario); }

/* Lista com marcadores de check */
.tp-lista-check { list-style: none; padding: 0; margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; max-width: var(--tp-largura); }
.tp-lista-check li {
	position: relative; padding: 16px 18px 16px 56px; background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio-pequeno);
	font-weight: 500;
}
.tp-lista-check li::before {
	content: ""; position: absolute; left: 16px; top: 15px; width: 26px; height: 26px; border-radius: 50%;
	background: var(--tp-secundario-suave) no-repeat center / 15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%23004F6C'/%3E%3C/svg%3E");
}
.tp-lista-check--uma { grid-template-columns: 1fr; max-width: 460px; margin: 20px auto 28px; text-align: left; }
.tp-lista-check--uma li { padding-block: 12px; }
.tp-lista-check--uma li::before { top: 11px; }
@media (max-width: 700px) { .tp-lista-check { grid-template-columns: 1fr; } }

/* Cartao de investimento */
.tp-oferta {
	position: relative; max-width: 760px; margin: 0 auto !important; padding: clamp(36px, 5vw, 56px) clamp(24px, 5vw, 56px);
	background: var(--tp-branco); border-radius: 28px; box-shadow: var(--tp-sombra-forte); text-align: center; border: 1px solid var(--tp-borda);
}
.tp-oferta::before { content: ""; position: absolute; left: 50%; top: 0; width: 120px; height: 5px; transform: translateX(-50%); background: var(--tp-amarelo); border-radius: 0 0 6px 6px; }
.tp-oferta .tp-rotulo { margin-inline: auto; }
.tp-oferta h2 { font-size: clamp(2rem, 4.6vw, 3rem); margin-bottom: .2em; }
.tp-oferta > p { color: var(--tp-texto-suave); font-size: 1.1rem; }

/* Citacao em destaque */
.tp-citacao-bloco .tp-citacao { font: 600 clamp(1.25rem, 2.6vw, 1.75rem)/1.5 var(--tp-fonte-titulo); letter-spacing: -.01em; }
.tp-citacao-bloco .tp-citacao::before { content: "“"; display: block; font: 800 5rem/0.8 var(--tp-fonte-titulo); color: var(--tp-amarelo); margin-bottom: 8px; }
.tp-citacao-bloco .tp-citacao__autor { opacity: .82; margin-top: 18px; font-weight: 500; }
.tp-citacao-bloco .tp-rotulo { color: var(--tp-amarelo); }

/* Ajustes de secoes de loja */
.tp-secao--loja { padding-top: clamp(40px, 5vw, 64px); }
.tp-secao--loja > * { max-width: var(--tp-largura); }
.tp-faq .tp-rotulo { margin-top: 36px; margin-bottom: 14px; }
.tp-faq .tp-rotulo:first-child { margin-top: 0; }
.tp-atalho--whats .wp-block-button__link { background: #25d366; border-color: #25d366; color: var(--tp-branco); box-shadow: 0 8px 20px rgba(37, 211, 102, .25); }
.tp-atalho--whats .wp-block-button__link:hover { background: #128c7e; border-color: #128c7e; color: var(--tp-branco); }

/* ==========================================================================
   Home: capa de abertura
   ========================================================================== */
.tp-hero {
	position: relative; isolation: isolate; overflow: hidden; color: var(--tp-branco);
	background:
		linear-gradient(100deg, rgba(0, 37, 58, .96) 0%, rgba(0, 52, 73, .9) 42%, rgba(0, 79, 108, .45) 75%, rgba(0, 79, 108, .2) 100%),
		url(/wp-content/uploads/2024/01/Imagens-Site-EAD-Videira_01.jpg) right center / cover no-repeat,
		var(--tp-primario-profundo);
}
.tp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-hero::after {
	content: ""; position: absolute; z-index: -1; right: -120px; bottom: -160px; width: 520px; height: 520px;
	background: var(--tp-simbolo) center / contain no-repeat; opacity: .55;
}
.tp-hero__conteudo { max-width: calc(var(--tp-largura) + 2 * var(--tp-margem)); margin: 0 auto; padding: clamp(72px, 10vw, 128px) var(--tp-margem) clamp(64px, 8vw, 104px); }
.tp-hero__texto { max-width: 640px; }
.tp-hero .tp-rotulo { color: var(--tp-amarelo); }
.tp-hero__titulo { color: var(--tp-branco); font-size: clamp(2.3rem, 5.6vw, 4rem); line-height: 1.06; letter-spacing: -.025em; margin-bottom: 20px; animation: tp-surgir .8s ease-out both; }
.tp-hero__titulo em { font-style: normal; color: var(--tp-amarelo); }
.tp-hero__descricao { font-size: clamp(1.05rem, 1.8vw, 1.25rem); color: rgba(255, 255, 255, .88); max-width: 560px; margin-bottom: 32px; }
.tp-hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.tp-hero__acoes .tp-botao { font-size: 1.05rem; padding: 1em 2em; }
.tp-hero__selos { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0; padding: 0; list-style: none; font-size: .95rem; font-weight: 600; color: rgba(255, 255, 255, .92); }
.tp-hero__selos li { display: inline-flex; align-items: center; gap: 8px; }
.tp-hero__selos li::before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: var(--tp-amarelo) no-repeat center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='%2300253A'/%3E%3C/svg%3E"); flex: none; }

/* Destaque do Modulo 01 (arte original) */
.tp-destaque-modulo { padding: 0 var(--tp-margem); margin-top: -36px !important; position: relative; z-index: 2; }
.tp-destaque-modulo a { display: block; max-width: var(--tp-largura); margin: 0 auto; border-radius: var(--tp-raio); overflow: hidden; box-shadow: var(--tp-sombra-forte); background: var(--tp-branco); transition: transform .2s, box-shadow .2s; }
.tp-destaque-modulo a:hover { transform: translateY(-3px); }
.tp-destaque-modulo img { display: block; width: 100%; height: auto; }

/* ==========================================================================
   Home: diferenciais com icones
   ========================================================================== */
.tp-diferenciais { gap: 20px; }
.tp-diferencial {
	position: relative; background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra);
	padding: 30px 24px 26px; border: 1px solid var(--tp-borda); transition: transform .2s, box-shadow .2s;
}
.tp-diferencial:hover { transform: translateY(-4px); box-shadow: var(--tp-sombra-forte); }
.tp-diferencial::before {
	content: ""; display: block; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 16px;
	background: var(--tp-secundario-suave) no-repeat center / 28px;
}
.tp-diferencial:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.5 13.5 17 22l-5-3-5 3 1.5-8.5'/%3E%3C/svg%3E"); }
.tp-diferencial:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3Cpath d='m10 8 4 2.5-4 2.5z'/%3E%3C/svg%3E"); }
.tp-diferencial:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.tp-diferencial:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.5 3.3-5.5 6.5-5.5s5.9 2 6.5 5.5'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16 14.6c2.6.1 4.6 1.8 5.3 4.4'/%3E%3C/svg%3E"); }
.tp-diferencial p:first-child { font: 800 1.2rem/1.3 var(--tp-fonte-titulo); color: var(--tp-primario); margin-bottom: .45em; }
.tp-diferencial p:last-child { margin: 0; color: var(--tp-texto-suave); font-size: .98rem; }

/* Faixa de contexto (Brasil / exterior) */
.tp-faixa {
	max-width: var(--tp-largura); margin: 0 auto !important; padding: 0 var(--tp-margem);
	text-align: center; font-size: clamp(1rem, 1.8vw, 1.15rem) !important; font-weight: 600 !important;
	color: var(--tp-texto-suave) !important; letter-spacing: 0;
}
.tp-faixa strong { color: var(--tp-primario); }

/* ==========================================================================
   Seletor Brasil / exterior
   ========================================================================== */
.tp-abas { display: flex; justify-content: center; margin: 4px auto 28px; padding: 0 var(--tp-margem); }
.tp-abas__lista { display: inline-flex; gap: 4px; padding: 6px; border-radius: var(--tp-raio-botao); background: var(--tp-branco); box-shadow: var(--tp-sombra); border: 1px solid var(--tp-borda); flex-wrap: wrap; justify-content: center; }
.tp-abas__botao {
	border: 0; cursor: pointer; padding: .8em 1.6em; border-radius: var(--tp-raio-botao);
	background: transparent; color: var(--tp-texto-suave); font: 700 .95rem/1.2 var(--tp-fonte); transition: background-color .15s, color .15s;
}
.tp-abas__botao[aria-selected="true"] { background: var(--tp-primario); color: var(--tp-branco); }
.tp-abas__botao:hover:not([aria-selected="true"]) { color: var(--tp-primario); background: var(--tp-secundario-suave); }
.js .tp-painel[hidden] { display: none !important; }
.tp-painel { padding-bottom: var(--tp-secao); }

/* ==========================================================================
   Cards de curso
   ========================================================================== */
.tp-cards { gap: 24px; padding: 20px var(--tp-margem) 0; max-width: calc(var(--tp-largura) + 2 * var(--tp-margem)); margin: 0 auto !important; }
.tp-card {
	display: flex; flex-direction: column; background: var(--tp-branco);
	border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); border: 1px solid var(--tp-borda); overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease;
}
.tp-card:hover { transform: translateY(-6px); box-shadow: var(--tp-sombra-forte); }
.tp-card > :not(.wp-block-image, .wp-block-html, .tp-capa) { padding-inline: 24px; }
.tp-card .wp-block-image { margin: 0; }
.tp-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.tp-card h3 { margin: 22px 0 10px; font-size: 1.3rem; }
.tp-card .tp-card__meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.tp-card__meta span { font-size: .78rem; font-weight: 700; color: var(--tp-primario); background: var(--tp-secundario-suave); padding: 5px 11px; border-radius: 999px; }
.tp-card .tp-card__preco { font: 800 1.7rem/1.1 var(--tp-fonte-titulo); color: var(--tp-primario-profundo); margin: 0 0 18px; letter-spacing: -.02em; }
.tp-card__preco small { display: block; margin-top: 4px; font: 500 .85rem/1.4 var(--tp-fonte); color: var(--tp-texto-suave); letter-spacing: 0; }
.tp-card .wp-block-buttons { margin-top: auto; padding-bottom: 24px; flex-direction: column; align-items: stretch; gap: 8px; }
.tp-card .wp-block-button, .tp-card .wp-block-button__link { width: 100%; }
.tp-cards--um { justify-content: center; padding-bottom: var(--tp-secao); }
.tp-cards--um > .wp-block-column { flex: 0 1 400px !important; }

/* Capa de curso gerada (azul da marca + padrao + logo branco) */
.tp-capa {
	position: relative; isolation: isolate; aspect-ratio: 16 / 10; display: grid; place-items: center; overflow: hidden;
	background: linear-gradient(145deg, var(--tp-primario) 0%, var(--tp-primario-profundo) 100%);
}
.tp-capa::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-capa::after {
	content: ""; position: absolute; z-index: -1; right: -60px; bottom: -70px; width: 220px; height: 220px;
	background: var(--tp-simbolo) center / contain no-repeat; opacity: .8;
}
.tp-capa img { width: 72%; max-width: 280px; height: auto; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .25)); transition: transform .3s ease; }
.tp-card:hover .tp-capa img { transform: scale(1.04); }
.tp-capa--pastoral { background: linear-gradient(145deg, #0d6f95 0%, var(--tp-primario-profundo) 100%); }
.tp-capa__texto { text-align: center; color: var(--tp-branco); font-family: var(--tp-fonte-titulo); line-height: 1; }
.tp-capa__texto small { display: block; font-size: .8rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--tp-amarelo); margin-bottom: 8px; }
.tp-capa__texto strong { display: block; font-size: clamp(1.8rem, 3.2vw, 2.4rem); font-weight: 800; letter-spacing: -.01em; }
.tp-capa__selo {
	position: absolute; top: 14px; left: 14px; padding: 5px 11px; border-radius: 999px;
	background: rgba(255, 255, 255, .14); color: var(--tp-branco); font: 700 .72rem/1 var(--tp-fonte); letter-spacing: .06em; text-transform: uppercase;
	backdrop-filter: blur(4px);
}

/* ==========================================================================
   Como funciona
   ========================================================================== */
.tp-passos { gap: 20px; position: relative; }
.tp-passo { position: relative; background: var(--tp-branco); border-radius: var(--tp-raio); padding: 30px 24px; box-shadow: var(--tp-sombra); }
.tp-passo p { margin: 0 0 6px; color: var(--tp-texto-suave); font-size: .98rem; }
.tp-passo .tp-passo__num {
	width: 48px; height: 48px; margin: 0 0 18px; border-radius: 14px;
	display: grid; place-items: center; background: var(--tp-amarelo); color: var(--tp-primario-profundo);
	font: 800 1.3rem/1 var(--tp-fonte-titulo);
}
.tp-passo .tp-passo__titulo { font: 800 1.15rem/1.3 var(--tp-fonte-titulo); color: var(--tp-primario); }

/* Chamada de rematricula */
.tp-chamada {
	position: relative; isolation: isolate; overflow: hidden;
	max-width: var(--tp-largura); margin: var(--tp-secao) auto !important; padding: clamp(40px, 6vw, 64px) clamp(24px, 5vw, 64px);
	background: linear-gradient(120deg, var(--tp-primario-profundo), var(--tp-primario)); color: var(--tp-branco);
	border-radius: 28px; box-shadow: var(--tp-sombra-forte); text-align: left;
}
.tp-chamada::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-chamada::after { content: ""; position: absolute; z-index: -1; right: -80px; top: -80px; width: 360px; height: 360px; background: var(--tp-simbolo) center / contain no-repeat; }
.tp-chamada h2 { color: var(--tp-branco); max-width: 640px; }
.tp-chamada p { color: rgba(255, 255, 255, .88); font-size: 1.1rem; max-width: 620px; }
.tp-chamada .wp-block-buttons { justify-content: flex-start; margin-top: 24px; }
@media (max-width: 1260px) { .tp-chamada { margin-inline: var(--tp-margem) !important; } }

/* ==========================================================================
   Paginas de pagamento (rematricula / prorrogacao)
   ========================================================================== */
.tp-pagamento-titulo {
	position: relative; isolation: isolate; background: var(--tp-primario-profundo) var(--tp-padrao);
	color: var(--tp-branco) !important; text-align: center; margin: 0 !important; padding: 80px var(--tp-margem) 120px;
}
.tp-pagamento { background: var(--tp-cinza); padding: 0 var(--tp-margem) var(--tp-secao); gap: 28px; margin: 0 !important; justify-content: center; }
.tp-pagamento > .wp-block-column { max-width: 480px; margin-top: -72px; }
.tp-pagamento-opcao {
	display: flex; flex-direction: column; gap: 18px; height: 100%;
	background: var(--tp-branco); border-radius: var(--tp-raio); overflow: hidden; padding-bottom: 28px; box-shadow: var(--tp-sombra-forte);
}
.tp-pagamento-opcao > :not(.wp-block-image, .tp-pagamento-rotulo) { padding-inline: 28px; }
.tp-pagamento-opcao .wp-block-image { margin: 0; }
.tp-pagamento-opcao .wp-block-image img { display: block; width: 100%; }
.tp-pagamento-rotulo {
	margin: 0; padding: 16px 20px; text-align: center; font-size: 1rem; font-weight: 700; letter-spacing: 0;
	color: var(--tp-primario); background: var(--tp-secundario-suave);
}
.tp-pagamento-rotulo::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background: var(--tp-verde); vertical-align: 1px; }
.tp-pagamento-rotulo--internacional::before { background: var(--tp-secundario); }
.tp-pagamento-opcao .wp-block-buttons { flex-direction: column; align-items: stretch; margin-top: auto; }
.tp-pagamento-opcao .wp-block-button__link { width: 100%; }
.tp-pagamento-opcao .wp-block-button:not(:first-child) .wp-block-button__link { background: transparent; border-color: var(--tp-primario); color: var(--tp-primario); box-shadow: none; }
.tp-pagamento-opcao .wp-block-button:not(:first-child) .wp-block-button__link:hover { background: var(--tp-primario); color: var(--tp-branco); }

/* ==========================================================================
   Componentes das paginas institucionais
   ========================================================================== */
.tp-pilulas { list-style: none; padding: 0; margin: 28px auto; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.tp-pilulas li { padding: .65em 1.3em; border-radius: var(--tp-raio-botao); background: var(--tp-branco); color: var(--tp-primario); font-weight: 700; box-shadow: var(--tp-sombra); border: 1px solid var(--tp-borda); }
.tp-citacao { font: 500 clamp(1.15rem, 2.2vw, 1.45rem)/1.55 var(--tp-fonte); text-align: center; }
.tp-citacao strong { display: block; margin-top: 12px; }
.tp-pessoa .wp-block-image img { border-radius: var(--tp-raio); box-shadow: var(--tp-sombra-forte); }
.tp-pessoa figcaption, .tp-legenda { text-align: center; font-weight: 700; color: var(--tp-primario); margin-top: 14px; }
.tp-selos { align-items: center !important; gap: 40px; }
.tp-selos .wp-block-image { margin: 0; }
.tp-selos .wp-block-image img { max-height: 280px; width: auto; margin-inline: auto; }
.tp-selos .tp-destaque-texto { font: 600 1.2rem/1.5 var(--tp-fonte); }
.tp-grade { gap: 20px; }
.tp-grade > .wp-block-column { background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); padding: 0 0 22px; overflow: hidden; border: 1px solid var(--tp-borda); }
.tp-grade p:first-child { text-align: center; font-weight: 800; letter-spacing: .08em; color: var(--tp-branco); background: var(--tp-primario) var(--tp-padrao); padding: 14px; margin-bottom: 14px; }
.tp-grade ul { margin: 0; padding: 0 22px 0 42px; }
.tp-grade li { margin-bottom: 6px; font-size: .96rem; }
.tp-grade li::marker { color: var(--tp-secundario); }
.tp-nota { font-size: .9rem; text-align: center; color: var(--tp-texto-suave); margin-top: 20px; }
.tp-fundo .tp-nota { color: rgba(255, 255, 255, .75); }
.tp-carga { gap: 24px; align-items: center !important; }
.tp-carga .wp-block-image { margin: 0 auto; max-width: 220px; }
.tp-carga p { text-align: center; font: 800 2.4rem/1 var(--tp-fonte-titulo); margin-top: 10px; }
.tp-preco { font: 800 clamp(1.9rem, 4.5vw, 2.8rem)/1.2 var(--tp-fonte-titulo); color: var(--tp-amarelo); }
.tp-caixa { background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); padding: 30px; color: var(--tp-texto); border: 1px solid var(--tp-borda); }
.tp-caixa strong { color: var(--tp-primario); }

/* FAQ (blocos "Detalhes") */
.wp-block-details { border: 1px solid var(--tp-borda); border-radius: var(--tp-raio-pequeno); margin: 0 0 10px; background: var(--tp-branco); transition: box-shadow .2s, border-color .2s; }
.wp-block-details[open] { box-shadow: var(--tp-sombra); border-color: transparent; }
.wp-block-details summary {
	cursor: pointer; list-style: none; padding: 20px 60px 20px 22px; position: relative;
	font-weight: 700; color: var(--tp-primario);
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 20px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
	background: var(--tp-secundario-suave) no-repeat center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v14h-2zM5 11h14v2H5z' fill='%23004F6C'/%3E%3C/svg%3E");
	transition: transform .2s;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { padding: 0 22px 20px; margin: 0; color: var(--tp-texto-suave); }
.tp-secao h2:not(.tp-titulo-secao):not(.tp-faixa) { margin-top: 1.2em; }
.tp-secao h2:first-child { margin-top: 0; }

/* Suporte */
.tp-suporte { gap: 20px; margin-top: 12px; }
.tp-suporte .wp-block-button, .tp-suporte .wp-block-button__link { width: 100%; }
.tp-suporte .wp-block-button__link { min-height: 120px; font-size: 1.1rem; border-radius: var(--tp-raio); background: #25d366; border-color: #25d366; color: var(--tp-branco); box-shadow: 0 10px 24px rgba(37, 211, 102, .28); }
.tp-suporte .wp-block-button__link:hover { background: #128c7e; border-color: #128c7e; color: var(--tp-branco); }

/* Aviso do checkout */
.tp-aviso {
	position: relative; max-width: var(--tp-largura); margin: 0 auto 28px; padding: 18px 22px 18px 64px;
	background: var(--tp-secundario-suave); color: var(--tp-texto); border-radius: var(--tp-raio-pequeno); border: 1px solid rgba(97, 172, 229, .35);
	font-size: .95rem;
}
.tp-aviso::before {
	content: ""; position: absolute; left: 20px; top: 18px; width: 28px; height: 28px; border-radius: 50%;
	background: var(--tp-primario) no-repeat center / 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 8v5M12 16.5v.5'/%3E%3C/svg%3E");
}
.tp-aviso p { margin: 0 0 4px; }
.tp-aviso p:last-child { margin: 0; }
.tp-aviso .tp-aviso__destaque { color: var(--tp-primario); font-weight: 700; }

/* Ja sou aluno */
.tp-atalhos { gap: 20px; }
.tp-atalhos + .tp-atalhos { margin-top: 20px; }
.tp-atalho { background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); padding: 30px 28px; display: flex; flex-direction: column; border: 1px solid var(--tp-borda); }
.tp-atalho h2, .tp-atalho h3 { font-size: 1.35rem; margin-bottom: .4em; }
.tp-atalho p { color: var(--tp-texto-suave); }
.tp-atalho .wp-block-buttons { margin-top: auto; flex-direction: column; align-items: stretch; gap: 8px; }
.tp-atalho .wp-block-button__link { width: 100%; }
.tp-atalho--destaque { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, var(--tp-primario-profundo), var(--tp-primario)); color: var(--tp-branco); border: 0; }
.tp-atalho--destaque::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-atalho--destaque :is(h2, h3) { color: var(--tp-branco); }
.tp-atalho--destaque p { color: rgba(255, 255, 255, .85); }
.tp-atalho .tp-links-rapidos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.tp-atalho .tp-links-rapidos a { padding: 8px 14px; border-radius: 999px; background: var(--tp-secundario-suave); color: var(--tp-primario); text-decoration: none; font-weight: 700; font-size: .9rem; transition: background-color .15s, color .15s; }
.tp-atalho .tp-links-rapidos a:hover { background: var(--tp-primario); color: var(--tp-branco); }
[id] { scroll-margin-top: 110px; }

/* Colunas empilham no celular */
@media (max-width: 781px) {
	.wp-block-columns { flex-wrap: wrap !important; }
	.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
	.tp-pagamento > .wp-block-column { margin-top: 0; }
	.tp-pagamento > .wp-block-column:first-child { margin-top: -72px; }
	.tp-chamada { text-align: center; }
	.tp-chamada .wp-block-buttons { justify-content: center; }
	.tp-hero::after { width: 320px; height: 320px; right: -120px; bottom: -120px; }
	.tp-destaque-modulo { margin-top: -24px !important; }
}

/* ==========================================================================
   Aviso de cookies (LGPD) e WhatsApp fixo
   ========================================================================== */
.tp-cookies {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90;
	max-width: 780px; margin: 0 auto; padding: 20px 22px;
	background: var(--tp-branco); color: var(--tp-texto); border-radius: var(--tp-raio);
	box-shadow: 0 20px 60px rgba(0, 30, 45, .3); border: 1px solid var(--tp-borda);
	display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.tp-cookies[hidden] { display: none; }
.tp-cookies p { margin: 0; flex: 1 1 320px; font-size: .92rem; color: var(--tp-texto-suave); }
.tp-cookies__acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.tp-cookies .tp-botao { padding: .6em 1.3em; font-size: .92rem; min-height: 42px; }

.tp-whatsapp {
	position: fixed; right: 16px; bottom: 16px; z-index: 80;
	display: none; align-items: center; gap: 8px; padding: 12px 20px 12px 14px;
	border-radius: 999px; background: #25d366; color: var(--tp-branco);
	font: 700 .95rem/1 var(--tp-fonte); text-decoration: none; box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
}
.tp-whatsapp .tp-icone { font-size: 1.5rem; }
.tp-whatsapp:hover, .tp-whatsapp:focus { color: var(--tp-branco); background: #128c7e; }
@media (max-width: 768px) {
	.tp-whatsapp { display: inline-flex; }
	body.tp-cookies-visivel .tp-whatsapp { display: none; }
	.tp-rodape__direitos { padding-bottom: 88px; }
}

/* ==========================================================================
   Busca de materias
   ========================================================================== */
.tp-busca { position: relative; max-width: 620px; margin: 0 auto 36px; }
.tp-busca > .tp-icone { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: var(--tp-primario); font-size: 1.25rem; }
.tp-busca__campo {
	width: 100%; padding: 18px 22px 18px 56px; border: 1px solid var(--tp-borda); border-radius: var(--tp-raio-botao);
	font: 1.02rem var(--tp-fonte); color: var(--tp-texto); background: var(--tp-branco); box-shadow: var(--tp-sombra);
}
.tp-busca__campo:focus { border-color: var(--tp-secundario); outline: none; box-shadow: 0 0 0 4px rgba(97, 172, 229, .25); }
.tp-busca__vazio { text-align: center; margin-top: 16px; }

/* ==========================================================================
   WooCommerce
   ========================================================================== */
.tp-woo { padding-block: 48px 80px; }
.woocommerce .woocommerce-breadcrumb { font-size: .85rem; margin-bottom: 20px; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	display: flex; flex-direction: column; text-align: left;
	background: var(--tp-branco); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); border: 1px solid var(--tp-borda);
	overflow: hidden; padding-bottom: 18px; transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--tp-sombra-forte); }
.woocommerce ul.products li.product[hidden] { display: none; }
.woocommerce ul.products li.product a img { margin: 0 0 14px; aspect-ratio: 1 / 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 700 1.02rem/1.35 var(--tp-fonte-titulo); color: var(--tp-primario); padding: 0 16px; }
.woocommerce ul.products li.product .price { color: var(--tp-primario-profundo); font-weight: 800; font-size: 1.15rem; padding: 0 16px; }
.woocommerce ul.products li.product .button { margin: auto 16px 0; }
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 420px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--tp-primario); border-radius: var(--tp-raio-pequeno); background: var(--tp-cinza); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--tp-primario); }
.woocommerce span.onsale { background: var(--tp-verde); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--tp-primario); }
.woocommerce table.shop_table { border-radius: var(--tp-raio); border-collapse: separate; border-color: var(--tp-borda); overflow: hidden; }
.woocommerce table.shop_table th { color: var(--tp-primario); background: var(--tp-cinza); }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 480px; margin-left: auto; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row .select2-selection {
	border: 1px solid var(--tp-borda); border-radius: var(--tp-raio-pequeno); padding: 12px 14px; font: inherit; min-height: 48px; background: var(--tp-branco);
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--tp-secundario); outline: none; box-shadow: 0 0 0 4px rgba(97, 172, 229, .2); }
.woocommerce form .form-row label { font-weight: 600; color: var(--tp-primario); }
.woocommerce-checkout #payment { background: var(--tp-cinza); border-radius: var(--tp-raio); }
.woocommerce #payment #place_order { width: 100%; font-size: 1.1rem; padding: 1em; }
.woocommerce-checkout h3 { color: var(--tp-primario); }
/* ==========================================================================
   Fluxo de compra: etapas, carrinho, checkout e pedido recebido
   ========================================================================== */
.woocommerce-cart .tp-pagina-hero--compacto,
.woocommerce-checkout .tp-pagina-hero--compacto { padding-block: clamp(44px, 5vw, 64px) clamp(52px, 6vw, 72px); }
.woocommerce-cart .tp-pagina-hero--compacto h1,
.woocommerce-checkout .tp-pagina-hero--compacto h1 { font-size: clamp(2rem, 4vw, 2.8rem); }

/* Etapas */
.tp-etapas {
	list-style: none; margin: 0 auto 32px; padding: 0; max-width: 760px;
	display: flex; align-items: center; justify-content: space-between; counter-reset: etapa; grid-column: 1 / -1;
}
.tp-etapas__item { flex: 1; display: flex; align-items: center; gap: 10px; position: relative; font-weight: 700; color: var(--tp-texto-suave); font-size: .95rem; }
.tp-etapas__item:not(:last-child)::after { content: ""; flex: 1; height: 2px; margin: 0 12px; background: var(--tp-borda); border-radius: 2px; }
.tp-etapas__item--feita:not(:last-child)::after { background: var(--tp-secundario); }
.tp-etapas__num {
	flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
	background: var(--tp-branco); border: 2px solid var(--tp-borda); color: var(--tp-texto-suave); font: 800 .95rem/1 var(--tp-fonte-titulo);
}
.tp-etapas__item--atual { color: var(--tp-primario); }
.tp-etapas__item--atual .tp-etapas__num { background: var(--tp-primario); border-color: var(--tp-primario); color: var(--tp-branco); box-shadow: 0 0 0 5px rgba(0, 79, 108, .12); }
.tp-etapas__item--feita .tp-etapas__num { background: var(--tp-secundario); border-color: var(--tp-secundario); color: var(--tp-branco); }
.tp-etapas__nome { white-space: nowrap; }
@media (max-width: 600px) {
	.tp-etapas__nome { font-size: .78rem; white-space: normal; line-height: 1.2; }
	.tp-etapas__item { flex-direction: column; gap: 6px; text-align: center; }
	.tp-etapas__item:not(:last-child)::after { position: absolute; top: 17px; left: calc(50% + 24px); right: calc(-50% + 24px); margin: 0; }
}

/* Avisos do WooCommerce (cupom, login, adicionado ao carrinho) */
.woocommerce-cart .woocommerce-message, .woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-message, .woocommerce-checkout .woocommerce-info, .woocommerce-checkout .woocommerce-error {
	border: 1px solid var(--tp-borda); border-left: 4px solid var(--tp-primario); border-radius: var(--tp-raio-pequeno);
	background: var(--tp-branco); box-shadow: var(--tp-sombra); padding: 16px 20px 16px 52px; margin-bottom: 16px; font-size: .95rem;
}
.woocommerce-checkout .woocommerce-error { border-left-color: #c62828; }
.woocommerce-checkout .woocommerce-message::before, .woocommerce-checkout .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before, .woocommerce-cart .woocommerce-info::before { top: 16px; left: 20px; }
.woocommerce-form-coupon-toggle .woocommerce-info a, .woocommerce-form-login-toggle .woocommerce-info a { font-weight: 700; }
.woocommerce-checkout form.checkout_coupon, .woocommerce-checkout form.woocommerce-form-login {
	border: 1px solid var(--tp-borda); border-radius: var(--tp-raio); background: var(--tp-branco); box-shadow: var(--tp-sombra);
	padding: 24px; margin: 0 0 20px;
}
.woocommerce-checkout form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.woocommerce-checkout form.checkout_coupon p { margin: 0; }
.woocommerce-checkout form.checkout_coupon .form-row-first { flex: 1 1 240px; width: auto; float: none; }
.woocommerce-checkout form.checkout_coupon .form-row-last { width: auto; float: none; }

/* Checkout em duas colunas: dados | resumo fixo */
.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 28px 36px; align-items: start;
}
.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 2; }
.woocommerce-checkout form.checkout > #order_review_heading { display: none; }
.woocommerce-checkout form.checkout > #order_review {
	grid-column: 2; grid-row: 2; position: sticky; top: 96px;
	background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra-forte);
	padding: 26px 24px 22px; overflow: hidden;
}
.woocommerce-checkout form.checkout > #order_review::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--tp-primario), var(--tp-secundario)); }
.admin-bar .woocommerce-checkout form.checkout > #order_review { top: 128px; }
@media (max-width: 960px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout > #customer_details,
	.woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; position: static; }
}

/* Cartoes de dados do cliente */
.woocommerce-checkout #customer_details.col2-set { display: grid; gap: 20px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout #customer_details .col-2:empty { display: none; }
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-account-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); padding: 26px 26px 10px;
}
.woocommerce-checkout .woocommerce-account-fields { margin-top: 20px; }
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.tp-resumo__titulo {
	display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font-size: 1.25rem; color: var(--tp-primario);
}
.woocommerce-checkout .woocommerce-billing-fields > h3::before {
	content: ""; width: 38px; height: 38px; border-radius: 12px; flex: none;
	background: var(--tp-secundario-suave) no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c.8-4 4-6 8-6s7.2 2 8 6'/%3E%3C/svg%3E");
}
.tp-resumo__titulo::before {
	content: ""; width: 38px; height: 38px; border-radius: 12px; flex: none;
	background: var(--tp-secundario-suave) no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004F6C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h9l5 5v15H6z'/%3E%3Cpath d='M9 12h7M9 16h7M14 2v5h6'/%3E%3C/svg%3E");
}

/* Campos em grade (6 colunas) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-account-fields .create-account {
	display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 16px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: span 6; width: auto; float: none; margin: 0 0 18px; padding: 0; }
.woocommerce-checkout #billing_first_name_field, .woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #billing_country_field, .woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_address_2_field, .woocommerce-checkout #billing_neighborhood_field,
.woocommerce-checkout #billing_phone_field, .woocommerce-checkout #billing_email_field { grid-column: span 3 !important; }
.woocommerce-checkout #billing_address_1_field, .woocommerce-checkout #billing_city_field { grid-column: span 4 !important; }
.woocommerce-checkout #billing_number_field, .woocommerce-checkout #billing_state_field { grid-column: span 2 !important; }
@media (max-width: 600px) {
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: span 6 !important; }
	.woocommerce-checkout #billing_number_field, .woocommerce-checkout #billing_state_field { grid-column: span 2 !important; }
	.woocommerce-checkout #billing_address_1_field, .woocommerce-checkout #billing_city_field { grid-column: span 4 !important; }
}
.woocommerce-checkout form .form-row label { display: block; margin-bottom: 6px; font-size: .88rem; font-weight: 700; color: var(--tp-primario); }
.woocommerce-checkout form .form-row .required { color: #c62828; text-decoration: none; }
.woocommerce-checkout form .form-row .optional { color: var(--tp-texto-suave); font-weight: 400; font-size: .8rem; }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid var(--tp-borda); border-radius: var(--tp-raio-pequeno);
	background: var(--tp-cinza); font: 500 1rem var(--tp-fonte); color: var(--tp-texto); transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.3; padding: 0; color: var(--tp-texto); }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 10px; }
.woocommerce-checkout form .form-row input.input-text:hover { border-color: var(--tp-destaque); }
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single {
	outline: none; border-color: var(--tp-secundario); background: var(--tp-branco); box-shadow: 0 0 0 4px rgba(97, 172, 229, .22);
}
.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout form .form-row.woocommerce-invalid .select2-selection { border-color: #c62828; background: #fff7f7; }
.woocommerce-checkout form .form-row.woocommerce-validated input.input-text { border-color: rgba(0, 141, 33, .45); }
.woocommerce-checkout .person-type-field .woocommerce-input-wrapper { display: block; }
.woocommerce-checkout #billing_persontype_field select { background-color: var(--tp-branco); }

/* Resumo do pedido */
.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 0 18px !important; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th { border: 0 !important; padding: 10px 0 !important; background: none !important; }
.woocommerce-checkout-review-order-table tbody tr { border-bottom: 1px solid var(--tp-borda); }
.woocommerce-checkout-review-order-table tbody td { border-bottom: 1px solid var(--tp-borda) !important; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 600; color: var(--tp-primario-profundo); padding-right: 12px !important; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--tp-texto-suave); font-weight: 600; }
.woocommerce-checkout-review-order-table .product-total, .woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; }
.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; color: var(--tp-texto-suave); }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td {
	padding-top: 16px !important; font-size: 1.15rem; color: var(--tp-primario-profundo) !important; font-weight: 800;
}
.woocommerce-checkout-review-order-table .order-total td strong { font: 800 1.6rem/1 var(--tp-fonte-titulo); letter-spacing: -.02em; }

/* Formas de pagamento como opcoes clicaveis */
.woocommerce-checkout #payment { background: none; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0 0 16px; display: grid; gap: 10px; }
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
	list-style: none; margin: 0; padding: 14px 16px; border: 1.5px solid var(--tp-borda); border-radius: var(--tp-raio-pequeno);
	background: var(--tp-branco); cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:hover { border-color: var(--tp-destaque); }
.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) {
	border-color: var(--tp-primario); background: var(--tp-secundario-suave); box-shadow: 0 0 0 3px rgba(0, 79, 108, .1);
}
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"] { accent-color: var(--tp-primario); width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: -3px; }
.woocommerce-checkout #payment ul.payment_methods li > label { font-weight: 700; color: var(--tp-primario-profundo); cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 24px; vertical-align: middle; margin-left: 8px; }
.woocommerce-checkout #payment div.payment_box {
	background: var(--tp-branco); color: var(--tp-texto); border-radius: 10px; margin: 12px 0 0; padding: 14px 16px; font-size: .92rem; border: 1px solid var(--tp-borda);
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment ul.payment_methods > li > .woocommerce-info,
.woocommerce-checkout #payment ul.payment_methods > li > .woocommerce-notice { margin: 0; box-shadow: none; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 0; margin: 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .85rem; color: var(--tp-texto-suave); margin-bottom: 14px; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin-bottom: 8px; }
.woocommerce-checkout #payment #place_order {
	width: 100%; min-height: 58px; font-size: 1.12rem; font-weight: 800; border-radius: var(--tp-raio-pequeno); float: none;
	background: var(--tp-amarelo) no-repeat 22px center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300253A' stroke-width='2.2' stroke-linecap='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
	border-color: var(--tp-amarelo); color: var(--tp-primario-profundo);
}
.woocommerce-checkout #payment #place_order:hover { background-color: var(--tp-amarelo-escuro); border-color: var(--tp-amarelo-escuro); }

/* Selos de confianca */
.tp-confianca { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--tp-borda); display: grid; gap: 8px; }
.tp-confianca li { display: flex; align-items: center; gap: 10px; font-size: .88rem; font-weight: 600; color: var(--tp-texto-suave); }
.tp-confianca li::before { content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%; background: rgba(0, 141, 33, .1) no-repeat center / 13px; }
.tp-confianca--seguro::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008D21' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
.tp-confianca--acesso::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008D21' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12.5 10 17l9-10'/%3E%3C/svg%3E"); }
.tp-confianca--suporte::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23008D21' stroke-width='2.3' stroke-linecap='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3C/svg%3E"); }

/* Carrinho: itens | totais */
.woocommerce-cart .tp-secao--loja .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px 32px; align-items: start; }
.woocommerce-cart .tp-secao--loja .woocommerce > * { grid-column: 1 / -1; }
.woocommerce-cart .tp-secao--loja .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .tp-secao--loja .woocommerce > .cart-collaterals { grid-column: 2; position: sticky; top: 96px; }
@media (max-width: 960px) {
	.woocommerce-cart .tp-secao--loja .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .tp-secao--loja .woocommerce > .woocommerce-cart-form,
	.woocommerce-cart .tp-secao--loja .woocommerce > .cart-collaterals { grid-column: 1; position: static; }
}
.woocommerce-cart table.shop_table.cart { background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); }
.woocommerce-cart table.shop_table.cart th { background: var(--tp-cinza); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.woocommerce-cart table.shop_table.cart td { border-top: 1px solid var(--tp-borda); padding: 16px 12px; }
.woocommerce-cart table.cart img { width: 72px; border-radius: 10px; }
.woocommerce-cart table.cart td.product-name a { font-weight: 700; color: var(--tp-primario); text-decoration: none; }
.woocommerce-cart table.cart a.remove { color: #c62828 !important; border-radius: 50%; width: 28px; height: 28px; line-height: 26px; font-size: 1.3rem; }
.woocommerce-cart table.cart a.remove:hover { background: #c62828; color: var(--tp-branco) !important; }
.woocommerce-cart table.cart td.actions .coupon .input-text { min-height: 46px; border-radius: 999px; padding: 10px 16px; border: 1.5px solid var(--tp-borda); width: 200px; }
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none; width: 100%; background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio);
	box-shadow: var(--tp-sombra-forte); padding: 24px;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 1.25rem; margin-bottom: 14px; }
.woocommerce-cart .cart_totals table.shop_table { border: 0; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { border-top: 1px solid var(--tp-borda); background: none; padding: 12px 0; }
.woocommerce-cart .cart_totals .order-total td strong { font: 800 1.5rem/1 var(--tp-fonte-titulo); color: var(--tp-primario-profundo); }
.woocommerce-cart .wc-proceed-to-checkout { padding-bottom: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 56px; font-size: 1.08rem; border-radius: var(--tp-raio-pequeno); margin-bottom: 0; }
.woocommerce-cart .cart-empty.woocommerce-info { text-align: center; padding: 28px; font-size: 1.1rem; }
.woocommerce-cart .return-to-shop { text-align: center; margin-top: 16px; }

/* Pedido recebido */
.woocommerce-order { max-width: 860px; margin: 0 auto; }
.woocommerce-order .woocommerce-thankyou-order-received {
	position: relative; padding: 22px 24px 22px 76px; margin-bottom: 24px; border-radius: var(--tp-raio);
	background: rgba(0, 141, 33, .08); border: 1px solid rgba(0, 141, 33, .25); color: #0b5d1f; font-weight: 700; font-size: 1.05rem;
}
.woocommerce-order .woocommerce-thankyou-order-received::before {
	content: ""; position: absolute; left: 22px; top: 50%; width: 38px; height: 38px; margin-top: -19px; border-radius: 50%;
	background: var(--tp-verde) no-repeat center / 20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12.5 10 17l9-10'/%3E%3C/svg%3E");
}
.woocommerce-order ul.woocommerce-order-overview {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 28px; padding: 0; list-style: none;
}
.woocommerce-order ul.woocommerce-order-overview li {
	float: none; margin: 0; padding: 16px; border: 1px solid var(--tp-borda) !important; border-radius: var(--tp-raio-pequeno); background: var(--tp-branco);
	font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tp-texto-suave);
}
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font-size: 1.02rem; text-transform: none; letter-spacing: 0; color: var(--tp-primario-profundo); }
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details {
	background: var(--tp-branco); border: 1px solid var(--tp-borda); border-radius: var(--tp-raio); box-shadow: var(--tp-sombra); padding: 24px; margin-bottom: 24px;
}
.woocommerce-order .woocommerce-order-details__title, .woocommerce-order .woocommerce-column__title { font-size: 1.2rem; }
.woocommerce-order address { border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.8; }
.tp-proximos {
	position: relative; isolation: isolate; overflow: hidden; margin: 0 0 28px; padding: 28px 28px 20px; border-radius: var(--tp-raio);
	background: linear-gradient(135deg, var(--tp-primario-profundo), var(--tp-primario)); color: rgba(255, 255, 255, .9);
}
.tp-proximos::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tp-padrao); }
.tp-proximos h2 { color: var(--tp-branco); font-size: 1.35rem; }
.tp-proximos ol { margin: 0 0 12px; padding: 0; list-style: none; counter-reset: passo; display: grid; gap: 12px; }
.tp-proximos li { counter-increment: passo; position: relative; padding-left: 46px; }
.tp-proximos li::before {
	content: counter(passo); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%;
	display: grid; place-items: center; background: var(--tp-amarelo); color: var(--tp-primario-profundo); font: 800 .9rem/1 var(--tp-fonte-titulo);
}
.tp-proximos strong { color: var(--tp-branco); }
.tp-proximos a { color: var(--tp-amarelo); font-weight: 700; }
.tp-proximos__ajuda { margin: 8px 0 0; font-size: .92rem; }

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 24px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 12px 16px; margin-bottom: 6px; border-radius: var(--tp-raio-pequeno);
	background: var(--tp-cinza); color: var(--tp-primario); text-decoration: none; font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--tp-primario); color: var(--tp-branco); }
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
}
