/* Public theme unification layer.
   Loaded after design-system-2026.css so older page-specific rules keep working,
   while page rails, controls and cards share the same final rhythm. */

:root {
    --mk-public-shell: var(--content-wide, 1400px);
    --mk-public-gutter: var(--page-gutter, clamp(1rem, 3vw, 1.5rem));
    --mk-public-page-y: clamp(1rem, 2.5vw, 2rem);
    --mk-public-gap: clamp(1rem, 2.4vw, 1.5rem);
    --mk-public-radius: var(--mk-radius, var(--radius-lg, 8px));
    --mk-public-radius-lg: var(--mk-radius-lg, var(--radius-xl, 10px));
    --mk-public-border: var(--mk-line, var(--border-light, #e7e5e4));
    --mk-public-border-strong: var(--mk-line-strong, var(--border, #d6d3d1));
    --mk-public-surface: var(--mk-surface, var(--bg-surface, #fff));
    --mk-public-soft: var(--mk-surface-muted, #fafaf9);
    --mk-public-ink: var(--mk-ink, var(--text-primary, #1c1917));
    --mk-public-muted: var(--mk-muted, var(--text-secondary, #57534e));
    --mk-public-brand: var(--mk-brand, var(--primary, #7f1d1d));
    --mk-public-brand-strong: var(--mk-brand-strong, var(--primary-dark, #5f1515));
    --mk-public-shadow: var(--mk-shadow, 0 12px 28px rgba(15, 23, 42, .07));
    --mk-public-shadow-lg: var(--mk-shadow-lg, 0 22px 55px rgba(15, 23, 42, .12));
}

.signal-close-modal.is-open {
    display: block;
}

.classic-forum-wrapper,
.documents-page-container,
.document-page-container,
.document-view-page,
.studio-page,
.docs-page,
.upload-document-page,
.signals-page-container,
.cetele-page-container,
.cetele-container,
.chat-page-modern,
.leaderboard-page,
.users-page,
.profile-page,
.messages-container,
.becayis-wrap,
.becayis-form-wrap,
.becayis-detay-wrap,
.becayis-profil-wrap,
.blog-wrap,
.blog-post-wrap {
    width: min(calc(100% - (var(--mk-public-gutter) * 2)), var(--mk-public-shell)) !important;
    max-width: var(--mk-public-shell) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.mk-legal-search,
.mk-aym-search,
.mk-announcements,
.mk-cities-main,
.mk-compare-main {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.tools-page,
.law-page-container,
.law-detail-page,
.article-page,
.topic-page,
.search-page-container,
.mk-official-detail,
.mk-legal-gateway,
.mk-legal-search > .emsal-page-container,
.mk-aym-search > .aym-page-container,
.mk-announcements > .announcements-page-container,
.mk-cities-main > .city-page,
.mk-compare-main > .compare-page {
    width: min(calc(100% - (var(--mk-public-gutter) * 2)), var(--mk-public-shell)) !important;
    max-width: var(--mk-public-shell) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: var(--mk-public-page-y) 0 clamp(2rem, 4vw, 3rem) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--mk-public-gap) !important;
}

.mk-search-hero,
.mk-results-panel,
.mk-aym-card,
.mk-aym-results,
.mk-simple-hero,
.mk-source-tabs,
.mk-search-panel,
.mk-link-list,
.mk-official-card,
.mk-gateway-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.tools-hero,
.law-hero,
.law-detail-hero,
.article-hero,
.city-hero,
.compare-hero,
.search-hero,
.announcements-hero,
.mk-hero-header {
    margin: 0 !important;
    padding: clamp(1.35rem, 3vw, 2.25rem) !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: var(--mk-public-radius-lg) !important;
    background: linear-gradient(135deg, rgba(17, 24, 39, .96) 0%, rgba(39, 39, 42, .98) 52%, rgba(127, 29, 29, .95) 100%) !important;
    color: #fff !important;
    box-shadow: var(--mk-public-shadow-lg) !important;
}

.hero-bg-pattern,
.mk-hero-bg-wave {
    display: none !important;
}

.tools-hero .hero-content,
.law-hero .hero-content,
.law-detail-hero .hero-content,
.article-hero .hero-content,
.city-hero .hero-content,
.compare-hero .hero-content,
.search-hero .hero-content,
.announcements-hero .hero-content,
.mk-hero-header .hero-content,
.mk-hero-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: clamp(1rem, 3vw, 2rem) !important;
    align-items: center !important;
}

.hero-left,
.mk-hero-left {
    min-width: 0 !important;
}

.hero-title,
.mk-hero-title,
.law-detail-hero h1,
.article-hero h1 {
    max-width: 960px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(1.95rem, 3vw, 2.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    overflow-wrap: anywhere;
}

.hero-subtitle,
.mk-hero-subtitle,
.law-detail-hero p,
.article-hero p {
    max-width: 820px !important;
    margin: .6rem 0 0 !important;
    color: rgba(255, 255, 255, .78) !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

.tools-kicker,
.law-eyebrow,
.city-kicker,
.compare-kicker,
.announcements-kicker,
.mk-kicker {
    color: #f5d0d0 !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.hero-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
    gap: .65rem !important;
}

.hero-stat-card,
.tools-hero-panel,
.city-code {
    min-width: 0 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: var(--mk-public-radius) !important;
    background: rgba(255, 255, 255, .09) !important;
    box-shadow: none !important;
}

.stat-icon,
.tool-icon {
    border-radius: var(--mk-public-radius) !important;
}

.hero-actions,
.mk-actions,
.mk-form-actions,
.mk-document-tools,
.mk-pagination,
.city-card-foot,
.mk-row-action,
.info-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
}

.hero-primary,
.hero-secondary,
.btn-new-topic,
.btn-upload,
.documents-search-panel button,
.forum-search-panel button,
.law-search-panel button,
.law-topic-card a,
.law-result-row a,
.law-card-foot a,
.topic-article > a,
.city-filter button,
.city-card-foot a,
.compare-form button,
.compare-empty a,
.mk-official-search button,
.mk-aym-form button,
.mk-search-form button,
.mk-results-head a,
.mk-primary-link,
.mk-result-actions a,
.mk-row-action a,
.mk-hero-official-btn,
.info-btn,
.search-panel button,
.search-starters a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    min-height: 42px !important;
    padding: .65rem 1rem !important;
    border: 1px solid var(--mk-public-brand) !important;
    border-radius: var(--mk-public-radius) !important;
    background: var(--mk-public-brand) !important;
    color: #fff !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.hero-secondary,
.mk-secondary-link,
.mk-form-actions a,
.mk-pagination a,
.mk-document-tools a,
.mk-document-tools button,
.mk-ghost-button,
.mk-hero-back,
.law-back,
.info-back,
.topic-side-panel > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    min-height: 42px !important;
    padding: .65rem 1rem !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: var(--mk-public-radius) !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

.mk-secondary-link,
.mk-form-actions a,
.mk-pagination a,
.mk-document-tools a,
.mk-document-tools button,
.mk-ghost-button,
.topic-side-panel > a {
    border-color: var(--mk-public-border-strong) !important;
    background: #fff !important;
    color: var(--mk-public-ink) !important;
}

.hero-primary:hover,
.hero-secondary:hover,
.btn-new-topic:hover,
.btn-upload:hover,
.documents-search-panel button:hover,
.forum-search-panel button:hover,
.law-search-panel button:hover,
.law-topic-card a:hover,
.law-result-row a:hover,
.law-card-foot a:hover,
.topic-article > a:hover,
.city-filter button:hover,
.city-card-foot a:hover,
.compare-form button:hover,
.compare-empty a:hover,
.mk-official-search button:hover,
.mk-aym-form button:hover,
.mk-search-form button:hover,
.mk-results-head a:hover,
.mk-primary-link:hover,
.mk-result-actions a:hover,
.mk-row-action a:hover,
.mk-hero-official-btn:hover,
.info-btn:hover,
.search-panel button:hover,
.search-starters a:hover {
    border-color: var(--mk-public-brand-strong) !important;
    background: var(--mk-public-brand-strong) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.mk-secondary-link:hover,
.mk-form-actions a:hover,
.mk-pagination a:hover,
.mk-document-tools a:hover,
.mk-document-tools button:hover,
.mk-ghost-button:hover,
.topic-side-panel > a:hover {
    border-color: rgba(127, 29, 29, .34) !important;
    background: #fff7f7 !important;
    color: var(--mk-public-brand) !important;
    transform: translateY(-1px);
}

.law-search-panel,
.law-filter,
.city-filter,
.compare-form,
.mk-search-panel,
.mk-official-search,
.mk-aym-form,
.forum-search-panel,
.documents-search-panel,
.search-panel {
    border: 1px solid var(--mk-public-border) !important;
    border-radius: var(--mk-public-radius-lg) !important;
    background: var(--mk-public-surface) !important;
    box-shadow: var(--mk-public-shadow) !important;
}

.law-search-input,
.documents-search-input,
.forum-search-input,
.search-input-wrapper,
.mk-official-search div,
.mk-search-form div {
    border-radius: var(--mk-public-radius) !important;
}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea {
    border-radius: var(--mk-public-radius) !important;
}

input:focus,
select:focus,
textarea:focus {
    outline: 3px solid rgba(127, 29, 29, .16) !important;
    outline-offset: 1px;
    border-color: rgba(127, 29, 29, .42) !important;
}

.law-panel,
.law-topic-card,
.law-result-row,
.law-card,
.law-detail-card,
.article-card,
.topic-article,
.topic-side-panel,
.city-card,
.city-warning,
.city-detail-warning,
.city-source-strip,
.city-verified-panel,
.city-note-card,
.district-card,
.compare-warning,
.compare-empty,
.compare-table-wrap,
.mk-search-hero,
.mk-results-panel,
.mk-aym-card,
.mk-aym-results,
.mk-result-row,
.mk-document-panel,
.mk-link-list,
.mk-announcement-row,
.mk-official-card,
.mk-gateway-card,
.result-group,
.result-card {
    border: 1px solid var(--mk-public-border) !important;
    border-radius: var(--mk-public-radius-lg) !important;
    background: var(--mk-public-surface) !important;
    box-shadow: var(--mk-public-shadow) !important;
}

.mk-result-row,
.mk-announcement-row,
.city-card,
.law-topic-card,
.law-result-row,
.result-card {
    transition: transform .16s ease, border-color .18s ease, box-shadow .18s ease;
}

.mk-result-row:hover,
.mk-announcement-row:hover,
.city-card:hover,
.law-topic-card:hover,
.law-result-row:hover,
.result-card:hover {
    border-color: rgba(127, 29, 29, .22) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .09) !important;
    transform: translateY(-1px);
}

.mk-results-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr) !important;
    gap: var(--mk-public-gap) !important;
    align-items: start !important;
}

.mk-document-panel {
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 110px);
    overflow: hidden;
}

.mk-document-body {
    max-height: calc(100vh - 260px);
    overflow: auto;
    padding-right: .25rem;
}

.mk-source-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .6rem !important;
}

.mk-tab,
.quick-link-pill,
.mk-example-list a {
    border-radius: var(--mk-public-radius) !important;
}

.mk-list-head,
.mk-results-head,
.section-head,
.city-card-top,
.city-card-foot {
    gap: .75rem;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

.compare-table-wrap,
.table-responsive {
    overflow-x: auto;
}

.compare-table,
.compare-table th,
.compare-table td {
    vertical-align: top;
}

@media (max-width: 1060px) {
    .tools-hero .hero-content,
    .law-hero .hero-content,
    .law-detail-hero .hero-content,
    .article-hero .hero-content,
    .city-hero .hero-content,
    .compare-hero .hero-content,
    .search-hero .hero-content,
    .announcements-hero .hero-content,
    .mk-hero-header .hero-content,
    .mk-hero-content,
    .mk-results-layout {
        grid-template-columns: 1fr !important;
    }

    .hero-stats-grid {
        width: 100%;
    }

    .mk-document-panel {
        position: static;
        max-height: none;
    }

    .mk-document-body {
        max-height: none;
    }
}

@media (max-width: 760px) {
    .classic-forum-wrapper,
    .documents-page-container,
    .document-page-container,
    .document-view-page,
    .studio-page,
    .docs-page,
    .upload-document-page,
    .signals-page-container,
    .cetele-page-container,
    .cetele-container,
    .chat-page-modern,
    .leaderboard-page,
    .users-page,
    .profile-page,
    .messages-container,
    .becayis-wrap,
    .becayis-form-wrap,
    .becayis-detay-wrap,
    .becayis-profil-wrap,
    .blog-wrap,
    .blog-post-wrap,
    .tools-page,
    .law-page-container,
    .law-detail-page,
    .article-page,
    .topic-page,
    .search-page-container,
    .mk-official-detail,
    .mk-legal-gateway,
    .mk-legal-search > .emsal-page-container,
    .mk-aym-search > .aym-page-container,
    .mk-announcements > .announcements-page-container,
    .mk-cities-main > .city-page,
    .mk-compare-main > .compare-page {
        width: min(calc(100% - 1.5rem), var(--mk-public-shell)) !important;
        padding-top: 1rem !important;
    }

    .tools-hero,
    .law-hero,
    .law-detail-hero,
    .article-hero,
    .city-hero,
    .compare-hero,
    .search-hero,
    .announcements-hero,
    .mk-hero-header,
    .law-panel,
    .mk-search-hero,
    .mk-results-panel,
    .mk-aym-card,
    .mk-aym-results,
    .mk-link-list,
    .mk-official-card,
    .compare-table-wrap {
        padding: 1rem !important;
    }

    .hero-title,
    .mk-hero-title,
    .law-detail-hero h1,
    .article-hero h1 {
        font-size: clamp(1.55rem, 8vw, 2rem) !important;
    }

    .hero-stats-grid {
        grid-template-columns: 1fr !important;
    }

    .hero-primary,
    .hero-secondary,
    .btn-new-topic,
    .btn-upload,
    .documents-search-panel button,
    .forum-search-panel button,
    .law-search-panel button,
    .city-filter button,
    .compare-form button,
    .mk-official-search button,
    .mk-aym-form button,
    .mk-search-form button,
    .mk-results-head a,
    .mk-primary-link,
    .mk-result-actions a,
    .mk-row-action a,
    .mk-hero-official-btn,
    .mk-secondary-link,
    .mk-form-actions a,
    .mk-pagination a,
    .mk-document-tools a,
    .mk-document-tools button,
    .mk-ghost-button {
        width: 100% !important;
        white-space: normal;
    }

    .mk-results-head,
    .mk-list-head,
    .hero-actions,
    .mk-actions,
    .mk-form-actions,
    .mk-document-tools,
    .mk-pagination,
    .city-card-foot {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .profile-page {
        max-width: calc(100vw - 1rem) !important;
        overflow-x: hidden;
    }

    .profile-page,
    .profile-page * {
        box-sizing: border-box;
        min-width: 0;
    }

    .profile-page .profile-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .85rem !important;
        width: 100% !important;
    }

    .profile-page .profile-sidebar {
        position: static !important;
        width: 100% !important;
    }

    .profile-page .profile-card,
    .profile-page .content-section,
    .profile-page .invite-create-box,
    .profile-page .no-quota-box,
    .profile-page .no-invitations-state,
    .profile-page .phone-verify-box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 1rem !important;
    }

    .profile-page .profile-avatar {
        width: 96px !important;
        height: 96px !important;
    }

    .profile-page .profile-username,
    .profile-page .profile-card h1 {
        font-size: clamp(1.35rem, 8vw, 1.7rem) !important;
        overflow-wrap: anywhere;
    }

    .profile-page .profile-role-pill,
    .profile-page .profile-info-chip,
    .profile-page .profile-meta,
    .profile-page .stat-mini {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .profile-page .profile-actions,
    .profile-page .content-section form,
    .profile-page .invite-create-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        width: 100% !important;
    }

    .profile-page .form-group {
        width: 100% !important;
    }

    .profile-page input,
    .profile-page select,
    .profile-page textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        font-size: 16px;
    }

    .profile-page input[type="checkbox"],
    .profile-page input[type="radio"] {
        width: auto !important;
    }

    .profile-page input[type="file"] {
        padding: .6rem;
        white-space: normal;
    }

    .profile-page .btn,
    .profile-page button.btn,
    .profile-page .btn-copy,
    .profile-page button[type="submit"],
    .profile-page input[type="submit"] {
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center;
        white-space: normal;
        padding: .72rem .85rem;
    }

    .profile-page .invite-stats-bar,
    .profile-page .invite-info-grid,
    .profile-page .stats-grid,
    .profile-page .profile-stats-mini {
        grid-template-columns: 1fr !important;
    }

    .profile-page .invitations-table {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .profile-page .invitations-table table {
        min-width: 680px;
    }

    .profile-page .invite-code {
        white-space: nowrap;
    }

    .profile-page .thank-item,
    .profile-page .badge-item,
    .profile-page .activity-item {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .profile-page .thank-from,
    .profile-page .thank-info,
    .profile-page .thank-detail,
    .profile-page .thank-type {
        width: 100%;
        text-align: left;
        justify-content: flex-start;
    }

    .profile-page .verify-code-input {
        letter-spacing: 2px;
        font-size: 1.2rem;
    }
}
