/**

 * Classes that replace former inline style="" / shared dashboard & guest chrome.

 * Linked from logged-in header, guest header, and guest auth header.

 */



/* No-JS fallback only (matches old <noscript><style>body{overflow:hidden}</style>) */

body:has(.noscript-overlay) {

    overflow: hidden !important;

}



body.admin-login-as {

    padding-top: 60px;

}



body.admin-login-as .dash-sidebar,

body.admin-login-as .dash-header {

    padding-top: 60px;

}



.admin-banner-email-code {

    color: white;

    background: black;

    margin: 10px;

    padding: 10px;

    border-radius: 0.25em;

    font-weight: bold;

}



.admin-banner-back-form {

    display: inline;

}



.noscript-overlay {

    height: 100vh;

    text-align: center;

    position: absolute;

    z-index: 10000;

    width: 100%;

    background: rgba(0, 0, 0, 0.87);

}



.noscript-container {

    padding-top: 50vh;

}



.noscript-panel {

    border: 2px solid red;

    position: absolute;

    margin-left: 25%;

    padding: 10px;

    border-radius: 0.25em;

    background: black;

}



.noscript-reload-btn {

    margin: auto;

    margin-top: 10px;

}



.dash-sidebar-logo-img {

    width: 100% !important;

}



.dashboard-language-dropdown-hidden {

    display: none;

}



.nav-language-hidden {

    display: none;

}



#exampleModal.review-modal-force-block {

    display: block !important;

    background: #000000e3;

}



#exampleModal #stars.review-stars-stack {

    font-size: 64px;

    text-align: center;

}



.trustpilot-review-spacing {

    margin-bottom: 20px;

}



.google-review-wrap,

.google-review-link {

    text-align: center;

}



.google-review-img {

    margin: auto;

}



.review-modal-btn-text {

    color: white;

}



.iconcaptcha-widget-centered {

    margin: auto;

    margin-bottom: 10px;

}

/* IconCaptcha v4: default interactionDelay (1500ms) and hoverProtection drop first clicks; disable sitewide */
.iconcaptcha-widget {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
}

/* IconCaptcha: same brand red (#ff002a) as guest login / contact — light & dark themes use data-theme; accents apply everywhere */
.guest-auth-iconcaptcha-wrap .iconcaptcha-widget {
    margin-left: auto;
    margin-right: auto;
}

.iconcaptcha-widget.iconcaptcha-init .iconcaptcha-modal__body-circle {
    border-color: #ff002a !important;
    -webkit-animation: spacemedia-captcha-breathing 5s infinite linear !important;
    animation: spacemedia-captcha-breathing 5s infinite linear !important;
}

.iconcaptcha-widget.iconcaptcha-init .iconcaptcha-modal__body-circle.iconcaptcha-modal__body-circle--speed {
    -webkit-animation-duration: 2s !important;
    animation-duration: 2s !important;
}

.iconcaptcha-widget .iconcaptcha-modal__body-selection > i {
    background: #ff002a !important;
}

.iconcaptcha-widget .iconcaptcha-modal__body .captcha-loader {
    border-color: #ff002a !important;
    -webkit-animation: spacemedia-captcha-breathing 2s infinite ease-in-out !important;
    animation: spacemedia-captcha-breathing 2s infinite ease-in-out !important;
}

@-webkit-keyframes spacemedia-captcha-breathing {
    0%, 100% { -webkit-transform: scale(1) translateZ(0); transform: scale(1) translateZ(0); border-color: #ff002a; }
    25% { -webkit-transform: scale(0.8) translateZ(0); transform: scale(0.8) translateZ(0); border-color: #cc0022; }
    50% { -webkit-transform: scale(1) translateZ(0); transform: scale(1) translateZ(0); border-color: #ff002a; }
    75% { -webkit-transform: scale(0.8) translateZ(0); transform: scale(0.8) translateZ(0); border-color: #cc0022; }
}

@keyframes spacemedia-captcha-breathing {
    0%, 100% { -webkit-transform: scale(1) translateZ(0); transform: scale(1) translateZ(0); border-color: #ff002a; }
    25% { -webkit-transform: scale(0.8) translateZ(0); transform: scale(0.8) translateZ(0); border-color: #cc0022; }
    50% { -webkit-transform: scale(1) translateZ(0); transform: scale(1) translateZ(0); border-color: #ff002a; }
    75% { -webkit-transform: scale(0.8) translateZ(0); transform: scale(0.8) translateZ(0); border-color: #cc0022; }
}



/* Guest marketing header only (.mn-header): keep Sign In + primary CTA on one line, no clipping */

@media (min-width: 768px) and (max-width: 1399.98px) {

    .mn-header .container {

        max-width: 100%;

        padding-left: 12px;

        padding-right: 12px;

    }



    .mn-header .navbar {

        flex-wrap: nowrap;

        overflow: visible;

        column-gap: 8px;

    }



    .mn-header .navbar-brand {

        flex: 0 0 auto;

        max-width: min(200px, 26vw);

    }



    .mn-header .navbar > .header-primary-cta {

        flex: 0 0 auto;

        max-width: none;

        padding-left: 12px;

        padding-right: 12px;

        font-size: clamp(12px, 1.1vw, 15px);

        white-space: nowrap;

    }



    .mn-header .guest-nav-panel {

        flex: 1 1 auto;

        flex-wrap: nowrap;

        min-width: 0;

        overflow: visible;

    }



    .mn-header .guest-nav-panel .navbar-nav.primary-nav {

        flex-wrap: nowrap;

        min-width: 0;

    }



    .mn-header .guest-nav-panel .primary-nav .nav-link {

        padding-left: 8px;

        padding-right: 8px;

        font-size: clamp(13px, 1.05vw, 15px);

        white-space: nowrap;

    }



    .mn-header .guest-nav-panel .secondary-nav {

        flex: 0 0 auto;

        flex-wrap: nowrap;

        margin-left: auto;

    }



    .mn-header .guest-nav-panel .secondary-nav .sign-in .nav-link,

    .mn-header .guest-nav-panel .secondary-nav .nav-link.publish-btn {

        white-space: nowrap;

        font-size: clamp(13px, 1.05vw, 15px);

    }



    .mn-header .guest-nav-panel .secondary-nav .sign-in .nav-link {

        padding-left: 8px;

        padding-right: 8px;

    }



    .mn-header .guest-nav-panel .nav-item-theme-toggle {

        flex-shrink: 0;

    }

}


