/**
 * INM Ulubione: strona „Zaplanuj” (`[inm_zaplanuj]`).
 *
 * INM Design System v2 i wzorce strony głównej oraz stron miast: limonkowe
 * hero ze skośną dolną krawędzią, panel ze ściętą górą, pionowe kafelki
 * 3:4 z płaskimi sylwetkami, Bebas Neue w nagłówkach, pomarańcz tylko dla
 * „Wyślij plan znajomym”, pistacja dla hover i wyboru, grafitowy fokus 3 px.
 *
 * Stany: `.is-empty` (pusty plan: działy, ścieżki, „Warto dodać”) i
 * `.has-items` (plan jak koszyk: podsumowanie, lista, „Dodaj więcej”).
 *
 * Progi szerokości ekranu jak na stronie głównej (600 i 1024 px), bez
 * zapytań kontenerowych na stronie (Safari na iOS w kolumnie Elementora).
 * Margines boczny 16 / 24 / 32 px; `odstepy="nie"` go wyłącza.
 *
 * Selektory zaczynają się od `.inm-zaplanuj`, żeby wygrać z resetem
 * Hello Elementor, kitem Elementora i arkuszami modułów listy.
 *
 * @package INM\Favorites
 */

.inm-zaplanuj {
	--inm-zp-gutter: 16px;
	--inm-zp-text: var(--inm-text-dark, #303431);
	--inm-zp-meta: var(--inm-meta, #646B65);
	--inm-zp-bg: var(--inm-bg-page, #FAFAFA);
	--inm-zp-panel: var(--inm-neutral-100, #F7F8F3);
	--inm-zp-muted: var(--inm-bg-muted, #ECEFE7);
	--inm-zp-accent: var(--inm-green, #EF8F10);
	--inm-zp-hover: var(--inm-brand-hover, #F1F6E0);
	--inm-zp-line: var(--inm-border-line, #D5DBD0);
	--inm-zp-input: var(--inm-border-input, #818981);
	--inm-zp-focus: var(--inm-focus, #303431);
	/* Limonka strony (token DS `site-lime`): tło hero; tekst grafitowy 9,52:1. */
	--inm-zp-lime: #D7E79E;
	--inm-zp-font: var(--inm-font, 'Poppins', sans-serif);
	--inm-zp-display: var(--inm-font-display, 'Bebas Neue', sans-serif);
	--inm-zp-motion: var(--inm-motion-duration, 150ms);

	position: relative;
	background: var(--inm-zp-bg);
	color: var(--inm-zp-text);
	font-family: var(--inm-zp-font);
	font-size: 16px;
	line-height: 1.5;
}

.inm-zaplanuj *,
.inm-zaplanuj *::before,
.inm-zaplanuj *::after {
	box-sizing: border-box;
}

.inm-zaplanuj [hidden] {
	display: none !important;
}

.inm-zaplanuj.is-empty .inm-zp-when-items,
.inm-zaplanuj.has-items .inm-zp-when-empty {
	display: none;
}

.inm-zaplanuj .inm-zp-wrap {
	box-sizing: content-box;
	max-width: 1140px;
	margin-inline: auto;
	padding-inline: var(--inm-zp-gutter);
}

.inm-zaplanuj.inm-zaplanuj--flush { --inm-zp-gutter: 0px; }

.inm-zaplanuj .inm-zp-ico {
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* --- Typografia ----------------------------------------------------------- */

.inm-zaplanuj .inm-zp-date,
.inm-zaplanuj .inm-zp-h1,
.inm-zaplanuj .inm-zp-h2,
.inm-zaplanuj .inm-zp-panel__title,
.inm-zaplanuj .inm-zp-more__title,
.inm-zaplanuj .inm-zp-today__title,
.inm-zaplanuj .inm-zp-ready__title,
.inm-zaplanuj .inm-zp-card__title {
	margin: 0;
	padding: 0;
	font-family: var(--inm-zp-display);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--inm-zp-text);
	text-wrap: balance;
}

.inm-zaplanuj .inm-zp-date { margin-bottom: 12px; font-size: 24px; line-height: 1; }
.inm-zaplanuj .inm-zp-h1 { font-size: 44px; max-width: 640px; }
.inm-zaplanuj .inm-zp-h2 { font-size: 34px; }
.inm-zaplanuj .inm-zp-card__title { font-size: 28px; }

.inm-zaplanuj .inm-zp-lead {
	margin: 14px 0 0;
	max-width: 560px;
	font-size: 16px;
	line-height: 1.6;
}

.inm-zaplanuj .inm-zp-sub {
	margin: 8px 0 20px;
	max-width: 560px;
	font-size: 15px;
	line-height: 1.6;
}

.inm-zaplanuj .inm-zp-meta {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--inm-zp-meta);
}

/* Linki w treści: grafit, podkreślenie; nie przejmują koloru kitu. */
.inm-zaplanuj .inm-zp-browse a,
.inm-zaplanuj .inm-zp-cities a,
.inm-zaplanuj .inm-zp-meta a,
.inm-zaplanuj .inm-zp-link,
.inm-zaplanuj .inm-zp-browse a:visited,
.inm-zaplanuj .inm-zp-cities a:visited,
.inm-zaplanuj .inm-zp-meta a:visited,
.inm-zaplanuj .inm-zp-link:visited {
	color: var(--inm-zp-text);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: background-color var(--inm-zp-motion) ease;
}

.inm-zaplanuj .inm-zp-browse a:hover,
.inm-zaplanuj .inm-zp-cities a:hover,
.inm-zaplanuj .inm-zp-meta a:hover,
.inm-zaplanuj .inm-zp-link:hover {
	color: var(--inm-zp-text);
	background: var(--inm-zp-hover);
}

.inm-zaplanuj a:focus { outline: none; }

.inm-zaplanuj a:focus-visible {
	outline: none;
	box-shadow: inset 0 -3px 0 var(--inm-zp-focus);
}

/* --- Hero ----------------------------------------------------------------- */

.inm-zaplanuj .inm-zp-hero {
	position: relative;
	padding: 32px 0 96px;
	background: var(--inm-zp-lime);
}

.inm-zaplanuj .inm-zp-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.inm-zaplanuj .inm-zp-hero__main { min-width: 0; }

/* Skośna dolna krawędź (łagodny skos, jak dzielniki sekcji strony). */
.inm-zaplanuj .inm-zp-edge {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 0;
	line-height: 0;
}

.inm-zaplanuj .inm-zp-edge svg {
	display: block;
	width: 100%;
	height: 56px;
	fill: var(--inm-zp-bg);
}

/* Liczniki planu jak na stronach miast. */
.inm-zaplanuj .inm-zp-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.inm-zaplanuj .inm-zp-stats:empty { display: none; }

.inm-zaplanuj .inm-zp-stat {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 10px 16px;
	background: var(--inm-zp-bg);
}

.inm-zaplanuj .inm-zp-stat__n {
	font-family: var(--inm-zp-display);
	font-size: 30px;
	line-height: 1;
}

.inm-zaplanuj .inm-zp-stat__label { font-size: 14px; }

/* Wyszukiwarka: jedna dolna linia, fokus jako belka 3 px. */
.inm-zaplanuj .inm-zp-search { margin: 32px 0 0; max-width: 560px; }

.inm-zaplanuj .inm-zp-search__label {
	display: block;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.inm-zaplanuj .inm-zp-field {
	display: flex;
	align-items: center;
	gap: 10px;
	height: var(--inm-control-height, 52px);
	border-bottom: 2px solid var(--inm-zp-text);
}

.inm-zaplanuj .inm-zp-field:focus-within { box-shadow: inset 0 -3px 0 var(--inm-zp-focus); }

.inm-zaplanuj .inm-zp-field input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: inherit;
	font-size: var(--inm-control-font-size, 16px);
	color: var(--inm-zp-text);
	outline: none;
}

.inm-zaplanuj .inm-zp-field input[type="search"]::placeholder { color: var(--inm-zp-meta); opacity: 1; }
.inm-zaplanuj .inm-zp-hero .inm-zp-field input[type="search"]::placeholder { color: var(--inm-zp-text); opacity: 0.8; }

.inm-zaplanuj .inm-zp-browse {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.8;
}

/* Działy bazy w pustym planie: pionowe kafelki 3:4. */
.inm-zaplanuj .inm-zp-start { margin-top: 28px; }

.inm-zaplanuj .inm-zp-start__title {
	margin: 0 0 10px;
	font-family: var(--inm-zp-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--inm-zp-text);
}

.inm-zaplanuj .inm-zp-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.inm-zaplanuj .inm-zp-tiles li { margin: 0; min-width: 0; }

.inm-zaplanuj .inm-zp-tile,
.inm-zaplanuj .inm-zp-tile:visited,
.inm-zaplanuj .inm-zp-tile:hover {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	height: 100%;
	min-height: 76px;
	padding: 8px;
	background: var(--inm-zp-bg);
	color: var(--inm-zp-text);
	text-decoration: none;
}

.inm-zaplanuj .inm-zp-tile__art {
	display: block;
	aspect-ratio: var(--inm-tile-ratio, 3 / 4);
	background: var(--inm-zp-muted);
	overflow: hidden;
}

.inm-zaplanuj .inm-zp-art {
	display: block;
	width: 100%;
	height: 100%;
}

.inm-zaplanuj .inm-zp-tile__cap {
	display: block;
	min-width: 0;
	transition: background-color var(--inm-zp-motion) ease;
}

.inm-zaplanuj .inm-zp-tile__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.inm-zaplanuj .inm-zp-tile__title .inm-zp-ico { display: none; }

.inm-zaplanuj .inm-zp-tile__meta {
	display: none;
	font-size: 13px;
	line-height: 1.4;
	color: var(--inm-zp-meta);
}

.inm-zaplanuj .inm-zp-tile:hover { background: var(--inm-zp-hover); }

/* Sylwetki: kolory z tokenów, jeden pomarańczowy akcent na kadr. */
.inm-zaplanuj .is-ink { fill: var(--inm-zp-text); }
.inm-zaplanuj .is-lime { fill: var(--inm-zp-lime); }
.inm-zaplanuj .is-brand { fill: var(--inm-zp-accent); }
.inm-zaplanuj .is-grey { fill: var(--inm-neutral-400, #B2BAAF); }
.inm-zaplanuj .is-light { fill: var(--inm-neutral-300, #D5DBD0); }
.inm-zaplanuj .is-facet { fill: var(--inm-neutral-500, #646B65); }
.inm-zaplanuj .is-page { fill: var(--inm-zp-bg); }

/* --- Panel planu (podsumowanie) ------------------------------------------- */

.inm-zaplanuj .inm-zp-panel {
	min-width: 0;
	padding: 48px 16px 20px;
	background: var(--inm-zp-bg);
	clip-path: polygon(0 28px, 100% 0, 100% 100%, 0 100%);
}

.inm-zaplanuj .inm-zp-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.inm-zaplanuj .inm-zp-panel__title { font-size: 34px; }

.inm-zaplanuj .inm-zp-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	background: var(--inm-zp-accent);
	color: var(--inm-on-brand, #303431);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
}

.inm-zaplanuj .inm-zp-badge:empty { display: none; }

.inm-zaplanuj .inm-zp-skyline {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 16px;
}

.inm-zaplanuj .inm-zp-panel__empty {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--inm-zp-line);
	font-size: 17px;
	font-weight: 600;
}

.inm-zaplanuj .inm-zp-steps {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.5;
}

.inm-zaplanuj .inm-zp-steps li { display: flex; gap: 12px; margin: 0; }

.inm-zaplanuj .inm-zp-steps__n {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: var(--inm-zp-muted);
	font-weight: 600;
}

.inm-zaplanuj .inm-zp-sum { margin: 20px 0 0; padding: 0; }

.inm-zaplanuj .inm-zp-sum__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--inm-zp-line);
	font-size: 15px;
}

.inm-zaplanuj .inm-zp-sum__row dt { margin: 0; font-weight: 400; }
.inm-zaplanuj .inm-zp-sum__row dd { margin: 0; font-weight: 600; text-align: right; }

.inm-zaplanuj .inm-zp-next { margin-top: 20px; }
.inm-zaplanuj .inm-zp-next .inm-zp-meta { margin: 0; }

.inm-zaplanuj .inm-zp-next__line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
	margin: 4px 0 2px;
}

.inm-zaplanuj .inm-zp-pill {
	padding: 2px 8px;
	background: var(--inm-accent-bg, #F1F6E0);
	font-size: 13px;
	font-weight: 600;
}

.inm-zaplanuj .inm-zp-next__title,
.inm-zaplanuj .inm-zp-next__title:visited {
	color: var(--inm-zp-text);
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.inm-zaplanuj .inm-zp-next__title:hover {
	color: var(--inm-zp-text);
	background: var(--inm-zp-hover);
}

/* „Wyślij plan znajomym”: jedyna pomarańczowa akcja (DS §2). */
.inm-zaplanuj .inm-zp-send.inm-plan-share {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: var(--inm-control-height, 52px);
	margin: 24px 0 0;
	padding: 0 24px;
	border: 0;
	border-radius: var(--inm-radius-button, 0);
	background: var(--inm-zp-accent);
	color: var(--inm-on-brand, #303431);
	font-family: var(--inm-zp-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color var(--inm-zp-motion) ease;
}

.inm-zaplanuj .inm-zp-send.inm-plan-share:not(:disabled):hover {
	background: var(--inm-zp-hover);
	color: var(--inm-on-brand-hover, #303431);
	border: 0;
}

.inm-zaplanuj .inm-zp-send.inm-plan-share:focus { outline: none; }

.inm-zaplanuj .inm-zp-send.inm-plan-share:focus-visible {
	outline: none;
	box-shadow: inset 0 -3px 0 var(--inm-zp-focus);
}

.inm-zaplanuj .inm-zp-send.inm-plan-share:disabled {
	background: var(--inm-zp-muted);
	color: var(--inm-text-light, #646B65);
	cursor: not-allowed;
}

.inm-zaplanuj .inm-zp-link { display: inline-block; margin-top: 20px; }

/* --- Lista (plan z pozycjami) --------------------------------------------- */

.inm-zaplanuj .inm-zp-sec { padding: 48px 0; }

.inm-zaplanuj .inm-zp-sec--line { border-top: 1px solid var(--inm-zp-line); }

.inm-zaplanuj .inm-zp-list { padding-bottom: 0; }

.inm-zaplanuj .inm-zp-list__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.inm-zaplanuj .inm-zp-list__main { min-width: 0; }
.inm-zaplanuj .inm-zp-list__main > .inm-zp-h2 { margin-bottom: 24px; }

/* Wysyłkę z paska planu zastępuje panel w hero i blok „Gotowe?”. */
.inm-zaplanuj .inm-favorites-list .inm-plan-controls .inm-plan-share.inm-plan-share { display: none; }
.inm-zaplanuj .inm-favorites-list .inm-plan-controls.inm-plan-controls { margin-bottom: 32px; }

/* Nagłówki dni jak na stronach miast: Bebas, grafitowa linia 2 px. */
.inm-zaplanuj .inm-favorites-list .inm-favorites-day.inm-favorites-day {
	margin: 32px 0 0;
	padding: 0 0 8px;
	border-bottom: 2px solid var(--inm-zp-text);
	font-family: var(--inm-zp-display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.01em;
}

.inm-zaplanuj .inm-favorites-list .inm-favorites-day.inm-favorites-day:first-child { margin-top: 0; }

/* „Dodaj więcej”: działy bazy jak w koszyku „kontynuuj zakupy”. */
.inm-zaplanuj .inm-zp-more {
	min-width: 0;
	padding: 28px 20px;
	background: var(--inm-zp-panel);
}

.inm-zaplanuj .inm-zp-more__title { font-size: 32px; }

.inm-zaplanuj .inm-zp-more__lead {
	margin: 8px 0 12px;
	font-size: 14px;
	line-height: 1.6;
}

.inm-zaplanuj .inm-zp-rows { margin: 0; padding: 0; list-style: none; }
.inm-zaplanuj .inm-zp-rows li { margin: 0; }

.inm-zaplanuj .inm-zp-row,
.inm-zaplanuj .inm-zp-row:visited,
.inm-zaplanuj .inm-zp-row:hover {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr) 20px;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--inm-zp-line);
	color: var(--inm-zp-text);
	text-decoration: none;
}

.inm-zaplanuj .inm-zp-row__art {
	display: block;
	width: 45px;
	aspect-ratio: var(--inm-tile-ratio, 3 / 4);
	background: var(--inm-zp-bg);
	overflow: hidden;
}

.inm-zaplanuj .inm-zp-row__text { min-width: 0; }

.inm-zaplanuj .inm-zp-row__title {
	font-size: 16px;
	font-weight: 600;
	transition: background-color var(--inm-zp-motion) ease;
}

.inm-zaplanuj .inm-zp-row:hover .inm-zp-row__title { background: var(--inm-zp-hover); }

.inm-zaplanuj .inm-zp-row__meta {
	display: block;
	font-size: 13px;
	line-height: 1.4;
	color: var(--inm-zp-meta);
}

.inm-zaplanuj .inm-zp-today { margin-top: 28px; }
.inm-zaplanuj .inm-zp-today__title { font-size: 24px; }

.inm-zaplanuj .inm-zp-cities {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.9;
}

/* „Gotowe?”: powtórzenie wysyłki pod listą. */
.inm-zaplanuj .inm-zp-ready { padding: 56px 0 72px; }

.inm-zaplanuj .inm-zp-ready__box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	padding: 24px 20px;
	background: var(--inm-zp-panel);
}

.inm-zaplanuj .inm-zp-ready__text { flex: 1 1 320px; min-width: 0; }
.inm-zaplanuj .inm-zp-ready__title { font-size: 32px; line-height: 1; }
.inm-zaplanuj .inm-zp-ready__text p { margin: 6px 0 0; font-size: 15px; }

.inm-zaplanuj .inm-zp-ready__box .inm-zp-send.inm-plan-share {
	width: auto;
	margin: 0;
}

/* --- Pusty plan: ścieżki -------------------------------------------------- */

.inm-zaplanuj .inm-zp-paths { padding-bottom: 64px; }

.inm-zaplanuj .inm-zp-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 24px;
}

.inm-zaplanuj .inm-zp-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: 24px 20px;
	background: var(--inm-zp-panel);
}

.inm-zaplanuj .inm-zp-card__label {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: var(--inm-tracking-wide, 0.04em);
	text-transform: uppercase;
}

.inm-zaplanuj .inm-zp-card__text { margin: 0; font-size: 14px; line-height: 1.6; }
.inm-zaplanuj .inm-zp-card .inm-zp-cities { margin: 0; }
.inm-zaplanuj .inm-zp-card .inm-zp-meta { margin: 0; }

.inm-zaplanuj .inm-zp-card .inm-zp-search { margin: 0; max-width: none; }

.inm-zaplanuj .inm-zp-card .inm-zp-search__label {
	font-weight: 400;
	line-height: 1.6;
}

.inm-zaplanuj .inm-zp-card .inm-zp-field { border-bottom: 1px solid var(--inm-zp-input); }
.inm-zaplanuj .inm-zp-card .inm-zp-field .inm-zp-ico { color: var(--inm-zp-meta); }

.inm-zaplanuj .inm-zp-ideas { margin: 0; padding: 0; list-style: none; }
.inm-zaplanuj .inm-zp-ideas li { margin: 0; }

.inm-zaplanuj .inm-zp-ideas a,
.inm-zaplanuj .inm-zp-ideas a:visited,
.inm-zaplanuj .inm-zp-ideas a:hover {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 48px;
	border-bottom: 1px solid var(--inm-zp-line);
	color: var(--inm-zp-text);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--inm-zp-motion) ease;
}

.inm-zaplanuj .inm-zp-ideas a:hover { background: var(--inm-zp-hover); }

/* Wyszukiwarka i podpowiedzi „Pierwszych ulubionych” przeniesione do slotów. */
.inm-zaplanuj .inm-zp-slot.inm-favorites-list {
	min-height: 0;
	margin: 0;
	padding: 0;
	background: transparent;
}

.inm-zaplanuj .inm-zp-slot .inm-start .inm-start-label {
	font-weight: 400;
	line-height: 1.6;
}

.inm-zaplanuj .inm-zp-warto .inm-start .inm-start-popular-title,
.inm-zaplanuj .inm-zp-warto .inm-start .inm-start-popular-lead {
	display: none;
}

.inm-zaplanuj .inm-zp-warto .inm-start .inm-start-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	column-gap: 24px;
	border-top: 0;
}

.inm-zaplanuj .inm-zp-warto:has(.inm-start-popular[hidden]) { display: none; }

/* --- Dok telefonu --------------------------------------------------------- */

.inm-zaplanuj .inm-zp-dock {
	position: sticky;
	bottom: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px var(--inm-zp-gutter);
	background: var(--inm-zp-bg);
	border-top: 1px solid var(--inm-zp-line);
	font-size: 14px;
}

.inm-zaplanuj .inm-zp-dock .inm-zp-send.inm-plan-share {
	width: auto;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	font-size: 14px;
}

/* --- Ruch ----------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.inm-zaplanuj *,
	.inm-zaplanuj .inm-zp-send.inm-plan-share {
		transition: none;
	}
}

/* --- Tablet: od 600 px ---------------------------------------------------- */

@media (min-width: 600px) {
	.inm-zaplanuj { --inm-zp-gutter: 24px; }
	.inm-zaplanuj.inm-zaplanuj--flush { --inm-zp-gutter: 0px; }
	.inm-zaplanuj .inm-zp-hero { padding: 48px 0 120px; }
	.inm-zaplanuj .inm-zp-edge svg { height: 80px; }
	.inm-zaplanuj .inm-zp-date { margin-bottom: 16px; font-size: 28px; }
	.inm-zaplanuj .inm-zp-h1 { font-size: 56px; }
	.inm-zaplanuj .inm-zp-h2 { font-size: 44px; }
	.inm-zaplanuj .inm-zp-card__title { font-size: 30px; }
	.inm-zaplanuj .inm-zp-lead { margin-top: 20px; font-size: 18px; }
	.inm-zaplanuj .inm-zp-sub { margin-bottom: 28px; }
	.inm-zaplanuj .inm-zp-search { margin-top: 36px; }
	.inm-zaplanuj .inm-zp-start { margin-top: 36px; }
	.inm-zaplanuj .inm-zp-panel { padding: 56px 28px 28px; }
	.inm-zaplanuj .inm-zp-panel__title { font-size: 40px; }
	.inm-zaplanuj .inm-zp-sec { padding-block: 56px; }
	.inm-zaplanuj .inm-zp-list { padding-bottom: 0; }
	.inm-zaplanuj .inm-zp-paths { padding-bottom: 72px; }
	.inm-zaplanuj .inm-zp-more { padding: 28px 24px; }
	.inm-zaplanuj .inm-zp-card { padding: 28px 24px; }
	.inm-zaplanuj .inm-zp-ready { padding: 64px 0 96px; }
	.inm-zaplanuj .inm-zp-ready__box { padding: 28px 32px; }
	.inm-zaplanuj .inm-zp-dock { display: none; }

	/* Kafelki działów: pionowe, sylwetka nad podpisem. */
	.inm-zaplanuj .inm-zp-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

	.inm-zaplanuj .inm-zp-tile,
	.inm-zaplanuj .inm-zp-tile:visited,
	.inm-zaplanuj .inm-zp-tile:hover {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0;
		background: transparent;
	}

	.inm-zaplanuj .inm-zp-tile__art { background: var(--inm-zp-bg); }

	.inm-zaplanuj .inm-zp-tile__cap {
		flex: 1;
		padding: 10px 10px 12px;
		background: var(--inm-zp-bg);
		border-top: 1px solid var(--inm-zp-line);
	}

	.inm-zaplanuj .inm-zp-tile:hover .inm-zp-tile__cap { background: var(--inm-zp-hover); }
	.inm-zaplanuj .inm-zp-tile__title { font-size: 16px; }
	.inm-zaplanuj .inm-zp-tile__title .inm-zp-ico { display: block; }
	.inm-zaplanuj .inm-zp-tile__meta { display: block; }
}

/* --- Komputer: od 1024 px ------------------------------------------------- */

@media (min-width: 1024px) {
	.inm-zaplanuj { --inm-zp-gutter: 32px; }
	.inm-zaplanuj.inm-zaplanuj--flush { --inm-zp-gutter: 0px; }
	.inm-zaplanuj .inm-zp-hero { padding: 56px 0 150px; }
	.inm-zaplanuj .inm-zp-edge svg { height: 95px; }
	.inm-zaplanuj .inm-zp-h1 { font-size: 72px; }

	.inm-zaplanuj .inm-zp-hero__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		column-gap: 64px;
	}

	.inm-zaplanuj .inm-zp-list__grid {
		grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
		column-gap: 64px;
	}

	.inm-zaplanuj .inm-zp-sec { padding-block: 72px; }
	.inm-zaplanuj .inm-zp-list { padding-top: 56px; padding-bottom: 0; }
}
