/* =========================================================
   Dakop — Main
   Final overrides, utilities, print, responsive details.
   ========================================================= */

@import url("software.css");

html { background: var(--c-bg); }
body { background: var(--c-bg); color: var(--c-text); overflow-x: hidden; }

main.site-main { display: block; }

/* Utilities. */
.is-hidden { display: none !important; }
.is-visually-hidden { position: absolute !important; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }

.u-mt-0 { margin-top: 0 !important; }
.u-mt-1 { margin-top: 1rem !important; }
.u-mt-2 { margin-top: 2rem !important; }
.u-mt-4 { margin-top: 4rem !important; }

.text-accent { color: var(--c-accent) !important; }
.text-muted  { color: var(--c-text-muted) !important; }

/* Print. */
@media print {
	.site-header, .site-footer, .nav-toggle, .hero__media, .hero__overlay, .gallery-card__overlay, .section--cta, .ig-feed, .filter, .pagination, .single__share, .comments {
		display: none !important;
	}
	body { background: #fff; color: #000; }
	a { color: #000; text-decoration: underline; }
}

/* Responsive niceties. */
@media (max-width: 640px) {
	.section-header--split { gap: 1.5rem; }
	.hero__title { font-size: clamp(2.4rem, 11vw, 4rem); }
	.hero__bottom { flex-direction: column; align-items: flex-start; }
	.about__facts { grid-template-columns: 1fr 1fr; }
	.site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* Block editor (Gutenberg) — frontend rendering. */
.wp-block-image figcaption,
.wp-block-gallery figcaption,
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.wp-element-caption,
.prose figcaption,
.prose figure figcaption {
	position: static !important;
	bottom: auto !important;
	width: 100% !important;
	max-height: none !important;
	background: transparent !important;
	padding: 0.65rem 0.25rem 0 0.25rem !important;
	margin: 0 auto !important;
	color: rgba(255, 255, 255, 0.72) !important;
	font-family: var(--ff-mono) !important;
	font-size: 0.8rem !important;
	letter-spacing: 0.02em !important;
	line-height: 1.5 !important;
	text-align: center !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

/* Samostatné obrázky mimo galerii */
.prose > figure.wp-block-image,
.prose > .wp-block-image {
	margin: 2.5rem auto !important;
	text-align: center;
}
.prose > figure.wp-block-image img,
.prose > .wp-block-image img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: var(--radius, 4px);
	box-shadow: 0 6px 25px rgba(0,0,0,0.35);
}

.wp-block-quote, .wp-block-pullquote {
	border-left: 1px solid var(--c-accent);
	padding-left: 1.5rem;
	font-family: var(--ff-heading);
	font-style: italic;
	font-size: 1.4rem;
	color: var(--c-text);
}

/* ─── Gutenberg Full-bleed & Široký řádek (pouze pro přímé bloky) ─── */
@media (min-width: 920px) {
	.prose > .alignwide,
	.prose > figure.alignwide,
	.prose > .wp-block-gallery.alignwide,
	.prose > .wp-block-image.alignwide,
	.prose > .wp-block-columns.alignwide,
	.prose > .wp-block-cover.alignwide {
		width: min(1180px, 94vw) !important;
		max-width: min(1180px, 94vw) !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		box-sizing: border-box !important;
	}
	.prose > .alignfull,
	.prose > .wp-block-gallery.alignfull,
	.prose > .wp-block-image.alignfull,
	.prose > .wp-block-cover.alignfull,
	.prose > .wp-block-columns.alignfull {
		width: 100vw !important;
		max-width: 100vw !important;
		position: relative !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		box-sizing: border-box !important;
	}
}
@media (max-width: 919px) {
	.prose > .alignwide,
	.prose > .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: 0 !important;
		left: auto !important;
		transform: none !important;
	}
}

/* Vnořené obrázky v galerii se NIKDY nesmí transformovat */
.wp-block-gallery .alignwide,
.wp-block-gallery .alignfull,
.wp-block-gallery .wp-block-image {
	left: auto !important;
	transform: none !important;
	position: relative !important;
}

.alignfull.wp-block-image,
.alignfull.wp-block-cover,
.alignfull.wp-block-gallery {
	background-color: var(--c-bg-alt) !important;
}
.wp-block-group.has-background,
.wp-block-columns.has-background,
.wp-block-cover.has-background,
.has-black-background-color,
.has-anthracite-background-color,
.has-dark-background-color {
	background-color: var(--c-bg-alt) !important;
	color: var(--c-text) !important;
}
.has-white-background-color,
.has-light-background-color {
	background-color: var(--c-bg) !important;
	color: var(--c-text) !important;
}
.has-black-color,
.has-anthracite-color,
.has-dark-color {
	color: var(--c-text) !important;
}
.wp-block-columns.alignfull {
	background-color: var(--c-bg-alt) !important;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 3vw, 2rem);
}

/* ─── Gutenberg Galerie v článcích — čistá, přehledná mřížka / masonry ─── */
.wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(var(--gallery-cols, 2), 1fr) !important;
	gap: 1.25rem !important;
	margin: 2.5rem 0 !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	width: 100% !important;
	align-items: start !important;
}

.wp-block-gallery.columns-1 { --gallery-cols: 1; }
.wp-block-gallery.columns-2 { --gallery-cols: 2; }
.wp-block-gallery.columns-3 { --gallery-cols: 3; }
.wp-block-gallery.columns-4 { --gallery-cols: 4; }
.wp-block-gallery.columns-5 { --gallery-cols: 5; }
.wp-block-gallery.columns-6 { --gallery-cols: 6; }
.wp-block-gallery.columns-default,
.wp-block-gallery:not([class*="columns-"]) { --gallery-cols: 2; }

/* Položka galerie */
.wp-block-gallery .wp-block-image,
.wp-block-gallery .blocks-gallery-item,
.wp-block-gallery figure {
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	overflow: visible !important;
	break-inside: avoid;
}

/* Obrázek v galerii */
.wp-block-gallery .wp-block-image img,
.wp-block-gallery .blocks-gallery-item img,
.wp-block-gallery figure > img,
.wp-block-gallery figure > a > img {
	width: 100% !important;
	height: auto !important;
	max-height: 520px !important;
	object-fit: cover !important;
	border-radius: var(--radius, 4px) !important;
	display: block !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
	transition: transform 0.4s cubic-bezier(.2,.7,.2,1), filter 0.3s ease !important;
}

/* 1 sloupec (velký pás fotek pod sebou) */
.wp-block-gallery.columns-1 .wp-block-image img,
.wp-block-gallery.columns-1 figure > img,
.wp-block-gallery.columns-1 figure > a > img {
	max-height: 80vh !important;
	object-fit: contain !important;
	margin-bottom: 0.5rem;
}

/* Masonry styl pro galerii (pokud zvoleno nebo ne-oříznuto) */
.wp-block-gallery.is-style-masonry,
.wp-block-gallery:not(.is-cropped) {
	display: block !important;
	column-count: var(--gallery-cols, 2) !important;
	column-gap: 1.25rem !important;
}
.wp-block-gallery.is-style-masonry .wp-block-image,
.wp-block-gallery:not(.is-cropped) .wp-block-image {
	break-inside: avoid !important;
	margin-bottom: 1.5rem !important;
	display: block !important;
}
.wp-block-gallery.is-style-masonry .wp-block-image img,
.wp-block-gallery:not(.is-cropped) .wp-block-image img {
	max-height: none !important;
}

/* Mobilní zobrazení */
@media (max-width: 640px) {
	.wp-block-gallery {
		grid-template-columns: 1fr !important;
		column-count: 1 !important;
		gap: 1.5rem !important;
	}
	.wp-block-gallery .wp-block-image img {
		max-height: 70vh !important;
	}
}

.wp-block-gallery img,
.wp-block-image img,
.prose img {
	cursor: zoom-in;
	transition: transform .3s ease, filter .3s ease;
}
.wp-block-gallery img:hover,
.wp-block-image img:hover {
	filter: brightness(1.04);
}
.has-text-align-center { text-align: center; }

/* Form messages. */
.contact-form[data-sent="1"] { position: relative; }
.contact-form[data-sent="1"]::before {
	content: attr(data-success);
	display: block;
	background: var(--c-accent);
	color: var(--c-bg);
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	font-family: var(--ff-mono);
	font-size: .85rem;
	letter-spacing: .05em;
}

/* Cinematic letterbox vignette pro hero & galerie hero. */
.hero::after,
.single__hero::after,
.gallery-single__hero::after,
.page-hero--image::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	box-shadow: inset 0 0 200px 30px rgba(0,0,0,.6);
}

/* Selection on cinematic sections. */
.hero ::selection { background: var(--c-accent); color: var(--c-bg); }

/* Smooth fade-in při načtení stránky. */
body { animation: dakopBodyIn .8s ease both; }
@keyframes dakopBodyIn { from { opacity: 0; } to { opacity: 1; } }
body.no-animations { animation: none; }

/* ─── Fotoblog archiv (home.php) ─────────────────────────── */

/* Sekce gridu článků. */
.section--blog-archive {
	padding-top: 3rem;
}

/* Filtr kategorií — spacing pod filtrem. */
.section--blog-archive .filter {
	margin-bottom: 3rem;
}

/* Stav "žádné příspěvky". */
.blog-empty {
	text-align: center;
	padding: 5rem 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}
.blog-empty__text {
	color: var(--c-text-muted);
	font-family: var(--ff-heading);
	font-size: 1.3rem;
	font-style: italic;
}

