/* ════════════════════════════════════════════════════════
   1. GLOBAL FRAMEWORK & SIDEBAR REMOVAL (DO NOT REMOVE)
   ════════════════════════════════════════════════════════ */

/* Hide sidebar completely */
.pkp_structure_sidebar {
    display: none !important;
}

/* Expand main content */
.pkp_structure_main {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    border: none !important;
    border-right: none !important;
    border-left: none !important;
    box-shadow: none !important;
    padding-right: 0 !important;
}

/* Target the actual line — OJS renders this as a right border on the main column */
.has_sidebar .pkp_structure_main {
    border-right: none !important;
    padding-right: 0 !important;
}

/* Nuke pseudo-elements on everything in the chain */
.pkp_structure_content::before,
.pkp_structure_content::after,
.pkp_structure_main::before,
.pkp_structure_main::after,
.pkp_structure_page::before,
.pkp_structure_page::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* OJS sometimes uses background-image on the content wrapper to draw the line */
.pkp_structure_content,
.pkp_structure_page {
    background-image: none !important;
    background: none !important;
    border: none !important;
}

/* Load Yale-inspired web font bundles */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Forum&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ════════════════════════════════════════════════════════
   2. YALE LAW JOURNAL TYPOGRAPHY LAYOUT ENGINE
   ════════════════════════════════════════════════════════ */

/* --- Main Page Titles (Signature Blue Headings) --- */
h1, 
.page-title, 
.pkp_structure_page h1, 
.page_issue .issue_view .heading h1, 
.page .heading h1, 
.heading h1,
h1.page_title,
.page_about h1,
.page_submissions h1,
.page_archive h1,
.pkp_page_about h1 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 34px !important;
    font-weight: 400 !important;
    color: #1F4382 !important;       /* Signature Blue */
    letter-spacing: 0.5px !important;
    text-transform: none !important; 
    text-align: center !important;   /* Always perfectly center-aligned */
    margin: 20px auto 35px auto !important;
    display: block !important;
}

/* --- Slate Headings & Subtitles --- */
h2, 
.page h2,
.ui-tabs-panel h2,
.page h3,
.page_submissions h2,
.page_submissions h3,
.page_about h2,
.page_about h3,
.pkp_page_about h2,
.pkp_page_about h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;            
    font-weight: 700 !important;           
    text-transform: uppercase !important; 
    letter-spacing: 0.18em !important;   
    color: #334155 !important;           
    text-align: left !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
    display: block !important;
    border: none !important;
}

/* --- Body Text & Paragraphs --- */
p, .slide-text, .page p, .page li, .page div, .page span, .ui-tabs-panel p, .ui-tabs-panel li {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 16.5px !important;
    font-weight: 400 !important;
    color: #334155 !important; 
    line-height: 1.65 !important;
}

/* Ensure list hierarchies on informational pages match cleanly */
.page ul, .page ol {
    margin-bottom: 15px !important;
    padding-left: 20px !important;
}

/* ════════════════════════════════════════════════════════
   3. SUBMISSIONS & TEXT JUSTIFICATION SYSTEM
   ════════════════════════════════════════════════════════ */

/* Fully targets and forces text justification across the Submissions page path */
.page_submissions,
.page_submissions .page,
.page_submissions .page *,
.page_about,
.page_about .page,
.page_about .page *,
.pkp_page_about,
.pkp_page_about .page,
.pkp_page_about .page *,
.pkp_page_about p,
.pkp_page_about li,
.pkp_page_about div,
.pkp_page_about span,
#submissionGuidelines,
#submissionGuidelines *,
.submission_regulations,
.submission_regulations * {
    text-align: justify !important;
    text-justify: inter-word !important;
}

/* Keep structural abstract text justified cleanly on landing sheets */
.page_article .item.abstract,
.page_article .item.abstract p,
.obj_article_details .item.abstract,
.obj_article_details .abstract p,
.article-abstract,
.abstract-content {
    text-align: justify !important;
    text-justify: inter-word !important;
}

/* ════════════════════════════════════════════════════════
   4. EDITORIAL BOARDS & MASTHEAD ALIGNMENT ENGINE
   ════════════════════════════════════════════════════════ */

/* Total absolute center alignment across all masthead elements with zero exceptions */
.pkp_page_editorial-boards .page,
.pkp_page_editorial-boards .page *,
.pkp_page_editorial-masthead .page,
.pkp_page_editorial-masthead .page * {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    list-style-position: inside !important;
    list-style-type: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ensure block elements on masthead layout cleanly without stretching */
.pkp_page_editorial-masthead .page p,
.pkp_page_editorial-boards .page p {
    text-align: center !important;
    max-width: 820px !important;
    display: block !important;
}

/* Clean structural table normalization for lists formatted as cells */
.pkp_page_editorial-masthead table,
.pkp_page_editorial-boards table,
.pkp_page_editorial-masthead td,
.pkp_page_editorial-boards td {
    text-align: center !important;
    width: auto !important;
    border: none !important;
}

/* ════════════════════════════════════════════════════════
   5. ARCHIVES INDEX PAGE CENTER ENGINE
   ════════════════════════════════════════════════════════ */

/* Secure absolute clean center formatting for total issue list grid frameworks */
.page_archive .issues_list,
.page_archive .obj_issue_summary,
.page_archive .issues_list > ul,
.page_archive .issues_list li {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 800px !important;
    border: none !important;
    box-shadow: none !important;
    list-style-type: none !important;
}

.page_archive .obj_issue_summary {
    margin-bottom: 35px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    width: 100% !important;
}

.page_archive .obj_issue_summary .title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1F4382 !important; 
    text-decoration: none !important;
    text-align: center !important;
    display: block !important;
}

.page_archive .obj_issue_summary .series,
.page_archive .obj_issue_summary .description {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 16px !important;
    color: #475569 !important;
    text-align: center !important;
    margin-top: 5px !important;
    display: block !important;
}

/* Hide bulky covers on clean archive listing arrays */
.page_archive .obj_issue_summary .cover {
    display: none !important;
}

/* ════════════════════════════════════════════════════════
   6. HOMEPAGE SPECIFIC STRUCTURAL CONFIGURATIONS
   ════════════════════════════════════════════════════════ */

/* Permanent removal of the static "Current Issue" text header from the homepage view layout */
.pkp_page_index #homepageCurrentIssueTitle {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Permanent removal of the legacy double-line container wrapper structure from the homepage */
.pkp_page_index #homepageCurrentIssueContainer {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* Complete structural removal of the "About the Journal" text description block from the homepage */
.pkp_page_index .page .about_journal {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hide native layout clutter on index view wrapper levels */
.pkp_page_index .obj_issue_toc .heading,
.pkp_page_index .obj_issue_toc .description,
.pkp_page_index .obj_issue_toc .issue_cover,
.pkp_page_index .current_issue_title {
    display: none !important;
}

/* Force regular section headings on homepage table of contents loops to display cleanly */
.pkp_page_index .obj_issue_toc .sections > .section > h2 {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: #334155 !important;
    text-align: left !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
    border: none !important;
}

/* ════════════════════════════════════════════════════════
   7. CENTERED PURE-CSS ANNOUNCEMENT SLIDER WITH ACCENT
   ════════════════════════════════════════════════════════ */

/* The continuous Slate-colored horizontal rule sitting directly above the slider */
.nujs-slider-container::before {
    content: "" !important;
    display: block !important;
    width: 100% !important; 
    height: 1px !important;
    background-color: #334155 !important; 
    margin: 0 auto 30px auto !important;
}

.nujs-slider-container {
    position: relative;
    max-width: 960px;
    margin: 50px auto 35px auto;
    background: transparent;
    overflow: hidden;
}

.nujs-slider-wrapper {
    width: 100%;
    padding: 10px 45px;
}

.nujs-slider {
    position: relative;
    min-height: 210px; 
}

.nujs-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; 
    text-align: center !important;  
}

/* --- AUTOMATIC TIMING ENGINE (15 Second Loop Sequence) --- */
.nujs-slide.slide-1 { animation: cssSliderAutoplay 15s infinite 0s; }
.nujs-slide.slide-2 { animation: cssSliderAutoplay 15s infinite 5s; }
.nujs-slide.slide-3 { animation: cssSliderAutoplay 15s infinite 10s; }

@keyframes cssSliderAutoplay {
    0%   { opacity: 0; visibility: hidden; position: absolute; }
    4%   { opacity: 1; visibility: visible; position: relative; }
    30%  { opacity: 1; visibility: visible; position: relative; }
    34%  { opacity: 0; visibility: hidden; position: absolute; }
    100% { opacity: 0; visibility: hidden; position: absolute; }
}

.nujs-slider .slide-tag {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: #334155 !important;
    display: inline-block !important;
    margin: 0 auto 12px auto !important;
    background: transparent !important;
    padding: 0 !important;
}

/* Slide Titles: Fixed to clean solid black */
.nujs-slider .slide-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #000000 !important; 
    margin: 0 auto 12px auto !important;
    text-align: center !important;
}

.nujs-slider .slide-text {
    max-width: 780px;
    margin: 0 auto 24px auto !important;
    text-align: center !important; 
}

/* Styled Action Link mimicking Yale text layouts */
.slide-btn {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #1F4382 !important; 
    text-decoration: none !important;
    display: inline-block !important;
    margin: 0 auto !important;
    border-bottom: 1px solid #1F4382 !important;
    padding-bottom: 2px !important;
    transition: color 0.2s, border-color 0.2s;
}

.slide-btn:hover {
    color: #000000 !important;
    border-color: #000000 !important;
}

/* ════════════════════════════════════════════════════════
   8. PREMIUM WHEAT LAYOUT ENGINE (HOMEPAGE & ISSUE CARDS)
   ════════════════════════════════════════════════════════ */

/* Setup grid architecture across both standard listing arrays */
@media (min-width: 768px) {
    .pkp_page_index .obj_issue_toc .sections .submissions,
    .page_issue .obj_issue_toc .sections .submissions {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
        gap: 30px !important;
        padding: 0 !important;
        margin: 20px 0 40px 0 !important;
        list-style: none !important;
    }
}

/* Layout constraints on issue views */
.page_issue .obj_issue_toc {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Completely strip cover pages and static definitions from current issue blocks */
.page_issue .issue_view .issue_cover,
.page_issue .issue_view .description,
.page_issue .obj_issue_toc .heading,
.page_issue .obj_issue_toc .description,
.page_issue .obj_issue_toc .issue_cover {
    display: none !important;
}

.page_issue .obj_issue_toc .sections,
.page_issue .obj_issue_toc .sections .section {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Minimalist category section title alignments across both page cycles */
.pkp_page_index .obj_issue_toc .sections h2:not(.title),
.page_issue .obj_issue_toc .sections h2:not(.title),
.page_issue .obj_issue_toc .sections .section h2:not(.title) {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    color: #334155 !important;
    text-align: left !important;
    margin: 40px 0 15px 0 !important;
    border: none !important;
    background: transparent !important;
}

/* THE PREMIUM JINDAL PORTAL CARD layout cards engine loop */
.pkp_page_index .obj_article_summary,
.page_issue .obj_article_summary {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    background: #F9F6EE !important;       /* Premium Wheat Colour */
    border: 1px solid #EADEC9 !important; /* Elegant Soft Contrast Border */
    border-radius: 6px !important;
    padding: 24px !important;
    box-shadow: 0 4px 12px rgba(122, 28, 28, 0.02) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    margin-bottom: 0 !important;
    min-height: 260px !important;
    width: 100% !important;
    float: none !important;
}

.pkp_page_index .obj_article_summary:hover,
.page_issue .obj_article_summary:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 18px rgba(122, 28, 28, 0.08) !important;
}

/* Uniform internal text layout containers */
.pkp_page_index .obj_article_summary > div:first-child,
.page_issue .obj_article_summary > div:first-child,
.page_issue .obj_article_summary > .obj_article_summary_body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}

/* Clean title block line-height parameters */
.pkp_page_index .obj_article_summary .title,
.pkp_page_index .obj_article_summary .title a,
.page_issue .obj_article_summary .title,
.page_issue .obj_article_summary .title a {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    line-height: 1.4 !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
    text-transform: none !important;
    display: block !important;
    text-decoration: none !important;
}

/* Author Name Typography color scheme matrix */
.pkp_page_index .obj_article_summary .authors,
.page_issue .obj_article_summary .authors {
    font-family: 'EB Garamond', Georgia, serif !important;
    font-size: 15.5px !important;
    font-weight: 500 !important;
    color: #1F4382 !important; 
    text-align: left !important;
    margin: 0 0 20px 0 !important; 
    padding: 0 !important;
    display: block !important;
    float: none !important;
}

/* Hide inline page range markers from cards */
.pkp_page_index .obj_article_summary .pages,
.page_issue .obj_article_summary .pages {
    display: none !important;
}

/* Card anchor bases */
.pkp_page_index .obj_article_summary .galleys_links,
.page_issue .obj_article_summary .galleys_links {
    margin-top: auto !important;
    padding-top: 15px !important;
    border-top: 1px dashed #EADEC9 !important;
    text-align: left !important;
    width: 100% !important;
    display: block !important;
    float: none !important;
}

/* PDF Action Button Layouts */
.pkp_page_index .obj_article_summary .galleys_links a,
.page_issue .obj_article_summary .galleys_links a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    background-color: #1F4382 !important; 
    padding: 6px 14px !important;
    border-radius: 4px !important;
    display: inline-block !important;
    text-decoration: none !important;
    border: none !important;
    transition: background-color 0.2s ease !important;
}

.pkp_page_index .obj_article_summary .galleys_links a:hover,
.page_issue .obj_article_summary .galleys_links a:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════
   9. BRAND BRANDING & BRAND CRIMSON FOOTER SYSTEM
   ════════════════════════════════════════════════════════ */

/* Formats the absolute bottom bar wrapper into premium brand crimson styling */
.pkp_structure_footer_wrapper {
    background-color: #7A1C1C !important; /* Signature Crimson Accent */
    border-top: 1px solid #611212 !important;
    padding: 25px 0 !important;
    margin-top: 60px !important;
}

/* Normalize inner content positioning alignment within deep crimson engine block */
.pkp_structure_footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center !important;
    color: #ffffff !important;
}

/* Format footer links and credits cleanly inside the new background layer */
.pkp_structure_footer p,
.pkp_structure_footer div,
.pkp_structure_footer span,
.pkp_structure_footer a {
    color: #F9F6EE !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
}

.pkp_structure_footer a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Ensure OJS developer branding images render transparently over crimson base */
.pkp_brand_footer, 
.pkp_structure_footer .pkp_brand_footer img {
    margin-top: 15px !important;
    filter: brightness(0) invert(1) !important; /* Clean White Branding */
    opacity: 0.9 !important;
}

/* ════════════════════════════════════════════════════════
   10. RESPONSIVE MOBILE MATRIX
   ════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .pkp_page_index .obj_issue_toc .sections .submissions,
    .page_issue .obj_issue_toc .sections .submissions {
        display: block !important;
        padding: 0 !important;
    }
    .pkp_page_index .obj_article_summary,
    .page_issue .obj_article_summary {
        margin-bottom: 20px !important;
        min-height: auto !important;
    }
    .nujs-slider-wrapper {
        padding: 25px 20px !important;
    }
    .nujs-slider .slide-title {
        font-size: 21px !important;
    }
}