/*
Theme Name: Pevnost
Theme URI: https://pevnostnituristika.cz/
Author: Vendula Bezáková
Description: Bloková šablona pro Pevnostní turistiku. Beton, grafit, mech a rez; písma Archivo a Source Sans 3. Počítá s pluginem Pevnostní turistika (typ obsahu Muzeum).
Version: 0.3.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: pevnost
*/

/* ---------- Základ ---------- */

body { -webkit-font-smoothing: antialiased; }

:where(.wp-site-blocks) > * { margin-block-start: 0; }

img { height: auto; }

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

.screen-reader-text:focus { clip: auto; }

/* Horní nadpis nad titulkem (typ objektu, kategorie) */
.pt-nadtitulek,
.pt-nadtitulek a {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mech);
	text-decoration: none;
}

.pt-tlumene,
.pt-tlumene a { color: var(--wp--preset--color--text-tlumeny); }

/* ---------- Úvodní fotka ---------- */

.pt-hero.wp-block-cover { align-items: flex-end; }
.pt-hero .wp-block-cover__inner-container { width: 100%; }

/* ---------- Hlavička ---------- */

.pt-hlavicka a { text-decoration: none; }
.pt-hlavicka .wp-block-site-title a { color: var(--wp--preset--color--beton-svetly); }
.pt-hlavicka .wp-block-navigation { font-weight: 600; }
.pt-hlavicka .wp-block-navigation-item__content { padding-block: 0.6rem; border-bottom: 2px solid transparent; }
.pt-hlavicka .wp-block-navigation-item__content:hover,
.pt-hlavicka .current-menu-item > .wp-block-navigation-item__content,
.pt-hlavicka .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--rez-svetla);
	border-bottom-color: var(--wp--preset--color--rez-svetla);
}
.pt-hlavicka .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: var(--wp--preset--font-size--large); }

/* ---------- Patička ---------- */

.pt-paticka a { color: var(--wp--preset--color--linka); }
.pt-paticka a:hover { color: var(--wp--preset--color--beton-svetly); }

/* ---------- Štítky (kraje, typy) ---------- */

.wp-block-categories.is-style-stitky {
	list-style: none;
	padding: 0;
	margin-inline: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}
.wp-block-categories.is-style-stitky li { margin: 0; }
.wp-block-categories.is-style-stitky a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--wp--preset--color--grafit);
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--grafit);
}
.wp-block-categories.is-style-stitky a:hover,
.wp-block-categories.is-style-stitky .current-cat > a {
	background: var(--wp--preset--color--grafit);
	color: var(--wp--preset--color--beton-svetly);
}

.pt-stitky { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; }
.pt-stitek {
	font-size: var(--wp--preset--font-size--x-small);
	background: #E9E6DF;
	padding: 0.2rem 0.5rem;
	line-height: 1.4;
}
.pt-stitek--bez-auta { background: var(--wp--preset--color--mech-svetly); color: var(--wp--preset--color--mech-tmavy); font-weight: 600; }

/* ---------- Karty ---------- */

/* Mřížka výpisů: větší mezera mezi řádky než mezi sloupci */
.wp-block-post-template.is-layout-grid { row-gap: 2rem; }


.pt-karta { height: 100%; }
.pt-karta a { text-decoration: none; }
.pt-karta .wp-block-post-title a { color: var(--wp--preset--color--grafit); }
.pt-karta:hover .wp-block-post-title a { color: var(--wp--preset--color--rez); }
.pt-karta .wp-block-post-featured-image { margin: 0; }
.pt-karta .wp-block-post-featured-image img { display: block; }
.pt-karta__text > * { margin-block: 0; }
.pt-karta__text { display: flex; flex-direction: column; gap: 0.35rem; }

/* Karta v řádku (výpis muzeí) */
.pt-karta--radek {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
.pt-karta--radek > * { margin: 0 !important; }
.pt-karta--radek .wp-block-post-featured-image { aspect-ratio: 3 / 2; }
.pt-karta--radek .wp-block-post-featured-image a,
.pt-karta--radek .wp-block-post-featured-image img { display: block; height: 100%; width: 100%; object-fit: cover; }
@media (min-width: 640px) {
	.pt-karta--radek { grid-template-columns: 260px minmax(0, 1fr); }
	/* Fotka se přizpůsobí výšce textu, neroztahuje kartu */
	.pt-karta--radek .wp-block-post-featured-image { aspect-ratio: auto; position: relative; min-height: 180px; }
	.pt-karta--radek .wp-block-post-featured-image a,
	.pt-karta--radek .wp-block-post-featured-image img { position: absolute; inset: 0; }
}
.pt-karta--radek .pt-radek-info { display: flex; flex-wrap: wrap; gap: 0.2rem 1.25rem; font-size: var(--wp--preset--font-size--small); margin-top: 0.35rem; }

/* Karta bez fotky: šedý obdélník místo obrázku */
.pt-karta .wp-block-post-featured-image:empty { display: none; }

/* ---------- Detail muzea: split screen ---------- */

.pt-split { align-items: flex-start !important; }
.pt-split__foto { width: 100%; }
.pt-split__foto .wp-block-post-featured-image { margin: 0; background: var(--wp--preset--color--grafit-svetly); }
.pt-split__foto .wp-block-post-featured-image img { display: block; max-height: 75vh; object-position: center; }
.pt-split__obsah { width: 100%; min-width: 0; }

@media (min-width: 960px) {
	.pt-split { flex-wrap: nowrap !important; }
	.pt-split__foto {
		flex: 0 0 44%;
		width: 44%;
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
	}
	.pt-split__foto .wp-block-post-featured-image img { max-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); }
	.pt-split__obsah { flex: 1 1 auto; }
}

.pt-split__obsah .wp-block-post-content > h2 { margin-top: var(--wp--preset--spacing--50); }

/* Praktické informace z pluginu – doladění k šabloně */
.wp-block-pevnost-prakticke-info .pt-info__platnost { margin: 0.5rem 0 0; }
.wp-block-pevnost-karta-info { margin-top: 0.4rem; }

/* ---------- Galerie: styl Čtverce ---------- */

/* Stejně silné selektory jako styly galerie z WordPressu (:not(#individual-image)), aby měly přednost. */
.wp-block-gallery.has-nested-images.is-style-ctverce figure.wp-block-image:not(#individual-image) {
	aspect-ratio: 1 / 1;
}
.wp-block-gallery.has-nested-images.is-style-ctverce.is-cropped figure.wp-block-image:not(#individual-image) > a,
.wp-block-gallery.has-nested-images.is-style-ctverce.is-cropped figure.wp-block-image:not(#individual-image) img,
.wp-block-gallery.has-nested-images.is-style-ctverce figure.wp-block-image:not(#individual-image) > a,
.wp-block-gallery.has-nested-images.is-style-ctverce figure.wp-block-image:not(#individual-image) img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

/* ---------- Vazby článek ↔ muzeum ---------- */

.wp-block-pevnost-trasy-k-muzeu .pt-trasy__nadpis,
.wp-block-pevnost-objekty-na-trase .pt-objekty__nadpis { font-family: var(--wp--preset--font-family--archivo); }
.wp-block-pevnost-trasy-k-muzeu .pt-trasy__seznam a { font-family: var(--wp--preset--font-family--archivo); text-decoration: none; }
.wp-block-pevnost-trasy-k-muzeu .pt-trasy__seznam a:hover { text-decoration: underline; }
.wp-block-pevnost-objekty-na-trase .pt-objekty__nadpis { font-size: var(--wp--preset--font-size--x-large); font-weight: 700; }
.wp-block-pevnost-objekty-na-trase .pt-objekt__typ { text-transform: uppercase; letter-spacing: 0.08em; font-size: var(--wp--preset--font-size--x-small); }

/* ---------- Článek ---------- */

.pt-clanek-hero .wp-block-post-featured-image { margin: 0; }
.pt-clanek-hero img { display: block; }

.wp-block-post-content figure.wp-block-image figcaption { text-align: left; }

/* Navigace mezi články */
.pt-dalsi a { text-decoration: none; font-weight: 600; }

/* ---------- Stránkování ---------- */

.wp-block-query-pagination { gap: 0.5rem; font-weight: 600; }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border: 1px solid var(--wp--preset--color--grafit);
	text-decoration: none;
	box-sizing: border-box;
}
.wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--grafit);
	color: var(--wp--preset--color--beton-svetly);
}
.wp-block-query-pagination .page-numbers.dots { border: 0; }

/* ---------- Formuláře ---------- */

input[type="search"], input[type="text"], input[type="email"], select, textarea {
	font: inherit;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	border: 1px solid #8A8780;
	background: var(--wp--preset--color--bila);
	border-radius: 0;
	box-sizing: border-box;
}
.wp-block-search__button { min-height: 44px; }
