/*
Theme Name: ZRS
Theme URI: https://www.hamradio.si
Author: Zveza radioamaterjev Slovenije
Description: Blokovna tema za spletno stran Zveze radioamaterjev Slovenije (smer A · Signal). Potrebuje vtičnik ZRS Core.
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zrs
*/

/* Accessibility: always-visible keyboard focus. Two-tone ring (navy outline +
   white halo) keeps 3:1 contrast on every background, including the navy band. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--navy);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px var(--wp--preset--color--white);
	border-radius: 2px;
}

/* Accessibility: WP core's "Preskoči na vsebino" skip link is a .screen-reader-text
   element (visually hidden by default); without this it stays invisible even while
   focused, so keyboard users never see the first Tab stop. */
.skip-link.screen-reader-text:focus {
	position: absolute;
	top: var(--wp--preset--spacing--30);
	left: var(--wp--preset--spacing--30);
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	clip-path: none;
	overflow: visible;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	border-radius: 2px;
}

/* A page whose content starts with a wide block (e.g. the "Kako postati radioamater" pattern): the page title
   lines up with it instead of staying at content width. Core's constrained-layout selector uses :where() (0,0,0). */
main:has(> .wp-block-post-content > .alignwide:first-child) > .wp-block-post-title {
	max-width: var(--wp--style--global--wide-size);
}

/* Header */
.zrs-glava { border-bottom: 1px solid var(--wp--preset--color--line); }
.zrs-glava__vrstica { gap: var(--wp--preset--spacing--30); padding-block: var(--wp--preset--spacing--30); flex-wrap: nowrap; }
.zrs-znamka { flex: 0 1 auto; min-width: 0; }
.zrs-glavni-meni { flex: 1 1 auto; min-width: 0; }
.zrs-glavni-meni .wp-block-navigation__container { flex-wrap: wrap; justify-content: flex-end; row-gap: 0.25rem; }
.zrs-glava__cta { flex: 0 0 auto; }
.zrs-glava__cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1100px) {
	.zrs-znamka__podnapis { display: none; }
	.zrs-glavni-meni .wp-block-navigation__container { column-gap: 1rem; }
}
.zrs-znamka { gap: 0.75rem; }
.zrs-znamka .wp-block-site-logo img { width: 48px; }
.zrs-znamka__ime { margin: 0; font-family: var(--wp--preset--font-family--inter-tight); font-size: 1rem; font-weight: 700; line-height: 1.15; }
.zrs-znamka__ime a { color: inherit; text-decoration: none; }
.zrs-znamka__podnapis { margin: 0; font-size: 0.75rem; color: var(--wp--preset--color--muted); }
.zrs-glavni-meni a { text-decoration: none; }
.zrs-glavni-meni a:hover, .zrs-glavni-meni .current-menu-item > a { color: var(--wp--preset--color--primary-dark); }
/* The header CTA leaves the header exactly when the navigation collapses into its overlay
   (core breakpoint 600 px); inside the open overlay the copied item (.zrs-meni-cta) takes over.
   Selector needs two classes: core's layout support emits "body .is-layout-flex{display:flex}"
   (specificity 0,1,1), which otherwise beats a single-class ".zrs-glava__cta{display:none}". */
@media (max-width: 599px) {
	.zrs-glava .zrs-glava__cta { display: none; }
}
/* Two classes needed: core's ".wp-block-navigation .wp-block-navigation-item{display:flex}"
   (specificity 0,2,0) otherwise beats a single-class ".zrs-meni-cta{display:none}" (0,1,0). */
.zrs-glavni-meni .zrs-meni-cta { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .zrs-meni-cta {
	display: block;
	margin-top: var(--wp--preset--spacing--30);
}
.wp-block-navigation__responsive-container.is-menu-open .zrs-meni-cta a {
	padding: 0.75rem 1.25rem;
	border-radius: var(--wp--custom--radius--gumb);
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
	font-weight: 600;
}

/* Button style "povezava": text link with arrow */
.wp-block-button.is-style-povezava .wp-block-button__link {
	padding: 0;
	background: none;
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}
.wp-block-button.is-style-povezava .wp-block-button__link::after { content: "\00a0→"; }
.wp-block-button.is-style-povezava .wp-block-button__link:hover { background: none; color: var(--wp--preset--color--navy); text-decoration: underline; }

/* Group style "kartica" */
.wp-block-group.is-style-kartica {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--kartica);
	box-shadow: var(--wp--custom--senca--kartica);
	padding: 1.25rem 1.4rem;
}

/* Categories as chips (news filter) */
.wp-block-categories.is-style-cipi { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.wp-block-categories.is-style-cipi a {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	color: var(--wp--preset--color--navy);
	font-size: 0.875rem;
	text-decoration: none;
}
.wp-block-categories.is-style-cipi a:hover,
.wp-block-categories.is-style-cipi .current-cat > a {
	background: var(--wp--preset--color--navy);
	border-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

/* Section header: title left, link right */
.zrs-sekcija__glava { gap: 1rem; margin-bottom: var(--wp--preset--spacing--40); }
.zrs-sekcija__glava > .wp-block-heading { margin: 0; }

/* Hero */
.zrs-hero { background: linear-gradient(180deg, var(--wp--preset--color--white), var(--wp--preset--color--surface)); }
.zrs-oznacba {
	display: inline-block;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary-soft);
	color: var(--wp--preset--color--primary-dark);
	font-size: 0.8125rem;
	font-weight: 600;
}
.zrs-hero__naslov em { font-style: normal; color: var(--wp--preset--color--primary); }
.zrs-uvod { max-width: 35rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--medium); }

/* Dark clubs band */
.zrs-pasica-klubi { border-radius: var(--wp--custom--radius--pasica); }
.zrs-pasica-klubi p { color: #C9D6E4; }
.zrs-pasica-klubi .zrs-imenik__iskanje input[type="search"] { border-color: transparent; }
.zrs-pasica-klubi .zrs-imenik__regija[aria-pressed="true"] { border-color: #fff; }

/* Steps (how to become a ham) */
.zrs-korak__st {
	display: inline-grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--inter-tight);
	font-weight: 700;
}

/* Footer */
.zrs-noga__naslov,
.zrs-noga .zrs-kontakt__naslov,
.zrs-noga .zrs-kartica__oznaka {
	display: block;
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.zrs-noga__avtorske { padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--muted); }

/* Single post meta row */
.zrs-meta { gap: 0.75rem; align-items: center; }
