/* Gaotus Builder Premium: Elementor parity, context, accessibility and fail-safes. */
.gacb-page-root,
.gacb-elementor-page,
.gacb-site-mode .elementor,
.gacb-site-mode .elementor-page {
    width: 100%;
    min-width: 0;
}

.gacb-site-mode .elementor-section-wrap,
.gacb-site-mode .elementor-widget-wrap,
.gacb-site-mode .elementor-widget-container {
    min-width: 0;
}

.gacb-site-mode .elementor-widget-container > .gacb-page-hero,
.gacb-site-mode .elementor-widget-container > .gacb-hero,
.gacb-site-mode .elementor-widget-container > .gacb-logo-strip,
.gacb-site-mode .elementor-widget-container > .gacb-final-cta {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
}

.gacb-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 99999;
    padding: 11px 15px;
    border-radius: 8px;
    background: #fff;
    color: #10233d;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
    transform: translateY(-180%);
}

.gacb-skip-link:focus {
    transform: translateY(0);
}

/*
 * Content is visible by default. It is hidden only after JavaScript has
 * successfully created the observer and added gacb-reveal-ready.
 */
.gacb-reveal {
    opacity: 1;
    transform: none;
}

.gacb-reveal-ready .gacb-reveal:not(.is-visible) {
    opacity: 0;
    transform: translateY(24px);
}

.gacb-reveal-ready .gacb-reveal {
    transition: opacity .55s ease, transform .55s ease;
}

.gacb-reveal-failsafe .gacb-reveal,
.gacb-site-mode .elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

.gacb-logo-desktop-center .gacb-brand-desktop {
    text-align: center;
}

.gacb-logo-desktop-right .gacb-brand-desktop {
    text-align: right;
}

.gacb-status-generated {
    background: #eaf7f1;
    color: #08765f;
}

.gacb-status-elementor {
    background: #efe8ff;
    color: #6b31c9;
}

.gacb-status-custom {
    background: #fff3d6;
    color: #8a5a00;
}

.gacb-status-protected {
    background: #eaf0f8;
    color: #243f66;
}

.gacb-status-needs-update {
    background: #ffe8e8;
    color: #b42318;
}

.gacb-status-external {
    background: #edf1f5;
    color: #44546a;
}

.gacb-site-mode :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--gacb-accent) 48%, white);
    outline-offset: 3px;
}

.gacb-site-mode [hidden] {
    display: none !important;
}

.gacb-consent {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 10px !important;
    font-size: 12px;
    line-height: 1.5;
    color: var(--gacb-muted);
}

.gacb-consent input {
    width: 18px !important;
    height: 18px;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .gacb-reveal-ready .gacb-reveal,
    .gacb-reveal-ready .gacb-reveal:not(.is-visible) {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .gacb-logo-mobile-center .gacb-header-brand {
        text-align: center;
    }

    .gacb-logo-mobile-right .gacb-header-brand {
        text-align: right;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gacb-site-mode *,
    .gacb-site-mode *::before,
    .gacb-site-mode *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }

    .gacb-reveal,
    .gacb-reveal:not(.is-visible) {
        opacity: 1 !important;
        transform: none !important;
    }
}
