/*
Theme Name:   IdadeSeria Child
Theme URI:    https://idadeseria.com
Description:  Tema filho do Hello Elementor para o blog de reviews IdadeSeria. Focado em performance, SEO e alta conversão de afiliados (Mercado Livre, Amazon, Kabum).
Author:       IdadeSeria
Author URI:   https://idadeseria.com
Template:     hello-elementor
Version: 1.9.1
Text Domain:  idadeseria-child
*/

/* =====================================================================
   DESIGN SYSTEM — IdadeSeria
   ===================================================================== */
:root{
	--is-azul:        #7BC5E8;
	--is-azul-med:    #4ba4cf;
	--is-azul-esc:    #1e5f80;
	--is-bg:          #f4f9fc;
	--is-bg-suave:    #e6f4fb;
	--is-bg-suave2:   #cfe7f4;
	--is-borda:       #e2eef5;
	--is-texto:       #0e2a3a;
	--is-texto-med:   #3a5a6e;
	--is-texto-fraco: #6a8a9e;
	--is-escuro:      #0e2a3a;
	--is-verde:       #2b8f5c;
	--is-verde-borda: #d0ecda;
	--is-vermelho:    #b84040;
	--is-vermelho-borda:#f0d5d5;

	--ml-amarelo:     #FFE600;
	--ml-texto:       #0e2a3a;
	--amazon-preto:   #131A22;
	--amazon-laranja: #FF9900;
	--kabum-azul:     #002F6C;
	--kabum-laranja:  #FF6E00;
	--shopee-laranja: #EE4D2D;

	--is-fonte:       'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--is-fonte-mono:  'JetBrains Mono', ui-monospace, Menlo, monospace;
	--is-radius:      12px;
	--is-radius-lg:   16px;
	--is-container:   800px;
	--is-container-lg:1200px;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

/* =====================================================================
   RESET DEFINITIVO — anula Hello Elementor por completo.
   Fundo branco, sem cinzas herdados, sem bordas/box-shadow/padding
   nos wrappers do tema pai. Layout liso, estilo site de notícias.
   ===================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
img{ max-width:100%; height:auto; display:block; }

html,
body,
body.elementor-default,
body.elementor-page,
body.elementor-kit-default,
body.single,
body.page,
body.blog,
body.archive,
body.search,
body.home{
	background: #ffffff !important;
	background-color: #ffffff !important;
}

.site,
.site-content,
.site-main,
main,
main.site-main,
main#main,
main#content,
.page-content,
.entry-content,
.entry-content-wrapper,
.elementor-page,
.elementor-page > .site,
.elementor-page main,
.elementor-page article,
.elementor-page .site-content,
.elementor-page .entry-content,
article,
article.post,
article.page,
.hentry{
	background: #ffffff !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-page .entry-header,
.elementor-page .entry-footer,
.entry-header,
.entry-footer{
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

body{
	font-family: var(--is-fonte);
	color: var(--is-texto);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	line-height: 1.6;
}

/* =====================================================================
   Tipografia
   ===================================================================== */
h1,h2,h3,h4{
	font-family: var(--is-fonte);
	color: var(--is-texto);
	letter-spacing: -.02em;
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 .5em;
}
h1{ font-size: clamp(28px, 5vw, 44px); letter-spacing: -.03em; }
h2{ font-size: clamp(22px, 3vw, 30px); margin-top: 1.6em; }
h3{ font-size: clamp(18px, 2.2vw, 20px); font-weight: 700; margin-top: 1.4em; }
p{ font-size: 16.5px; line-height: 1.75; color: #243848; margin: 0 0 18px; }

a{ color: var(--is-azul-med); text-decoration: none; }
a:hover{ color: var(--is-azul-esc); text-decoration: underline; }

blockquote{
	border-left: 4px solid var(--is-azul);
	padding: 6px 22px;
	margin: 32px 0;
	background: var(--is-bg);
	border-radius: 0 8px 8px 0;
	font-style: italic;
	color: var(--is-texto);
}
code,kbd,samp,pre{ font-family: var(--is-fonte-mono); }

/* =====================================================================
   Header / Footer / Announcement (herdado do design)
   ===================================================================== */
.is-container{
	max-width: var(--is-container-lg);
	margin: 0 auto;
	padding: 0 20px;
}
.is-container-narrow{
	max-width: var(--is-container);
	margin: 0 auto;
	padding: 0 20px;
}

.is-announcement{
	background: var(--is-escuro);
	color: var(--is-bg-suave);
	font-size: 12.5px;
	font-weight: 500;
	overflow: hidden;
	white-space: nowrap;
}

.is-header{
	background: #fff;
	border-bottom: 1px solid var(--is-borda);
	position: sticky;
	top: 0;
	z-index: 50;
}
.is-header-inner{
	max-width: var(--is-container-lg);
	margin: 0 auto;
	padding: 16px 20px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
}
.is-logo{
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	font-weight: 800;
	font-size: 19px;
	letter-spacing: -.02em;
	color: var(--is-texto);
}
.is-logo:hover{ text-decoration: none; }
.is-logo span{ color: var(--is-azul-med); }
.is-logo img{ max-height: 36px; width: auto; }

.is-nav{
	display: flex;
	gap: 22px;
	font-size: 14px;
	font-weight: 500;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.is-nav a{ color: var(--is-texto-med); text-decoration: none; }
.is-nav a:hover,
.is-nav .current-menu-item > a{
	color: var(--is-texto);
	font-weight: 600;
}

.is-footer{
	background: var(--is-escuro);
	color: var(--is-bg-suave);
	padding: 0;
	margin-top: 0;
	font-size: 13.5px;
}
.is-footer-inner{
	max-width: var(--is-container-lg);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
	text-align: center;
}
.is-footer a{ color: var(--is-azul); }
.is-footer-nav{
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.is-footer-copy{
	color: var(--is-texto-fraco);
	font-size: 12px;
	letter-spacing: .02em;
}

/* =====================================================================
   SINGLE POST — Layout centralizado 800px, foco em leitura/conversão.
   ===================================================================== */
.is-single-wrap{
	background: var(--is-bg-suave);
	padding: 32px 20px 64px;
}
.is-single-inner{
	max-width: 800px;
	margin: 0 auto;
}
.is-single{
	background: #ffffff !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.is-single-header{ margin-bottom: 32px; }
.is-single-cat{
	display: inline-block;
	background: var(--is-bg-suave);
	color: var(--is-azul-esc);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	padding: 5px 10px;
	border-radius: 5px;
	text-transform: uppercase;
	margin-bottom: 14px;
	text-decoration: none;
}
.is-single-cat:hover{ background: var(--is-bg-suave2); text-decoration: none; }
.is-single-titulo{
	font-size: clamp(28px, 4.5vw, 42px);
	line-height: 1.15;
	letter-spacing: -.025em;
	margin: 0 0 14px;
	color: var(--is-texto);
}
.is-single-meta{
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	font-size: 13.5px;
	color: var(--is-texto-fraco);
	font-family: var(--is-fonte-mono);
	margin: 0 0 22px;
}
.is-single-meta-sep{ opacity: .4; }
.is-single-excerpt{
	font-size: 18px;
	line-height: 1.6;
	color: var(--is-texto-med);
	font-weight: 500;
	margin: 0 0 24px;
}
.is-single-thumb{
	margin: 0 0 32px;
	border-radius: var(--is-radius);
	overflow: hidden;
}
.is-single-thumb img{ width: 100%; height: auto; display: block; }
.is-single-content{
	font-size: 17px;
	line-height: 1.75;
	color: #243848;
}
.is-single-content > * + *{ margin-top: 1em; }
.is-single-tags{
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid var(--is-borda);
	font-size: 13.5px;
	color: var(--is-texto-fraco);
	font-family: var(--is-fonte-mono);
}
.is-single-tags a{ margin-right: 6px; }

/* =====================================================================
   HOME (front-page) — Hero em largura total.
   ===================================================================== */
.is-hero{
	background: var(--is-bg-suave);
	padding: clamp(48px, 8vw, 96px) 20px clamp(32px, 5vw, 56px);
	text-align: center;
}
.is-hero-inner{
	max-width: 820px;
	margin: 0 auto;
}
.is-hero-eyebrow{
	display: inline-block;
	background: #ffffff;
	color: var(--is-azul-esc);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 6px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	margin-bottom: 18px;
	border: 1px solid var(--is-borda);
}
.is-hero-titulo{
	font-size: clamp(34px, 6vw, 56px);
	line-height: 1.1;
	letter-spacing: -.03em;
	margin: 0 0 16px;
	color: var(--is-texto);
}
.is-hero-sub{
	font-size: clamp(16px, 2vw, 19px);
	color: var(--is-texto-med);
	max-width: 620px;
	margin: 0 auto;
	line-height: 1.55;
}

.is-front-wrap{
	background: var(--is-bg-suave);
	padding: clamp(40px, 6vw, 72px) 20px 64px;
}
.is-front-inner{
	max-width: var(--is-container-lg);
	margin: 0 auto;
}
.is-front-header{ margin-bottom: 36px; text-align: left; }
.is-front-titulo{
	font-size: clamp(24px, 3vw, 30px);
	margin: 0 0 6px;
	color: var(--is-texto);
	letter-spacing: -.02em;
}
.is-front-sub{
	color: var(--is-texto-fraco);
	font-size: 15px;
	margin: 0;
}

/* =====================================================================
   ARCHIVE / INDEX
   ===================================================================== */
.is-archive-wrap{
	background: var(--is-bg-suave);
	padding: clamp(40px, 6vw, 72px) 20px 64px;
}
.is-archive-inner{
	max-width: var(--is-container-lg);
	margin: 0 auto;
}
.is-archive-header{
	margin-bottom: 40px;
	text-align: left;
	max-width: 720px;
}
.is-archive-eyebrow{
	display: inline-block;
	background: var(--is-bg-suave);
	color: var(--is-azul-esc);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	padding: 5px 10px;
	border-radius: 5px;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.is-archive-titulo{
	font-size: clamp(30px, 4.5vw, 44px);
	margin: 0 0 12px;
	color: var(--is-texto);
	letter-spacing: -.025em;
}
.is-archive-desc{
	font-size: 17px;
	color: var(--is-texto-med);
	line-height: 1.6;
	margin: 0;
}
.is-archive-vazio{
	color: var(--is-texto-fraco);
	font-size: 16px;
	padding: 40px 0;
	text-align: center;
}

/* =====================================================================
   GRID de cards (compartilhado por home, archive e index)
   3 colunas desktop / 2 tablet / 1 mobile.
   ===================================================================== */
.is-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
@media (max-width: 960px){
	.is-grid{ grid-template-columns: repeat(2, 1fr); gap: 22px; }
}
@media (max-width: 620px){
	.is-grid{ grid-template-columns: 1fr; gap: 24px; }
}

.is-card{
	background: #ffffff !important;
	border: 1px solid var(--is-borda) !important;
	border-radius: var(--is-radius-lg);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.is-card:hover{
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(14,42,58,.08) !important;
	border-color: #cfe0ec !important;
}
.is-card-link{
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none !important;
}
.is-card-thumb{
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, var(--is-bg-suave), var(--is-bg-suave2));
}
.is-card-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
.is-card:hover .is-card-thumb img{ transform: scale(1.04); }
.is-card-thumb-fallback{
	width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--is-bg-suave), var(--is-bg-suave2));
}
.is-card-body{
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.is-card-cat{
	display: inline-block;
	background: var(--is-bg-suave);
	color: var(--is-azul-esc);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 4px 9px;
	border-radius: 5px;
	text-transform: uppercase;
	align-self: flex-start;
}
.is-card-titulo{
	font-size: 19px;
	line-height: 1.25;
	margin: 0;
	color: var(--is-texto);
	letter-spacing: -.015em;
	font-weight: 800;
}
.is-card-excerpt{
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--is-texto-med);
	margin: 0;
	flex: 1;
}
.is-card-meta{
	font-family: var(--is-fonte-mono);
	font-size: 12.5px;
	color: var(--is-texto-fraco);
	margin-top: 4px;
}

/* =====================================================================
   Paginação
   ===================================================================== */
.is-pagination{ margin-top: 48px; }
.is-pagination .nav-links{
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
}
.is-pagination .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--is-borda);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--is-texto-med);
	text-decoration: none;
	background: #fff;
}
.is-pagination .page-numbers:hover{
	background: var(--is-bg-suave);
	color: var(--is-texto);
	text-decoration: none;
}
.is-pagination .page-numbers.current{
	background: var(--is-texto);
	color: #fff;
	border-color: var(--is-texto);
}

/* =====================================================================
   Prós e contras, nota, blocks legado
   ===================================================================== */
.is-proscons{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 28px 0;
}
.is-pros,
.is-contras{
	background: #fff;
	border-radius: var(--is-radius);
	padding: 22px 24px;
}
.is-pros{ border: 1px solid var(--is-verde-borda); }
.is-contras{ border: 1px solid var(--is-vermelho-borda); }
.is-pros-titulo,
.is-contras-titulo{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	margin: 0 0 14px;
	text-transform: uppercase;
}
.is-pros-titulo{ color: var(--is-verde); }
.is-contras-titulo{ color: var(--is-vermelho); }
.is-pros ul,
.is-contras ul{
	margin: 0; padding: 0; list-style: none;
	display: flex; flex-direction: column; gap: 10px;
	font-size: 14.5px; line-height: 1.5; color: #243848;
}
.is-pros li,
.is-contras li{ display: flex; gap: 10px; }
.is-pros li::before{ content:"+"; color: var(--is-verde); flex: 0 0 auto; font-weight: 700; }
.is-contras li::before{ content:"−"; color: var(--is-vermelho); flex: 0 0 auto; font-weight: 700; }

.is-nota-box{
	background: #fff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius-lg);
	padding: 32px;
	margin: 32px 0;
	display: flex;
	align-items: flex-start;
	gap: 32px;
	flex-wrap: wrap;
}
.is-nota-geral{ flex: 0 0 auto; text-align: center; }
.is-nota-label{
	font-size: 11px; font-weight: 700; letter-spacing: .14em;
	color: var(--is-azul-med); margin-bottom: 8px;
}
.is-nota-valor{
	font-size: clamp(56px, 8vw, 72px);
	font-weight: 800;
	color: var(--is-texto);
	line-height: 1;
	letter-spacing: -.04em;
}
.is-nota-max{ font-size: 28px; color: var(--is-texto-fraco); font-weight: 600; }
.is-nota-badge{
	display: inline-block;
	background: var(--is-azul);
	color: var(--is-texto);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 5px 10px;
	border-radius: 5px;
	margin-top: 10px;
	text-transform: uppercase;
}
.is-nota-barras{
	flex: 1;
	min-width: 260px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.is-nota-item .is-nota-topo{
	display: flex; justify-content: space-between;
	font-size: 13.5px; font-weight: 600;
	color: var(--is-texto); margin-bottom: 5px;
}
.is-nota-item .is-nota-topo span:last-child{ font-family: var(--is-fonte-mono); }
.is-nota-bar{
	height: 6px; background: var(--is-borda);
	border-radius: 3px; overflow: hidden;
}
.is-nota-bar > span{ display: block; height: 100%; background: var(--is-azul); }

/* =====================================================================
   [caixa_review] — Caixa de destaque do produto (topo do artigo)
   ===================================================================== */
.cr-box{
	background: #fff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius-lg);
	padding: clamp(20px, 3vw, 28px);
	margin: 32px 0;
	box-shadow: 0 1px 3px rgba(14,42,58,.04);
	position: relative;
}
.cr-tag{
	position: absolute;
	top: -14px; left: 20px;
	background: var(--is-azul);
	color: var(--is-texto);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	padding: 6px 12px;
	border-radius: 6px;
	text-transform: uppercase;
	box-shadow: 0 2px 6px rgba(14,42,58,.12);
}
.cr-header{
	display: flex;
	align-items: flex-start;
	gap: 22px;
	flex-wrap: wrap;
	margin: 8px 0 22px;
}
.cr-img{
	flex: 0 0 auto;
	width: 120px; height: 120px;
	border-radius: var(--is-radius);
	overflow: hidden;
	background: linear-gradient(135deg, var(--is-bg-suave), var(--is-bg-suave2));
	border: 1px solid #d8eaf3;
	display: flex; align-items: center; justify-content: center;
}
.cr-img img{ width: 100%; height: 100%; object-fit: cover; }
.cr-img-placeholder{
	font-family: var(--is-fonte-mono);
	font-size: 10.5px;
	color: var(--is-azul-med);
	text-align: center;
}
.cr-info{ flex: 1; min-width: 220px; }
.cr-badge{
	display: inline-block;
	background: var(--is-bg-suave);
	color: var(--is-azul-esc);
	font-size: 10.5px; font-weight: 700;
	letter-spacing: .12em;
	padding: 4px 9px; border-radius: 5px;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.cr-titulo{
	margin: 0 0 8px;
	font-size: clamp(19px, 2.4vw, 22px);
	font-weight: 800;
	color: var(--is-texto);
	letter-spacing: -.015em;
	line-height: 1.2;
}
.cr-meta{
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: var(--is-texto-fraco);
	font-family: var(--is-fonte-mono);
}
.cr-nota{ color: var(--is-azul-med); font-weight: 700; }
.cr-sep{ opacity: .4; }
.cr-label{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--is-texto-fraco);
	margin-bottom: 12px;
	text-transform: uppercase;
}
.cr-botoes{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}
.cr-btn{
	text-decoration: none;
	border-radius: 10px;
	padding: 22px 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
	transition: transform .15s ease, box-shadow .15s ease;
}
.cr-btn:hover{
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(14,42,58,.14);
	text-decoration: none;
}
.cr-btn-eyebrow{
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.cr-btn-label{
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.15;
}
.cr-btn-ml{ background: var(--ml-amarelo); color: var(--ml-texto); }
.cr-btn-ml .cr-btn-eyebrow{ color: #666; }
.cr-btn-amazon{ background: var(--amazon-preto); color: #fff; }
.cr-btn-amazon .cr-btn-eyebrow{ opacity: .75; }
.cr-btn-amazon .cr-btn-label{ color: var(--amazon-laranja); }
.cr-btn-kabum{ background: var(--kabum-azul); color: #fff; }
.cr-btn-kabum .cr-btn-eyebrow{ opacity: .8; color: #cfe0f5; }
.cr-btn-kabum .cr-btn-label{ color: var(--kabum-laranja); }

.cr-aviso{
	margin: 16px 0 0;
	font-size: 11.5px;
	color: var(--is-texto-fraco);
	line-height: 1.5;
	font-style: italic;
}

/* =====================================================================
   Responsivo
   ===================================================================== */
@media (max-width: 720px){
	.is-header-inner{ gap: 12px; }
	.is-nav{ gap: 14px; width: 100%; justify-content: center; }
	.is-proscons{ grid-template-columns: 1fr; }
	.cr-header{ gap: 16px; }
	.cr-img{ width: 96px; height: 96px; }
	.is-nota-box{ padding: 22px; gap: 22px; }
}

/* =====================================================================
   PAGE — Sobre (page-sobre.php)
   Fundo azul claro (bg-suave), coluna centralizada 800px.
   ===================================================================== */
.is-sobre-wrap{
	background: var(--is-bg-suave);
	padding: clamp(48px, 7vw, 96px) 20px clamp(56px, 8vw, 112px);
}
.is-sobre-inner{
	max-width: 800px;
	margin: 0 auto;
}

/* -------- Hero -------- */
.is-sobre-hero{ margin-bottom: 48px; }
.is-sobre-eyebrow{
	display: inline-block;
	background: #ffffff;
	color: var(--is-azul-esc);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 6px 12px;
	border-radius: 999px;
	text-transform: uppercase;
	margin-bottom: 22px;
	border: 1px solid var(--is-borda);
}
.is-sobre-titulo{
	font-size: clamp(34px, 5.5vw, 56px);
	line-height: 1.08;
	letter-spacing: -.032em;
	margin: 0 0 22px;
	color: var(--is-texto);
	font-weight: 800;
}
.is-sobre-lead{
	font-size: clamp(16px, 2vw, 18px);
	line-height: 1.6;
	color: var(--is-texto-med);
	margin: 0;
	max-width: 620px;
}

/* -------- Stats grid -------- */
.is-stats{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 44px 0 56px;
}
.is-stat{
	background: #ffffff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius);
	padding: 26px 18px 18px;
	text-align: center;
}
.is-stat-num{
	font-size: clamp(36px, 4.5vw, 48px);
	font-weight: 800;
	color: var(--is-texto);
	line-height: 1;
	letter-spacing: -.04em;
	margin-bottom: 14px;
}
.is-stat-unit{
	color: var(--is-azul-med);
	font-size: .55em;
	font-weight: 700;
	margin-left: 2px;
	letter-spacing: -.02em;
}
.is-stat-label{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--is-texto-fraco);
	text-transform: uppercase;
	font-family: var(--is-fonte-mono);
}

/* -------- Seções -------- */
.is-sobre-secao{ margin: 56px 0; }
.is-sobre-secao-final{ margin-bottom: 0; }
.is-sobre-h2{
	font-size: clamp(24px, 3vw, 30px);
	color: var(--is-texto);
	letter-spacing: -.02em;
	margin: 0 0 24px;
	font-weight: 800;
}

/* -------- Passos "Como testamos" -------- */
.is-passo{
	display: flex;
	gap: 22px;
	align-items: flex-start;
	background: #ffffff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius);
	padding: 22px 26px;
	margin-bottom: 14px;
}
.is-passo-num{
	flex: 0 0 auto;
	font-family: var(--is-fonte-mono);
	font-size: 15px;
	font-weight: 700;
	color: var(--is-azul-med);
	background: var(--is-bg-suave);
	border-radius: 8px;
	padding: 6px 10px;
	letter-spacing: .04em;
	min-width: 42px;
	text-align: center;
}
.is-passo-corpo{ flex: 1; min-width: 0; }
.is-passo-titulo{
	font-size: 16.5px;
	font-weight: 700;
	color: var(--is-texto);
	margin: 0 0 6px;
	letter-spacing: -.01em;
	line-height: 1.3;
}
.is-passo-desc{
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--is-texto-med);
	margin: 0;
}

/* -------- Equipe -------- */
.is-equipe{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.is-membro{
	background: #ffffff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius);
	padding: 28px 20px 24px;
	text-align: center;
}
.is-avatar{
	width: 72px;
	height: 72px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -.02em;
	margin-bottom: 16px;
}
.is-avatar-claro{ background: var(--is-azul); color: #ffffff; }
.is-avatar-escuro{ background: var(--is-escuro); color: #ffffff; }
.is-membro-nome{
	font-size: 17px;
	font-weight: 800;
	color: var(--is-texto);
	margin: 0 0 4px;
	letter-spacing: -.015em;
}
.is-membro-cargo{
	font-size: 12.5px;
	color: var(--is-azul-med);
	font-family: var(--is-fonte-mono);
	margin: 0 0 14px;
	letter-spacing: .02em;
}
.is-membro-bio{
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--is-texto-med);
	margin: 0;
}

/* -------- Transparência sobre afiliados -------- */
.is-transparencia{
	background: #ffffff;
	border: 1px solid var(--is-borda);
	border-left: 4px solid var(--is-azul-med);
	border-radius: var(--is-radius);
	padding: 26px 30px;
	margin: 56px 0;
}
.is-transparencia-titulo{
	font-size: 17px;
	font-weight: 800;
	color: var(--is-texto);
	margin: 0 0 14px;
	letter-spacing: -.015em;
}
.is-transparencia p{
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--is-texto-med);
	margin: 0 0 12px;
}
.is-transparencia p:last-child{ margin-bottom: 0; }

/* -------- Contato -------- */
.is-contato{
	background: #ffffff;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius);
	padding: 26px 30px;
}
.is-contato-lead{
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--is-texto-med);
	margin: 0 0 18px;
}
.is-contato-links{
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
}
.is-contato-link{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--is-fonte-mono);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--is-texto);
	text-decoration: none;
	transition: color .15s ease;
}
.is-contato-link:hover{
	color: var(--is-azul-esc);
	text-decoration: none;
}
.is-contato-icone{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--is-azul-med);
}
.is-contato-link:hover .is-contato-icone{ color: var(--is-azul-esc); }

/* -------- Responsivo -------- */
@media (max-width: 720px){
	.is-stats{ grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.is-equipe{ grid-template-columns: 1fr; }
	.is-passo{ padding: 20px 22px; gap: 16px; }
	.is-transparencia,
	.is-contato{ padding: 22px 24px; }
	.is-contato-links{ gap: 16px; }
}

/* =====================================================================
   PAGE — Artigos (home.php / posts page)
   ===================================================================== */
.is-artigos-wrap{
	background: var(--is-bg-suave);
	padding: clamp(40px, 6vw, 72px) 20px 64px;
}
.is-artigos-inner{
	max-width: var(--is-container-lg);
	margin: 0 auto;
}

.is-chips{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 26px 0 36px;
}
.is-chip{
	display: inline-block;
	background: #fff;
	border: 1px solid var(--is-borda);
	border-radius: 999px;
	padding: 8px 18px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--is-texto-med);
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease;
}
.is-chip:hover{
	border-color: var(--is-azul-med);
	color: var(--is-texto);
	text-decoration: none;
}
.is-chip-ativo{
	border-color: var(--is-azul-med);
	color: var(--is-texto);
	box-shadow: 0 0 0 1px var(--is-azul-med) inset;
}

.is-card-thumb{ position: relative; }
.is-card-nota{
	position: absolute;
	top: 12px; right: 12px;
	z-index: 2;
	background: var(--is-escuro);
	color: #fff;
	font-family: var(--is-fonte-mono);
	font-size: 12.5px;
	font-weight: 700;
	padding: 5px 10px;
	border-radius: 7px;
	letter-spacing: .04em;
}
.is-card-thumb-ph{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--is-fonte-mono);
	font-size: 12.5px;
	color: var(--is-azul-med);
}

/* =====================================================================
   v1.5.0 — Fundos unificados + single em card + rodapé 4 colunas
   ===================================================================== */
html{ scroll-behavior: smooth; }
#como-testamos, #equipe, #contato, #transparencia{ scroll-margin-top: 90px; }

/* Single: artigo como card branco sobre o fundo azul do site */
.is-single-wrap article.is-single{
	background: #ffffff !important;
	border: 1px solid var(--is-borda) !important;
	border-radius: var(--is-radius-lg);
	padding: clamp(24px, 4vw, 48px) !important;
	box-shadow: none !important;
}

/* ---------- Rodapé em 4 colunas ---------- */
.is-footer-grid{
	max-width: var(--is-container-lg);
	margin: 0 auto;
	padding: 56px 20px 40px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: 40px;
	text-align: left;
}
.is-footer-logo{
	font-weight: 800;
	font-size: 20px;
	color: #ffffff;
	text-decoration: none;
	letter-spacing: -.02em;
}
.is-footer-logo:hover{ text-decoration: none; color: #ffffff; }
.is-footer-logo span{ color: var(--is-azul); }
.is-footer-tagline{
	margin: 14px 0 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: #b9d2e0;
}
.is-footer-h{
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--is-azul);
	margin: 0 0 14px;
}
.is-footer-links{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.is-footer-links a{
	color: #dcebf4;
	font-size: 14px;
	text-decoration: none;
}
.is-footer-links a:hover{ color: #ffffff; text-decoration: underline; }
.is-footer-news-txt{
	font-size: 13.5px;
	color: #b9d2e0;
	margin: 0 0 12px;
}
.is-news-form{ display: flex; gap: 8px; }
.is-news-input{
	flex: 1;
	min-width: 0;
	background: #16394e;
	border: 1px solid #2a5169;
	border-radius: 8px;
	padding: 10px 12px;
	color: #ffffff;
	font-size: 13.5px;
	font-family: var(--is-fonte);
}
.is-news-input::placeholder{ color: #7fa3b8; }
.is-news-btn{
	background: var(--is-azul);
	color: var(--is-texto);
	border: 0;
	border-radius: 8px;
	padding: 10px 16px;
	font-weight: 700;
	font-size: 13.5px;
	cursor: pointer;
	font-family: var(--is-fonte);
}
.is-news-btn:hover{ background: var(--is-azul-med); color: #ffffff; }
.is-footer-bottom{
	max-width: var(--is-container-lg);
	margin: 0 auto;
	padding: 18px 20px 28px;
	border-top: 1px solid rgba(255,255,255,.08);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 12.5px;
	color: #8fb0c3;
}
.is-footer-desde{ font-family: var(--is-fonte-mono); }

@media (max-width: 860px){
	.is-footer-grid{ grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px){
	.is-footer-grid{ grid-template-columns: 1fr; gap: 28px; }
	.is-footer-bottom{ flex-direction: column; align-items: flex-start; }
}

/* =====================================================================
   Announcement bar rolante (marquee CSS puro)
   ===================================================================== */
.is-marquee{ overflow: hidden; }
.is-marquee-track{
	display: inline-flex;
	white-space: nowrap;
	padding: 9px 0;
	animation: is-marquee 60s linear infinite;
	will-change: transform;
}
.is-marquee-track > span{
	margin-right: 64px;
	letter-spacing: .02em;
}
@keyframes is-marquee{
	from{ transform: translateX(0); }
	to{ transform: translateX(-50%); }
}
.is-announcement:hover .is-marquee-track{ animation-play-state: paused; }
@media (prefers-reduced-motion: reduce){
	.is-marquee-track{ animation: none; }
}
@media (max-width: 720px){
	.is-marquee-track{ animation-duration: 36s; font-size: 11.5px; }
}

/* Logo textual unida — um único item de flex, sem gap interno */
.is-logo .is-logo-txt{ color: var(--is-texto); }
.is-logo .is-logo-txt .is-logo-azul{ color: var(--is-azul-med); }

/* Header: menu centralizado no meio (grid 3 colunas) */
.is-header-inner .is-logo{ justify-self: start; }
.is-header-inner .is-nav-wrap{ grid-column: 2; justify-self: center; }
@media (max-width: 720px){
	.is-header-inner{ display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
	.is-header-inner .is-nav-wrap{ flex: 1; min-width: 0; }
}


/* Botão Shopee — caixa_review */
.cr-btn-shopee{ background: var(--shopee-laranja); color: #fff; }
.cr-btn-shopee .cr-btn-eyebrow{ opacity: .85; color: #ffd9cf; }
.cr-btn-shopee .cr-btn-label{ color: #fff; }


/* Imagens do conteúdo — mesmo raio da imagem destacada */
.wp-block-image img{ border-radius: var(--is-radius); display: block; width: 100%; height: auto; }

/* Tabela comparativa — minimalista */
.wp-block-table{
	margin: 28px 0;
	overflow-x: auto;
	border: 1px solid var(--is-borda);
	border-radius: var(--is-radius);
	-webkit-overflow-scrolling: touch;
}
.wp-block-table table{
	width: 100%;
	min-width: 540px;
	border-collapse: collapse;
	font-size: 15px;
	margin: 0;
}
.wp-block-table thead th{
	background: var(--is-escuro);
	color: #fff;
	text-align: left;
	padding: 12px 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	border: 0;
}
.wp-block-table tbody td{
	padding: 12px 16px;
	border: 0;
	border-top: 1px solid var(--is-borda);
	color: var(--is-texto-med);
	line-height: 1.45;
}
.wp-block-table tbody tr:nth-child(even) td{ background: var(--is-bg); }
.wp-block-table tbody td:first-child{
	font-weight: 600;
	color: var(--is-texto);
	white-space: nowrap;
}
.wp-block-table tbody td strong{ color: var(--is-verde); }

/* =====================================================================
   Busca — campo no header (coluna 3 do grid) + variação grande
   ===================================================================== */
.is-header-inner .is-search{ grid-column: 3; justify-self: end; }
.is-search{
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--is-bg);
	border: 1px solid var(--is-borda);
	border-radius: 10px;
	padding: 8px 14px;
	min-width: 210px;
	transition: border-color .15s ease;
}
.is-search:focus-within{ border-color: var(--is-azul-med); }
.is-search-icon{
	display: inline-flex;
	align-items: center;
	color: var(--is-texto-fraco);
	flex: 0 0 auto;
}
.is-search-input{
	border: 0;
	background: transparent;
	outline: none;
	font-family: var(--is-fonte);
	font-size: 13.5px;
	color: var(--is-texto);
	width: 100%;
	min-width: 0;
}
.is-search-input::placeholder{ color: var(--is-texto-fraco); }
.is-search-grande{
	max-width: 420px;
	margin: 0 auto;
	background: #fff;
}
.is-busca-vazia{ text-align: center; padding-bottom: 24px; }
@media (max-width: 720px){
	.is-search{ width: 100%; order: 3; }
}
