/**
 * Theme:   Zelené Ralsko Child Theme
 * Parent:  Astra
 * Version: 1.0.0
 * Author:  PRAGIG Development a.s.
 *
 * Obsah:
 *   0.  Google Fonts import
 *   1.  Globální reset & base
 *   2.  Typografie — globální
 *   3.  Utility třídy (sr-only, visually-hidden)
 *   4.  Astra global override (header, body padding)
 *   5.  Focusable stavy — globální
 *
 * Poznámka:
 *   Stránkově specifické styly jsou v oddělených souborech:
 *   - homepage.css   → front page
 *   - (další stránky přibydou postupně)
 *
 * DIREKTIVA: Žádné hardcoded hodnoty — výhradně var(--token) z tokens.css.
 */

/* ============================================================
   0. GOOGLE FONTS — Inter
   Načítá se podmíněně dle consent (viz functions.php).
   Tento @import je záloha pro případ přímého načtení styles.css.
   ============================================================ */

/* @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap'); */
/* Záměrně zakomentováno — načítání řídí functions.php + Complianz consent */

@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  src: local('Inter Thin'), local('Inter-Thin'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-100.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100;
  src: local('Inter Thin Italic'), local('Inter-ThinItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-100italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: local('Inter Extra Light'), local('Inter-ExtraLight'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-200.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  src: local('Inter Extra Light Italic'), local('Inter-ExtraLightItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-200italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: local('Inter Light'), local('Inter-Light'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-300.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: local('Inter Light Italic'), local('Inter-LightItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-300italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: local('Inter Regular'), local('Inter-Regular'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: local('Inter Italic'), local('Inter-Italic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: local('Inter Medium'), local('Inter-Medium'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: local('Inter Medium Italic'), local('Inter-MediumItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-500italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: local('Inter Semi Bold'), local('Inter-SemiBold'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: local('Inter Semi Bold Italic'), local('Inter-SemiBoldItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-600italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: local('Inter Bold'), local('Inter-Bold'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-700.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  src: local('Inter Bold Italic'), local('Inter-BoldItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-700italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: local('Inter Extra Bold'), local('Inter-ExtraBold'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-800.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  src: local('Inter Extra Bold Italic'), local('Inter-ExtraBoldItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-800italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: local('Inter Black'), local('Inter-Black'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-900.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  src: local('Inter Black Italic'), local('Inter-BlackItalic'), url('https://zeleneralsko.cz/wp-content/themes/zeleneralsko/assets/fonts/inter-v20-latin_latin-ext-900italic.woff2') format('woff2');
}





/* ============================================================
   1. GLOBÁLNÍ RESET & BASE
   ============================================================ */

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

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-base);
	color: var(--color-text);
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a {
	color: var(--color-primary);
	transition: color var(--transition-fast);
}

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

/* Odstraní výchozí margin na p, h* v Astra kontextu */
.nps-homepage p,
.nps-homepage h1,
.nps-homepage h2,
.nps-homepage h3,
.nps-homepage h4,
.nps-homepage h5,
.nps-homepage h6 {
	margin-block-start: 0;
}

.hide{
	display: none!important;
}


/* ============================================================
   2. TYPOGRAFIE — GLOBÁLNÍ
   (Podstránky s WP editorem — běžný obsah)
   ============================================================ */

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--font-heading);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	letter-spacing: var(--tracking-tight);
	color: var(--color-text);
}

.entry-content p {
	font-size: var(--text-base);
	line-height: var(--line-height-loose);
	color: var(--color-text-muted);
	margin-block-end: var(--space-5);
}

.entry-content a {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry-content a:hover {
	color: var(--color-accent);
}


/* ============================================================
   3. UTILITY TŘÍDY
   ============================================================ */

/* Screen reader only — vizuálně skryté, přístupné pro AT */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Skip link — přeskočit na hlavní obsah */
.skip-link {
	position: absolute;
	inset-block-start: -100%;
	inset-inline-start: var(--space-4);
	z-index: var(--z-toast);
	padding: var(--space-3) var(--space-5);
	background-color: var(--color-primary);
	color: var(--color-text-inverse);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	border-radius: 0 0 var(--radius-md) var(--radius-md);
	transition: inset-block-start var(--transition-fast);
}

.skip-link:focus {
	inset-block-start: 0;
}


/* ============================================================
   4. ASTRA GLOBAL OVERRIDE
   ============================================================ */

/* Odstraní výchozí padding který Astra přidává pod header */
.ast-page-builder-template .site-content,
.ast-plain-container .site-content {
	padding-block-start: 0;
}

/* Zajistí že Astra header má správnou z-index hodnotu */
#masthead,
.site-header {
	z-index: var(--z-sticky);
}

/* Astra custom logo — výška dle tokenu */
.ast-site-identity .custom-logo {
	max-height: var(--header-height-desktop);
	width: auto;
}

/* Astra primary navigace — font z tokenů */
#primary-menu .menu-item a,
.ast-header-menu .menu-item a {
	font-family: var(--font-heading);
	font-weight: var(--font-weight-semibold);
}

/* Astra header background */
#masthead.site-header {
	background-color: var(--header-bg);
}

/* Astra header — scrolled stav (přidá třída .scrolled přes JS nebo Astra) */
#masthead.ast-header-sticked {
	background-color: var(--header-bg-scrolled);
}


/* ============================================================
   5. FOCUS STAVY — GLOBÁLNÍ
   Platí pro celý web. Každý interaktivní prvek musí mít
   viditelný focus stav (WCAG 2.1 AA — 2px min.)
   ============================================================ */

:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 2px;
}

/* Odstraní outline pro myš (zůstane pro klávesnici) */
:focus:not(:focus-visible) {
	outline: none;
}

/* Tlačítka */
button:focus-visible,
[role="button"]:focus-visible {
	outline: none;
	box-shadow: var(--color-focus-ring);
}

/* Linky */
a:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 3px;
	border-radius: 2px;
}


/* ============================================================
   ASTRA FULL-WIDTH OVERRIDE — Homepage
   Odstraní bílé pozadí, padding a max-width které Astra
   přidává kolem obsahu stránky.
   ============================================================ */

/* Odstraň bílé pozadí a padding z Astra content wrapperů */
.nps-homepage,
.ast-plain-container .site-content .nps-homepage,
.ast-page-builder-template .site-content .nps-homepage {
	padding: 0 !important;
	margin: 0 !important;
}

/* Astra article/entry wrapper — odstraň veškerý padding */
.page-template-front-page .site-content,
.page-template-front-page .content-area,
.page-template-front-page #content,
.page-template-front-page .ast-container,
.page-template-front-page .entry-content,
.page-template-front-page article.page {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	background: transparent !important;
}

/* Odstraň bílé pozadí z .site-content na front page */
.home.page-template-front-page #content,
.home.page-template-front-page .site-content,
.home #content,
.home .site-content,
.is-front-page #content,
.is-front-page .site-content {
	background-color: transparent !important;
	padding: 0 !important;
}

/* Astra ast-container max-width reset */
.home .ast-container,
.is-front-page .ast-container {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Odstraň Astra entry-content padding */
.home .entry-content,
.is-front-page .entry-content,
.home article.page > .entry-content,
.is-front-page article.page > .entry-content {
	padding: 0 !important;
	margin: 0 !important;
}

/* Odstraň případný box-shadow nebo border z article */
.home article.page,
.is-front-page article.page {
	box-shadow: none !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Zajisti že <main> zabírá plnou šířku */
.home #main,
.is-front-page #main,
.home #nps-main,
.is-front-page #nps-main {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}


/* ============================================================
   EMERGENCY FIX — homepage layout
   Hero nesmí vytlačit ostatní sekce
   ============================================================ */

/* Zajisti že main container dovolí výšku všech sekcí */
.home #main,
.is-front-page #main,
.home #nps-main,
.is-front-page #nps-main {
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

/* Hero — nepřekrývej ostatní obsah */
.nps-hero {
	position: relative !important;
	z-index: 1 !important;
}

/* Všechny sekce musí být viditelné */
.nps-homepage > section,
.nps-homepage > * {
	position: relative;
	z-index: auto;
	display: block;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Zrušení případného overflow:hidden z Astra wrapperů */
.home .site-content,
.home #content,
.home .ast-container,
.is-front-page .site-content,
.is-front-page #content,
.is-front-page .ast-container {
	overflow: visible !important;
	height: auto !important;
}

/* Hero pseudo-elementy nesmí blokovat obsah pod */
.nps-hero::before,
.nps-hero::after {
	pointer-events: none;
	z-index: 6;
}


/* ============================================================
   NUKLEÁRNÍ FIX — všechny sekce homepage musí být viditelné
   Přepíše cokoliv co Astra nastavuje
   ============================================================ */

/* Žádný Astra wrapper nesmí mít fixní výšku nebo overflow:hidden */
.home .site,
.home .site-content,
.home #content,
.home #main,
.home .ast-container,
.home .entry-content,
.home article,
.is-front-page .site,
.is-front-page .site-content,
.is-front-page #content,
.is-front-page #main,
.is-front-page .ast-container,
.is-front-page .entry-content,
.is-front-page article {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	display: block !important;
}

/* Homepage wrapper a všechny přímé potomky */
#nps-homepage-wrap,
#nps-homepage-wrap > * {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}


/* ============================================================
   HERO SPLIT LAYOUT — vynucení přes Astra wrappery
   ============================================================ */

/* Hero musí být plná šířka viewportu */
.home #nps-hero,
.is-front-page #nps-hero {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
}

@media (max-width: 767px) {
	.home #nps-hero,
	.is-front-page #nps-hero {
		grid-template-columns: 1fr !important;
	}
}

/* Astra ast-container nesmí zúžit hero */
.home .ast-container:has(#nps-hero),
.home .entry-content:has(#nps-hero) {
	max-width: 100% !important;
	padding: 0 !important;
}



#nps-header button:hover{	
    background-color: transparent;
    border-color: transparent;
	color: var(--color-accent);
}



#colophon{
	display: none;
}


.nps-invest-paths {
    background: var(--color-bg-alt);
}




/* ============================================================
   ASTRA SCROLL-TO-TOP — fix vystředění ikony
   ============================================================ */

/* ============================================================
   ASTRA SCROLL-TO-TOP — fix vystředění ikony
   ============================================================ */

#ast-scroll-top {
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
}

/* Když Astra nastaví display: block, přepneme na flex */
#ast-scroll-top[style*="display: block"] {
	display: flex !important;
}

#ast-scroll-top .ast-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

#ast-scroll-top .ast-arrow-svg {
	display: block;
}

#ast-scroll-top {
   background: var(--color-primary);
    font-size: 15px;
}