/*
Theme Name: RAE Insights
Theme URI: https://regenerative-agri.eu/blog/
Author: Regenerative Agriculture Europe AISBL
Description: A lightweight editorial WordPress theme for Regenerative Agriculture Europe AISBL.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: rae-insights
*/

:root {
  --rae-ink: #142419;
  --rae-forest: #183d2b;
  --rae-deep: #102f23;
  --rae-leaf: #8aaa2a;
  --rae-moss: #607d2a;
  --rae-navy: #16364a;
  --rae-paper: #fbfaf5;
  --rae-cream: #f4f0e5;
  --rae-line: rgba(20, 36, 25, .14);
  --rae-muted: #5e695f;
  --rae-shell: min(1180px, calc(100% - 48px));
  --rae-serif: Georgia, "Times New Roman", serif;
  --rae-sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--rae-paper); color: var(--rae-ink); font-family: var(--rae-sans); line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 12px 16px; top: 12px; left: 12px; z-index: 1000; background: white; }

.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--rae-line); background: rgba(251,250,245,.94); backdrop-filter: blur(14px); }
.header-shell { width: var(--rae-shell); min-height: 82px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.brand img { width: 52px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.brand-copy span { margin-top: 5px; color: var(--rae-navy); font-size: 9px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 28px; color: #33483a; font-size: 14px; }
.primary-nav a { padding: 8px 0; border-bottom: 1px solid transparent; }
.primary-nav a:hover, .primary-nav a:focus-visible { border-color: var(--rae-leaf); }
.nav-contact { border: 1px solid var(--rae-forest) !important; border-radius: 999px; padding: 9px 15px !important; font-weight: 700; }
.nav-contact:hover { background: var(--rae-forest); color: white; }

.insights-hero { padding: clamp(72px, 10vw, 132px) 0 70px; background: radial-gradient(circle at 14% 8%, rgba(138,170,42,.11), transparent 31%), linear-gradient(180deg, var(--rae-paper), #f6f3e8); border-bottom: 1px solid var(--rae-line); }
.hero-shell { width: var(--rae-shell); }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 24px; color: var(--rae-moss); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--rae-leaf); }
.insights-hero h1 { max-width: 800px; margin: 0; font-family: var(--rae-serif); font-size: clamp(48px, 7vw, 86px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.insights-hero .intro { max-width: 690px; margin: 30px 0 0; color: #4f6054; font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }

.content-shell { width: var(--rae-shell); margin: auto; padding: 76px 0 110px; }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.section-header h2, .archive-title { margin: 0; font-family: var(--rae-serif); font-size: clamp(36px, 4.5vw, 58px); font-weight: 400; line-height: 1.05; }
.section-header p { margin: 0 0 5px; color: var(--rae-muted); }

.topics { margin-bottom: 56px; padding-bottom: 34px; border-bottom: 1px solid var(--rae-line); }
.topic-list { display: flex; flex-wrap: wrap; gap: 10px; }
.topic-list a { border: 1px solid var(--rae-line); border-radius: 999px; padding: 9px 14px; background: rgba(255,255,255,.54); color: #405145; font-size: 13px; }
.topic-list a:hover { border-color: var(--rae-leaf); background: white; }

.posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.post-card { overflow: hidden; border: 1px solid var(--rae-line); border-radius: 24px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 18px 48px rgba(16,47,35,.09); }
.post-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.05fr .95fr; }
.card-image { min-height: 270px; background: linear-gradient(135deg, #dce6c2, #8ca26c); }
.card-image img { width: 100%; height: 100%; object-fit: cover; }
.post-card:first-child .card-image { min-height: 430px; }
.card-body { padding: 30px; }
.post-card:first-child .card-body { align-self: center; padding: clamp(34px, 5vw, 64px); }
.card-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 18px; color: var(--rae-moss); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.card-title { margin: 0; font-family: var(--rae-serif); font-size: clamp(28px, 3.2vw, 44px); font-weight: 400; line-height: 1.08; }
.post-card:not(:first-child) .card-title { font-size: clamp(26px, 2.5vw, 34px); }
.card-excerpt { margin: 18px 0 0; color: var(--rae-muted); }
.read-more { display: inline-flex; gap: 10px; margin-top: 23px; color: var(--rae-forest); font-size: 13px; font-weight: 700; }

.empty-state { border: 1px solid var(--rae-line); border-radius: 24px; padding: 58px; background: white; text-align: center; }
.empty-state h2 { margin: 0 0 12px; font-family: var(--rae-serif); font-size: 38px; font-weight: 400; }
.pagination { margin-top: 48px; }
.pagination .nav-links { display: flex; gap: 10px; }
.pagination a, .pagination span { border: 1px solid var(--rae-line); border-radius: 999px; padding: 8px 13px; }
.pagination .current { background: var(--rae-forest); color: white; }

.article-shell { width: min(820px, calc(100% - 48px)); margin: auto; padding: 80px 0 110px; }
.article-header { margin-bottom: 50px; text-align: center; }
.article-header h1 { margin: 18px 0 24px; font-family: var(--rae-serif); font-size: clamp(44px, 7vw, 76px); font-weight: 400; line-height: 1.02; letter-spacing: -.03em; }
.article-meta { color: var(--rae-muted); font-size: 13px; }
.article-featured { width: min(1120px, calc(100% - 48px)); margin: 0 auto 64px; }
.article-featured img { width: 100%; max-height: 680px; object-fit: cover; border-radius: 28px; }
.entry-content { font-family: var(--rae-serif); font-size: 20px; line-height: 1.75; }
.entry-content h2, .entry-content h3 { margin: 2.1em 0 .7em; color: var(--rae-ink); line-height: 1.15; }
.entry-content h2 { font-size: 38px; }.entry-content h3 { font-size: 29px; }
.entry-content a { color: var(--rae-forest); text-decoration: underline; text-decoration-color: var(--rae-leaf); text-underline-offset: 3px; }
.entry-content blockquote { margin: 2em 0; border-left: 3px solid var(--rae-leaf); padding: 8px 0 8px 28px; color: #405145; font-size: 25px; }
.entry-content img { border-radius: 18px; }
.post-navigation { width: min(980px, calc(100% - 48px)); margin: 0 auto 100px; padding-top: 30px; border-top: 1px solid var(--rae-line); }
.post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-navigation a { display: block; border: 1px solid var(--rae-line); border-radius: 18px; padding: 22px; background: white; }

.site-footer { background: var(--rae-deep); color: white; }
.footer-shell { width: var(--rae-shell); margin: auto; padding: 68px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 54px; padding-bottom: 52px; }
.footer-brand img { width: 155px; height: auto; filter: invert(1) grayscale(1) brightness(1.9); mix-blend-mode: screen; opacity: .9; }
.footer-brand p, .footer-column p, .footer-column address { color: rgba(255,255,255,.62); font-size: 14px; font-style: normal; }
.footer-column h2 { margin: 0 0 16px; color: #c9d6a4; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.footer-column a { border-bottom: 1px solid rgba(255,255,255,.35); }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; color: rgba(255,255,255,.48); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 800px) {
  :root { --rae-shell: min(100% - 28px, 1180px); }
  .header-shell { min-height: 72px; }
  .primary-nav a:not(.nav-contact) { display: none; }
  .post-card:first-child { grid-template-columns: 1fr; }
  .post-card:first-child .card-image { min-height: 300px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 620px) {
  .brand-copy strong { font-size: 10px; }.brand img { width: 44px; height: 42px; }
  .nav-contact { font-size: 12px; }
  .posts-grid { grid-template-columns: 1fr; }
  .post-card:first-child { grid-column: auto; }
  .section-header, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .article-shell { width: min(100% - 30px, 820px); }
  .post-navigation .nav-links { grid-template-columns: 1fr; }
}

