:root {
  --presento-red: #e03a3c;
  --presento-dark: #111111;
  --presento-muted: #6c757d;
  --presento-border: #e9ecef;
  --presento-bg-soft: #f8f9fa;
}

.presento-sidebar {
  background: #fff;
  border: 1px solid var(--presento-border);
  border-radius: 8px;
}

.presento-sidebar-title {
  padding: 14px 16px;
  font-weight: 700;
  color: var(--presento-dark);
  border-bottom: 1px solid var(--presento-border);
  position: relative;
}

.presento-sidebar-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: var(--presento-red);
}

.presento-parent {
  border: 0;
  font-weight: 600;
  padding: 12px 16px;
  color: var(--presento-dark);
  transition: all 0.2s ease;
}

.presento-parent:hover {
  background: var(--presento-bg-soft);
}

.presento-child {
  border: 0;
  padding: 10px 16px 10px 42px;
  font-size: 0.95rem;
  color: var(--presento-muted);
  transition: all 0.2s ease;
}

.presento-child:hover {
  background: var(--presento-bg-soft);
  color: var(--presento-red);
}

/* Active link */
.presento-child.active {
  background: rgba(224, 58, 60, 0.1);
  color: var(--presento-red);
  font-weight: 700;
  position: relative;
}

.presento-child.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: var(--presento-red);
}

/* Chevron animation */
.ps-chevron {
  color: var(--presento-muted);
  transition: transform 0.2s ease;
}

.presento-parent[aria-expanded="true"] .ps-chevron {
  transform: rotate(180deg);
}

.sidebar-logo {
    max-width: 120px;
    height: auto;
    opacity: 0.85;
    transition: all 0.25s ease;
}

.sidebar-logo:hover {
    transform: scale(1.05);
    opacity: 1;
}


/* Newsletter */
.ts-newsletter {
    background: #be0002;
    position: relative;
    min-height: 115px;
    padding: 15px 50px 0 50px;
    width: 100%;
}

@media (max-width: 767px) {
    .ts-newsletter {
        padding-top: 20px;
        padding-bottom: 10px;
    }
}

@media (max-width: 575px) {
    .ts-newsletter {
        padding: 30px 5px 15px 5px;
        min-height: auto;
        text-align: center;
    }
}

.newsletter-form input {
    background: #fff;
    /* background: none; */
    font-size: 12px;
    height: 45px;
    border: 1px solid #ffb600;
}

/* editorial board */
.editorial-board-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.editorial-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #eaeaea;
}

.editorial-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.editorial-card-image {
    width: 100%;
    height: 280px;
    background: #f5f5f5;
    overflow: hidden;
}

.editorial-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.editorial-card-body {
    padding: 20px;
}

.editorial-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 8px;
}

.editorial-position {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0d6efd;
    margin-bottom: 14px;
}

.editorial-detail {
    font-size: 0.92rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 8px;
}

.editorial-detail strong {
    color: #222;
}

.editorial-avatar-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.editorial-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%; /* circle */
    object-fit: cover;
    border: 4px solid #f1f1f1;
}

.editorial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 cards per row */
    gap: 24px;
}

.editorial-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: 0.3s;
}

.editorial-card:hover {
    transform: translateY(-5px);
}

/* Responsive (important 👇) */
@media (max-width: 992px) {
    .editorial-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .editorial-grid {
        grid-template-columns: 1fr;
    }
}

/* drag and drop css   */
.editorial-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}

.card-actions {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 6px;
    z-index: 10;
}

.drag-handle {
    cursor: grab;
}

.drag-handle:active {
    cursor: grabbing;
}

.sortable-ghost {
    opacity: 0.4;
}

.sortable-chosen {
    transform: rotate(1deg);
}

.sortable-drag {
    box-shadow: 0 12px 28px rgba(0,0,0,0.18);
}

.sdg-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    height: 100%;
    padding: .65rem;
    border: 2px solid #dee2e6;
    border-radius: .75rem;
    cursor: pointer;
    text-align: center;
    transition: border-color .15s, background-color .15s, box-shadow .15s;
}

.sdg-card:hover,
.sdg-checkbox:focus-visible + .sdg-card {
    border-color: #a50511;
    box-shadow: 0 0 0 .2rem rgba(165, 5, 17, .15);
}

.sdg-checkbox:checked + .sdg-card {
    border-color: #a50511;
    background-color: #fff3f3;
}

.sdg-image-placeholder {
    display: grid;
    place-content: center;
    width: 100%;
    aspect-ratio: 1;
    border-radius: .4rem;
    background: #f1f3f5;
    color: #495057;
    font-weight: 700;
    line-height: 1.2;
}

.sdg-title {
    font-size: .8rem;
    line-height: 1.3;
}


/* tracking timeline styles */
.submission-hero { min-height: 180px; display: flex; align-items: center; }
.submission-hero h1 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.monitoring-section { padding: 3rem 0 4rem; background: #f7f8fa; }
.monitoring-intro { padding: 1.25rem 1.5rem; background: #fff; border: 1px solid #e7eaee; border-radius: .9rem; }
.tracking-code { font-size: 1.4rem; font-weight: 750; letter-spacing: .05em; color: #1f2937; }
.status-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .85rem; border-radius: 99px; font-weight: 650; font-size: .85rem; }
.status-progress { color: #835107; background: #fff4d7; }
.status-published { color: #08704d; background: #daf7e9; }
.status-rejected { color: #a50511; background: #fce8e9; }
.monitor-card { background: #fff; border: 1px solid #e7eaee; border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 20px rgba(20, 30, 48, .035); }
.monitor-card-header { display: flex; align-items: center; gap: .8rem; padding: 1.3rem 1.5rem; border-bottom: 1px solid #edf0f2; }
.monitor-card-header h2 { margin: 0 0 .15rem; font-size: 1.1rem; font-weight: 700; }
.monitor-card-header p { margin: 0; color: #667085; font-size: .85rem; }
.heading-icon { flex: 0 0 2.35rem; height: 2.35rem; display: grid; place-items: center; border-radius: .65rem; color: #a50511; background: #fce9eb; font-size: 1.15rem; }
.monitor-card-body { padding: 1.5rem; }
.detail-label { margin-bottom: .35rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; color: #768194; }
.paper-title { font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.4; font-weight: 700; margin: 0 0 1.6rem; overflow-wrap: anywhere; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.detail-value { color: #344054; font-weight: 550; }
.detail-divider { border-top: 1px solid #edf0f2; margin: 1.6rem 0; }
.detail-heading { font-size: 1rem; font-weight: 700; margin-bottom: .75rem; }
.abstract-text { color: #475467; line-height: 1.75; white-space: pre-line; overflow-wrap: anywhere; margin: 0; }
.sdg-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.sdg-item { display: flex; align-items: center; gap: .65rem; max-width: 100%; padding: .4rem .7rem .4rem .4rem; border: 1px solid #e7eaee; border-radius: .6rem; color: #344054; font-size: .85rem; }
.sdg-item img, .sdg-placeholder { width: 2.5rem; height: 2.5rem; border-radius: .3rem; object-fit: contain; }
.sdg-placeholder { display: grid; place-items: center; font-size: .7rem; font-weight: 700; background: #f0f2f4; }
.author-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.author-item { display: flex; align-items: flex-start; gap: .75rem; }
.author-number { flex: 0 0 1.75rem; height: 1.75rem; border-radius: 50%; display: grid; place-items: center; background: #f2f4f7; color: #475467; font-size: .8rem; font-weight: 700; }
.author-name { font-weight: 650; color: #344054; }
.author-affiliation { color: #667085; font-size: .85rem; margin-top: .15rem; }
.corresponding-tag { display: inline-block; vertical-align: middle; margin-left: .35rem; padding: .17rem .5rem; border-radius: 99px; color: #a50511; background: #fce9eb; font-size: .7rem; font-weight: 600; }
.keyword-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.keyword-chip { padding: .38rem .7rem; border-radius: 99px; border: 1px solid #e4e7ec; background: #f9fafb; color: #344054; font-size: .82rem; }
.tracking-timeline { list-style: none; margin: 0; padding: 0; }
.timeline-entry { display: flex; position: relative; gap: .85rem; padding: 0 0 1.25rem; }
.timeline-entry:last-child { padding-bottom: 0; }
.timeline-entry:not(:last-child)::after { content: ''; position: absolute; left: .95rem; top: 2rem; bottom: .12rem; width: 2px; background: #e4e7ec; }
.timeline-entry.is-done::after { background: #a50511; }
.timeline-marker { z-index: 1; flex: 0 0 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: #f2f4f7; color: #98a2b3; font-size: .88rem; }
.is-done .timeline-marker { color: #fff; background: #a50511; }
.is-current .timeline-marker { color: #a50511; background: #fce9eb; outline: 2px solid #a50511; outline-offset: -2px; }
.is-rejected .timeline-marker { color: #fff; background: #a50511; }
.timeline-copy { padding-top: .12rem; min-width: 0; }
.timeline-copy strong { display: block; font-size: .86rem; line-height: 1.35; color: #344054; }
.timeline-copy small { display: block; margin-top: .2rem; color: #667085; line-height: 1.4; }
.is-upcoming .timeline-copy strong { color: #98a2b3; font-weight: 500; }
.current-tag { display: inline-block; margin-top: .45rem; color: #a50511; font-size: .72rem; font-weight: 700; }
.tracking-note { margin-top: 1.35rem; padding-top: 1rem; border-top: 1px solid #edf0f2; color: #667085; font-size: .78rem; line-height: 1.5; }
.monitoring-section .btn-outline-primary { color: #a50511; border-color: #a50511; }
.monitoring-section .btn-outline-primary:hover { background: #a50511; color: #fff; }
@media (max-width: 575px) { .monitoring-section { padding: 1.5rem 0 2.5rem; } .monitor-card-body, .monitor-card-header { padding: 1.1rem; } .detail-grid { grid-template-columns: 1fr; } }