/*
Theme Name: Pharmacus Centauri
Theme URI: https://centauri.ro
Author: Centauri
Description: Temă editorială pentru Pharmacus Centauri — grup de discuție și reformă în lumea farmaceutică. Articole stivuite, un autor pe articol, ritm săptămânal.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pharmacus-centauri
*/

:root{
  --paper: #EEF2EF;
  --paper-alt: #E4EAE5;
  --ink: #1B2422;
  --ink-soft: #4A5652;
  --verdigris: #2F6E62;
  --verdigris-dark: #1F4E45;
  --amber: #B9773F;
  --rule: #C9D2CB;
  --card: #F7F9F7;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.5;
  -webkit-font-smoothing: antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* ---------- HEADER ---------- */
.site-header{
  max-width:1040px;
  margin:0 auto;
  padding: 28px 24px 0;
}
.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  flex-wrap:wrap;
}
.site-branding .brand-link{
  display:flex;
  align-items:center;
  gap:12px;
}
.site-branding .custom-logo{
  width:46px; height:46px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
}
.brand-fallback{
  width:46px;height:46px;border-radius:50%;
  background:var(--verdigris-dark);color:var(--paper);
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:600;font-size:20px;
  flex-shrink:0;
}
.brand-text{ display:flex; flex-direction:column; }
.brand-name{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:26px;
  letter-spacing:0.01em;
  color:var(--verdigris-dark);
}
.brand-tagline{
  font-family:'IBM Plex Mono', monospace;
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:2px;
}
.main-navigation ul{
  list-style:none;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}
.main-navigation a{
  font-size:14px;
  font-weight:500;
  color:var(--ink-soft);
  padding-bottom:4px;
  border-bottom:2px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a{
  color:var(--verdigris-dark);
  border-color:var(--amber);
}
.header-rule{
  height:1px;
  background:linear-gradient(to right, var(--verdigris) 0%, var(--rule) 40%);
}
.header-strapline{
  font-family:'IBM Plex Mono', monospace;
  font-size:11.5px;
  color:var(--ink-soft);
  letter-spacing:0.03em;
  padding:10px 0 22px;
}

.site-main{
  max-width:1040px;
  margin:0 auto;
  padding: 0 24px 80px;
}

/* ---------- FEATURED ---------- */
.featured{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:40px;
  align-items:center;
  padding: 8px 0 44px;
  border-bottom:1px solid var(--rule);
  margin-bottom:40px;
}
.featured-art{
  position:relative;
  aspect-ratio: 4/3;
  border-radius:2px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(238,242,239,0.06), transparent 55%),
    linear-gradient(155deg, var(--verdigris-dark) 0%, #14201c 100%);
}
.featured-art img.wp-post-image{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.featured-logo-wrap{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.featured-logo-wrap img{
  width:72%; height:auto;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,0.45));
}
.num-plate{
  position:absolute;
  bottom:16px; right:16px;
  font-family:'IBM Plex Mono', monospace;
  font-size:10.5px;
  letter-spacing:0.06em;
  color:rgba(238,242,239,0.85);
  border:1px solid rgba(238,242,239,0.35);
  border-radius:2px;
  padding:4px 9px;
  background:rgba(0,0,0,0.15);
}
.tag{
  display:inline-block;
  font-family:'IBM Plex Mono', monospace;
  font-size:10.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--amber);
  border:1px solid var(--amber);
  border-radius:2px;
  padding:2px 7px;
  margin-bottom:14px;
}
.featured h1{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:34px;
  line-height:1.15;
  letter-spacing:-0.01em;
  margin-bottom:14px;
}
.featured p.excerpt{
  color:var(--ink-soft);
  font-size:15.5px;
  line-height:1.65;
  margin-bottom:18px;
}
.byline{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--ink-soft);
  flex-wrap:wrap;
}
.byline .name{ color:var(--ink); font-weight:600; }
.byline .dot{ opacity:0.5; }
.byline .num{
  font-family:'IBM Plex Mono', monospace;
  margin-left:auto;
  font-size:11.5px;
  color:var(--verdigris-dark);
  background:var(--paper-alt);
  padding:3px 8px;
  border-radius:2px;
}

/* ---------- SECTION LABEL ---------- */
.section-label{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:22px;
}
.section-label h2{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--verdigris-dark);
}
.section-label .line{ flex:1; height:1px; background:var(--rule); }

/* ---------- ARTICLE LIST ---------- */
.article-row{
  display:grid;
  grid-template-columns: 108px 1fr auto;
  gap:22px;
  align-items:flex-start;
  padding:22px 0;
  border-bottom:1px solid var(--rule);
}
.thumb{
  width:108px; height:78px;
  border-radius:2px;
  overflow:hidden;
  background:linear-gradient(160deg, var(--verdigris) 0%, #3c8577 100%);
  flex-shrink:0;
}
.thumb.alt{ background:linear-gradient(160deg, var(--amber) 0%, #8f5c2e 100%); }
.thumb img{ width:100%; height:100%; object-fit:cover; }
.article-body h3{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:19px;
  line-height:1.3;
  margin-bottom:6px;
}
.article-row .tag{ margin-bottom:8px; font-size:10px; }
.article-body p{
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.55;
  margin-bottom:8px;
}
.meta-line{ font-size:12.5px; color:var(--ink-soft); display:flex; gap:8px; }
.article-num{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  color:var(--verdigris-dark);
  white-space:nowrap;
  align-self:flex-start;
  padding-top:4px;
}

/* ---------- ABOUT CARD ---------- */
.about-card{
  background:var(--card);
  border:1px solid var(--rule);
  border-left:3px solid var(--amber);
  border-radius:2px;
  padding:26px 28px;
  margin:8px 0 6px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:20px;
  align-items:center;
}
.about-card h4{
  font-family:'Fraunces', serif;
  font-size:18px;
  font-weight:600;
  margin-bottom:8px;
}
.about-card p{ color:var(--ink-soft); font-size:14px; line-height:1.6; max-width:460px; }
.about-card .cta{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  letter-spacing:0.03em;
  color:var(--paper);
  background:var(--verdigris-dark);
  padding:11px 18px;
  border-radius:2px;
  white-space:nowrap;
}

/* ---------- PAGINATION ---------- */
.pagination{
  display:flex;
  justify-content:space-between;
  padding-top:20px;
  font-family:'IBM Plex Mono', monospace;
  font-size:13px;
}
.pagination a{ color:var(--verdigris-dark); }
.pagination .nav-links{ display:flex; justify-content:space-between; width:100%; }

/* ---------- SINGLE POST / PAGE ---------- */
.single-post{
  max-width:720px;
  margin:0 auto;
  padding:40px 24px 80px;
}
.single-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:36px;
  line-height:1.2;
  margin:14px 0;
}
.single-thumb{ border-radius:2px; overflow:hidden; margin:24px 0; }
.single-content{ font-size:16.5px; line-height:1.75; }
.single-content p{ margin-bottom:18px; }
.single-content h2{ font-family:'Fraunces', serif; font-size:24px; margin:32px 0 14px; }
.single-content h3{ font-family:'Fraunces', serif; font-size:20px; margin:26px 0 12px; }
.single-content blockquote{ border-left:3px solid var(--amber); padding-left:18px; color:var(--ink-soft); font-style:italic; margin:20px 0; }

/* ---------- FOOTER ---------- */
.site-footer{
  max-width:1040px;
  margin:0 auto;
  padding:40px 24px 60px;
  border-top:1px solid var(--rule);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  flex-wrap:wrap;
}
.foot-brand{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--verdigris-dark);
  font-size:15px;
  margin-bottom:6px;
}
.foot-brand-block p{ color:var(--ink-soft); font-size:13px; max-width:360px; line-height:1.6; }
.site-footer ul.foot-links{
  list-style:none;
  display:flex;
  gap:22px;
  font-size:13px;
  color:var(--ink-soft);
  flex-wrap:wrap;
}

@media (max-width: 720px){
  .featured{ grid-template-columns:1fr; }
  .article-row{ grid-template-columns: 84px 1fr; }
  .article-num{ display:none; }
  .main-navigation ul{ gap:16px; font-size:12.5px; }
  .featured h1{ font-size:27px; }
  .about-card{ grid-template-columns:1fr; }
  .single-title{ font-size:28px; }
}
