/*
Theme Name: e-IPH Publisher
Theme URI: https://e-iph.co.uk
Author: e-International Publishing House, Ltd.
Description: Custom theme for the e-IPH publisher website. Scholarly navy/gold design system, dark mode support, no page-builder dependency.
Version: 1.0
Text Domain: eiph-publisher
*/

:root{
  --bg:#F7F5EE; --bg-card:#FFFFFF; --border:#E4DFD3; --ink:#16181F; --ink-soft:#4A4638;
  --muted:#6B6656; --navy:#1C3A56; --navy-deep:#142A3F; --gold:#B8863B; --band:#16233A;
  --band-text:#F7F5EE; --band-muted:#C7CBD6;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14161B; --bg-card:#1B1E25; --border:#2C303A; --ink:#F2F1EC; --ink-soft:#C9C6BA;
    --muted:#9A9688; --navy:#7FA8CC; --navy-deep:#9CC0E0; --gold:#D9A857; --band:#0D141F;
    --band-text:#F2F1EC; --band-muted:#AEB4C2;
  }
}
:root[data-theme="dark"]{
  --bg:#14161B; --bg-card:#1B1E25; --border:#2C303A; --ink:#F2F1EC; --ink-soft:#C9C6BA;
  --muted:#9A9688; --navy:#7FA8CC; --navy-deep:#9CC0E0; --gold:#D9A857; --band:#0D141F;
  --band-text:#F2F1EC; --band-muted:#AEB4C2;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:'Source Sans 3',sans-serif; }
h1,h2,h3 { font-family:'Lora',serif; margin:0; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; }
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

header.site { border-bottom:1px solid var(--border); background:var(--bg-card); position:sticky; top:0; z-index:10; overflow:visible; }
.headerbar { display:flex; align-items:center; justify-content:space-between; padding:22px 0; flex-wrap:wrap; gap:14px; }
.brand { display:flex; align-items:baseline; gap:10px; }
.brand .mark { font-family:'Lora',serif; font-weight:700; font-size:22px; color:var(--navy); }
.brand .sub { font-size:12.5px; color:var(--muted); }
nav.main-nav { display:flex; gap:clamp(14px,3vw,32px); align-items:center; flex-wrap:wrap; }
nav.main-nav ul { list-style:none; display:flex; gap:clamp(14px,3vw,32px); margin:0; padding:0; flex-wrap:wrap; }
nav.main-nav a { font-weight:600; font-size:14.5px; color:var(--ink); padding:6px 2px; }
nav.main-nav a:hover, nav.main-nav .current-menu-item > a { color:var(--gold); }

.btn { display:inline-block; padding:12px 24px; border-radius:4px; font-weight:600; font-size:14.5px; cursor:pointer; border:1.5px solid transparent; }
.btn-primary { background:var(--navy); color:var(--bg); }
.btn-primary:hover { background:var(--navy-deep); }
.btn-outline { color:var(--navy); border-color:var(--navy); }
.btn-outline:hover { background:var(--navy); color:var(--bg); }

main { min-height: 60vh; }
.eyebrow { font-size:12.5px; font-weight:700; letter-spacing:.08em; color:var(--gold); text-transform:uppercase; margin-bottom:10px; }

section.hero { padding: 72px 0 56px; }
section.hero h1 { font-size: clamp(32px,4.4vw,50px); line-height:1.15; max-width:820px; }
section.hero p.lead { font-size:18px; line-height:1.6; color:var(--ink-soft); max-width:640px; margin:22px 0 0; }
.cta-row { display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }

section.band { padding: 4px 0 72px; }
.cards { display:grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin-top:32px; }
.card { background:var(--bg-card); border:1px solid var(--border); border-radius:8px; padding:28px; display:flex; flex-direction:column; gap:12px; }
.card.card-row { flex-direction:row; gap:28px; align-items:flex-start; }
.card h3 { font-size:19px; }
.card .meta { font-size:12.5px; color:var(--muted); font-weight:600; }
.card p { font-size:14.5px; line-height:1.6; color:var(--ink-soft); margin:0; flex-grow:1; }
.card a.jlink { font-size:14.5px; font-weight:700; color:var(--navy); }
.card a.jlink:hover { color:var(--gold); }

.badge { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:32px; padding:0 12px; border-radius:16px; font-family:'Lora',serif; font-weight:700; font-size:12.5px; letter-spacing:0.01em; color:#fff; margin-bottom:8px; }
.badge-ebpj { background:#1C3A56; }
.badge-ajebs { background:#2E7D6B; }
.badge-jabs { background:#B8863B; }
.badge-ajbes { background:#B0532A; }
.badge-ajqol { background:#4A6B3A; }

section.dark { background:var(--band); color:var(--band-text); padding:72px 0; }
section.dark .eyebrow { color:var(--gold); }
section.dark h2 { color:var(--band-text); font-size:28px; max-width:600px; line-height:1.3; }
.twocol { display:grid; grid-template-columns: 1fr 1fr; gap:56px; margin-top:8px; }
@media (max-width:820px){ .twocol{ grid-template-columns:1fr; } }
.dark p.small { font-size:14.5px; line-height:1.6; color:var(--band-muted); margin:0 0 20px; }
.dark h4 { color:var(--band-text); font-size:15.5px; margin-bottom:6px; }

section.plain { padding: 72px 0; }
section.plain h2 { font-size:28px; max-width:640px; line-height:1.3; }
.policy-row { display:flex; gap:40px; padding:30px 0; border-top:1px solid var(--border); }
.policy-row:last-child { border-bottom:1px solid var(--border); }
.policy-row h3 { flex: 0 0 220px; font-size:17px; }
.policy-row p { flex:1; font-size:14.5px; line-height:1.7; color:var(--ink-soft); margin:0; }
.policy-row a { color:var(--navy); font-weight:600; }
.policy-row a:hover { color:var(--gold); }
@media (max-width:700px){ .policy-row{ flex-direction:column; gap:8px; } .policy-row h3{ flex:none; } }

footer.site { border-top:1px solid var(--border); background:var(--bg-card); padding:36px 0; }
.footbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footbar .copy { font-size:13px; color:var(--muted); }
.footbar ul { list-style:none; display:flex; gap:22px; flex-wrap:wrap; margin:0; padding:0; }
.footbar a { font-size:13px; color:var(--muted); font-weight:600; }
.footbar a:hover { color:var(--gold); }

form.contact-form { display:flex; flex-direction:column; gap:16px; max-width:520px; margin-top:28px; }
form.contact-form label { font-size:13.5px; font-weight:600; margin-bottom:6px; display:block; }
form.contact-form input, form.contact-form textarea { width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:4px; background:var(--bg-card); color:var(--ink); font-family:inherit; font-size:14.5px; }

.theme-toggle { background:none; border:1px solid var(--border); border-radius:20px; padding:6px 12px; font-size:12.5px; font-weight:600; color:var(--ink); cursor:pointer; }

/* Generic page content (for plain WP pages using page.php) */
.entry-content { font-size:16px; line-height:1.75; color:var(--ink-soft); }
.entry-content h1 { font-size:38px; color:var(--ink); margin-bottom:18px; }
.entry-content h2 { font-size:26px; color:var(--ink); margin:36px 0 14px; }
.entry-content p { margin:0 0 18px; }

/* Catalogue page */
.catalogue-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap:30px 24px; margin-top:8px; }
.cat-item { display:flex; flex-direction:column; }
.cat-cover-link { display:block; border-radius:6px; overflow:hidden; box-shadow:0 3px 10px rgba(0,0,0,0.14); transition:transform .18s ease, box-shadow .18s ease; }
.cat-cover-link:hover { transform:translateY(-5px); box-shadow:0 10px 22px rgba(0,0,0,0.22); }
.cat-cover { display:block; width:100%; aspect-ratio: 3 / 4; object-fit:cover; background:var(--border); }
.cat-info { padding-top:12px; display:flex; flex-direction:column; gap:6px; flex-grow:1; }
.cat-title { font-size:14.5px; line-height:1.35; font-weight:700; color:var(--ink); }
.cat-isbn { font-size:11.5px; color:var(--muted); font-family:'Source Sans 3',sans-serif; letter-spacing:0.02em; }
.cat-download { margin-top:auto; padding:8px 16px; font-size:12.5px; align-self:flex-start; }
.cat-cover-placeholder { width:100%; aspect-ratio:3/4; background:var(--border); display:flex; align-items:center; justify-content:center; text-align:center; padding:14px; color:var(--muted); font-size:13px; font-weight:600; }

/* All Publications page */
.pub-list { display:flex; flex-direction:column; border-top:1px solid var(--border); }
.pub-row { display:flex; align-items:center; gap:20px; padding:18px 4px; border-bottom:1px solid var(--border); color:var(--ink); transition:background .15s ease; }
.pub-row:hover { background:var(--bg-card); }
.pub-badge { flex-shrink:0; margin-bottom:0; width:76px; justify-content:center; }
.pub-row-title { flex:1; font-size:15px; font-weight:600; line-height:1.4; }
.pub-row:hover .pub-row-title { color:var(--gold); }
.pub-row-date { flex-shrink:0; font-size:13px; color:var(--muted); font-weight:600; }
@media (max-width:680px){ .pub-row{ flex-wrap:wrap; } .pub-row-date{ width:100%; order:3; } }

/* Full archive rows with author/DOI detail */
.pub-row-full { align-items:flex-start; padding:16px 4px; }
.pub-row-full .pub-badge { margin-top:2px; }
.pub-row-main { flex:1; display:flex; flex-direction:column; gap:3px; }
.pub-row-full .pub-row-title { font-size:15px; }
.pub-row-authors { font-size:13px; color:var(--ink-soft); font-weight:500; }
.pub-row-doi { font-size:11.5px; color:var(--muted); font-family:monospace; }
.pub-row-full .pub-row-date { align-self:flex-start; margin-top:2px; }

/* Cover thumbnail on publication rows */
.pub-cover { width:50px; height:66px; object-fit:cover; border-radius:3px; flex-shrink:0; box-shadow:0 2px 6px rgba(0,0,0,0.18); }
.pub-badge-small { width:auto; height:auto; padding:2px 9px; font-size:10.5px; margin-bottom:4px; align-self:flex-start; }
