/* =====================================================================
 * ANIMA – PROMĚNLIVÁ ŠÍŘKA OBSAHU
 * Načítá se na webu i v editoru.
 *
 * Do 1280 px okna: 90 %, nad tím plynulé zužování (1920 → 70 %, 2560 → 60 %).
 * Platí jen pro obsah horní úrovně šablony – vnořené skupiny si ponechají
 * šířku nastavenou v editoru.
 *
 * Třídy pro výjimky (Pokročilé → Další třídy CSS):
 *   anima-vlastni-sirka  – blok horní úrovně si ponechá vlastní šířku
 *   anima-sirka-stranky  – vnořený blok dostane šířku stránky
 * ===================================================================== */

body {
	/* Hlavní vzorec – do 1280 px okna 90 % */
	--anima-page-width: 90vw;

	--wp--style--global--wide-size: var(--anima-page-width) !important;
	--wp--style--root--padding-left: 5vw !important;
	--wp--style--root--padding-right: 5vw !important;
}

/* Od 1280 px plynulé zužování: 1920 → 70 %, 2560 → 60 % */
@media (min-width: 1280px) {
	body {
		--anima-page-width: calc(768px + 30vw);
	}
}

/* Šířka jen pro obsah horní úrovně šablony */
:is(.wp-site-blocks, .is-root-container:not(.wp-block-post-content))
	> .is-layout-constrained:not(.anima-vlastni-sirka)
	> :not(.alignleft):not(.alignright):not(.alignfull):not(.anima-vlastni-sirka),
:is(.wp-site-blocks, .is-root-container:not(.wp-block-post-content))
	> * > .is-layout-constrained:not(.wp-block-post-content):not(.entry-content):not(.anima-vlastni-sirka)
	> :not(.alignleft):not(.alignright):not(.alignfull):not(.anima-vlastni-sirka) {
	max-width: var(--anima-page-width) !important;
}

/* Vynucení šířky stránky i pro vnořený blok */
.anima-sirka-stranky {
	max-width: var(--anima-page-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Katalog vždy přes celou dostupnou šířku */
.anima-katalog {
	width: 100%;
	box-sizing: border-box;
}

/* =====================================================================
 * ŠÍŘKA TEXTU STRÁNEK
 * Platí pro obsah stránek a článků (ne pro šablony katalogu).
 * Pruh s menu a další bloky "Na celou šířku" zůstávají nedotčené.
 * ===================================================================== */

.entry-content {
	/* do 834 px (tablet na výšku) */
	--anima-text-width: 90vw;
}

/* od malého tabletu na šířku */
@media (min-width: 835px) {
	.entry-content {
		--anima-text-width: 75vw;
	}
}

/* od 1280 px plynulé zužování: 1920 → 60 %, 2560 → 55 %, 3840 → 50 % */
@media (min-width: 1280px) {
	.entry-content {
		--anima-text-width: calc(384px + 40vw);
	}
}

.entry-content > :not(.alignfull):not(.alignleft):not(.alignright) {
	max-width: var(--anima-text-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}