/* DRIC Research Publications — Front-end theme */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
    --dric-navy:   #0c2340;
    --dric-blue:   #15467e;
    --dric-accent: #2e7d32;
    --dric-gold:   #f0a500;
    --dric-bg:     #f5f7fa;
    --dric-text:   #1c2b3a;
    --dric-soft:   #5b6677;
    --dric-border: #e5e8ee;
}

* { box-sizing: border-box; }
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, 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: 500; }
.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: #ffba24; color: var(--dric-navy); }

/* ---------- hero ---------- */
.dric-hero {
    background: linear-gradient(135deg, rgba(12,35,64,.92) 0%, rgba(21,70,126,.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: #e2a927; color: #fff; 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); }
.dric-section-sub { color: var(--dric-soft); margin-bottom: 24px; }

/* ---------- category tabs ---------- */
.dric-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 26px; }
.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;
    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); }

/* ---------- 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(12,35,64,.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.15rem; 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: #e2a927; color:#fff; border:0; border-radius:8px;
    padding:10px 20px; font-weight:600; font-size:.85rem; text-decoration:none; white-space:nowrap;
}
.btn-view:hover { background:#080845; 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:#fff; }
.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(12,35,64,.55), rgba(12,35,64,.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:#e2a927; color:#fff; border:0;
    border-radius:999px; font-weight:600; font-size:.95rem;
    padding:11px 46px;
}
.btn-login-submit:hover { background:#1b5e1f; }

/* ---------- 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-accent); color:#fff; text-decoration:none;
    font-size:1.15rem; font-weight:700; padding:18px 40px; border-radius:12px;
    box-shadow:0 6px 18px rgba(46,125,50,.3); border:0; width:100%; max-width:420px;
}
.btn-download-big:hover { background:#1b5e1f; color:#fff; }
.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; }

@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; }
}
