/* ============================================================================
   WISEPLAN DESIGN SYSTEM (wp-*)
   Mini design system para a landing — espelha a filosofia do sabii.io (ic-*),
   adaptado à paleta wiseplan. Substitui as classes Tailwind arbitrary-value
   agressivas e os styles inline duplicados.
   ============================================================================ */

/* ── CSS Variables (paleta wiseplan) ── */
:root {
	--wp-blue:        #0D6BBA;
	--wp-blue-dark:   #0a5699;
	--wp-gray-50:     #f4f4f9;
	--wp-gray-900:    #1a1a2e;
	--wp-text:        #555;
	--wp-text-muted:  #666;
}

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}
img {
	max-width: 100%;
	height: auto;
}

/* ── Container cap (ultra-wide monitors) ── */
.container { max-width: 1200px !important; }

/* ── Padding lateral responsivo (respiro nas bordas no mobile) ── */
@media (max-width: 991.98px) {
	.container { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 575.98px) {
	.container { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ── Section layout ── */
.wp-section        { padding: 100px 0; }
.wp-section-alt    { padding: 50px 0; background: var(--wp-gray-50); }
.wp-section-light  { padding: 100px 0; background: #fff; }

/* ── Row / col flex (substitui flex flex-wrap mx-[calc(...)] do Tailwind) ── */
.wp-row            { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; }
.wp-row-top        { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px; }
.wp-row-center     { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; }
.wp-col-half       { flex: 1 1 340px; min-width: 0; }
.wp-col-third      { flex: 1 1 260px; min-width: 0; }
.wp-col-7          { flex: 1 1 540px; min-width: 0; }
.wp-col-5          { flex: 1 1 380px; min-width: 0; }
.wp-center         { text-align: center; }

/* ── Tipografia base ── */
.wp-title-lg       { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 3.2rem; font-weight: 800; line-height: 1.05; color: var(--wp-gray-900); margin-bottom: 20px; }
.wp-title-md       { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 2.4rem; font-weight: 800; line-height: 1.15; color: var(--wp-gray-900); margin-bottom: 16px; }
.wp-title-sm       { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.25rem; font-weight: 700; color: var(--wp-gray-900); margin-bottom: 10px; }
.wp-subtitle       { font-size: 1.15rem; color: var(--wp-text-muted); margin-bottom: 0; }
.wp-text           { font-size: 1.05rem; color: var(--wp-text); line-height: 1.7; }
.wp-section-header { max-width: 800px; margin: 0 auto 60px; text-align: center; }

/* ── Features-hero (título grande "A solução ideal para você") ── */
.wp-features-hero-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	font-size: 2.4rem;
}
.wp-features-hero-desc {
	font-family: 'Plus Jakarta Sans', sans-serif;
	color: #6b7280;
	margin-top: 1rem;
	margin-bottom: 0;
	font-size: 1.15rem;
}

/* ── Section title (h2 das seções internas) ── */
.wp-section-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.5px;
	margin-bottom: 22px;
	font-size: 2.4rem;
}
.wp-section-title.size-48 { font-size: 2.4rem; margin-bottom: 0; }

.wp-section-desc {
	font-size: 1.15rem;
	margin-top: 16px;
	margin-bottom: 0;
}

/* ── Block title (h5 dos blocos de conteúdo) ── */
.wp-block-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	line-height: 1.35;
	font-size: 1.25rem;
	margin-bottom: 16px;
}

/* ── Section label (uppercase tag) ── */
.wp-section-label {
	display: block;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 0.85rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 35px;
}

/* ── Feature box title ── */
.wp-fbox-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	line-height: 1.35;
	font-size: 1.15rem;
	margin-top: 20px;
	margin-bottom: 10px;
}

/* ── CTA heading ── */
.wp-cta-heading {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	line-height: 1.35;
	font-size: 1.875rem;
	margin-bottom: 12px;
}
.wp-cta-desc {
	font-size: 1.15rem;
	margin-bottom: 28px;
}

/* ── Shape icon SVG (features-12 boxes) ── */
.shape-ico svg {
	position: absolute;
	z-index: 1;
	width: 130px; height: 130px;
	top: -35px; left: calc(50% - 60px);
}

/* ── Feature box card (features-12) ── */
.wp-fbox-card {
	background: #fff;
	border-radius: 12px;
	padding: 32px 35px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	margin-bottom: 30px;
}

/* ── Simple list with checkmarks ── */
ul.simple-list {
	list-style: none !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}
ul.simple-list .list-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 14px;
}
ul.simple-list .list-item::before {
	content: "✓";
	color: #e91e63;
	font-weight: 700;
	font-size: 0.95rem;
	flex-shrink: 0;
	margin-top: 2px;
}
ul.simple-list .list-item p {
	margin-bottom: 0 !important;
}

/* ── Video wrapper (16:9 responsive) ── */
.wp-video-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.wp-video-wrap iframe {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	border: 0;
}

.section-carousel {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}
.section-carousel .owl-stage-outer {
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(13,107,186,0.12);
}
.section-carousel .item img {
	display: block;
	width: 100%;
	height: auto;
}

/* ── Box content card (lnk-2 — Gestão Patrimonial wrapper com bg cinza-claro) ── */
.wp-box-card {
	background: #fff;
	border-radius: 16px;
	padding: 80px 70px;
}

/* ============================================================================
   HERO (#hero-14) — fundo azul sólido, texto branco
   ============================================================================ */
#hero-14 {
	background-color: var(--wp-blue);
	color: #fff;
	padding: 150px 0 15px;
	margin-top: 30px;
	position: relative;
}
#hero-14 .wp-title-lg,
#hero-14 .wp-subtitle { color: #fff; }
#hero-14 .wp-subtitle {
	opacity: 0.92;
	margin-bottom: 28px;
	font-size: 1.15rem;
	line-height: 1.6;
	padding: 0 4%;
}
#hero-14 .wp-title-lg {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 24px;
}
#hero-14 .btn--theme {
	background-color: #fff !important;
	color: var(--wp-blue) !important;
	border-color: #fff !important;
	font-weight: 600;
	padding: 16px 48px;
	font-size: 1.0625rem;
	border-radius: 6px;
	display: inline-block;
}
#hero-14 .btn--theme:hover {
	background-color: var(--wp-gray-50) !important;
}
.wp-hero-note {
	display: block;
	margin-top: 18px;
	margin-bottom: 0;
	font-size: 0.8rem !important;
	opacity: 0.75;
	color: #fff;
}
.wp-hero-note .flaticon-check { margin-right: 4px; position: relative; top: 1px; }

/* ── Laptop mockup (CSS dos IDs preservado para o GSAP funcionar) ── */
.wp-hero-mockup-wrap {
	display: flex;
	justify-content: center;
	margin-top: 60px;
	overflow: visible;
}
#hero-browser-mockup {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
}
#laptop-frame {
	position: relative;
	z-index: 1;
	width: 100%;
	display: block;
	pointer-events: none;
}
#laptop-screen {
	position: absolute;
	top: 4.9%;
	left: 25.2%;
	width: 64.1%;
	height: 80.8%;
	overflow: hidden;
	z-index: 2;
	border-radius: 2px;
}
#laptop-content {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	will-change: transform;
	display: block;
}
#laptop-frame-overlay { display: none; }

/* ============================================================================
   HERO-10 (páginas internas: empresas, consultores, produtos, etc.)
   Layout 2-coluna texto + imagem, fundo azul sólido (substitui hero-10.jpg)
   ============================================================================ */
#hero-10 {
	background-color: var(--wp-blue);
	color: #fff;
	/*min-height: 450px;*/
	position: relative;
	z-index: 3;
	padding: 140px 0 30px;
}
#hero-10 .wp-hero-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.2;
	margin-bottom: 14px;
	color: #fff;
}
#hero-10 .wp-hero-desc {
	font-size: 1.05rem;
	font-weight: 400;
	margin-bottom: 22px;
	color: rgba(255,255,255,0.9);
}
#hero-10 .btn--theme {
	background-color: #fff !important;
	color: var(--wp-blue) !important;
	border-color: #fff !important;
	font-weight: 600;
	border-radius: 4px;
}
#hero-10 .btn--theme:hover {
	background-color: var(--wp-gray-50) !important;
}
#hero-10 .wp-hero-img {
	max-height: 340px;
	width: auto;
	max-width: 100%;
	border-radius: 8px;
	box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

/* Resource tabs no hero (consultores-*) */
#hero-10 .wp-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 24px; }
#hero-10 .wp-tab {
	background: rgba(255,255,255,0.2);
	color: #fff;
	border-radius: 20px;
	padding: 6px 16px;
	font-size: 0.85rem;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s;
}
#hero-10 .wp-tab:hover { background: rgba(255,255,255,0.35); color: #fff; }
#hero-10 .wp-tab.active {
	background: #fff;
	color: var(--wp-gray-900);
	font-weight: 600;
}

/* ── Feature cards (4-up grid abaixo do hero) ── */
.wp-feature-card {
	background: #fff;
	border-radius: 12px;
	padding: 40px 35px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	height: 100%;
}
.wp-feature-card .feature-icon {
	font-size: 3.2rem;
	color: var(--wp-blue);
	display: inline-block;
	margin-bottom: 20px;
}
.wp-feature-card h5 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.15rem;
	margin-bottom: 12px;
	color: var(--wp-gray-900);
}
.wp-feature-card p {
	font-size: 0.95rem;
	color: var(--wp-text-muted);
	margin: 0;
}
.feature-icon[class*="flaticon-"]:before { font-size: inherit !important; }

/* ── Alternating sections (img esquerda/direita) ── */
.wp-alt-section { padding: 80px 0; }
.wp-alt-section.wp-bg-gray { background: var(--wp-gray-50); }
.wp-alt-section.wp-bg-white { background: #fff; }
.wp-alt-section img.img-fluid {
	border-radius: 8px;
}
.wp-alt-section .wp-block-text {
	color: var(--wp-text-muted);
	margin: 0 0 14px;
}
.wp-link-arrow {
	display: inline-block;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-theme, var(--wp-blue));
	text-decoration: none;
}
.wp-link-arrow:hover {
	color: var(--wp-blue-dark);
	text-decoration: none;
}

/* ============================================================================
   HUBSPOT FORM (mantido — futura integração)
   ============================================================================ */
#hubspot-form-hero .hs-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	max-width: 560px;
}
#hubspot-form-hero .hs-form .hs-email { flex: 1 1 280px; }
#hubspot-form-hero .hs-form input[type="email"] {
	width: 100%;
	height: 58px;
	padding: 0 20px;
	border: 2px solid transparent;
	border-radius: 6px;
	font-size: 1.0625rem;
	background: #fff;
	color: #333;
	box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
#hubspot-form-hero .hs-form input[type="email"]:focus {
	outline: none;
	border-color: var(--wp-blue);
}
#hubspot-form-hero .hs-form .hs-submit input[type="submit"] {
	height: 58px;
	padding: 0 36px;
	background: var(--wp-blue);
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1.0625rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s;
}
#hubspot-form-hero .hs-form .hs-submit input[type="submit"]:hover {
	background: var(--wp-blue-dark);
}
#hubspot-form-hero .submitted-message { color: #fff; font-size: 1rem; margin-top: 12px; }
#hubspot-form-hero .hs-error-msgs { display: none; }

/* ============================================================================
   HEADER — DEFAULT: branco com logo colorida (funciona em todas as páginas)
   ============================================================================ */
#header .wsmainfull {
	background-color: rgba(255,255,255,0.95) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
#header .wsmenu > .wsmenu-list > li > a.h-link { color: #333 !important; }
#header .wsmenu > .wsmenu-list > li > a.h-link:hover { color: var(--wp-blue) !important; }
#header .logo-black { display: inline-block !important; }
#header .logo-white { display: none !important; }
#header .wsmenu-list .btn--theme {
	background-color: var(--wp-blue) !important;
	color: #fff !important;
	border: 2px solid var(--wp-blue) !important;
}
#header .wsmenu-list .btn--theme:hover {
	background-color: var(--wp-blue-dark) !important;
	color: #fff !important;
	border-color: var(--wp-blue-dark) !important;
}

/* Estado transparente removido — header agora é sempre branco com logo colorida
   em todas as páginas (decisão de design unificada). */

/* ============================================================================
   MENU MOBILE (≤991px) — apenas troca de cores (largura/animação ficam com menu.css)
   ============================================================================ */
@media only screen and (max-width: 991px) {
	/* Painel principal: fundo branco (sem mexer em width/margin) */
	#header .wsmenu > .wsmenu-list {
		background: #ffffff !important;
		box-shadow: -2px 0 24px rgba(0,0,0,0.12);
	}

	/* Itens do menu: texto escuro */
	#header .wsmenu > .wsmenu-list > li > a,
	#header .wsmenu > .wsmenu-list > li > a.h-link {
		color: var(--wp-gray-900) !important;
		border-bottom-color: #f0f0f0 !important;
	}
	/* Hover/active: azul wiseplan */
	#header .wsmenu > .wsmenu-list > li:hover > a,
	#header .wsmenu > .wsmenu-list > li > a:hover {
		background-color: #f4f4f9 !important;
		color: var(--wp-blue) !important;
	}
	/* Setas dos dropdowns: cinza */
	#header .wsmenu > .wsmenu-list > li > a > i,
	#header .wsmenu .wsmenu-click > i {
		color: var(--wp-text-muted) !important;
		border-color: var(--wp-text-muted) !important;
	}

	/* Submenu */
	#header .wsmenu > .wsmenu-list > li > ul.sub-menu {
		background-color: #f9f9fb !important;
	}
	#header .wsmenu > .wsmenu-list > li > ul.sub-menu > li > a {
		color: var(--wp-text) !important;
	}
	#header .wsmenu > .wsmenu-list > li > ul.sub-menu > li > a:hover,
	#header .wsmenu > .wsmenu-list > li > ul.sub-menu li:hover > a {
		background-color: #eef1f6 !important;
		color: var(--wp-blue) !important;
	}

	/* Botão "Lista de Espera" no mobile: azul sólido */
	#header .wsmenu-list .btn--theme,
	#header .wsmainfull.scroll .wsmenu-list .btn--theme {
		background-color: var(--wp-blue) !important;
		color: #fff !important;
		border: none !important;
	}
}

/* ============================================================================
   RESPONSIVE — único bloco de breakpoints
   ============================================================================ */
@media (max-width: 1199.98px) {
	.wp-title-lg              { font-size: 2.4rem; }
	.wp-features-hero-title   { font-size: 2.1rem; }
	.wp-features-hero-desc    { font-size: 1.05rem; }
	.wp-section-title         { font-size: 2.05rem; margin-bottom: 16px; }
	.wp-section-title.size-48 { font-size: 2.1rem; }
	#hero-14 .wp-title-lg     { font-size: 2.75rem; margin-bottom: 20px; }
	#hero-14 .wp-subtitle     { font-size: 1.1rem; margin-bottom: 24px; }
}

@media (max-width: 991.98px) {
	.wp-title-lg              { font-size: 2.1rem; }
	.wp-section-title         { font-size: 1.85rem; line-height: 1.35; margin-bottom: 16px; }
	.wp-section-title.size-48 { font-size: 1.95rem; line-height: 1.35; }
	.wp-section-header        { margin-bottom: 42px; }
	#hero-14 .wp-title-lg     { font-size: 2.25rem; line-height: 1.3; margin-bottom: 16px; }
	#hero-14 .wp-subtitle     { font-size: 1.05rem; margin-bottom: 22px; padding: 0 3%; }
	#hero-browser-mockup      { max-width: 760px; }
	#hero-10                  { padding: 110px 0 50px; min-height: auto; }
	#hero-10 .wp-hero-title   { font-size: 1.9rem; }
	#hero-10 .wp-hero-desc    { font-size: 1rem; }
	#hero-10 .col-lg-6.text-center { margin-top: 30px; }
	.wp-row, .wp-row-top, .wp-row-center { gap: 30px; }
	.wp-col-half, .wp-col-5, .wp-col-7 { flex-basis: 100%; }
	.wp-alt-section           { padding: 60px 0; }
	.wp-alt-section img.img-fluid { margin-bottom: 25px; }
}

@media (max-width: 767px) {
	.wp-section, .wp-section-alt, .wp-section-light { padding: 60px 0; }
	.wp-title-lg              { font-size: 1.85rem; }
	.wp-title-md              { font-size: 1.55rem; }
	.wp-box-card              { padding: 50px 22px; }
	#hero-14                  { padding: 100px 0 15px; }
	.wp-hero-mockup-wrap      { margin-top: 40px; }
	#hero-browser-mockup      { max-width: 640px; }
	#hero-10 .wp-hero-img     { max-height: none; width: 100%; }
}

@media (max-width: 575.98px) {
	.wp-section-title         { font-size: 1.55rem; line-height: 1.35; margin-bottom: 14px; }
	.wp-section-title.size-48 { font-size: 1.65rem; line-height: 1.35; padding: 0 1%; }
	.wp-section-header        { margin-bottom: 34px; }
	#hero-14 .wp-title-lg     { font-size: 1.85rem; line-height: 1.3; margin-bottom: 16px; }
	#hero-14 .wp-subtitle     { font-size: 1rem; padding: 0 2%; }
	#hero-browser-mockup      { max-width: 100%; }
	#laptop-screen            { border-radius: 1px; }
	#hero-10                  { padding: 100px 0 40px;}
	#hero-10 .wp-hero-title   { font-size: 1.55rem; line-height: 1.3; }
	#hero-10 .wp-hero-desc    { font-size: 0.95rem; }
	#hero-10 .wp-hero-img     { max-height: 240px; }
	#hero-10 .wp-tab          { font-size: 0.75rem; padding: 5px 12px; }
	.wp-alt-section           { padding: 45px 0; }
	.wp-row, .wp-row-top, .wp-row-center { gap: 24px; }
	.wp-feature-card          { padding: 28px 22px; }
	.wp-feature-card h5       { font-size: 1.05rem; }
	.wp-feature-card p        { font-size: 0.9rem; }
	.wp-block-title           { text-align: center; }
	.section-carousel .owl-stage-outer { border-radius: 10px; }
}

/* ============================================================================
   PRICING CARDS (preco.html)
   ============================================================================ */
.pricing-card {
	background: #fff;
	border-radius: 16px;
	padding: 40px 32px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
}
.pricing-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.12); }
.pricing-card--highlighted { border: 2px solid var(--wp-blue); }
@media (min-width: 768px) {
	.pricing-card--highlighted { transform: scale(1.05); z-index: 2; }
	.pricing-card--highlighted:hover { transform: scale(1.07); }
}
.pricing-card--dimmed { opacity: 0.7; }
.pricing-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 5px 14px;
	border-radius: 50px;
	color: #fff;
	margin-bottom: 16px;
}
.pricing-badge--green { background-color: #16a34a; }
.pricing-badge--gray  { background-color: #9ca3af; }
.pricing-name {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	margin-bottom: 8px;
	color: var(--wp-gray-900);
}
.pricing-description {
	font-size: 0.95rem;
	color: #6b7280;
	margin-bottom: 20px;
	min-height: 44px;
}
.pricing-price-original {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
	color: #9ca3af;
	text-decoration: line-through;
	margin-bottom: 6px;
	line-height: 1.2;
}
.pricing-price-original .price-unit {
	font-size: 0.85em;
	font-weight: 500;
}
.pricing-beta-note {
	display: inline-block;
	background: #ecfdf5;
	color: #15803d;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 5px 14px;
	border-radius: 50px;
	margin-bottom: 10px;
}
.pricing-price {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 800;
	font-size: 2.75rem;
	color: var(--wp-gray-900);
	margin-bottom: 4px;
	line-height: 1.1;
}
.pricing-price-period { font-size: 0.95rem; color: #6b7280; margin-bottom: 28px; }
.pricing-features {
	list-style: none; padding: 0; margin: 0 0 32px 0;
	text-align: left; flex-grow: 1;
}
.pricing-features li {
	padding: 8px 0;
	font-size: 0.95rem;
	color: #374151;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.pricing-features li .check {
	color: #16a34a;
	font-weight: 700;
	font-size: 1.1rem;
	flex-shrink: 0;
	line-height: 1.4;
}
.pricing-card .btn--disabled {
	color: #fff !important;
	border-color: #9ca3af !important;
	background-color: #9ca3af !important;
	cursor: not-allowed;
	pointer-events: none;
}
.pricing-note { font-size: 0.875rem; color: #6b7280; margin-top: 40px; text-align: center; }

/* ── Ícone X para features ausentes ── */
.pricing-features li .nocheck {
	color: #d1d5db;
	font-weight: 700;
	font-size: 1.1rem;
	flex-shrink: 0;
	line-height: 1.4;
}
.pricing-features li.feature-off { color: #9ca3af; }

/* ── Toggle mensal/anual ── */
.pricing-toggle {
	display: flex; align-items: center; justify-content: center;
	gap: 14px; margin-bottom: 40px;
}
.pricing-toggle .toggle-label {
	font-size: 1rem; font-weight: 600; color: var(--wp-text-muted); cursor: pointer;
	transition: color 0.2s;
}
.pricing-toggle .toggle-label.active { color: var(--wp-gray-900); }
.pricing-toggle .save-badge {
	display: inline-block;
	background: #16a34a;
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 20px;
	margin-left: 6px;
	vertical-align: middle;
	letter-spacing: 0.03em;
}
.price-switch { position: relative; display: inline-block; width: 50px; height: 28px; }
.price-switch input { opacity: 0; width: 0; height: 0; }
.price-slider {
	position: absolute; inset: 0; cursor: pointer;
	background: var(--wp-blue);
	border-radius: 28px;
	transition: background 0.3s;
}
.price-slider:before {
	content: ""; position: absolute;
	width: 22px; height: 22px; left: 3px; bottom: 3px;
	background: #fff; border-radius: 50%;
	transition: transform 0.3s;
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
#pricing-toggle-checkbox:checked + .price-slider:before { transform: translateX(22px); }

/* Variantes mensal/anual (.price-monthly visível por padrão; JS alterna) */
.price-annual { display: none; }
.pricing-card .price-unit {
	font-size: 0.45em;
	font-weight: 500;
	color: var(--wp-text-muted);
	margin-left: 2px;
}
.pricing-price-extra {
	font-size: 0.85rem;
	color: var(--wp-text-muted);
	margin: -16px 0 24px;
	min-height: 1.2em;
}
.pricing-price-extra .pricing-price-original {
	display: inline;
	font-size: inherit;
	margin: 0;
}

/* ============================================================================
   PRICING — TABELA COMPARATIVA DETALHADA
   ============================================================================ */
.pricing-table-wrap {
	overflow-x: auto;
	margin-top: 60px;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	background: #fff;
}
.pricing-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
	min-width: 600px;
}
.pricing-table thead th {
	background: var(--wp-gray-900);
	color: #fff;
	padding: 18px 20px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	text-align: center;
	font-size: 1rem;
	letter-spacing: 0.02em;
	position: sticky;
	top: 0;
}
.pricing-table thead th:first-child {
	text-align: left;
	background: var(--wp-gray-900);
}
.pricing-table thead th.col-premium {
	background: var(--wp-blue);
	position: relative;
}
.pricing-table tbody tr.category-row td {
	background: var(--wp-gray-50);
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	color: var(--wp-gray-900);
	padding: 14px 20px;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-top: 1px solid #e5e7eb;
}
.pricing-table tbody td {
	padding: 13px 20px;
	border-bottom: 1px solid #f0f0f0;
	color: var(--wp-text);
	vertical-align: middle;
}
.pricing-table tbody td:first-child {
	font-weight: 500;
	color: var(--wp-gray-900);
}
.pricing-table tbody td.cell-check,
.pricing-table tbody td.cell-nocheck,
.pricing-table tbody td.cell-text {
	text-align: center;
	width: 22%;
	font-size: 0.95rem;
}
.pricing-table .icon-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	background: #16a34a;
	color: #fff;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: 700;
}
.pricing-table .icon-nocheck {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	background: #e5e7eb;
	color: #9ca3af;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: 700;
}
.pricing-table tbody tr:hover td:not(.category-row td) {
	background: #fafafa;
}

@media (max-width: 575.98px) {
	.pricing-table { font-size: 0.85rem; }
	.pricing-table thead th { padding: 14px 12px; font-size: 0.9rem; }
	.pricing-table tbody td { padding: 11px 12px; }
}

/* ============================================================================
   CONTACT FORM (contato.html)
   ============================================================================ */
.contact-form .form-control,
.contact-form .form-select {
	padding: 12px 16px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 0.9375rem;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.contact-form .form-control:focus,
.contact-form .form-select:focus {
	border-color: var(--wp-blue);
	box-shadow: 0 0 0 3px rgba(13,107,186,0.15);
}
.contact-form label {
	font-weight: 600;
	font-size: 0.875rem;
	margin-bottom: 6px;
	color: #374151;
}
.contact-info-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	background: #f9fafb;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 16px;
}
.contact-info-card .card-icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(13,107,186,0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp-blue);
}
.contact-info-card .card-text h5 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: 4px;
	color: #1f2937;
}
.contact-info-card .card-text p { font-size: 0.875rem; color: #6b7280; margin-bottom: 2px; }
.contact-info-card .card-text a {
	color: var(--wp-blue);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
}
.contact-info-card .card-text a:hover { text-decoration: underline; }
.social-links-section { margin-top: 30px; }
.social-links-section h3 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	margin-bottom: 16px;
	color: #1f2937;
}
.social-links-section .social-icons { display: flex; gap: 12px; }
.social-links-section .social-icons a {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: #f9fafb;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6b7280;
	transition: background 0.2s, color 0.2s;
}
.social-links-section .social-icons a:hover { background: var(--wp-blue); color: #fff; }
.faq-link-box {
	margin-top: 30px;
	background: #f9fafb;
	border-radius: 12px;
	padding: 24px;
}
.faq-link-box h3 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	margin-bottom: 8px;
	color: #1f2937;
}
.faq-link-box p { font-size: 0.9rem; color: #6b7280; margin-bottom: 12px; }
.faq-link-box a {
	color: var(--wp-blue);
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
}
.faq-link-box a:hover { text-decoration: underline; }

/* ============================================================================
   FAQ ACCORDION (faq.html)
   ============================================================================ */
.faq-category-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	color: var(--wp-gray-900);
	margin-top: 40px;
	margin-bottom: 20px;
}
.faq-category-title:first-of-type { margin-top: 0; }
.wp-section-light .accordion-item {
	border: 1px solid #e5e7eb;
	border-radius: 8px !important;
	margin-bottom: 12px;
	overflow: hidden;
}
.wp-section-light .accordion-button {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--wp-gray-900);
	padding: 18px 24px;
	background-color: #fff;
}
.wp-section-light .accordion-button:not(.collapsed) {
	color: var(--wp-blue);
	background-color: #f0f7ff;
	box-shadow: none;
}
.wp-section-light .accordion-button:focus { box-shadow: none; border-color: #e5e7eb; }
.wp-section-light .accordion-button::after { background-size: 1rem; }
.wp-section-light .accordion-body {
	font-size: 1rem;
	line-height: 1.7;
	color: #4b5563;
	padding: 0 24px 20px 24px;
}

/* ============================================================================
   LEGAL PROSE (termos-de-uso.html, politica-privacidade.html)
   ============================================================================ */
.wp-legal-prose { max-width: 860px; margin: 0 auto; }
.wp-legal-prose h2 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.35;
	color: var(--wp-gray-900);
	margin-top: 40px;
	margin-bottom: 16px;
}
.wp-legal-prose h2:first-of-type { margin-top: 0; }
.wp-legal-prose h3 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	font-size: 1.15rem;
	line-height: 1.4;
	color: var(--wp-gray-900);
	margin-top: 28px;
	margin-bottom: 12px;
}
.wp-legal-prose p {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: #4b5563;
	margin-bottom: 16px;
}
.wp-legal-prose ul { padding-left: 24px; margin-bottom: 16px; }
.wp-legal-prose ul li {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: #4b5563;
	margin-bottom: 8px;
}
.wp-legal-prose strong { color: var(--wp-gray-900); font-weight: 600; }
.wp-legal-prose a { color: var(--wp-blue); font-weight: 600; text-decoration: underline; }
.wp-legal-prose a:hover { color: var(--wp-blue-dark); }
.wp-legal-callout {
	background-color: #f0fdf4;
	border-left: 4px solid #22c55e;
	padding: 20px 24px;
	border-radius: 8px;
	margin-bottom: 40px;
}
.wp-legal-callout p { color: #166534; margin-bottom: 0; font-size: 1.0625rem; line-height: 1.75; }
.wp-legal-important {
	background-color: #fefce8;
	border-left: 4px solid #eab308;
	padding: 16px 20px;
	border-radius: 6px;
	margin: 16px 0;
}
.wp-legal-important p { color: #854d0e; margin-bottom: 0; font-weight: 600; }
.wp-legal-bottom-links {
	text-align: center;
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid #e5e7eb;
}
.wp-legal-bottom-links p { color: #6b7280; font-size: 1rem; }
.wp-legal-note-box {
	margin-top: 48px;
	padding: 24px;
	background: #f8fafc;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	text-align: center;
}
.wp-legal-note-box p:first-child {
	margin-bottom: 8px;
	color: var(--wp-gray-900);
	font-weight: 600;
}
.wp-legal-note-box p:last-child {
	margin-bottom: 0;
	color: #6b7280;
	font-size: 0.875rem;
}

/* ============================================================================
   TOOL HUB CARDS (ferramentas.html)
   ============================================================================ */
.tool-hub-card {
	display: block;
	background: #fff;
	border-radius: 14px;
	padding: 36px 30px 30px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.07);
	transition: transform .25s ease, box-shadow .25s ease;
	height: 100%;
	text-decoration: none;
	color: inherit;
	position: relative;
}
.tool-hub-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 32px rgba(0,0,0,0.13);
	text-decoration: none;
	color: inherit;
}
.tool-hub-card .card-icon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(13,107,186,0.08);
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tool-hub-card .card-icon svg {
	width: 28px;
	height: 28px;
	color: var(--wp-blue);
}
.tool-hub-card .card-title {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.15rem;
	margin-bottom: 10px;
	color: var(--wp-gray-900);
}
.tool-hub-card .card-desc {
	font-size: 0.93rem;
	color: #6b7280;
	margin: 0 0 18px;
	line-height: 1.55;
}
.tool-hub-card .card-arrow {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp-blue);
}
.tool-hub-card .card-arrow svg { width: 18px; height: 18px; transition: transform .2s; }
.tool-hub-card:hover .card-arrow svg { transform: translateX(4px); }
.tool-hub-card .card-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: var(--wp-blue);
	color: #fff;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* How-step (ferramentas.html) */
.how-step { padding: 30px 20px; text-align: center; }
.how-step .step-icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
}
.how-step .step-icon svg { width: 28px; height: 28px; color: #fff; }
.how-step .step-number {
	display: inline-block;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 800;
	font-size: 0.75rem;
	color: var(--wp-blue);
	background: rgba(13,107,186,0.1);
	border-radius: 20px;
	padding: 2px 12px;
	margin-bottom: 12px;
}
.how-step h5 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 1.1rem;
	margin-bottom: 10px;
}
.how-step p { font-size: 0.93rem; color: #6b7280; margin: 0; }

/* Solid-blue CTA section (ferramentas.html) */
.wp-section-cta-blue {
	padding: 80px 0;
	background: var(--wp-blue);
	color: #fff;
}
.wp-section-cta-blue .wp-cta-heading { color: #fff; }
.wp-section-cta-blue .wp-cta-desc { color: rgba(255,255,255,0.9); }
.wp-section-cta-blue .btn--theme {
	background-color: #fff !important;
	color: var(--wp-blue) !important;
	border-color: #fff !important;
	font-weight: 600;
}
.wp-section-cta-blue .btn--theme:hover { background-color: var(--wp-gray-50) !important; }
