/* ===================================================
   Shared classes to replace inline styles
   Extracted from views to reduce HTML size and improve
   maintainability and CSP compliance.
   =================================================== */

/* Text alignment */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Font sizes */
.fs-14 { font-size: 14px; }
.fs-13 { font-size: 13px; }
.fs-12 { font-size: 12px; }
.fs-16 { font-size: 16px; }
.fs-18 { font-size: 18px; }

/* Brand colors */
.text-brand { color: #085f9f; }
.text-teal { color: #008080; }
.text-dark-teal { color: #1a2a44; }

/* Background colors */
.bg-light-gray { background-color: #f7f9fc; }
.bg-subtle { background-color: #f4f8fb; }

/* Spacing */
.mt-section { margin-top: 100px; }
.mb-0 { margin-bottom: 0; }
.ml-40 { margin-left: 40px; }
.ml-50 { margin-left: 50px; }
.p-0 { padding: 0; }
.pt-5 { padding-top: 5px; }
.pt-25 { padding-top: 25px; }

/* Layout */
.max-w-720 { max-width: 720px; }
.w-29 { max-width: 29%; }

/* Flex utilities */
.d-flex-center { display: flex; justify-content: center; align-items: center; }

/* Button states */
.disabled-link {
    pointer-events: none;
    opacity: 0.6;
    cursor: not-allowed;
}

/* Form elements */
.form-check-inline {
    text-align: left;
}

/* Review confirm page specific */
.review-warning {
    font-size: 14px;
    font-weight: 600;
    margin-top: 1rem;
}

.review-note {
    font-size: 14px;
    color: #008080;
    font-weight: bold;
    padding-top: 6px;
}

.review-note-box {
    padding: 10px 0 0 0;
}

/* Table cell alignment */
.td-center { text-align: center; }

/* Sticky sidebar */
.sticky-sidebar {
    position: sticky;
    top: 100px;
}

/* Arrow icons */
.arrow-up {
    display: inline-block;
    margin: 0 0 1px 0;
}

/* Section padding */
.section-about {
    padding-top: 25px;
}

/* Note text */
.note-red {
    color: red;
}

/* Payment button */
.payment-btn {
    text-align: center;
}

/* Loading spinner */
.loading-text {
    color: #007bff;
}

/* Manuscript submission success */
.success-title {
    text-align: center;
    padding-bottom: 13px;
}

.success-note {
    text-align: center;
    padding-top: 5px;
}

.success-note small {
    font-size: 12px;
    color: #777;
    font-style: italic;
}

/* Profile edit position */
.profile-edit-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    z-index: 1000;
}

/* Co-authors empty state */
.coauthors-empty {
    color: #999;
    font-size: 13px;
}

/* Author badge colors */
.badge-diamond { color: #4db8ff; }
.badge-gold { color: #d4af37; }
.badge-silver { color: #c0c0c0; }
.badge-bronze { color: #cd7f32; }

/* Home page specific: remove negative gutter margins on all .row */
.esp .row {
    margin-left: 0;
    margin-right: 0;
}
.cd { display: none; }
.aiptt { text-transform: capitalize; }
.jtl { text-align: center; font-size: 1rem; }
.rahb {
    color: #085f9f !important;
    text-align: center;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.brb { border-top-left-radius: 0 !important; }

.text-justify { text-align: justify; }
.pl-40 { padding-left: 40px; }

/* SVG alignment */
.svg-middle { vertical-align: middle; }

/* Journal details page */
.section-about { padding-top: 25px; }
.row-no-margin { margin: 0; }
.arrow-up {
    display: inline-block;
    margin: 0 0 1px 0;
}
.td-center { text-align: center; }
/* .img-pubmed lives in custom.css: header-journal.php does not load this
   file, so the constraint never applied on journal pages. */

@media only screen and (max-width: 600px) {
    .bg-white, .shadow {
        background-color: transparent !important;
        box-shadow: none !important;
    }
}
