/* v20 — Vertical Timeline: fade-in steps, dot pulse, line fill */

/* Bootstrap .d-flex !important перебивает [hidden] */
.ribbon-lane-wizard .ribbon-lane-wizard__pane[hidden],
.ribbon-lane-wizard .ribbon-lane-wizard__toolbar[hidden],
.ribbon-lane-wizard button.ribbon-lane-wizard__retreat[hidden],
.ribbon-lane-wizard button.ribbon-lane-wizard__commit[hidden],
.ribbon-lane-wizard p.ribbon-lane-wizard__alert[hidden],
.ribbon-lane-wizard .ribbon-lane-wizard__tick[hidden] {
    display: none !important;
}

/* Анимация только у видимого шага — иначе fill-mode "both" оставляет все шаги видимыми */
.ribbon-lane-wizard__pane:not([hidden]) {
    animation: ribbon-lane-wizard-pane-reveal-kf 0.38s ease both;
}

@keyframes ribbon-lane-wizard-pane-reveal-kf {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ribbon-lane-wizard__bead--past,
.ribbon-lane-wizard__bead--current,
.ribbon-lane-wizard__bead--future {
    position: relative;
}

.ribbon-lane-wizard__bead--future {
    background-color: transparent;
}

.ribbon-lane-wizard__bead--past,
.ribbon-lane-wizard__bead--current {
    border-color: var(--color-primary-500, #6366f1);
    background-color: var(--color-primary-500, #6366f1);
}

.ribbon-lane-wizard__bead--current {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

/* Active dot pulse ring */
.ribbon-lane-wizard__bead--current::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid currentColor;
    opacity: 0;
    animation: ribbon-lane-wizard-bead-pulse-kf 2s ease-out infinite;
    color: var(--color-primary-500, #6366f1);
}

@keyframes ribbon-lane-wizard-bead-pulse-kf {
    0%   { opacity: 0.6; transform: scale(1); }
    100% { opacity: 0;   transform: scale(2.2); }
}

/* Timeline fill */
.ribbon-lane-wizard__spine {
    transition: height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Decorative orbs: non-interactive */
.ribbon-lane-wizard .absolute {
    pointer-events: none;
}

/* Responsive: tighten timeline on small screens */
@media (max-width: 480px) {
    .ribbon-lane-wizard__bead {
        width: 1rem;
        height: 1rem;
    }
}

.contact-us-flex__min {
    min-width: 0;
}

.contact-us-media__cover {
    object-fit: cover;
}

.google-map-with-trust-badge-overlay-and-centered-title__iframe { width: 100%; min-height: 400px; }
@media (min-width: 768px) { .google-map-with-trust-badge-overlay-and-centered-title__iframe { min-height: 600px; } }

/* iframe-normalized */
.google-map-with-trust-badge-overlay-and-centered-title__iframe {
    width: 100%;
    max-width: 100%;
    height: 400px;
    min-height: 400px;
    display: block;
    border: 0;
    box-sizing: border-box;
    vertical-align: bottom;
}

@media (min-width: 768px) {
    .google-map-with-trust-badge-overlay-and-centered-title__iframe {
        height: 600px;
        min-height: 600px;
    }
}


