/* =========================================================================
 * Życzenioteka – menu główne z rozwijanymi panelami.
 * Desktop (≥ 1000px): pozycje w linii, pod spodem panel na całą szerokość.
 * Telefon: przycisk „Menu” otwiera szufladę z akordeonem – te same panele.
 * ====================================================================== */

.zt-naglowek--mm { position: relative; z-index: 60; }
.zt-naglowek--mm .zt-naglowek__in { flex-wrap: nowrap; gap: 24px; padding-block: 14px; }

.zt-mm { flex: 1 1 auto; display: flex; justify-content: flex-end; position: static; }
.zt-mm__lista { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.zt-mm__item { display: flex; align-items: center; }
.zt-mm__gora, .zt-mm__rozwin { position: relative; z-index: 1; }
.zt .zt-mm__gora { display: inline-flex; align-items: center; padding: 10px 2px 10px 14px; font-weight: 600; font-size: 15px; text-decoration: none; color: var(--zt-tusz); border-radius: 12px 0 0 12px; white-space: nowrap; }
.zt .zt-mm__rozwin { display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px 10px 4px; border: 0; background: none; color: var(--zt-szary); cursor: pointer; border-radius: 0 12px 12px 0; }
.zt-mm__rozwin .zt-ikona { transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.zt-mm__item.is-otwarty .zt-mm__rozwin .zt-ikona { transform: rotate(180deg); color: var(--zt-akcent); }
.zt .zt-mm__item.is-otwarty .zt-mm__gora { color: var(--zt-akcent); }
.zt-mm__etykieta-mob { display: none; }

/* Pigułka, która przesuwa się za kursorem po pozycjach menu */
.zt-mm__znacznik { position: absolute; top: 0; left: 0; height: 0; border-radius: 12px; background: #fff; box-shadow: 0 1px 2px rgba(46, 35, 87, .06), 0 0 0 1px var(--zt-linia); opacity: 0; pointer-events: none; z-index: 0; transition: transform .28s cubic-bezier(.2, .8, .2, 1), width .28s cubic-bezier(.2, .8, .2, 1), opacity .2s; }

.zt-mm__narzedzia { display: flex; align-items: center; gap: 6px; flex: none; }
.zt-mm__szukaj, .zt-mm__burger { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--zt-linia); background: #fff; color: var(--zt-tusz); cursor: pointer; transition: border-color .15s, color .15s; }
.zt-mm__szukaj:hover, .zt-mm__szukaj[aria-expanded="true"] { border-color: var(--zt-sliwka); color: var(--zt-akcent); }
.zt-mm__burger { display: none; gap: 4px; align-content: center; }
.zt-mm__burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .25s, opacity .2s; }
.zt-mm__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.zt-mm__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.zt-mm__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- Panel ---------- */
.zt-mm__panel {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-top: 1px solid var(--zt-linia); border-radius: 0 0 28px 28px;
	box-shadow: 0 40px 80px -40px rgba(46, 35, 87, .35), 0 12px 24px -16px rgba(46, 35, 87, .18);
	padding: 28px max(clamp(16px, 4vw, 40px), calc((100% - 1200px) / 2 + clamp(16px, 4vw, 40px))) 0;
	opacity: 0; visibility: hidden; transform: translateY(-8px);
	transition: opacity .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .25s;
}
.zt-mm__item.is-otwarty > .zt-mm__panel, .zt-mm__panel--szukaj.is-otwarty { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1), visibility 0s; }
.zt-mm__siatka { display: flex; gap: 36px; padding-bottom: 28px; }
.zt-mm__kol { flex: 1 1 0; min-width: 0; }
.zt-mm__kol--siatka, .zt-mm__kol--2 { flex-grow: 2; }
.zt-mm__naglowek { margin: 0 0 10px 10px !important; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--zt-szary); }
.zt-mm__pozycje { display: grid; gap: 2px; }
.zt-mm__kol--siatka .zt-mm__pozycje { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.zt-mm__kol--2 .zt-mm__pozycje { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zt .zt-mm__poz { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; text-decoration: none; color: var(--zt-tusz); transition: background-color .15s; }
.zt .zt-mm__poz:hover, .zt .zt-mm__poz:focus-visible { background: var(--zt-papier); color: var(--zt-tusz); }
.zt-mm__poz:hover .zt-plakietka { transform: scale(1.06) rotate(-4deg); }
.zt-mm__poz .zt-plakietka { width: 40px; height: 40px; transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.zt-mm__tekst { display: flex; flex-direction: column; min-width: 0; }
.zt-mm__tytul { font-weight: 700; font-size: 15px; line-height: 1.3; }
.zt-mm__podpis { font-size: 13px; line-height: 1.35; color: var(--zt-szary); }
.zt-mm__kol--siatka .zt-mm__poz { padding: 8px 10px; }
.zt-mm__kol--siatka .zt-plakietka { width: 34px; height: 34px; border-radius: 10px; font-size: 18px; }

.zt-mm__czipy { display: flex; flex-wrap: wrap; gap: 8px; padding-left: 10px; }
.zt .zt-mm__czipy a { padding: 9px 16px; border-radius: 12px; background: var(--zt-papier); font: 700 17px/1.2 var(--zt-f-naglowki); text-decoration: none; color: var(--zt-tusz); transition: background-color .15s, color .15s; }
.zt .zt-mm__czipy a:hover { background: var(--zt-zakreslacz); color: var(--zt-tusz); }
.zt-mm__dopisek { margin: 12px 0 0 10px !important; font-size: 13px; color: var(--zt-szary); }

/* Karta wyróżniona – w kolorach odliczania ze strony głównej */
.zt .zt-mm__karta { flex: 0 0 290px; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 22px; background: var(--zt-sliwka); color: #fff; text-decoration: none; transition: transform .2s; }
.zt .zt-mm__karta:hover { color: #fff; transform: translateY(-2px); }
.zt-mm__karta-liczba { font: 800 56px/.9 var(--zt-f-naglowki); letter-spacing: -.04em; color: var(--zt-slonce); margin-bottom: 4px; }
.zt-mm__karta-liczba small { font-size: 20px; color: #fff; letter-spacing: 0; margin-left: 6px; }
.zt-mm__karta-ikona { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(255, 255, 255, .12); color: var(--zt-slonce); margin-bottom: 6px; }
.zt-mm__karta-emoji { position: absolute; right: 18px; top: 14px; font-size: 44px; line-height: 1; transform: rotate(8deg); }
.zt-mm__karta-nad { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--zt-lawenda); }
.zt-mm__karta-tytul { font: 700 22px/1.2 var(--zt-f-naglowki); letter-spacing: -.01em; }
.zt-mm__karta-tekst { font-size: 14px; color: var(--zt-lawenda); }
.zt-mm__karta-cta { margin-top: auto; padding-top: 12px; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 15px; }
.zt-mm__karta:hover .zt-mm__karta-cta .zt-ikona { transform: translateX(3px); }
.zt-mm__karta-cta .zt-ikona { transition: transform .2s; }

.zt-mm__stopka { border-top: 1px solid var(--zt-linia); padding: 14px 10px 18px; }
.zt .zt-mm__stopka a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--zt-akcent); text-decoration: none; }
.zt-mm__stopka a:hover .zt-ikona { transform: translateX(3px); }
.zt-mm__stopka .zt-ikona { transition: transform .2s; }

/* Szukajka */
.zt-mm__panel--szukaj { padding-bottom: 26px; }
.zt-mm__formularz { display: flex; align-items: center; gap: 12px; max-width: 820px; margin: 0 auto; padding: 6px 6px 6px 18px; border: 2px solid var(--zt-tusz); border-radius: 18px; background: #fff; }
.zt-mm__formularz > .zt-ikona { color: var(--zt-szary); }
.zt-mm__formularz input[type="search"] { flex: 1; min-width: 0; border: 0; outline: 0; font: 500 18px/1.3 var(--zt-f-ui); padding: 10px 0; background: none; }
.zt-mm__formularz .zt-btn--akcent { min-height: 48px; padding: 0 22px; font-size: 16px; border-radius: 13px; }
.zt-mm__podpowiedzi { max-width: 820px; margin: 14px auto 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--zt-szary); }
.zt .zt-mm__podpowiedzi a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--zt-linia); text-decoration: none; color: var(--zt-tusz); font-weight: 600; }
.zt-mm__podpowiedzi a:hover { border-color: var(--zt-sliwka); }

/* Przyciemnienie strony pod otwartym panelem */
.zt-mm__cien { position: fixed; inset: 0; z-index: -1; background: rgba(31, 27, 45, .22); opacity: 0; transition: opacity .25s; }
.zt-mm__cien.is-widoczny { opacity: 1; }

/* ---------- Telefon i tablet: szuflada ---------- */
@media (max-width: 999px) {
	.zt-naglowek--mm .zt-naglowek__in { padding-block: 12px; }
	.zt-mm__burger { display: inline-grid; }
	.zt-mm__znacznik { display: none; }
	.zt-mm {
		position: fixed; left: 0; right: 0; top: var(--zt-nag, 66px); bottom: 0; z-index: 2;
		display: block; overflow-y: auto; overscroll-behavior: contain;
		background: var(--zt-papier); padding: 8px 16px 40px;
		opacity: 0; visibility: hidden; transform: translateY(-10px);
		transition: opacity .2s, transform .25s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .25s;
	}
	.zt-mm-otwarte .zt-mm { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .25s cubic-bezier(.2, .8, .2, 1), visibility 0s; }
	.zt-mm-otwarte { overflow: hidden; }
	.zt-mm__lista { display: block; }
	.zt-mm__item { display: block; border-bottom: 1px solid var(--zt-linia); }
	.zt .zt-mm__gora { display: none; }
	.zt .zt-mm__rozwin { width: 100%; justify-content: space-between; padding: 18px 4px; font: 700 22px/1.2 var(--zt-f-naglowki); letter-spacing: -.01em; color: var(--zt-tusz); border-radius: 0; }
	.zt-mm__etykieta-mob { display: inline; }
	.zt-mm .zt-plakietka--emoji { background: #fff; }
	.zt-mm__rozwin .zt-ikona { width: 22px; height: 22px; color: var(--zt-szary); }
	.zt-mm__panel { position: static; display: none; opacity: 1; visibility: visible; transform: none; transition: none; border: 0; border-radius: 0; box-shadow: none; background: none; padding: 0 0 14px; }
	.zt-mm__item.is-otwarty > .zt-mm__panel { display: block; animation: zt-mm-wjazd .25s cubic-bezier(.2, .8, .2, 1); }
	.zt-mm__siatka { flex-direction: column; gap: 18px; padding-bottom: 6px; }
	.zt-mm__kol--siatka .zt-mm__pozycje, .zt-mm__kol--2 .zt-mm__pozycje { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zt-mm__naglowek { margin-left: 4px !important; }
	.zt-mm__poz { padding: 8px 4px; }
	.zt-mm__karta { flex-basis: auto; }
	.zt-mm__stopka { border: 0; padding: 4px 4px 4px; }
	.zt-mm__czipy { padding-left: 4px; }
	.zt-mm__panel--szukaj { position: absolute; display: block; background: #fff; padding: 16px 16px 20px; border-radius: 0 0 22px 22px; opacity: 0; visibility: hidden; }
	.zt-mm__panel--szukaj.is-otwarty { opacity: 1; visibility: visible; }
	.zt-mm__formularz { padding-left: 12px; }
	.zt-mm__formularz input[type="search"] { font-size: 16px; }
	.zt-mm__formularz .zt-btn--akcent { padding: 0 14px; }
	.zt-mm__cien { display: none; }
}
@media (max-width: 480px) {
	.zt-mm__kol--siatka .zt-mm__pozycje, .zt-mm__kol--2 .zt-mm__pozycje { grid-template-columns: 1fr; }
	.zt-mm__formularz > .zt-ikona { display: none; }
}
@keyframes zt-mm-wjazd { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
	.zt-mm__panel, .zt-mm, .zt-mm__znacznik, .zt-mm__cien, .zt-mm__poz .zt-plakietka { transition: none !important; animation: none !important; }
}

.zt .zt-mm__poz.zt-apka-link { font-weight: inherit; text-decoration: none; }
