/* =========================================================================
   GV Bonello — Site Kit 2026 · estilos globais
   Conceito: blueprint industrial. Azul-marinho técnico + cinza-claro,
   tipografia Montserrat (títulos) e Inter (textos).

   As classes .gvb-* são aplicadas no Elementor em
   Avançado > Classes CSS (widgets) ou Layout > Classes CSS (containers).
   Cores e fontes também devem ser cadastradas em
   Configurações do site > Cores globais / Fontes globais (ver manual).
   ========================================================================= */

:root {
	--gvb-blue: #0057B8;
	--gvb-blue-hi: #2F7FE0;
	--gvb-navy: #081D36;
	--gvb-navy-2: #0D2A4C;
	--gvb-ink: #101820;
	--gvb-white: #FFFFFF;
	--gvb-mist: #F4F6F8;
	--gvb-line: #DCE3EB;
	--gvb-steel: #5B6B7E;
	--gvb-steel-lt: #9DB0C6;
	--gvb-wa: #1FA855;
	--gvb-f-display: "Montserrat", "Segoe UI", Arial, sans-serif;
	--gvb-f-body: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
	--gvb-f-mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
	--gvb-r: 6px;
	--gvb-ease: cubic-bezier(.2, .7, .2, 1);
	--gvb-hdr-h: 84px;
	--gvb-admin: var(--wp-admin--admin-bar--height, 0px);
}

html { scroll-padding-top: 96px; }
body { overflow-x: clip; }
:where(a, button, input, [tabindex]):focus-visible { outline: 3px solid var(--gvb-blue-hi); outline-offset: 3px; }
.gvb-muted { color: var(--gvb-steel-lt) !important; }
.gvb-admin-note { padding: 12px 16px !important; background: #FFF1C9 !important; color: #5A3D00 !important; border-radius: 6px !important; font: 500 14px/1.5 var(--gvb-f-body) !important; }

/* ---------- Tipografia utilitária (widgets Título / Editor de texto) ---------- */
.gvb-eyebrow .elementor-heading-title {
	display: flex; align-items: center !important; gap: 10px !important;
	font: 600 12px/1 var(--gvb-f-mono) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--gvb-blue) !important;
}
.gvb-eyebrow .elementor-heading-title::before { content: ""; width: 28px !important; height: 2px !important; background: currentColor !important; }
.gvb-dark .gvb-eyebrow .elementor-heading-title { color: var(--gvb-steel-lt) !important; }
.gvb-h2 .elementor-heading-title {
	font-family: var(--gvb-f-display) !important; font-weight: 800 !important; text-transform: uppercase !important;
	font-size: clamp(28px, 4.2vw, 48px) !important; line-height: 1.08 !important; letter-spacing: -.01em !important; text-wrap: balance;
}
.gvb-lead, .gvb-lead p { font-family: var(--gvb-f-body) !important; font-size: clamp(16px, 1.6vw, 18px) !important; line-height: 1.6 !important; color: var(--gvb-steel) !important; max-width: 62ch !important; }
.gvb-dark .gvb-lead, .gvb-dark .gvb-lead p { color: var(--gvb-steel-lt) !important; }
.gvb-dark { color: var(--gvb-white) !important; }
.gvb-dark .elementor-heading-title { color: var(--gvb-white) !important; }

/* ---------- Botões (widget Botão) ---------- */
.elementor-widget-button.gvb-btn-primary .elementor-button,
.elementor-widget-button.gvb-btn-ghost .elementor-button,
.elementor-widget-button.gvb-btn-outline .elementor-button,
.elementor-widget-button.gvb-btn-light .elementor-button,
.elementor-widget-button.gvb-btn-wa .elementor-button,
.gvb-btn {
	display: inline-flex; align-items: center !important; justify-content: center !important; gap: 10px !important;
	min-height: 52px !important; padding: 0 26px !important; border-radius: var(--gvb-r) !important; border: 2px solid var(--gvb-blue) !important;
	background: var(--gvb-blue) !important; color: var(--gvb-white) !important;
	font: 700 13px/1 var(--gvb-f-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important; text-decoration: none !important; cursor: pointer;
	transition: transform .25s var(--gvb-ease), background .25s, border-color .25s, box-shadow .25s, color .25s;
}
.elementor-widget-button[class*="gvb-btn-"] .elementor-button:hover,
.gvb-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px -10px rgba(0, 87, 184, .65) !important; color: var(--gvb-white) !important; }
.elementor-widget-button[class*="gvb-btn-"] .elementor-button:active,
.gvb-btn:active { transform: translateY(0) scale(.98); }
.elementor-widget-button[class*="gvb-btn-"] .elementor-button-icon svg { width: 18px !important; transition: transform .3s var(--gvb-ease); }
.elementor-widget-button[class*="gvb-btn-"] .elementor-button:hover .elementor-button-icon svg { transform: translateX(4px); }
.elementor-widget-button.gvb-btn-ghost .elementor-button { background: transparent !important; border-color: rgba(255, 255, 255, .45) !important; }
.elementor-widget-button.gvb-btn-ghost .elementor-button:hover { background: rgba(255, 255, 255, .08) !important; border-color: #fff !important; box-shadow: none !important; }
.elementor-widget-button.gvb-btn-outline .elementor-button { background: transparent !important; color: var(--gvb-blue) !important; }
.elementor-widget-button.gvb-btn-outline .elementor-button:hover { background: var(--gvb-blue) !important; color: #fff !important; }
.elementor-widget-button.gvb-btn-light .elementor-button { background: #fff !important; border-color: #fff !important; color: var(--gvb-navy) !important; }
.elementor-widget-button.gvb-btn-light .elementor-button:hover { color: var(--gvb-navy) !important; box-shadow: 0 10px 28px -10px rgba(0, 0, 0, .45) !important; }
.elementor-widget-button.gvb-btn-wa .elementor-button, .gvb-btn--wa { background: var(--gvb-wa) !important; border-color: var(--gvb-wa) !important; }
.gvb-btn--wa svg { width: 18px !important; height: 18px !important; }
.gvb-btn--sm { min-height: 42px !important; padding: 0 16px !important; font-size: 12px !important; }
.elementor-widget-button.gvb-chip .elementor-button {
	min-height: 0 !important; padding: 9px 12px !important; border-radius: 99px !important; background: #fff !important; border: 1px solid var(--gvb-line) !important;
	color: var(--gvb-ink) !important; font: 500 12.5px/1 var(--gvb-f-body) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.elementor-widget-button.gvb-chip .elementor-button:hover { border-color: var(--gvb-blue) !important; color: var(--gvb-blue) !important; }

/* ---------- HERO (container com vídeo de fundo) ---------- */
.gvb-hero { position: relative; isolation: isolate; overflow: hidden; }
.gvb-hero .elementor-background-video-container video,
.gvb-hero .elementor-background-video-hosted { object-fit: cover !important; object-position: var(--gvb-pos-d, 60% 50%); width: 100% !important; height: 100% !important; left: 0 !important; top: 0 !important; transform: none !important; }
@media (max-width: 767px) {
	.gvb-hero .elementor-background-video-container video,
	.gvb-hero .elementor-background-video-hosted { object-position: var(--gvb-pos-m, 68% 50%); }
}
.gvb-hero::after { /* diagonal de transição para a seção seguinte */
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 48px !important; background: var(--gvb-hero-next, #fff) !important;
	clip-path: polygon(0 100%, 100% 0, 100% 100%); z-index: 2; pointer-events: none;
}
.gvb-hero-tag .elementor-heading-title {
	display: inline-flex; align-items: center !important; gap: 10px !important; padding: 8px 14px !important; border: 1px solid rgba(255, 255, 255, .2) !important; border-radius: 99px !important;
	background: rgba(8, 29, 54, .5) !important; font: 500 11.5px/1 var(--gvb-f-mono) !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--gvb-steel-lt) !important;
}
.gvb-hero-tag .elementor-heading-title::before { content: ""; width: 8px !important; height: 8px !important; border-radius: 50% !important; background: #3BD07A !important; box-shadow: 0 0 0 4px rgba(59, 208, 122, .18) !important; }
.gvb-hero-title .elementor-heading-title {
	font: 800 clamp(40px, 8.2vw, 112px)/.95 var(--gvb-f-display) !important; letter-spacing: -.025em !important;
	text-transform: uppercase !important; color: #fff !important; max-width: 12ch !important; text-wrap: balance;
}
.gvb-hero-title .elementor-heading-title em, .gvb-hero-title .elementor-heading-title span.gvb-stroke {
	font-style: normal !important; color: transparent !important; -webkit-text-stroke: 2px #6FA8EA !important;
}
.gvb-hero-sub, .gvb-hero-sub p { font-size: clamp(17px, 1.9vw, 21px) !important; color: #C9D6E6 !important; max-width: 46ch !important; line-height: 1.55 !important; }
.gvb-hero-meta { border-top: 1px solid rgba(255, 255, 255, .12) !important; }
.gvb-hero-meta p { margin: 0 !important; font: 500 12px/1.4 var(--gvb-f-mono) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--gvb-steel-lt) !important; }
.gvb-hero-meta strong { display: block; font: 700 15px/1.3 var(--gvb-f-display) !important; color: #fff !important; letter-spacing: .02em !important; text-transform: none !important; }

/* Entrada do hero */
.gvb-hero .gvb-hero-title { animation: gvb-rise 1s var(--gvb-ease) both; }
.gvb-hero .gvb-hero-sub { animation: gvb-fade 1s .45s var(--gvb-ease) both; }
.gvb-hero .gvb-hero-ctas { animation: gvb-fade 1s .65s var(--gvb-ease) both; }
.gvb-hero .gvb-hero-meta { animation: gvb-fade 1s .85s var(--gvb-ease) both; }
@keyframes gvb-rise { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
@keyframes gvb-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.gvb-scroll-cue { position: absolute; right: 32px; bottom: 96px; display: none; flex-direction: column; align-items: center !important; gap: 12px !important; font: 500 10px/1 var(--gvb-f-mono) !important; letter-spacing: .2em !important; color: var(--gvb-steel-lt) !important; text-decoration: none !important; writing-mode: vertical-rl; }
.gvb-scroll-cue::after { content: ""; width: 1px !important; height: 64px !important; background: linear-gradient(var(--gvb-steel-lt), transparent) !important; animation: gvb-cue 2s ease-in-out infinite; transform-origin: top; }
@keyframes gvb-cue { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (min-width: 1025px) { .gvb-scroll-cue { display: flex; } }

/* ---------- Faixa de linhas (container grade com Caixas de ícone) ---------- */
.gvb-lines { border-top: 1px solid var(--gvb-line) !important; border-left: 1px solid var(--gvb-line) !important; }
.gvb-lines > .elementor-element, .gvb-lines > .e-con-inner > .elementor-element { border-right: 1px solid var(--gvb-line) !important; border-bottom: 1px solid var(--gvb-line) !important; transition: background .25s; }
.gvb-lines .elementor-icon-box-wrapper { padding: 22px 18px !important; }
.gvb-lines .elementor-icon-box-title, .gvb-lines .elementor-icon-box-title a { font: 700 14px/1.2 var(--gvb-f-display) !important; text-transform: uppercase !important; letter-spacing: .03em !important; color: var(--gvb-ink) !important; }
.gvb-lines .elementor-icon-box-description { font: 500 11px/1.3 var(--gvb-f-mono) !important; color: var(--gvb-steel) !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
.gvb-lines .elementor-icon { color: var(--gvb-blue) !important; font-size: 28px !important; transition: transform .35s var(--gvb-ease), color .25s; }
.gvb-lines .elementor-icon svg { fill: currentColor !important; }
.gvb-lines > .elementor-element:hover, .gvb-lines > .e-con-inner > .elementor-element:hover { background: var(--gvb-navy) !important; }
.gvb-lines .elementor-element:hover .elementor-icon-box-title a,
.gvb-lines .elementor-element:hover .elementor-icon-box-title,
.gvb-lines .elementor-element:hover .elementor-icon { color: #fff !important; }
.gvb-lines .elementor-element:hover .elementor-icon { transform: translateY(-3px); }
.gvb-lines .elementor-element:hover .elementor-icon-box-description { color: var(--gvb-steel-lt) !important; }

/* ---------- Card de produto (container) ---------- */
.gvb-card { background: #fff !important; border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; overflow: hidden; transition: transform .35s var(--gvb-ease), box-shadow .35s, border-color .35s; }
.gvb-card:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -30px rgba(8, 29, 54, .45) !important; border-color: transparent !important; }
.gvb-card .elementor-widget-image img { width: 100% !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; background: var(--gvb-mist) !important; transition: transform .6s var(--gvb-ease); }
.gvb-card .elementor-widget-image { overflow: hidden; }
.gvb-card:hover .elementor-widget-image img { transform: scale(1.05); }
.gvb-card-tag .elementor-heading-title { display: inline-block; font: 600 10.5px/1 var(--gvb-f-mono) !important; letter-spacing: .12em !important; text-transform: uppercase !important; background: var(--gvb-navy) !important; color: #fff !important; padding: 7px 9px !important; border-radius: 3px !important; }
.gvb-card-title .elementor-heading-title { font: 800 19px/1.15 var(--gvb-f-display) !important; text-transform: uppercase !important; color: var(--gvb-ink) !important; }
.gvb-card-text, .gvb-card-text p { font-size: 14.5px !important; color: var(--gvb-steel) !important; line-height: 1.55 !important; margin: 0 !important; }
.gvb-feats .elementor-icon-list-text { font-size: 13.5px !important; color: var(--gvb-ink) !important; }
.gvb-feats .elementor-icon-list-icon svg { fill: var(--gvb-blue) !important; width: 14px !important; }
.gvb-card-link .elementor-button {
	width: 100% !important; justify-content: space-between !important; padding: 16px 0 0 !important; background: transparent !important; border-top: 1px solid var(--gvb-line) !important; border-radius: 0 !important;
	color: var(--gvb-blue) !important; font: 700 12.5px/1 var(--gvb-f-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important;
}
.gvb-card-link .elementor-button-content-wrapper { width: 100% !important; justify-content: space-between !important; }
.gvb-card-link .elementor-button-icon svg { fill: currentColor !important; transition: transform .3s var(--gvb-ease); }
.gvb-card:hover .gvb-card-link .elementor-button-icon svg { transform: translateX(5px); }
.gvb-card--wide { background: var(--gvb-navy) !important; border-color: var(--gvb-navy) !important; }
.gvb-card--wide .gvb-card-title .elementor-heading-title { color: #fff !important; }
.gvb-card--wide .gvb-card-text, .gvb-card--wide .gvb-card-text p { color: var(--gvb-steel-lt) !important; }
.gvb-card--wide .gvb-card-link .elementor-button { color: #9CC6F5 !important; border-color: rgba(255, 255, 255, .12) !important; }
.gvb-more { border: 1px dashed var(--gvb-steel-lt) !important; border-radius: 8px !important; }

/* ---------- Tecnologia em ação (widget HTML) ---------- */
.gvb-vwrap { display: grid; gap: 20px !important; }
.gvb-vnav { display: flex; gap: 10px !important; justify-content: flex-end !important; }
.gvb-vnav button { width: 52px !important; height: 52px !important; border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, .3) !important; background: transparent !important; color: #fff !important; cursor: pointer; display: grid; place-items: center; transition: background .2s, border-color .2s; }
.gvb-vnav button:hover { background: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; }
.gvb-vnav svg { width: 20px !important; height: 20px !important; stroke: currentColor !important; fill: none !important; stroke-width: 2; }
.gvb-vtrack { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px, 82%); gap: 20px !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px !important; scrollbar-width: none; overscroll-behavior-x: contain; }
.gvb-vtrack::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { .gvb-vtrack { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (min-width: 1025px) { .gvb-vtrack { grid-auto-columns: calc((100% - 40px) / 3); } }
.gvb-vcard { scroll-snap-align: start; position: relative; aspect-ratio: 4 / 5 !important; border-radius: 8px !important; overflow: hidden; background: var(--gvb-navy-2) !important; border: 0 !important; padding: 0 !important; cursor: pointer; color: #fff !important; text-align: left !important; isolation: isolate; }
.gvb-vcard img, .gvb-vcard video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover !important; z-index: -2; transition: transform .8s var(--gvb-ease), opacity .4s; }
.gvb-vcard video { opacity: 0 !important; }
.gvb-vcard.is-playing video { opacity: 1 !important; }
.gvb-vcard:hover img, .gvb-vcard:hover video { transform: scale(1.05); }
.gvb-vcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 40%, rgba(8, 29, 54, .95)) !important; }
.gvb-vcard__meta { position: absolute; left: 24px; right: 24px; bottom: 24px; display: grid; gap: 10px !important; }
.gvb-vcard__meta small { font: 500 11px/1 var(--gvb-f-mono) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--gvb-steel-lt) !important; }
.gvb-vcard__meta b { font: 800 22px/1.1 var(--gvb-f-display) !important; text-transform: uppercase !important; }
.gvb-vcard__play { position: absolute; top: 22px; right: 22px; width: 56px !important; height: 56px !important; border-radius: 50% !important; background: rgba(255, 255, 255, .12) !important; border: 1px solid rgba(255, 255, 255, .35) !important; display: grid; place-items: center; transition: background .3s, transform .3s var(--gvb-ease); }
.gvb-vcard__play svg { width: 18px !important; height: 18px !important; fill: #fff !important; margin-left: 3px !important; }
.gvb-vcard:hover .gvb-vcard__play { background: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; transform: scale(1.08); }
.gvb-modal { position: fixed; inset: 0; z-index: 99999; background: rgba(8, 15, 25, .9) !important; display: grid; place-items: center; padding: 16px !important; }
.gvb-modal[hidden] { display: none; }
.gvb-modal__box { width: min(1000px, 100%) !important; background: var(--gvb-navy) !important; border-radius: 8px !important; overflow: hidden; animation: gvb-fade .35s var(--gvb-ease); }
.gvb-modal__stage { aspect-ratio: 16 / 9 !important; background: #000 !important; }
.gvb-modal__stage video, .gvb-modal__stage iframe { width: 100% !important; height: 100% !important; border: 0 !important; display: block; }
.gvb-modal__bar { display: flex; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 14px 18px !important; color: #fff !important; font: 700 15px/1.2 var(--gvb-f-display) !important; text-transform: uppercase !important; }
.gvb-modal__x { width: 44px !important; height: 44px !important; border-radius: 50% !important; border: 1px solid rgba(255, 255, 255, .3) !important; background: transparent !important; color: #fff !important; font-size: 22px !important; cursor: pointer; }

/* ---------- Indicadores (widget Contador) ---------- */
.gvb-kpis > .elementor-element, .gvb-kpis > .e-con-inner > .elementor-element { border-bottom: 1px solid var(--gvb-line) !important; padding: 22px 0 !important; }
.gvb-kpi .elementor-counter-number-wrapper, .gvb-kpi-static .elementor-heading-title { font: 800 clamp(30px, 3.4vw, 42px)/1 var(--gvb-f-display) !important; color: var(--gvb-navy) !important; font-variant-numeric: tabular-nums !important; }
.gvb-kpi .elementor-counter-title { font: 400 13.5px/1.4 var(--gvb-f-body) !important; color: var(--gvb-steel) !important; text-align: left !important; }
.gvb-kpi .elementor-counter { align-items: flex-start !important; }
.gvb-flag .elementor-heading-title { display: inline-block; font: 600 10px/1 var(--gvb-f-mono) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #8A5A00 !important; background: #FFF1C9 !important; padding: 5px 7px !important; border-radius: 3px !important; }
.gvb-photo-badge { position: absolute; right: 0; bottom: 0; background: var(--gvb-blue) !important; color: #fff !important; padding: 22px 26px !important; border-top-left-radius: 8px !important; }

/* ---------- Diferenciais (Caixa de ícone, fundo escuro) ---------- */
.gvb-diffs { background: rgba(255, 255, 255, .1) !important; border: 1px solid rgba(255, 255, 255, .1) !important; border-radius: 8px !important; overflow: hidden; }
.gvb-diffs .elementor-widget-icon-box { background: var(--gvb-navy) !important; padding: 34px 30px !important; transition: background .3s; }
.gvb-diffs .elementor-widget-icon-box:hover { background: var(--gvb-navy-2) !important; }
.gvb-diffs .elementor-icon { width: 54px !important; height: 54px !important; border-radius: 8px !important; border: 1px solid rgba(111, 168, 234, .35) !important; display: grid !important; place-items: center; color: #9CC6F5 !important; font-size: 24px !important; padding: 0 !important; transition: transform .4s var(--gvb-ease), background .3s; }
.gvb-diffs .elementor-icon svg { fill: currentColor !important; width: 24px !important; height: 24px !important; }
.gvb-diffs .elementor-widget-icon-box:hover .elementor-icon { transform: translateY(-4px); background: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; color: #fff !important; }
.gvb-diffs .elementor-icon-box-title { font: 800 17px/1.2 var(--gvb-f-display) !important; text-transform: uppercase !important; color: #fff !important; }
.gvb-diffs .elementor-icon-box-description { font-size: 14.5px !important; color: var(--gvb-steel-lt) !important; }

/* ---------- Unidades ---------- */
.gvb-unit { border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; overflow: hidden; background: #fff !important; }
.gvb-unit .elementor-widget-image img { width: 100% !important; aspect-ratio: 3 / 2 !important; object-fit: cover !important; background: var(--gvb-mist) !important; }

/* ---------- Reconhecimentos ---------- */
.gvb-marquee { overflow: hidden; border-block: 1px solid var(--gvb-line) !important; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.gvb-marquee__track { display: flex; width: max-content !important; animation: gvb-mq 40s linear infinite; }
.gvb-marquee:hover .gvb-marquee__track, .gvb-marquee:focus-within .gvb-marquee__track, .gvb-marquee.is-paused .gvb-marquee__track { animation-play-state: paused; }
.gvb-marquee__item { display: flex; align-items: center !important; gap: 14px !important; padding: 28px 40px !important; white-space: nowrap; font: 700 15px/1 var(--gvb-f-display) !important; text-transform: uppercase !important; letter-spacing: .04em !important; color: var(--gvb-navy) !important; }
.gvb-marquee__item img { height: 40px !important; width: auto !important; filter: grayscale(1); opacity: .8 !important; transition: filter .3s, opacity .3s; }
.gvb-marquee__item:hover img { filter: none; opacity: 1 !important; }
.gvb-marquee__pause { margin-top: 12px !important; font: 600 12px var(--gvb-f-body) !important; background: none !important; border: 1px solid var(--gvb-line) !important; border-radius: 99px !important; padding: 8px 14px !important; cursor: pointer; color: var(--gvb-steel) !important; }
@keyframes gvb-mq { to { transform: translateX(-50%); } }

/* ---------- CTA e rodapé ---------- */
.gvb-cta { position: relative; isolation: isolate; }
.gvb-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px) 0 0 / 40px 40px !important; }
.gvb-cta .elementor-heading-title { font: 800 clamp(28px, 4.4vw, 52px)/1.05 var(--gvb-f-display) !important; text-transform: uppercase !important; color: #fff !important; }
.gvb-ftr { color: var(--gvb-steel-lt) !important; font-size: 14.5px !important; }
.gvb-ftr .gvb-ftr-h .elementor-heading-title { font: 700 12px/1 var(--gvb-f-mono) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #fff !important; }
.gvb-ftr .elementor-icon-list-text, .gvb-ftr .elementor-icon-list-item a { color: var(--gvb-steel-lt) !important; transition: color .2s; }
.gvb-ftr .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #fff !important; }
.gvb-ftr .elementor-social-icon { background: transparent !important; border: 1px solid rgba(255, 255, 255, .15) !important; border-radius: 6px !important; transition: background .2s, border-color .2s; }
.gvb-ftr .elementor-social-icon:hover { background: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; }
.gvb-ftr-bot { border-top: 1px solid rgba(255, 255, 255, .08) !important; font-size: 13px !important; }

/* ---------- Cabeçalho [gvb_menu] ---------- */
.gvb-hdr { position: fixed; top: var(--gvb-admin); left: 0; right: 0; z-index: 9990; transition: background .35s, box-shadow .35s; background: rgba(8, 29, 54, .97) !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 12px 30px -18px rgba(0, 0, 0, .6); }
.gvb-hdr.is-top:not(.is-open) { background: transparent !important; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.elementor-editor-active .gvb-hdr { position: sticky; top: 0; }
.gvb-hdr.is-solid, .gvb-hdr.is-scrolled, .gvb-hdr.is-open { background: rgba(8, 29, 54, .95) !important; -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 12px 30px -18px rgba(0, 0, 0, .6) !important; }
.gvb-hdr__in { max-width: 1240px !important; margin: 0 auto !important; padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left)) !important; height: var(--gvb-hdr-h) !important; display: flex; align-items: center !important; gap: 24px !important; transition: height .35s var(--gvb-ease); }
.gvb-hdr.is-scrolled .gvb-hdr__in { height: 68px !important; }
@media (min-width: 768px) { .gvb-hdr__in { padding-left: 32px !important; padding-right: 32px !important; } }
.gvb-logo { display: flex; align-items: center !important; flex-shrink: 0; text-decoration: none !important; }
.gvb-logo-img { height: 44px !important; width: auto !important; }
.gvb-logo-txt { font: 800 17px/1 var(--gvb-f-display) !important; color: #fff !important; letter-spacing: .02em !important; }
.gvb-nav { margin: 0 auto !important; display: none; }
.gvb-nav__list { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; gap: 4px !important; }
.gvb-nav__link { display: flex; align-items: center !important; gap: 6px !important; padding: 10px 12px !important; color: rgba(255, 255, 255, .86) !important; font: 600 12.5px/1 var(--gvb-f-display) !important; letter-spacing: .07em !important; text-transform: uppercase !important; text-decoration: none !important; background: none !important; border: 0 !important; cursor: pointer; position: relative; }
.gvb-nav__link::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px !important; background: var(--gvb-blue-hi) !important; transform: scaleX(0); transform-origin: left; transition: transform .3s var(--gvb-ease); }
.gvb-nav__link:hover, .gvb-nav__link[aria-current] { color: #fff !important; }
.gvb-nav__link:hover::after, .gvb-nav__link[aria-current]::after, .gvb-nav__link[aria-expanded="true"]::after { transform: scaleX(1); }
.gvb-chev svg { width: 12px !important; height: 12px !important; transition: transform .25s; }
.gvb-nav__link[aria-expanded="true"] .gvb-chev svg { transform: rotate(180deg); }
.gvb-hdr__cta { display: none; }
.gvb-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff !important; border-top: 3px solid var(--gvb-blue) !important; box-shadow: 0 30px 60px -30px rgba(8, 29, 54, .5) !important; opacity: 0 !important; visibility: hidden; transform: translateY(-8px); transition: opacity .25s, transform .3s var(--gvb-ease), visibility 0s .3s; }
.gvb-has-mega.is-open .gvb-mega { opacity: 1 !important; visibility: visible; transform: none; transition: opacity .25s, transform .3s var(--gvb-ease); }
.gvb-mega__grid { max-width: 1240px !important; margin: 0 auto !important; padding: 28px 32px !important; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px !important; }
.gvb-mega__item { display: flex; gap: 16px !important; align-items: flex-start !important; padding: 18px !important; border-radius: 6px !important; text-decoration: none !important; color: var(--gvb-ink) !important; transition: background .2s; }
.gvb-mega__item:hover, .gvb-mega__item:focus-visible { background: var(--gvb-mist) !important; }
.gvb-mega__ico { flex: 0 0 48px; height: 48px !important; border-radius: 6px !important; background: var(--gvb-navy) !important; color: #fff !important; display: grid; place-items: center; transition: background .25s, transform .3s var(--gvb-ease); }
.gvb-mega__ico svg { width: 26px !important; height: 26px !important; }
.gvb-mega__item:hover .gvb-mega__ico { background: var(--gvb-blue) !important; transform: rotate(-4deg); }
.gvb-mega__item b { display: block; font: 700 15px/1.2 var(--gvb-f-display) !important; text-transform: uppercase !important; }
.gvb-mega__item span span { display: block; font-size: 13px !important; color: var(--gvb-steel) !important; margin-top: 4px !important; line-height: 1.45 !important; }
.gvb-mega__all { grid-column: 1 / -1; justify-self: end; padding: 12px 18px !important; font: 700 12.5px/1 var(--gvb-f-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--gvb-blue) !important; text-decoration: none !important; }
.gvb-burger { margin-left: auto !important; width: 48px !important; height: 48px !important; border: 1px solid rgba(255, 255, 255, .25) !important; border-radius: 6px !important; background: transparent !important; display: grid; place-items: center; cursor: pointer; padding: 0 !important; }
.gvb-burger span, .gvb-burger span::before, .gvb-burger span::after { display: block; width: 20px !important; height: 2px !important; background: #fff !important; position: relative; transition: transform .3s var(--gvb-ease), background .2s; }
.gvb-burger span::before, .gvb-burger span::after { content: ""; position: absolute; left: 0; }
.gvb-burger span::before { top: -6px; } .gvb-burger span::after { top: 6px; }
.gvb-burger[aria-expanded="true"] span { background: transparent !important; }
.gvb-burger[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.gvb-burger[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }
.gvb-drawer { position: fixed; left: 0; right: 0; bottom: 0; top: 84px; background: var(--gvb-navy) !important; overflow-y: auto; padding: 8px max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important; }
.gvb-drawer__list { list-style: none; margin: 0 !important; padding: 0 !important; }
.gvb-drawer__link { display: flex; justify-content: space-between !important; align-items: center !important; width: 100% !important; min-height: 58px !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .08) !important; background: none !important; color: #fff !important; font: 700 17px/1 var(--gvb-f-display) !important; text-transform: uppercase !important; letter-spacing: .04em !important; text-decoration: none !important; cursor: pointer; text-align: left !important; }
.gvb-plus::before { content: "+"; font-size: 22px !important; }
.gvb-drawer__link[aria-expanded="true"] .gvb-plus::before { content: "–"; }
.gvb-drawer__sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--gvb-ease); }
.gvb-drawer__sub.is-open { grid-template-rows: 1fr; }
.gvb-drawer__sub > div { overflow: hidden; }
.gvb-drawer__sub a { display: flex; align-items: center !important; gap: 12px !important; min-height: 50px !important; color: var(--gvb-steel-lt) !important; font: 500 15px/1.2 var(--gvb-f-body) !important; text-decoration: none !important; border-bottom: 1px solid rgba(255, 255, 255, .05) !important; }
.gvb-drawer__sub a::before { content: ""; width: 6px !important; height: 6px !important; background: var(--gvb-blue-hi) !important; border-radius: 1px !important; }
.gvb-drawer__foot { display: grid; gap: 10px !important; padding-top: 20px !important; }
.gvb-drawer__foot .gvb-btn { width: 100% !important; }
@media (min-width: 1180px) {
	.gvb-nav, .gvb-hdr__cta { display: flex; }
	.gvb-burger, .gvb-drawer { display: none !important; }
}
@media (max-width: 1179px) { .gvb-mega { display: none; } }
body.gvb-lock { overflow: hidden; }

/* ---------- Catálogo de peças [gvb_catalogo_pecas] ---------- */
.gvb-cat { display: grid; gap: 28px !important; font-family: var(--gvb-f-body) !important; }
@media (min-width: 1025px) { .gvb-cat { grid-template-columns: 260px minmax(0, 1fr); align-items: start !important; } .gvb-cat__side { position: sticky; top: calc(84px + var(--gvb-admin)); } }
.gvb-cat__side { display: grid; gap: 14px !important; background: #fff !important; border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; padding: 22px !important; }
.gvb-search { position: relative; }
.gvb-search svg { position: absolute; left: 15px; top: 16px; width: 20px !important; height: 20px !important; color: var(--gvb-steel) !important; }
.gvb-search input { width: 100% !important; height: 52px !important; padding: 0 16px 0 46px !important; border: 1.5px solid var(--gvb-line) !important; border-radius: 6px !important; font: 500 15px var(--gvb-f-body) !important; background: #fff !important; }
.gvb-search input:focus { outline: none; border-color: var(--gvb-blue) !important; box-shadow: 0 0 0 4px rgba(0, 87, 184, .14) !important; }
.gvb-cat__label { margin: 8px 0 0 !important; font: 700 11px/1 var(--gvb-f-mono) !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--gvb-steel) !important; }
.gvb-cat__filters { display: flex; flex-wrap: wrap; gap: 8px !important; }
.gvb-fbtn { min-height: 40px !important; padding: 0 14px !important; border-radius: 6px !important; border: 1px solid var(--gvb-line) !important; background: #fff !important; font: 600 13.5px var(--gvb-f-body) !important; color: var(--gvb-ink) !important; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.gvb-fbtn:hover { border-color: var(--gvb-blue) !important; }
.gvb-fbtn[aria-pressed="true"] { background: var(--gvb-navy) !important; border-color: var(--gvb-navy) !important; color: #fff !important; }
.gvb-cat__count { margin: 0 0 16px !important; color: var(--gvb-steel) !important; font-size: 14px !important; }
.gvb-cat__count b { color: var(--gvb-ink) !important; font-variant-numeric: tabular-nums !important; }
.gvb-parts { display: grid; gap: 16px !important; grid-template-columns: 1fr; }
@media (min-width: 560px) { .gvb-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .gvb-parts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gvb-part { background: #fff !important; border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; display: flex; flex-direction: column; overflow: hidden; transition: box-shadow .3s, transform .3s var(--gvb-ease); }
.gvb-part:hover { box-shadow: 0 18px 40px -24px rgba(8, 29, 54, .4) !important; transform: translateY(-3px); }
.gvb-part[hidden] { display: none; }
.gvb-part__img { aspect-ratio: 16 / 10 !important; background: var(--gvb-mist) !important; display: grid; place-items: center; overflow: hidden; }
.gvb-part__img img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.gvb-part__noimg svg { width: 48px !important; height: 48px !important; color: var(--gvb-steel-lt) !important; }
.gvb-part__body { padding: 18px !important; display: grid; gap: 10px !important; flex: 1; align-content: start; }
.gvb-part__name { margin: 0 !important; font: 700 15.5px/1.25 var(--gvb-f-display) !important; color: var(--gvb-ink) !important; }
.gvb-spec { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px !important; font-size: 12.5px !important; margin: 0 !important; }
.gvb-spec dt { font: 500 11px/1.6 var(--gvb-f-mono) !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--gvb-steel) !important; }
.gvb-spec dd { margin: 0 !important; overflow-wrap: anywhere; }
.gvb-part__act { display: grid; grid-template-columns: 1fr auto; gap: 8px !important; padding: 0 18px 18px !important; }
.gvb-part__act .gvb-btn { width: 100% !important; }
.gvb-part__link { width: 42px !important; height: 42px !important; border: 1px solid var(--gvb-line) !important; border-radius: 6px !important; display: grid; place-items: center; color: var(--gvb-steel) !important; }
.gvb-part__link:hover { border-color: var(--gvb-blue) !important; color: var(--gvb-blue) !important; }
.gvb-part__link svg { width: 18px !important; height: 18px !important; }
.gvb-cat__empty { padding: 40px 24px !important; text-align: center !important; border: 1px dashed var(--gvb-steel-lt) !important; border-radius: 8px !important; color: var(--gvb-steel) !important; }

/* ---------- Novidades [gvb_novidades] ---------- */
.gvb-news { display: grid; gap: 24px !important; grid-template-columns: 1fr; }
@media (min-width: 768px) { .gvb-news { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gvb-news__card { display: flex; flex-direction: column; text-decoration: none !important; color: var(--gvb-ink) !important; }
.gvb-news__img { display: block; aspect-ratio: 16 / 10 !important; border-radius: 8px !important; overflow: hidden; background: var(--gvb-mist) !important; }
.gvb-news__img img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .6s var(--gvb-ease); }
.gvb-news__card:hover .gvb-news__img img { transform: scale(1.04); }
.gvb-news__meta { margin-top: 18px !important; font: 600 11px/1 var(--gvb-f-mono) !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--gvb-blue) !important; }
.gvb-news__title { margin-top: 10px !important; font: 700 19px/1.25 var(--gvb-f-display) !important; transition: color .2s; }
.gvb-news__card:hover .gvb-news__title { color: var(--gvb-blue) !important; }
.gvb-news__excerpt { margin-top: 8px !important; font-size: 14px !important; color: var(--gvb-steel) !important; line-height: 1.55 !important; }

/* ---------- WhatsApp flutuante ---------- */
.gvb-wa-float { position: fixed; right: calc(18px + env(safe-area-inset-right)); bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 9980; width: 60px !important; height: 60px !important; border-radius: 50% !important; background: var(--gvb-wa) !important; color: #fff !important; display: grid; place-items: center; box-shadow: 0 12px 30px -8px rgba(0, 0, 0, .45) !important; transition: transform .3s var(--gvb-ease); }
.gvb-wa-float:hover { transform: scale(1.08); color: #fff !important; }
.gvb-wa-float svg { width: 30px !important; height: 30px !important; }
.gvb-wa-float::before { content: ""; position: absolute; inset: 0; border-radius: 50% !important; border: 2px solid var(--gvb-wa) !important; animation: gvb-ping 2.4s ease-out infinite; }
@keyframes gvb-ping { from { transform: scale(1); opacity: .8; } to { transform: scale(1.6); opacity: 0; } }

/* ---------- Revelação ao rolar (partindo de estado visível) ---------- */
.gvb-reveal.is-in { animation: gvb-fade .8s var(--gvb-ease) both; }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	.gvb-hdr *, .gvb-hero *, .gvb-card, .gvb-card *, .gvb-vcard *, .gvb-wa-float, .gvb-wa-float::before, .gvb-reveal, .gvb-scroll-cue::after, .gvb-part {
		animation: none !important; transition: none !important;
	}
	.gvb-marquee__track { animation: none !important; flex-wrap: wrap; width: auto; }
}


/* ---------- Reforço 1.0.1: tamanho do logo dentro do Elementor ---------- */
.gvb-hdr .gvb-logo img.gvb-logo-img, .elementor .gvb-hdr .gvb-logo img { height: 44px !important; max-height: 44px !important; width: auto !important; max-width: 200px !important; object-fit: contain !important; }
.gvb-hdr.is-scrolled .gvb-logo img { height: 38px !important; }

/* ---------- Reforço 1.0.1: fontes do layout novo acima das globais antigas ---------- */
[class*="gvb-"] .elementor-widget-text-editor, .elementor-widget-text-editor[class*="gvb-"],
[class*="gvb-"] .elementor-icon-box-description, [class*="gvb-"] .elementor-icon-list-text,
[class*="gvb-"] .elementor-counter-title { font-family: var(--gvb-f-body) !important; }
[class*="gvb-"] .elementor-widget-text-editor p { font-family: inherit !important; }
.gvb-hero .elementor-widget-text-editor, .gvb-hero .elementor-widget-text-editor p { color: #C9D6E6 !important; }

/* ---------- 1.0.2: selo branco atrás do logo (desligável em Configurações > GV Bonello) ---------- */
.gvb-logo.gvb-logo--badge { background: #fff !important; padding: 6px 12px !important; border-radius: 6px !important; box-shadow: 0 6px 18px -10px rgba(0, 0, 0, .5); }
.gvb-logo.gvb-logo--badge img { height: 36px !important; max-height: 36px !important; }
.gvb-hdr.is-scrolled .gvb-logo.gvb-logo--badge img { height: 32px !important; }
/* Faixa de topo das páginas internas (ex.: Catálogo de peças) */
.gvb-page-title .elementor-heading-title { font: 800 clamp(34px, 6vw, 72px)/1 var(--gvb-f-display) !important; text-transform: uppercase !important; color: #fff !important; letter-spacing: -.02em !important; }
.gvb-crumbs, .gvb-crumbs p { font: 500 12px/1.4 var(--gvb-f-mono) !important; letter-spacing: .06em !important; color: var(--gvb-steel-lt) !important; margin: 0 !important; }
.gvb-crumbs a { color: var(--gvb-steel-lt) !important; text-decoration: none !important; }
.gvb-crumbs a:hover { color: #fff !important; }
.gvb-page-head .gvb-lead, .gvb-page-head .gvb-lead p { color: var(--gvb-steel-lt) !important; }

/* ---------- 1.0.3: foto automática do produto nos cards ---------- */
.gvb-prod-img { overflow: hidden !important; background: var(--gvb-mist) !important; aspect-ratio: 4 / 3; display: grid !important; place-items: center !important; }
.gvb-prod-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; background: #fff !important; transition: transform .6s var(--gvb-ease); }
.gvb-card:hover .gvb-prod-img img { transform: scale(1.05); }
.gvb-prod-img--vazio { gap: 8px; padding: 16px; text-align: center; }
.gvb-prod-img--vazio svg { width: 44px; height: 44px; color: var(--gvb-steel-lt); }
.gvb-prod-img--vazio small { font: 500 12px/1.4 var(--gvb-f-body); color: #8A5A00; }
.gvb-card .elementor-widget-shortcode:first-child { margin: 0 !important; }

/* ---------- 1.0.4: 7 linhas (inclui Construção) ---------- */
.gvb-mega__grid:has(> .gvb-mega__item:nth-of-type(7)) { grid-template-columns: repeat(4, 1fr) !important; }
@media (max-width: 767px) {
	.gvb-lines > .elementor-element:last-child:nth-child(odd), .gvb-lines > .e-con-inner > .elementor-element:last-child:nth-child(odd) { grid-column: 1 / -1 !important; }
}

/* ---------- 1.0.5: cabeçalho branco (logo preto e azul) ---------- */
.gvb-hdr, .gvb-hdr.is-solid, .gvb-hdr.is-scrolled, .gvb-hdr.is-open, .gvb-hdr.is-top:not(.is-open) {
	/* fundo sólido e sem backdrop-filter: o filtro prenderia o menu do celular (position: fixed) dentro do cabeçalho */
	background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
	box-shadow: 0 1px 0 var(--gvb-line), 0 12px 30px -22px rgba(8, 29, 54, .45) !important;
}
.gvb-hdr .gvb-logo.gvb-logo--badge { background: none !important; padding: 0 !important; box-shadow: none !important; }
.gvb-hdr .gvb-logo.gvb-logo--badge img { height: 44px !important; max-height: 44px !important; }
.gvb-hdr.is-scrolled .gvb-logo img { height: 38px !important; max-height: 38px !important; }
.gvb-logo-txt { color: var(--gvb-navy) !important; }
.gvb-nav__link { color: var(--gvb-navy) !important; }
.gvb-nav__link:hover, .gvb-nav__link[aria-current], .gvb-nav__link[aria-expanded="true"] { color: var(--gvb-blue) !important; }
.gvb-nav__link::after { background: var(--gvb-blue) !important; }
.gvb-burger { border-color: var(--gvb-line) !important; }
.gvb-burger span, .gvb-burger span::before, .gvb-burger span::after { background: var(--gvb-navy) !important; }
.gvb-burger[aria-expanded="true"] span { background: transparent !important; }
.gvb-mega { box-shadow: 0 30px 60px -30px rgba(8, 29, 54, .5), inset 0 1px 0 var(--gvb-line) !important; }
.gvb-drawer { background: #fff !important; border-top: 1px solid var(--gvb-line) !important; }
.gvb-drawer__link { color: var(--gvb-navy) !important; border-bottom-color: var(--gvb-line) !important; }
.gvb-drawer__sub a { color: var(--gvb-steel) !important; border-bottom-color: var(--gvb-mist) !important; }
.gvb-drawer__sub a::before { background: var(--gvb-blue) !important; }
/* o topo escuro da home começa abaixo do cabeçalho branco */
.gvb-hero { padding-top: 164px !important; }
@media (max-width: 767px) { .gvb-hero { padding-top: 124px !important; } }

/* ---------- 1.0.6: títulos não herdam a cor global antiga do site ---------- */
.gvb-h2 .elementor-heading-title, .gvb-card-title .elementor-heading-title { color: var(--gvb-ink) !important; }
.gvb-dark .gvb-h2 .elementor-heading-title, .gvb-dark .elementor-heading-title, .gvb-card--wide .gvb-card-title .elementor-heading-title, .gvb-cta .elementor-heading-title { color: #fff !important; }
#reconhecimento .elementor-icon-box-title, #reconhecimento .elementor-icon-box-title a { color: var(--gvb-ink) !important; }
#reconhecimento .elementor-icon-box-description { color: var(--gvb-steel) !important; }
#reconhecimento .elementor-icon { color: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; }
#reconhecimento .elementor-icon svg { fill: currentColor !important; }
.gvb-eyebrow .elementor-heading-title { color: var(--gvb-blue) !important; }
.gvb-dark .gvb-eyebrow .elementor-heading-title { color: var(--gvb-steel-lt) !important; }

/* =========================================================================
   1.1.0 — Páginas de produto [gvb_produto] e de categoria [gvb_categoria]
   ========================================================================= */
.gvb-pd, .gvb-arq { font-family: var(--gvb-f-body) !important; color: var(--gvb-ink) !important; }
.gvb-pd a, .gvb-arq a { text-decoration: none !important; }
.gvb-wrap { max-width: 1240px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
@media (min-width: 768px) { .gvb-wrap { padding-left: 32px; padding-right: 32px; } }

/* Faixa de topo azul-marinho com o caminho de navegação */
.gvb-page-head.gvb-pd__head, .gvb-page-head.gvb-arq__head {
	background: linear-gradient(rgba(47, 127, 224, .09) 1px, transparent 1px) 0 0 / 48px 48px, linear-gradient(90deg, rgba(47, 127, 224, .09) 1px, transparent 1px) 0 0 / 48px 48px, radial-gradient(120% 120% at 80% 0%, #0D3361 0%, var(--gvb-navy) 60%, var(--gvb-ink) 100%) !important;
	color: #fff !important;
}
.gvb-pd__head { padding: 112px 0 26px !important; }
.gvb-arq__head { padding: 132px 0 48px !important; }
.elementor-editor-active .gvb-pd__head, .elementor-editor-active .gvb-arq__head { padding-top: 32px !important; }
.gvb-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.gvb-crumbs li { margin: 0 !important; }
.gvb-crumbs li + li::before { content: "/"; margin-right: 8px; opacity: .6; }
.gvb-crumbs [aria-current] { color: #fff !important; }
.gvb-arq__title { margin: 18px 0 0 !important; font: 800 clamp(34px, 6vw, 68px)/1 var(--gvb-f-display) !important; text-transform: uppercase !important; letter-spacing: -.02em !important; color: #fff !important; }
.gvb-arq__desc, .gvb-arq__desc p { margin: 14px 0 0 !important; color: var(--gvb-steel-lt) !important; font-size: 17px !important; max-width: 62ch; }

/* Produto */
.gvb-pd__grid { display: grid; gap: 36px; padding-top: 40px !important; padding-bottom: 56px !important; }
@media (min-width: 1025px) { .gvb-pd__grid { grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: start; } .gvb-pd__info { position: sticky; top: 108px; } }
.gvb-pd__gal { display: grid; gap: 12px; min-width: 0; }
.gvb-pd__main { aspect-ratio: 1 / 1; border: 1px solid var(--gvb-line); border-radius: 8px; overflow: hidden; background: #fff; display: grid; place-items: center; }
.gvb-pd__main img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.gvb-pd__main--vazio svg { width: 72px; height: 72px; color: var(--gvb-steel-lt); }
.gvb-pd__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 10px; }
.gvb-pd__thumb { padding: 0 !important; border: 2px solid var(--gvb-line) !important; border-radius: 6px !important; background: #fff !important; overflow: hidden; cursor: pointer; aspect-ratio: 1 / 1; transition: border-color .2s; }
.gvb-pd__thumb:hover { border-color: var(--gvb-steel-lt) !important; }
.gvb-pd__thumb[aria-pressed="true"] { border-color: var(--gvb-blue) !important; }
.gvb-pd__thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block; }
.gvb-pd__info { display: grid; gap: 18px; align-content: start; min-width: 0; }
.gvb-pd__tag, .gvb-lcard__tag { justify-self: start; font: 600 10.5px/1 var(--gvb-f-mono) !important; letter-spacing: .12em !important; text-transform: uppercase !important; background: var(--gvb-navy) !important; color: #fff !important; padding: 7px 9px !important; border-radius: 3px; }
.gvb-pd__title { margin: 0 !important; font: 800 clamp(28px, 3.8vw, 44px)/1.06 var(--gvb-f-display) !important; text-transform: uppercase !important; color: var(--gvb-ink) !important; letter-spacing: -.01em !important; text-wrap: balance; }
.gvb-pd__sku { margin: 0 !important; font: 500 12px/1 var(--gvb-f-mono) !important; letter-spacing: .08em !important; text-transform: uppercase; color: var(--gvb-steel) !important; }
.gvb-pd__sku b { color: var(--gvb-ink); }
.gvb-pd__lead, .gvb-pd__lead p { margin: 0 !important; font-size: 16.5px !important; line-height: 1.6 !important; color: var(--gvb-steel) !important; }
.gvb-pd__lead ul { margin: 12px 0 0 !important; padding: 0 !important; list-style: none !important; display: grid; gap: 8px; }
.gvb-pd__lead li { display: flex; gap: 10px; color: var(--gvb-ink) !important; }
.gvb-pd__lead li::before { content: ""; flex: 0 0 14px; height: 14px; margin-top: 4px; background: var(--gvb-blue); clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%); }
.gvb-pd__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gvb-btn--outline { background: transparent !important; color: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; }
.gvb-btn--outline:hover { background: var(--gvb-blue) !important; color: #fff !important; }
.gvb-pd__note { margin: 0 !important; font-size: 13px !important; color: var(--gvb-steel) !important; border-left: 3px solid var(--gvb-line); padding-left: 12px; }
.gvb-pd__tabs { border-top: 1px solid var(--gvb-line); padding-top: 40px !important; padding-bottom: 24px !important; }
.gvb-tablist { display: flex; gap: 4px; border-bottom: 1px solid var(--gvb-line); overflow-x: auto; scrollbar-width: none; }
.gvb-tablist button { min-height: 52px; padding: 0 18px !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; margin-bottom: -1px; background: none !important; font: 700 13px/1 var(--gvb-f-display) !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--gvb-steel) !important; cursor: pointer; white-space: nowrap; }
.gvb-tablist button[aria-selected="true"] { color: var(--gvb-ink) !important; border-bottom-color: var(--gvb-blue) !important; }
.gvb-tabpanel { padding: 28px 0 !important; max-width: 78ch; }
.gvb-tabpanel[hidden] { display: none !important; }
.gvb-pd__texto, .gvb-pd__texto p, .gvb-pd__texto li { font-size: 16px !important; line-height: 1.7 !important; color: var(--gvb-steel) !important; text-align: left !important; }
.gvb-pd__texto h1, .gvb-pd__texto h2, .gvb-pd__texto h3 { font: 700 20px/1.3 var(--gvb-f-display) !important; color: var(--gvb-ink) !important; margin: 24px 0 10px !important; text-align: left !important; }
.gvb-pd__texto strong { color: var(--gvb-ink); }
.gvb-spec-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.gvb-spec-table th, .gvb-spec-table td { text-align: left; padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--gvb-line) !important; vertical-align: top; background: none !important; }
.gvb-spec-table th { width: 38%; font: 500 12px/1.5 var(--gvb-f-mono) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--gvb-steel) !important; }
.gvb-pd__rel { padding-top: 24px !important; padding-bottom: 96px !important; }
.gvb-pd__reltitle { margin: 0 0 24px !important; font: 800 clamp(22px, 3vw, 30px)/1.1 var(--gvb-f-display) !important; text-transform: uppercase !important; color: var(--gvb-ink) !important; }
.gvb-mbar { display: none; }
@media (max-width: 767px) {
	.gvb-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9970; display: flex; padding: 10px max(16px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: rgba(255, 255, 255, .97); border-top: 1px solid var(--gvb-line); }
	.gvb-mbar .gvb-btn { flex: 1; }
	.gvb-pd { padding-bottom: 72px; }
	body:has(.gvb-mbar) .gvb-wa-float, body:has(.gvb-mbar) .gvb-wa-float { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
}

/* Listagem */
.gvb-arq { background: var(--gvb-mist); }
.gvb-arq__grid { display: grid; gap: 28px; padding-top: 40px !important; padding-bottom: 96px !important; }
@media (min-width: 1025px) { .gvb-arq__grid { grid-template-columns: 250px minmax(0, 1fr); align-items: start; } .gvb-arq__side { position: sticky; top: 100px; } }
.gvb-arq__side { display: grid; gap: 4px; background: #fff; border: 1px solid var(--gvb-line); border-radius: 8px; padding: 14px; }
.gvb-arq__sidet { margin: 0 !important; padding: 8px 10px 10px; font: 700 11px/1 var(--gvb-f-mono) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--gvb-steel) !important; }
.gvb-arq__side a { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; padding: 0 10px; border-radius: 6px; font: 600 14px/1.2 var(--gvb-f-body) !important; color: var(--gvb-ink) !important; transition: background .2s; }
.gvb-arq__side a small { font: 500 11px var(--gvb-f-mono); color: var(--gvb-steel); }
.gvb-arq__side a:hover { background: var(--gvb-mist); }
.gvb-arq__side a[aria-current] { background: var(--gvb-navy) !important; color: #fff !important; }
.gvb-arq__side a[aria-current] small { color: var(--gvb-steel-lt); }
@media (max-width: 1024px) {
	.gvb-arq__side { display: flex; overflow-x: auto; padding: 8px; gap: 6px; scrollbar-width: none; }
	.gvb-arq__sidet { display: none; }
	.gvb-arq__side a { flex: 0 0 auto; border: 1px solid var(--gvb-line); }
}
.gvb-arq__tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.gvb-arq__tools .gvb-search { flex: 1 1 260px; max-width: 440px; margin: 0; }
.gvb-arq__sort { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--gvb-steel); }
.gvb-arq__sort select { height: 44px; border: 1.5px solid var(--gvb-line) !important; border-radius: 6px !important; padding: 0 10px !important; font: 500 14px var(--gvb-f-body) !important; background: #fff !important; color: var(--gvb-ink) !important; }
.gvb-arq__count { margin: 0 0 16px !important; font-size: 14px !important; color: var(--gvb-steel) !important; }
.gvb-arq__count b { color: var(--gvb-ink); }
.gvb-lgrid { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 560px) { .gvb-lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .gvb-lgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gvb-lcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gvb-line); border-radius: 8px; overflow: hidden; transition: transform .3s var(--gvb-ease), box-shadow .3s; min-width: 0; }
.gvb-lcard:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -28px rgba(8, 29, 54, .45); }
.gvb-lcard__img { display: grid !important; place-items: center; aspect-ratio: 4 / 3; background: #fff; overflow: hidden; border-bottom: 1px solid var(--gvb-mist); }
.gvb-lcard__img img { width: 100% !important; height: 100% !important; object-fit: contain !important; transition: transform .6s var(--gvb-ease); }
.gvb-lcard:hover .gvb-lcard__img img { transform: scale(1.05); }
.gvb-lcard__noimg svg { width: 44px; height: 44px; color: var(--gvb-steel-lt); }
.gvb-lcard__body { padding: 18px; display: grid; gap: 10px; flex: 1; align-content: start; }
.gvb-lcard__title { margin: 0 !important; font: 700 16.5px/1.25 var(--gvb-f-display) !important; }
.gvb-lcard__title a { color: var(--gvb-ink) !important; }
.gvb-lcard__title a:hover { color: var(--gvb-blue) !important; }
.gvb-lcard__act { display: flex; gap: 8px; padding: 0 18px 18px; }
.gvb-lcard__act .gvb-btn { flex: 1; padding: 0 10px !important; }
.gvb-pag { display: flex; justify-content: center; margin-top: 32px; }
.gvb-pag .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; margin: 0 3px; border: 1px solid var(--gvb-line); border-radius: 6px; background: #fff; color: var(--gvb-ink) !important; font: 600 14px var(--gvb-f-body); }
.gvb-pag .page-numbers.current { background: var(--gvb-navy); border-color: var(--gvb-navy); color: #fff !important; }
.gvb-pag a.page-numbers:hover { border-color: var(--gvb-blue); color: var(--gvb-blue) !important; }
@media (prefers-reduced-motion: reduce) { .gvb-lcard, .gvb-lcard *, .gvb-pd * { transition: none !important; } }
@media (max-width: 767px) { body:has(.gvb-mbar) .gvb-wa-float { display: none !important; } }
.gvb-pd__title--longo { font-size: clamp(24px, 2.6vw, 34px) !important; line-height: 1.12 !important; }
.gvb-pd__lead { max-width: 60ch; }
.gvb-pd__more { justify-self: start; margin-top: -6px; font: 700 12.5px/1 var(--gvb-f-display) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--gvb-blue) !important; border-bottom: 2px solid currentColor; padding-bottom: 3px; }
.gvb-pd__more:hover { color: var(--gvb-navy) !important; }
.gvb-pd__tabs { scroll-margin-top: 100px; }
.gvb-tablist { scroll-margin-top: 100px; }

/* ---------- 1.1.4: rodapé ---------- */
/* logo preto e azul sobre fundo escuro: selo branco */
.gvb-ftr .elementor-widget-image img { background: #fff !important; padding: 10px 14px !important; border-radius: 6px !important; max-width: 180px !important; height: auto !important; }
/* listas de links sem o ícone de "visto" */
.gvb-ftr .elementor-icon-list-icon { display: none !important; }
.gvb-ftr .elementor-icon-list-item { padding-left: 0 !important; }
.gvb-ftr .elementor-icon-list-items { display: grid !important; gap: 10px !important; }
.gvb-ftr .elementor-icon-list-text { padding-left: 0 !important; font-size: 14.5px !important; line-height: 1.45 !important; }

/* ---------- 1.1.6: vídeo do topo carregado direto no HTML ---------- */
.gvb-hero .gvb-hero-video { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: var(--gvb-pos-d, 60% 50%); display: block; }
@media (max-width: 767px) { .gvb-hero .gvb-hero-video { object-position: var(--gvb-pos-m, 68% 50%); } }

/* 1.1.7 — Shorts do YouTube em "Tecnologia em ação" */
.gvb-vwrap--shorts .gvb-vcard { aspect-ratio: 9 / 14 !important; }
.gvb-vwrap--shorts .gvb-vcard__meta b { font-size: 18px !important; line-height: 1.15 !important; }
@media (min-width: 1025px) { .gvb-vwrap--shorts .gvb-vtrack { grid-auto-columns: calc((100% - 60px) / 4); } }
.gvb-modal--short .gvb-modal__box { width: min(420px, 100%, calc((100vh - 110px) * .5625)) !important; }
.gvb-modal--short .gvb-modal__stage { aspect-ratio: 9 / 16 !important; }

/* 1.1.8 — vídeo do topo sempre visível (celular e movimento reduzido) */
.gvb-hero .elementor-background-video-container { display: block !important; }

/* 1.2.0 — títulos dos cartões de vídeo quebram em até 3 linhas em vez de cortar */
.gvb-vcard, .gvb-vcard__meta, .gvb-vcard__meta b, .gvb-vcard__meta small { white-space: normal !important; }
.gvb-vcard__meta b { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }

/* 1.2.1 — páginas internas (Quem Somos, Contato, Destaques, Trabalhe Conosco) */
.gvb-body, .gvb-body p { font: 400 16px/1.7 var(--gvb-f-body) !important; color: var(--gvb-steel) !important; }
.gvb-body p + p { margin-top: 14px !important; }
.gvb-h3 .elementor-heading-title { font: 800 22px/1.2 var(--gvb-f-display) !important; text-transform: uppercase !important; color: var(--gvb-navy) !important; }
.gvb-quote { border-left: 4px solid var(--gvb-blue) !important; padding-left: 28px !important; }
.gvb-quote p { font: 400 17px/1.75 var(--gvb-f-body) !important; color: var(--gvb-ink) !important; }
.gvb-quote p + p { margin-top: 16px !important; }
.gvb-kpis.e-grid > .elementor-element, .gvb-kpis > .e-con-inner > .elementor-element { padding: 18px 18px 18px 0 !important; }
.gvb-kpis .gvb-card-text p { font-size: 13px !important; }

.gvb-form-card { background: #fff !important; border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; box-shadow: 0 18px 40px -28px rgba(8, 29, 54, .35) !important; }
.gvb-form-card .elementor-field-label { font: 600 13px/1.3 var(--gvb-f-body) !important; color: var(--gvb-navy) !important; margin-bottom: 6px !important; }
.gvb-form-card .elementor-field-textual, .gvb-form-card select.elementor-field, .gvb-form-card .elementor-field-type-upload input {
	background: var(--gvb-mist) !important; border: 1px solid var(--gvb-line) !important; border-radius: 6px !important;
	min-height: 48px !important; padding: 12px 14px !important; font: 400 15px/1.4 var(--gvb-f-body) !important; color: var(--gvb-ink) !important; }
.gvb-form-card textarea.elementor-field-textual { min-height: 130px !important; }
.gvb-form-card .elementor-field-textual:focus, .gvb-form-card select.elementor-field:focus { border-color: var(--gvb-blue) !important; background: #fff !important; outline: 2px solid rgba(0, 87, 184, .15) !important; }
.gvb-form-card .elementor-field-group { margin-bottom: 14px !important; }
.gvb-form-card .elementor-button[type="submit"], .gvb-form-card button[type="submit"] {
	background: var(--gvb-blue) !important; color: #fff !important; border: 0 !important; border-radius: 6px !important; min-height: 50px !important;
	font: 700 14px/1 var(--gvb-f-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important; transition: background .25s; }
.gvb-form-card .elementor-button[type="submit"]:hover, .gvb-form-card button[type="submit"]:hover { background: var(--gvb-navy) !important; }

.gvb-info { background: #fff !important; border: 1px solid var(--gvb-line) !important; border-radius: 8px !important; padding: 20px 22px !important; transition: border-color .25s, transform .25s; }
.gvb-info:hover { border-color: var(--gvb-blue) !important; transform: translateY(-2px); }
.gvb-info .elementor-icon-box-wrapper { display: flex !important; align-items: center !important; gap: 18px !important; text-align: left !important; }
.gvb-info .elementor-icon-box-icon { margin: 0 !important; }
.gvb-info .elementor-icon { width: 48px !important; height: 48px !important; border-radius: 8px !important; background: rgba(0, 87, 184, .08) !important; color: var(--gvb-blue) !important; display: grid !important; place-items: center; font-size: 20px !important; }
.gvb-info .elementor-icon svg { width: 20px !important; height: 20px !important; fill: var(--gvb-blue) !important; }
.gvb-info .elementor-icon-box-title { margin: 0 0 4px !important; font: 500 11px/1 var(--gvb-f-mono) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--gvb-steel) !important; }
.gvb-info .elementor-icon-box-title a, .gvb-info .elementor-icon-box-description { font: 600 16px/1.4 var(--gvb-f-body) !important; color: var(--gvb-navy) !important; text-decoration: none !important; }
.gvb-map iframe { display: block; filter: grayscale(.35); }
.gvb-page-head + .elementor-element { position: relative; }

/* 1.2.3 — logo do cabeçalho maior (arquivo recortado, sem margem branca) */
.gvb-hdr .gvb-logo img.gvb-logo-img, .gvb-hdr .gvb-logo.gvb-logo--badge img, .elementor .gvb-hdr .gvb-logo img { height: 58px !important; max-height: 58px !important; max-width: 220px !important; }
.gvb-hdr.is-scrolled .gvb-logo img, .gvb-hdr.is-scrolled .gvb-logo.gvb-logo--badge img { height: 48px !important; max-height: 48px !important; }
.gvb-hdr .gvb-logo img { transition: height .3s var(--gvb-ease); image-rendering: auto; }
@media (max-width: 767px) {
	.gvb-hdr .gvb-logo img.gvb-logo-img, .gvb-hdr .gvb-logo.gvb-logo--badge img, .elementor .gvb-hdr .gvb-logo img { height: 46px !important; max-height: 46px !important; }
	.gvb-hdr.is-scrolled .gvb-logo img { height: 40px !important; max-height: 40px !important; }
}

/* 1.2.4 — logo sem cantos arredondados (o tema arredondava todas as imagens) */
.gvb-hdr .gvb-logo, .gvb-hdr .gvb-logo img, .gvb-hdr .gvb-logo img.gvb-logo-img,
.gvb-ftr .elementor-widget-image img, .gvb-ftr .elementor-widget-image a { border-radius: 0 !important; overflow: visible !important; }
.gvb-hdr .gvb-logo img { clip-path: none !important; mask: none !important; -webkit-mask: none !important; }

/* 1.2.5 — fotos dos produtos inteiras (sem corte) e botão Orçamento no azul do tema */
.gvb-lcard__img, .gvb-prod-img { background: #fff !important; padding: 12px !important; }
.gvb-lcard__img img, .gvb-prod-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center !important; transform: none !important; }
.gvb-lcard:hover .gvb-lcard__img img, .gvb-card:hover .gvb-prod-img img { transform: none !important; }
.gvb-btn--orc { background: var(--gvb-blue) !important; border-color: var(--gvb-blue) !important; color: #fff !important; }
.gvb-btn--orc:hover, .gvb-btn--orc:focus-visible { background: var(--gvb-navy) !important; border-color: var(--gvb-navy) !important; color: #fff !important; }
.gvb-btn--orc svg { fill: currentColor !important; }

/* 1.2.6 — a foto ocupa o quadro sem estourar a altura (antes ficava quadrada e era cortada embaixo) */
.gvb-lcard__img, .gvb-prod-img { position: relative !important; display: block !important; aspect-ratio: 4 / 3 !important; overflow: hidden !important; padding: 0 !important; }
.gvb-lcard__img img, .gvb-prod-img img {
	position: absolute !important; top: 12px !important; left: 12px !important;
	width: calc(100% - 24px) !important; height: calc(100% - 24px) !important; max-width: none !important; max-height: none !important;
	object-fit: contain !important; object-position: center !important; margin: 0 !important; }
.gvb-lcard__noimg { position: absolute; inset: 0; display: grid; place-items: center; }
.gvb-prod-img--vazio { display: grid !important; place-items: center !important; }

/* 1.2.7 — botões em tamanho padrão e quadro das fotos estável no celular */
.gvb-btn { min-height: 46px !important; padding: 0 22px !important; font-size: 12.5px !important; gap: 8px !important; }
.gvb-btn--sm { min-height: 40px !important; padding: 0 14px !important; font-size: 12px !important; }
.gvb-btn svg, .gvb-btn--orc svg, .gvb-btn--wa svg { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
.gvb-pd__actions .gvb-btn { flex: 0 0 auto; }
.elementor-widget-button .elementor-button { padding: 14px 24px !important; font-size: 12.5px !important; }
.elementor-widget-button.gvb-card-link .elementor-button { padding: 14px 0 !important; }
@media (max-width: 767px) {
	.gvb-btn { min-height: 44px !important; padding: 0 18px !important; }
	.gvb-pd__actions .gvb-btn { flex: 1 1 100%; }
}
/* Quadro da foto com altura garantida (independe de suporte a aspect-ratio) */
.gvb-lcard__img::before, .gvb-prod-img::before { content: ""; display: block; padding-top: 75%; }
.gvb-lcard__img, .gvb-prod-img { height: auto !important; min-height: 0 !important; width: 100% !important; }
.elementor-widget-shortcode:has(> .elementor-widget-container > .elementor-shortcode > .gvb-prod-img),
.elementor-widget-shortcode:has(.gvb-prod-img) { width: 100% !important; }

/* 1.2.8 — rodapé: logo branco, sem fundo */
.gvb-ftr .elementor-widget-image img, .gvb-ftr .elementor-widget-image a img {
	background: transparent !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important;
	width: 170px !important; max-width: 100% !important; height: auto !important; }
.gvb-ftr .elementor-widget-image { text-align: left !important; }
@media (max-width: 767px) { .gvb-ftr .elementor-widget-image img { width: 150px !important; } }
