/* DRIC Research Publications — Front-end theme */

:root {
    --dric-navy:   #0a0852;
    --dric-blue:   #12106a;
    --dric-accent: #e1a925;
    --dric-gold:   #e1a925;
    --dric-bg:     #fbf9cb;
    --dric-text:   #1c2b3a;
    --dric-soft:   #5b6677;
    --dric-border: #e5e8ee;
}

* { box-sizing: border-box; }
.container { max-width: 1220px; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: var(--dric-text);
    /* background: var(--dric-bg);*/
    margin: 0;
}

/* ---------- top nav ---------- */
.dric-nav {
    background: var(--dric-navy);
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 1030;
}
.dric-nav .navbar-brand { color: #fff; font-weight: 800; letter-spacing: .3px; display:flex; align-items:center; gap:10px; }
.dric-nav .navbar-brand small { display:block; font-weight:500; font-size:.62rem; opacity:.8; letter-spacing:1px; text-transform:uppercase; }
.dric-nav .nav-link { color: rgba(255,255,255,.85) !important; font-weight: 400;font-size: 0.9em;}
.dric-nav .nav-link:hover { color: #fff !important; }
.btn-login {
    background: var(--dric-gold);
    color: var(--dric-navy);
    font-weight: 700;
    border-radius: 999px;
    /* padding: 8px 22px;*/
    border: 0;
}
.btn-login:hover { background: #dba121; color: var(--dric-navy); }

/* ---------- hero ---------- */
.dric-hero {
    background: linear-gradient(135deg, rgba(10,8,82,.92) 0%, rgba(18,16,106,.88) 100%),
        url('https://images.unsplash.com/photo-1532012197267-da84d127e765?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
    color: #fff;
    padding: 90px 0 70px;
    text-align: center;
}
.dric-hero h1 { font-weight: 800; font-size: 2.5rem; margin-bottom: 14px; }
.dric-hero p { font-size: 1.1rem; opacity: .9; max-width: 720px; margin: 0 auto 26px; }
.dric-hero .hero-search {
    max-width: 620px; margin: 0 auto;
    display: flex; gap: 8px;
    background: #fff; border-radius: 999px; padding: 6px;
}
.dric-hero .hero-search input {
    flex: 1; border: 0; outline: 0; padding: 10px 18px; border-radius: 999px; font-size: .95rem; color: var(--dric-text);
}
.dric-hero .hero-search button {
    background: var(--dric-gold); color: var(--dric-navy); border: 0; border-radius: 999px; padding: 10px 26px; font-weight: 600;
}

.dric-stats { display:flex; gap:30px; justify-content:center; margin-top:34px; flex-wrap:wrap; }
.dric-stats .s b { display:block; font-size:1.8rem; font-weight:800; }
.dric-stats .s span { font-size:.82rem; opacity:.85; }

/* ---------- section ---------- */
.dric-section { padding: 50px 0; }
.dric-section-title { font-weight: 800; font-size: 1.7rem; margin-bottom: 6px; color: var(--dric-navy); text-align:center; }
.dric-section-sub { color: var(--dric-soft); margin-bottom: 24px; text-align:center; max-width:720px; margin-left:auto; margin-right:auto; }

/* ---------- category tabs row (scrollable + filter toggle) ---------- */
.dric-tabs-row {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 26px;
}
.dric-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    scroll-behavior: smooth;
    flex: 1;
    min-width: 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 2px 0;
}
.dric-tabs::-webkit-scrollbar { display: none; }
.dric-tabs a {
    text-decoration: none;
    background: #fff;
    border: 1px solid var(--dric-border);
    color: var(--dric-text);
    border-radius: 999px;
    padding: 8px 18px;
    font-size: .85rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all .12s ease;
}
.dric-tabs a .count { color: var(--dric-soft); font-weight: 500; }
.dric-tabs a:hover { border-color: var(--dric-navy); }
.dric-tabs a.active { background: var(--dric-navy); border-color: var(--dric-navy); color:#fff; }
.dric-tabs a.active .count { color: rgba(255,255,255,.75); }

/* Scroll arrows */
.dric-tabs-arrow {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--dric-border);
    background: #fff;
    color: var(--dric-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
    font-size: .75rem;
    padding: 0;
}
.dric-tabs-arrow:hover { background: var(--dric-navy); color: #fff; border-color: var(--dric-navy); }
.dric-tabs-arrow:active { transform: scale(.95); }

/* Filter toggle button (right side of tabs row) */
.jctb-adv-toggle {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid var(--dric-border);
    color: var(--dric-navy);
    border-radius: 999px;
    padding: 8px 18px;
    font-size: .85rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all .12s ease;
    position: relative;
}
.jctb-adv-toggle:hover { border-color: var(--dric-navy); }
.jctb-adv-toggle[aria-expanded="true"] { background: var(--dric-navy); color: #fff; border-color: var(--dric-navy); }
.jctb-adv-toggle i { color: var(--dric-accent); }
.jctb-adv-toggle[aria-expanded="true"] i { color: var(--dric-accent); }
.jctb-adv-active-dot {
    position: absolute;
    top: 4px;
    right: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dric-accent);
}

/* ---------- publication list cards ---------- */
.pub-card {
    background:#fff;
    border:1px solid var(--dric-border);
    border-radius:14px;
    padding:22px 24px;
    margin-bottom:18px;
    display:flex;
    gap:20px;
    align-items:flex-start;
    transition: box-shadow .15s ease, transform .15s ease;
}
.pub-card:hover { box-shadow: 0 8px 24px rgba(10,8,82,.08); transform: translateY(-2px); }
.pub-icon {
    width:64px; height:64px; flex-shrink:0;
    border-radius:12px;
    background:#fff;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--dric-border);
    overflow:hidden;
}
.pub-icon img {
    width:100%; height:100%;
    object-fit:contain;
    padding:6px;
    filter: grayscale(100%);
    opacity:.7;
}
.pub-body { flex:1; min-width:0; }
.pub-type-badge {
    display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
    background:#e8f0fb; color:var(--dric-blue); padding:3px 10px; border-radius:999px; margin-bottom:8px;
}
.pub-title { font-size:1.25rem; font-weight:700; margin:0 0 8px; }
.pub-title a { color: var(--dric-navy); text-decoration:none; }
.pub-title a:hover { color: var(--dric-blue); }
.pub-meta { display:flex; flex-wrap:wrap; gap:18px; color:var(--dric-soft); font-size:.85rem; margin-bottom:6px; }
.pub-meta i { color: var(--dric-accent); margin-right:5px; }
.pub-authors { font-size:.85rem; color:var(--dric-text); }
.pub-right { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex-shrink:0; }
.btn-view {
  background: transparent;
color: var(--dric-navy);
border: 0;
border-radius: 8px;
padding: 10px 20px;
font-weight: 600;
font-size: .85rem;
text-decoration: none;
white-space: nowrap;
border: solid 1px #ccc;
}
.btn-view:hover { background: var(--dric-navy); color:#fff; }
.pub-date { font-size:.78rem; color:var(--dric-soft); white-space:nowrap; }

/* ---------- pagination ---------- */
.dric-pagination { display:flex; justify-content:center; gap:6px; margin-top:30px; flex-wrap:wrap; }
.dric-pagination a, .dric-pagination span {
    min-width:40px; text-align:center;
    padding:9px 14px; border-radius:999px;
    border:1px solid var(--dric-border); background:#fff; color:var(--dric-text);
    text-decoration:none; font-size:.85rem; font-weight:600;
}
.dric-pagination a:hover { border-color:var(--dric-navy); }
.dric-pagination .active { background:var(--dric-navy); border-color:var(--dric-navy); color:#fff; }
.dric-pagination .disabled { opacity:.45; pointer-events:none; }

/* ---------- footer ---------- */
.dric-footer { background:var(--dric-navy); color:rgba(255,255,255,.8); padding:40px 0 24px; margin-top:40px; }
.dric-footer a { color:rgba(255,255,255,.8); text-decoration:none; }
.dric-footer a:hover { color:var(--dric-gold); }
.dric-footer h6 { color:#fff; font-weight:700; margin-bottom:14px; }

/* ---------- simple sign-in modal ---------- */
.login-modal .modal-content { border:0; border-radius:14px; overflow:hidden; position:relative; }
.login-modal .btn-close {
    position:absolute; top:12px; right:12px; z-index:5;
    filter: invert(1) grayscale(1); opacity:.9;
}
.login-banner {
    height:150px;
    background:
        linear-gradient(rgba(10,8,82,.55), rgba(10,8,82,.55)),
        url('https://images.unsplash.com/photo-1497032205916-ac775f0649ae?auto=format&fit=crop&w=1200&q=60') center/cover no-repeat;
    display:flex; align-items:center; justify-content:center;
}
.login-banner h5 {
    color:#fff; font-weight:800; letter-spacing:2px;
    font-size:1.6rem; margin:0; text-transform:uppercase;
}
.login-modal .modal-body { padding:34px 38px 40px; }
.login-field { display:flex; align-items:center; gap:18px; margin-bottom:26px; }
.login-field label { width:90px; flex-shrink:0; color:var(--dric-soft); font-size:.92rem; text-align:left; }
.login-field input {
    flex:1; border:0; border-bottom:1px solid var(--dric-border);
    padding:6px 2px; font-size:.95rem; color:var(--dric-text);
    background:transparent; outline:none;
}
.login-field input::placeholder { color:#9aa4b2; }
.login-field input:focus { border-bottom-color:var(--dric-accent); }
.login-options {
    display:flex; align-items:center; justify-content:space-between;
    margin:0 0 26px 108px; font-size:.85rem;
}
.login-options .remember { color:var(--dric-soft); display:flex; align-items:center; gap:7px; margin:0; cursor:pointer; }
.login-options .forgot { color:var(--dric-soft); text-decoration:none; }
.login-options .forgot:hover { color:var(--dric-accent); }
.btn-login-submit {
    background:var(--dric-gold); color:var(--dric-navy); border:0;
    border-radius:999px; font-weight:600; font-size:.95rem;
    padding:11px 46px;
}
.btn-login-submit:hover { background:#dba121; }

/* ---------- single publication ---------- */
.pub-hero { background:var(--dric-navy); color:#fff; padding:46px 0; }
.pub-hero .crumb { font-size:.8rem; opacity:.8; margin-bottom:12px; }
.pub-hero .crumb a { color:#fff; }
.pub-hero h1 { font-weight:800; font-size:2rem; margin:0; max-width:900px; }
.detail-table { width:100%; }
.detail-table .row-item { display:flex; padding:12px 0; border-bottom:1px solid var(--dric-border); }
.detail-table .row-item .lbl { width:200px; flex-shrink:0; color:var(--dric-soft); font-weight:600; font-size:.85rem; }
.detail-table .row-item .val { flex:1; font-size:.92rem; }
.keywords-box { background:#fff; border:1px solid var(--dric-border); border-radius:14px; padding:20px 24px; margin:24px 0; }
.keywords-box .kw { display:inline-block; background:var(--dric-bg); border:1px solid var(--dric-border); border-radius:999px; padding:5px 14px; font-size:.82rem; margin:4px 6px 4px 0; }
.btn-download-big {
    display:inline-flex; align-items:center; justify-content:center; gap:12px;
    background:var(--dric-gold); color:var(--dric-navy); text-decoration:none;
    font-size:1.15rem; font-weight:700; padding:18px 40px; border-radius:12px;
    box-shadow:0 6px 18px rgba(225,169,37,.3); border:0; width:100%; max-width:420px;
}
.btn-download-big:hover { background:#dba121; color:var(--dric-navy); }
.detail-tabs .nav-tabs { border-bottom:2px solid var(--dric-border); gap:4px; }
.detail-tabs .nav-tabs .nav-link { border:0; border-bottom:3px solid transparent; border-radius:0; color:var(--dric-soft); font-weight:600; padding:12px 22px; }
.detail-tabs .nav-tabs .nav-link.active { color:var(--dric-navy); border-bottom-color:var(--dric-navy); background:transparent; }
.detail-tabs .tab-content { background:#fff; border:1px solid var(--dric-border); border-top:0; padding:26px; border-radius:0 0 14px 14px; line-height:1.7; font-size: 0.95em; }

@media (max-width: 768px) {
    .pub-card { flex-direction:column; }
    .pub-right { align-items:flex-start; flex-direction:row; width:100%; justify-content:space-between; }
    .detail-table .row-item { flex-direction:column; gap:2px; }
    .detail-table .row-item .lbl { width:auto; }
    .dric-hero h1 { font-size:1.8rem; }
}

/* =========================================================
   JCTB front-end revamp — same colour scheme
   ========================================================= */

/* utility */
.bg-soft { background: #f6f6f6; }
.btn-outline-navy {
    border:1.5px solid var(--dric-navy); color:var(--dric-navy);
    background:transparent; border-radius:999px; font-weight:600;
    padding:9px 24px; text-decoration:none; display:inline-block; transition:all .15s ease;
}
.btn-outline-navy:hover { background:var(--dric-navy); color:#fff; }

/* top utility bar */
.jctb-topbar { background:#060540; color:rgba(255,255,255,.75); font-size:.8rem; padding:7px 0; }
.jctb-topbar a { color:rgba(255,255,255,.8); text-decoration:none; margin-left:18px; }
.jctb-topbar a:hover { color:var(--dric-gold); }
.jctb-topbar-links i { margin-right:5px; }

/* brand text */
.dric-nav .navbar-brand img { height:90px; width:auto; margin-right:12px; }
.dric-nav .brand-text { display:inline-flex; flex-direction:column; line-height:1.05; }
.dric-nav .brand-text small { font-weight:500; font-size:.6rem; opacity:.8; letter-spacing:.5px; text-transform:uppercase; }

/* simple single-column dropdowns */
.dric-nav .dropdown-menu {
    border:0; border-radius:10px; box-shadow:0 12px 30px rgba(10,8,82,.18);
    padding:8px; margin-top:8px; min-width:240px;
}
.dric-nav .dropdown-item { border-radius:7px; padding:9px 14px; font-size:.9rem; font-weight:500; color:var(--dric-text); white-space:normal; }
.dric-nav .dropdown-item:hover { background:var(--dric-bg); color:var(--dric-navy); }
.dric-nav .nav-link.active { color:#fff !important; }
.dric-nav .dropdown-toggle::after { margin-left:.4em; vertical-align:.12em; }
@media (min-width:992px){ .dric-nav .nav-item { margin:0 2px; } }

/* hero */
.jctb-hero {
    background:linear-gradient(135deg, rgba(10,8,82,.95) 0%, rgba(18,16,106,.9) 100%),
        url('https://images.unsplash.com/photo-1532012197267-da84d127e765?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
    color:#fff; padding:70px 0;
}
.jctb-hero-badge { display:none; background:rgba(225,169,37,.18); color:var(--dric-gold); border:1px solid rgba(225,169,37,.4); border-radius:999px; padding:5px 16px; font-size:.78rem; font-weight:600; margin-bottom:16px; }
.jctb-hero h1 { font-weight:800; font-size:2.4rem; line-height:1.15; margin-bottom:16px; }
.jctb-hero p { font-size:1.05rem; opacity:.92;  margin-bottom:24px; }
.jctb-hero .hero-search { display:flex; gap:8px; background:#fff; border-radius:999px; padding:6px; }
.jctb-hero .hero-search input { flex:1; border:0; outline:0; padding:10px 18px; border-radius:999px; font-size:.95rem; color:var(--dric-text); }
.jctb-hero .hero-search button { background:var(--dric-gold); color:var(--dric-navy); border:0; border-radius:999px; padding:10px 24px; font-weight:700; white-space:nowrap; }
.jctb-hero-stats { display:flex; gap:34px; margin-top:30px; flex-wrap:wrap; justify-content:center; }
.jctb-hero-stats b { display:block; font-size:1.7rem; font-weight:800; }
.jctb-hero-stats span { font-size:.8rem; opacity:.82; }
.jctb-hero-cards { display:flex; flex-direction:column; gap:14px; }
.jctb-hl-card { display:flex; gap:14px; align-items:flex-start; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:16px 18px; backdrop-filter:blur(3px); }
.jctb-hl-card i { font-size:1.4rem; color:var(--dric-gold); margin-top:3px; }
.jctb-hl-card b { display:block; font-size:1rem; }
.jctb-hl-card span { font-size:.83rem; opacity:.85; }

/* sections */
.jctb-section { padding:60px 0; }
.jctb-section-title { font-weight:800; font-size:1.8rem; color:var(--dric-navy); margin-bottom:6px; text-align:center; }
.jctb-section-sub { color:var(--dric-soft); margin-bottom:28px; text-align:center; }
.jctb-about-body { margin:0 auto; line-height:1.8; color:var(--dric-text);}

/* ---------- section ---------- */
.dric-section { padding: 50px 0; }
.dric-section-title { font-weight: 800; font-size: 1.7rem; margin-bottom: 6px; color: var(--dric-navy); text-align:center; }
.dric-section-sub { color: var(--dric-soft); margin-bottom: 24px; text-align:center; }

/* accordion */
.jctb-accordion .accordion-item { border:1px solid var(--dric-border); border-radius:12px !important; margin-bottom:12px; overflow:hidden; }
.jctb-accordion .accordion-button { font-weight:700; color:var(--dric-navy); background:#fff; }
.jctb-accordion .accordion-button:not(.collapsed) { color:#fff; background:var(--dric-navy); box-shadow:none; }
.jctb-accordion .accordion-button:focus { box-shadow:none; }
.jctb-accordion .accordion-button:not(.collapsed)::after { filter:brightness(0) invert(1); }
.jctb-accordion .accordion-body { line-height:1.75; color:var(--dric-text); }

/* team */
.jctb-team-card { background:#fff; border:1px solid var(--dric-border); border-radius:16px; padding:28px 20px; text-align:center; height:100%; transition:box-shadow .15s ease, transform .15s ease; }
.jctb-team-card:hover { box-shadow:0 10px 28px rgba(10,8,82,.1); transform:translateY(-3px); }
.jctb-team-avatar { width:96px; height:96px; margin:0 auto 16px; border-radius:50%; background:linear-gradient(135deg,var(--dric-navy),var(--dric-blue)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:2rem; font-weight:800; overflow:hidden; }
.jctb-team-avatar img { width:100%; height:100%; object-fit:cover; }
.jctb-team-card h5 { font-weight:700; color:var(--dric-navy); margin-bottom:4px; font-size:1.1rem; }
.jctb-team-role { color:var(--dric-accent); font-weight:600; font-size:.9rem; margin-bottom:2px; }
.jctb-team-aff { color:var(--dric-soft); }

/* pills (news/events switch) */
.jctb-pills { gap:8px; }
.jctb-pills .nav-link { color:var(--dric-navy); background:#fff; border:1px solid var(--dric-border); border-radius:999px; font-weight:600; padding:9px 22px; }
.jctb-pills .nav-link.active { background:var(--dric-navy); color:#fff; border-color:var(--dric-navy); }
.jctb-pills .nav-link i { margin-right:6px; }

/* news cards */
.jctb-news-card { display:block; background:#fff; border:1px solid var(--dric-border); border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; height:100%; transition:box-shadow .15s ease, transform .15s ease; }
.jctb-news-card:hover { box-shadow:0 10px 26px rgba(10,8,82,.1); transform:translateY(-3px); }
.jctb-news-thumb { height:130px; background:linear-gradient(135deg,var(--dric-navy),var(--dric-blue)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); font-size:2rem; overflow:hidden; }
.jctb-news-thumb img { width:100%; height:100%; object-fit:cover; }
.jctb-news-card.tall .jctb-news-thumb { height:170px; }
.jctb-news-body { padding:16px 18px; }
.jctb-news-body h6 { font-weight:700; color:var(--dric-navy); margin:8px 0 6px; line-height:1.35; }
.jctb-news-body p { color:var(--dric-soft); margin-bottom:8px; }
.jctb-news-date { font-size:.78rem; color:var(--dric-soft); }
.jctb-chip { display:inline-block; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.4px; background:#e8e6c0; color:var(--dric-blue); padding:3px 10px; border-radius:999px; }
.jctb-chip.light { background:rgba(255,255,255,.18); color:#fff; }

/* event cards */
.jctb-event-card { display:flex; gap:16px; background:#fff; border:1px solid var(--dric-border); border-radius:14px; padding:18px; text-decoration:none; color:inherit; height:100%; transition:box-shadow .15s ease, transform .15s ease; }
.jctb-event-card:hover { box-shadow:0 10px 26px rgba(10,8,82,.1); transform:translateY(-3px); }
.jctb-event-date { flex-shrink:0; width:66px; text-align:center; background:var(--dric-navy); color:#fff; border-radius:12px; padding:10px 6px; align-self:flex-start; }
.jctb-event-date .d { display:block; font-size:1.6rem; font-weight:800; line-height:1; }
.jctb-event-date .m { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.5px; }
.jctb-event-date .y { display:block; font-size:.7rem; opacity:.7; }
.jctb-event-body h6 { font-weight:700; color:var(--dric-navy); margin-bottom:6px; }
.jctb-event-body p { color:var(--dric-soft); }
.jctb-event-body i { color:var(--dric-accent); margin-right:5px; }

/* page head + breadcrumb + prose + sidecard */
.jctb-pagehead { background:var(--dric-navy); color:#fff; padding:44px 0; }
.jctb-pagehead h1 { font-weight:800; font-size:2rem; margin:0; }
.jctb-pagehead-meta { opacity:.85; margin-top:10px; margin-bottom:0; }
.jctb-pagehead-meta i { margin-right:5px; }
.jctb-breadcrumb { font-size:.82rem; opacity:.85; margin-bottom:12px; }
.jctb-breadcrumb a { color:#fff; text-decoration:none; }
.jctb-breadcrumb span { margin:0 8px; opacity:.6; }
.jctb-prose { line-height:1.85; color:var(--dric-text); font-size:1rem; }
.jctb-prose h4 { color:var(--dric-navy); margin-top:1.4em; font-weight:700; }
.jctb-prose a { color:var(--dric-blue); }
.jctb-article-hero { width:100%; border-radius:14px; margin-bottom:22px; max-height:380px; object-fit:cover; }
.jctb-sidecard { background:#fff; border:1px solid var(--dric-border); border-radius:14px; padding:22px; position:sticky; top:90px; }
.jctb-sidecard h6 { font-weight:700; color:var(--dric-navy); margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--dric-border); }
.jctb-sidecard ul li { margin-bottom:4px; }
.jctb-sidecard ul li a { display:block; padding:8px 12px; border-radius:8px; text-decoration:none; color:var(--dric-text); font-size:.9rem; }
.jctb-sidecard ul li a:hover { background:var(--dric-bg); color:var(--dric-navy); }
.jctb-sidecard ul li.active a { background:var(--dric-navy); color:#fff; }
.jctb-event-detail p { display:flex; gap:10px; align-items:flex-start; font-size:.9rem; margin-bottom:10px; }
.jctb-event-detail i { color:var(--dric-accent); margin-top:3px; }

/* publication issue badge */
.pub-issue-badge { display:inline-block; font-size:.7rem; font-weight:700; background:#fbf6d7; color:var(--dric-accent); padding:3px 10px; border-radius:999px; margin:0 0 8px 6px; }
.pub-issue-badge i { margin-right:4px; }

/* contact */
.jctb-contact-info { background:var(--dric-navy); color:rgba(255,255,255,.9); border-radius:16px; padding:32px; height:100%; }
.jctb-contact-item { display:flex; gap:16px; margin-bottom:24px; }
.jctb-contact-item i { font-size:1.2rem; color:var(--dric-gold); margin-top:4px; width:24px; text-align:center; }
.jctb-contact-item b { display:block; margin-bottom:4px; }
.jctb-contact-item p { margin:0; font-size:.9rem; opacity:.85; }
.jctb-contact-item a { color:#fff; text-decoration:none; }
.jctb-contact-item a:hover { color:var(--dric-gold); }
.jctb-contact-form { background:#fff; border:1px solid var(--dric-border); border-radius:16px; padding:32px; }
.jctb-contact-form h5 { font-weight:700; color:var(--dric-navy); margin-bottom:18px; }

/* social icons */
.jctb-social { display:flex; gap:10px; margin-top:16px; }
.jctb-social a { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.12); color:#fff; text-decoration:none; transition:background .15s ease; }
.jctb-social a:hover { background:var(--dric-gold); color:var(--dric-navy); }
.jctb-social.dark a { background:var(--dric-navy); }
.jctb-social.dark a:hover { background:var(--dric-gold); color:var(--dric-navy); }

/* modern footer */
.jctb-footer { background:linear-gradient(180deg,#0a0852,#060540); color:rgba(255,255,255,.78); padding:54px 0 26px; margin-top:0; }
.jctb-footer a { color:rgba(255,255,255,.78); text-decoration:none; transition: color .2s ease, padding-left .25s ease; position: relative; }
.jctb-footer a:hover { color:var(--dric-gold); }
.jctb-footer ul li a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: var(--dric-gold);
    transition: width .3s cubic-bezier(.25,.8,.25,1);
}
.jctb-footer ul li a:hover::after { width: 100%; }
.jctb-footer ul li a:hover { padding-left: 6px; }
.jctb-footer h6 { color:#fff; font-weight:700; margin-bottom:16px; font-size:.95rem; }
.jctb-footer ul li { margin-bottom:9px; }
.jctb-foot-brand { font-size:1.3rem !important; }
.jctb-foot-brand i { color:var(--dric-gold); margin-right:8px; }
.jctb-foot-issn { display:flex; flex-direction:column; gap:3px; margin:12px 0; opacity:.8; }
.jctb-foot-contact li { display:flex; gap:10px; align-items:flex-start; }
.jctb-foot-contact i { color:var(--dric-gold); margin-top:4px; }
.jctb-foot-rule { border-color:rgba(255,255,255,.14); margin:34px 0 18px; }
.jctb-foot-legal a {
    margin-left:18px;
    position: relative;
    transition: color .2s ease;
}
.jctb-foot-legal a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: var(--dric-gold);
    transition: width .3s cubic-bezier(.25,.8,.25,1);
}
.jctb-foot-legal a:hover::after { width: 100%; }
.jctb-foot-contact a {
    position: relative;
    transition: color .2s ease, padding-left .25s ease;
}
.jctb-foot-contact a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1.5px;
    background: var(--dric-gold);
    transition: width .3s cubic-bezier(.25,.8,.25,1);
}
.jctb-foot-contact a:hover::after { width: 100%; }
.jctb-foot-contact a:hover { padding-left: 4px; }

/* ---------- line-drawn icons ---------- */
.fas, .fa-solid { -webkit-text-stroke: 1px currentColor; -webkit-text-fill-color: transparent; }
.fab, .far, .fa-brands, .fa-regular { -webkit-text-stroke: 0; -webkit-text-fill-color: currentColor; }

@media (max-width:768px){
    .jctb-hero h1 { font-size:1.7rem; }
    .jctb-hero { padding:46px 0; }
    .jctb-section { padding:42px 0; }
    .jctb-foot-legal a { margin:0 12px 0 0; }
}

/* ---------- advanced search panel ---------- */
.jctb-adv-search {
    background: #fff;
    border: 1px solid var(--dric-border);
    border-radius: 12px;
    margin-bottom: 22px;
    overflow: hidden;
}
.jctb-adv-search-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    cursor: pointer;
    font-weight: 700;
    color: var(--dric-navy);
    font-size: .95rem;
    user-select: none;
    transition: background .15s ease;
}
.jctb-adv-search-header:hover { background: #fafafa; }
.jctb-adv-search-header i { color: var(--dric-accent); }
.jctb-adv-chevron { transition: transform .2s ease; }
.jctb-adv-search-header[aria-expanded="true"] .jctb-adv-chevron { transform: rotate(180deg); }
.jctb-adv-active-badge {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    background: var(--dric-accent);
    color: var(--dric-navy);
    padding: 2px 10px;
    border-radius: 999px;
    letter-spacing: .4px;
}
.jctb-adv-search-form {
    padding: 0 20px 20px;
    border-top: 1px solid var(--dric-border);
}
.jctb-adv-search-form .form-label { font-size: .85rem; margin-bottom: 4px; color: var(--dric-text); }
.jctb-adv-search-form .form-control,
.jctb-adv-search-form .form-select {
    border: 1px solid var(--dric-border);
    border-radius: 8px;
    padding: 9px 14px;
    font-size: .9rem;
    color: var(--dric-text);
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.jctb-adv-search-form .form-control:focus,
.jctb-adv-search-form .form-select:focus {
    border-color: var(--dric-accent);
    box-shadow: 0 0 0 3px rgba(225,169,37,.15);
}
