/*
Theme Name: Hello Elementor Child — Vespertine
Theme URI: https://vespertineweb.com.br
Description: Child do Hello Elementor com o design system da Vespertine Web & Systems: fontes, cores, botões, formulários e correções de tipografia display.
Author: Vespertine Web
Template: hello-elementor
Version: 2.1.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ============ Tokens ============ */
:root{
	--vsp-navy:#06094A;
	--vsp-navy-ink:#040730;
	--vsp-blue:#2238FF;
	--vsp-blue-2:#4A5BFF;
	--vsp-accent:#FF4B3E;
	--vsp-cream:#F4F1EA;
	--vsp-ink:#0A0C2A;
	--vsp-muted:#9A9CB8;
	--vsp-display:'Special Gothic Expanded One','Anton',Impact,sans-serif;
	--vsp-body:'Ubuntu',-apple-system,sans-serif;
}

/* ============ Tipografia ============ */
body,
.elementor-widget-text-editor,
.elementor-widget-icon-list,
.elementor-widget-nav-menu,
.elementor-widget-form,
.elementor-button,
input, select, textarea, button{
	font-family:var(--vsp-body);
}
.elementor-heading-title,
h1, h2, h3, h4, h5, h6{
	font-family:var(--vsp-display);
	font-weight:400;
	text-transform:uppercase;
	overflow-wrap:normal;
	word-break:keep-all;
	hyphens:none;
}

/* ============ Links ============ */
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--vsp-blue-2); }

/* ============ Botões ============ */
.elementor-button{
	border-radius:999px;
	letter-spacing:.16em;
	text-transform:uppercase;
	transition:transform .2s, background .2s, color .2s;
}
.elementor-button:hover{ transform:translateY(-2px); }

/* ============ Formulários (Elementor Pro) ============ */
.elementor-field-group .elementor-field-textual{
	background:transparent;
	border:0;
	border-bottom:1px solid rgba(244,241,234,.2);
	border-radius:0;
	color:var(--vsp-cream);
	padding:8px 0 11px;
}
.elementor-field-group .elementor-field-textual:focus{
	border-bottom-color:var(--vsp-blue-2);
	box-shadow:none;
}
.elementor-field-group select.elementor-field-textual option{
	color:var(--vsp-ink);
	background:var(--vsp-cream);
}
.elementor-field-group textarea.elementor-field-textual{ min-height:88px; }

/* ============ Âncoras e rolagem ============ */
html{ scroll-behavior:smooth; }
[id]{ scroll-margin-top:90px; }

/* ============ Animações ============ */
@keyframes vspm{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
	*, *::before, *::after{ animation:none !important; transition:none !important; }
	html{ scroll-behavior:auto; }
}
