/*
 * Praktični portal — tema.
 * Svetla podlaga, temno sivo besedilo, umirjena modra. Brez zunanjih pisav in animacij.
 * Barvni žetoni so pripravljeni tudi za poznejši temni način (html[data-theme="dark"]).
 */

:root {
	--pp-bg: #ffffff;
	--pp-surface: #ffffff;
	--pp-surface-2: #f5f7fa;
	--pp-text: #1f2933;
	--pp-muted: #52606d;
	--pp-border: #d9e2ec;
	--pp-accent: #1d5fa8;
	--pp-accent-strong: #154a85;
	--pp-accent-soft: #e8f0fa;
	--pp-focus: #f0b429;
	--pp-danger: #b42318;
	--pp-warning: #8a5a00;
	--pp-success: #18794e;
	--pp-radius: 8px;
	--pp-shadow: 0 6px 24px rgba(15, 23, 42, .12);
	--pp-gutter: clamp(16px, 3vw, 32px);
	--pp-max: 1240px;
	--pp-content: 760px;
	--pp-header-h: 64px;
}

/* Pripravljeno za temni način (stikalo bo dodano v prihodnji fazi). */
html[data-theme="dark"] {
	--pp-bg: #0f1720;
	--pp-surface: #16212c;
	--pp-surface-2: #1c2a37;
	--pp-text: #e4e7eb;
	--pp-muted: #9aa5b1;
	--pp-border: #2f3e4d;
	--pp-accent: #7cb1ee;
	--pp-accent-strong: #a7cbf4;
	--pp-accent-soft: #1b3150;
	color-scheme: dark;
}

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

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 1rem; }

body {
	margin: 0;
	background: var(--pp-bg);
	color: var(--pp-text);
	font-family: var(--wp--preset--font-family--system, system-ui, sans-serif);
	font-size: var(--wp--preset--font-size--medium, 1.0625rem);
	line-height: 1.65;
	text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; }
a { color: var(--pp-accent); text-underline-offset: .15em; }
a:hover { color: var(--pp-accent-strong); }

:focus-visible { outline: 3px solid var(--pp-focus); outline-offset: 2px; border-radius: 2px; }
.pp-site-content:focus { outline: none; }

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

.pp-skip-link {
	position: absolute; left: 1rem; top: -100px; z-index: 1000;
	background: var(--pp-accent); color: #fff; padding: .75rem 1rem; border-radius: var(--pp-radius); font-weight: 700;
}
.pp-skip-link:focus { top: 1rem; color: #fff; }

.pp-container { width: 100%; max-width: var(--pp-max); margin-inline: auto; padding-inline: var(--pp-gutter); }

/* ------------------------------------------------------------------
 * Glava
 * ---------------------------------------------------------------- */
.pp-header { background: var(--pp-surface); border-bottom: 1px solid var(--pp-border); position: relative; z-index: 100; }
.pp-header__inner { display: flex; align-items: center; gap: 1rem; min-height: var(--pp-header-h); padding-block: .5rem; flex-wrap: wrap; }
.pp-brand { display: flex; align-items: center; gap: .6rem; margin-right: auto; flex: 1 1 0; min-width: 0; }
.pp-brand__link { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--pp-text); }
.pp-brand__mark { width: 40px; height: 40px; border-radius: 10px; background: var(--pp-accent); color: #fff; display: grid; place-items: center; font-weight: 800; letter-spacing: .02em; flex: none; }
.pp-brand__text { display: grid; line-height: 1.2; }
.pp-brand__name { font-weight: 800; font-size: 1.15rem; }
.pp-brand__tagline { font-size: .8125rem; color: var(--pp-muted); }
.pp-header__search { flex: 1 1 320px; max-width: 440px; }
.pp-header__search .pp-search__input { min-height: 40px; }
.pp-header__search .pp-search__submit { min-height: 40px; }

.pp-menu-toggle {
	display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .9rem;
	border: 1px solid var(--pp-border); border-radius: var(--pp-radius); background: var(--pp-surface); color: var(--pp-text);
	font: inherit; font-weight: 600; cursor: pointer;
}

/* ------------------------------------------------------------------
 * Glavna navigacija
 * ---------------------------------------------------------------- */
.pp-nav { border-top: 1px solid var(--pp-border); background: var(--pp-surface); }
.pp-nav__list, .pp-nav__sub { list-style: none; margin: 0; padding: 0; }
.pp-nav__row { display: flex; align-items: center; }
.pp-nav__link { display: block; padding: .65rem .55rem; color: var(--pp-text); text-decoration: none; font-weight: 600; font-size: .9375rem; line-height: 1.3; }
.pp-nav__link:hover { color: var(--pp-accent); text-decoration: underline; }
.pp-nav__item.is-active > .pp-nav__row > .pp-nav__link,
.pp-nav__link[aria-current="page"] { color: var(--pp-accent); }
.pp-nav__toggle {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-left: -.25rem;
	border: 0; background: transparent; color: var(--pp-muted); border-radius: 4px; cursor: pointer; flex: none;
}
.pp-nav__toggle:hover { background: var(--pp-surface-2); color: var(--pp-accent); }
.pp-nav__toggle .pp-icon { width: 1rem; height: 1rem; transition: transform .15s; }
.pp-nav__toggle[aria-expanded="true"] .pp-icon { transform: rotate(180deg); }
.pp-nav__sub .pp-nav__link { font-weight: 500; }

/* Mobilni prikaz (privzeto). */
@media (max-width: 1099.98px) {
	.pp-header__search { order: 3; flex-basis: 100%; max-width: none; }
	.home .pp-header__search { display: none; }
	.pp-menu-toggle { flex: none; }
	.pp-brand__tagline { font-size: .75rem; }
	.pp-js .pp-nav:not(.is-open) { display: none; }
	.pp-nav__list { padding-block: .5rem; }
	.pp-nav__item--d0 { border-bottom: 1px solid var(--pp-border); }
	.pp-nav__item--d0:last-child { border-bottom: 0; }
	.pp-nav__row { justify-content: space-between; }
	.pp-nav__link { padding: .75rem 0; flex: 1; min-height: 44px; }
	.pp-nav__toggle { width: 44px; height: 44px; }
	.pp-nav__sub { padding: 0 0 .5rem 1rem; }
	.pp-js .pp-nav__item:not(.is-open) > .pp-nav__sub { display: none; }
	.pp-nav__sub .pp-nav__link { padding: .5rem 0; min-height: 40px; }
}

/* Namizni prikaz. */
@media (min-width: 1100px) {
	.pp-menu-toggle { display: none; }
	.pp-nav__list { display: flex; flex-wrap: wrap; gap: 0 .1rem; }
	.pp-nav__item--d0 { position: relative; }
	.pp-nav__item--d0 > .pp-nav__row > .pp-nav__link { padding: .75rem .5rem; border-bottom: 3px solid transparent; }
	.pp-nav__item--d0.is-active > .pp-nav__row > .pp-nav__link { border-bottom-color: var(--pp-accent); }
	.pp-nav__sub {
		position: absolute; top: 100%; left: 0; min-width: 260px; max-width: min(560px, 90vw);
		background: var(--pp-surface); border: 1px solid var(--pp-border); border-radius: var(--pp-radius);
		box-shadow: var(--pp-shadow); padding: .5rem; display: none; z-index: 200;
	}
	.pp-nav__item--d0:nth-last-child(-n+3) > .pp-nav__sub { left: auto; right: 0; }
	.pp-nav__sub:has(> li:nth-child(7)) { grid-template-columns: 1fr 1fr; min-width: 480px; }
	.pp-nav__item.is-open > .pp-nav__sub { display: grid; }
	.pp-nav__sub .pp-nav__link { padding: .45rem .6rem; border-radius: 4px; font-size: .9rem; }
	.pp-nav__sub .pp-nav__link:hover { background: var(--pp-surface-2); }
}
@media (min-width: 1100px) and (hover: hover) {
	.pp-nav__item--d0.has-sub:hover > .pp-nav__sub { display: grid; }
}
@media (min-width: 1100px) {
	.pp-nav__sub:not(:has(> li:nth-child(7))) { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------
 * Postavitev
 * ---------------------------------------------------------------- */
.pp-layout { padding-block: 1.25rem 3rem; }
.pp-main { min-width: 0; }
.pp-main--front { padding-block: 1.5rem 3rem; }
.pp-layout--sidebar { display: grid; gap: 2rem; }
.pp-sidebar { min-width: 0; }

@media (min-width: 960px) {
	.pp-layout--sidebar { grid-template-columns: 280px minmax(0, 1fr); grid-template-areas: "side main"; }
	.pp-layout--sidebar > .pp-main { grid-area: main; }
	.pp-layout--sidebar > .pp-sidebar { grid-area: side; }
	.pp-sidebar > .pp-tree { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; padding-right: .25rem; }
}
@media (max-width: 959.98px) {
	.pp-sidebar { border-top: 1px solid var(--pp-border); padding-top: 1.5rem; }
}

.pp-breadcrumbs { margin-bottom: 1rem; }

/* ------------------------------------------------------------------
 * Naslovi strani in kategorij
 * ---------------------------------------------------------------- */
.pp-page__title, .pp-article__title, .pp-term-header__title { margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--xx-large, 2.25rem); line-height: 1.2; }
.pp-page__header, .pp-article__header { margin-bottom: 1.5rem; }
.pp-term-header { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--pp-border); }
.pp-term-header__icon { width: 56px; height: 56px; border-radius: 14px; background: var(--pp-accent-soft); color: var(--pp-accent); display: grid; place-items: center; flex: none; }
.pp-term-header__icon .pp-icon { width: 30px; height: 30px; }
.pp-term-header__desc { color: var(--pp-muted); font-size: 1.05rem; }
.pp-term-header__desc p { margin: 0 0 .5rem; }
.pp-term-header__parent { margin: .25rem 0 0; font-size: .9375rem; }
.pp-article__summary { font-size: 1.15rem; color: var(--pp-muted); margin: 0 0 1rem; max-width: var(--pp-content); }
.pp-article__actions { display: flex; gap: .5rem; }

/* ------------------------------------------------------------------
 * Vsebina (članek, stran)
 * ---------------------------------------------------------------- */
.entry-content { max-width: var(--pp-content); }
.pp-front.entry-content { max-width: none; }
.entry-content > * { margin-block: 0 1.15rem; }
.entry-content h2 { margin-top: 2.25rem; }
.entry-content h3 { margin-top: 1.75rem; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; }
.entry-content li + li { margin-top: .3rem; }
.entry-content ul[role="list"], .entry-content .pp-cards, .entry-content .pp-link-list, .entry-content .pp-tool-links, .entry-content .pp-post-list--ranked { padding-left: 0; }
.entry-content .pp-cards li + li, .entry-content .pp-tree li + li { margin-top: 0; }
.entry-content .pp-section__title { margin-top: 0; }
.entry-content .alignwide { max-width: min(1200px, 100%); }
.entry-content .alignfull { max-width: none; }

.entry-content figure { margin-inline: 0; }
.entry-content figcaption, .wp-element-caption { font-size: .875rem; color: var(--pp-muted); margin-top: .4rem; }
.entry-content img { border-radius: 6px; }

.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.entry-content th, .entry-content td { border: 1px solid var(--pp-border); padding: .55rem .7rem; text-align: left; vertical-align: top; }
.entry-content thead th { background: var(--pp-surface-2); font-weight: 700; }
.entry-content tbody tr:nth-child(even) td { background: #fafbfc; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--pp-surface-2); }

code, kbd, pre { font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace); font-size: .9em; }
:not(pre) > code { background: var(--pp-surface-2); border: 1px solid var(--pp-border); border-radius: 4px; padding: .05em .35em; }
pre { overflow-x: auto; background: var(--pp-surface-2); border: 1px solid var(--pp-border); border-radius: var(--pp-radius); padding: 1rem; line-height: 1.5; }
kbd { border: 1px solid var(--pp-border); border-bottom-width: 2px; border-radius: 4px; padding: .05em .35em; background: var(--pp-surface); }

blockquote { margin-inline: 0; padding-left: 1rem; border-left: 4px solid var(--pp-accent); color: var(--pp-muted); }
hr, .wp-block-separator { border: 0; border-top: 1px solid var(--pp-border); margin-block: 2rem; }
.wp-block-embed iframe, .wp-block-video video { max-width: 100%; }

.pp-article__image { margin: 0 0 1.5rem; }
.pp-article__image img { width: 100%; height: auto; border-radius: var(--pp-radius); }
.pp-article__footer { max-width: var(--pp-content); margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--pp-border); }
.pp-article__report { font-size: .9375rem; }
.pp-related { margin-top: 2.5rem; }

/* ------------------------------------------------------------------
 * Domača stran
 * ---------------------------------------------------------------- */
.pp-front > .pp-section, .pp-front > .wp-block-group { margin-bottom: 2.5rem; }
.pp-home-live { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: start; }
.pp-home-live > .pp-section { margin: 0 !important; height: 100%; }
.pp-home-columns { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); align-items: start; }
.pp-home-columns > .pp-section { margin: 0 !important; }

/* ------------------------------------------------------------------
 * Iskanje
 * ---------------------------------------------------------------- */
.pp-search-page__form { margin-bottom: 1rem; max-width: var(--pp-content); }
.pp-search-page__count { color: var(--pp-muted); }

/* ------------------------------------------------------------------
 * Oštevilčenje
 * ---------------------------------------------------------------- */
.navigation.pagination { margin-top: 2rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border: 1px solid var(--pp-border); border-radius: var(--pp-radius); text-decoration: none; }
.nav-links .page-numbers.current { background: var(--pp-accent); border-color: var(--pp-accent); color: #fff; }

/* ------------------------------------------------------------------
 * Noga
 * ---------------------------------------------------------------- */
.pp-footer { background: #1f2933; color: #e4e7eb; margin-top: 2rem; }
.pp-footer a { color: #fff; }
.pp-footer__inner { display: grid; gap: 2rem; padding-block: 2.5rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.pp-footer__name { font-weight: 800; font-size: 1.1rem; margin-top: 0; }
.pp-footer__about p { max-width: 52ch; }
.pp-footer__emergency { font-size: 1.05rem; }
.pp-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.pp-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .15); padding-block: 1rem; font-size: .875rem; color: #cbd2d9; }
.pp-footer__bottom p { margin: 0; }

.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; position: static !important; }
