/* ═══════════════════════════════════════════════════════════════
   Plán akcií MŠ — CSS
   - Kategória D (informačná) + nature téma
   - LEN Trebuchet MS (Libre Bodoni sa nepoužíva na svetlom pozadí)
   - Zdrojový mockup: design/zsmh.sk/ms-plan-akcii-mockup.html
   ═══════════════════════════════════════════════════════════════ */

.zsmh-ds-page--ms-plan {
	--green-dark: #1e8449;
	--green: #27ae60;
	--green-light: #d4edda;
	--green-bg: #edf7f0;
	--green-pale: #f0faf3;
	--navy-nature: #1a3a2a;
	--navy-nature-2: #1e4d35;
}

/* ─── HERO compact-nature ─────────────────────────────────────── */
.ms-plan-hero {
	background: linear-gradient(135deg, var(--green-pale) 0%, var(--green-light) 100%);
	padding: 36px 0 28px;
	border-bottom: 1px solid var(--green-light);
}
.ms-plan-hero__crumbs {
	font-size: 12px;
	color: var(--gcid-light-color, #767676);
	margin-bottom: 14px;
}
.ms-plan-hero__crumbs a {
	color: var(--gcid-light-color, #767676);
	text-decoration: none;
}
.ms-plan-hero__crumbs a:hover { color: var(--green-dark); }
.ms-plan-hero__crumbs span { color: var(--gcid-body-color, #3a3a3a); }
.ms-plan-hero__label {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--green-dark);
	margin-bottom: 8px;
}
.ms-plan-hero__title {
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: 700;
	font-size: clamp(1.4rem, 3vw, 1.8rem);
	color: var(--gcid-heading-color, #1a1a1a);
	line-height: 1.2;
	margin-bottom: 8px;
}
/* Obdobie v nadpise („Plán akcií · Apríl 2026") — jemnejšia váha */
.ms-plan-hero__period {
	font-weight: 400;
	color: var(--green-dark, #1e8449);
	font-size: .88em;
	white-space: nowrap;
}
.ms-plan-hero__sub {
	color: var(--gcid-muted-color, #6b6b6b);
	font-size: 15px;
	max-width: 58ch;
	line-height: 1.6;
}
.ms-plan-hero__actions {
	display: flex; flex-wrap: wrap; gap: 10px;
	margin-top: 20px;
}

/* Btn štýly (pre prípad že design-system.css ich nedefinuje) */
.zsmh-ds-page--ms-plan .zsmh-ds-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 18px;
	border-radius: 6px;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: 700; font-size: 12px;
	letter-spacing: .05em; text-transform: uppercase;
	text-decoration: none; transition: all .15s;
	cursor: pointer; border: none;
}
.zsmh-ds-page--ms-plan .zsmh-ds-btn--primary {
	background: var(--green); color: #fff;
}
.zsmh-ds-page--ms-plan .zsmh-ds-btn--primary:hover {
	background: var(--green-dark); text-decoration: none;
}
.zsmh-ds-page--ms-plan .zsmh-ds-btn--outline {
	background: transparent; color: var(--green-dark);
	border: 2px solid var(--green);
}
.zsmh-ds-page--ms-plan .zsmh-ds-btn--outline:hover {
	background: var(--green-bg); text-decoration: none;
}

/* ─── STICKY kontrolný panel ──────────────────────────────────── */
.ms-plan-controls {
	position: sticky; top: 0; z-index: 40;
	background: #fff;
	border-bottom: 1px solid var(--gcid-border-color, #e8e8e8);
}
.ms-plan-controls__inner {
	display: flex; align-items: center; gap: 18px;
	padding: 14px 0;
	flex-wrap: wrap;
}
.ms-plan-controls__month {
	display: flex; align-items: center; gap: 6px;
}
.ms-plan-controls__month h3 {
	font-size: 16px; font-weight: 700;
	color: var(--gcid-heading-color, #1a1a1a);
	margin: 0 8px 0 0;
}
.ms-plan-controls__nav {
	width: 30px; height: 30px; border-radius: 50%;
	background: transparent; border: 1px solid var(--gcid-border-color, #e8e8e8);
	cursor: pointer; color: var(--gcid-muted-color, #6b6b6b);
	display: inline-grid; place-items: center;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 14px; text-decoration: none;
	transition: all .15s;
}
.ms-plan-controls__nav:hover {
	background: var(--green-bg); border-color: var(--green); color: var(--green-dark);
	text-decoration: none;
}
.ms-plan-controls__count {
	font-size: 12px; color: var(--gcid-muted-color, #6b6b6b);
	margin-left: 10px;
}
.ms-plan-filters {
	display: inline-flex; gap: 4px;
	background: var(--green-bg);
	padding: 4px;
	border-radius: 8px;
}
.ms-plan-filters a {
	padding: 6px 14px; border-radius: 6px;
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 12px; font-weight: 700;
	letter-spacing: .04em;
	color: var(--gcid-muted-color, #6b6b6b);
	text-decoration: none;
	display: inline-flex; align-items: center; gap: 6px;
	transition: all .15s;
}
.ms-plan-filters a:hover { color: var(--green-dark); text-decoration: none; }
.ms-plan-filters a.is-active {
	background: #fff; color: var(--green-dark);
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.ms-plan-filters .icon { font-size: 13px; }
.ms-plan-filters .cnt {
	opacity: .55;
	font-size: 10px;
	margin-left: 2px;
	letter-spacing: 0;
}
.ms-plan-filters .is-active .cnt { opacity: .7; }
.ms-plan-controls__spacer { flex: 1; }

/* ─── PLÁN ───────────────────────────────────────────────────── */
.ms-plan-body { padding: 48px 0 64px; background: #fff; }

.ms-plan-empty {
	text-align: center;
	padding: 48px 24px;
	background: var(--green-pale);
	border-radius: 16px;
	color: var(--gcid-muted-color, #6b6b6b);
}
.ms-plan-empty strong { color: var(--gcid-heading-color, #1a1a1a); font-size: 17px; }
.ms-plan-empty p + p { margin-top: 10px; }

.ms-plan-week { margin-bottom: 36px; }
.ms-plan-week__header {
	display: flex; align-items: center; gap: 14px;
	padding: 10px 18px;
	background: var(--green-bg);
	border-radius: 8px;
	margin-bottom: 16px;
	border-left: 4px solid var(--green);
	flex-wrap: wrap;
}
.ms-plan-week__label {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--green-dark);
}
.ms-plan-week__dates {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--gcid-heading-color, #1a1a1a);
}
.ms-plan-week__badge {
	margin-left: auto;
	background: var(--green); color: #fff;
	font-size: 10px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase;
	padding: 4px 10px; border-radius: 20px;
}
.ms-plan-week__hint {
	margin-left: 8px;
	font-size: 12px;
	font-weight: 400;
	font-style: italic;
	color: var(--gcid-muted-color, #6b6b6b);
	opacity: .85;
}

/* ─── Flat chronologický zoznam akcií ──────────────────────────── */
.ms-plan-events--flat {
	display: grid;
	gap: 12px;
}

/* ─── Minulé akcie (past mode) ──────────────────────────────────── */
.ms-plan-past {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 2px dashed rgba(0,0,0,.08);
}
.ms-plan-past__header {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 18px;
	background: #f2f2f2;
	color: #666;
	border-radius: 8px;
	margin-bottom: 16px;
}
.ms-plan-past__label {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 14px;
	font-weight: 700;
}
.ms-plan-past__hide {
	margin-left: auto;
	font-size: 12px;
	color: #888;
	text-decoration: none;
	padding: 2px 10px;
	border-radius: 12px;
	transition: background .15s;
}
.ms-plan-past__hide:hover {
	background: rgba(0,0,0,.06);
	color: #333;
}
.ms-plan-event.is-past {
	opacity: .6;
}
.ms-plan-event.is-past:hover {
	opacity: .85;
}
.ms-plan-event.is-past .ms-plan-event__date {
	filter: grayscale(.5);
}
.ms-plan-event__past-badge {
	display: inline-block;
	margin-left: auto;
	padding: 2px 8px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	background: #e0e0e0;
	color: #555;
	border-radius: 10px;
}

/* ─── Toggle tlačidlo „Zobraziť aj uskutočnené" ────────────────── */
.ms-plan-past-toggle {
	margin-top: 24px;
	text-align: center;
}
.ms-plan-past-toggle a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	background: #fff;
	border: 1.5px dashed var(--green, #27ae60);
	border-radius: 24px;
	color: var(--green-dark, #1e8449);
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	transition: all .15s;
}
.ms-plan-past-toggle a:hover {
	background: var(--green-bg, #e8f5e9);
	border-style: solid;
}
.ms-plan-past-toggle .cnt {
	background: var(--green, #27ae60);
	color: #fff;
	padding: 1px 8px;
	border-radius: 10px;
	font-size: 11px;
}

.ms-plan-events { display: grid; gap: 12px; }

/* Anchor scroll offset — keď user klikne v widgete "Plán akcií v MŠ" a landuje
   na /materska-skola/akcie/?m=MM#ms-akcia-ID, scroll-padding-top na html
   kompenzuje sticky header (66px) + subnav (49px) + 15px buffer = 130px.
   ms-plan-controls (70px) je úmyselne EXCLUDED — pri počiatočnom hash scroll
   nie je controls stuck (je vyššie v content flow), takže započítaním by sa
   target zobrazil príliš nízko a predchádzajúca akcia by ostala viditeľná hore.
   :has() scope-uje fix iba na tento template (Chrome 105+, Safari 15.4+, Firefox 121+). */
html:has(body.page-template-page-materska-skola-akcie) {
	scroll-padding-top: 130px;
}

@media (max-width: 720px) {
	html:has(body.page-template-page-materska-skola-akcie) {
		scroll-padding-top: 110px;
	}
}

.ms-plan-event {
	background: #fff;
	border: 1px solid var(--gcid-border-color, #e8e8e8);
	border-radius: 16px;
	padding: 20px 24px;
	display: grid;
	grid-template-columns: 88px 1fr auto;
	gap: 24px;
	align-items: center;
	transition: all .2s;
	/* Fallback pre staršie browsery bez :has() podpory.
	   Hodnota = sticky header (66) + subnav (49) + 15 buffer. Zámerne nezahŕňa
	   ms-plan-controls (70) — pri prvotnom hash scroll nie je controls sticky. */
	scroll-margin-top: 130px;
}

@media (max-width: 720px) {
	.ms-plan-event {
		scroll-margin-top: 110px;
	}
}
.ms-plan-event:hover {
	border-color: var(--green);
	box-shadow: 0 4px 16px rgba(39, 174, 96, .1);
	transform: translateY(-1px);
}
.ms-plan-event.is-today {
	border-color: var(--green);
	background: var(--green-pale);
}
.ms-plan-event.is-today .ms-plan-event__date {
	background: var(--green); color: #fff;
}
.ms-plan-event.is-today .ms-plan-event__date-day,
.ms-plan-event.is-today .ms-plan-event__date-wd,
.ms-plan-event.is-today .ms-plan-event__date-m {
	color: #fff;
}
.ms-plan-event.is-cancelled { opacity: .55; }
.ms-plan-event.is-cancelled .ms-plan-event__title {
	text-decoration: line-through; color: var(--gcid-muted-color, #6b6b6b);
}

.ms-plan-event__date {
	background: var(--green-bg);
	border-radius: 12px;
	padding: 12px 8px;
	text-align: center;
	min-width: 88px;
}
.ms-plan-event__date-day {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 32px; font-weight: 700;
	color: var(--green-dark);
	line-height: 1;
	display: block;
}
.ms-plan-event__date-wd {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 11px; font-weight: 700;
	color: var(--green-dark);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-top: 6px;
	display: block;
}
.ms-plan-event__date-m {
	font-size: 10px;
	color: var(--gcid-muted-color, #6b6b6b);
	text-transform: uppercase;
	margin-top: 2px;
	display: block;
}

/* ─── Orientačný dátum (ešte nie je istý) ────────────────────────
   Rovnaký layout ako presný (3 riadky, zelený box), iba jemnejší odtieň
   a kurzívny posledný riadok „orientačne" signalizujú že dátum nie je
   konečný. Obsah riadkov dodá helper zsmh_ms_akcie_format_date():
     - mesiac:  APR / 2026 / orientačne
     - týždeň:  13–19 / apríla / orientačne
     - volny:   APR / 2026 / orientačne (+ popis vedľa v meta)                    */
.ms-plan-event__date--orient {
	/* Jemne svetlejší zelený (namiesto plného --green-bg) aby bolo vidno
	   že táto akcia ešte nemá konkrétny deň. Používa rovnaký base ako presný. */
	background: var(--green-bg);
	position: relative;
}
.ms-plan-event__date--orient::before {
	/* Tenký dashed vnútorný border — vizuálna diferencia od presného */
	content: "";
	position: absolute;
	inset: 3px;
	border: 1px dashed rgba(30, 132, 73, .35);
	border-radius: 8px;
	pointer-events: none;
}
.ms-plan-event__date--orient .ms-plan-event__date-day {
	font-size: 22px; /* mesiac skratka (APR) menší než číslo dňa (32px) */
	letter-spacing: .04em;
}
.ms-plan-event__date--orient .ms-plan-event__date-m {
	font-style: italic;
	color: var(--green-dark);
	opacity: .8;
}
/* Voľný popis dátumu vedľa meta v titulku (napr. „~ koniec apríla") */
.ms-plan-event__when-approx {
	font-size: 12px;
	font-style: italic;
	color: var(--green-dark, #1e8449);
	opacity: .85;
}

/* Hero label (single-template) — orientačný */
.ms-plan-hero__label--orientacny {
	font-style: italic;
	opacity: .85;
}
.ms-plan-hero__label-hint {
	display: inline-block;
	margin-left: 6px;
	font-size: 11px;
	font-weight: 500;
	opacity: .75;
	font-style: normal;
}

.ms-plan-event__body { min-width: 0; }
.ms-plan-event__meta {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin-bottom: 8px;
	align-items: center;
}
.ms-plan-event__badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 12px; font-weight: 700;
	background: var(--green-bg);
	color: var(--green-dark);
}
.ms-plan-event__badge.badge-sovicky { background: #fdf6e0; color: #7a5c00; }
.ms-plan-event__badge.badge-zabky { background: var(--green-bg); color: var(--green-dark); }
.ms-plan-event__badge.badge-both { background: #eef2ff; color: #3730a3; }
.ms-plan-event__time {
	font-size: 12px; color: var(--gcid-muted-color, #6b6b6b); font-weight: 600;
}
.ms-plan-event__time::before { content: "🕐 "; }
.ms-plan-event__place {
	font-size: 12px; color: var(--gcid-muted-color, #6b6b6b);
}
.ms-plan-event__place::before { content: "📍 "; }

.ms-plan-event__title {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 17px; font-weight: 700;
	color: var(--gcid-heading-color, #1a1a1a);
	line-height: 1.3;
	margin: 0 0 6px;
}
.ms-plan-event__prep {
	background: var(--gcid-primary-cream, #fffbf5);
	border-left: 3px solid var(--gcid-primary-color, #f19e00);
	padding: 8px 14px;
	border-radius: 6px;
	font-size: 13px;
	color: var(--gcid-body-color, #3a3a3a);
	margin-top: 8px;
	line-height: 1.5;
}
.ms-plan-event__prep strong {
	color: #a46a00;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 2px;
}
.ms-plan-event__prep--cancel {
	background: #fde8e8;
	border-left-color: #e53e3e;
}
.ms-plan-event__prep--cancel strong { color: #b23b3b; }

.ms-plan-event__aside {
	display: flex; flex-direction: column; gap: 6px;
	align-items: flex-end;
	white-space: nowrap;
}
.ms-plan-event__link {
	font-size: 12px;
	font-weight: 700;
	color: var(--green-dark);
	letter-spacing: .02em;
	text-decoration: none;
}
.ms-plan-event__link:hover { text-decoration: underline; }
.ms-plan-event__tag {
	background: var(--green-bg);
	color: var(--green-dark);
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 11px; font-weight: 700;
	display: inline-flex; align-items: center; gap: 4px;
	text-decoration: none;
}
.ms-plan-event__tag:hover { background: var(--green); color: #fff; text-decoration: none; }
.ms-plan-event__tag--cancel {
	background: #fde8e8;
	color: #b23b3b;
}
/* "ℹ️ Viac info" tag — iný vizuál ako príloha (šedé pozadie, výraznejší border) */
.ms-plan-event__tag--info {
	background: #fff;
	color: var(--green-dark, #1e8449);
	border: 1px solid var(--green, #27ae60);
}
.ms-plan-event__tag--info:hover {
	background: var(--green, #27ae60);
	color: #fff;
	border-color: var(--green, #27ae60);
}

/* ─── ARCHÍV ────────────────────────────────────────────────── */
.ms-plan-archive {
	padding: 48px 0;
	background: var(--green-pale);
}
.ms-plan-archive__header h2 {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--gcid-heading-color, #1a1a1a);
	margin-bottom: 4px;
	font-family: 'Trebuchet MS', sans-serif;
}
.ms-plan-archive__header p {
	color: var(--gcid-muted-color, #6b6b6b);
	font-size: 14px;
	margin-bottom: 16px;
}
.ms-plan-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}
.ms-plan-archive__item {
	background: #fff;
	border: 1px solid var(--gcid-border-color, #e8e8e8);
	border-radius: 12px;
	padding: 14px 16px;
	font-size: 13px;
	font-weight: 700;
	color: var(--gcid-heading-color, #1a1a1a);
	display: flex; justify-content: space-between; align-items: center;
	text-decoration: none;
	transition: all .15s;
}
.ms-plan-archive__item:hover {
	border-color: var(--green);
	background: var(--green-bg);
	text-decoration: none;
}
.ms-plan-archive__count {
	font-size: 11px; font-weight: 400;
	color: var(--gcid-muted-color, #6b6b6b);
	background: var(--green-bg);
	padding: 2px 8px;
	border-radius: 20px;
}
.ms-plan-archive__item:hover .ms-plan-archive__count { background: #fff; }
.ms-plan-archive__note {
	margin-top: 20px;
	font-size: 13px;
	color: var(--gcid-muted-color, #6b6b6b);
}

/* ─── CTA KONTAKT ───────────────────────────────────────────── */
.ms-plan-cta {
	padding: 48px 0;
	background: linear-gradient(135deg, var(--navy-nature) 0%, var(--navy-nature-2) 100%);
	color: #fff;
	text-align: center;
}
.ms-plan-cta h2 {
	font-family: 'Trebuchet MS', sans-serif;
	font-size: 1.5rem; font-weight: 700;
	color: #fff;
	margin-bottom: 8px;
}
.ms-plan-cta p {
	color: rgba(255,255,255,.85);
	font-size: 14px;
	margin-bottom: 20px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.ms-plan-cta__links {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
}
.ms-plan-cta__links a {
	background: rgba(255,255,255,.1);
	color: #fff;
	padding: 10px 18px;
	border-radius: 6px;
	font-family: 'Trebuchet MS', sans-serif;
	font-weight: 700; font-size: 12px;
	letter-spacing: .05em; text-transform: uppercase;
	border: 1px solid rgba(255,255,255,.2);
	text-decoration: none;
	transition: all .15s;
}
.ms-plan-cta__links a:hover {
	background: #fff;
	color: var(--navy-nature);
	text-decoration: none;
}

/* ─── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 768px) {
	.ms-plan-event {
		grid-template-columns: 72px 1fr;
		padding: 14px 16px;
		gap: 14px;
	}
	.ms-plan-event__aside {
		grid-column: 1 / -1;
		flex-direction: row;
		justify-content: flex-start;
		margin-top: 6px;
		align-items: center;
	}
	.ms-plan-event__date { min-width: 72px; padding: 8px 4px; }
	.ms-plan-event__date-day { font-size: 24px; }
	.ms-plan-event__title { font-size: 15px; }
	.ms-plan-controls__inner { gap: 10px; }
	.ms-plan-controls__spacer { display: none; }
	.ms-plan-filters { overflow-x: auto; max-width: 100%; }
	.ms-plan-hero__actions { margin-top: 16px; }
	.ms-plan-hero__actions .zsmh-ds-btn { padding: 8px 14px; font-size: 11px; }
}

/* ═══════════════════════════════════════════════════════════════
   PRINT — "Plagátik" režim
   Vytlačí sa len hero + mesačný plán (týždne + karty).
   Skrytý: header, footer, admin bar, sticky controls, hero actions,
           archív starších mesiacov, CTA, FAB.
   Zachované: farebné badgere, zelené akcenty — cez color-adjust:exact.
   ═══════════════════════════════════════════════════════════════ */
@media print {
	/* Page setup */
	@page { margin: 14mm 12mm; size: A4; }

	/* Force print farebných akcentov (inak prehliadač zašedí backgroundy) */
	* {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}

	html, body { background: #fff !important; font-size: 11pt; }

	/* Skryť všetko mimo plánu */
	.zsmh-top-bar,
	.zsmh-header,
	.zsmh-footer,
	#main-header,
	#main-footer,
	#wpadminbar,
	.zsmh-mobile-menu,
	.zsmh-header__search,
	.zsmh-subnav,              /* MŠ sub-nav (O materskej škole / Akcie / Zápis / Kontakt) */
	.ms-plan-controls,
	.ms-plan-hero__crumbs,
	.ms-plan-hero__label,
	.ms-plan-hero__actions,
	.ms-plan-archive,
	.ms-plan-cta,
	.ms-plan-past-toggle,      /* „Zobraziť aj uskutočnené akcie" toggle */
	.ms-plan-past,             /* sekcia uskutočnených akcií (ak ?past=1) */
	.aktuality-feed,           /* celý blok Aktuality z materskej školy (hero + mesiace) */
	.emil-bubble,              /* eMil chatbot bubble */
	.zsmh-chat-bubble,
	.zsmh-chat-container,
	a[href]::after { display: none !important; }

	/* Zrušíme horný padding z admin baru */
	html.admin-bar, body.admin-bar { margin-top: 0 !important; padding-top: 0 !important; }

	.zsmh-ds-page--ms-plan { padding-top: 0 !important; }
	.zsmh-ds-container {
		width: 100% !important; max-width: 100% !important;
		padding: 0 !important; margin: 0 !important;
	}

	/* Hero — centrovaný print header (iba 3 informácie) */
	.ms-plan-hero {
		background: #fff !important;
		padding: 0 0 6mm !important;
		border-bottom: 2px solid #1e8449 !important;
		margin-bottom: 6mm !important;
		text-align: center !important;
	}
	.ms-plan-hero__title {
		font-size: 26pt !important;
		margin-bottom: 2mm !important;
		text-align: center !important;
	}
	.ms-plan-hero__title::after {
		content: "· Materská škola pri ZŠ Milana Hodžu";
		font-weight: 400;
		font-size: 13pt;
		color: #1e8449;
		display: block;
		margin-top: 2mm;
	}
	.ms-plan-hero__sub {
		color: #555 !important;
		font-size: 11pt !important;
		max-width: none !important;
		text-align: center !important;
		margin: 4mm auto 0 !important;
	}

	/* Plán body */
	.ms-plan-body { padding: 0 !important; background: #fff !important; }

	/* Týždeň — page-break friendly */
	.ms-plan-week {
		margin-bottom: 5mm !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}
	.ms-plan-week__header {
		background: #edf7f0 !important;
		border-left: 3px solid #1e8449 !important;
		padding: 2mm 4mm !important;
		margin-bottom: 2mm !important;
		border-radius: 3px !important;
	}
	.ms-plan-week__badge { display: none !important; }

	/* Karta akcie — kompaktný print layout */
	.ms-plan-event {
		break-inside: avoid;
		page-break-inside: avoid;
		padding: 3mm 4mm !important;
		border: 1px solid #d4edda !important;
		border-left: 3px solid #27ae60 !important;
		border-radius: 3px !important;
		margin-bottom: 2mm !important;
		grid-template-columns: 18mm 1fr !important;
		gap: 4mm !important;
		box-shadow: none !important;
		transform: none !important;
		background: #fff !important;
	}
	.ms-plan-event.is-today {
		background: #f0faf3 !important;
		border-left-color: #1e8449 !important;
	}
	.ms-plan-event.is-today .ms-plan-event__date { background: #27ae60 !important; }
	.ms-plan-event.is-cancelled { opacity: .5 !important; }

	.ms-plan-event__date {
		background: #edf7f0 !important;
		padding: 2mm 1mm !important;
		border-radius: 2px !important;
		min-width: 0 !important;
	}
	.ms-plan-event__date-day { font-size: 18pt !important; color: #1e8449 !important; }
	.ms-plan-event__date-wd { font-size: 8pt !important; color: #1e8449 !important; margin-top: 1mm !important; }
	.ms-plan-event__date-m { font-size: 7pt !important; color: #666 !important; }
	/* Orientačný dátum — v tlači tiež s dashed borderom aby učiteľka
	   videla „tento termín treba spresniť" priamo na papieri. */
	.ms-plan-event__date--orientacny {
		background: #faf6eb !important;
		border: 1px dashed #b89a3a !important;
		padding: 1.5mm !important;
		min-width: 16mm !important;
	}
	.ms-plan-event__date-approx {
		font-size: 8pt !important;
		color: #6f5b2c !important;
		line-height: 1.2 !important;
	}
	.ms-plan-event__date-hint {
		font-size: 6pt !important;
		color: #8a6f35 !important;
		margin-top: 0.5mm !important;
	}

	.ms-plan-event__title {
		font-size: 12pt !important;
		margin: 1mm 0 1mm !important;
	}
	.ms-plan-event__badge {
		font-size: 8pt !important;
		padding: 0.5mm 2mm !important;
	}
	.ms-plan-event__badge.badge-sovicky { background: #fdf6e0 !important; color: #7a5c00 !important; }
	.ms-plan-event__badge.badge-zabky { background: #edf7f0 !important; color: #1e8449 !important; }
	.ms-plan-event__badge.badge-both { background: #eef2ff !important; color: #3730a3 !important; }
	.ms-plan-event__time, .ms-plan-event__place {
		font-size: 9pt !important; color: #555 !important;
	}

	.ms-plan-event__prep {
		background: #fffbf5 !important;
		border-left: 2px solid #f19e00 !important;
		padding: 2mm 3mm !important;
		font-size: 9.5pt !important;
		margin-top: 2mm !important;
	}
	.ms-plan-event__prep strong {
		color: #a46a00 !important;
		font-size: 7.5pt !important;
	}
	.ms-plan-event__prep--cancel {
		background: #fde8e8 !important;
		border-left-color: #e53e3e !important;
	}

	/* Aside — v tlačenej forme nepotrebné */
	.ms-plan-event__aside { display: none !important; }

	/* Pečiatka na konci — koho plán, stránka */
	.ms-plan-body::after {
		content: "ZŠ s MŠ Milana Hodžu · Plán akcií MŠ · www.zsmh.sk/materska-skola/akcie/";
		display: block;
		margin-top: 6mm;
		padding-top: 3mm;
		border-top: 1px solid #d4edda;
		font-size: 8pt;
		color: #888;
		text-align: center;
	}
}

/* Single template pre akcie s prílohou (Kat. D compact hero + čistý obsah) */
.ms-akcia-single__wrap {
	padding: 40px 0 60px;
	background: #fff;
}
.ms-akcia-single__meta {
	display: flex; flex-wrap: wrap; gap: 10px;
	margin-bottom: 20px;
	font-size: 14px;
}
.ms-akcia-single__content {
	max-width: 720px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.7;
}
.ms-akcia-single__downloads {
	margin-top: 28px;
	padding: 20px 24px;
	background: var(--green-pale);
	border-radius: 12px;
	border-left: 4px solid var(--green);
}
.ms-akcia-single__downloads h3 {
	font-size: 14px;
	margin-bottom: 10px;
	color: var(--green-dark);
	text-transform: uppercase;
	letter-spacing: .08em;
}
.ms-akcia-single__downloads a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: #fff;
	border: 1px solid var(--green);
	border-radius: 8px;
	font-weight: 700;
	color: var(--green-dark);
	text-decoration: none;
}
.ms-akcia-single__downloads a:hover { background: var(--green); color: #fff; }
