/* =========================================================
   Galamba Seguros – novo visual (v1.0.2)
   Tudo aqui vale só para blocos com classes "gs-",
   então as outras páginas do site não são afetadas.
   ========================================================= */

:root {
	--gs-primary: #0F2A4A;   /* azul-marinho */
	--gs-primary-2: #1D3A5E;
	--gs-accent: #F2A93B;    /* âmbar */
	--gs-ink: #16263A;
	--gs-muted: #4A5A6E;
	--gs-line: #E3E8EF;
	--gs-soft: #F5F7FA;
	--gs-on-dark: #C9D6E5;
	--gs-display: "Manrope", "Inter", system-ui, sans-serif;
	--gs-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ---------- Seções (linhas do WPBakery) ---------- */
body .vc_row.gs-sec {
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
	padding-left: max(24px, calc((100vw - 1200px) / 2)) !important;
	padding-right: max(24px, calc((100vw - 1200px) / 2)) !important;
	font-family: var(--gs-body);
	font-size: 16px;
	line-height: 1.55;
	color: var(--gs-ink);
	background: #FFFFFF;
	padding-top: 88px;
	padding-bottom: 88px;
	margin-bottom: 0;
}
body:has(.gs-sec) { overflow-x: clip; }
body .vc_row.gs-soft { background: var(--gs-soft); }
body .vc_row.gs-dark { background: var(--gs-primary); color: #FFFFFF; }
body .vc_row.gs-hero { padding-top: 80px; padding-bottom: 88px; }
body .vc_row.gs-stats { padding-top: 48px; padding-bottom: 48px; border-bottom: 1px solid var(--gs-line); }
body .vc_row.gs-partners { padding-top: 72px; padding-bottom: 72px; }

body .gs-sec .wpb_content_element,
body .gs-sec .vc_row_inner { margin-bottom: 0; }
body .gs-sec .wpb_text_column + .wpb_text_column { margin-top: 24px; }
body .gs-sec .vc_row_inner { margin-top: 40px; }
body .gs-sec .vc_row_inner + .vc_row_inner { margin-top: 20px; }

/* ---------- Tipografia ---------- */
body .gs-sec h1,
body .gs-sec h2,
body .gs-sec h3 {
	font-family: var(--gs-display) !important;
	color: inherit;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
	margin: 0 !important;
}
body .gs-sec h1 { font-size: clamp(36px, 4.2vw, 56px) !important; font-weight: 800 !important; line-height: 1.08 !important; }
body .gs-sec h2 { font-size: clamp(28px, 3vw, 36px) !important; font-weight: 800 !important; line-height: 1.15 !important; max-width: 640px; }
body .gs-sec h3 { font-size: 22px !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: -0.01em !important; }
body .gs-sec .gs-lead { margin-top: 24px; }
body .gs-sec h2 + p { margin-top: 10px; }
body .gs-sec h3 + p { margin-top: 10px; }
body .gs-sec p { margin: 0 0 12px; }
body .gs-sec p:last-child { margin-bottom: 0; }
body .gs-sec .gs-muted { color: var(--gs-muted); }
body .gs-dark p { color: var(--gs-on-dark); }
body .gs-dark h1, body .gs-dark h2, body .gs-dark h3 { color: #FFFFFF; }

body .gs-sec .gs-eyebrow {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gs-muted);
	margin-bottom: 12px;
}
body .gs-dark .gs-eyebrow,
body .gs-dark .gs-city { color: var(--gs-accent); }
body .gs-sec .gs-lead { font-size: 18px; line-height: 1.6; max-width: 540px; margin-top: 24px; }

/* ---------- Botões ---------- */
body .gs-sec .gs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
body .gs-sec a.gs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	font-family: var(--gs-body);
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	border: 1.5px solid transparent;
	transition: background-color .15s ease, border-color .15s ease;
}
body .gs-sec a.gs-btn-accent { background: var(--gs-accent); color: #10223A; }
body .gs-sec a.gs-btn-accent:hover { background: #F5BA60; color: #10223A; }
body .gs-sec a.gs-btn-ghost { border-color: rgba(255,255,255,.5); color: #FFFFFF; }
body .gs-sec a.gs-btn-ghost:hover { border-color: #FFFFFF; color: #FFFFFF; }
body .gs-sec a.gs-btn-outline { border-color: var(--gs-primary); color: var(--gs-primary); min-height: 48px; }
body .gs-sec a.gs-btn-outline:hover { background: var(--gs-primary); color: #FFFFFF; }
body .gs-sec a.gs-btn:focus-visible,
body .gs-sec a.gs-tile:focus-visible,
body .gs-sec a.gs-post:focus-visible { outline: 3px solid var(--gs-accent); outline-offset: 3px; }

body .gs-sec a.gs-link { font-weight: 600; color: var(--gs-primary); text-decoration: none; }
body .gs-sec a.gs-link:hover { text-decoration: underline; }
body .gs-dark a.gs-link { color: #FFFFFF; }

/* ---------- Hero: card "Contrate online" ---------- */
body .gs-sec .gs-quote-card {
	background: #FFFFFF;
	color: var(--gs-ink);
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 24px 48px rgba(5, 20, 40, .25);
}
body .gs-sec .gs-quote-card h2 { font-size: 22px !important; font-weight: 700 !important; color: var(--gs-ink); letter-spacing: -0.01em; }
body .gs-sec .gs-quote-card p { color: var(--gs-muted); font-size: 15px; }
body .gs-sec .gs-quote-card h2 + p { margin-top: 6px; }
body .gs-sec .gs-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 20px 0;
}
body .gs-sec a.gs-tile {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 10px 14px;
	border: 1px solid var(--gs-line);
	border-radius: 12px;
	color: var(--gs-ink);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: border-color .15s ease;
}
body .gs-sec a.gs-tile:hover { border-color: var(--gs-primary); color: var(--gs-ink); }
body .gs-sec a.gs-tile::before {
	content: "";
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	background: #EEF3F9 var(--gs-ico) center / 20px 20px no-repeat;
}
.gs-ico-carro      { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h14v-5l-2-5H7l-2 5z'/%3E%3Ccircle cx='8' cy='17' r='2'/%3E%3Ccircle cx='16' cy='17' r='2'/%3E%3C/svg%3E"); }
.gs-ico-vida       { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10z'/%3E%3C/svg%3E"); }
.gs-ico-residencia { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9H4z'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
.gs-ico-celular    { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.gs-ico-viagem     { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13l18-7-7 18-2-7z'/%3E%3C/svg%3E"); }
.gs-ico-odonto     { --gs-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2A4A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cpath d='M9 10h.01M15 10h.01'/%3E%3C/svg%3E"); }
body .gs-sec .gs-quote-card a.gs-link { color: var(--gs-primary); }
body .gs-sec .gs-quote-card .gs-more {
	border-top: 1px solid var(--gs-line);
	padding-top: 20px;
	margin: 0;
}

/* ---------- Números ---------- */
body .gs-sec .gs-stat-num {
	font-family: var(--gs-display);
	font-size: 40px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--gs-primary);
	margin: 0;
}
body .gs-sec .gs-stat-label { color: var(--gs-muted); font-size: 15px; margin-top: 4px; }

/* ---------- Cards (colunas internas) ---------- */
body .gs-sec .gs-card > .vc_column-inner,
body .gs-sec .gs-card-dark > .vc_column-inner {
	border-radius: 20px;
	padding: 40px !important;
	height: 100%;
	box-sizing: border-box;
}
body .gs-sec .gs-card > .vc_column-inner { background: #FFFFFF; border: 1px solid var(--gs-line); }
body .gs-sec .gs-card-dark > .vc_column-inner { background: var(--gs-primary); color: #FFFFFF; }
body .gs-sec .gs-card-dark h3 { color: #FFFFFF; }
body .gs-sec .gs-card-dark p { color: var(--gs-on-dark); }
body .gs-sec .gs-card-dark .gs-kicker { color: var(--gs-accent); }
body .gs-sec .gs-kicker { font-size: 14px; font-weight: 600; color: var(--gs-muted); margin-bottom: 6px; }
body .gs-sec .gs-card h3,
body .gs-sec .gs-card-dark h3 { font-size: 26px !important; }

body .gs-sec ul.gs-check {
	list-style: none;
	margin: 24px 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px 24px;
	font-size: 15px;
}
body .gs-sec ul.gs-check li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
}
body .gs-sec ul.gs-check li::before {
	content: "";
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F7A5C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .gs-sec .gs-card-dark ul.gs-check li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237FD1B2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
}

/* ---------- Como trabalhamos ---------- */
body .gs-sec .gs-step > .vc_column-inner { border-top: 2px solid var(--gs-primary); padding-top: 24px !important; }
body .gs-sec .gs-step-num { font-family: var(--gs-display); font-size: 15px; font-weight: 800; color: var(--gs-primary); margin-bottom: 8px; }
body .gs-sec .gs-step p { color: var(--gs-muted); }

/* ---------- Por que contratar ---------- */
body .gs-sec .gs-mini > .vc_column-inner {
	background: #FFFFFF;
	border-radius: 16px;
	padding: 28px !important;
	height: 100%;
	box-sizing: border-box;
}
body .gs-sec .gs-mini h3 { font-size: 19px !important; }
body .gs-sec .gs-mini p { color: var(--gs-muted); font-size: 15px; margin-top: 8px; }

/* ---------- Parceiros ---------- */
body .gs-sec .gs-center { text-align: center; }
body .gs-sec .gs-center h2 { margin-left: auto; margin-right: auto; }
body .gs-sec .gs-logos .wpb_wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 28px 44px;
	margin-top: 32px;
}
body .gs-sec .gs-logos .wpb_wrapper p { display: contents; }
body .gs-sec .gs-logos img {
	height: 44px;
	width: auto;
	max-width: 140px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .7;
	transition: filter .2s ease, opacity .2s ease;
}
body .gs-sec .gs-logos img:hover { filter: none; opacity: 1; }

/* ---------- Blog ---------- */
body .gs-sec .gs-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
}
body .gs-sec .gs-posts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 28px;
}
body .gs-sec a.gs-post {
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--gs-ink);
	text-decoration: none;
}
body .gs-sec .gs-post-img {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 14px;
	overflow: hidden;
	background: #DCE5EF;
}
body .gs-sec .gs-post-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
body .gs-sec .gs-post-cat {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--gs-muted);
}
body .gs-sec .gs-post-title {
	font-family: var(--gs-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
body .gs-sec a.gs-post:hover .gs-post-title { text-decoration: underline; }

/* ---------- Contato e mapa ---------- */
body .gs-sec .gs-city {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 28px 0 6px;
}
body .gs-dark .gs-address { color: #FFFFFF; margin-bottom: 2px; }
body .gs-sec .gs-map {
	margin-top: 32px;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	background: var(--gs-primary-2);
	border: 1px solid rgba(255,255,255,.15);
}
body .gs-sec .gs-map iframe { width: 100%; height: 100%; border: 0; display: block; }

body .gs-sec .gs-form-card > .vc_column-inner {
	background: #FFFFFF;
	color: var(--gs-ink);
	border-radius: 20px;
	padding: 32px !important;
}
body .gs-sec .gs-form-card p,
body .gs-sec .gs-form-card label { color: var(--gs-ink); font-size: 14px; font-weight: 600; }
body .gs-sec .gs-form-card input[type="text"],
body .gs-sec .gs-form-card input[type="email"],
body .gs-sec .gs-form-card input[type="tel"],
body .gs-sec .gs-form-card select,
body .gs-sec .gs-form-card textarea {
	width: 100% !important;
	max-width: none !important;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid #C5CFDB;
	border-radius: 10px;
	background: #FFFFFF;
	color: var(--gs-ink);
	font: 400 16px/1.4 var(--gs-body);
	box-sizing: border-box;
	margin-top: 6px;
}
body .gs-sec .gs-form-card textarea { min-height: 120px; resize: vertical; }
body .gs-sec .gs-form-card .wpcf7-form-control-wrap,
body .gs-sec .gs-form-card form,
body .gs-sec .gs-form-card label { display: block; width: 100%; max-width: none; }
body .gs-sec .gs-form-card .wpcf7 { width: 100%; }
body .gs-sec .gs-form-card input:focus,
body .gs-sec .gs-form-card select:focus,
body .gs-sec .gs-form-card textarea:focus { outline: 2px solid var(--gs-primary); outline-offset: 1px; border-color: var(--gs-primary); }
body .gs-sec .gs-form-card input[type="submit"],
body .gs-sec .gs-form-card button[type="submit"] {
	width: 100%;
	min-height: 52px;
	border: 0;
	border-radius: 999px;
	background: var(--gs-accent);
	color: #10223A;
	font: 600 16px var(--gs-body);
	cursor: pointer;
	text-transform: none;
	letter-spacing: 0;
}
body .gs-sec .gs-form-card input[type="submit"]:hover,
body .gs-sec .gs-form-card button[type="submit"]:hover { background: #F5BA60; }

/* ---------- Celular ---------- */
@media (max-width: 767px) {
	body .vc_row.gs-sec { padding-top: 56px; padding-bottom: 56px; }
	body .vc_row.gs-hero { padding-top: 48px; padding-bottom: 56px; }
	body .gs-sec .gs-quote-card { margin-top: 32px; padding: 24px; }
	body .gs-sec .gs-card > .vc_column-inner,
	body .gs-sec .gs-card-dark > .vc_column-inner { padding: 28px !important; }
	body .gs-sec .vc_row_inner .wpb_column + .wpb_column { margin-top: 20px; }
	body .vc_row.gs-stats .wpb_column + .wpb_column { margin-top: 20px; }
	body .gs-sec .gs-form-card { margin-top: 32px; }
}

@media (prefers-reduced-motion: reduce) {
	body .gs-sec * { transition: none !important; }
}
