/* Publisher surfaces share Ogrodio App's visual language; editorial content stays local. */
body.site-root {
  --publisher-width: min(1540px,calc(100% - 3rem));
  --primary: var(--og-brand-strong); --primary-foreground: var(--og-brand-foreground);
  --ui-accent: var(--brand-soft);
  background: var(--background); color: var(--foreground);
}

/* Public pages and portalled navigation use the shared shadcn tokens. */
body.site-root [data-slot="button"] { min-height: 44px; }
.publisher-proof [data-slot="badge"] { padding: .5rem .75rem; white-space: normal; text-align: left; }
body.site-root :is(.article-aside-card,.article-summary-card,.article-plant-card,.article-plant-inner,.article-variety-table-card) { border-radius: 1.5rem; background: var(--og-paper) !important; border-color: var(--og-line) !important; }
body.site-root .preferred-source-cta { border-radius: 1.5rem; border-color: var(--og-line); background: var(--og-paper); }
body.site-root > footer { background: var(--og-canvas) !important; color: var(--og-ink) !important; border-color: var(--og-line); padding-block: 3rem; }
body.site-root > footer [class*="text-white"] { color: var(--og-ink) !important; }
body.site-root > footer :is([class*="text-white/"],.text-slate-400) { color: var(--og-muted) !important; }
body.site-root > footer [class*="border-white"] { border-color: var(--og-line); }
body.site-root > footer [class*="text-[#b7e46c]"] { color: var(--og-brand); }
body.site-root > footer a[class*="bg-[#b7e46c]"] { border-radius: 999px; background: var(--og-signal) !important; color: var(--og-signal-ink) !important; }
body.site-root > footer p[class*="clamp"] { font-size: clamp(2rem,3.6vw,3.5rem); line-height: 1.08; }

/* Publisher structure, using the same product-scale spacing and surfaces as the app. */
.publisher-shell { width: var(--publisher-width); margin-inline: auto; }
.publisher-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(2rem,5vw,5rem); align-items: center; padding-block: clamp(3rem,6vw,6rem); }
.publisher-intro h1 { font-size: clamp(2.7rem,5.4vw,5rem); line-height: .98; letter-spacing: -.06em; max-width: 16ch; margin: 1rem 0 1.5rem; }
.publisher-kicker { color: var(--og-brand); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.publisher-lead { font-size: 1.15rem; line-height: 1.7; color: var(--og-muted); }
.publisher-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.publisher-proof { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2rem; color: var(--og-muted); font-size: .85rem; }
.publisher-proof li { display: flex; gap: .4rem; align-items: center; }
.publisher-proof svg { color: var(--og-brand); flex-shrink: 0; }
.publisher-featured { min-width: 0; border: 1px solid var(--og-line); border-radius: 2rem; overflow: hidden; background: var(--og-paper); }
.publisher-featured-link { display: block; }
.publisher-featured-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.publisher-featured-copy { padding: clamp(1.25rem,2.5vw,2rem); }
.publisher-featured-copy h2 { font-size: clamp(1.4rem,2vw,2rem); line-height: 1.2; margin: .75rem 0; }
.publisher-featured-copy > p:not(.publisher-kicker) { color: var(--og-muted); font-size: .9rem; line-height: 1.65; }
.publisher-featured-copy > span { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; font-size: .85rem; font-weight: 750; color: var(--og-brand); }
.publisher-discovery { display: grid; gap: 1.25rem; padding-block: 1rem 3rem; scroll-margin-top: 100px; }
.publisher-search { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); align-items: center; gap: 1.5rem; padding: 1.5rem 1.75rem; background: var(--og-paper); border-radius: 1.5rem; border: 0; box-shadow: none; }
.publisher-search-copy { min-width: 0; }
.publisher-search h2 { display: flex; align-items: center; gap: .65rem; font-size: 1.1rem; line-height: 1.4; }
.publisher-search h2 svg { flex-shrink: 0; }
.publisher-search-copy p { color: var(--og-muted); font-size: .85rem; line-height: 1.5; margin-top: .4rem; }
.publisher-search > :last-child { min-width: 0; }
.publisher-topics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .875rem; }
.publisher-topics[data-topic-count="6"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
.publisher-topics a { display: flex; flex-direction: row; align-items: center; gap: 1rem; min-width: 0; min-height: 100px; padding: 1.25rem; text-align: left; border-radius: 1.25rem; background: var(--og-paper); border: 0; box-shadow: none; transition: background .15s; }
.publisher-topics a:hover { background: var(--og-paper-2); }
.publisher-topic-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: .875rem; background: var(--og-paper-2); color: var(--og-brand); }
.publisher-topic-copy { min-width: 0; }
.publisher-topics a > svg:last-child { margin-left: auto; width: 16px; flex-shrink: 0; color: var(--og-brand); }
.publisher-topics h3 { font-weight: 750; font-size: .95rem; line-height: 1.4; overflow-wrap: anywhere; }
.publisher-topics p { color: var(--og-muted); font-size: .8rem; line-height: 1.5; margin-top: .25rem; }
.publisher-journal { padding-block: 1rem 3rem; scroll-margin-top: 100px; }
.publisher-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.publisher-latest > h2 { font-size: clamp(1.8rem,3vw,2.8rem); }
.publisher-article-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 1.5rem; background: var(--og-paper); border: 1px solid var(--og-line); }
.publisher-article-copy { padding: 1.4rem; }
.publisher-app-banner { margin-block: 2rem 4rem; padding: clamp(1.5rem,3vw,3rem); border-radius: 2rem; background: var(--og-paper); border: 1px solid var(--og-line); }
body.site-root .publisher-header { border-bottom: 1px solid var(--og-line); background: color-mix(in srgb,var(--og-canvas) 92%,transparent); backdrop-filter: blur(18px); }
.publisher-header-inner { width: var(--publisher-width); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 84px; }
.publisher-header :is(button,summary) { border-radius: 999px; }
.publisher-header a[class*="bg-[var(--og-signal)]"] { background: var(--og-signal) !important; color: var(--og-signal-ink) !important; border-radius: 999px; }
.publisher-header nav a { font-size: .9rem; }
.publisher-header details > nav { border-radius: 1.5rem; }
body.site-root .publisher-footer { padding: 3rem 1.5rem 2rem; border-top: 1px solid var(--og-line); }
.publisher-footer-intro { display: flex; flex-wrap: wrap; gap: 2rem; align-items: center; justify-content: space-between; padding-bottom: 2rem; border-bottom: 1px solid var(--og-line); }
body.site-root .publisher-footer-intro p[class*="clamp"] { font-size: 1.2rem; max-width: 34rem; margin-top: 1rem; line-height: 1.5; }
.publisher-footer-intro > div { flex: 1 1 300px; }
.publisher-footer-intro > div:last-child { max-width: 36rem; }
.publisher-footer-columns { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 2rem; padding-block: 2rem; }
@media(max-width:1023px) { .publisher-hero { grid-template-columns: minmax(0,1fr); } .publisher-intro h1 { max-width: 22ch; } .publisher-search { grid-template-columns: minmax(0,1fr); gap: 1rem; } .publisher-topics,.publisher-topics[data-topic-count="6"] { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .publisher-shell,.publisher-header-inner { width: calc(100% - 2rem); } .publisher-header-inner { min-height: 68px; gap: .5rem; } .publisher-topics,.publisher-topics[data-topic-count="6"] { grid-template-columns: minmax(0,1fr); } .publisher-topics a { min-height: 88px; padding: 1rem; } .publisher-search { padding: 1.25rem; } .publisher-discovery { gap: 1rem; padding-bottom: 2rem; } .publisher-section-heading { align-items: start; flex-direction: column; } .publisher-hero { padding-block: 2rem; } }

/* Shared PL/DE reading layout. */
.publisher-article-heading { width: var(--publisher-width); margin: auto; padding-block: 2.5rem; }
.publisher-article-heading h1 { font-size: clamp(2.2rem,4.3vw,4.2rem); line-height: 1.08; letter-spacing: -.045em; margin-block: 1rem 1.5rem; text-wrap: balance; }
.publisher-article-standfirst { max-width: 58rem; font-size: clamp(1.1rem,1.6vw,1.3rem); line-height: 1.65; color: var(--og-ink-2); }
.publisher-article-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 1.75rem; font-size: .82rem; line-height: 1.6; color: var(--og-muted); }
.publisher-article-meta a:hover { color: var(--og-brand); }
.publisher-article-cover { width: var(--publisher-width); margin: 0 auto; }
.publisher-article-cover > div { position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: 1.75rem; background: var(--og-paper-2); }
.publisher-article-cover img { opacity: 1; }
.publisher-article-cover figcaption { padding-top: .75rem; font-size: .8rem; color: var(--og-muted); }
body.site-root .publisher-article > section { padding-inline: 0; }
body.site-root .publisher-article > section > div { width: var(--publisher-width); max-width: none; margin-inline: auto; }
body.site-root .publisher-article .article-layout { width: 100%; margin-inline: auto; grid-template-columns: minmax(0,1fr) minmax(280px,340px); gap: clamp(2rem,5vw,5rem); }
.publisher-article .article-reading-section { scroll-margin-top: 110px; }
.publisher-article .article-body > * + * { margin-top: 3rem; }
.publisher-article .article-reading-section h2 { font-size: clamp(1.5rem,2.2vw,2rem); letter-spacing: -.025em; }
.publisher-article-contents { border-block: 1px solid var(--og-line); padding-block: 1.5rem; }
.publisher-article-contents h2 { font-size: 1rem; font-weight: 750; margin-bottom: .85rem; }
.publisher-article-contents ol { display: grid; gap: .6rem; padding-left: 1.25rem; list-style: decimal; font-size: .9rem; line-height: 1.5; color: var(--og-muted); }
.publisher-article-contents a:hover { color: var(--og-brand); text-decoration: underline; text-underline-offset: 4px; }
body.site-root .publisher-article :is(.article-aside-card,.article-summary-card,.article-plant-card,.article-read-more-card) { background: var(--og-paper) !important; border-radius: 1.5rem; padding: 1.5rem; box-shadow: none; }
body.site-root .publisher-article :is(.article-plant-inner,figcaption) { background: var(--og-paper-2) !important; }
body.site-root .publisher-article :is(.text-slate-900,.text-slate-950) { color: var(--og-ink) !important; }
body.site-root .publisher-article :is(.text-slate-600,.text-slate-700) { color: var(--og-ink-2) !important; }
body.site-root .publisher-article :is(.text-slate-500,.text-slate-400) { color: var(--og-muted) !important; }
body.site-root .publisher-article :is(.text-teal-700,.text-teal-600,.text-teal-400,.text-emerald-800) { color: var(--og-brand) !important; }
body.site-root .publisher-header .publisher-nav-link { display: inline-flex; align-items: center; align-self: center; min-height: 42px; height: auto; padding: .6rem 1rem; border: 0; border-radius: 999px; font-weight: 700; color: var(--og-muted); background: transparent; text-decoration: none; transition: background .15s,color .15s; }
body.site-root .publisher-header .publisher-nav-link::after { content: none; }
body.site-root .publisher-header .publisher-nav-link:hover { background: var(--og-paper-2); color: var(--og-ink); }
body.site-root .publisher-header .publisher-nav-link-active { background: var(--og-paper-2) !important; color: var(--og-ink) !important; }
@media(max-width:1023px) { body.site-root .publisher-article .article-layout { grid-template-columns: minmax(0,1fr); } .publisher-article-sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; } .publisher-article-sidebar > * { margin-top: 0; } }
@media(max-width:639px) { body.site-root { --publisher-width: calc(100% - 2rem); } }
@media(max-width:639px) { .publisher-article-heading,.publisher-article-cover { width: calc(100% - 2rem); } .publisher-article-heading { padding-block: 1.5rem; } .publisher-article-cover > div { border-radius: 1rem; aspect-ratio: 4/3; } .publisher-article-sidebar { grid-template-columns: minmax(0,1fr); } }
