:root {
    --mjt-on-header: #ffffff;
    --mjt-bg: #f5f7fb;
    --mjt-surface: #ffffff;
    --mjt-muted: #4b5563;
    --mjt-border: #dbe2ea;
    --mjt-shadow-sm: 0 2px 10px rgba(15, 23, 42, 0.06);
    --mjt-shadow-md: 0 8px 30px rgba(15, 23, 42, 0.08);
    --mjt-radius-md: 0.75rem;
    --mjt-radius-lg: 1rem;
    --mjt-font-serif: "Merriweather", Georgia, "Times New Roman", serif;
    --mjt-font-sans: Inter, "Segoe UI", Roboto, Arial, sans-serif;
}

body {
    background: var(--mjt-bg);
    color: var(--mjt-text);
    font-family: var(--mjt-font-sans);
    line-height: 1.65;
    margin: 0;
    text-rendering: optimizeLegibility;
}

a {
    color: var(--mjt-accent-strong);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 2px;
}

a:hover,
a:focus-visible {
    color: var(--mjt-accent);
}

:focus-visible {
    outline: 2px solid var(--mjt-accent);
    outline-offset: 2px;
}

.mjt-header {
    background: var(--mjt-header-primary-bg, var(--mjt-header-bg));
    border-bottom: 0;
    box-shadow: var(--mjt-shadow-md);
    position: sticky;
    top: 0;
    z-index: 20;
}

.mjt-header__container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 0.5rem;
}

.mjt-masthead {
    background-color: var(--mjt-header-primary-bg, var(--mjt-header-bg));
    background-image: linear-gradient(
        120deg,
        var(--mjt-header-primary-bg, var(--mjt-header-bg)),
        var(--mjt-header-secondary-bg, var(--mjt-header-bg))
    );
    background-position: center;
    background-size: cover;
    padding: 0.95rem 0 0.8rem;
    position: relative;
}

.mjt-masthead--has-bg {
    background-blend-mode: normal;
    background-color: transparent;
}

.mjt-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 76px;
}

.mjt-topbar__right {
    display: inline-flex;
    gap: 0.35rem;
}

.mjt-topbar__right a {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: var(--mjt-on-header);
    display: inline-flex;
    height: 1.85rem;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
    width: 1.85rem;
}

.mjt-topbar__right a:hover,
.mjt-topbar__right a:focus-visible {
    background: rgba(255, 255, 255, 0.2);
    border-color: #fff;
    transform: translateY(-1px);
}

.mjt-brand__identity {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}

.mjt-brand__text {
    min-width: 0;
}

.mjt-brand__title {
    color: var(--mjt-on-header);
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.2rem, 2.2vw, 1.85rem);
    font-weight: 700;
    text-decoration: none;
    line-height: 1.25;
}

.mjt-brand__tagline {
    color: rgba(226, 232, 240, 0.95);
    font-size: 0.78rem;
    margin: 0.15rem 0 0;
}

.mjt-brand__logo img {
    max-height: 58px;
    width: auto;
}

.mjt-masthead__tools {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mjt-header__actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.45rem;
    flex-wrap: wrap;
}

.mjt-header__actions .mjt-action-link {
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.45rem 1rem;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.2s ease;
}

.mjt-header__actions .mjt-action-link:hover,
.mjt-header__actions .mjt-action-link:focus-visible {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}

.mjt-header__actions .mjt-action-link:last-child {
    background: var(--mjt-accent);
    border-color: var(--mjt-accent);
}

.mjt-header__actions .mjt-action-link:last-child:hover,
.mjt-header__actions .mjt-action-link:last-child:focus-visible {
    background: var(--mjt-accent-strong);
    border-color: var(--mjt-accent-strong);
}

.mjt-header__journals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    max-width: min(65vw, 720px);
}

.mjt-header__journals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    max-width: min(65vw, 720px);
}

.mjt-header__journals .mjt-action-link,
.mjt-header__journals .mjt-action-link--ghost {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.8rem;
    border-radius: 0.55rem;
    border: none;
    color: var(--mjt-on-header);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
}

.mjt-header__journals .mjt-action-link:hover,
.mjt-header__journals .mjt-action-link:focus-visible,
.mjt-header__journals .mjt-action-link--ghost:hover,
.mjt-header__journals .mjt-action-link--ghost:focus-visible {
    background: rgba(255, 255, 255, 0.18);
    color: var(--mjt-on-header);
}

.mjt-journals-menu__header {
    display: flex;
    justify-content: center;
    margin-bottom: 0.4rem;
    padding: 0.55rem 0.9rem;
    border-radius: 0.75rem;
}

.mjt-journals-menu__icon {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    color: var(--mjt-on-header);
    background: currentColor;
    mask: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm2 2v12h8V6H8zm1 1h6v1H9V7zm0 3h6v1H9v-1zm0 3h4v1H9v-1z"/></svg>') no-repeat center / contain;
    -webkit-mask: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm2 2v12h8V6H8zm1 1h6v1H9V7zm0 3h6v1H9v-1zm0 3h4v1H9v-1z"/></svg>') no-repeat center / contain;
}

.mjt-journals-menu__title {
    color: var(--mjt-on-header);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.mjt-action-link--ghost {
}

.mjt-journals-menu__more {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.45rem 0.7rem;
    border-radius: 0.4rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.08);
}

.mjt-mobile-toggle {
    background: var(--mjt-nav-primary-bg, var(--mjt-header-bg));
    border: 0;
    color: var(--mjt-on-header);
    cursor: pointer;
    margin: 0;
    padding: 0.55rem 1rem;
    width: 100%;
}

.mjt-nav-search {
    display: none;
    background: var(--mjt-nav-primary-bg, var(--mjt-header-bg));
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mjt-nav-search.is-open {
    display: block;
}

.mjt-nav-strip__inner {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

@media (min-width: 768px) {
    .mjt-header__journals {
        order: -1;
        margin-right: 1.5rem;
        max-width: 100%;
    }

    .mjt-header__actions {
        margin-left: auto;
    }
}

.mjt-nav-search .mjt-header__container {
    max-width: none;
    padding-left: 1.25rem;
    padding-right: 0.5rem;
    width: 100%;
}

.mjt-nav__list {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-nav__list li {
    position: relative;
}

.mjt-nav__list li ul {
    display: none;
    list-style: none;
    margin: 0.35rem 0 0;
    padding: 0.35rem 0;
}

.mjt-nav__list li ul a {
    border-right: 0;
    font-size: 0.82rem;
    font-weight: 600;
    opacity: 0.95;
    padding: 0.35rem 0.55rem;
}

.mjt-nav__list a {
    color: var(--mjt-on-header);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.95rem;
    font-weight: 600;
    padding: 0.6rem 1rem;
    border-radius: 0.6rem;
    border: none;
    text-decoration: none;
    transition: all 0.2s ease;
    position: relative;
}

.mjt-nav__list li:last-child a {
    border-right: 0;
}

.mjt-nav__list a:hover,
.mjt-nav__list a:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: var(--mjt-on-header);
}

.mjt-nav__list li.current > a,
.mjt-nav__list a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.2);
    color: var(--mjt-on-header);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mjt-nav__list li.current > a::after,
.mjt-nav__list a[aria-current="page"]::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0.6rem;
    right: 0.6rem;
    height: 2px;
    background: var(--mjt-accent);
    border-radius: 1px;
}

/* Dropdown arrow for items with submenu */
.mjt-nav__list li:has(ul) > a::after,
.mjt-nav__list li.has-submenu > a::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
    margin-left: 0.2rem;
    opacity: 0.7;
    transition: transform 0.2s ease;
}

.mjt-nav__list li:has(ul):hover > a::after,
.mjt-nav__list li.has-submenu:hover > a::after {
    transform: rotate(180deg);
}

.mjt-search {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 0;
    width: min(360px, 100%);
    position: relative;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    padding: 0.15rem 0.15rem 0.15rem 0.6rem;
    transition: all 0.2s ease;
}

.mjt-search:focus-within {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
}

.mjt-search input {
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 0.85rem;
    height: 1.85rem;
    padding: 0 0.5rem;
    width: 100%;
    outline: none;
}

.mjt-search input::placeholder {
    color: rgba(255, 255, 255, 0.65);
}

.mjt-search button {
    align-items: center;
    background: var(--mjt-accent);
    border: none;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0;
    height: 1.85rem;
    justify-content: center;
    padding: 0;
    transition: all 0.2s ease;
    width: 1.85rem;
}

.mjt-search button:hover,
.mjt-search button:focus-visible {
    background: var(--mjt-accent-strong);
    transform: scale(1.05);
}

.mjt-advanced-search {
    color: var(--mjt-on-header);
    font-size: 0.75rem;
    text-decoration: none;
}

.mjt-advanced-search:hover,
.mjt-advanced-search:focus-visible {
    color: #e2e8f0;
}

.mjt-banner img {
    display: block;
    height: clamp(180px, 28vw, 360px);
    object-fit: cover;
    width: 100%;
}

.pkp_structure_main {
    margin: 0;
    max-width: 1440px;
    padding: 1.25rem 0.5rem 2.5rem;
}

.mjt-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

.mjt-layout__content {
    min-width: 0;
}

.mjt-layout--site {
    grid-template-columns: minmax(0, 1fr);
}

.mjt-home__intro,
.mjt-card,
.mjt-article-card {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    box-shadow: var(--mjt-shadow-sm);
    margin-bottom: 1.15rem;
    padding: 1.25rem;
}

.mjt-card:hover {
    box-shadow: var(--mjt-shadow-md);
    transform: translateY(-1px);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mjt-home__intro {
    background: linear-gradient(130deg, #ffffff 0%, #eef4ff 100%);
    border-color: #d6e3fb;
}

.mjt-home__intro h1,
.mjt-article-page .page_title {
    font-family: var(--mjt-font-serif);
    letter-spacing: 0.01em;
    line-height: 1.35;
    margin-top: 0;
}

.mjt-home__intro h1 {
    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.mjt-home__description,
.item.abstract,
.item.references,
.mjt-article-page .item.authors {
    color: var(--mjt-muted);
    font-size: 1.02rem;
}

.mjt-issue-title {
    color: var(--mjt-muted);
    font-size: 0.95rem;
    margin: 0.25rem 0 1rem;
}

.mjt-card__body .sections li {
    border-bottom: 1px solid #edf1f7;
    padding: 0.85rem 0;
}

.mjt-card__body .sections li:last-child {
    border-bottom: 0;
}

.mjt-card__header {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.mjt-card__header h2 {
    margin: 0;
    font-size: 1.2rem;
}

.mjt-card__header a {
    background: var(--mjt-accent-soft);
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.35rem 0.8rem;
    text-decoration: none;
}

.mjt-article-page .mjt-article-card {
    padding: 1.5rem;
}

.mjt-article-page .mjt-article-card .page_title {
    font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.mjt-article-page .mjt-article-card .subtitle {
    color: #374151;
    font-size: 1.05rem;
}

.mjt-article-page .item {
    margin-bottom: 1.2rem;
}

.mjt-article-page .item h2,
.mjt-article-page .item h3 {
    font-family: var(--mjt-font-sans);
    font-size: 1rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #374151;
}

.mjt-footer {
    background: var(--mjt-header-bg);
    color: #d1d5db;
    margin-top: 2rem;
}

.mjt-footer__inner {
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 1fr;
    margin: 0 auto;
    max-width: 1440px;
    padding: 1.65rem 0.5rem 1.2rem;
}

.mjt-footer h2 {
    color: var(--mjt-on-header);
    font-size: 1.02rem;
    margin: 0 0 0.55rem;
}

.mjt-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-footer li + li {
    margin-top: 0.45rem;
}

.mjt-footer a {
    color: #bfdbfe;
}

.mjt-footer p {
    margin: 0.2rem 0 0.65rem;
}

.mjt-footer__brand p {
    color: #dbe2ea;
    max-width: 60ch;
}

.mjt-footer__cta {
    background: var(--mjt-accent);
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.48rem 0.92rem;
    text-decoration: none;
    text-transform: uppercase;
}

.mjt-footer__cta:hover,
.mjt-footer__cta:focus-visible {
    background: var(--mjt-accent-strong);
}

.mjt-footer__links-grid {
    display: grid;
    gap: 0.35rem 1.5rem;
    grid-template-columns: 1fr;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-footer__links-grid li {
    margin: 0;
}

.mjt-footer__links-grid a {
    color: #cbd5e1;
    font-size: 0.88rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mjt-footer__links-grid a:hover {
    color: #fff;
}

.mjt-footer__meta-muted {
    color: #9fb0c8;
    font-size: 0.86rem;
}

.mjt-footer__bottom {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    margin: 0 auto;
    max-width: 1440px;
    padding: 0.9rem 0.5rem 1.2rem;
}

.mjt-footer__bottom span {
    color: #c8d2df;
    font-size: 0.86rem;
}

.mjt-footer__bottom a {
    font-size: 0.86rem;
}

.mjt-footer__newsletter {
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0.9rem;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: 1fr;
    margin: 0 auto 1.2rem;
    max-width: 1440px;
    padding: 0.9rem 0.5rem;
}

.mjt-footer__newsletter-copy h3 {
    color: var(--mjt-on-header);
    font-size: 1rem;
    margin: 0 0 0.2rem;
}

.mjt-footer__newsletter-copy p {
    color: #c9d5e5;
    font-size: 0.88rem;
    margin: 0;
}

.mjt-footer__newsletter-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mjt-footer__newsletter-form input[type="email"] {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    flex: 1 1 240px;
    min-height: 2.35rem;
    padding: 0 0.8rem;
}

.mjt-footer__newsletter-form button {
    background: var(--mjt-accent);
    border: 1px solid var(--mjt-accent);
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 2.35rem;
    padding: 0 0.95rem;
    text-transform: uppercase;
}

.mjt-footer__newsletter-form button:hover,
.mjt-footer__newsletter-form button:focus-visible {
    background: var(--mjt-accent-strong);
    border-color: var(--mjt-accent-strong);
}

/* Archive page enhancements */
.mjt-archive-page .mjt-archive-hero {
    background: linear-gradient(120deg, #f8fafc 0%, #eef4ff 100%);
    border: 1px solid #dbe2ea;
    border-radius: 0.9rem;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
}

.mjt-archive-page .mjt-archive-hero h1 {
    margin: 0 0 0.35rem;
}

.mjt-archive-page .mjt-archive-hero p {
    color: #475569;
    font-size: 0.95rem;
    margin: 0;
}

.mjt-archive-filters {
    align-items: end;
    background: #fff;
    border: 1px solid #dbe2ea;
    border-radius: 0.85rem;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr;
    margin-bottom: 0.9rem;
    padding: 0.8rem 0.9rem;
}

.mjt-archive-filters__group label {
    color: #334155;
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.mjt-archive-filters__group select {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.55rem;
    color: #0f172a;
    min-height: 2.25rem;
    padding: 0.3rem 0.55rem;
    width: 100%;
}

.mjt-archive-filters__reset {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 0.55rem;
    color: #334155;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 700;
    min-height: 2.25rem;
    padding: 0.35rem 0.65rem;
    text-transform: uppercase;
}

.mjt-archive-filters__reset:hover,
.mjt-archive-filters__reset:focus-visible {
    background: #e2e8f0;
}

.mjt-archive-filters__empty {
    color: #64748b;
    font-size: 0.9rem;
    margin-top: 0.75rem;
}

.mjt-issues-archive-list {
    display: grid;
    gap: 0.9rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-issues-archive-item {
    background: #fff;
    border: 1px solid #dbe2ea;
    border-radius: 0.85rem;
    box-shadow: var(--mjt-shadow-sm);
    padding: 0.95rem 1rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.mjt-issues-archive-item:hover {
    box-shadow: var(--mjt-shadow-md);
    transform: translateY(-2px);
}

.mjt-issues-archive-item .obj_issue_summary {
    margin: 0;
}

.mjt-issues-archive-item .title,
.mjt-issues-archive-item h2,
.mjt-issues-archive-item h3,
.mjt-issues-archive-item h4 {
    margin-top: 0;
}

.mjt-issues-archive-item .series,
.mjt-issues-archive-item .date_published,
.mjt-issues-archive-item .published {
    color: #64748b;
    font-size: 0.86rem;
    font-weight: 600;
}

.mjt-issues-archive-item a {
    text-decoration: none;
}

.mjt-archive-pagination {
    margin-top: 1rem;
}

.mjt-archive-pagination .cmp_pagination {
    border-top: 1px solid #e2e8f0;
    margin-top: 0.4rem;
    padding-top: 0.85rem;
}

.mjt-sidebar {
    display: grid;
    gap: 1rem;
}

.mjt-sidebar-card {
    background: #fff;
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    box-shadow: var(--mjt-shadow-sm);
    padding: 1rem;
}

.mjt-sidebar-card h2 {
    font-size: 1rem;
    margin: 0 0 0.7rem;
}

.mjt-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-sidebar-list li + li {
    border-top: 1px solid #edf1f7;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

.mjt-sidebar-list a {
    font-weight: 600;
    text-decoration: none;
}

.mjt-sidebar-meta {
    color: var(--mjt-muted);
    display: block;
    font-size: 0.82rem;
    margin-top: 0.2rem;
}

.mjt-sidebar-cta {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: 0.75rem;
}

@media (min-width: 768px) {
    .mjt-mobile-toggle {
        display: none;
    }

    .mjt-nav-search {
        background: var(--mjt-nav-primary-bg, var(--mjt-header-bg));
        display: flex !important;
        justify-content: stretch;
    }

    .mjt-nav-strip__inner {
        align-items: center;
        flex-direction: row;
    }

    .mjt-nav__list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0;
    }

    .mjt-nav__list li ul {
        background: var(--mjt-nav-secondary-bg, var(--mjt-nav-primary-bg, var(--mjt-header-bg)));
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 0.75rem;
        box-shadow: var(--mjt-shadow-md);
        left: 0;
        margin: 0;
        min-width: 220px;
        padding: 0.45rem;
        position: absolute;
        top: calc(100% + 0.25rem);
        z-index: 50;
    }

    .mjt-nav__list li:hover > ul,
    .mjt-nav__list li:focus-within > ul {
        display: block;
    }

    .mjt-nav__list li ul a {
        border-radius: 0.55rem;
        display: flex;
        padding: 0.45rem 0.6rem;
        width: 100%;
    }

    .mjt-nav__list li ul a:hover,
    .mjt-nav__list li ul a:focus-visible {
        background: rgba(255, 255, 255, 0.1);
        color: var(--mjt-on-header);
    }

    .mjt-nav {
        flex: 1 1 auto;
        margin-left: 1rem;
        margin-right: 0;
    }

    .mjt-masthead__tools {
        min-width: 360px;
    }

    .mjt-header__actions {
        align-items: center;
        justify-content: flex-end;
        margin-top: 0;
        margin-left: 1rem;
        width: auto;
    }

    .mjt-footer__inner {
        align-items: start;
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.9fr);
    }

    .mjt-footer__links-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mjt-footer__bottom {
        flex-direction: row;
        justify-content: space-between;
    }

    .mjt-footer__newsletter {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .mjt-footer__newsletter-form {
        justify-content: flex-end;
        min-width: 380px;
    }

    .mjt-archive-filters {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    }

    .mjt-layout {
        align-items: start;
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .mjt-layout--site {
        grid-template-columns: minmax(0, 1fr);
    }

    .mjt-sidebar {
        position: sticky;
        top: 90px;
    }
}

/* Screenshot-inspired homepage layout */
.mjt-breadcrumbs {
    background: #f3f4f6;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    color: #64748b;
    font-size: 0.86rem;
    margin: 0 -1rem 1.25rem;
    padding: 0.55rem 1rem;
}

.mjt-breadcrumbs a {
    color: var(--mjt-accent);
    text-decoration: none;
}

.mjt-showcase__media {
    background: #0f172a;
    border: 1px solid #d7dee8;
    min-height: 290px;
    overflow: hidden;
    position: relative;
}

.mjt-showcase__slides {
    height: clamp(260px, 32vw, 390px);
    min-height: 290px;
    position: relative;
}

.mjt-showcase__slide {
    height: 100%;
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 0.45s ease;
    width: 100%;
    z-index: 0;
}

.mjt-showcase__slide:first-child {
    opacity: 1;
    z-index: 1;
}

.mjt-showcase__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.mjt-showcase__slide img,
.mjt-showcase__fallback {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.mjt-showcase__fallback {
    background: linear-gradient(120deg, #682020 0%, #0f3f48 100%);
}

.mjt-showcase__fallback--one {
    background: linear-gradient(120deg, #682020 0%, #0f3f48 100%);
}

.mjt-showcase__fallback--two {
    background: linear-gradient(120deg, #1f2937 0%, #0f766e 100%);
}

.mjt-showcase__fallback--three {
    background: linear-gradient(120deg, #1e3a8a 0%, #166534 100%);
}

.mjt-showcase__fallback--four {
    background: linear-gradient(120deg, #7f1d1d 0%, #115e59 100%);
}

.mjt-showcase__overlay {
    background: var(--mjt-banner-overlay);
    color: #fff;
    max-width: 55%;
    min-height: 100%;
    padding: 1rem;
    position: absolute;
    right: 0;
    top: 0;
}

.mjt-showcase__overlay h2 {
    font-family: var(--mjt-font-sans);
    font-size: 1.6rem;
    margin: 1rem 0 0.4rem;
}

.mjt-showcase__overlay p {
    font-size: 0.92rem;
    line-height: 1.55;
    margin: 0;
}

.mjt-showcase__dots span {
    display: none;
}

.mjt-showcase__dots button {
    background: rgba(255, 255, 255, 0.45);
    border: 0;
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin-right: 6px;
    padding: 0;
    width: 12px;
}

.mjt-showcase__dots button.is-active {
    background: #ffffff;
}

.mjt-home-tabs {
    border-bottom: 1px solid #d7dee8;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin: 0.95rem 0 0.8rem;
    padding: 0 0 0.55rem;
}

.mjt-home-tabs a,
.mjt-home-tabs span {
    color: #6b7280;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
}

.mjt-home-tabs a.is-active {
    color: #1f2937;
    position: relative;
}

.mjt-home-tabs a.is-active::after {
    background: var(--mjt-accent);
    bottom: -9px;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 100%;
}

.mjt-home-content {
    display: grid;
    gap: 1rem;
    grid-template-columns: 120px 1fr;
    margin-bottom: 1rem;
}

.mjt-home-content__thumb {
    background: linear-gradient(180deg, #8b1e2f 0%, #f3f4f6 100%);
    border: 1px solid #d7dee8;
    min-height: 190px;
}

.mjt-home-content__body h3 {
    color: #1f2937;
    font-size: 1.9rem;
    letter-spacing: 0.02em;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.mjt-read-more {
    color: var(--mjt-accent);
    font-weight: 600;
    text-decoration: none;
}

.mjt-sidebar-card--news {
    border: 0;
    box-shadow: none;
    padding: 0;
}

.mjt-sidebar-card--news h2 {
    background: var(--mjt-header-bg);
    color: var(--mjt-on-header);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    margin: 0;
    padding: 0.6rem 0.75rem;
    text-transform: uppercase;
}

.mjt-speaker {
    font-size: 0.8rem;
}

.mjt-sidebar-card--news .mjt-sidebar-list {
    border: 1px solid #dbe2ea;
    border-top: 0;
    padding: 0.75rem;
}

.mjt-sidebar-date {
    color: #1f2937;
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.mjt-sidebar-card--news .mjt-sidebar-list a {
    color: var(--mjt-accent);
    font-weight: 500;
}

.mjt-sidebar-read-more {
    color: #a43d4e;
    display: inline-block;
    font-size: 0.78rem;
    margin-top: 0.15rem;
    text-decoration: none;
}

.mjt-action-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.mjt-action-btn {
    align-items: center;
    border-radius: 0.6rem;
    display: flex;
    font-size: 0.82rem;
    font-weight: 700;
    gap: 0.6rem;
    justify-content: center;
    letter-spacing: 0.02em;
    padding: 0.8rem 1rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

.mjt-action-btn svg {
    flex-shrink: 0;
}

.mjt-action-btn--primary {
    background: var(--mjt-header-bg);
    color: var(--mjt-on-header);
    box-shadow: 0 2px 8px rgba(30, 58, 95, 0.25);
}

.mjt-action-btn--primary:hover {
    background: #152a45;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(30, 58, 95, 0.35);
}

.mjt-action-btn--reviewer {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.25);
}

.mjt-action-btn--reviewer:hover {
    background: linear-gradient(135deg, #047857 0%, #065f46 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.35);
}

.mjt-action-btn--donate {
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.mjt-action-btn--donate:hover {
    background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
}

.mjt-sidebar-card--accordion {
    border: 0;
    box-shadow: none;
    margin-top: 0.5rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

/* Sidebar Contact Card */
.mjt-sidebar-card--contact h2 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mjt-text);
    margin: 0 0 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--mjt-accent);
}

.mjt-sidebar-card--contact h2 svg {
    color: var(--mjt-accent);
}

.mjt-contact-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.mjt-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.mjt-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--mjt-accent-soft);
    border-radius: 0.4rem;
    color: var(--mjt-accent);
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.mjt-contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.mjt-contact-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mjt-muted);
}

.mjt-contact-value {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--mjt-text);
    word-break: break-word;
}

.mjt-contact-value a {
    color: var(--mjt-accent);
    text-decoration: none;
}

.mjt-contact-value a:hover {
    color: var(--mjt-accent-strong);
    text-decoration: underline;
}

.mjt-contact-sub {
    font-size: 0.8rem;
    color: var(--mjt-muted);
}

.mjt-accordion-section {
    background: #fff;
    border: 1px solid var(--mjt-border);
    border-radius: 0.65rem;
    overflow: hidden;
    transition: box-shadow 0.2s ease;
}

.mjt-accordion-section[open] {
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-accordion-toggle {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border: 0;
    color: var(--mjt-text);
    cursor: pointer;
    display: flex;
    font-size: 0.85rem;
    font-weight: 700;
    justify-content: space-between;
    letter-spacing: 0.03em;
    padding: 0.75rem 1rem;
    text-decoration: none;
    text-transform: none;
    width: 100%;
    transition: background 0.2s ease;
}

.mjt-accordion-toggle:hover {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
}

.mjt-accordion-toggle::after {
    content: '+';
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--mjt-muted);
    transition: transform 0.2s ease;
}

.mjt-accordion-section[open] .mjt-accordion-toggle::after {
    content: '\2212';
}

.mjt-accordion-toggle {
    list-style: none;
}

.mjt-accordion-toggle::-webkit-details-marker {
    display: none;
}

.mjt-accordion-panel {
    padding: 0.25rem 0.5rem 0.75rem;
}

.mjt-accordion-panel[hidden] {
    display: none;
}

.mjt-accordion-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-accordion-links li {
    margin: 0;
}

.mjt-accordion-links li + li {
    border-top: 1px solid #f1f5f9;
}

.mjt-accordion-links a {
    color: #475569;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 500;
    padding: 0.55rem 0.5rem;
    text-decoration: none;
    transition: all 0.15s ease;
    border-radius: 0.35rem;
}

.mjt-accordion-links a::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--mjt-accent);
    opacity: 0.5;
    flex-shrink: 0;
}

.mjt-accordion-links a:hover,
.mjt-accordion-links a:focus-visible {
    background: var(--mjt-accent-soft);
    color: var(--mjt-accent-strong);
}

.mjt-accordion-links a:hover::before {
    opacity: 1;
}

@media (max-width: 767px) {
    .mjt-showcase__overlay {
        max-width: 100%;
        min-height: auto;
        position: static;
    }

    .mjt-home-content {
        grid-template-columns: 1fr;
    }
}

/* Enhanced shared inner pages (login/register/about/archive/etc.) */
.pkp_structure_content {
    margin: 0 auto;
    max-width: 1440px;
    padding: 0.5rem;
}

.pkp_structure_content .page {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    box-shadow: var(--mjt-shadow-sm);
    margin: 0 auto 1rem;
    max-width: 1440px;
    padding: 1.25rem;
}

.pkp_structure_content .page > h1 {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    line-height: 1.3;
    margin: 0 0 0.85rem;
}

.cmp_breadcrumbs {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.65rem;
    margin-bottom: 1rem;
    padding: 0.5rem 0.8rem;
}

.cmp_breadcrumbs ol {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.cmp_breadcrumbs .separator {
    color: #94a3b8;
}

.cmp_breadcrumbs a {
    text-decoration: none;
}

.cmp_breadcrumbs .current {
    color: #475569;
    font-weight: 600;
}

/* Form pages (login/register/profile-related forms) */
.pkp_page_login .page,
.pkp_page_user .page {
    max-width: 1440px;
}

.cmp_form {
    margin-top: 0.8rem;
}

.cmp_form fieldset {
    border: 1px solid #dbe2ea;
    border-radius: 0.75rem;
    margin: 0 0 1rem;
    padding: 1rem;
}

.cmp_form legend {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    padding: 0 0.35rem;
}

.cmp_form .fields > div,
.cmp_form .identity .fields > div,
.cmp_form .name .fields > div,
.cmp_form .user_login .fields > div {
    margin-bottom: 0.85rem;
}

.cmp_form label .label {
    color: #1f2937;
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.28rem;
}

.cmp_form input[type="text"],
.cmp_form input[type="email"],
.cmp_form input[type="password"],
.cmp_form input[type="url"],
.cmp_form input[type="tel"],
.cmp_form select,
.cmp_form textarea {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 0.6rem;
    box-sizing: border-box;
    color: #0f172a;
    min-height: 2.55rem;
    padding: 0.55rem 0.7rem;
    width: 100%;
}

.cmp_form textarea {
    min-height: 7rem;
    resize: vertical;
}

.cmp_form input:focus,
.cmp_form select:focus,
.cmp_form textarea:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
    outline: 0;
}

.cmp_form .checkbox input[type="checkbox"] {
    margin-right: 0.45rem;
}

.cmp_form .buttons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.cmp_form .buttons .submit,
.cmp_form button[type="submit"] {
    background: #0f766e;
    border: 1px solid #0f766e;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    min-height: 2.5rem;
    padding: 0.7rem 1.15rem;
}

.cmp_form .buttons .submit:hover,
.cmp_form .buttons .submit:focus-visible,
.cmp_form button[type="submit"]:hover,
.cmp_form button[type="submit"]:focus-visible {
    background: #0b5f59;
    border-color: #0b5f59;
}

.cmp_form .buttons a,
.cmp_form .register,
.cmp_form .login {
    font-weight: 600;
}

/* Archive and list-like pages */
.page_issue_archive .issues_archive,
.page_issue_archive .obj_issue_summary,
.page_about .about_section {
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    margin-top: 0.8rem;
    padding: 0.95rem;
}

.obj_issue_summary h2,
.obj_issue_summary h3,
.obj_issue_summary .title {
    margin: 0 0 0.35rem;
}

.obj_issue_summary .date_published,
.obj_issue_summary .series,
.obj_issue_summary .published {
    color: #64748b;
    font-size: 0.9rem;
}

.pkp_page_about .page_about p,
.pkp_page_issue .page_issue_archive p {
    color: #334155;
    font-size: 1rem;
}

@media (max-width: 767px) {
    .pkp_structure_content {
        padding: 0.75rem;
    }

    .pkp_structure_content .page {
        border-radius: 0.8rem;
        padding: 1rem;
    }

    .cmp_form fieldset {
        padding: 0.85rem;
    }
}

/* Announcements pages */
.mjt-announcements-page h1,
.mjt-announcement-page .obj_announcement_full h1 {
    font-family: var(--mjt-font-serif);
    letter-spacing: 0.01em;
    line-height: 1.25;
    margin: 0 0 1rem;
}

.mjt-announcements-intro {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    color: #334155;
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
}

.mjt-announcements-page .cmp_announcements {
    display: grid;
    gap: 0.85rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-announcements-page .obj_announcement_summary {
    background: #fff;
    border: 1px solid #dbe2ea;
    border-left: 4px solid var(--mjt-accent);
    border-radius: 0.85rem;
    box-shadow: var(--mjt-shadow-sm);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    padding: 0.95rem 1rem;
}

.mjt-announcements-page .obj_announcement_summary:hover {
    box-shadow: var(--mjt-shadow-md);
    transform: translateY(-2px);
}

.mjt-announcements-page .obj_announcement_summary h2 {
    font-size: 1.15rem;
    margin: 0 0 0.25rem;
}

.mjt-announcements-page .obj_announcement_summary h2 a {
    text-decoration: none;
}

.mjt-announcements-page .obj_announcement_summary .date {
    background: #eef2ff;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    color: #3730a3;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 600;
    margin-bottom: 0.55rem;
    padding: 0.15rem 0.55rem;
}

.mjt-announcements-page .obj_announcement_summary .summary {
    color: #334155;
    font-size: 0.96rem;
}

.mjt-announcements-page .obj_announcement_summary .read_more {
    color: var(--mjt-accent);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 700;
    margin-top: 0.55rem;
    text-decoration: none;
}

.mjt-announcement-page .obj_announcement_full {
    background: #fff;
    border: 1px solid #dbe2ea;
    border-radius: 0.9rem;
    box-shadow: var(--mjt-shadow-sm);
    padding: 1.1rem 1.2rem;
}

.mjt-announcement-page .obj_announcement_full .date {
    color: #64748b;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.mjt-announcement-page .obj_announcement_full .description {
    color: #334155;
    font-size: 1rem;
}

.mjt-announcement-page .obj_announcement_full .description img,
.mjt-announcement-page .obj_announcement_full .description figure,
.mjt-announcement-page .obj_announcement_full .description iframe,
.mjt-announcement-page .obj_announcement_full .description video {
    max-width: 100%;
    height: auto;
    display: block;
}

.mjt-announcement-page .obj_announcement_full_image {
    max-width: 100%;
    max-height: 420px;
    height: auto;
    width: auto;
    object-fit: contain;
    display: block;
    margin-bottom: 1rem;
    border-radius: 0.5rem;
}

.mjt-announcements-page .obj_announcement_summary_image {
    max-width: 100%;
    max-height: 220px;
    height: auto;
    width: auto;
    object-fit: contain;
    display: block;
    margin-bottom: 0.75rem;
    border-radius: 0.4rem;
}

.mjt-related-announcements {
    margin-top: 1.2rem;
}

.mjt-related-announcements h2 {
    border-bottom: 1px solid #e2e8f0;
    font-size: 1.05rem;
    margin: 0 0 0.8rem;
    padding-bottom: 0.4rem;
}

.mjt-related-announcements__list {
    display: grid;
    gap: 0.6rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mjt-related-announcements__item {
    background: #fff;
    border: 1px solid #dbe2ea;
    border-radius: 0.75rem;
    padding: 0.65rem 0.75rem;
}

.mjt-related-announcements__date {
    color: #64748b;
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.mjt-related-announcements__item a {
    font-weight: 600;
    text-decoration: none;
}

.mjt-related-announcements__more {
    background: var(--mjt-accent);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 700;
    margin-top: 0.75rem;
    padding: 0.45rem 0.9rem;
    text-decoration: none;
}

.mjt-related-announcements__more:hover,
.mjt-related-announcements__more:focus-visible {
    background: var(--mjt-accent-strong);
    color: #fff;
}

/* ============================================
   Enhanced Issue Page - Current Issue & Articles
   ============================================ */

/* Issue Page */
.mjt-issue-page {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1.5rem var(--mjt-gutter);
}

/* Issue Hero Section */
.mjt-issue-page .mjt-issue-hero {
    background: linear-gradient(135deg, #f8fafc 0%, #eef4ff 100%);
    border: 1px solid #dbe2ea;
    border-left: 4px solid var(--mjt-accent);
    border-radius: 0.9rem;
    margin-bottom: 1.2rem;
    padding: 1.5rem;
}

.mjt-issue-page .mjt-issue-hero h1 {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    line-height: 1.3;
    margin: 0 0 0.75rem;
    color: var(--mjt-text);
}

.mjt-issue-page .mjt-issue-hero p {
    color: #475569;
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 1rem;
}

.mjt-issue-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.mjt-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.3rem 0.7rem;
    color: #334155;
}

.mjt-badge--volume {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1e40af;
}

.mjt-badge--number {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.mjt-badge--year {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #92400e;
}

.mjt-badge--date {
    background: #f3e8ff;
    border-color: #d8b4fe;
    color: #7c3aed;
}

.mjt-badge--open-access {
    background: #dcfce7;
    border-color: #22c55e;
    color: #166534;
}

.mjt-badge--prefix {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

/* Issue Access Badge */
.mjt-issue-access-badge {
    align-items: center;
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
    border: 1px solid #86efac;
    border-radius: 0.75rem;
    color: #166534;
    display: flex;
    font-size: 0.88rem;
    font-weight: 700;
    gap: 0.5rem;
    margin-bottom: 1.2rem;
    padding: 0.75rem 1rem;
}

/* Issue Table of Contents */
.mjt-issue-toc {
    margin-top: 1.5rem;
}

.mjt-section-group {
    margin-bottom: 2rem;
}

.mjt-section-title {
    font-family: var(--mjt-font-sans);
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    border-bottom: 2px solid var(--mjt-accent);
    padding-bottom: 0.5rem;
    margin-bottom: 1.2rem;
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.mjt-section-count {
    font-size: 0.85rem;
    font-weight: 500;
    color: #64748b;
}

/* Articles Grid */
.mjt-articles-grid {
    display: grid;
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .mjt-articles-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mjt-articles-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Article Card */
.mjt-article-card {
    background: #fff;
    border: 1px solid #d5d8dc;
    border-radius: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    transition: box-shadow 0.2s ease;
}

.mjt-article-card:hover {
    box-shadow: 0 3px 8px rgba(0,0,0,0.12);
}

/* Article Card Header */
.mjt-article-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.4rem;
}

.mjt-article-card__type,
.mjt-article-card__access {
    display: flex;
    gap: 0.3rem;
    flex-wrap: wrap;
}

/* Section Badge Colors */
.mjt-badge--articles {
    background: #70a538;
    border-color: #5a8a2a;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.mjt-badge--editorial {
    background: #8b2635;
    border-color: #6e1e2a;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.mjt-badge--research {
    background: #2563eb;
    border-color: #1d4ed8;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.mjt-badge--original {
    background: #1a1a1a;
    border-color: #333;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.mjt-badge--review {
    background: #7c3aed;
    border-color: #6d28d9;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

.mjt-badge--case {
    background: #ea580c;
    border-color: #c2410c;
    color: #fff;
    border-radius: 0;
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: none;
}

/* Article Title */
.mjt-article-card__title {
    font-family: var(--mjt-font-sans);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    color: #1a1a1a;
}

.mjt-article-card__title a {
    color: #1a1a1a;
    text-decoration: none;
}

.mjt-article-card__title a:hover {
    color: var(--mjt-accent);
}

/* Authors */
.mjt-article-card__authors {
    color: #6b7280;
    font-size: 0.78rem;
    line-height: 1.3;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.mjt-author {
    color: #6b7280;
    font-size: 0.78rem;
}

.mjt-orcid-link {
    display: inline-flex;
    align-items: center;
    margin-left: 0.1rem;
}

/* Article Meta */
.mjt-article-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.3rem 0;
}

.mjt-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #6b7280;
    font-size: 0.78rem;
}

.mjt-meta-item svg {
    flex-shrink: 0;
    width: 12px;
    height: 12px;
}

/* Article Footer */
.mjt-article-card__footer {
    display: flex;
    justify-content: center;
    padding-top: 0.4rem;
    margin-top: auto;
}

/* Action Links */
.mjt-article-card__actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.mjt-action-link {
    color: #b45309;
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mjt-action-link:hover {
    color: #92400e;
    text-decoration: underline;
}

/* Abstract Modal */
.mjt-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mjt-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.mjt-modal__content {
    position: relative;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 640px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    animation: mjtModalIn 0.25s ease;
}

@keyframes mjtModalIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.mjt-modal__header {
    background: linear-gradient(135deg, #059669, #047857);
    color: #fff;
    padding: 1.5rem;
    border-radius: 0.5rem 0.5rem 0 0;
    position: relative;
}

.mjt-modal__title {
    font-family: var(--mjt-font-sans);
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin: 0 2rem 0.5rem 0;
    line-height: 1.4;
}

.mjt-modal__authors {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

.mjt-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    font-size: 1.5rem;
    color: #fff;
    cursor: pointer;
    line-height: 1;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.35rem;
    transition: background 0.2s ease;
}

.mjt-modal__close:hover {
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
}

.mjt-modal__body {
    padding: 1.5rem;
    overflow-y: auto;
    flex: 1;
}

.mjt-modal__abstract {
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
}

.mjt-modal__footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 1rem 1.5rem;
    border-top: 1px solid #e2e8f0;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Document Viewer Modal */
.mjt-viewer-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mjt-viewer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
}

.mjt-viewer-container {
    position: relative;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    width: 96%;
    height: 92vh;
    max-width: 1400px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: mjtModalIn 0.25s ease;
}

.mjt-viewer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background: #1f2937;
    color: #fff;
    border-radius: 0.5rem 0.5rem 0 0;
    gap: 1rem;
}

.mjt-viewer-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.mjt-viewer-type {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgba(255, 255, 255, 0.15);
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
}

.mjt-viewer-divider {
    color: rgba(255, 255, 255, 0.3);
}

.mjt-viewer-filename {
    font-size: 0.9rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mjt-viewer-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.mjt-viewer-font {
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0.35rem;
    padding: 0.4rem 1.75rem 0.4rem 0.6rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.4rem center;
}

.mjt-viewer-font:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.mjt-viewer-font:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5);
}

.mjt-viewer-font option {
    background: #1f2937;
    color: #fff;
}

.mjt-viewer-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 0.75rem;
    border-radius: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.15s ease;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.mjt-viewer-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.mjt-viewer-btn--download {
    background: #059669;
}

.mjt-viewer-btn--download:hover {
    background: #047857;
}

.mjt-viewer-btn--close {
    background: rgba(255, 255, 255, 0.1);
}

.mjt-viewer-btn--close:hover {
    background: rgba(239, 68, 68, 0.8);
}

.mjt-viewer-body {
    flex: 1;
    overflow: hidden;
    background: #f1f5f9;
}

.mjt-viewer-body iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

@media (max-width: 640px) {
    .mjt-viewer-container {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }
    .mjt-viewer-header {
        border-radius: 0;
    }
    .mjt-viewer-filename {
        display: none;
    }
}

.mjt-btn--more {
    background: #fff;
    color: #059669;
    border-color: #059669;
}

.mjt-btn--more:hover {
    background: #059669;
    color: #fff;
}

.mjt-btn--pdf {
    background: #fff;
    color: #dc2626;
    border-color: #dc2626;
}

.mjt-btn--pdf:hover {
    background: #dc2626;
    color: #fff;
}

.mjt-btn--xml {
    background: #fff;
    color: #7c3aed;
    border-color: #7c3aed;
}

.mjt-btn--xml:hover {
    background: #7c3aed;
    color: #fff;
}

.mjt-btn--html {
    background: #fff;
    color: #2563eb;
    border-color: #2563eb;
}

.mjt-btn--html:hover {
    background: #2563eb;
    color: #fff;
}

/* Article Detail Page */
.mjt-article-page {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1.5rem var(--mjt-gutter);
}

/* ============================================
   ARTICLE DETAIL PAGE (Professional Layout)
   ============================================ */

.mjt-article-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 1rem 0 3rem;
}

/* Horizontal rule */
.mjt-article-hr {
    border: 0;
    border-top: 1px solid #d1d5db;
    margin: 0;
}

.mjt-article-hr--spaced {
    margin-bottom: 1.5rem;
}

/* Header with Cover Image */
.mjt-article-header {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1rem;
    align-items: flex-start;
}

.mjt-article-cover {
    flex-shrink: 0;
    width: 100px;
}

.mjt-article-cover img {
    width: 100%;
    height: auto;
    display: block;
    border-left: 4px solid #eab308;
    box-shadow: 1px 1px 4px rgba(0,0,0,0.12);
}

.mjt-article-header__content {
    flex: 1;
    min-width: 0;
    padding-top: 0.25rem;
}

.mjt-article-header__title {
    font-family: var(--mjt-font-sans);
    font-size: 1.35rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.25rem;
    line-height: 1.35;
}

.mjt-article-header__subtitle {
    color: #6b7280;
    font-size: 0.95rem;
    margin: 0 0 0.6rem;
    line-height: 1.4;
}

.mjt-article-header__authors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.15rem;
    align-items: center;
    margin-bottom: 0.4rem;
}

.mjt-article-author {
    font-size: 0.9rem;
    font-weight: 500;
    color: #4b5563;
}

.mjt-orcid-link {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 0.1rem;
    margin-right: 0.1rem;
}

.mjt-orcid-link svg {
    display: block;
}

.mjt-author-sep {
    color: #9ca3af;
    margin-right: 0.35rem;
}

.mjt-author-details-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #b45309;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
}

.mjt-author-details-link:hover {
    text-decoration: underline;
}

.mjt-author-details-link svg {
    color: #b45309;
}

/* Copyright Row */
.mjt-article-copyright-row {
    padding: 0.75rem 0;
}

.mjt-article-copyright {
    max-width: 500px;
    margin-left: auto;
    text-align: right;
}

.mjt-article-copyright h2 {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.4rem;
}

.mjt-article-copyright p {
    margin: 0.35rem 0 0;
    font-size: 0.8rem;
    color: #4b5563;
    line-height: 1.5;
}

.mjt-article-copyright a {
    color: #059669;
    text-decoration: none;
}

.mjt-article-copyright a:hover {
    text-decoration: underline;
}

.mjt-cc-badge img {
    max-height: 28px;
    width: auto;
    display: block;
    margin-left: auto;
}

/* Share Row */
.mjt-article-share {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.5rem 0 0.75rem;
}

.mjt-article-share span {
    font-size: 0.8rem;
    font-weight: 700;
    color: #1f2937;
    margin-right: 0.25rem;
}

.mjt-article-share a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 3px;
    background: #f3f4f6;
    color: #6b7280;
    transition: all 0.15s ease;
}

.mjt-article-share a:hover {
    background: #e5e7eb;
    color: #1f2937;
}

/* Metadata Bar */
.mjt-article-meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    margin-bottom: 0;
}

.mjt-meta-bar__item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
    font-size: 0.78rem;
    color: #6b7280;
    border-right: 1px solid #e5e7eb;
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
}

.mjt-meta-bar__item:last-child {
    border-right: 0;
}

.mjt-meta-bar__label {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #374151;
}

.mjt-meta-bar__item a {
    color: #6b7280;
    text-decoration: none;
    word-break: break-all;
}

.mjt-meta-bar__item a:hover {
    text-decoration: underline;
}

/* Main Body Two-Column */
.mjt-article-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.mjt-article-body__main {
    min-width: 0;
}

.mjt-article-body__sidebar {
    min-width: 0;
}

@media (min-width: 768px) {
    .mjt-article-body {
        grid-template-columns: 2.5fr 1fr;
        gap: 2.5rem;
    }
}

/* Article Tabs */
.mjt-article-tabs {
    margin-top: 1.5rem;
}

.mjt-article-tabs__nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e5e7eb;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.mjt-article-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: #6b7280;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
    text-decoration: none;
}

.mjt-article-tab:hover {
    color: #059669;
    background: #f0fdf4;
}

.mjt-article-tab.active {
    color: #059669;
    border-bottom-color: #059669;
    font-weight: 600;
}

.mjt-article-tabs__content {
    padding: 1.5rem 0;
}

.mjt-article-tab-panel {
    display: none;
}

.mjt-article-tab-panel.active {
    display: block;
    animation: mjtTabFadeIn 0.2s ease;
}

@keyframes mjtTabFadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Authors Tab */
.mjt-authors-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mjt-author-card {
    padding: 1.25rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.mjt-author-card__name {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1f2937;
    margin-bottom: 0.35rem;
}

.mjt-author-card__affiliation {
    font-size: 0.9rem;
    color: #6b7280;
    margin-bottom: 0.35rem;
}

.mjt-author-card__orcid {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}

.mjt-author-card__orcid a {
    color: #a6ce39;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.mjt-author-card__bio {
    font-size: 0.9rem;
    color: #4b5563;
    line-height: 1.6;
}

/* License Tab */
.mjt-article-license {
    max-width: 700px;
}

.mjt-article-license > p:first-child {
    font-weight: 600;
    margin-bottom: 1rem;
}

.mjt-license-terms {
    margin-top: 1.5rem;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #4b5563;
}

.mjt-license-terms ol {
    padding-left: 1.5rem;
    margin-top: 0.75rem;
}

.mjt-license-terms li {
    margin-bottom: 0.75rem;
}

.mjt-license-terms a {
    color: #059669;
    text-decoration: underline;
}

/* Citation Format Dropdown */
.mjt-cite-format-select {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem 0;
}

.mjt-cite-format-select label {
    font-size: 0.9rem;
    font-weight: 500;
    color: #374151;
}

.mjt-cite-format-select select {
    padding: 0.5rem 2.5rem 0.5rem 0.75rem;
    font-size: 0.9rem;
    color: #374151;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
    background-size: 1rem;
    min-width: 180px;
}

.mjt-cite-format-select select:focus {
    outline: none;
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
}

.mjt-cite-download-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.mjt-cite-download-section h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.75rem;
}

.mjt-cite-download-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.mjt-cite-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: #374151;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.15s ease;
}

.mjt-cite-download-btn:hover {
    border-color: #059669;
    color: #059669;
    background: #f0fdf4;
}

/* Abstract */
.mjt-article-abstract {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 1.75rem;
    margin-bottom: 1.5rem;
}

.mjt-article-abstract h2 {
    font-family: var(--mjt-font-sans);
    font-size: 1.3rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 1rem;
}

.mjt-article-abstract__text {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

.mjt-article-abstract__text p {
    margin-bottom: 0.75rem;
}

.mjt-article-abstract__text p:last-child {
    margin-bottom: 0;
}

/* Galley Buttons inside Abstract */
.mjt-article-galleys {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.mjt-galley-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1rem;
    border-radius: 2px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    transition: all 0.15s ease;
    border: 1px solid #9ca3af;
    background: #fff;
    color: #4b5563;
    cursor: pointer;
    font-family: inherit;
}

.mjt-galley-btn:hover {
    background: #f9fafb;
}

.mjt-galley-btn--pdf {
    border-color: #dc2626;
    color: #dc2626;
}

.mjt-galley-btn--pdf:hover {
    background: #dc2626;
    color: #fff;
}

.mjt-galley-btn--xml {
    border-color: #7c3aed;
    color: #7c3aed;
}

.mjt-galley-btn--xml:hover {
    background: #7c3aed;
    color: #fff;
}

.mjt-galley-btn--html {
    border-color: #059669;
    color: #059669;
}

.mjt-galley-btn--html:hover {
    background: #059669;
    color: #fff;
}

/* Sidebar Blocks */
.mjt-article-sidebar-block {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    margin-bottom: 1rem;
}

.mjt-article-sidebar-block h3 {
    font-family: var(--mjt-font-sans);
    font-size: 1rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.75rem;
}

/* Keywords in Sidebar */
.mjt-article-keywords-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.mjt-article-keyword-tag {
    display: inline-block;
    padding: 0.3rem 0.6rem;
    background: #fff;
    border: 1px solid #d1d5db;
    font-size: 0.8rem;
    color: #059669;
    font-weight: 500;
}

/* Citation in Sidebar */
.mjt-article-cite-text {
    font-size: 0.82rem;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 0.75rem;
    word-break: break-word;
}

.mjt-article-cite-btn {
    display: block;
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #9ca3af;
    border-radius: 2px;
    background: #fff;
    color: #4b5563;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: center;
}

.mjt-article-cite-btn:hover {
    background: #f3f4f6;
}

/* Citation Format Panel */
.mjt-cite-panel {
    display: none;
    margin-top: 0.75rem;
    border-top: 1px solid #e5e7eb;
    padding-top: 0.75rem;
}

.mjt-cite-panel.is-open {
    display: block;
}

.mjt-cite-formats {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
}

.mjt-cite-formats li {
    padding: 0.4rem 0.5rem;
    font-size: 0.8rem;
    color: #374151;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.1s ease;
}

.mjt-cite-formats li:hover {
    background: #e5e7eb;
}

.mjt-cite-formats li.active {
    background: #374151;
    color: #fff;
}

.mjt-cite-download {
    border-top: 1px solid #e5e7eb;
    padding-top: 0.75rem;
}

.mjt-cite-download h4 {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.5rem;
}

.mjt-cite-download button {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    padding: 0.4rem 0.5rem;
    margin-bottom: 0.25rem;
    border: none;
    background: transparent;
    color: #059669;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    border-radius: 2px;
    transition: background 0.1s ease;
}

.mjt-cite-download button:hover {
    background: #ecfdf5;
}

.mjt-cite-download button svg {
    flex-shrink: 0;
}

/* Article Sections */
.mjt-article-section {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e5e7eb;
}

.mjt-article-section:last-child {
    border-bottom: none;
}

.mjt-article-section h2 {
    font-family: var(--mjt-font-sans);
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.75rem;
}

.mjt-article-references {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 0.88rem;
    color: #4b5563;
    line-height: 1.6;
}

.mjt-article-references li {
    margin-bottom: 0.4rem;
}

/* Author Bios */
.mjt-author-bio {
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #e5e7eb;
}

.mjt-author-bio:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.mjt-author-bio h3 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #374151;
    margin: 0 0 0.4rem;
}

.mjt-author-bio p {
    font-size: 0.88rem;
    color: #4b5563;
    line-height: 1.55;
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    .mjt-article-header {
        flex-direction: column;
    }

    .mjt-article-cover {
        width: 80px;
    }

    .mjt-article-copyright {
        margin-left: 0;
        text-align: left;
    }

    .mjt-cc-badge img {
        margin-left: 0;
    }

    .mjt-article-meta-bar {
        flex-direction: column;
    }

    .mjt-meta-bar__item {
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
        justify-content: flex-start;
        text-align: left;
    }

    .mjt-meta-bar__item:last-child {
        border-bottom: 0;
    }

    .mjt-article-galleys {
        flex-wrap: wrap;
    }
}

/* Masthead page */
.pkp_page_about .page_masthead {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1.5rem 0.5rem;
}

.pkp_page_about .page_masthead h1 {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    margin: 0 0 1.25rem;
}

.pkp_page_about .page_masthead h2 {
    font-family: var(--mjt-font-sans);
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mjt-text);
    margin: 1.5rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--mjt-accent);
}

.pkp_page_about .page_masthead .user_listing {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.6rem;
}

.pkp_page_about .page_masthead .user_listing li {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    padding: 0.85rem 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.pkp_page_about .page_masthead .user_listing .name {
    font-weight: 600;
    color: var(--mjt-text);
}

.pkp_page_about .page_masthead .user_listing .affiliation {
    color: var(--mjt-muted);
    font-size: 0.9rem;
}

.pkp_page_about .page_masthead .user_listing .date_start {
    font-size: 0.85rem;
    color: var(--mjt-muted);
}

.pkp_page_about .page_masthead .orcid a {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 0.3rem;
}

/* ===== Login Page ===== */
.page_login,
.page_register,
.page_masthead {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Hide sidebar on login/register pages for full-screen layout */
body.pkp_page_login .pkp_structure_sidebar,
body.pkp_page_login .pkp_structure_sidebar_left,
body.pkp_page_user .pkp_structure_sidebar,
body.pkp_page_user .pkp_structure_sidebar_left {
    display: none !important;
}

body.pkp_page_login .pkp_structure_content,
body.pkp_page_user .pkp_structure_content {
    display: block !important;
    padding: 0 !important;
    gap: 0 !important;
}

body.pkp_page_login .pkp_structure_main,
body.pkp_page_user .pkp_structure_main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

.mjt-login-page {
    display: grid;
    grid-template-columns: 1fr;
    min-height: calc(100vh - 180px);
}

@media (min-width: 900px) {
    .mjt-login-page {
        grid-template-columns: 1fr 1fr;
    }
}

/* -- Hero panel (left) -- */
.mjt-login-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    background: linear-gradient(135deg, #0f172a, #1e3a5f);
    color: #fff;
    overflow: hidden;
}

.mjt-login-hero__overlay {
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.mjt-login-hero__content {
    position: relative;
    z-index: 1;
    max-width: 400px;
    text-align: center;
}

.mjt-login-hero__logo-link {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.mjt-login-hero__logo {
    max-width: 200px;
    max-height: 80px;
    object-fit: contain;
}

.mjt-login-hero__title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

.mjt-login-hero__text h2 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.mjt-login-hero__text p {
    font-size: 0.95rem;
    opacity: 0.85;
    margin: 0;
    line-height: 1.6;
}

.mjt-login-hero__features {
    list-style: none;
    margin: 2rem 0 0;
    padding: 0;
    text-align: left;
}

.mjt-login-hero__features li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0;
    font-size: 0.92rem;
    opacity: 0.9;
}

.mjt-login-hero__features svg {
    flex-shrink: 0;
    opacity: 0.7;
}

/* -- Form panel (right) -- */
.mjt-login-form-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.5rem;
    background: #fff;
}

.mjt-login-form-panel__inner {
    width: 100%;
    max-width: 400px;
}

.mjt-login-form-panel__inner h1 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.25rem;
}

.mjt-login-subtitle {
    font-size: 0.9rem;
    color: #6b7280;
    margin: 0 0 1.75rem;
}

.mjt-login-message {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.88rem;
    color: #1e40af;
    margin-bottom: 1.25rem;
}

/* Fields */
.mjt-field {
    margin-bottom: 1.25rem;
}

.mjt-field .label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}

.mjt-field .required {
    color: #dc2626;
    margin-left: 0.15rem;
}

.mjt-field__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.mjt-field__icon {
    position: absolute;
    left: 0.75rem;
    color: #9ca3af;
    pointer-events: none;
    transition: color 0.2s;
}

.mjt-field__input-wrap input[type="text"],
.mjt-field__input-wrap input[type="password"],
.mjt-field__input-wrap input[type="email"] {
    width: 100%;
    padding: 0.7rem 0.75rem 0.7rem 2.5rem;
    border: 1.5px solid #e5e7eb;
    border-radius: 0.5rem;
    font-size: 0.95rem;
    background: #f9fafb;
    transition: all 0.2s ease;
}

.mjt-field__input-wrap input[type="text"]:focus,
.mjt-field__input-wrap input[type="password"]:focus,
.mjt-field__input-wrap input[type="email"]:focus {
    outline: none;
    border-color: var(--mjt-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(148, 148, 251, 0.15);
}

.mjt-field__input-wrap input[type="text"]:focus ~ .mjt-field__icon,
.mjt-field__input-wrap input[type="password"]:focus ~ .mjt-field__icon,
.mjt-field__input-wrap input[type="email"]:focus ~ .mjt-field__icon {
    color: var(--mjt-accent);
}

/* Password toggle */
.mjt-field__toggle-pw {
    position: absolute;
    right: 0.5rem;
    background: none;
    border: none;
    padding: 0.25rem;
    cursor: pointer;
    color: #9ca3af;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.mjt-field__toggle-pw:hover {
    color: #6b7280;
}

.mjt-forgot-link {
    display: inline-block;
    margin-top: 0.4rem;
    font-size: 0.82rem;
    color: #6b7280;
    text-decoration: none;
}

.mjt-forgot-link:hover {
    color: var(--mjt-accent);
    text-decoration: underline;
}

/* Checkbox */
.mjt-field--checkbox {
    margin-bottom: 1.5rem;
}

.mjt-field--checkbox label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.mjt-field--checkbox input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--mjt-accent);
}

.mjt-field--checkbox .label {
    font-size: 0.85rem;
    font-weight: 400;
    color: #6b7280;
    margin-bottom: 0;
}

/* Actions */
.mjt-login-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 0.5rem;
}

.mjt-login-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    background: var(--mjt-accent);
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mjt-login-submit:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

.mjt-login-submit:active {
    transform: translateY(0);
}

.mjt-login-register-link {
    text-align: center;
    font-size: 0.9rem;
    color: var(--mjt-accent);
    font-weight: 500;
    text-decoration: none;
}

.mjt-login-register-link:hover {
    text-decoration: underline;
}

/* Error message */
.page_login .pkp_form_error,
.page_register .pkp_form_error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    color: #dc2626;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

/* Register / masthead pages reuse some login styles */
.page_register .cmp_form,
.page_masthead .cmp_form {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 2rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    max-width: 600px;
    margin: 0 auto;
}

/* Login form: remove bordered box */
.page_login .cmp_form {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    max-width: 100%;
    margin: 0;
}

.page_login .cmp_form fieldset.fields {
    border: none;
    padding: 0;
    margin: 0;
}

.page_login .cmp_form legend.pkp_screen_reader {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.page_register h1,
.page_masthead h1 {
    font-family: var(--mjt-font-sans);
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 1rem;
}

.page_register .cmp_form label {
    display: block;
    margin-bottom: 1.25rem;
}

.page_register .cmp_form .label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}

.page_register .cmp_form input[type="text"],
.page_register .cmp_form input[type="password"],
.page_register .cmp_form input[type="email"] {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid #d1d5db;
    border-radius: 0.4rem;
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page_register .cmp_form input:focus {
    outline: none;
    border-color: var(--mjt-accent);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.1);
}

.page_register .cmp_form .buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
}

.page_register .cmp_form button.submit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.7rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    background: var(--mjt-accent);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.page_register .cmp_form button.submit:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.page_register .cmp_form a.register {
    color: var(--mjt-accent);
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
}

.page_register .cmp_form a.register:hover {
    text-decoration: underline;
}

.page_register .cmp_form a[href*="lostPassword"] {
    display: inline-block;
    margin-top: 0.35rem;
    font-size: 0.85rem;
    color: #6b7280;
    text-decoration: none;
}

.page_register .cmp_form a[href*="lostPassword"]:hover {
    color: var(--mjt-accent);
    text-decoration: underline;
}

/* Buttons */
.mjt-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 0.6rem 1rem;
    border-radius: 0.6rem;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    border: 1px solid transparent;
}

.mjt-btn--primary {
    background: var(--mjt-accent);
    color: #fff;
    border-color: var(--mjt-accent);
}

.mjt-btn--primary:hover,
.mjt-btn--primary:focus-visible {
    background: var(--mjt-accent-strong);
    border-color: var(--mjt-accent-strong);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(29, 78, 216, 0.25);
}

.mjt-btn--secondary {
    background: #fff;
    color: var(--mjt-accent);
    border-color: var(--mjt-accent);
}

.mjt-btn--secondary:hover,
.mjt-btn--secondary:focus-visible {
    background: var(--mjt-accent-soft);
    transform: translateY(-1px);
}

/* Galleys */
.mjt-article-card__galleys {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.mjt-galley-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 0.5rem;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.4rem 0.7rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.mjt-galley-link:hover,
.mjt-galley-link:focus-visible {
    background: var(--mjt-accent-soft);
    border-color: var(--mjt-accent);
    color: var(--mjt-accent-strong);
}

.mjt-galley-link--pdf {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.mjt-galley-link--pdf:hover,
.mjt-galley-link--pdf:focus-visible {
    background: #fecaca;
    border-color: #ef4444;
}

/* Issue Actions */
.mjt-issue-actions {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e2e8f0;
    display: flex;
    justify-content: center;
}

/* Issue Published Date */
.mjt-issue-published-date {
    align-items: center;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 0.55rem;
    color: #475569;
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 500;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.5rem 0.85rem;
}

/* Empty State */
.mjt-empty-state {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    color: #64748b;
    font-size: 1rem;
    padding: 2rem;
    text-align: center;
}

/* Responsive Adjustments */
@media (max-width: 767px) {
    .mjt-issue-page .mjt-issue-hero {
        padding: 1.2rem;
    }

    .mjt-article-card {
        padding: 1rem;
    }

    .mjt-article-card__title {
        font-size: 1.05rem;
    }

    .mjt-article-card__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .mjt-btn {
        justify-content: center;
    }
}

/* ===== Professional Journal Homepage ===== */

/* Hero Section */
.mjt-hero {
    position: relative;
    min-height: clamp(100px, 10vw, 180px);
    overflow: hidden;
    border-radius: var(--mjt-radius-lg);
    margin-bottom: 0;
}

.mjt-hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.mjt-hero__background img,
.mjt-hero__fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mjt-hero__fallback {
    background: var(--mjt-banner-overlay);
}

.mjt-hero__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 1;
}

.mjt-hero__content {
    position: relative;
    z-index: 2;
    padding: 1.5rem clamp(1rem, 4vw, 2.5rem);
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: stretch;
    min-height: clamp(100px, 10vw, 180px);
}

@media (min-width: 900px) {
    .mjt-hero__content {
        grid-template-columns: 1.2fr 0.85fr;
        padding: 0;
        gap: 0;
    }
    .mjt-hero__left {
        padding: 1.5rem clamp(1rem, 4vw, 2.5rem);
    }
}

.mjt-hero__left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 640px;
}

.mjt-hero__right {
    display: flex;
    justify-content: center;
    align-items: stretch;
    height: 100%;
}

.mjt-announcement-slider {
    background: rgba(255, 255, 255, 0.06);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    width: 100%;
    max-width: none;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 0;
}

.mjt-announcement-slider__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 1.1rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.mjt-announcement-slider__header svg {
    opacity: 0.8;
}

.mjt-announcement-slider__track {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.mjt-announcement-slider__slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    text-decoration: none;
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.mjt-announcement-slider__slide--active {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.mjt-announcement-slider__image {
    position: relative;
    overflow: hidden;
    min-height: 0;
}

.mjt-announcement-slider__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.mjt-announcement-slider__image-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.3);
}

.mjt-announcement-slider__text-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
    padding: 1.1rem 1.25rem;
    box-sizing: border-box;
    overflow: hidden;
}

.mjt-announcement-slider__text-fallback p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left;
}

.mjt-announcement-slider__body {
    padding: 0.85rem 1.1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex-shrink: 0;
}

.mjt-announcement-slider__date {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    letter-spacing: 0.03em;
}

.mjt-announcement-slider__title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.mjt-announcement-slider__more {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--mjt-accent);
    margin-top: auto;
    padding-top: 0.3rem;
}

.mjt-announcement-slider__slide:hover .mjt-announcement-slider__more {
    color: #60a5fa;
}

.mjt-announcement-slider__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.6rem 1rem 0.85rem;
    flex-shrink: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mjt-announcement-slider__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    padding: 0;
    transition: all 0.25s ease;
}

.mjt-announcement-slider__dot--active {
    background: var(--mjt-accent);
    width: 20px;
    border-radius: 4px;
}

.mjt-hero__badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #e2e8f0;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    margin-bottom: 0.6rem;
    width: fit-content;
}

.mjt-hero__title {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.3rem, 2.8vw, 2rem);
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    margin: 0 0 0.4rem;
    letter-spacing: -0.01em;
}

.mjt-hero__description {
    font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    color: rgba(226, 232, 240, 0.9);
    line-height: 1.5;
    margin: 0 0 0.85rem;
    max-width: 460px;
}

.mjt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mjt-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    border-radius: 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1.5px solid transparent;
}

.mjt-hero__btn svg {
    flex-shrink: 0;
}

.mjt-hero__btn--primary {
    background: var(--mjt-accent);
    color: #fff;
    border-color: var(--mjt-accent);
}

.mjt-hero__btn--primary:hover {
    background: var(--mjt-accent-strong);
    border-color: var(--mjt-accent-strong);
    color: #fff;
}

.mjt-hero__btn--secondary {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
}

.mjt-hero__btn--secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}

.mjt-site-home {
    max-width: 1180px;
    margin: 0 auto;
}

.mjt-site-hero {
    margin-bottom: 1.5rem;
    padding: clamp(2.5rem, 6vw, 4.75rem) clamp(1.25rem, 4vw, 3rem);
    border-radius: var(--mjt-radius-lg);
    background:
        linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(255, 255, 255, 0.94)),
        var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-site-hero__content {
    max-width: 760px;
}

.mjt-site-hero h1 {
    margin: 0.5rem 0 0.8rem;
    color: var(--mjt-text);
    font-family: var(--mjt-font-serif);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.15;
}

.mjt-site-hero p {
    max-width: 680px;
    margin: 0 0 1.25rem;
    color: var(--mjt-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.mjt-site-about,
.mjt-site-journals {
    margin-bottom: 1.5rem;
}

.mjt-journal-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 50px rgba(0, 0, 0, 0.2), 0 0 20px rgba(59, 130, 246, 0.3);
    border-color: var(--mjt-accent);
}

.mjt-site-about {
    padding: 1.25rem;
}

.mjt-site-about h2,
.mjt-site-section-head h2 {
    margin: 0.4rem 0 1rem;
    color: var(--mjt-text);
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.mjt-site-empty {
    padding: 1rem 1.25rem;
    color: var(--mjt-muted);
}

.mjt-journal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mjt-journal-card {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 0.25rem;
    min-height: 100px;
    padding: 0.25rem;
    background: linear-gradient(135deg, var(--mjt-surface), rgba(255, 255, 255, 0.8));
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    box-shadow: var(--mjt-shadow-md);
    transition: all 0.3s ease;
}

.mjt-journal-card:not(.has-thumb) {
    grid-template-columns: minmax(0, 1fr);
}

.mjt-journal-card__thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    background: #f8fafc;
    overflow: hidden;
}

.mjt-journal-card__thumb img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mjt-journal-card__body {
    min-width: 0;
}

.mjt-journal-card__body h3 {
    margin: 0 0 0.55rem;
    font-size: 0.5rem;
    line-height: 1.05;
}

.mjt-journal-card__body h3 a {
    color: var(--mjt-text);
    text-decoration: none;
}

.mjt-journal-card__body h3 a:hover {
    color: var(--mjt-accent-strong);
}

.mjt-journal-card__body p {
    margin: 0;
    color: var(--mjt-muted);
    font-size: 0.6rem;
    line-height: 1.2;
}

.mjt-journal-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-top: 0.5rem;
}

.mjt-journal-card__links a {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0.25rem 0.75rem;
    border: 1px solid rgba(37, 99, 235, 0.3);
    border-radius: 0.6rem;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.1), rgba(37, 99, 235, 0.05));
    color: var(--mjt-accent-strong);
    font-size: 0.7rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
}

.mjt-journal-card__links a:hover {
    background: var(--mjt-accent);
    color: #ffffff;
    border-color: var(--mjt-accent);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.25);
}

/* Stats Bar */
.mjt-stats-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-top: 0;
    border-radius: 0 0 var(--mjt-radius-lg) var(--mjt-radius-lg);
    padding: 1.25rem 1rem;
    margin: 0 0 2rem;
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-stats-bar__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding: 0 1.5rem;
    min-width: 100px;
}

.mjt-stats-bar__number {
    font-family: var(--mjt-font-serif);
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--mjt-accent-strong);
    line-height: 1;
}

.mjt-stats-bar__label {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--mjt-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.mjt-stats-bar__divider {
    width: 1px;
    height: 36px;
    background: var(--mjt-border);
}

/* Section Label */
.mjt-section-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mjt-accent);
    margin-bottom: 0.5rem;
}

/* Featured Issue Section */
.mjt-featured-issue {
    margin-bottom: 2.5rem;
}

.mjt-featured-issue__header {
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--mjt-accent);
}

.mjt-featured-issue__title {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    font-weight: 700;
    margin: 0 0 0.35rem;
    line-height: 1.3;
}

.mjt-featured-issue__title a {
    color: var(--mjt-text);
    text-decoration: none;
}

.mjt-featured-issue__title a:hover {
    color: var(--mjt-accent);
}

.mjt-featured-issue__date {
    font-size: 0.85rem;
    color: var(--mjt-muted);
    margin: 0;
}

.mjt-featured-issue__articles {
    margin-bottom: 1.25rem;
}

.mjt-featured-issue__footer {
    display: flex;
    justify-content: center;
    padding-top: 1rem;
}

/* About Journal Section */
.mjt-about-journal {
    background: linear-gradient(130deg, #ffffff 0%, #f0f5ff 100%);
    border: 1px solid #d6e3fb;
    border-radius: var(--mjt-radius-lg);
    padding: clamp(1.5rem, 3vw, 2.5rem);
    margin-bottom: 2rem;
}

.mjt-about-journal__description {
    font-size: 1rem;
    line-height: 1.7;
    color: #475569;
    margin-bottom: 1.5rem;
}

.mjt-about-journal__description p {
    margin-bottom: 1rem;
}

.mjt-about-journal__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mjt-about-journal__links a {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #fff;
    border: 1px solid var(--mjt-border);
    border-radius: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mjt-text);
    text-decoration: none;
    transition: all 0.2s ease;
}

.mjt-about-journal__links a:hover {
    border-color: var(--mjt-accent);
    color: var(--mjt-accent);
    background: var(--mjt-accent-soft);
}

/* Button Utilities */
.mjt-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1.5px solid transparent;
    cursor: pointer;
}

.mjt-btn--secondary {
    background: #fff;
    color: var(--mjt-text);
    border-color: var(--mjt-border);
}

.mjt-btn--secondary:hover {
    border-color: var(--mjt-accent);
    color: var(--mjt-accent);
    background: var(--mjt-accent-soft);
}

/* Responsive */
@media (max-width: 600px) {
    .mjt-stats-bar__divider {
        display: none;
    }
    .mjt-stats-bar {
        gap: 1rem;
    }
    .mjt-stats-bar__item {
        padding: 0 0.75rem;
        min-width: 80px;
    }
    .mjt-hero__actions {
        flex-direction: column;
    }
    .mjt-hero__btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .mjt-about-journal__links {
        flex-direction: column;
    }
    .mjt-about-journal__links a {
        text-align: center;
    }
}

/* ===== Editorial Masthead Page ===== */
.mjt-masthead-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.mjt-masthead-page__header {
    text-align: center;
    margin-bottom: 3rem;
}

.mjt-masthead-page__header h1 {
    font-family: var(--mjt-font-sans);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 800;
    margin: 0 0 0.75rem;
    color: #111827;
    letter-spacing: -0.02em;
}

.mjt-masthead-page__intro {
    font-size: 1.05rem;
    color: #6b7280;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.65;
}

.mjt-masthead-section {
    margin-bottom: 3rem;
}

.mjt-masthead-section__title {
    font-family: var(--mjt-font-sans);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mjt-accent);
    margin: 0 0 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mjt-masthead-section__title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 1.2em;
    background: var(--mjt-accent);
    border-radius: 2px;
}

.mjt-masthead-section__description {
    font-size: 0.95rem;
    color: #6b7280;
    margin: -0.75rem 0 1.5rem;
    line-height: 1.5;
}

.mjt-masthead-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .mjt-masthead-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mjt-masthead-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.mjt-masthead-grid--compact {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.mjt-member-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.mjt-member-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--mjt-accent);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.mjt-member-card:hover {
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    transform: translateY(-3px);
    border-color: #d1d5db;
}

.mjt-member-card:hover::before {
    opacity: 1;
}

.mjt-member-card--compact {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1rem;
}

.mjt-member-card--compact::before {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: 3px;
}

.mjt-member-card__photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--mjt-accent-soft, #eef2ff) 0%, #e0e7ff 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e5e7eb;
    transition: border-color 0.25s ease;
}

.mjt-member-card:hover .mjt-member-card__photo {
    border-color: var(--mjt-accent);
}

.mjt-member-card__photo--small {
    width: 64px;
    height: 64px;
}

.mjt-member-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mjt-member-card__initials {
    font-family: var(--mjt-font-sans);
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--mjt-accent);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.mjt-member-card__photo--small .mjt-member-card__initials {
    font-size: 1.2rem;
}

.mjt-member-card__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.mjt-member-card--compact .mjt-member-card__info {
    align-items: center;
}

.mjt-member-card__name {
    font-family: var(--mjt-font-sans);
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.3;
}

.mjt-member-card__affiliation {
    font-size: 0.85rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

.mjt-member-card__email {
    font-size: 0.8rem;
    color: var(--mjt-accent);
    text-decoration: none;
    margin: 0;
    word-break: break-all;
}

.mjt-member-card__email:hover {
    text-decoration: underline;
}

.mjt-member-card__term {
    font-size: 0.75rem;
    color: #9ca3af;
    margin: 0.1rem 0 0;
    font-style: italic;
}

.mjt-member-card__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.6rem;
}

.mjt-member-card--compact .mjt-member-card__social {
    justify-content: center;
}

.mjt-social-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.mjt-social-link svg {
    flex-shrink: 0;
}

.mjt-social-link--orcid {
    background: #f0fdf4;
    color: #15803d;
    border-color: #bbf7d0;
}

.mjt-social-link--orcid:hover {
    background: #15803d;
    color: #fff;
    border-color: #15803d;
}

.mjt-social-link--linkedin {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.mjt-social-link--linkedin:hover {
    background: #1d4ed8;
    color: #fff;
    border-color: #1d4ed8;
}

.mjt-social-link--researchgate {
    background: #fff7ed;
    color: #c2410c;
    border-color: #fed7aa;
}

.mjt-social-link--researchgate:hover {
    background: #c2410c;
    color: #fff;
    border-color: #c2410c;
}

.mjt-social-link--googlescholar {
    background: #fefce8;
    color: #a16207;
    border-color: #fde047;
}

.mjt-social-link--googlescholar:hover {
    background: #a16207;
    color: #fff;
    border-color: #a16207;
}

.mjt-social-link--github {
    background: #f8fafc;
    color: #334155;
    border-color: #cbd5e1;
}

.mjt-social-link--github:hover {
    background: #334155;
    color: #fff;
    border-color: #334155;
}

.mjt-social-link--bluesky {
    background: #eff6ff;
    color: #0ea5e9;
    border-color: #bae6fd;
}

.mjt-social-link--bluesky:hover {
    background: #0ea5e9;
    color: #fff;
    border-color: #0ea5e9;
}

.mjt-social-link--mastodon {
    background: #f5f3ff;
    color: #7c3aed;
    border-color: #c4b5fd;
}

.mjt-social-link--mastodon:hover {
    background: #7c3aed;
    color: #fff;
    border-color: #7c3aed;
}

.mjt-social-link--website {
    background: #f0fdf4;
    color: #059669;
    border-color: #a7f3d0;
}

.mjt-social-link--website:hover {
    background: #059669;
    color: #fff;
    border-color: #059669;
}

.mjt-masthead-page__footer {
    display: flex;
    justify-content: center;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
    margin-top: 1rem;
}

@media (min-width: 640px) {
    .mjt-masthead-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .mjt-masthead-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ===== About Page ===== */
.mjt-about-page {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1.5rem 0.5rem;
}

.mjt-about-page__header {
    text-align: center;
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid var(--mjt-accent);
}

.mjt-about-page__title {
    font-family: var(--mjt-font-serif);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 700;
    color: var(--mjt-text);
    margin: 0 0 0.75rem;
    line-height: 1.2;
}

.mjt-about-page__subtitle {
    font-size: 1.05rem;
    color: var(--mjt-muted);
    line-height: 1.6;
    max-width: 640px;
    margin: 0 auto;
}

.mjt-about-page__layout {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: 1fr;
}

.mjt-about-page__main {
    min-width: 0;
}

.mjt-about-page__content {
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
}

.mjt-about-page__content p {
    margin-bottom: 1.25rem;
}

.mjt-about-page__content h2,
.mjt-about-page__content h3 {
    font-family: var(--mjt-font-serif);
    color: var(--mjt-text);
    margin: 1.75rem 0 0.75rem;
    line-height: 1.3;
}

.mjt-about-page__content h2 {
    font-size: 1.4rem;
}

.mjt-about-page__content h3 {
    font-size: 1.15rem;
}

.mjt-about-page__content ul,
.mjt-about-page__content ol {
    margin-bottom: 1.25rem;
    padding-left: 1.5rem;
}

.mjt-about-page__content li {
    margin-bottom: 0.4rem;
}

.mjt-about-page__sidebar {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.mjt-sidebar-card {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    padding: 1.25rem;
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-sidebar-card h3 {
    font-family: var(--mjt-font-sans);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mjt-text);
    margin: 0 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--mjt-accent);
}

.mjt-info-list {
    margin: 0;
}

.mjt-info-list dt {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--mjt-muted);
    margin-top: 0.75rem;
}

.mjt-info-list dt:first-child {
    margin-top: 0;
}

.mjt-info-list dd {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--mjt-text);
    margin: 0.15rem 0 0;
}

.mjt-info-list dd a {
    color: var(--mjt-accent);
    text-decoration: none;
    font-weight: 600;
}

.mjt-info-list dd a:hover {
    color: var(--mjt-accent-strong);
    text-decoration: underline;
}

.mjt-quick-links {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.mjt-quick-links a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    border-radius: 0.4rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--mjt-text);
    text-decoration: none;
    transition: all 0.2s ease;
}

.mjt-quick-links a svg {
    flex-shrink: 0;
    color: var(--mjt-accent);
}

.mjt-quick-links a:hover {
    background: var(--mjt-accent-soft);
    color: var(--mjt-accent);
}

@media (min-width: 768px) {
    .mjt-about-page__layout {
        grid-template-columns: 2.5fr 1fr;
        gap: 3rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   DONATION PAGE
   ═══════════════════════════════════════════════════════════════════ */

.mjt-donate-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem 4rem;
}

.mjt-donate-page__header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.mjt-donate-page__title {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--mjt-text);
    margin: 0 0 0.75rem;
}

.mjt-donate-page__subtitle {
    font-size: 1.1rem;
    color: var(--mjt-muted);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.mjt-donate-page__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}

@media (min-width: 900px) {
    .mjt-donate-page__layout {
        grid-template-columns: 2fr 1fr;
    }
}

.mjt-donate-page__main {
    min-width: 0;
}

/* ── Steps ────────────────────────────────────────────────────────── */

.mjt-donate-step {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    padding: 2rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-donate-step__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--mjt-accent);
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.mjt-donate-step__title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--mjt-text);
    margin: 0 0 1.25rem;
}

/* ── Amount Buttons ───────────────────────────────────────────────── */

.mjt-donate-amounts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.mjt-donate-amount {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    padding: 0.75rem 1.5rem;
    border: 2px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    background: var(--mjt-surface);
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--mjt-text);
}

.mjt-donate-amount:hover {
    border-color: var(--mjt-accent);
    background: var(--mjt-accent-soft, rgba(29, 78, 216, 0.06));
}

.mjt-donate-amount--selected {
    border-color: var(--mjt-accent);
    background: var(--mjt-accent);
    color: #fff;
}

.mjt-donate-amount--selected .mjt-donate-amount__symbol {
    color: rgba(255,255,255,0.8);
}

.mjt-donate-amount__symbol {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--mjt-muted);
    margin-right: 0.15rem;
}

/* ── Custom Amount Input ──────────────────────────────────────────── */

.mjt-donate-custom {
    margin-top: 0.5rem;
}

.mjt-donate-custom__label {
    display: block;
    font-size: 0.9rem;
    color: var(--mjt-muted);
    margin-bottom: 0.5rem;
}

.mjt-donate-custom__input-wrap {
    display: inline-flex;
    align-items: center;
    border: 2px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    overflow: hidden;
    transition: border-color 0.2s;
}

.mjt-donate-custom__input-wrap:focus-within {
    border-color: var(--mjt-accent);
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.1);
}

.mjt-donate-custom__prefix {
    padding: 0.6rem 0.75rem;
    background: #f3f4f6;
    color: var(--mjt-muted);
    font-weight: 600;
    font-size: 1rem;
    border-right: 1px solid var(--mjt-border);
}

.mjt-donate-custom__input {
    border: none;
    outline: none;
    padding: 0.6rem 1rem;
    font-size: 1rem;
    width: 200px;
    color: var(--mjt-text);
    background: transparent;
}

.mjt-donate-custom__input::-webkit-inner-spin-button,
.mjt-donate-custom__input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

/* ── Gateway Selection Cards ──────────────────────────────────────── */

.mjt-donate-gateways {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.mjt-donate-gateway {
    cursor: pointer;
}

.mjt-donate-gateway__radio {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.mjt-donate-gateway__card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border: 2px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    transition: all 0.2s ease;
    position: relative;
}

.mjt-donate-gateway:hover .mjt-donate-gateway__card {
    border-color: var(--mjt-accent);
}

.mjt-donate-gateway--selected .mjt-donate-gateway__card {
    border-color: var(--mjt-accent);
    background: var(--mjt-accent-soft, rgba(29, 78, 216, 0.06));
}

.mjt-donate-gateway__icon {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mjt-accent);
}

.mjt-donate-gateway--selected .mjt-donate-gateway__icon {
    background: var(--mjt-accent);
    color: #fff;
}

.mjt-donate-gateway__icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.mjt-donate-gateway__info {
    flex: 1;
    min-width: 0;
}

.mjt-donate-gateway__name {
    display: block;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--mjt-text);
}

.mjt-donate-gateway__type {
    display: block;
    font-size: 0.8rem;
    color: var(--mjt-muted);
}

.mjt-donate-gateway__check {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    border: 2px solid var(--mjt-border);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.mjt-donate-gateway__check svg {
    width: 0.75rem;
    height: 0.75rem;
    opacity: 0;
    color: #fff;
}

.mjt-donate-gateway--selected .mjt-donate-gateway__check {
    background: var(--mjt-accent);
    border-color: var(--mjt-accent);
}

.mjt-donate-gateway--selected .mjt-donate-gateway__check svg {
    opacity: 1;
}

/* ── Summary & Submit ─────────────────────────────────────────────── */

.mjt-donate-summary {
    background: #f9fafb;
    border-radius: var(--mjt-radius-md);
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}

.mjt-donate-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 1rem;
}

.mjt-donate-summary__row + .mjt-donate-summary__row {
    border-top: 1px solid var(--mjt-border);
}

.mjt-donate-summary__row span:first-child {
    color: var(--mjt-muted);
}

.mjt-donate-summary__row span:last-child {
    font-weight: 700;
    color: var(--mjt-text);
}

.mjt-donate-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.85rem 2rem;
    background: var(--mjt-accent);
    color: #fff;
    border: none;
    border-radius: var(--mjt-radius-md);
    font-size: 1.05rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.mjt-donate-submit:hover:not(:disabled) {
    background: var(--mjt-accent-strong, #1e40af);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(29, 78, 216, 0.3);
}

.mjt-donate-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.mjt-donate-actions__note {
    margin: 0.75rem 0 0;
    font-size: 0.85rem;
    color: var(--mjt-muted);
}

.mjt-donate-info {
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
    background: #f8fbff;
    border: 1px solid rgba(59, 130, 246, 0.14);
    border-radius: var(--mjt-radius-lg);
    box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.03);
    margin-bottom: 1.5rem;
}

.mjt-donate-info__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.mjt-donate-info__label {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--mjt-text);
}

.mjt-donate-info__input {
    width: 100%;
    min-height: 3rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    background: #fff;
    color: var(--mjt-text);
    font-size: 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.mjt-donate-info__input:focus {
    border-color: var(--mjt-accent);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
    outline: none;
}

.mjt-donate-info__help {
    margin-top: 0.25rem;
    font-size: 0.85rem;
    color: var(--mjt-muted);
}

.mjt-donate-success {
    text-align: center;
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    padding: 2.5rem 2rem;
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-donate-success__icon {
    width: 3rem;
    height: 3rem;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: #d1fae5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mjt-donate-success__icon svg {
    width: 1.3rem;
    height: 1.3rem;
    color: #047857;
}

.mjt-donate-success__title {
    font-size: 1.75rem;
    font-weight: 800;
    color: #047857;
    margin: 0 0 0.75rem;
}

.mjt-donate-success__message {
    max-width: 620px;
    margin: 0 auto 1.5rem;
    color: var(--mjt-muted);
    line-height: 1.75;
    font-size: 1rem;
}

.mjt-donate-success__details {
    text-align: left;
    max-width: 620px;
    margin: 0 auto 1.5rem;
    padding: 1.25rem 1.5rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--mjt-radius-md);
}

.mjt-donate-success__details h3 {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    color: var(--mjt-text);
}

.mjt-donate-success__details dt {
    font-weight: 700;
    color: var(--mjt-text);
    margin-top: 0.85rem;
}

.mjt-donate-success__details dd {
    margin: 0.35rem 0 0;
    color: var(--mjt-muted);
    line-height: 1.6;
}

.mjt-donate-success__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.mjt-donate-success__button {
    padding: 0.85rem 1.5rem;
    border-radius: var(--mjt-radius-md);
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mjt-donate-success__button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

/* ── Empty State ──────────────────────────────────────────────────── */

.mjt-donate-empty {
    text-align: center;
    padding: 2rem 1rem;
    color: var(--mjt-muted);
}

/* ── Instructions Panel ───────────────────────────────────────────── */

.mjt-donate-instructions {
    background: var(--mjt-surface);
    border: 2px solid var(--mjt-accent);
    border-radius: var(--mjt-radius-lg);
    padding: 2rem;
    margin-top: 1.5rem;
}

.mjt-donate-instructions__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--mjt-accent);
    margin: 0 0 1rem;
}

.mjt-donate-instructions__text {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--mjt-text);
    margin-bottom: 1rem;
}

.mjt-donate-instructions__details {
    background: #f9fafb;
    border-radius: var(--mjt-radius-md);
    padding: 1rem 1.25rem;
    margin: 1rem 0;
    font-size: 0.9rem;
    line-height: 1.8;
}

.mjt-donate-instructions__details strong {
    color: var(--mjt-text);
}

.mjt-donate-instructions__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.6rem 1.25rem;
    background: var(--mjt-accent);
    color: #fff;
    text-decoration: none;
    border-radius: var(--mjt-radius-md);
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.2s;
}

.mjt-donate-instructions__link:hover {
    background: var(--mjt-accent-strong, #1e40af);
}

.mjt-donate-instructions__done {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.5rem;
    background: #f3f4f6;
    border: 2px solid var(--mjt-border);
    border-radius: var(--mjt-radius-md);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--mjt-text);
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 0.5rem;
}

.mjt-donate-instructions__done:hover {
    background: var(--mjt-accent-soft, rgba(29, 78, 216, 0.06));
    border-color: var(--mjt-accent);
}

.mjt-donate-instructions__note {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.35rem 0.75rem;
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 500;
}

.mjt-donate-instructions__step {
    margin-top: 0.5rem;
    padding: 0.6rem 0.8rem;
    background: var(--mjt-surface);
    border-left: 3px solid var(--mjt-accent);
    border-radius: 0 4px 4px 0;
    font-size: 0.88rem;
    line-height: 1.5;
}

/* ── Thank You Panel ──────────────────────────────────────────────── */

.mjt-donate-thankyou {
    text-align: center;
    padding: 3rem 2rem;
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-donate-thankyou__icon {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #ecfdf5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.mjt-donate-thankyou__icon svg {
    width: 2rem;
    height: 2rem;
    color: #059669;
}

.mjt-donate-thankyou__title {
    font-size: 1.75rem;
    font-weight: 800;
    color: #059669;
    margin: 0 0 0.75rem;
}

.mjt-donate-thankyou__message {
    font-size: 1.05rem;
    color: var(--mjt-muted);
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Sidebar Cards ───────────────────────────────────────────────── */

.mjt-donate-sidebar-card {
    background: var(--mjt-surface);
    border: 1px solid var(--mjt-border);
    border-radius: var(--mjt-radius-lg);
    padding: 1.5rem;
    margin-bottom: 1.25rem;
    box-shadow: var(--mjt-shadow-sm);
}

.mjt-donate-sidebar-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--mjt-text);
    margin: 0 0 0.75rem;
}

.mjt-donate-sidebar-card p {
    font-size: 0.9rem;
    color: var(--mjt-muted);
    line-height: 1.6;
    margin: 0 0 0.5rem;
}

.mjt-donate-sidebar-card ul {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

.mjt-donate-sidebar-card li {
    font-size: 0.9rem;
    color: var(--mjt-muted);
    line-height: 1.7;
}

/* ── Responsive ──────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .mjt-donate-page__title {
        font-size: 1.75rem;
    }

    .mjt-donate-amounts {
        gap: 0.5rem;
    }

    .mjt-donate-amount {
        padding: 0.6rem 1rem;
        font-size: 1rem;
    }

    .mjt-donate-gateways {
        grid-template-columns: 1fr;
    }

    .mjt-donate-step {
        padding: 1.25rem;
    }
}

/* ── Donate Nav Button ────────────────────────────────────────────── */

.mjt-donate-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.4rem 1rem;
    background: var(--mjt-accent);
    color: #fff;
    border-radius: var(--mjt-radius-md);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}

.mjt-donate-nav-btn:hover {
    background: var(--mjt-accent-strong, #1e40af);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(29, 78, 216, 0.25);
}

/* ═══════════════════════════════════════════════════════════════════
   DONATION REPORT PAGE (Admin)
   ═══════════════════════════════════════════════════════════════════ */

.mjt-report-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.mjt-report-page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.mjt-report-page__title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--mjt-text);
    margin: 0;
}

.mjt-report-page__back {
    color: var(--mjt-accent);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
}

.mjt-report-page__back:hover {
    text-decoration: underline;
}

/* Stats Cards */

.mjt-report-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.mjt-report-stat-card {
    background: #fff;
    border: 1px solid var(--mjt-border);
    border-radius: 8px;
    padding: 1.25rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.mjt-report-stat-card__value {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #059669;
    margin-bottom: 0.25rem;
}

.mjt-report-stat-card--pending .mjt-report-stat-card__value {
    color: #d97706;
}

.mjt-report-stat-card__label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--mjt-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Filters */

.mjt-report-filters {
    background: #fff;
    border: 1px solid var(--mjt-border);
    border-radius: 8px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.mjt-report-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-end;
}

.mjt-report-filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.mjt-report-filter-group label {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--mjt-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.mjt-report-filter-group select,
.mjt-report-filter-group input[type="date"] {
    padding: 0.45rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 0.88rem;
    color: #111827;
}

.mjt-report-filter-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1.1rem;
    border-radius: 5px;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    border: none;
    background: var(--mjt-accent);
    color: #fff;
    transition: background 0.2s;
}

.mjt-report-filter-btn:hover {
    background: var(--mjt-accent-strong, #1e40af);
    color: #fff;
}

.mjt-report-filter-btn--reset {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.mjt-report-filter-btn--reset:hover {
    background: #e5e7eb;
}

/* Table */

.mjt-report-table-wrap {
    overflow-x: auto;
}

.mjt-report-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.mjt-report-table th {
    background: #f9fafb;
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--mjt-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 2px solid #e5e7eb;
}

.mjt-report-table td {
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

.mjt-report-table tbody tr:hover {
    background: #f9fafb;
}

.mjt-report-amount {
    font-weight: 700;
    color: #059669;
}

/* Status Badges */

.mjt-report-status {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: capitalize;
}

.mjt-report-status--pending {
    background: #fef3c7;
    color: #92400e;
}

.mjt-report-status--completed {
    background: #d1fae5;
    color: #065f46;
}

.mjt-report-status--failed {
    background: #fee2e2;
    color: #991b1b;
}

.mjt-report-status--refunded {
    background: #e5e7eb;
    color: #374151;
}

/* Gateway Badges */

.mjt-report-gateway-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 600;
    background: #eff6ff;
    color: #1d4ed8;
}

/* Empty State */

.mjt-report-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--mjt-muted);
    font-size: 0.95rem;
}

/* Pagination */

.mjt-report-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1rem 0;
}

.mjt-report-page-link {
    padding: 0.45rem 1rem;
    background: var(--mjt-accent);
    color: #fff;
    border-radius: 5px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.mjt-report-page-link:hover {
    background: var(--mjt-accent-strong, #1e40af);
    color: #fff;
}

.mjt-report-page-info {
    font-size: 0.88rem;
    color: var(--mjt-muted);
    font-weight: 600;
}

@media (max-width: 640px) {
    .mjt-journal-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .mjt-journal-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .mjt-journal-card__thumb {
        width: 100%;
        max-width: 180px;
    }

    .mjt-report-stats {
        grid-template-columns: 1fr 1fr;
    }
    .mjt-report-filter-row {
        flex-direction: column;
    }
    .mjt-report-page__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* Report Header Actions */

.mjt-report-page__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.mjt-report-page__export {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    background: #059669;
    color: #fff;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.mjt-report-page__export:hover {
    background: #047857;
    color: #fff;
    text-decoration: none;
}

/* Report Actions Column */

.mjt-report-actions {
    white-space: nowrap;
}

.mjt-report-status-select {
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--mjt-border);
    border-radius: 4px;
    font-size: 0.78rem;
    color: var(--mjt-text);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s;
}

.mjt-report-status-select:hover {
    border-color: var(--mjt-accent);
}

.mjt-report-status-select:focus {
    outline: 2px solid var(--mjt-accent);
    outline-offset: 1px;
}

/* Publisher home directory */
.mjt-site-home {
    max-width: 1500px;
    margin: 0 auto;
    padding: 2.5rem 1.75rem 3.5rem;
    background: #f8fafc;
}

.mjt-site-masthead {
    margin: 0 auto 2.5rem;
    max-width: 1120px;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
    border-radius: 2rem;
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.14), rgba(255, 255, 255, 0.98));
    border: 1px solid rgba(148, 163, 184, 0.2);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.08);
}

.mjt-site-masthead h1 {
    margin: 0 0 1rem;
    color: #0f172a;
    font-family: var(--mjt-font-sans);
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: 900;
    line-height: 1.03;
}

.mjt-site-description,
.mjt-site-description p {
    max-width: 860px;
    margin: 0;
    color: #334155;
    font-size: 1.05rem;
    line-height: 1.85;
}

.mjt-site-journals {
    max-width: 1220px;
    margin: 0 auto;
    padding: 1.75rem 0 3rem;
}

.mjt-site-intro {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto 2.5rem;
    padding: 0 1.75rem;
}

.mjt-site-intro__header {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.mjt-site-intro__header h1 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #0f172a;
    line-height: 1.05;
    padding: 0;
    border: none;
    white-space: nowrap;
}

.mjt-site-intro__header::after {
    content: '';
    width: 100%;
    height: 1px;
    background: rgba(148, 163, 184, 0.25);
}

.mjt-site-intro__description {
    margin: 1.25rem 0 0;
    color: #475569;
    font-size: 1rem;
    line-height: 1.8;
    max-width: none;
    width: 100%;
}

.mjt-journal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(360px, 1fr));
    gap: 4rem;
    grid-auto-rows: minmax(min-content, max-content);
    align-items: start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mjt-journal-grid li {
    width: 100%;
    margin-bottom: 1.25rem;
}

.mjt-journal-card {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 1.5rem;
    min-height: 260px;
    width: 100%;
    max-width: 100%;
    padding: 1.6rem;
    border-radius: 1.5rem;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.14);
    transition: border-color 0.25s ease;
    overflow: hidden;
}

.mjt-journal-card .mjt-journal-card__body {
    min-width: 0;
    width: 100%;
}

.mjt-journal-card:hover {
    border-color: rgba(37, 99, 235, 0.24);
}

.mjt-journal-card:not(.has-thumb) {
    grid-template-columns: minmax(0, 1fr);
}

.mjt-journal-card__thumb {
    width: 130px;
    height: 180px;
    min-width: 130px;
    border-radius: 1.25rem;
    border: none;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mjt-journal-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mjt-journal-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.85rem;
}

.mjt-journal-card__body h3 {
    margin: 0;
    color: #0f172a;
    font-family: var(--mjt-font-sans);
    font-size: 1.15rem;
    line-height: 1.2;
}

.mjt-journal-card__body h3 a {
    color: #0f172a;
    text-decoration: none;
}

.mjt-journal-card__body h3 a:hover {
    color: #2563eb;
    text-decoration: underline;
}

.mjt-journal-card__body p {
    margin: 0;
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.7;
}

.mjt-journal-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 0.75rem;
}

.mjt-journal-card__links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent;
    color: #2563eb;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.mjt-journal-card__links a:hover {
    color: #0f172a;
    text-decoration: underline;
}

.mjt-login-context,
.mjt-register-context {
    margin: 0.75rem 0 1rem;
    padding: 0.85rem 1rem;
    border-left: 4px solid #1d4ed8;
    background: rgba(59, 130, 246, 0.08);
    color: #0f172a;
    font-size: 0.98rem;
    border-radius: var(--mjt-radius-sm);
}

.mjt-journal-card__body p {
    color: #111827;
    font-size: 1rem;
    line-height: 1.42;
}

.mjt-journal-card__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 1.45rem;
}

.mjt-journal-card__links a {
    min-height: auto;
    padding: 0 0.85rem;
    border: 0;
    border-right: 1px solid #d1d5db;
    border-radius: 0;
    background: transparent;
    color: #005eb8;
    font-size: 1rem;
    font-weight: 700;
}

.mjt-journal-card__links a:first-child {
    padding-left: 0;
}

.mjt-journal-card__links a:last-child {
    border-right: 0;
}

.mjt-journal-card__links a:hover {
    background: transparent;
    color: #003f7d;
    text-decoration: underline;
}

@media (max-width: 980px) {
    .mjt-journal-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .mjt-journal-card,
    .mjt-journal-card:not(.has-thumb),
    .mjt-journal-card:nth-child(even) {
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
        padding: 0 0 1.75rem;
        margin-bottom: 1.75rem;
    }
}

@media (max-width: 640px) {
    .mjt-site-masthead h1 {
        font-size: 1.25rem;
    }

    .mjt-journal-card,
    .mjt-journal-card:not(.has-thumb) {
        grid-template-columns: minmax(0, 1fr);
    }

    .mjt-journal-card__thumb {
        width: min(100%, 210px);
        height: 270px;
    }

    .mjt-journal-card__body h3 {
        margin-top: 0;
        font-size: 1.55rem;
    }
}
