.gg-steps {
--gg-accent: var(--e-global-color-primary, currentColor);
--gg-track: color-mix(in srgb, currentColor 12%, transparent);
--gg-seg-height: 5px;
--gg-seg-gap: 8px;
width: 100%;
margin-bottom: 24px;
}
.gg-steps__tagline {
margin: 0 0 12px;
font-size: 13px;
font-weight: 600;
line-height: 1.3;
opacity: .6;
}
.gg-steps__bar {
display: flex;
gap: var(--gg-seg-gap);
}
.gg-steps__seg {
flex: 1;
height: var(--gg-seg-height);
border-radius: 99px;
background: var(--gg-track);
overflow: hidden;
} .gg-steps .gg-steps__title {
margin: 24px 0 0;
font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
line-height: 1.2;
} .gg-steps:has(.gg-steps__title) {
margin-bottom: 8px;
}
.gg-steps__seg i {
display: block;
width: 100%;
height: 100%;
background: var(--gg-accent);
transform: scaleX(0);
transform-origin: left center;
transition: transform .5s cubic-bezier(.65, 0, .35, 1);
}
.gg-steps__seg.is-done i,
.gg-steps__seg.is-current i {
transform: scaleX(1);
}
.gg-steps__tagline.is-changing {
animation: gg-fade .35s ease;
}
@keyframes gg-fade {
from { opacity: 0; transform: translateY(4px); }
} .gg-multistep .e-form__indicators {
display: none !important;
}
@media (prefers-reduced-motion: reduce) {
.gg-steps__seg i { transition: none; }
.gg-steps__tagline.is-changing { animation: none; }
} .gg-multistep form.elementor-form,
form.elementor-form:has(.gg-multistep) {
transition: opacity .2s ease;
}
body:not(.elementor-editor-active) .gg-multistep form.elementor-form:not([data-gg-steps]),
body:not(.elementor-editor-active) form.elementor-form:has(.gg-multistep):not([data-gg-steps]) {
opacity: 0;
pointer-events: none;
animation: gg-steps-reveal 0s 3s forwards;
}
@keyframes gg-steps-reveal {
to { opacity: 1; pointer-events: auto; }
}  .gg-multistep .elementor-field-subgroup.elementor-subgroup-inline {
display: grid;
grid-template-columns: repeat(var(--gg-option-cols, 3), minmax(0, 1fr));
gap: 10px 24px;
}
.gg-multistep .elementor-subgroup-inline .elementor-field-option {
display: flex;
align-items: flex-start;
gap: 8px;
margin: 0;
padding: 0;
}
.gg-multistep .elementor-subgroup-inline .elementor-field-option input {
flex: none;
margin: .2em 0 0;
}
.gg-multistep .elementor-subgroup-inline .elementor-field-option label {
line-height: 1.4;
} @media (max-width: 1024px) {
.gg-multistep { --gg-option-cols: 2; }
}
@media (max-width: 767px) {
.gg-multistep { --gg-option-cols: 1; }
}