/* ============================================
   UO Journals Supplemental Stylesheet
   ============================================ */

/* === TYPEKIT FONT IMPORT === */
@import url("https://use.typekit.net/epr2cuc.css");

/* === UO BRAND COLORS === */
:root {
  --uo-green: #007030;
  --uo-yellow: #FEE11A;
  --uo-legacy-green: #104735;
  --uo-dark-gray: #4D5859;
  --uo-medium-gray: #A2AAAD;
  --uo-light-gray: #D8DCDA;
}

/* === FONT SMOOTHING === */
h1, h2, h3, h4, h5, h6, .pkp_structure_main h3, .main-header__title span, html, body, p, div, li, ul, ol, a, span, nav, section, article, aside, footer {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* === FONT FAMILIES === */
body, p, li, blockquote, cite, dd, dt, address, table, label, a, .form-control, .btn, .archived-issue__title, .issue-section__title {
    font-family: "source-sans-pro", sans-serif !important;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6, legend {
    font-family: "source-sans-pro", sans-serif !important;
    line-height: 1.3;
    color: var(--uo-green);
    margin-top: 1.5em;
    margin-bottom: 0.75em;
    font-weight: 700;
}

h1 {
    font-size: 2.25rem;
}

h2 {
    font-size: 1.875rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

h5, h6 {
    font-size: 1.125rem;
}

/* Strong/bold text */
strong, b {
    font-weight: 700;
}

/* Emphasis/italic text */
em, i {
    font-style: italic;
}

/* === FULL-WIDTH HEADER === */
.pkp_structure_head,
.main-header {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    border-bottom: 3px solid var(--uo-green);
    margin-bottom: 2rem;
}

/* === HEADER === */
.main-header__title span {
    font-size: 2.2rem;
    color: var(--uo-green);
    font-weight: 700;
}

.main-header__nav-link {
    font-weight: 400;
    font-size: 1.25rem;
    color: var(--uo-green);
    transition: color 0.2s ease;
}

.main-header__nav-link:hover,
.main-header__nav-link:focus {
    color: var(--uo-legacy-green);
}

.pkp_site_name,
.pkp_site_name a {
    color: var(--uo-green);
    font-weight: 700;
}

/* User menu in upper right - more spacing */
.pkp_navigation_user,
.pkp_navigation_user_wrapper,
.main-header__admin,
[class*="user-nav"],
[class*="userNav"] {
    padding-left: 1.5rem;
    margin-left: 1.5rem;
}

/* === LINKS === */
a {
    color: var(--uo-green);
    font-weight: 700;
    transition: color 0.2s ease;
}

a:hover,
a:focus {
    color: var(--uo-legacy-green);
    text-decoration: underline;
}

/* === BUTTONS === */
.pkp_button,
.btn,
button,
input[type="submit"] {
    background-color: var(--uo-green);
    color: #fff;
    border: 2px solid var(--uo-green);
    padding: 0.75rem 1.5rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    font-family: "source-sans-pro", sans-serif;
}

.pkp_button:hover,
.btn:hover,
button:hover,
input[type="submit"]:hover {
    background-color: var(--uo-legacy-green);
    border-color: var(--uo-legacy-green);
    color: #fff;
    text-decoration: none;
}

/* === LAYOUT === */
.pkp_structure_main,
.pkp_page_index {
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.page_index_site {
    margin-bottom: 3rem;
}

.inline.pkp_helpers_quarter {
    display: none;
}

/* === FULL-WIDTH FOOTER === */
footer,
.pkp_structure_footer {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    margin-top: 4rem;
    border-top: 3px solid var(--uo-green);
}

/* Container for footer content */

footer a {
    color: #fff;
    text-decoration: none;
}

footer a:hover,
footer a:focus {
    color: var(--uo-yellow);
    text-decoration: underline;
}

/* === ACCESSIBILITY === */
.pkp_screen_reader {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.pkp_screen_reader:focus {
    position: static;
    width: auto;
    height: auto;
    background-color: var(--uo-yellow);
    color: var(--uo-green);
    padding: 0.5rem 1rem;
    text-decoration: underline;
}

*:focus {
    outline: 2px solid var(--uo-green);
    outline-offset: 2px;
}

/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 768px) {
    h1 {
        font-size: 1.875rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .main-header__title span {
        font-size: 1.8rem;
    }
    
    .main-header__nav-link {
        font-size: 1.125rem;
    }
    
    .pkp_structure_main,
    .pkp_page_index {
        padding: 1rem;
    }
    
    /* Adjust user menu spacing on mobile */
    .pkp_navigation_user,
    .pkp_navigation_user_wrapper,
    .main-header__admin,
    [class*="user-nav"],
    [class*="userNav"] {
        padding-left: 1rem;
        margin-left: 1rem;
    }
}