/* ==========================================================================
   Redspark — main.css
   CSS original extraído do protótipo "Homepage Redspark Design".
   Mantém exatamente as fontes, cores, espaçamentos e grids da UX.
   ========================================================================== */

/* ==========================================================================
   Fontes (InterBrand)
   ========================================================================== */
@font-face { font-family: "InterBrand"; src: url("../../fonts/Inter_18pt-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "InterBrand"; src: url("../../fonts/Inter_18pt-ExtraBold.ttf") format("truetype"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "InterBrand"; src: url("../../fonts/Inter_18pt-Black.ttf") format("truetype"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "InterBrand"; src: url("../../fonts/Inter_18pt-ExtraLight.ttf") format("truetype"); font-weight: 200; font-style: normal; font-display: swap; }

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--navy: #041133;
	--navy-mid: #0A1F4A;
	--navy-deep: #052570;
	--red: #DF2039;
	--red-bright: #FF113B;
	--red-soft: #FF6B7F;
	--bg-light: #F2F6FC;
	--bg-card: #F7FAFE;
	--bg-blue: #EDF3FF;
	--text-dark: #0f172a;
	--text-muted: #46536b;
	--brand: "InterBrand", "Inter", system-ui, sans-serif;
	--body: "Inter", system-ui, sans-serif;
}

/* ==========================================================================
   Reset / base
   ========================================================================== */
html, body { margin: 0; padding: 0; }
*, *::before, *::after { box-sizing: border-box; }
body {
	background: #ffffff;
	font-family: "InterBrand", "Inter", system-ui, sans-serif;
	color: #041133;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a { color: #DF2039; text-decoration: none; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
a:hover { color: #041133; }
img { max-width: 100%; height: auto; }
.site { overflow-x: hidden; }

/* Remove margens que o editor/plugins possam adicionar aos blocos. */
.entry-content, .site-main { margin: 0; padding: 0; }

/* ==========================================================================
   Keyframes (cursor do typewriter)
   ========================================================================== */
@keyframes rsBlink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0; }
}

/* ==========================================================================
   Hovers (substituem o style-hover inline do protótipo)
   ========================================================================== */
.rs-hv-red:hover { background-color: #DF2039 !important; color: #ffffff !important; }
.rs-hv-navy:hover { background-color: #041133 !important; color: #ffffff !important; }
.rs-hv-white:hover { background-color: #ffffff !important; color: #041133 !important; }
.rs-hv-outline:hover { border-color: #041133 !important; background-color: rgba(255,255,255,0.6) !important; }
.rs-hv-outline-w:hover { border-color: #041133 !important; background-color: #ffffff !important; }
.rs-hv-social:hover { background-color: #041133 !important; color: #ffffff !important; border-color: #041133 !important; }
.rs-hv-linkred:hover { color: #DF2039 !important; }

/* ==========================================================================
   Header
   ========================================================================== */
.rs-header {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 22px 64px;
	background: rgba(252,253,255,0.86);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(10,32,75,0.08);
}
.rs-header.rs-header--static { position: static; }
.rs-header__logo { display: block; }
.rs-header__logo img { width: 168px; height: auto; display: block; }
.rs-header__nav { display: flex; align-items: center; gap: 34px; font-size: 15px; font-weight: 500; letter-spacing: -0.1px; color: #0A1F4A; }
.rs-header__nav a { color: #0A1F4A; }
.rs-header__nav a:hover { color: #041133; }
.rs-header__nav a.is-active { color: #DF2039; font-weight: 700; }
.rs-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 24px;
	border-radius: 999px;
	background: #DF2039;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.1px;
	white-space: nowrap;
}
.rs-header__cta:hover { background: #041133; color: #ffffff; }
.rs-header__cta .arrow { font-size: 17px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.rs-footer {
	display: grid;
	grid-template-columns: 1.1fr 1fr 1fr;
	gap: 56px;
	align-items: start;
	padding: 64px 64px 40px;
	background: #F7FAFE;
	border-top: 1px solid rgba(10,32,75,0.12);
}
.rs-footer__brand { display: grid; gap: 18px; align-content: start; }
.rs-footer__logo { display: block; }
.rs-footer__logo img { width: 160px; height: auto; display: block; }
.rs-footer__text { margin: 0; max-width: 34ch; font-family: "Inter", system-ui, sans-serif; font-size: 16px; line-height: 1.55; color: #46536b; }
.rs-footer__col { display: grid; gap: 14px; align-content: start; }
.rs-footer__heading { font-size: 12px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; color: #0A1F4A; }
.rs-footer__col a { font-family: "Inter", system-ui, sans-serif; font-size: 16px; color: #0f172a; }
.rs-footer__col a:hover { color: #041133; }
.rs-footer__social { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rs-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #ffffff;
	border: 1px solid rgba(10,32,75,0.16);
	color: #0A1F4A;
}
.rs-footer__social a:hover { background: #041133; color: #ffffff; border-color: #041133; }
.rs-footer__bottom {
	grid-column: span 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 28px;
	padding-top: 26px;
	border-top: 1px solid rgba(10,32,75,0.12);
}
.rs-footer__copyright { font-family: "Inter", system-ui, sans-serif; font-size: 15px; color: #46536b; }
.rs-footer__domain { font-family: "Inter", system-ui, sans-serif; font-size: 20px; letter-spacing: -0.24px; color: #06204a; }
.rs-footer__domain strong { font-weight: 700; }
.rs-footer__domain:hover { color: #06204a; }

/* ==========================================================================
   Templates genéricos (page/single/archive/index)
   ========================================================================== */
.section { padding: 96px 64px; }
.container { max-width: 1180px; margin: 0 auto; }
.container--narrow { max-width: 780px; }
.section__title { margin: 0 0 24px; font-size: 44px; line-height: 1.05; font-weight: 800; letter-spacing: -1.4px; color: #041133; }
.section__text { font-family: "Inter", system-ui, sans-serif; font-size: 18px; line-height: 1.6; color: #0f172a; }
.section__text p { margin: 0 0 18px; }
.card { padding: 28px 32px; border-radius: 20px; background: #F7FAFE; border: 1px solid rgba(10,32,75,0.12); }
.card__title { margin: 0 0 8px; font-size: 22px; font-weight: 700; }
.card__title a { color: #041133; }
.card__title a:hover { color: #DF2039; }
.card__text { font-family: "Inter", system-ui, sans-serif; font-size: 16px; line-height: 1.55; color: #0f172a; }
.u-mt-36 { margin-top: 36px; }

/* ==========================================================================
   Responsivo (mínimo, para não quebrar em telas menores)
   ========================================================================== */
@media (max-width: 1080px) {
	.rs-header { padding: 18px 32px; gap: 24px; }
	.rs-header__nav { gap: 22px; }
	.rs-footer { grid-template-columns: 1fr 1fr; padding: 48px 32px 32px; }
	.rs-footer__bottom { grid-column: span 2; }
	.section { padding: 72px 32px; }
}

@media (max-width: 860px) {
	.rs-header { flex-wrap: wrap; }
	.rs-header__nav { order: 3; width: 100%; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
	.rs-footer { grid-template-columns: 1fr; gap: 40px; }
	.rs-footer__bottom { grid-column: span 1; }
}
