/*
Theme Name:        Artboard
Theme URI:         https://optimizare.site/
Author:            Optimizare.Site
Description:       Tema Artboard, prima din familia de teme a rețelei: site-ul arată ca spațiul de lucru al unui designer, cu imagini în rame cu semne de tăiere și prima pagină compusă din module alese în Personalizează. Se sprijină pe pluginul OptimizareSite pentru caseta de răspuns, cuprins, surse, clasamente și SEO.
Version:           1.2.1
Requires at least: 6.4
Tested up to:      7.1
Requires PHP:      7.4
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       artboard
Tags:              blog, news, one-column, two-columns, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Fonturi, gazduite in tema. Fisierele sunt reduse la caracterele latine,
   cu diacriticele romanesti. Licenta OFL, in assets/fonts.
   ========================================================================== */

@font-face {
	font-family: "Bricolage Grotesque";
	src: url("assets/fonts/bricolage-grotesque.woff2") format("woff2");
	font-weight: 600 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Newsreader";
	src: url("assets/fonts/newsreader.woff2") format("woff2");
	font-weight: 400 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Newsreader";
	src: url("assets/fonts/newsreader-italic.woff2") format("woff2");
	font-weight: 400 500;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Mono";
	src: url("assets/fonts/ibm-plex-mono-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "IBM Plex Mono";
	src: url("assets/fonts/ibm-plex-mono-500.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* ==========================================================================
   Tokeni
   ========================================================================== */

:root {
	--ab-accent: #2f3cff;
	--ab-accent-text: #2f3cff;
	--ab-accent-on-ink: #8f97ff;
	--ab-on-accent: #ffffff;
	--ab-ink: #15171c;
	--ab-text: #2c313b;
	--ab-muted: #4a5160;
	--ab-canvas: #eceef2;
	--ab-paper: #ffffff;
	--ab-soft: #f4f5f8;
	--ab-line: #d5d9e0;
	--ab-line-soft: #e1e4ea;
	--ab-outline: #c9ced6;
	--ab-display: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
	--ab-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--ab-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
	--ab-wrap: 1344px;
	--ab-measure: 720px;
	--ab-pad: clamp(20px, 3.5vw, 48px);
	--ab-shadow: 0 1px 0 var(--ab-line);
}

/* ==========================================================================
   Baza
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: 24px;
}

body {
	margin: 0;
	background: var(--ab-canvas);
	color: var(--ab-ink);
	font-family: var(--ab-serif);
	font-size: 19px;
	line-height: 1.55;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--ab-ink);
	text-decoration: none;
}

a:hover {
	color: var(--ab-accent-text);
}

:focus-visible {
	outline: 2px solid var(--ab-accent-text);
	outline-offset: 3px;
}

.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;
}

.ab-skip:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000;
	width: auto;
	height: auto;
	padding: 12px 18px;
	margin: 0;
	clip: auto;
	background: var(--ab-ink);
	color: #fff;
	font-family: var(--ab-mono);
	font-size: 13px;
}

.ab-wrap {
	max-width: var(--ab-wrap);
	margin: 0 auto;
	padding-left: var(--ab-pad);
	padding-right: var(--ab-pad);
}

.ab-mono {
	font-family: var(--ab-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
}

/* ==========================================================================
   Antet
   ========================================================================== */

.ab-header {
	background: var(--ab-paper);
	border-bottom: 1px solid var(--ab-line);
	position: relative;
	z-index: 20;
}

/* Panourile se ancoreaza de antet, nu de buton: altfel, pe telefon, panoul
   meniului iesea prin stanga ecranului. */
.ab-header__inner {
	position: relative;
	min-height: 76px;
	display: flex;
	align-items: center;
	gap: 24px;
}

.ab-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 0 1 auto;
	font-family: var(--ab-display);
	font-weight: 800;
	font-size: 26px;
	letter-spacing: -0.02em;
	line-height: 1;
	white-space: nowrap;
}

.ab-brand__mark {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	background: var(--ab-accent);
}

.ab-brand img {
	max-height: 44px;
	width: auto;
}

.ab-brand--svg svg {
	display: block;
	height: 46px;
	width: auto;
	max-width: 100%;
}

.ab-footer .ab-brand--svg svg {
	height: 52px;
}

.ab-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
	min-width: 0;
}

.ab-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 26px;
}

.ab-nav a {
	display: block;
	padding: 12px 0;
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ab-nav .current-menu-item > a,
.ab-nav .current-category-ancestor > a,
.ab-nav .current-menu-ancestor > a,
.ab-menu .current-menu-item > a,
.ab-menu .current-category-ancestor > a {
	color: var(--ab-accent-text);
}

.ab-nav ul ul {
	display: none;
}

.ab-drop {
	flex: 0 0 auto;
}

.ab-drop > summary {
	list-style: none;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ab-outline);
	background: transparent;
	cursor: pointer;
}

.ab-drop > summary::-webkit-details-marker {
	display: none;
}

.ab-drop > summary:hover {
	border-color: var(--ab-ink);
}

.ab-drop[open] > summary {
	background: var(--ab-ink);
	border-color: var(--ab-ink);
}

.ab-drop[open] > summary svg {
	stroke: #fff;
}

.ab-drop__panel {
	position: absolute;
	top: calc(100% + 1px);
	right: var(--ab-pad);
	width: min(420px, calc(100% - 2 * var(--ab-pad)));
	padding: 18px;
	background: var(--ab-paper);
	box-shadow: 0 0 0 1px var(--ab-line), 0 18px 40px rgba(21, 23, 28, 0.12);
}

.ab-menu {
	display: none;
}

.ab-menu .ab-drop__panel ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.ab-menu .ab-drop__panel a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 4px 0;
	border-bottom: 1px solid var(--ab-line-soft);
	font-family: var(--ab-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ab-menu .ab-drop__panel li:last-child a {
	border-bottom: 0;
}

/* Meniul care nu incape pe un rand trece pe buton; clasa o pune scriptul din antet. */
.ab-header--compact .ab-nav {
	display: none;
}

.ab-header--compact .ab-menu {
	display: block;
	margin-left: auto;
}

.ab-header--compact .ab-header__inner {
	gap: 8px;
}

.ab-searchform {
	display: flex;
	gap: 8px;
}

.ab-searchform input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ab-outline);
	border-radius: 0;
	background: var(--ab-paper);
	color: var(--ab-ink);
	font-family: var(--ab-serif);
	font-size: 18px;
}

.ab-button,
.ab-searchform button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--ab-ink);
	border-radius: 0;
	background: var(--ab-ink);
	color: #fff;
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.ab-button:hover,
.ab-searchform button:hover {
	background: var(--ab-accent);
	border-color: var(--ab-accent);
	color: var(--ab-on-accent);
}

/* ==========================================================================
   Sectiuni, panouri, imagini
   ========================================================================== */

.ab-main {
	padding-top: 40px;
	padding-bottom: 72px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.ab-module {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.ab-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ab-ink);
}

.ab-section-head__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.ab-section-head__note {
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.ab-section-head__more {
	margin-left: auto;
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.ab-panel {
	background: var(--ab-paper);
	box-shadow: var(--ab-shadow);
}

.ab-panel__head {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	border-bottom: 1px solid var(--ab-line-soft);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Rama imaginii: proportii fixe, ca titlurile lungi sa nu mai intinda
   imaginea, si spatiu rezervat inainte de incarcare. */
.ab-crop {
	position: relative;
	display: block;
	overflow: visible;
	aspect-ratio: 19 / 11;
	background: var(--ab-soft);
}

.ab-crop--wide {
	aspect-ratio: 16 / 9;
}

.ab-crop--panorama {
	aspect-ratio: 21 / 9;
}

.ab-crop--square {
	aspect-ratio: 1 / 1;
}

.ab-crop--portrait {
	aspect-ratio: 4 / 5;
}

.ab-crop--cover {
	aspect-ratio: 4 / 3;
}

.ab-crop img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ab-crop--marks::before,
.ab-crop--marks::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.ab-crop--marks::before {
	top: -10px;
	left: -10px;
	border-top: 1px solid var(--ab-ink);
	border-left: 1px solid var(--ab-ink);
}

.ab-crop--marks::after {
	bottom: -10px;
	right: -10px;
	border-bottom: 1px solid var(--ab-ink);
	border-right: 1px solid var(--ab-ink);
}

.ab-crop__empty {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.ab-dims {
	display: block;
	margin-top: 14px;
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.ab-tag {
	align-self: flex-start;
	display: inline-block;
	padding: 5px 10px;
	background: var(--ab-accent);
	color: var(--ab-on-accent);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ab-tag:hover {
	background: var(--ab-ink);
	color: #fff;
}

.ab-kicker {
	align-self: flex-start;
	font-family: var(--ab-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ab-accent-text);
}

.ab-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.ab-meta a {
	color: var(--ab-ink);
}

.ab-excerpt {
	margin: 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--ab-text);
}

.ab-lede {
	margin: 0;
	font-size: 20px;
	line-height: 1.45;
	color: var(--ab-text);
}

/* ==========================================================================
   Prima pagina: articolul principal si modulele
   ========================================================================== */

/* Articolul principal: imaginea in proportiile ei, 16:9, langa text. Fara
   panoul lateral, titlul nu mai e strivit si nu mai lungeste imaginea. */
.ab-hero__card {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 44px;
	align-items: center;
	padding: 32px;
}

.ab-hero__media {
	display: block;
}

.ab-hero__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.ab-hero__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: clamp(28px, 2.6vw, 40px);
	line-height: 1.07;
	letter-spacing: -0.022em;
	text-wrap: balance;
}

.ab-hero__excerpt {
	margin: 0;
	font-size: 19px;
	line-height: 1.5;
	color: var(--ab-text);
}

.ab-hero .ab-meta {
	border-top: 1px solid var(--ab-line-soft);
	padding-top: 14px;
}

/* Imaginea in dreapta */
.ab-hero--right .ab-hero__card {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}

.ab-hero--right .ab-hero__media {
	order: 2;
}

/* Imagine lata, text dedesubt */
.ab-hero--stacked .ab-hero__card {
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}

.ab-hero--stacked .ab-hero__body {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	grid-template-areas: "tag tag" "title excerpt" "meta meta";
	column-gap: 48px;
	row-gap: 16px;
	align-items: start;
}

.ab-hero--stacked .ab-tag {
	grid-area: tag;
	justify-self: start;
}

.ab-hero--stacked .ab-hero__title {
	grid-area: title;
	font-size: clamp(30px, 3.2vw, 48px);
}

.ab-hero--stacked .ab-hero__excerpt {
	grid-area: excerpt;
	padding-top: 6px;
}

.ab-hero--stacked .ab-meta {
	grid-area: meta;
}

/* Coperta: titlul peste imagine */
.ab-hero--cover .ab-hero__card {
	position: relative;
	display: block;
	padding: 0;
	overflow: hidden;
	background: var(--ab-ink);
}

.ab-hero--cover .ab-hero__media .ab-crop {
	aspect-ratio: 21 / 9;
	min-height: 460px;
}

.ab-hero--cover .ab-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(12, 14, 18, 0.88) 0%, rgba(12, 14, 18, 0.62) 42%, rgba(12, 14, 18, 0) 75%);
}

.ab-hero--cover .ab-hero__media {
	position: relative;
}

.ab-hero--cover .ab-hero__body {
	position: absolute;
	left: 0;
	bottom: 0;
	top: 0;
	z-index: 2;
	width: min(620px, 58%);
	justify-content: flex-end;
	padding: 44px;
	color: #fff;
}

.ab-hero--cover .ab-hero__title,
.ab-hero--cover .ab-hero__title a,
.ab-hero--cover .ab-hero__title a:hover {
	color: #fff;
}

.ab-hero--cover .ab-hero__title {
	font-size: clamp(28px, 2.8vw, 42px);
}

.ab-hero--cover .ab-hero__excerpt {
	color: rgba(255, 255, 255, 0.9);
}

.ab-hero--cover .ab-meta {
	border-top-color: rgba(255, 255, 255, 0.28);
	color: rgba(255, 255, 255, 0.82);
}

.ab-hero--cover .ab-meta a,
.ab-hero--cover .ab-byline {
	color: #fff;
}

.ab-hero--cover :focus-visible {
	outline-color: #fff;
}

/* 1. Grila cu imagini (si "Cele mai noi") */

.ab-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 20px;
}

.ab-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
}

.ab-card__media {
	display: block;
	margin-bottom: 4px;
}

.ab-card__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.16;
	letter-spacing: -0.015em;
}

.ab-card .ab-meta {
	margin-top: auto;
}

/* 2. Principal si lista */

.ab-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: 20px;
	align-items: stretch;
}

.ab-lead--single {
	grid-template-columns: minmax(0, 1fr);
}

.ab-lead__main {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 24px;
}

.ab-lead__media {
	display: block;
}

.ab-lead__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-lead__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.ab-lead__list {
	list-style: none;
	margin: 0;
	padding: 4px 22px;
}

.ab-lead__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	padding: 18px 0;
	border-bottom: 1px solid var(--ab-line-soft);
}

.ab-lead__item:last-child {
	border-bottom: 0;
}

.ab-lead__thumb {
	display: block;
}

.ab-lead__item > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.ab-lead__item-title {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}

/* 3. Mozaic */

.ab-mosaic {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.ab-mosaic__item {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	min-width: 0;
}

.ab-mosaic__item--big {
	grid-column: span 2;
	grid-row: span 2;
	gap: 20px;
	padding: 24px;
}

.ab-mosaic__media {
	display: block;
}

.ab-mosaic__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
}

.ab-mosaic__item--big .ab-mosaic__body {
	gap: 12px;
}

.ab-mosaic__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.ab-mosaic__title--big {
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.ab-mosaic__body .ab-meta {
	margin-top: auto;
}

/* Cu mai putine articole, mozaicul se aranjeaza fara goluri. */
.ab-mosaic--1,
.ab-mosaic--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ab-mosaic--1 .ab-mosaic__item--big,
.ab-mosaic--2 .ab-mosaic__item--big {
	grid-row: auto;
}

.ab-mosaic--2 .ab-mosaic__item--big {
	grid-column: auto;
}

.ab-mosaic--3 {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.ab-mosaic--3 .ab-mosaic__item--big {
	grid-column: auto;
}

.ab-mosaic--4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ab-mosaic--4 .ab-mosaic__item--big {
	grid-column: auto;
	grid-row: auto;
}

/* 4. Randuri cu imagine */

.ab-rows {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.ab-row {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 20px;
	align-items: start;
	padding: 18px;
}

.ab-row__media {
	display: block;
}

.ab-row__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.ab-row__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.16;
	letter-spacing: -0.012em;
}

.ab-row .ab-excerpt {
	font-size: 16px;
}

/* 5. Clasament numerotat */

.ab-rank {
	list-style: none;
	margin: 0;
	padding: 6px 26px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	column-gap: 48px;
}

.ab-rank--1,
.ab-rank--2 {
	grid-template-rows: auto;
}

.ab-rank--3,
.ab-rank--4 {
	grid-template-rows: repeat(2, auto);
}

.ab-rank li {
	border-bottom: 1px solid var(--ab-line-soft);
	min-width: 0;
}

.ab-rank__row {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 14px;
	align-items: baseline;
	padding: 20px 0;
}

.ab-rank__num {
	font-family: var(--ab-display);
	font-weight: 800;
	font-size: 40px;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--ab-accent);
}

.ab-rank__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ab-rank__title {
	font-size: 19px;
	line-height: 1.3;
}

.ab-rank__row:hover .ab-rank__title {
	color: var(--ab-accent-text);
}

.ab-rank__meta {
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

/* 6. Doar titluri */

.ab-heads {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: var(--ab-paper);
	box-shadow: var(--ab-shadow);
}

.ab-heads__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px;
	border-top: 1px solid var(--ab-line-soft);
	border-left: 1px solid var(--ab-line-soft);
	min-width: 0;
}

.ab-heads__item:nth-child(-n+3) {
	border-top: 0;
}

.ab-heads__item:nth-child(3n+1) {
	border-left: 0;
}

.ab-heads__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.15;
	letter-spacing: -0.015em;
}

.ab-heads__item .ab-meta {
	margin-top: auto;
	padding-top: 4px;
}

/* 7. Banda derulanta */

.ab-scroller {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(250px, calc((100% - 60px) / 4.3));
	gap: 20px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	padding: 2px 2px 16px;
	scrollbar-width: thin;
	scrollbar-color: var(--ab-outline) transparent;
}

.ab-scroller:focus-visible {
	outline-offset: 4px;
}

.ab-scroller__item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px;
	scroll-snap-align: start;
	min-width: 0;
}

.ab-scroller__media {
	display: block;
	margin-bottom: 2px;
}

.ab-scroller__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.ab-scroller__item .ab-meta {
	margin-top: auto;
}

/* 8. Coperti */

.ab-cover {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	gap: 20px;
}

.ab-cover__item--big {
	grid-row: span 2;
}

.ab-cover__link {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--ab-ink);
	color: #fff;
}

.ab-cover__item--big .ab-cover__link {
	aspect-ratio: auto;
	height: 100%;
	min-height: 420px;
}

.ab-cover__link .ab-crop {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
}

.ab-cover__link .ab-crop img {
	transition: transform 0.5s ease;
}

.ab-cover__link:hover .ab-crop img {
	transform: scale(1.03);
}

.ab-cover__link::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12, 14, 18, 0) 25%, rgba(12, 14, 18, 0.6) 55%, rgba(12, 14, 18, 0.9) 100%);
}

.ab-cover__text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px;
}

.ab-cover__link:hover,
.ab-cover__link:hover .ab-cover__title {
	color: #fff;
}

.ab-cover .ab-kicker {
	padding: 4px 8px;
	background: var(--ab-accent);
	color: var(--ab-on-accent);
}

.ab-cover__title {
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.14;
	letter-spacing: -0.012em;
	text-wrap: balance;
}

.ab-cover__item--big .ab-cover__title {
	font-size: clamp(28px, 2.8vw, 40px);
	line-height: 1.06;
	letter-spacing: -0.022em;
}

.ab-cover__item--big .ab-cover__text {
	padding: 32px;
}

.ab-cover__meta {
	font-family: var(--ab-mono);
	font-size: 12px;
	color: rgba(255, 255, 255, 0.86);
}

.ab-cover--1 {
	grid-template-columns: minmax(0, 1fr);
}

.ab-cover--1 .ab-cover__item--big .ab-cover__link {
	aspect-ratio: 21 / 9;
	height: auto;
	min-height: 0;
}

.ab-cover--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ab-cover--2 .ab-cover__item--big {
	grid-row: auto;
}

.ab-cover--2 .ab-cover__item--big .ab-cover__link {
	aspect-ratio: 16 / 10;
	height: auto;
	min-height: 0;
}

/* 9. Minute de citire (si "Citeste in continuare") */

.ab-long {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ab-long__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 170px;
	padding: 24px;
}

.ab-long__min {
	font-family: var(--ab-display);
	font-weight: 800;
	font-size: 44px;
	line-height: 1;
	color: var(--ab-accent);
}

.ab-long__min small {
	margin-left: 4px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ab-accent-text);
}

.ab-long__title {
	font-size: 19px;
	line-height: 1.35;
}

.ab-long__card .ab-meta {
	margin-top: auto;
}

/* 10. Panou intunecat */

.ab-module--dark {
	padding: 30px;
	background: var(--ab-ink);
	color: #eceef2;
}

.ab-module--dark .ab-section-head {
	border-bottom-color: rgba(255, 255, 255, 0.3);
}

.ab-module--dark a,
.ab-module--dark .ab-section-head__title {
	color: #fff;
}

.ab-module--dark a:hover {
	color: var(--ab-accent-on-ink);
}

.ab-module--dark .ab-section-head__note,
.ab-module--dark .ab-meta {
	color: #b9bec8;
}

.ab-module--dark .ab-meta a {
	color: #fff;
}

.ab-module--dark .ab-kicker {
	color: var(--ab-accent-on-ink);
}

.ab-module--dark :focus-visible {
	outline-color: #fff;
}

.ab-dark {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.ab-dark--single {
	grid-template-columns: minmax(0, 1fr);
}

.ab-dark__main {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-dark__media {
	display: block;
}

.ab-dark__media .ab-crop {
	background: #23262d;
}

.ab-dark__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-dark__title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.ab-dark .ab-excerpt {
	color: #c9ced6;
}

.ab-dark__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.ab-dark__list li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.ab-dark__list li:first-child {
	padding-top: 0;
	border-top: 0;
}

.ab-dark__item-title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.18;
	letter-spacing: -0.012em;
}

.ab-dark__list .ab-excerpt {
	font-size: 16px;
}

/* Categoriile site-ului */

.ab-swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
	gap: 12px;
}

.ab-swatch {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 96px;
	padding: 18px;
	background: var(--ab-paper);
	box-shadow: inset 0 0 0 1px var(--ab-outline);
}

.ab-swatch:first-child {
	background: var(--ab-accent);
	color: var(--ab-on-accent);
	box-shadow: none;
}

.ab-swatch:nth-child(2) {
	background: var(--ab-ink);
	color: #fff;
	box-shadow: none;
}

.ab-swatch:first-child .ab-count,
.ab-swatch:nth-child(2) .ab-count {
	color: inherit;
}

.ab-swatch:hover {
	box-shadow: inset 0 0 0 2px var(--ab-accent);
	color: var(--ab-ink);
}

.ab-swatch:first-child:hover,
.ab-swatch:nth-child(2):hover {
	color: #fff;
	opacity: 0.92;
}

.ab-swatch:first-child:hover {
	color: var(--ab-on-accent);
}

.ab-swatch__name {
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.15;
}

.ab-count {
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

/* ==========================================================================
   Arhive, cautare, paginare
   ========================================================================== */

.ab-archive-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 900px;
}

.ab-archive-head h1 {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.04;
	letter-spacing: -0.025em;
}

.ab-archive-head p {
	margin: 0;
	font-size: 20px;
	color: var(--ab-text);
}

.ab-archive-head .ab-meta {
	font-size: 12px;
	color: var(--ab-muted);
}

.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.page-numbers {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	background: var(--ab-paper);
	box-shadow: inset 0 0 0 1px var(--ab-outline);
	font-family: var(--ab-mono);
	font-size: 13px;
}

.page-numbers.current {
	background: var(--ab-ink);
	color: #fff;
	box-shadow: none;
}

/* ==========================================================================
   Articol
   ========================================================================== */

/* Pe desktop, articolul sta intr-o coloana centrata: capul, textul si
   caseta autorului au aceeasi latime; imaginea principala e putin mai lata. */
.ab-single {
	gap: 40px;
}

.ab-article-head {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	max-width: var(--ab-measure);
	margin: 0 auto;
}

.ab-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.ab-breadcrumbs a {
	color: var(--ab-muted);
}

.ab-article-title {
	margin: 0;
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: clamp(34px, 3.8vw, 54px);
	line-height: 1.04;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.ab-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--ab-line);
	vertical-align: middle;
}

.ab-initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--ab-accent);
	color: var(--ab-on-accent);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1;
}

.ab-byline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ab-ink);
}

.ab-figure {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
}

.ab-figure .ab-crop {
	background: var(--ab-paper);
	box-shadow: var(--ab-shadow);
}

.ab-figure figcaption {
	margin-top: 10px;
	font-size: 16px;
	color: var(--ab-muted);
}

.ab-article {
	position: relative;
}

/* Cuprinsul din margine: doar pe ecranele unde incape langa coloana, fara
   sa o impinga din centru. */
.ab-toc {
	display: none;
}

.ab-toc__list {
	list-style: none;
	margin: 0;
	padding: 6px 0;
	counter-reset: abtoc;
}

.ab-toc__list li {
	counter-increment: abtoc;
}

.ab-toc__list a {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 6px;
	padding: 9px 18px;
	font-size: 16px;
	line-height: 1.3;
}

.ab-toc__list a::before {
	content: counter(abtoc, decimal-leading-zero);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--ab-muted);
	padding-top: 2px;
}

.ab-toc__list a:hover {
	background: var(--ab-soft);
}

.ab-toc__list a:hover::before {
	color: var(--ab-accent-text);
}

.ab-toc__list .ab-toc--h3 a {
	padding-left: 36px;
	font-size: 15px;
}

.ab-body {
	width: 100%;
	max-width: var(--ab-measure);
	margin: 0 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* Textul articolului */

.ab-prose {
	font-size: 21px;
	line-height: 1.6;
	color: var(--ab-ink);
	counter-reset: abh2;
}

.ab-prose > * {
	margin-top: 0;
	margin-bottom: 1.15em;
}

/* Litera mare doar cand articolul incepe cu un paragraf; paginile raman fara ea. */
.ab-single .ab-prose > p:first-child::first-letter {
	float: left;
	margin: 0.08em 0.12em 0 0;
	font-family: var(--ab-display);
	font-weight: 800;
	font-size: 3.6em;
	line-height: 0.82;
	color: var(--ab-accent);
}

.ab-prose h2,
.ab-prose h3,
.ab-prose h4 {
	font-family: var(--ab-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
	margin-top: 1.6em;
	margin-bottom: 0.6em;
	scroll-margin-top: 24px;
}

.ab-prose h2 {
	font-size: 32px;
	counter-increment: abh2;
}

.ab-prose h2::before {
	content: counter(abh2, decimal-leading-zero);
	display: inline-block;
	margin-right: 14px;
	font-family: var(--ab-mono);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	vertical-align: middle;
	color: var(--ab-accent-text);
}

.ab-prose h3 {
	font-size: 25px;
}

.ab-prose h4 {
	font-size: 21px;
}

.ab-prose a {
	color: var(--ab-ink);
	text-decoration: underline;
	text-decoration-color: var(--ab-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.ab-prose a:hover {
	color: var(--ab-accent-text);
}

.ab-prose ul,
.ab-prose ol {
	padding-left: 1.2em;
}

.ab-prose li {
	margin-bottom: 0.4em;
}

.ab-prose ul li::marker {
	color: var(--ab-accent);
}

.ab-prose ol li::marker {
	font-family: var(--ab-mono);
	font-size: 0.8em;
	color: var(--ab-accent-text);
}

.ab-prose blockquote {
	position: relative;
	margin: 1.6em 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--ab-ink);
	font-family: var(--ab-display);
	font-weight: 600;
	font-size: 28px;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.ab-prose blockquote::before {
	content: "";
	position: absolute;
	left: 0;
	top: -6px;
	width: 11px;
	height: 11px;
	background: var(--ab-accent);
}

.ab-prose blockquote p {
	margin: 0;
}

.ab-prose figure {
	margin-left: 0;
	margin-right: 0;
}

.ab-prose figcaption,
.ab-prose .wp-element-caption {
	margin-top: 8px;
	font-size: 16px;
	color: var(--ab-muted);
}

.ab-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 17px;
	background: var(--ab-paper);
}

.ab-prose .wp-block-table {
	overflow-x: auto;
}

.ab-prose th,
.ab-prose td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--ab-line-soft);
	text-align: left;
	vertical-align: top;
}

.ab-prose th {
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-bottom-color: var(--ab-ink);
}

.ab-prose code {
	font-family: var(--ab-mono);
	font-size: 0.82em;
	background: var(--ab-soft);
	padding: 2px 5px;
}

.ab-prose pre {
	overflow-x: auto;
	padding: 18px;
	background: var(--ab-ink);
	color: #eceef2;
	font-size: 15px;
}

.ab-prose pre code {
	background: none;
	padding: 0;
}

.ab-prose img {
	display: block;
}

.alignwide,
.alignfull {
	max-width: 100%;
}

/* ==========================================================================
   Casetele pluginului OptimizareSite, in stilul temei
   ========================================================================== */

.osite-brief {
	background: var(--ab-paper);
	box-shadow: var(--ab-shadow);
	position: relative;
}

.osite-brief::before {
	content: "";
	position: absolute;
	top: -6px;
	left: 22px;
	width: 11px;
	height: 11px;
	background: var(--ab-accent);
}

.osite-brief > section,
.osite-brief > nav {
	padding: 20px 22px;
	border-top: 1px solid var(--ab-line-soft);
}

.osite-brief > :first-child {
	border-top: 0;
	padding-top: 24px;
}

.osite-brief__label {
	margin: 0 0 12px;
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ab-muted);
}

.osite-brief__label--question {
	font-family: var(--ab-display);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-transform: none;
	line-height: 1.2;
	color: var(--ab-ink);
}

.osite-brief__text {
	margin: 0;
	font-size: 21px;
	line-height: 1.5;
}

.osite-brief__points ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.osite-brief__points li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	font-size: 18px;
	line-height: 1.45;
}

.osite-brief__points li::before {
	content: "";
	width: 8px;
	height: 8px;
	margin-top: 9px;
	background: var(--ab-accent);
}

.osite-brief__toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: abbtoc;
}

.osite-brief__toc li {
	counter-increment: abbtoc;
}

.osite-brief__toc a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	padding: 8px 0;
	font-size: 17px;
	line-height: 1.35;
	border-bottom: 1px solid var(--ab-line-soft);
}

.osite-brief__toc a::before {
	content: counter(abbtoc, decimal-leading-zero);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--ab-accent-text);
	padding-top: 3px;
}

.osite-toc__item--h3 a {
	padding-left: 18px;
	font-size: 16px;
}

.osite-freshness {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-muted);
}

.osite-sources {
	background: var(--ab-paper);
	box-shadow: var(--ab-shadow);
}

.osite-sources__title {
	margin: 0;
	padding: 12px 22px;
	border-bottom: 1px solid var(--ab-line-soft);
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.osite-sources__list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: absrc;
}

.osite-sources__list li {
	counter-increment: absrc;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	padding: 14px 22px;
	border-bottom: 1px solid var(--ab-line-soft);
	font-size: 17px;
	line-height: 1.4;
}

.osite-sources__list li:last-child {
	border-bottom: 0;
}

.osite-sources__list li::before {
	content: "[" counter(absrc) "]";
	font-family: var(--ab-mono);
	font-size: 12px;
	color: var(--ab-accent-text);
	padding-top: 3px;
}

.osite-sources__list a {
	text-decoration: underline;
	text-decoration-color: var(--ab-line);
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.osite-prefsrc {
	margin: 0;
}

.osite-prefsrc .osite-prefsrc__link,
.osite-prefsrc__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid var(--ab-ink);
	border-radius: 0;
	background: var(--ab-paper);
	color: var(--ab-ink);
	font-family: var(--ab-mono);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: none;
}

.osite-prefsrc__link:hover {
	background: var(--ab-ink);
	color: #fff;
}

/* ==========================================================================
   Distribuire, autor, articole inrudite, comentarii, pagini
   ========================================================================== */

.ab-share {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 26px;
	border-top: 1px solid var(--ab-outline);
}

.ab-share__title {
	margin: 0;
	font-family: var(--ab-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ab-muted);
}

.ab-share__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ab-share__list [hidden] {
	display: none;
}

.ab-share__button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid var(--ab-ink);
	border-radius: 0;
	background: var(--ab-paper);
	color: var(--ab-ink);
	font-family: var(--ab-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
	cursor: pointer;
}

.ab-share__button svg {
	flex: 0 0 auto;
}

.ab-share__button:hover {
	background: var(--ab-ink);
	border-color: var(--ab-ink);
	color: #fff;
}

.ab-share__copy.is-done {
	background: var(--ab-accent);
	border-color: var(--ab-accent);
	color: var(--ab-on-accent);
}

.ab-tags a {
	display: inline-block;
	padding: 4px 10px;
	box-shadow: inset 0 0 0 1px var(--ab-outline);
}

.ab-tags a:hover {
	box-shadow: inset 0 0 0 1px var(--ab-ink);
}

.ab-author {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	border-top: 1px solid var(--ab-outline);
	padding-top: 24px;
}

.ab-author img,
.ab-author .ab-initials {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.ab-author .ab-initials {
	font-size: 20px;
}

.ab-author__name {
	font-family: var(--ab-display);
	font-weight: 700;
	font-size: 20px;
}

.ab-author p {
	margin: 6px 0 0;
	font-size: 17px;
	line-height: 1.45;
	color: var(--ab-text);
}

.ab-page {
	max-width: calc(var(--ab-measure) + 2 * var(--ab-pad));
}

.ab-page .ab-article-title {
	margin-bottom: 28px;
}

.ab-notfound {
	display: flex;
	flex-direction: column;
	gap: 22px;
	width: 100%;
	max-width: var(--ab-measure);
	margin: 0 auto;
}

.ab-notfound__code {
	font-family: var(--ab-display);
	font-weight: 800;
	font-size: clamp(96px, 16vw, 200px);
	line-height: 0.85;
	color: var(--ab-accent);
}

.comments-area {
	width: 100%;
	max-width: var(--ab-measure);
	margin: 0 auto;
}

.ab-comment-list {
	list-style: none;
	margin: 0;
	padding: 20px;
}

.ab-empty {
	padding: 28px;
}

.ab-empty p {
	margin: 0 0 18px;
}

.ab-updated {
	margin: 0;
}

/* ==========================================================================
   Subsol
   ========================================================================== */

.ab-footer {
	background: var(--ab-ink);
	color: #eceef2;
}

.ab-footer__inner {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	justify-content: space-between;
	align-items: flex-end;
	padding-top: 48px;
	padding-bottom: 48px;
}

.ab-footer .ab-brand {
	font-size: 28px;
	color: #eceef2;
}

.ab-footer__tagline {
	margin: 10px 0 0;
	font-size: 18px;
	color: #b9bec8;
}

.ab-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
}

.ab-footer a {
	color: #eceef2;
	font-family: var(--ab-mono);
	font-size: 12px;
}

.ab-footer a:hover {
	color: #fff;
	text-decoration: underline;
}

/* ==========================================================================
   Ecrane
   ========================================================================== */

@media (min-width: 1360px) {
	.ab-toc {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: min(260px, calc((100% - var(--ab-measure)) / 2 - 40px));
	}

	.ab-toc__inner {
		position: sticky;
		top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
		max-height: calc(100vh - 48px - var(--wp-admin--admin-bar--height, 0px));
		overflow-y: auto;
	}

	/* Cand cuprinsul sta in margine, nu se mai repeta si in caseta; o caseta
	   ramasa doar cu cuprinsul dispare cu totul. */
	.ab-has-toc .osite-brief__toc,
	.ab-has-toc .osite-brief:not(:has(> :not(.osite-brief__toc))) {
		display: none;
	}
}

@media (max-width: 1100px) {
	.ab-grid,
	.ab-heads {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-heads__item:nth-child(-n+3) {
		border-top: 1px solid var(--ab-line-soft);
	}

	.ab-heads__item:nth-child(3n+1) {
		border-left: 1px solid var(--ab-line-soft);
	}

	.ab-heads__item:nth-child(-n+2) {
		border-top: 0;
	}

	.ab-heads__item:nth-child(2n+1) {
		border-left: 0;
	}

	.ab-mosaic,
	.ab-mosaic--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-mosaic__item--big,
	.ab-mosaic--3 .ab-mosaic__item--big {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.ab-rows {
		grid-template-columns: minmax(0, 1fr);
	}

	.ab-long {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	.ab-nav {
		display: none;
	}

	.ab-menu {
		display: block;
		margin-left: auto;
	}

	.ab-header__inner {
		gap: 8px;
	}

	/* Pe telefon, panourile ocupa toata latimea, sub antet. */
	.ab-drop__panel {
		left: 0;
		right: 0;
		width: auto;
		padding: 10px var(--ab-pad) 18px;
		box-shadow: 0 1px 0 var(--ab-line), 0 18px 30px rgba(21, 23, 28, 0.14);
	}

	.ab-search .ab-drop__panel {
		padding-top: 16px;
	}

	.ab-hero__card,
	.ab-hero--right .ab-hero__card {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding: 22px;
	}

	.ab-hero--right .ab-hero__media {
		order: 0;
	}

	.ab-hero--stacked .ab-hero__body {
		display: flex;
	}

	.ab-hero--stacked .ab-crop--panorama {
		aspect-ratio: 16 / 9;
	}

	/* Pe ecranele inguste, coperta pune textul sub imagine, pe fond inchis. */
	.ab-hero--cover .ab-hero__media .ab-crop {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.ab-hero--cover .ab-hero__media::after {
		background: linear-gradient(180deg, rgba(12, 14, 18, 0) 55%, rgba(12, 14, 18, 0.9) 100%);
	}

	.ab-hero--cover .ab-hero__body {
		position: static;
		width: auto;
		padding: 22px;
	}

	.ab-lead,
	.ab-dark,
	.ab-cover {
		grid-template-columns: minmax(0, 1fr);
	}

	.ab-cover__item--big {
		grid-row: auto;
	}

	.ab-cover__item--big .ab-cover__link {
		aspect-ratio: 4 / 3;
		height: auto;
		min-height: 0;
	}

	.ab-cover--2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.ab-rank {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		grid-auto-flow: row;
		padding: 4px 20px;
	}

	.ab-module--dark {
		padding: 22px;
	}
}

@media (max-width: 640px) {
	.ab-grid,
	.ab-heads,
	.ab-mosaic,
	.ab-mosaic--1,
	.ab-mosaic--2,
	.ab-mosaic--3,
	.ab-long {
		grid-template-columns: minmax(0, 1fr);
	}

	.ab-mosaic__item--big {
		grid-column: auto;
	}

	.ab-heads__item,
	.ab-heads__item:nth-child(-n+3),
	.ab-heads__item:nth-child(3n+1),
	.ab-heads__item:nth-child(2n+1) {
		border-left: 0;
		border-top: 1px solid var(--ab-line-soft);
	}

	.ab-heads__item:first-child {
		border-top: 0;
	}

	.ab-heads__item {
		padding: 22px;
	}

	.ab-scroller {
		grid-auto-columns: 78%;
	}

	.ab-row {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: 14px;
		padding: 14px;
	}

	.ab-row .ab-excerpt {
		display: none;
	}

	.ab-row__title {
		font-size: 18px;
	}

	.ab-lead__main {
		padding: 18px;
	}

	.ab-lead__list {
		padding: 0 18px;
	}

	.ab-lead__item {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 14px;
	}

	.ab-cover__text,
	.ab-cover__item--big .ab-cover__text {
		padding: 18px;
	}

	.ab-section-head__title {
		font-size: 22px;
	}

	.ab-section-head__more {
		margin-left: 0;
		flex-basis: 100%;
	}

	.ab-share__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ab-share__button {
		width: 100%;
		justify-content: center;
		padding: 0 10px;
	}
}

@media (max-width: 600px) {
	body {
		font-size: 18px;
	}

	.ab-header .ab-brand--svg svg {
		height: 36px;
	}

	.ab-brand {
		font-size: 22px;
	}

	.ab-main {
		padding-top: 24px;
		gap: 40px;
	}

	.ab-hero__card {
		padding: 18px;
	}

	.ab-hero__excerpt {
		font-size: 18px;
	}

	.ab-prose {
		font-size: 19px;
	}

	.ab-prose h2 {
		font-size: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
