/* Uma Profissão que Transforma – estilos do formulário, mapa e ajustes do layout */
:root {
	--umpt-vinho: #9E2A45;
	--umpt-vinho-escuro: #7A1C33;
	--umpt-teal: #5FA8A6;
	--umpt-teal-escuro: #4B918F;
	--umpt-petroleo: #1D5F73;
	--umpt-texto: #333333;
	--umpt-fundo: #F8F7F2;
	--umpt-font: "Quicksand", "Nunito", system-ui, sans-serif;
}

/* ---------- Página ---------- */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
#inicio, #mapa, #compartilhe, #video-cartas, #valorize { scroll-margin-top: 90px; }
.umpt-shape { pointer-events: none; line-height: 0; }
.umpt-shape svg { display: block; width: 100%; height: auto; }

/* ---------- Card do formulário ---------- */
.umpt-card {
	background: var(--umpt-vinho);
	color: #fff;
	border-radius: 24px;
	padding: 32px;
	font-family: var(--umpt-font);
	box-sizing: border-box;
	width: 100%;
}
.umpt-card *, .umpt-card *::before, .umpt-card *::after { box-sizing: border-box; }
.umpt-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.umpt-title {
	display: block;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 20px;
	padding: 0;
	color: #fff;
	outline: none;
}
.umpt-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; margin: -1px; padding: 0; border: 0;
}
.umpt-card .umpt-input {
	display: block;
	width: 100%;
	background: #fff;
	color: var(--umpt-texto);
	border: 2px solid transparent;
	border-radius: 10px;
	padding: 11px 16px;
	margin: 0 0 12px;
	font: 500 14px/1.4 var(--umpt-font);
	box-shadow: none;
	transition: border-color .15s;
}
.umpt-card .umpt-input::placeholder { color: #8a8a8a; opacity: 1; }
.umpt-card .umpt-input:focus { outline: none; border-color: var(--umpt-teal); }
.umpt-card .umpt-input.is-invalid { border-color: #FFD166; }
.umpt-card .umpt-textarea { min-height: 150px; resize: vertical; }
.umpt-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.umpt-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 11px;
	line-height: 1.45;
	margin: 6px 0 16px;
	cursor: pointer;
	color: #fff;
}
.umpt-consent input { width: 16px; height: 16px; margin: 1px 0 0; flex: 0 0 16px; accent-color: var(--umpt-teal); }
.umpt-consent input.is-invalid { outline: 2px solid #FFD166; outline-offset: 1px; }
.umpt-consent a { color: #fff; text-decoration: underline; }

.umpt-error { min-height: 0; margin: 0 0 10px; font-size: 13px; font-weight: 600; color: #FFD166; }
.umpt-error:empty { display: none; }

.umpt-card .umpt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 2px solid transparent;
	border-radius: 999px;
	padding: 11px 24px;
	font: 600 18px/1.2 var(--umpt-font);
	cursor: pointer;
	text-decoration: none;
	transition: background-color .15s, filter .15s;
}
.umpt-card .umpt-btn--primary { background: var(--umpt-teal); color: #fff; width: 100%; }
.umpt-card .umpt-btn--primary:hover { background: var(--umpt-teal-escuro); }
.umpt-card .umpt-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.8); }
.umpt-card .umpt-btn--ghost:hover { background: rgba(255,255,255,.12); }
.umpt-card .umpt-btn--small { font-size: 14px; padding: 8px 16px; background: var(--umpt-petroleo); color: #fff; }
.umpt-card .umpt-btn:disabled { opacity: .6; cursor: wait; }
.umpt-card .umpt-btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.umpt-card .umpt-btn.is-loading::after {
	content: ""; width: 16px; height: 16px; border-radius: 50%;
	border: 2px solid rgba(255,255,255,.5); border-top-color: #fff;
	animation: umpt-spin .8s linear infinite;
}
@keyframes umpt-spin { to { transform: rotate(360deg); } }

.umpt-steps {
	display: flex; gap: 16px; list-style: none; margin: 0 0 16px; padding: 0;
	font-size: 12px; font-weight: 600; color: rgba(255,255,255,.65);
}
.umpt-steps li { display: flex; align-items: center; gap: 6px; margin: 0; }
.umpt-steps span {
	display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
	border: 1.5px solid currentColor; font-size: 11px;
}
.umpt-steps li.is-active { color: #fff; }
.umpt-steps li.is-active span { background: var(--umpt-teal); border-color: var(--umpt-teal); }

.umpt-help { font-size: 13px; line-height: 1.5; margin: -8px 0 14px; color: rgba(255,255,255,.9); }
.umpt-search { display: flex; gap: 8px; align-items: flex-start; }
.umpt-search .umpt-input { flex: 1; }
.umpt-picker {
	height: 300px; border-radius: 10px; overflow: hidden; margin: 0 0 12px;
	background: #e9eef0; z-index: 0;
}
.umpt-actions { display: flex; gap: 12px; }
.umpt-actions .umpt-back { flex: 0 0 auto; }
.umpt-actions .umpt-submit { flex: 1; }
.umpt-success { text-align: left; outline: none; }
.umpt-success p { font-size: 15px; line-height: 1.5; margin: 0 0 16px; }

@media (max-width: 767px) {
	.umpt-card { padding: 24px 20px; border-radius: 20px; }
	.umpt-title { font-size: 20px; }
	.umpt-card .umpt-btn { font-size: 16px; }
	.umpt-picker { height: 250px; }
	.umpt-actions { flex-direction: column-reverse; }
}

/* ---------- Mapa da Transformação ---------- */
.umpt-map-wrap { position: relative; width: 100%; }
.umpt-map { width: 100%; height: var(--umpt-map-h, 600px); background: #cfe0e3; z-index: 0; }
@media (max-width: 767px) { .umpt-map { height: var(--umpt-map-h-m, 380px); } }

.umpt-pin { background: none; border: 0; filter: drop-shadow(0 2px 2px rgba(0,0,0,.3)); }

.umpt-cluster { background: none; border: 0; }
.umpt-cluster span {
	display: grid; place-items: center; width: 100%; height: 100%;
	border-radius: 50%; font: 700 13px/1 var(--umpt-font); color: #fff;
	background: #2F7DE1; box-shadow: 0 0 0 6px rgba(47,125,225,.35);
}
.umpt-cluster--md span { background: #F2B51C; color: #222; box-shadow: 0 0 0 7px rgba(242,181,28,.4); }
.umpt-cluster--lg span { background: #F2B51C; color: #222; box-shadow: 0 0 0 9px rgba(242,181,28,.4), 0 0 0 16px rgba(242,181,28,.2); font-size: 14px; }

.umpt-map .leaflet-popup-content-wrapper { border-radius: 14px; }
.umpt-map .leaflet-popup-content { margin: 14px 16px; font-family: var(--umpt-font); }
.umpt-popup p { margin: 0 0 6px; }
.umpt-popup__prof { font-size: 16px; font-weight: 700; color: var(--umpt-vinho); }
.umpt-popup__city { font-size: 12px; color: #6b6b6b; }
.umpt-popup__text { font-size: 13px; line-height: 1.45; color: var(--umpt-texto); }
.umpt-popup__by { font-size: 12px; font-style: italic; color: var(--umpt-petroleo); margin-bottom: 0 !important; }

/* ---------- Cards de vídeo (Listing do JetEngine) ---------- */
.umpt-video .elementor-custom-embed-image-overlay { border-radius: 4px; overflow: hidden; }
.umpt-video .elementor-custom-embed-image-overlay img { transition: transform .35s ease; }
.umpt-video:hover .elementor-custom-embed-image-overlay img { transform: scale(1.04); }
.umpt-video .elementor-custom-embed-play {
	width: 56px; height: 56px; border-radius: 50%;
	background: rgba(0,0,0,.6); border: 2px solid rgba(255,255,255,.85);
	display: grid; place-items: center;
}
.umpt-video .elementor-custom-embed-play i,
.umpt-video .elementor-custom-embed-play svg { font-size: 22px; width: 22px; height: 22px; fill: #fff; color: #fff; opacity: 1; text-shadow: none; filter: none; margin-left: 3px; }
