/* Layout additions. Typography, colors, cards and controls come from the site's shared styles. */
.public-page .seo-main { max-width:1200px; margin:auto; padding:24px 24px 64px; }
.public-page a { color:var(--link); text-underline-offset:3px; }
.public-page .brand { color:var(--foreground); text-decoration:none; }
.public-page .topnav a { padding:12px 16px; color:var(--foreground); text-decoration:none; border-radius:var(--r-pill); }
.public-page .topnav a:hover { background:var(--surface-2); }
.seo-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; color:var(--muted-foreground); font-size:var(--t-small); }
.story-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.story-layout .page-head { grid-column:1/-1; margin:0; }
.story-layout h1 { max-width:30ch; }
.story-body,.story-source { display:grid; gap:24px; margin:0!important; }
.story-body p { line-height:var(--lh-prose); }
.story-body h2 { font-size:var(--t-h3); }
.story-source { padding:24px; gap:16px; }
.story-source p { font-size:var(--t-small); line-height:var(--lh-small); }
.story-source h2 { font-size:var(--t-h3); line-height:var(--lh-title); }
.story-source-details { display:grid; gap:8px; }
.story-source-details .source-link { padding:4px 0; }
.story-source-date { color:var(--muted-foreground); }
.story-source .btn { width:100%; gap:8px; white-space:nowrap; text-decoration:none; }
.story-source svg { flex-shrink:0; }
.story-source-related { display:grid; gap:8px; padding-top:16px; border-top:1px solid var(--border); }
.story-source-country { color:var(--muted-foreground); font-weight:650; margin-bottom:4px; }
.public-page .story-source-related a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-inner); color:var(--foreground); font-size:var(--t-small); font-weight:600; line-height:var(--lh-small); text-decoration:none; transition:background-color 150ms ease,border-color 150ms ease; }
.public-page .story-source-related a:hover { background:var(--surface-2); border-color:var(--input-border); }
.public-page .btn-primary { color:var(--primary-foreground); }
.public-page section>h2 { margin:40px 0 24px; }
.seo-list { margin-top:24px; }
.seo-list li { display:grid; gap:12px; }
.seo-list h3 a { color:var(--foreground); text-decoration:none; }
.seo-list h3 a:hover { text-decoration:underline; }
.seo-countries { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin:24px 0; }
.seo-countries li { background:var(--surface); border-radius:var(--r-card); padding:24px; }
.seo-countries a { display:block; font-weight:650; min-height:44px; }
.seo-articles { display:grid; gap:24px; margin-top:32px; }
.seo-articles article { display:grid; gap:16px; margin:0; }
.seo-articles h2 { font-size:var(--t-h3); }
.seo-articles p { max-width:80ch; line-height:var(--lh-prose); }
.seo-consent { position:fixed; z-index:100; bottom:16px; right:16px; width:min(480px,calc(100% - 32px)); background:var(--surface); border:1px solid var(--border); border-radius:var(--r-card); padding:24px; box-shadow:var(--shadow); }
.seo-consent button { min-height:44px; margin:16px 8px 0 0; padding:8px 16px; border-radius:var(--r-pill); border:1px solid var(--foreground); background:var(--surface); font:inherit; cursor:pointer; }
@media(max-width:767px) { .public-page .seo-main { padding:16px 16px 40px; } .story-layout { grid-template-columns:1fr; } .public-page .topbar { display:flex; flex-wrap:wrap; position:static; padding:16px; } .public-page .topnav { display:flex; flex-wrap:wrap; gap:4px; } .public-page .topnav a { padding:8px; font-size:14px; } .public-page .exp-grid { grid-template-columns:1fr; } .story-layout h1 { font-size:var(--t-h1); line-height:var(--lh-h1); } }

@media(max-width:767px) { .public-page .page-head { padding:24px; } }
