.auth-divider { display: flex; align-items: center; gap: 12px; color: #657087; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: #DCE4F0; }
.google-login-button { gap: 10px; }
.google-login-button > span { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #DCE4F0; border-radius: 50%; background: white; color: #4285f4; font-weight: 900; }
.auth-note { margin: -7px 0 0; color: #657087; font-size: 12px; line-height: 1.45; text-align: center; }
.portal-filter-extended { grid-template-columns: repeat(3, minmax(150px, .9fr)) minmax(180px, 1.2fr) minmax(140px, .75fr) auto; }
.new-document-badge { display: inline-flex; margin-left: 6px; padding: 2px 7px; border-radius: 999px; background: #e9f1ff; color: #3157A7; font-size: 11px; font-style: normal; font-weight: 800; }
@media (max-width: 1100px) { .portal-filter-extended { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 660px) { .portal-filter-extended { grid-template-columns: 1fr; } }

/* BATES 0.4.1 – mobilné centrovanie verejného webu a menu */
@media (max-width: 660px) {
    html, body { max-width: 100%; overflow-x: hidden; }

    .section,
    .section-soft,
    .process-section,
    .contact-cards-section { overflow-x: clip; }

    .section-heading,
    .hero-copy,
    .split-grid > div:not(.split-visual),
    .feature-card,
    .steps-grid li,
    .service-card > div:not(.service-image),
    .contact-person-card,
    .cta-panel,
    .prose { text-align: center; }

    .section-heading,
    .hero-copy,
    .split-grid > div,
    .feature-card,
    .steps-grid li,
    .service-card,
    .contact-person-card,
    .cta-panel { min-width: 0; width: 100%; }

    .section-heading p,
    .hero-lead,
    .lead,
    .feature-card p,
    .steps-grid p,
    .service-card p,
    .cta-panel p,
    .prose p { margin-left: auto; margin-right: auto; }

    .feature-icon,
    .steps-grid li > span,
    .contact-avatar { margin-left: auto; margin-right: auto; }

    .feature-card h3 { margin-top: 15px; }

    .steps-grid li { align-items: center; padding: 23px 20px; }
    .steps-grid li > div { width: 100%; }

    .check-list {
        width: min(100%, 430px);
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }

    .check-list li { padding-left: 29px; }

    .hero-actions,
    .service-hero-section .hero-actions,
    .cta-panel > div:last-child,
    .contact-person-links { justify-content: center; }

    .split-visual,
    .service-hero-visual { width: 100%; }

    .faq-list summary,
    .faq-list details div { text-align: left; }

    .main-nav {
        width: 100%;
        max-height: calc(100vh - 76px);
        overflow-x: hidden;
        overflow-y: auto;
        text-align: center;
    }

    .main-nav > a,
    .nav-services,
    .nav-services > a { width: 100%; }

    .main-nav > a:not(.button),
    .nav-services > a {
        display: flex;
        justify-content: center;
        align-items: center;
        padding-left: 12px;
        padding-right: 12px;
        text-align: center;
    }

    .nav-services { margin: 0; padding: 0; }

    .nav-mega-menu {
        width: 100%;
        margin: 0;
        padding: 7px 0 10px;
        border: 0;
        background: #f7f9fd;
    }

    .mega-service-grid { width: 100%; gap: 3px; padding: 0 8px; }

    .mega-service-link {
        grid-template-columns: 34px minmax(0, 1fr);
        width: min(100%, 330px);
        margin: 0 auto;
        padding: 10px 12px;
        text-align: left;
    }

    .mega-service-link > span:last-child { min-width: 0; }
    .mega-service-link strong { overflow-wrap: anywhere; }

    .zone-access-button {
        width: min(100%, 330px);
        margin: 10px auto 0;
    }
}

@media (max-width: 900px) {
    .main-nav {
        width: 100%;
        max-height: calc(100vh - 76px);
        overflow-x: hidden;
        overflow-y: auto;
        text-align: center;
    }
    .main-nav > a,
    .nav-services,
    .nav-services > a { width: 100%; }
    .main-nav > a:not(.button),
    .nav-services > a {
        display: flex;
        justify-content: center;
        align-items: center;
        padding-left: 12px;
        padding-right: 12px;
        text-align: center;
    }
    .nav-services { margin: 0; padding: 0; }
    .nav-mega-menu {
        width: 100%;
        margin: 0;
        padding: 7px 0 10px;
        border: 0;
        background: #f7f9fd;
    }
    .mega-service-grid { width: 100%; gap: 3px; padding: 0 8px; }
    .mega-service-link {
        grid-template-columns: 34px minmax(0, 1fr);
        width: min(100%, 360px);
        margin: 0 auto;
        padding: 10px 12px;
        text-align: left;
    }
    .mega-service-link > span:last-child { min-width: 0; }
    .mega-service-link strong { overflow-wrap: anywhere; }
    .zone-access-button { width: min(100%, 360px); margin: 10px auto 0; }
}

@media (max-width: 660px) {
    .trust-bar article {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;
        padding: 20px 16px;
        text-align: center;
    }
    .trust-bar article > div { min-width: 0; width: 100%; }
    .trust-icon { margin-left: auto; margin-right: auto; }

    .catalog-card-body { align-items: center; text-align: center; }
    .catalog-card-link { justify-content: center; }
    .catalog-card h3, .catalog-card p { width: 100%; }

    .contact-person-card { align-items: center; }
    .company-info-card { text-align: center; }
}
