/*
Theme Name: AInews24
Theme URI: https://wp.ainews24.gr/
Author: AInews24
Description: Greek AI news theme: lead story with live river, benchmark leaderboard, section blocks, fixed-size ad slots, light/dark mode. Content features come from the AInews24 Core plugin.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: ainews24
*/

/* ---------- Tokens ---------- */
:root{
	--bg:#F5F4EF;--surface:#FFFFFF;--ink:#101318;--ink2:#2B303A;--muted:#5A6271;--line:#E2E0D8;--line2:#C8C5BB;
	--accent:#1F57D6;--accent-ink:#FFFFFF;--accent-soft:#E7EEFC;--live:#C4122F;--live-ink:#FFFFFF;--good:#0F7A4A;--good-soft:#E2F3EA;
	--ph0:#D8DEE9;--ph1:#E3DDD2;--ph2:#D4E2DB;--ph3:#E2D7DF;--ad:#ECEAE3;--foot:#101318;--foot-ink:#E9EBEF;--foot-muted:#A3AAB6;
	--serif:Literata,Georgia,"Times New Roman",serif;--sans:Commissioner,system-ui,-apple-system,"Segoe UI",sans-serif;
	--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	--radius:10px;--wrap:1200px;
	color-scheme:light;
}
@media (prefers-color-scheme:dark){
	:root:not([data-theme="light"]){
		--bg:#0C0E13;--surface:#141821;--ink:#EEF0F4;--ink2:#D2D7E0;--muted:#9AA3B2;--line:#262C37;--line2:#3A4250;
		--accent:#7099FF;--accent-ink:#0C0E13;--accent-soft:#1A2440;--live:#FF6B7C;--live-ink:#0C0E13;--good:#4ADE9A;--good-soft:#12301F;
		--ph0:#1D2431;--ph1:#26221D;--ph2:#1A2622;--ph3:#251E26;--ad:#171B23;--foot:#07080B;color-scheme:dark;
	}
	:root:not([data-theme="light"]) .icon-moon{display:none}
	:root:not([data-theme="light"]) .icon-sun{display:block}
}
:root[data-theme="dark"]{
	--bg:#0C0E13;--surface:#141821;--ink:#EEF0F4;--ink2:#D2D7E0;--muted:#9AA3B2;--line:#262C37;--line2:#3A4250;
	--accent:#7099FF;--accent-ink:#0C0E13;--accent-soft:#1A2440;--live:#FF6B7C;--live-ink:#0C0E13;--good:#4ADE9A;--good-soft:#12301F;
	--ph0:#1D2431;--ph1:#26221D;--ph2:#1A2622;--ph3:#251E26;--ad:#171B23;--foot:#07080B;color-scheme:dark;
}
:root[data-theme="dark"] .icon-moon{display:none}
:root[data-theme="dark"] .icon-sun{display:block}
.icon-sun{display:none}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3,h4{margin:0}
.wrap{width:100%;max-width:calc(var(--wrap) + 40px);margin-inline:auto;padding-inline:20px}
.narrow{max-width:840px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed!important;top:12px;left:12px;z-index:100;width:auto;height:auto;clip:auto;padding:12px 16px;background:var(--surface);border-radius:8px}
.empty{padding:48px 0;color:var(--muted);font-size:18px}
.site-main{min-height:60vh}

/* ---------- Shared bits ---------- */
.kicker{display:inline-block;font:700 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.meta{margin:0;font-size:14px;color:var(--muted)}
.meta__author{font-weight:600;color:var(--ink2)}
.box-title{display:flex;align-items:center;gap:10px;font:800 20px/1.2 var(--sans)}
.live-dot{width:9px;height:9px;border-radius:50%;background:var(--live)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line2);border-radius:999px;background:var(--surface);font:600 14px var(--sans);cursor:pointer;white-space:nowrap}
.chip.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--good-soft);color:var(--good);font:700 11px var(--sans);vertical-align:middle}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line2);border-radius:999px;background:transparent;cursor:pointer}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;margin-bottom:8px;border-bottom:2px solid var(--ink)}
.section-head__title{font:800 26px/1.2 var(--serif)}
.section-head__link{font:600 14px var(--sans);color:var(--accent);white-space:nowrap}

/* Images and placeholders keep their shape before loading: no layout shift. */
.media{display:block;position:relative;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:var(--ph0)}
.media--wide{aspect-ratio:16/9}
.media__img,.media__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media__ph--1{background:var(--ph1)}.media__ph--2{background:var(--ph2)}.media__ph--3{background:var(--ph3)}

/* ---------- Header ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.utility-bar{border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.utility-bar__inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}
.utility-bar__menu{display:flex;gap:20px;margin:0;padding:0;list-style:none}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px}
.masthead__menu,.masthead__search-btn{display:none;border:0}
.masthead__tools{display:flex;align-items:center;gap:10px}
.logo{font:800 32px/1 var(--sans);letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.logo:hover{color:var(--ink)}
.logo__num{color:var(--accent)}
.logo__tld{font-size:16px;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:2px}
.search-form{position:relative;display:flex;align-items:center}
.search-form__icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}
.search-form__input{width:340px;max-width:100%;height:44px;padding:0 16px 0 42px;border:1px solid var(--line2);border-radius:999px;background:var(--bg)}
.main-nav{border-top:1px solid var(--line)}
.main-nav__list{display:flex;gap:26px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.main-nav__list::-webkit-scrollbar{display:none}
.main-nav__list a{display:flex;align-items:center;min-height:50px;font:600 15px var(--sans);color:var(--ink2);white-space:nowrap}
.main-nav__list a[aria-current="page"],.main-nav__list .current-menu-item>a{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent)}
.drawer{border-top:1px solid var(--line);padding:16px 0 24px;background:var(--surface)}
.drawer .search-form__input{width:100%}
.drawer__list{margin:12px 0 0;padding:0;list-style:none}
.drawer__list a{display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--line);font:700 18px var(--sans)}

.breaking{background:var(--surface);border-bottom:1px solid var(--line)}
.breaking__inner{display:flex;align-items:center;gap:14px;min-height:52px}
.breaking__label{flex-shrink:0;padding:5px 10px;border-radius:4px;background:var(--live);color:var(--live-ink);font:800 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.breaking__title{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breaking__time{font-family:var(--sans);font-size:13px;color:var(--muted)}

/* ---------- Homepage ---------- */
.home-page{display:flex;flex-direction:column;gap:56px;padding-block:36px 64px}
.top{display:grid;grid-template-columns:minmax(0,760px) minmax(0,1fr);gap:40px;align-items:start}
.lead{display:flex;flex-direction:column;gap:16px}
.lead__title{font:800 42px/1.12 var(--serif);letter-spacing:-.01em}
.lead__dek{margin:0;font:400 19px/1.55 var(--serif);color:var(--ink2)}
.river__head{padding-bottom:12px}
.river__list{margin:0;padding:0;list-style:none}
.river__item{display:flex;flex-direction:column;gap:5px;padding:14px 0;border-top:1px solid var(--line)}
.river__meta{display:flex;gap:10px;align-items:center;font:600 12px var(--sans);color:var(--muted)}
.river__time{font-family:var(--sans);font-weight:700;color:var(--accent)}
.river__title{font:600 16px/1.38 var(--sans);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.featured{padding-top:32px;margin-top:-16px;border-top:1px solid var(--line)}
.card{display:flex;flex-direction:column;gap:10px}
.card__title{font:700 19px/1.3 var(--serif)}
.split{display:grid;grid-template-columns:minmax(0,580px) minmax(0,1fr);gap:40px}
.feature{display:flex;flex-direction:column;gap:12px}
.feature__title{font:800 28px/1.2 var(--serif)}
.stack{display:flex;flex-direction:column}
.row{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.row .media{flex-shrink:0;width:176px}
.row--large .media{width:264px}
.row__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.row__title{font:700 19px/1.3 var(--serif)}
.row--large .row__title{font-size:23px;line-height:1.28}
.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.with-sidebar__main{display:flex;flex-direction:column;gap:56px;min-width:0}
.with-sidebar__side{display:flex;flex-direction:column;gap:36px}
.sticky{position:sticky;top:20px;display:flex;flex-direction:column;gap:36px}
.popular .box-title{padding-bottom:10px;border-bottom:2px solid var(--ink)}
.popular__list{margin:0;padding:0;list-style:none}
.popular__item{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.popular__n{flex-shrink:0;width:24px;font:800 30px/1 var(--serif);color:var(--accent)}
.popular__cat{display:block;font:600 12px var(--sans);color:var(--muted);margin-bottom:4px}
.popular__title{font:600 16px/1.35 var(--sans)}

/* ---------- Ads: reserved space so loading ads never push content around ---------- */
.ad-slot{display:flex;flex-direction:column;align-items:center;gap:6px;margin-inline:auto;width:100%}
.ad-slot__label{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ad-slot__inner{display:flex;align-items:center;justify-content:center;width:100%;background:var(--ad);border-radius:6px;overflow:hidden}
.ad-slot--billboard .ad-slot__inner{max-width:970px;min-height:250px}
.ad-slot--rectangle .ad-slot__inner{max-width:300px;min-height:250px}
.ad-slot--halfpage .ad-slot__inner{max-width:300px;min-height:600px}
.ad-slot--inline{margin-block:8px 28px;padding-block:8px;border-block:1px solid var(--line)}
.ad-slot--inline .ad-slot__inner{max-width:336px;min-height:280px}

/* ---------- Leaderboard ---------- */
.leaderboard{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.leaderboard__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:28px 28px 20px}
.leaderboard__title{margin-top:6px;font:800 30px/1.15 var(--serif)}
.leaderboard__source{margin:8px 0 0;font-size:14px;color:var(--muted)}
.leaderboard__tabs{display:flex;flex-wrap:wrap;gap:8px}
.leaderboard__scroll{overflow-x:auto}
.leaderboard__table{width:100%;border-collapse:collapse;font-size:15px}
.leaderboard__table th{padding:10px 16px;background:var(--bg);border-top:1px solid var(--line);text-align:left;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.leaderboard__table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:middle}
.leaderboard__table th:first-child,.leaderboard__table td:first-child{padding-left:28px;width:40px}
.leaderboard__table th:last-child,.leaderboard__table td:last-child{padding-right:28px}
.leaderboard__table .num{text-align:right}
.lb-rank{font:700 15px var(--mono);color:var(--muted)}
.lb-name{font-weight:700;font-size:16px}
.lb-lab{display:block;font-size:13px;color:var(--muted)}
.lb-score{display:flex;align-items:center;gap:12px;min-width:180px;font-weight:700}
.lb-score .mono{width:44px}
.bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.bar span{display:block;height:100%;border-radius:3px;background:var(--accent)}
.lb-price{font-weight:700}
.leaderboard__foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 28px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.leaderboard__foot a{font-weight:700;color:var(--accent)}

/* ---------- Article ---------- */
.progress{position:fixed;top:0;left:0;right:0;z-index:50;height:3px;pointer-events:none}
.progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.article-layout{padding-block:28px 56px}
.article{display:flex;flex-direction:column;gap:22px;max-width:760px}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--muted)}
.crumbs__current{font-weight:600;color:var(--accent)}
.article__title{font:800 46px/1.12 var(--serif);letter-spacing:-.01em}
.article__dek{margin:0;font:400 21px/1.5 var(--serif);color:var(--ink2)}
.byline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;border-block:1px solid var(--line)}
.byline__who{display:flex;align-items:center;gap:12px}
.byline__name{font-weight:700;font-size:15px}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font:800 17px var(--sans)}
.avatar--lg{width:64px;height:64px;font-size:24px}
.share{display:flex;flex-wrap:wrap;gap:8px}
.article__hero{margin:0}
.article__hero img{display:block;width:100%;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover}
.article__hero figcaption,.prose figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
.keypoints{padding:22px 26px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.keypoints__title{margin-bottom:10px;font:800 14px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.keypoints ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:17px;line-height:1.5;color:var(--ink2)}
.prose{font:400 19px/1.75 var(--serif);overflow-wrap:break-word}
.prose>*{margin:0 0 1.15em}
.prose h2{margin-top:1.6em;font:800 28px/1.25 var(--serif)}
.prose h3{margin-top:1.4em;font:800 23px/1.3 var(--serif)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.prose img{border-radius:8px}
.prose blockquote{margin-left:0;padding-left:20px;border-left:3px solid var(--accent);font-style:italic;color:var(--ink2)}
.prose ul,.prose ol{padding-left:1.3em}
.prose figure{margin-inline:0}
.prose .wp-block-embed,.prose iframe{max-width:100%}
.prose table{width:100%;border-collapse:collapse;font:15px var(--sans)}
.prose th,.prose td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
.sources{padding-top:20px;border-top:1px solid var(--line)}
.sources__title{margin-bottom:10px;font:800 14px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sources ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--ink2)}
.sources a{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}
.author-box{display:flex;gap:18px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.author-box__name{font:800 18px var(--sans)}
.author-box p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink2)}
.related{padding-bottom:56px}

/* ---------- Archives, search, pages ---------- */
.archive-head{display:flex;flex-direction:column;gap:10px;padding-block:36px 24px}
.archive-head__title{font:800 40px/1.15 var(--serif)}
.archive-head__desc{max-width:720px;color:var(--ink2);font-size:17px}
.archive-head .search-form__input{width:100%;max-width:520px}
.static-page{padding-block:36px 64px}
.static-page .article__title{margin-bottom:24px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.nav-links .page-numbers{display:inline-flex;align-items:center;min-width:44px;min-height:44px;justify-content:center;padding:0 14px;border:1px solid var(--line2);border-radius:999px;background:var(--surface);font-weight:600}
.nav-links .current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.stats__item{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.stats dt{font-size:13px;color:var(--muted)}
.stats dd{margin:4px 0 0;font-size:22px;font-weight:700}
.model{padding-block:28px 64px}

/* ---------- Footer ---------- */
.site-footer{margin-top:24px;background:var(--foot);color:var(--foot-ink)}
.site-footer__grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:48px;padding-block:56px 32px}
.site-footer__brand p{margin:14px 0 0;color:var(--foot-muted);font-size:15px;max-width:340px}
.logo--footer{font-size:28px;color:var(--foot-ink)}
.logo--footer .logo__num{color:#7099FF}
.site-footer__heading{margin-bottom:12px;font:700 13px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.site-footer__list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;color:var(--foot-muted);font-size:15px}
.site-footer a:hover{color:#fff}
.site-footer__bottom{padding-block:20px 28px;border-top:1px solid #2A303B;font-size:13px;color:var(--foot-muted)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
	.top{grid-template-columns:1fr}
	.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.search-form__input{width:260px}
}
@media (max-width:1000px){
	.with-sidebar{grid-template-columns:1fr}
	.sticky{position:static}
	.split{grid-template-columns:1fr}
	.site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
	.utility-bar,.masthead__search{display:none}
	.masthead{min-height:60px;gap:4px;padding-inline:8px}
	.masthead__menu,.masthead__search-btn{display:inline-flex}
	.masthead__tools{gap:0}
	.masthead__tools .icon-btn{border:0}
	.logo{font-size:25px}
	.logo__tld{display:none}
	.main-nav__list{gap:8px;padding-block:7px}
	.main-nav__list a{min-height:32px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;font-size:14px}
	.main-nav__list a[aria-current="page"],.main-nav__list .current-menu-item>a{box-shadow:none;background:var(--ink);color:var(--bg);border-color:var(--ink)}
	.breaking__time{display:none}
	.breaking__title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
	.home-page{gap:36px;padding-block:20px 40px}
	.lead__title{font-size:27px;line-height:1.18}
	.lead__dek{font-size:16px}
	.grid-4,.grid-3{grid-template-columns:1fr;gap:0}
	.card{display:grid;grid-template-columns:1fr 104px;grid-template-areas:"kicker media" "title media";column-gap:14px;row-gap:6px;padding:14px 0;border-bottom:1px solid var(--line);align-content:start}
	.card .media{grid-area:media;width:104px;height:78px;aspect-ratio:auto}
	.card .kicker{grid-area:kicker;font-size:11px}
	.card__title{grid-area:title;font-size:16px}
	.featured{margin-top:0;padding-top:0;border-top:0}
	.feature__title{font-size:22px}
	.row{gap:14px;padding:14px 0}
	.row .media,.row--large .media{width:120px;height:78px;aspect-ratio:auto}
	.row__title,.row--large .row__title{font-size:16px}
	.section-head__title{font-size:21px}
	.leaderboard__head{padding:18px 16px 12px}
	.leaderboard__title{font-size:21px}
	.leaderboard__table th:first-child,.leaderboard__table td:first-child{padding-left:16px}
	.leaderboard__table th:last-child,.leaderboard__table td:last-child{padding-right:16px}
	.leaderboard__table td,.leaderboard__table th{padding-inline:10px}
	.lb-score{min-width:0}
	.lb-score .bar,.hide-sm{display:none}
	.leaderboard__foot{padding:14px 16px}
	.ad-slot--billboard .ad-slot__inner{max-width:300px}
	.article-layout{padding-block:18px 36px}
	.article__title{font-size:30px;line-height:1.16}
	.article__dek{font-size:18px}
	.prose{font-size:18px}
	.keypoints{padding:18px}
	.archive-head__title{font-size:30px}
	.stats{grid-template-columns:1fr 1fr}
	.site-footer__grid{grid-template-columns:1fr;gap:28px}
}
@media (max-width:420px){.hide-xs{display:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
