/* ===================================================================
   Taxonomy: journal — Layout and Component Styles
   =================================================================== */

.jpts-journal-page {
    padding: 0;
    overflow-x: hidden;
}

/* Standardize content containers to match the 1180px issue/volume wrap */
.jp-jounsl-hero {
    width: 100%;
    margin: 0 auto !important;
    box-sizing: border-box;
    padding-right: 4.4vh !important;
}

/* Horizontal padding for all layout containers in journals page */
.jpts-wrap,
.jpts-tech-container {
    padding-left: 4.4vh !important;
    padding-right: 4.4vh !important;
}

/* ─── Hero Section ─── */
.jpts-journal-hero {
    width: 100%;
    position: relative;
    padding: 0;
    background-color: #f5fbfe;
    box-sizing: border-box;
    margin-top: 100px;
}

.jpts-journal-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 60px;
    align-items: center;
}

/* Left Column: Image & Overlay Info Cards */
.jpts-journal-media-container {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.08);
    background: #ffffff;
    width: 100%;
    height: 100%;
}

.jpts-journal-cover-wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.jpts-journal-cover-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jpts-journal-overlay-cards {
    position: absolute;
    bottom: 0;
    left: auto !important;
    right: 0 !important;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    z-index: 10;
    max-width: 570px !important;
}

.jpts-journal-overlay-card {
    display: flex;
    gap: 16px;
    padding: 24px 28px;
    align-items: center;
    min-height: 110px;
    box-sizing: border-box;
    width: 100%;
}

.jpts-journal-overlay-card--black {
    background-color: rgba(17, 17, 17, 0.92);
    color: #ffffff;
}

.jpts-journal-overlay-card--blue {
    background-color: rgba(0, 156, 255, 0.85);
    color: #ffffff;
}

.jpts-overlay-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: rgba(255, 255, 255, 0.95);
}

.jpts-overlay-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.jpts-overlay-info {
    display: flex;
    flex-direction: column;
}

.jpts-overlay-title {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
}

.jpts-overlay-text {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Right Column: Info & Details */
.jpts-journal-hero-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 90px;
    max-width: 900px;
}

.jpts-journal-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #5f6c70;
    display: inline-block;
    margin-bottom: 6px;
}

.jpts-journal-parent-link {
    font-size: 16px;
    font-weight: 600;
    color: #009cff;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 8px;
    transition: color 0.2s ease;
}

.jpts-journal-parent-link:hover {
    color: #0080dd;
    text-decoration: underline;
}

.jpts-journal-title {
    margin: 0 0 16px;
    font-family: 'Playfair Display', sans-serif;
    font-size: clamp(2rem, 3.8vw, 2.85rem);
    line-height: 1.15;
    font-weight: 700;
    color: #171717;
}

.jpts-journal-description {
    color: #5f6c70;
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 32px;
}

/* Action block (Button + Radar Link) */
.jpts-journal-actions-row {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.jpts-journal-btn-blue {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #009cff;
    color: #ffffff !important;
    padding: 14px 32px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
    border: none;
    cursor: pointer;
}

.jpts-journal-btn-blue:hover,
.jpts-journal-btn-blue:focus {
    background-color: #0080dd;
    color: #ffffff !important;
    text-decoration: none;
}

/* Radar Pulse Link */
.jpts-radar-link-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: #171717;
    font-weight: 600;
    font-size: 15px;
    transition: color 0.2s ease;
}

.jpts-radar-link-text {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
    color: #171717;
    transition: color 0.2s ease;
}

.jpts-radar-link-wrapper:hover .jpts-radar-link-text {
    color: #009cff;
}

.jpts-radar-pulse-circle {
    position: relative;
    width: 56px;
    height: 56px;
    background-color: #111111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 4px solid #eef3f7;
}

.jpts-radar-pulse-core {
    width: 12px;
    height: 12px;
    background-color: #ffffff;
    border-radius: 50%;
}

/* Pulsing radar rings */
.jpts-radar-pulse-circle::before,
.jpts-radar-pulse-circle::after {
    content: '';
    position: absolute;
    inset: -10px;
    border: 1px solid rgba(0, 156, 255, 0.25);
    border-radius: 50%;
    animation: radar-pulse-ring 2s infinite ease-out;
    opacity: 0;
    pointer-events: none;
}

.jpts-radar-pulse-circle::after {
    animation-delay: 1s;
}

@keyframes radar-pulse-ring {
    0% {
        transform: scale(0.9);
        opacity: 0.95;
    }

    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

/* ─── Feature Highlights Section ─── */
.jpts-journal-features {
    padding: 60px 0;
    background-color: #ffffff;
}

.jpts-journal-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border: 1px solid #eef3f7;
    border-radius: 12px;
    background-color: #ffffff;
    overflow: hidden;
}

.jpts-feature-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 30px;
    box-sizing: border-box;
    transition: background-color 0.25s ease;
}

.jpts-feature-card+.jpts-feature-card {
    border-left: 1px solid #eef3f7;
}

.jpts-feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #eceff1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    color: #37474f;
    flex-shrink: 0;
}

.jpts-feature-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

.jpts-feature-title {
    margin: 0 0 12px;
    font-family: 'Playfair Display', sans-serif;
    font-size: 19px;
    font-weight: 700;
    color: #1c1d1f;
    line-height: 1.3;
}

.jpts-feature-desc {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.6;
    color: #607d8b;
    max-width: 230px;
}

/* ─── Recent Issue Sidebar Section ─── */
.jpts-journal-recent-issue-section {
    padding: 60px 0;
    background-color: #fcfdfe;
    border-top: 1px solid #eef3f7;
    border-bottom: 1px solid #eef3f7;
}

/* ─── Get Started & FAQ Section ─── */
.jpts-journal-get-started {
    width: 100%;
    position: relative;
    background-color: #111111;
    color: #ffffff;
    padding: 85px 0;
    box-sizing: border-box;
}

.jpts-gs-grid {
    display: grid;
    grid-template-columns: 1fr 1.3fr 1.7fr;
    gap: 60px;
    align-items: start;
}

/* Left Column: CTA */
.jpts-gs-col-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.jpts-gs-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 12px;
    text-transform: uppercase;
}

.jpts-gs-title {
    font-family: 'Playfair Display', sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin: 0 0 28px;
}

.jpts-gs-col-left .jpts-journal-btn-blue {
    padding: 14px 36px;
    background-color: #009cff;
    color: #ffffff !important;
    font-weight: 600;
    border-radius: 6px;
    font-size: 15px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.jpts-gs-col-left .jpts-journal-btn-blue:hover {
    background-color: #0080dd;
}

/* Center Column: Info */
.jpts-gs-col-center {
    display: flex;
    flex-direction: column;
}

.jpts-gs-intro {
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 24px;
}

.jpts-gs-announcement {
    font-size: 16px;
    line-height: 1.45;
    color: #ffffff;
    margin: 0 0 28px;
}

.jpts-gs-duedate-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0 0 8px;
    line-height: 1.4;
}

.jpts-gs-duedate {
    font-size: 18px;
    color: #ffffff;
    margin: 0 0 32px;
}

.jpts-gs-question-link {
    font-size: 15px;
    font-weight: 600;
    color: #009cff !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.jpts-gs-question-link:hover {
    color: #0080dd !important;
    text-decoration: underline;
}

/* Right Column: FAQ Accordion */
.jpts-gs-col-right {
    width: 100%;
}

.jpts-gs-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.jpts-gs-faq-item {
    background-color: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.jpts-gs-faq-trigger {
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    user-select: none;
    box-sizing: border-box;
}

/* Remove default marker */
.jpts-gs-faq-trigger::-webkit-details-marker {
    display: none;
}

.jpts-gs-faq-icon {
    position: relative;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.jpts-gs-faq-icon::before {
    content: '+';
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    transition: transform 0.2s ease;
}

.jpts-gs-faq-item[open] .jpts-gs-faq-icon::before {
    content: '−';
    color: #009cff;
}

.jpts-gs-faq-content {
    padding: 0 20px 18px;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.jpts-gs-faq-content p {
    margin: 0;
}

/* ─── Children / Sub-journals Section ─── */
.jpts-journal-children-section,
.jpts-journal-posts-section {
    padding: 60px 0;
}

.jpts-section-heading {
    font-family: 'Playfair Display', sans-serif;
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    margin: 0 0 28px;
    color: var(--jpts-ink);
}

.jpts-journal-children-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.jpts-journal-child-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border: 1px solid var(--jpts-line);
    border-radius: var(--jpts-radius-md);
    background: var(--jpts-paper);
    box-shadow: var(--jpts-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.jpts-journal-child-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 80px rgba(23, 33, 39, 0.12);
}

.jpts-journal-child-body {
    margin-bottom: 20px;
}

.jpts-journal-child-title {
    margin: 0 0 10px;
    font-family: 'Playfair Display', sans-serif;
    font-size: 1.35rem;
    line-height: 1.25;
}

.jpts-journal-child-title a {
    color: var(--jpts-ink);
    text-decoration: none;
}

.jpts-journal-child-title a:hover {
    color: var(--jpts-teal);
}

.jpts-journal-child-desc {
    font-size: 13px;
    line-height: 1.6;
    color: var(--jpts-muted);
    margin: 0;
}

.jpts-journal-child-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--jpts-line);
    padding-top: 12px;
}

.jpts-journal-child-count {
    font-size: 12px;
    font-weight: 600;
    color: var(--jpts-teal);
}

.jpts-journal-child-link {
    font-size: 12px;
    font-weight: 700;
    color: var(--jpts-accent);
    text-decoration: none;
}

.jpts-journal-child-link:hover {
    text-decoration: underline;
}

/* ─── Publications/Recent Articles Section ─── */
.jpts-journal-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}

.jpts-journal-post-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--jpts-line);
    border-radius: var(--jpts-radius-md);
    background: var(--jpts-paper);
    overflow: hidden;
    box-shadow: var(--jpts-shadow);
}

.jpts-journal-post-thumb {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.jpts-journal-post-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jpts-journal-post-body {
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 12px;
    flex-grow: 1;
}

.jpts-journal-post-type {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--jpts-accent);
}

.jpts-journal-post-title {
    margin: 0;
    font-family: 'Playfair Display', sans-serif;
    font-size: 1.25rem;
    line-height: 1.3;
}

.jpts-journal-post-title a {
    color: var(--jpts-ink);
    text-decoration: none;
}

.jpts-journal-post-title a:hover {
    color: var(--jpts-teal);
}

.jpts-journal-post-excerpt {
    font-size: 13px;
    line-height: 1.6;
    color: var(--jpts-muted);
    margin: 0;
}

.jpts-journal-post-meta {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--jpts-muted);
    border-top: 1px solid var(--jpts-line);
    padding-top: 12px;
}

/* ─── Breadcrumbs ─── */
.jpts-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--jpts-muted);
}

.jpts-breadcrumbs a {
    color: var(--jpts-muted);
    text-decoration: none;
}

.jpts-breadcrumbs a:hover {
    color: var(--jpts-teal);
}

.jpts-breadcrumbs a::after {
    content: "/";
    margin-left: 8px;
}

/* ─── Dark Scheme Overrides ─── */
body.dark-scheme .jpts-journal-page {
    --jpts-ink: #ffffff;
    --jpts-muted: rgba(255, 255, 255, 0.78);
    --jpts-line: rgba(255, 255, 255, 0.14);
    --jpts-paper: #232127;
    --jpts-teal: #4db3b9;
    --jpts-accent: #ff8540;
}

body.dark-scheme .jpts-journal-hero {
    background-color: #1a191d;
}

body.dark-scheme .jpts-journal-parent-link {
    color: #ffffff;
}

body.dark-scheme .jpts-radar-link-text {
    color: #ffffff;
}

body.dark-scheme .jpts-radar-link-wrapper:hover .jpts-radar-link-text {
    color: #ff8540;
}

body.dark-scheme .jpts-journal-title {
    color: #ffffff;
}

body.dark-scheme .jpts-journal-btn-blue {
    background-color: #009cff;
}

body.dark-scheme .jpts-journal-btn-blue:hover {
    background-color: #0080dd;
}

/* ─── Journal Sections Slider Section ─── */
.jpts-journal-sections-slider-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.jpts-sections-kicker {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #5f6c70;
    margin-bottom: 8px;
    display: inline-block;
    text-transform: uppercase;
}

.jpts-sections-title {
    font-family: 'Playfair Display', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #171717;
    margin: 0 0 40px;
}

.jpts-sections-slider-container {
    width: 100%;
    overflow: hidden;
}

.jpts-sections-slider:not(.slick-initialized) {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 10px 0 30px;
}

.jpts-sections-slider:not(.slick-initialized) .jpts-section-slide {
    flex: 0 0 calc(33.333% - 16px);
    min-width: 290px;
    scroll-snap-align: start;
}

@media (max-width: 960px) {
    .jpts-sections-slider:not(.slick-initialized) .jpts-section-slide {
        flex: 0 0 calc(50% - 12px);
    }
}

@media (max-width: 480px) {
    .jpts-sections-slider:not(.slick-initialized) .jpts-section-slide {
        flex: 0 0 100%;
    }
}

.jpts-sections-slider.slick-initialized {
    display: block;
    position: relative;
    box-sizing: border-box;
}

.jpts-sections-slider.slick-initialized .slick-list {
    margin: 0 -12px;
}

.jpts-sections-slider.slick-initialized .slick-slide {
    padding: 15px 12px 30px;
    box-sizing: border-box;
}

.jpts-section-card {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 420px !important;
    min-height: 420px !important;
    border-radius: 20px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    padding: 32px 28px;
    box-sizing: border-box;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    width: 100%;
}

.jpts-section-card:hover {
    /* Hover effect removed as requested */
}

.jpts-section-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(17, 17, 17, 0.2) 0%, rgba(17, 17, 17, 0.85) 100%);
    z-index: 1;
}

.jpts-section-card-title {
    position: relative;
    z-index: 2;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jpts-section-card-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
}

.jpts-section-card-desc {
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.jpts-section-card-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.jpts-section-card-btn:hover {
    background-color: #009cff;
    transform: scale(1.05);
}

.jpts-section-card-btn svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* Slick Arrow & Dots styling */
.jpts-slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #ffffff;
    color: #171717;
    border: 1px solid #eef3f7;
    z-index: 10;
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
    padding: 0;
}

.jpts-slick-arrow:hover {
    background-color: #009cff;
    color: #ffffff;
    border-color: #009cff;
}

.jpts-slick-arrow svg {
    width: 20px;
    height: 20px;
    display: block;
}

.jpts-slick-prev {
    left: -10px;
}

.jpts-slick-next {
    right: -10px;
}

.jpts-sections-slider .slick-dots {
    display: flex !important;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    gap: 8px;
}

.jpts-sections-slider .slick-dots li button {
    display: block;
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: #eef3f7;
    text-indent: -9999px;
    cursor: pointer;
    transition: background-color 0.2s, width 0.2s, border-radius 0.2s;
}

.jpts-sections-slider .slick-dots li.slick-active button {
    background-color: #009cff;
    width: 24px;
    border-radius: 4px;
}

/* ─── Compliances & International Standards Section ─── */
.jpts-comp-section {
    width: 100%;
    position: relative;
    padding: 0;
    background-color: #9f9f9f;
    box-sizing: border-box;
}

.jpts-comp-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    background-color: #0f0f13;
    box-sizing: border-box;
}

.jpts-comp-header {
    min-height: 210px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px clamp(24px, 13.5vw, 190px) 44px;
    background-color: #0f0f13;
    box-sizing: border-box;
}

.jpts-comp-subtitle {
    display: block;
    margin-bottom: 16px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.jpts-comp-title {
    max-width: 430px;
    margin: 0;
    color: #ffffff;
    font-family: 'Playfair Display', sans-serif;
    font-size: clamp(1.8rem, 2.3vw, 2.35rem);
    font-weight: 700;
    line-height: 1.12;
}

.jpts-comp-grid {
    display: grid;
    grid-template-columns: 49.5% 50.5%;
    align-items: stretch;
}

.jpts-comp-image-col {
    min-height: 470px;
    overflow: hidden;
    display: flex;
    align-items: end;
}

.jpts-comp-img {
    display: block;
    width: 100%;
    height: 90%;
    object-fit: cover;
    max-height: 600px;
}

.jpts-comp-list-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 44px 42px;
    background-color: #252527;
    box-sizing: border-box;
}

.jpts-comp-list {
    margin: 0;
    padding-left: 18px;
    color: #ffffff;
    list-style-position: outside;
}

.jpts-comp-list li {
    margin: 0 0 22px;
    padding-left: 4px;
    color: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
}

.jpts-comp-list li:last-child {
    margin-bottom: 0;
}

.jpts-comp-list li::marker {
    color: #ffffff;
    font-size: 0.72em;
}

.jpts-comp-divider {
    width: 100%;
    height: 1px;
    margin: 36px 0;
    background-color: rgba(255, 255, 255, 0.16);
}

/* ─── Technology & DeepReview Section ─── */
.jpts-tech-section {
    width: 100%;
    position: relative;
    padding: 0;
    background-color: #ffffff;
    box-sizing: border-box;
}

.jpts-tech-container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Top Row */
.jpts-tech-top-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 70px clamp(24px, 6vw, 80px) 60px;
}

.jpts-tech-header-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 50px;
}

.jpts-tech-subtitle {
    display: block;
    margin-bottom: 14px;
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.jpts-tech-title {
    margin: 0;
    color: #1a1a1a;
    font-family: 'Playfair Display', sans-serif;
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    font-weight: 700;
    line-height: 1.15;
}

.jpts-tech-intro-col {
    padding-left: 30px;
    border-left: 1px solid #e5e5e5;
}

.jpts-tech-intro-heading {
    margin: 0 0 18px;
    color: #1a1a1a;
    font-family: 'Playfair Display', sans-serif;
    font-size: clamp(1.4rem, 2vw, 1.75rem);
    font-weight: 700;
    line-height: 1.2;
}

.jpts-tech-intro-text {
    margin: 0;
    color: #4a4a4a;
    font-size: 13.5px;
    line-height: 1.7;
}

/* Bottom Row */
.jpts-tech-bottom-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

/* Image with overlay cards */
.jpts-tech-image-wrap {
    position: relative;
    overflow: hidden;
    min-height: 420px;
}

.jpts-tech-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    object-fit: cover;
    max-height: 670px;
}

/* Override hero overlay cards layout when inside the technology image wrap */
.jpts-tech-image-wrap .jpts-journal-overlay-cards {
    max-width: 100%;
    left: 0;
    right: 0;
}

/* Process Flow Diagram */
.jpts-tech-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 40px;
    box-sizing: border-box;
}

.jpts-tech-flow-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.jpts-tech-flow-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: 420px;
}

.jpts-tech-flow-top,
.jpts-tech-flow-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
}

.jpts-tech-flow-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.jpts-tech-flow-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #e8edf2;
    color: #3a3a3a;
}

.jpts-tech-flow-icon svg {
    width: 28px;
    height: 28px;
}

.jpts-tech-flow-icon--accent {
    background-color: #d4eaff;
    color: #1a6abf;
}

.jpts-tech-flow-icon--small {
    width: 48px;
    height: 48px;
}

.jpts-tech-flow-icon--small svg {
    width: 22px;
    height: 22px;
}

.jpts-tech-flow-label {
    color: #3a3a3a;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    line-height: 1.3;
}

/* Connectors */
.jpts-tech-flow-connector--h {
    width: 50px;
    height: 0;
    border-top: 2px dashed #b0b0b0;
    flex-shrink: 0;
}

.jpts-tech-flow-connector--v {
    width: 0;
    height: 40px;
    border-left: 2px dashed #b0b0b0;
}

/* Reviewers node */
.jpts-tech-flow-node--reviewers {
    flex: 1;
}

.jpts-tech-flow-reviewers-icons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.jpts-tech-flow-reviewer-labels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.jpts-tech-flow-reviewer-labels span {
    color: #3a3a3a;
    font-size: 11px;
    font-weight: 500;
    text-align: center;
}

/* Flow footer */
.jpts-tech-flow-footer {
    margin-top: 30px;
    text-align: center;
}

.jpts-tech-flow-footer-label {
    color: #3a3a3a;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
}

/* ─── Responsive Media Queries ─── */
@media (max-width: 960px) {
    .jpts-journal-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .jpts-journal-media-container {
        max-width: 560px;
        margin: 0 auto;
        aspect-ratio: 4 / 3;
        height: auto !important;
    }

    .jpts-journal-hero-right {
        padding-right: 0 !important;
        text-align: center !important;
        align-items: center !important;
        max-width: 100% !important;
    }

    .jpts-journal-actions-row {
        justify-content: center !important;
    }

    .jpts-journal-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }

    .jpts-feature-card {
        border-left: none !important;
        border-bottom: 1px solid #eef3f7;
    }

    .jpts-feature-card:nth-child(2n+1) {
        border-right: 1px solid #eef3f7 !important;
    }

    .jpts-feature-card:nth-child(3),
    .jpts-feature-card:nth-child(4) {
        border-bottom: none;
    }

    .jpts-gs-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .jpts-comp-header {
        min-height: 170px;
        padding: 40px 48px;
    }

    .jpts-comp-grid {
        grid-template-columns: 1fr;
    }

    .jpts-comp-image-col,
    .jpts-comp-img {
        min-height: 360px;
    }

    .jpts-comp-list-col {
        padding: 38px 42px 44px;
    }

    /* Technology section responsive */
    .jpts-tech-top-row {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 50px 36px 40px;
    }

    .jpts-tech-header-col {
        padding-right: 0;
    }

    .jpts-tech-intro-col {
        padding-left: 0;
        border-left: none;
        border-top: 1px solid #e5e5e5;
        padding-top: 24px;
    }

    .jpts-tech-bottom-row {
        grid-template-columns: 1fr;
    }

    .jpts-tech-flow {
        padding: 40px 30px;
    }

    /* Submenu columns responsive styling */
    .jpts-submenu-row .morebox {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .jpts-submenu-row .morebox .vc_column-inner {
        padding: 40px 30px !important;
    }
}

@media (max-width: 480px) {

    .jpts-wrap,
    .jpts-tech-container,
    .jp-jounsl-hero {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .jpts-journal-media-container {
        aspect-ratio: auto !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .jpts-journal-cover-wrap {
        aspect-ratio: 4 / 3 !important;
        height: auto !important;
    }

    .jpts-journal-overlay-cards {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .jpts-journal-overlay-card {
        min-height: auto !important;
    }

    .jpts-journal-features-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .jpts-feature-card {
        border-right: none !important;
        border-bottom: 1px solid #eef3f7 !important;
    }

    .jpts-feature-card:last-child {
        border-bottom: none !important;
    }

    .jpts-comp-container {
        border-bottom-width: 4px;
    }

    .jpts-comp-header {
        min-height: 150px;
        padding: 32px 24px;
    }

    .jpts-comp-subtitle {
        margin-bottom: 12px;
        font-size: 11px;
    }

    .jpts-comp-title {
        max-width: 300px;
        font-size: 1.65rem;
    }

    .jpts-comp-image-col,
    .jpts-comp-img {
        min-height: 260px;
    }

    .jpts-comp-list-col {
        padding: 30px 24px 34px;
    }

    .jpts-comp-list li {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .jpts-comp-divider {
        margin: 28px 0;
    }

    /* Technology section mobile */
    .jpts-tech-image-wrap {
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .jpts-tech-image {
        aspect-ratio: 4 / 3 !important;
        height: auto !important;
        max-height: none !important;
    }

    .jpts-tech-top-row {
        padding: 36px 20px 30px;
        gap: 22px;
    }


    .jpts-tech-flow {
        padding: 30px 16px;
    }

    .jpts-tech-flow-icon {
        width: 48px;
        height: 48px;
    }

    .jpts-tech-flow-icon svg {
        width: 22px;
        height: 22px;
    }

    .jpts-tech-flow-connector--h {
        width: 30px;
    }

    .jpts-tech-flow-connector--v {
        height: 28px;
    }

    /* Submenu columns responsive styling */
    .jpts-submenu-row .morebox {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .jpts-submenu-row .morebox .vc_column-inner {
        padding: 30px 20px !important;
    }

    /* Journal Sections Slider mobile sizing */
    .jpts-section-card {
        height: 320px !important;
        min-height: 320px !important;
        padding: 20px 16px !important;
    }

    /* Acknowledgements Section mobile adjustments */
    .jpts-ack-logos {
        flex-wrap: wrap !important;
        gap: 20px !important;
        justify-content: center !important;
    }

    .jpts-ack-left,
    .jpts-ack-right {
        text-align: center !important;
    }

    .jpts-ack-link {
        display: inline-block !important;
        margin-bottom: 20px !important;
    }
}

/* ─── Acknowledgements & Support Section ─── */
.jpts-acknowledgements-section {
    background-color: #ffffff;
    padding: 80px 0;
    border-top: 1px solid #eaeaea;
}

.jpts-ack-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}

.jpts-ack-left {
    flex: 1 1 300px;
    max-width: 400px;
}

.jpts-ack-kicker {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #555555;
    margin-bottom: 20px;
}

.jpts-ack-title {
    font-family: 'Playfair Display', sans-serif;
    font-size: 36px;
    line-height: 1.2;
    color: #111111;
    margin: 0 0 30px;
}

.jpts-ack-link {
    font-size: 14px;
    font-weight: 500;
    color: #007bff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.jpts-ack-link:hover {
    color: #0056b3;
}

.jpts-ack-right {
    flex: 1 1 500px;
}

.jpts-ack-text {
    font-size: 14px;
    line-height: 1.8;
    color: #555555;
    margin: 0 0 30px;
}

.jpts-ack-logos {
    display: flex;
    align-items: center;
    gap: 30px;
}

.jpts-ack-logo {
    max-height: 60px;
    width: auto;
    object-fit: contain;
    color: #111013;
}

/* ===================================================================
   Journal Submenu - Scoped Layout & Clickable Card & Hover Fill
   =================================================================== */
.jpts-submenu-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.jpts-submenu-row .morebox {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: auto !important;
}

/* Ensure the background image covers the whole column dynamically */
.jpts-submenu-row .morebox .vc_column-inner {
    flex-grow: 1 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 1;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.jpts-submenu-row .morebox .wpb_wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    flex-grow: 1 !important;
}

/* Row background color */
.jpts-submenu-row.vc_custom_1630222396239 {
    background-color: #000000 !important;
}

/* Card 1: Author Guidelines */
.jpts-submenu-row .morebox .vc_column-inner.vc_custom_1645814162113 {
    padding-top: 6vh !important;
    padding-right: 6vh !important;
    padding-bottom: 6vh !important;
    padding-left: 6vh !important;
    background-image: url(https://images.journalspress.com/2021/08/guildelines.jpg?id=73104) !important;
}

/* Card 2: Subscriptions */
.jpts-submenu-row .morebox .vc_column-inner.vc_custom_1645814157513 {
    padding-top: 6vh !important;
    padding-right: 6vh !important;
    padding-bottom: 6vh !important;
    padding-left: 6vh !important;
    background-image: url(https://images.journalspress.com/2021/09/LJP-Scientist.jpg?id=73231) !important;
}

/* Card 3: APC (Publication Fees) */
.jpts-submenu-row .morebox .vc_column-inner.vc_custom_1645814979718 {
    padding-top: 6vh !important;
    padding-right: 6vh !important;
    padding-bottom: 6vh !important;
    padding-left: 6vh !important;
    background-image: url(https://images.journalspress.com/2021/09/Oxford-scaled.jpg?id=73234) !important;
}

/* Card 4: Portal */
.jpts-submenu-row .morebox .vc_column-inner.vc_custom_1645815043365 {
    padding-top: 6vh !important;
    padding-right: 8vh !important;
    padding-bottom: 6vh !important;
    padding-left: 6vh !important;
    background-image: url(https://images.journalspress.com/2021/09/Group-of-Scientists.jpg?id=73236) !important;
}

/* Lighter overlay by default, solid black fill on hover */
.jpts-submenu-row .morebox .vc_column-inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.25) !important;
    /* light overlay so images are clear */
    z-index: 0 !important;
    /* sits on top of background image but behind content */
    transition: background 0.3s ease;
}

.jpts-submenu-row .morebox:hover .vc_column-inner::before,
.jpts-submenu-row .jpts-card-anchor:hover .vc_column-inner::before {
    background: #000000 !important;
    /* solid black fill on hover */
}

/* Typography styles to ensure contrast over images */
.jpts-submenu-row .morebox .ohio-heading-sc,
.jpts-submenu-row .morebox .ohio-button-sc,
.jpts-submenu-row .morebox .ohio-text-sc {
    position: relative;
    z-index: 2;
    /* ensure text sits above the background and overlays */
}

.jpts-submenu-row .morebox .ohio-heading-sc .subtitle {
    color: #009cff !important;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    margin-top: 0;
}

.jpts-submenu-row .morebox .ohio-heading-sc .title {
    color: #ffffff !important;
    font-family: 'Playfair Display', sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}

/* Card anchor link tag styling */
.jpts-submenu-row .jpts-card-anchor {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    height: 100% !important;
    width: 100% !important;
    text-decoration: none !important;
    color: inherit !important;
    outline: none !important;
}

/* Button span styling inside the clickable card */
.jpts-submenu-row .morebox .ohio-button-sc .btn-link {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: color 0.2s ease;
}

/* Card hover triggers button styles */
.jpts-submenu-row .jpts-card-anchor:hover .ohio-button-sc .btn-link {
    color: #009cff !important;
}

.jpts-submenu-row .morebox .ohio-button-sc .btn-link i {
    transition: transform 0.2s ease;
    display: inline-block;
}

.jpts-submenu-row .jpts-card-anchor:hover .ohio-button-sc .btn-link i {
    transform: translateX(4px);
}

.jpts-submenu-row .morebox .ohio-text-sc p {
    color: #e2e8f0 !important;
    font-size: 14px;
    line-height: 1.6;
}

/* ─── Light/Dark Mode Custom Overrides ─── */
body.dark-scheme .jpts-journal-features {
    background-color: #1a191d;
}

.jpts-journal-recent-issue-section {
    border-top: 1px solid 1px solid #eef3f724;
}

body.dark-scheme .jpts-journal-features-grid {
    background-color: #232127;
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-scheme .jpts-feature-card+.jpts-feature-card {
    border-left-color: rgba(255, 255, 255, 0.1);
}

body.dark-scheme .jpts-feature-icon {
    background-color: #2b2930;
    color: #ff8540;
}

body.dark-scheme .jpts-feature-icon svg {
    stroke: #ffffff;
    fill: none;
}

body.dark-scheme .jpts-feature-title {
    color: #ffffff;
}

body.dark-scheme .jpts-feature-desc {
    color: rgba(255, 255, 255, 0.7);
}

/* Dark Mode for Slider Section */
body.dark-scheme .jpts-journal-sections-slider-section {
    background-color: #1a191d;
}

body.dark-scheme .jpts-sections-kicker {
    color: rgba(255, 255, 255, 0.5);
}

body.dark-scheme .jpts-sections-title {
    color: #ffffff;
}

/* Dark Mode for Recent Issues Section */
body.dark-scheme .jpts-journal-recent-issue-section {
    background-color: #131215;
}

body.dark-scheme .jpts-journal-recent-issue-section .gj-issues-header span,
body.dark-scheme .jpts-journal-recent-issue-section .gj-issues-header h2 {
    color: #ffffff !important;
}

body.dark-scheme .jpts-journal-recent-issue-section .gj-issue-box h3 {
    color: #ffffff !important;
}

/* Dark Mode for Guide & Get-Started Section */
body.dark-scheme .jpts-journal-get-started {
    background-color: #131215;
}

body.dark-scheme .jpts-gs-col-left .jpts-journal-btn-blue {
    background-color: #009cff;
}

body.dark-scheme .jpts-gs-col-left .jpts-journal-btn-blue:hover {
    background-color: #0080dd;
}

/* Dark Mode for FAQ Section */
body.dark-scheme .jpts-faq-section {
    background-color: #131215;
}

/* Dark Mode for Children Section */
body.dark-scheme .jpts-journal-children-section {
    background-color: #1a191d;
}

/* Dark Mode for Technology Section */
body.dark-scheme .jpts-tech-section {
    background-color: #131215;
}

body.dark-scheme .jpts-tech-title,
body.dark-scheme .jpts-tech-subtitle,
body.dark-scheme .jpts-tech-intro-heading {
    color: #ffffff;
}

body.dark-scheme .jpts-tech-intro-text {
    color: rgba(255, 255, 255, 0.7);
}

body.dark-scheme .jpts-tech-intro-col {
    border-left-color: rgba(255, 255, 255, 0.1);
}

body.dark-scheme .jpts-tech-flow {
    background-color: #1a191d;
}

body.dark-scheme .jpts-tech-flow-icon {
    background-color: #2b2930;
    color: #ffffff;
}

body.dark-scheme .jpts-tech-flow-icon svg {
    stroke: #ffffff;
    fill: none;
}

body.dark-scheme .jpts-tech-flow-icon--accent {
    background-color: rgba(255, 133, 64, 0.15);
    color: #ff8540;
}

body.dark-scheme .jpts-tech-flow-icon--accent svg {
    stroke: #ff8540;
}

body.dark-scheme .jpts-tech-flow-label,
body.dark-scheme .jpts-tech-flow-reviewer-labels span,
body.dark-scheme .jpts-tech-flow-footer-label {
    color: rgba(255, 255, 255, 0.85);
}

/* Dark Mode for Acknowledgements Section */
body.dark-scheme .jpts-acknowledgements-section {
    background-color: #1a191d;
}

body.dark-scheme .jpts-ack-title {
    color: #ffffff;
}

body.dark-scheme .jpts-ack-logo path {
    fill: #ffffff !important;
}

body.dark-scheme .jpts-ack-logo {
    color: #ffffff !important;
}

/* Dark Mode for News / Posts Section */
body.dark-scheme .jpts-journal-posts-section {
    background-color: #131215;
}

/* Recent Scholarly Articles Section Styles */
.jpts-journal-recent-articles-section {
    background-color: #ffffff;
}

body.dark-scheme .jpts-journal-recent-articles-section {
    background-color: #1a191d;
}

/* ─── Recent Articles Section ─── */
.jpts-recent-articles-section {
    width: 100%;
    position: relative;
    padding: 80px 0;
    background-color: #f7f9fb;
    box-sizing: border-box;
}

body.dark-scheme .jpts-recent-articles-section {
    background-color: #121115;
}