/**
 * Téma Pneuvosovič — základné štýly rámca a fallback obsahových šablón.
 *
 * Povrchy (archív, produkt, úvodka, účet, hlavička) majú vlastné CSS
 * z pluginu pneuvosovic — tu je len to, čo potrebujú stránky, ktoré
 * (zatiaľ) nerieši ani Elementor, ani plugin: blog, obsahové stránky, 404.
 * Tokeny zrkadlia .pc-scope z pluginu (archive.css).
 */

.pc-scope {
	--pc-paper: 255 255 255;
	--pc-ink: 4 40 23;
	--pc-accent: 0 191 99;
	--pc-accent-deep: 0 145 75;
	--pc-soft: 244 246 247;
	--pc-line: 231 243 237;
	--pc-muted: 84 104 95;
	--pc-radius-control: 9999px;

	color: rgb(var(--pc-ink));
}

/* Scope rooty: pravidlá `.pc-scope *` (archive.css, header.css, …) pokrývajú
   len potomkov — samotný kontajner by zostal content-box, padding by ho
   rozšíril o 2×2rem nad 90rem a obsah by sa nezarovnal s hlavičkou. */
.pc-scope,
.pc-container,
.px-theme-content,
.px-page-header__inner {
	box-sizing: border-box;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 2000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 0.5rem 1rem;
	background: #fff;
	color: rgb(4 40 23);
	border-radius: 0.5rem;
	box-shadow: 0 4px 16px rgb(4 40 23 / 0.2);
}

/* Kontajner obsahových šablón (rovnaké rozmery ako plugin povrchy) */
.px-theme-content {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 90rem;
	padding: 2rem 1rem 4rem;
}

@media (min-width: 640px) {
	.px-theme-content { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (min-width: 1024px) {
	.px-theme-content { padding-left: 2rem; padding-right: 2rem; }
}

.px-theme-content--narrow {
	max-width: 48rem;
}

.px-theme-content h1 {
	margin: 0 0 1.5rem;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.2;
}

.pc-title-dot::after {
	content: '.';
	color: rgb(var(--pc-accent, 0 191 99));
}

/* Jednotný page header — jemný pás s omrvinkami a H1 (template-parts/page-header.php) */
.px-page-header {
	border-bottom: 1px solid rgb(var(--pc-line));
	background:
		radial-gradient(90% 160% at 100% 0%, rgb(var(--pc-accent) / 0.07), transparent 55%),
		rgb(var(--pc-soft));
}

.px-page-header__inner {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 90rem;
	padding: 1.5rem 1rem 1.75rem;
}

@media (min-width: 640px) {
	.px-page-header__inner { padding-left: 1.5rem; padding-right: 1.5rem; }
}

@media (min-width: 1024px) {
	.px-page-header__inner { padding: 2rem 2rem 2.25rem; }
}

.px-page-header--narrow .px-page-header__inner {
	max-width: 48rem;
}

/* Slim variant — stránka si H1 nesie v obsahu, pás drží len omrvinky */
.px-page-header--slim .px-page-header__inner {
	padding-top: 0.875rem;
	padding-bottom: 0.875rem;
}

.px-page-header__title {
	margin: 0.625rem 0 0;
	font-size: clamp(1.625rem, 1.25rem + 1.5vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.px-page-header__meta {
	margin: 0.5rem 0 0;
	font-size: 0.8125rem;
	color: rgb(var(--pc-muted));
}

.px-page-header__description {
	margin-top: 0.5rem;
	max-width: 48rem;
	font-size: 0.9375rem;
	color: rgb(var(--pc-muted));
}

.px-page-header__description p {
	margin: 0;
}

.px-page-header__description p + p {
	margin-top: 0.5rem;
}

/* Omrvinky (Yoast) */
.px-breadcrumbs {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgb(var(--pc-muted));
}

.px-breadcrumbs a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s;
}

.px-breadcrumbs a:hover {
	color: rgb(var(--pc-accent-deep));
}

.px-breadcrumbs .breadcrumb_last {
	color: rgb(var(--pc-ink));
	font-weight: 500;
}

.px-breadcrumbs__sep {
	margin: 0 0.45rem;
	opacity: 0.45;
}

/* Tlačidlo (subset .pc-btn z pluginu, pre 404 a fallback stránky) */
.px-theme-content .pc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.5rem;
	border: 0;
	border-radius: 9999px;
	background: rgb(var(--pc-accent));
	color: #fff;
	font-weight: 600;
	font-size: 0.875rem;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s;
}

.px-theme-content .pc-btn:hover {
	background: rgb(var(--pc-accent-deep));
	color: #fff;
}

/* Prose — dlhý text stránok a príspevkov. Elementy v :where(), aby defaulty
   mali špecificitu 0,1,0 a prehrali s utility triedami z page.css (.px-lead,
   .px-cta__text, .px-section__title…) — inak by `.px-theme-prose p` (0,1,1)
   prebil `margin: auto` centrovanie a veľkosti nadpisov sekcií. */
.px-theme-prose {
	font-size: 1rem;
	line-height: 1.7;
}

.px-theme-prose :where(h2) { font-size: 1.375rem; margin: 2rem 0 0.75rem; }
.px-theme-prose :where(h3) { font-size: 1.125rem; margin: 1.5rem 0 0.5rem; }
.px-theme-prose :where(p) { margin: 0 0 1rem; }
.px-theme-prose :where(ul, ol) { margin: 0 0 1rem; padding-left: 1.5rem; }
.px-theme-prose :where(img) { max-width: 100%; height: auto; border-radius: 0.75rem; }

.px-theme-prose :where(a) {
	color: rgb(var(--pc-accent-deep));
}

/* Blog karta — rovnaký rytmus ako sekcia článkov na úvodke: 3 na riadok. */
.px-theme-archive__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.px-theme-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.px-theme-archive__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.px-theme-card {
	display: flex;
	flex-direction: column;
	background: rgb(var(--pc-paper));
	border: 1px solid rgb(var(--pc-line));
	border-radius: 0.75rem;
	overflow: hidden;
}

/* `height: auto` je nutné: width/height atribúty obrázka sú prezentačný hint
   a bez neho by aspect-ratio neplatilo — portrétová miniatúra by kartu
   natiahla na vlastnú výšku. Rovnaký pomer 16/9 ako .pc-post-card na úvodke. */
.px-theme-card__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.px-theme-card__body {
	padding: 1rem 1.25rem 1.25rem;
}

.px-theme-card__title {
	margin: 0 0 0.5rem;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
}

.px-theme-card__title a {
	color: rgb(var(--pc-ink));
	text-decoration: none;
}

.px-theme-card__title a:hover {
	color: rgb(var(--pc-accent-deep));
}

.px-theme-card__excerpt {
	margin: 0;
	font-size: 0.875rem;
	color: rgb(var(--pc-muted));
}

/* Detail príspevku */
.px-theme-post__thumb img {
	width: 100%;
	height: auto;
	border-radius: 0.75rem;
	margin-bottom: 1.5rem;
}

/* Stránkovanie */
.px-theme-archive__pagination {
	margin-top: 2rem;
}

.px-theme-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.5rem;
	margin-right: 0.25rem;
	border: 1px solid rgb(var(--pc-line));
	border-radius: 9999px;
	font-size: 0.875rem;
	color: rgb(var(--pc-ink));
	text-decoration: none;
}

.px-theme-archive__pagination .page-numbers.current {
	background: rgb(var(--pc-accent));
	border-color: rgb(var(--pc-accent));
	color: #fff;
}

.px-theme-archive__pagination a.page-numbers:hover {
	border-color: rgb(var(--pc-accent));
	color: rgb(var(--pc-accent-deep));
}
