/*
 * WP JAC Fras - style motywu (ładowane po chota.min.css).
 * Uwaga: Chota ustawia html{font-size:62.5%}, czyli 1rem = 10px.
 */

/* --- Mapowanie zmiennych Choty na paletę motywu --- */
:root {
	--color-primary: #fa5f3d;
	--bg-color: #ffffff;
	--bg-secondary-color: #f7f1ea;
	--font-color: #1238d8;
	--grid-maxWidth: 120rem;
	--wp-jac-orange: #fa5f3d;
	--wp-jac-orange-dark: #d9441f;
	--wp-jac-ink: #1f1f24;
	--wp-jac-blue: #1238d8;
}

/*
 * Kroje pisma NIE są tu ustawiane celowo: sterują nimi Style (Edytor witryny -> Style -> Typografia)
 * i theme.json (presety z Biblioteki czcionek). Sztywny font-family w CSS przykrywałby ten wybór.
 */
h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}

/* --- Treść: tło full width, rzędy wewnątrz w kontenerze (120rem) --- */
.wp-jac-content {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 4rem;
}

/*
 * Pełna szerokość wewnątrz <main>: main ma padding 0, a rdzeń WP (.has-global-padding > .alignfull) i tak dokłada ujemny
 * margines = root padding (2rem) -> element wystaje 2rem poza ekran z każdej strony (na mobile: biała kreska / za szeroka strona).
 * Zerujemy go. Okładka, Hero i obraz "pełna szerokość" mają własny margines (!important) i tego nie dotyczy.
 */
.wp-jac-content.has-global-padding > .alignfull {
	margin-left: 0;
	margin-right: 0;
}

/* długie słowa / adresy URL nie rozpychają strony na mobile */
.wp-jac-content {
	overflow-wrap: anywhere;
}

.wp-jac-content > :where(:not(.alignfull)) {
	max-width: var(--grid-maxWidth);
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
}

.wp-jac-content .wp-block-post-featured-image.alignfull img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Chota .row/.container także nie wychodzą poza kontener */
.wp-jac-content .row,
.wp-jac-content .container {
	max-width: var(--grid-maxWidth);
	margin-left: auto;
	margin-right: auto;
}

/*
 * Rozmiar obrazka "Pełna szerokość (viewport)" (wp-jac-full): wychodzi z kontenera
 * na cały viewport. Margines z !important, bo layout "constrained" centruje dzieci
 * przez margin:auto !important.
 */
.wp-block-image.size-wp-jac-full,
.wp-block-image.is-style-wp-jac-full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.wp-block-image.size-wp-jac-full img,
.wp-block-image.is-style-wp-jac-full img {
	display: block;
	width: 100%;
	height: auto;
}

/* 100vw wlicza pasek przewijania - bez tego pojawiałby się poziomy scroll */
body.wp-jac-fras {
	overflow-x: clip;
}

/* --- Karty wpisów --- */
.wp-jac-card img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 1.2rem;
}

.wp-jac-card .wp-block-post-title a {
	text-decoration: none;
}

/* --- Header: dymek z mottem + menu po prawej --- */
.wp-jac-header {
	/* dymek (absolute) kotwiczy się do headera = do lewej krawędzi kontenera; bez z-index, żeby nie tworzyć kontekstu nad treścią */
	position: relative;
	gap: 2rem;
	/* nie full width: kontener jak reszta rzędów */
	max-width: var(--grid-maxWidth);
	margin-left: auto;
	margin-right: auto;
}

.wp-jac-brand {
	gap: 2rem;
	align-items: center;
}

/*
 * Dymek: SVG (assets/img/wp-jac-bubble.svg) to narożnik z płaską górą i lewą krawędzią,
 * więc po prostu przyklejamy go do górnej krawędzi strony i lewej krawędzi kontenera.
 * Rośnie razem z napisem: szerokość i odstępy w em liczone od rozmiaru tekstu
 * (ustawianego w edytorze na bloku Akapit). Napis jest wyśrodkowany pionowo.
 */
.wp-jac-bubble {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	/* proporcje SVG; dymek może urosnąć, jeśli tekst jest wyższy */
	aspect-ratio: 598 / 386;
	background: url("../img/wp-jac-bubble.svg") center / 100% 100% no-repeat;
	color: #fff;
}

/* miejsce obok dymka na logo (tylko gdy logo jest ustawione) */
.wp-jac-brand:has(.wp-block-site-logo) {
	padding-left: var(--wp-jac-brand-offset, 62rem);
}

.wp-jac-bubble__text {
	box-sizing: border-box;
	/* szerokość i odstępy w em => skalują się z rozmiarem napisu */
	width: 15em;
	max-width: calc(100vw - 4rem);
	margin: 0;
	/* więcej miejsca u dołu i z lewej: dolny lewy brzeg dymka jest skośny */
	padding: 1.5em 2.2em 2.3em 1.9em;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	/* krój: atrybut bloku Akapit (Typografia -> Rodzina czcionek); rozmiar też w edytorze, nie tutaj */
	line-height: 1.15;
	color: #fff;
}

/* motto jest linkiem do strony głównej, ale wygląda jak zwykły biały napis */
.wp-jac-bubble .wp-jac-bubble__text a {
	color: inherit;
	text-decoration: none;
}

.wp-jac-bubble .wp-jac-bubble__text a:hover,
.wp-jac-bubble .wp-jac-bubble__text a:focus-visible {
	color: inherit;
	opacity: 0.85;
}

/* duży wykrzyknik na końcu motta */
.wp-jac-bubble__bang {
	display: inline-block;
	font-size: 1.9em;
	line-height: 0;
	margin-left: 0.08em;
	transform: translateY(0.1em) rotate(6deg);
}

/* dymek przykrywa zdjęcie wrzucone pod spodem */
.wp-jac-content {
	position: relative;
	z-index: 0;
	/* treść zaczyna się 2rem (20px) pod menu; zdjęcie wchodzi pod dymek */
	margin-block-start: 2rem;
}

/* menu: wersaliki, pomarańcz, po prawej */
.wp-jac-nav {
	margin-left: auto;
	/* menu zawsze nad dymkiem (dymek ma z-index 3) */
	position: relative;
	z-index: 4;
}

.wp-jac-nav .wp-block-navigation-item__content {
	/* krój: theme.json -> blok Nawigacja (Style -> Bloki -> Nawigacja -> Typografia)
	 * rozmiar ustawiany w theme.json / edytorze (blok Nawigacja), dziedziczony */
	font-size: inherit;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	/* kolor ustawiany w theme.json / edytorze (paleta "Pomarańcz menu #fa5f3d"), nie tutaj */
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.5rem;
	/* ramka zarezerwowana dla wszystkich pozycji, żeby aktywna nie przesuwała układu */
	border: 2px solid transparent;
	padding: 0.15rem 0.7rem;
}

/* aktywna strona: bez podkreślenia, w prostokątnej ramce (grubość = grubość podkreślenia) */
.wp-jac-nav .wp-block-navigation-item__content[aria-current],
.wp-jac-nav .current-menu-item > .wp-block-navigation-item__content,
.wp-jac-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-jac-nav .current_page_item > .wp-block-navigation-item__content {
	text-decoration: none;
	border-color: currentColor;
}

/*
 * Menu mobilne (nakładka): domyślnie WP daje czarny tekst. Kolor #fa5f3d ustawia
 * atrybut overlayTextColor w header.html; ta reguła łapie tylko przypadek, gdy
 * kolor nakładki nie jest ustawiony (np. Header zapisany wcześniej w edytorze).
 */
.wp-block-navigation.wp-jac-nav .wp-block-navigation__responsive-container.is-menu-open:not(.has-text-color) {
	color: var(--wp-jac-orange);
}

/* --- Stopka: w przepływie strony, przezroczysta, w kontenerze --- */
.wp-jac-footer {
	max-width: var(--grid-maxWidth);
	margin-left: auto;
	margin-right: auto;
	padding: 3rem 2rem;
	background: transparent;
	/* kolor tekstu dziedziczony (domyślny #1238d8), do zmiany w edytorze */
}

.wp-jac-footer p {
	margin: 0;
}

.wp-jac-footer a {
	color: var(--wp-jac-orange-dark);
}

.wp-jac-footer a:hover {
	color: var(--wp-jac-blue);
}

/* widgety stopki: kolumny dopasowują się do szerokości */
.wp-jac-footer-widgets {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
	gap: 2rem;
	width: 100%;
	margin-bottom: 2rem;
}

.wp-jac-footer-widgets .widget-title {
	margin: 0 0 1rem;
	font-size: 1.8rem;
}

/* Boczny odstęp tekstu na mobile: moduł inc/modules/mobile.php (assets/css/modules/mobile.css) */

/* --- Mobile --- */
@media (max-width: 782px) {
	.wp-jac-brand:has(.wp-block-site-logo) {
		padding-left: 0;
	}

	/* na wąskich ekranach logo zniknęłoby pod dymkiem / zabrakło miejsca */
	.wp-jac-brand .wp-block-site-logo {
		display: none;
	}
}
