/* Shared responsive navigation control. JavaScript adds the button at runtime. */
.mobile-nav-toggle {
    display: none;
}

@media (max-width: 900px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .site-header {
        position: static !important;
    }

    .nav-bar {
        width: 100%;
        max-width: 100%;
        height: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 46px;
        overflow: visible !important;
        padding-bottom: 0;
    }

    .segs {
        display: flex !important;
        overflow: visible !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .seg2,
    .seg3 {
        display: none !important;
    }

    .seg {
        min-width: 0;
        height: 46px !important;
        padding: 0 14px 0 12px !important;
        clip-path: none !important;
        border-right: 1px solid var(--brd);
    }

    .seg1 {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .seg1 span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .seg span {
        font-size: 12px !important;
    }

    .nav-right {
        display: none !important;
        grid-column: 1 / -1;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-left: 0 !important;
        padding: 8px 12px 0 !important;
        gap: 10px !important;
        align-items: stretch;
        overflow: visible !important;
        white-space: normal;
    }

    .site-header.mobile-nav-open .nav-right {
        display: grid !important;
        padding-bottom: 8px !important;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 0;
        border-left: 1px solid var(--brd);
        border-bottom: 1px solid var(--brd);
        background: #040808;
        color: var(--acc);
        cursor: pointer;
    }

    .mobile-nav-toggle-icon,
    .mobile-nav-toggle-icon::before,
    .mobile-nav-toggle-icon::after {
        display: block;
        width: 20px;
        height: 2px;
        background: currentColor;
        content: '';
        transition: transform 0.15s ease, opacity 0.15s ease;
    }

    .mobile-nav-toggle-icon {
        position: relative;
    }

    .mobile-nav-toggle-icon::before,
    .mobile-nav-toggle-icon::after {
        position: absolute;
        left: 0;
    }

    .mobile-nav-toggle-icon::before {
        top: -6px;
    }

    .mobile-nav-toggle-icon::after {
        top: 6px;
    }

    .site-header.mobile-nav-open .mobile-nav-toggle-icon {
        background: transparent;
    }

    .site-header.mobile-nav-open .mobile-nav-toggle-icon::before {
        top: 0;
        transform: rotate(45deg);
    }

    .site-header.mobile-nav-open .mobile-nav-toggle-icon::after {
        top: 0;
        transform: rotate(-45deg);
    }

    .nav-link {
        font-size: 11px !important;
        text-align: center;
        border: 1px solid var(--brd);
        padding: 6px 4px;
        min-width: 0;
    }

    .theme-toggle {
        width: 100% !important;
        padding: 6px 4px !important;
        font-size: 10px !important;
        text-align: center;
    }

    .spec-row {
        display: none !important;
    }

    .spec-row .cursor {
        display: none;
    }

    .course-switcher {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: center !important;
        gap: 8px !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .course-switcher > span {
        display: none;
    }

    .course-switcher > a {
        min-width: 0;
        padding: 6px 2px;
        text-align: center;
        border: 1px solid var(--brd);
        overflow-wrap: anywhere;
    }

    .scenario-container {
        width: 100%;
        padding: 1.25rem 16px !important;
    }

    .cert-hero-inner,
    .cert-hero-text,
    .cert-hero-text h1,
    .cert-hero-text .full-name,
    .cert-ps {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .scenario-header,
    .step-card {
        width: 100%;
        min-width: 0;
        padding: 1.25rem !important;
    }

    .scenario-header h1 {
        max-width: 100%;
        font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
        line-height: 1.25;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .scenario-header p,
    .step-card p,
    .step-card li {
        overflow-wrap: anywhere;
    }

    .scenario-meta {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem 1rem !important;
        width: 100%;
    }

    .scenario-meta > * {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .step-content {
        margin-left: 0 !important;
    }

    .step-content pre,
    .step-content table,
    .step-content img,
    .step-content svg {
        max-width: 100%;
    }

    .step-content pre,
    .step-content table {
        overflow-x: auto;
    }

    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .section,
    .hero,
    .cert-hero,
    .cta-banner {
        padding-top: 36px !important;
        padding-bottom: 36px !important;
    }

    .hero h1 {
        font-size: clamp(30px, 9vw, 40px) !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .hero h1 .eng {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .hero-sub,
    .hero-desc {
        font-size: 15px !important;
    }

    .hero-grid,
    .card-grid,
    .cert-grid,
    .features-grid,
    .kpi-grid,
    .footer-grid,
    .footer-cols,
    .domain-grid,
    .modules,
    .mode-grid,
    .scenario-grid,
    .stats-grid,
    .pricing-grid,
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .hero-stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px !important;
    }

    .exam-stats {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exam-stat {
        border-right: none !important;
        border-bottom: 1px solid var(--brd);
    }

    .exam-stat:last-child {
        border-bottom: none;
    }

    .hero-cta,
    .hero-ctas,
    .cert-hero-inner,
    .cta-block {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .hero-ctas {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .hero-photo {
        display: none !important;
    }

    .btn,
    .btn-hero,
    .btn-primary,
    .btn-secondary,
    .btn-plan,
    .btn-mod {
        width: 100% !important;
        max-width: 100%;
        text-align: center;
    }

    .photo-frame,
    .photo-inner {
        width: min(220px, 100%) !important;
    }

    .photo-inner {
        height: auto !important;
        aspect-ratio: 4 / 5;
    }

    [style*="grid-template-columns:repeat(4,1fr)"] {
        grid-template-columns: 1fr 1fr !important;
    }

    [style*="grid-template-columns:repeat(3,1fr)"] {
        grid-template-columns: 1fr !important;
    }

    [style*="grid-template-columns:2fr 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }

    .filter-bar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
    }

    .filter-btn {
        width: 100% !important;
        min-width: 0;
        text-align: center;
    }

    .search-input {
        grid-column: 1 / -1;
        width: 100% !important;
        margin: 0 !important;
    }

    #scenarios-grid {
        grid-template-columns: 1fr !important;
    }

    #backdoor-indicator {
        top: 8px !important;
        right: 8px !important;
        padding: 0.35rem 0.65rem !important;
        font-size: 0.65rem !important;
        z-index: 10001 !important;
    }

    [style*="padding: 0 52px"],
    [style*="padding:0 52px"] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 520px) {
    .nav-right {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-stats {
        grid-template-columns: 1fr !important;
    }

    .exam-stats {
        grid-template-columns: 1fr !important;
    }

    [style*="grid-template-columns:repeat(4,1fr)"] {
        grid-template-columns: 1fr !important;
    }
}
