:root {
    --text-primary: #5682ad !important;
    --text-secondary: #4a4a4a !important;
    --accent-color: #e43014 !important;
    /* Muted Gold/Bronze for luxury feel */
    --bg-body: #fdfbf7 !important;
    /* Warm detailed paper white */
    --bg-container: #ffffff !important;
    --border-color: #e0e0e0 !important;
}

html,
body {
    font-family: Times New Arial, Helvetica, sans-serif !important;
}

.custom-document-container {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 20px !important;
}

/* Typography Defaults */
h3 {
    font-family: Times New Arial, Helvetica, sans-serif !important;
    color: var(--text-primary) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    border-bottom: none !important;
}

/* Main Title Styling */
.custom-main-title {
    font-size: 2.4rem !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
    color: #000 !important;
    font-family: Verdana, Geneva, Tahoma, sans-serif !important;
    font-style: italic !important;
    border-bottom: none !important;
    padding-bottom: 30px !important;
}

/* Subtitle Styling */
.custom-subtitle {
    font-family: Times New Arial, Helvetica, sans-serif !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 4rem !important;
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: var(--text-secondary) !important;
}

.custom-subtitle span {
    font-size: 1.3rem !important;
    font-weight: normal !important;
    /* font-style: italic !important; */
}

/* General Section Headers */
.custom-section-title {
    font-size: 1.6rem !important;
    color: var(--text-primary) !important;
    margin-top: 3.5rem !important;
    margin-bottom: 1.5rem !important;
    border-left: 3px solid var(--accent-color) !important;
    padding-left: 15px !important;
}

/* Paragraphs */
.custom-content-paragraph {
    font-size: 1.1rem !important;
    color: var(--text-secondary) !important;
    margin-bottom: 1.5rem !important;
    text-align: justify !important;
}

/* Inline Highlights */
strong,
b,
.custom-highlight {
    font-weight: 700 !important;
    color: #000 !important;
}

/* Lists styled as clean data grids */
.custom-info-grid {
    list-style: none !important;
    padding: 20px 0 0 0 !important;
    margin-bottom: 3rem !important;
    border-top: 1px solid var(--border-color) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    row-gap: 20px !important;
}

.custom-info-item {
    width: 45% !important;
    flex-grow: 1 !important;
    min-width: 300px !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding-bottom: 15px !important;
    margin-bottom: 5px !important;
}

.custom-info-content {
    margin: 0 !important;
    font-size: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
}

.custom-info-label {
    font-family: Times New Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.05em !important;
    color: var(--text-primary) !important;
    text-transform: uppercase !important;
    margin-bottom: 5px !important;
    display: block !important;
    font-weight: 700 !important;
}

/* Links */
.custom-decorated-link {
    color: var(--accent-color) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.custom-decorated-link:hover {
    text-decoration: underline !important;
}

.pkp_navigation_user_wrapper {
    background: #5682ad !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .custom-document-container {
        padding: 40px 20px !important;
        width: auto !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: none !important;
    }

    .custom-main-title {
        font-size: 1.8rem !important;
    }

    .custom-info-item {
        width: 100% !important;
    }
}

@media (min-width: 992px) {
    .journal_menu {
        background: #5682ad !important;
    }

    .pkp_nav_list ul {
        padding-left: 0 !important;
        background: #5682ad !important;
    }

    .journal_inner a {
        color: #fff !important;
    }

    .pkp_navigation_primary .dropdown-menu a:hover {
        border-left: 4px solid var(--accent-color) !important;
    }

    .pkp_nav_list ul a:hover,
    .pkp_nav_list ul a:focus {
        background: #5682ad !important;
    }
}