/* Secondary public documents only. Never registered in native OJS workspaces. */
.ephocs_public_page .pkp_structure_main :is(.page_contact, .page_privacy, .page_information, .page_about_publishing_system, .page_announcement, .ephocs_profile_page) {
    min-width: 0;
    color: var(--ephocs-ink);
    font-size: var(--ephocs-text-body);
    line-height: var(--ephocs-leading-body);
    overflow-wrap: anywhere;
}
.ephocs_public_page .pkp_structure_main :is(.page_contact, .page_privacy, .page_information, .page_about_publishing_system, .page_announcement, .ephocs_profile_page) h1 {
    margin: 0 0 1.5rem;
    font-size: var(--ephocs-text-h1);
    line-height: var(--ephocs-leading-heading);
    font-weight: 500;
    letter-spacing: -.025em;
}
.ephocs_public_page .pkp_structure_main :is(.page_privacy, .page_information, .page_about_publishing_system, .page_announcement, .page_catalog_category) :is(p, li),
.ephocs_public_page.pkp_page_pages .pkp_structure_main > .page :is(p, li) {
    max-width: var(--ephocs-prose-max);
    font-size: var(--ephocs-text-body);
    line-height: var(--ephocs-leading-body);
}
.ephocs_public_page .pkp_structure_main :is(.page_privacy, .page_information, .page_about_publishing_system, .page_announcement) :is(h2, h3),
.ephocs_public_page.pkp_page_pages .pkp_structure_main > .page :is(h2, h3) {
    margin: 2.5rem 0 1rem;
    font-weight: 500;
}
.ephocs_public_page .pkp_structure_main :is(.page_privacy, .page_information, .page_about_publishing_system, .page_announcement) :is(img, iframe),
.ephocs_public_page.pkp_page_pages .pkp_structure_main > .page img {
    max-width: 100%;
}
.ephocs_public_page .pkp_structure_main :is(.page_privacy, .page_information, .page_announcement) table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.ephocs_public_page.pkp_page_pages .pkp_structure_main > .page > h2:first-child {
    margin-top: 0;
    font-size: var(--ephocs-text-h1);
}

/* Native contact data, with optional blocks left optional. */
.ephocs_public_page .page_contact .contact_section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    gap: 1.5rem;
    width: 100%;
    margin: 0;
    padding: 0;
}
.ephocs_public_page .page_contact .contact_section::before,
.ephocs_public_page .page_contact .contact_section::after { content: none; }
.ephocs_public_page .page_contact .contact_section > div {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: var(--ephocs-panel-padding);
    border: 1px solid var(--ephocs-line);
    border-radius: var(--ephocs-card-radius);
    background: var(--ephocs-wash);
}
.ephocs_public_page .page_contact .contact_section > .address { grid-column: 1 / -1; }
.ephocs_public_page .page_contact .contact_section > .contact:only-child { max-width: var(--ephocs-form-max); }
.ephocs_public_page .page_contact .contact h2 { margin: 0 0 1rem; font-size: var(--ephocs-text-h3); }
.ephocs_public_page .page_contact .contact :is(.name, .title, .affiliation, .phone, .email) {
    font-size: var(--ephocs-text-body);
    line-height: var(--ephocs-leading-body);
}
.ephocs_public_page .page_contact .contact .name { font-weight: 600; }
.ephocs_public_page .page_contact .contact .label { font-size: var(--ephocs-text-meta); }
.ephocs_public_page .page_contact .contact .email a { display: inline-flex; align-items: center; min-height: var(--ephocs-control-height); }

/* Facts and metrics consume shared roles without changing provenance or values. */
.ephocs_public_page .pkp_structure_main > .ephocs_profile_page { max-width: none; margin: 0; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_journal { max-width: var(--ephocs-prose-max); color: var(--ephocs-muted); }
.ephocs_public_page .ephocs_profile_page > section { padding: 2rem 0; border-color: var(--ephocs-line); }
.ephocs_public_page .ephocs_profile_page section > h2 { margin: 0 0 1.25rem; font-size: var(--ephocs-text-h2); font-weight: 500; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_facts { gap: 1rem; margin: 0 0 1rem; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_facts > div {
    padding: 1rem 1.25rem;
    border: 1px solid var(--ephocs-line);
    border-radius: var(--ephocs-card-radius);
    background: var(--ephocs-wash);
}
.ephocs_public_page .ephocs_profile_page .ephocs_profile_facts dt,
.ephocs_public_page .ephocs_profile_page small { color: var(--ephocs-muted); font-size: var(--ephocs-text-meta); line-height: 1.65; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_facts dd { margin-top: .5rem; font-size: var(--ephocs-text-body); }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_list,
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_list > li,
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics > div {
    min-width: 0;
    margin: 0;
    padding: var(--ephocs-panel-padding);
    border: 1px solid var(--ephocs-line);
    border-radius: var(--ephocs-card-radius);
    background: var(--ephocs-paper);
}
.ephocs_public_page .ephocs_profile_page .ephocs_profile_list h3 { margin: 0 0 .75rem; font-size: var(--ephocs-text-h3); }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_list p,
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics dd p { max-width: var(--ephocs-prose-max); font-size: var(--ephocs-text-meta); line-height: 1.7; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics dt { font-size: var(--ephocs-text-control); }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics dd { margin: .75rem 0 0; }
.ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics dd > strong { color: var(--ephocs-teal-900); font-size: var(--ephocs-text-h3); }
.ephocs_public_page .ephocs_profile_page section > p { max-width: var(--ephocs-prose-max); }

/* Native announcement summaries and detail pages retain their destinations. */
.ephocs_public_page .page_announcements .obj_announcement_summary { border-color: var(--ephocs-line); border-radius: var(--ephocs-card-radius); }
.ephocs_public_page .page_announcements .obj_announcement_summary h2 { font-size: var(--ephocs-text-h3); line-height: 1.3; }
.ephocs_public_page :is(.page_announcements, .page_announcement) .date { color: var(--ephocs-muted); font-size: var(--ephocs-text-meta); line-height: 1.65; }
.ephocs_public_page .page_announcements .obj_announcement_summary .summary { max-width: var(--ephocs-prose-max); font-size: var(--ephocs-text-body); line-height: var(--ephocs-leading-body); }
.ephocs_public_page .page_announcements .obj_announcement_summary .read_more { min-height: var(--ephocs-control-height); font-size: var(--ephocs-text-control); }
.ephocs_public_page .page_announcement .obj_announcement_full .description { margin-top: 1.5rem; }
.ephocs_public_page .page_announcement .obj_announcement_full_image { height: auto; border-radius: var(--ephocs-card-radius); }

/* Public editorial listings are not the editorial workspace. */
.ephocs_public_page .page_masthead .user_listing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    gap: 1rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}
.ephocs_public_page .page_masthead .user_listing > li {
    min-width: 0;
    padding: 1.25rem;
    border: 1px solid var(--ephocs-line);
    border-radius: var(--ephocs-card-radius);
    background: var(--ephocs-wash);
    overflow-wrap: anywhere;
}
.ephocs_public_page .page_masthead .user_listing .name { display: block; font-size: var(--ephocs-text-body); font-weight: 600; }
.ephocs_public_page .page_masthead .user_listing :is(.affiliation, .date_start) { display: block; color: var(--ephocs-muted); font-size: var(--ephocs-text-meta); line-height: 1.65; }
.ephocs_public_page .page_masthead > p a { min-height: var(--ephocs-control-height); font-size: var(--ephocs-text-control); }

/* Public account forms and messages. No backend profile/password views. */
.ephocs_public_page :is(.page_login, .page_register, .page_lost_password, .page_unsubscribe_notifications) .cmp_form { min-width: 0; max-width: var(--ephocs-form-max); }
.ephocs_public_page :is(.page_login, .page_register, .page_lost_password, .page_unsubscribe_notifications) .cmp_form label { font-size: var(--ephocs-text-control); }
.ephocs_public_page .cmp_form :is(input, select, textarea) { max-width: 100%; accent-color: var(--ephocs-teal-700); }
.ephocs_public_page :is(.page_login, .page_register, .page_lost_password, .page_unsubscribe_notifications) label:has(input[type=checkbox]) {
    display: block;
    position: relative;
    min-height: var(--ephocs-control-height);
    padding: .5rem 0 .5rem 2rem;
    box-sizing: border-box;
}
.ephocs_public_page :is(.page_login, .page_register, .page_lost_password, .page_unsubscribe_notifications) label > input[type=checkbox] { position: absolute; top: .75rem; left: 0; width: 1.125rem; height: 1.125rem; margin: 0; }
.ephocs_public_page .cmp_notification { border-radius: var(--ephocs-input-radius); line-height: var(--ephocs-leading-body); }
.ephocs_public_page .cmp_form_errors { padding: 1rem 1.25rem; border-radius: var(--ephocs-input-radius); }
.ephocs_public_page .pkp_structure_main :is(.page_message, .page_error, .page_register_complete, .page_unsubscribe_notifications, .user_confirm_activation) {
    max-width: var(--ephocs-prose-max);
    font-size: var(--ephocs-text-body);
    line-height: var(--ephocs-leading-body);
    overflow-wrap: anywhere;
}
.ephocs_public_page .registration_complete_actions { display: grid; gap: .75rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.ephocs_public_page :is(.registration_complete_actions, .cmp_back_link, .user_confirm_activation) a {
    display: inline-flex;
    align-items: center;
    min-height: var(--ephocs-control-height);
    padding: .625rem 1rem;
    border: 1px solid var(--ephocs-line);
    border-radius: var(--ephocs-input-radius);
    color: var(--ephocs-teal-700);
    background: var(--ephocs-wash);
    font-size: var(--ephocs-text-control);
    line-height: 1.5;
    box-sizing: border-box;
}
.ephocs_public_page .cmp_pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 2rem; font-size: var(--ephocs-text-meta); }
.ephocs_public_page .cmp_pagination a { display: inline-flex; align-items: center; min-height: var(--ephocs-control-height); padding: .5rem 1rem; border: 1px solid var(--ephocs-line); border-radius: var(--ephocs-input-radius); font-size: var(--ephocs-text-control); }

/* A real 404 with public navigation and useful, non-disclosing recovery paths. */
.ephocs_public_page .pkp_structure_content .pkp_structure_main:has(> .ephocs_not_found) { width: var(--ephocs-content-width); max-width: var(--ephocs-content-max); margin-inline: auto; padding-block: var(--ephocs-space-section); }
.ephocs_public_page .ephocs_not_found { padding-block: 1rem 3rem; }
.ephocs_public_page .ephocs_error_code { margin: 0 0 1rem; color: var(--ephocs-muted); font-size: var(--ephocs-text-meta); letter-spacing: .12em; }
.ephocs_public_page .ephocs_error_actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.ephocs_public_page .ephocs_error_actions a { display: inline-flex; align-items: center; min-height: var(--ephocs-control-height); padding: .5rem 1rem; border: 1px solid var(--ephocs-teal-700); border-radius: var(--ephocs-input-radius); color: var(--ephocs-teal-700); font-size: var(--ephocs-text-control); text-decoration: none; box-sizing: border-box; }
.ephocs_public_page .ephocs_error_actions a:first-child { color: var(--ephocs-paper); background: var(--ephocs-teal-700); }
.ephocs_public_page .ephocs_error_actions a:hover { text-decoration: underline; text-underline-offset: .2em; }

/* Researcher-facing pages share the Community band and public content grid. */
.ephocs_public_page .pkp_structure_main:has(> :is(.page_researcher_profile, .page_ephocs_researcher_settings)) { width: 100%; max-width: none; padding-top: 0; }
.ephocs_public_page :is(.ephocs_researcher_profile, .ephocs_researcher_settings) { max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
.ephocs_public_page :is(.ephocs_researcher_profile_header, .ephocs_researcher_settings_header) {
    padding: 3rem max(var(--ephocs-gutter), calc((100% - var(--ephocs-content-max)) / 2));
    color: var(--ephocs-paper);
    background: var(--ephocs-teal-900);
}
.ephocs_public_page :is(.ephocs_researcher_profile_header, .ephocs_researcher_settings_header) h1 { color: inherit; font-size: var(--ephocs-text-h1); line-height: var(--ephocs-leading-heading); }
.ephocs_public_page :is(.ephocs_researcher_profile_header, .ephocs_researcher_settings_header) p { max-width: var(--ephocs-prose-max); }
.ephocs_public_page :is(.ephocs_researcher_facts, .ephocs_researcher_section, .ephocs_researcher_profile_footer, .ephocs_researcher_settings_section, .ephocs_researcher_settings_footer) {
    width: var(--ephocs-content-width);
    max-width: var(--ephocs-content-max);
    margin-inline: auto;
    padding: 2rem 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.ephocs_public_page .ephocs_researcher_facts { padding: 1.5rem; border-radius: var(--ephocs-card-radius); margin-block: 2rem; }
.ephocs_public_page .ephocs_researcher_section h2 { font-size: var(--ephocs-text-h2); }
.ephocs_public_page .ephocs_researcher_publications li { border-color: var(--ephocs-line); border-radius: var(--ephocs-card-radius); }
.ephocs_public_page .ephocs_researcher_publications a { font-size: var(--ephocs-text-h3); }
.ephocs_public_page .ephocs_researcher_settings label { border-color: var(--ephocs-line); border-radius: var(--ephocs-card-radius); font-size: var(--ephocs-text-control); }
.ephocs_public_page .ephocs_researcher_settings label small { font-size: var(--ephocs-text-meta); }
.ephocs_public_page .ephocs_researcher_settings button,
.ephocs_public_page .ephocs_researcher_settings_link { border-radius: var(--ephocs-input-radius); background: var(--ephocs-teal-700); }
.ephocs_public_page .ephocs_researcher_settings_footer code { font-size: var(--ephocs-text-meta); overflow-wrap: anywhere; }
.ephocs_public_page .ephocs_researcher_settings_notice { width: var(--ephocs-content-width); max-width: var(--ephocs-content-max); margin: 1.5rem auto; box-sizing: border-box; }

@media (min-width: 992px) {
    .ephocs_public_page .ephocs_profile_page .ephocs_profile_list,
    .ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .ephocs_public_page :is(.ephocs_researcher_profile_header, .ephocs_researcher_settings_header) { padding-block: 2.25rem; }
    .ephocs_public_page .page_contact .contact_section > div,
    .ephocs_public_page .ephocs_profile_page .ephocs_profile_list > li,
    .ephocs_public_page .ephocs_profile_page .ephocs_profile_metrics > div { padding: 1.25rem; }
}
