/* Mariposa Premium – strona główna. Koncept: magazyn jak plansza przyrodnicza. */

.mp-home { overflow-x: clip; background: var(--mp-cream); }
.mp-wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.mp-wrap--narrow { max-width: 820px; }
.mp-home h2, .mp-home h3 { color: var(--mp-plum); }
.mp-home em { font-style: italic; }
.mp-ico { width: 1em; height: 1em; flex: none; }
.mp-home a:focus-visible, .mp-home button:focus-visible, .mp-home summary:focus-visible {
	outline: 2px solid var(--mp-rose-deep); outline-offset: 3px; border-radius: 2px;
}

/* Linki do wpisów: kursywa z kropką-odnóżem */
.mp-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mp-links a {
	position: relative; display: block; padding-left: 18px;
	color: var(--mp-plum); text-decoration: none; font-weight: 600; font-size: 0.95rem; line-height: 1.4;
}
.mp-links a::before {
	content: ""; position: absolute; left: 0; top: 0.5em; width: 7px; height: 7px; border-radius: 50%;
	border: 1.5px solid var(--mp-gold-deep); transition: background 0.2s;
}
.mp-links a:hover { color: var(--mp-rose-deep); }
.mp-links a:hover::before { background: var(--mp-gold); border-color: var(--mp-gold); }

/* ---------- System nagłówków: „Plansza” ---------- */
.mp-sec { padding: clamp(64px, 9vw, 128px) 0; }
.mp-ph { text-align: center; max-width: 720px; margin: 0 auto clamp(36px, 5vw, 60px); }
.mp-ph__no {
	display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 14px;
	font-size: 0.74rem; font-weight: 700; letter-spacing: 0.32em; text-transform: uppercase; color: var(--mp-gold-deep);
}
.mp-ph__no::before, .mp-ph__no::after {
	content: ""; width: 44px; height: 7px;
	background:
		radial-gradient(circle, currentColor 2px, transparent 2.5px) center / 7px 7px no-repeat,
		linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat;
}
.mp-ph h2 {
	margin: 0; font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.04; font-weight: 400;
	font-variation-settings: 'opsz' 144; letter-spacing: -0.025em;
}
.mp-ph h2 em { color: var(--mp-rose-deep); font-weight: 400; }
.mp-ph__lead { margin: 18px auto 0; max-width: 36em; font-size: 1.09rem; line-height: 1.65; color: var(--mp-muted); }
.mp-ph--left { text-align: left; margin-left: 0; }
.mp-ph--left .mp-ph__no { justify-content: flex-start; }
.mp-ph--left .mp-ph__no::before { display: none; }
.mp-ph--left .mp-ph__lead { margin-left: 0; }
.mp-ph--light h2 { color: #fff; }
.mp-ph--light h2 em { color: var(--mp-rose); }
.mp-ph--light .mp-ph__no { color: var(--mp-gold); }
.mp-ph--light .mp-ph__lead { color: #e2cfda; }

.mp-kick {
	display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--mp-rose-deep); text-decoration: none;
}
.mp-kick:hover { color: var(--mp-plum); }

/* ---------- HERO: plansza z motylem ---------- */
.mp-hero {
	position: relative;
	padding: clamp(18px, 3vw, 28px) 0 clamp(56px, 8vw, 96px);
	background:
		radial-gradient(60% 50% at 50% 72%, rgba(233, 191, 198, 0.45), transparent 70%),
		radial-gradient(40% 30% at 12% 20%, rgba(212, 168, 90, 0.12), transparent 70%),
		var(--mp-cream);
}
.mp-masthead {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 0 clamp(36px, 6vw, 64px);
	padding: 10px 0; border-top: 1px solid var(--mp-plum); border-bottom: 1px solid var(--mp-line);
	font-size: 0.76rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mp-muted);
}
.mp-masthead span:first-child::first-letter { text-transform: uppercase; }
.mp-masthead__mid { font-family: var(--mp-serif); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 0.98rem; color: var(--mp-plum); font-weight: 500; }

.mp-hero__title {
	margin: 0 auto; max-width: 15ch; text-align: center;
	font-size: clamp(2.7rem, 7.4vw, 6rem); line-height: 0.98; font-weight: 400; letter-spacing: -0.035em;
	font-variation-settings: 'opsz' 144; color: var(--mp-plum);
}
.mp-hero__title em { color: var(--mp-rose-deep); font-weight: 300; }
.mp-hero__kicker {
	display: block; margin: 0 auto 22px; max-width: 36rem;
	font-family: var(--mp-sans); font-size: 0.78rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.22em;
	text-transform: uppercase; color: var(--mp-gold-deep);
}
.mp-hero__lead {
	max-width: 40em; margin: 26px auto 0; text-align: center;
	font-size: clamp(1.04rem, 1.6vw, 1.18rem); line-height: 1.7; color: #4f3a48;
}

.mp-search {
	display: flex; align-items: center; max-width: 470px; margin: 30px auto 0;
	border-bottom: 1.5px solid var(--mp-plum); transition: border-color 0.25s;
}
.mp-search:focus-within { border-bottom-color: var(--mp-rose-deep); }
.mp-search input {
	flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 12px 4px;
	font: inherit; font-size: 1.02rem; color: var(--mp-ink); text-align: center;
}
.mp-search input::placeholder { color: #75606f; font-style: italic; }
.mp-search button {
	flex: none; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%;
	background: var(--mp-plum); color: var(--mp-cream); font-size: 18px; cursor: pointer; margin-bottom: 6px;
	transition: background 0.2s, transform 0.2s;
}
.mp-search button:hover { background: var(--mp-rose-deep); transform: rotate(-10deg); }

.mp-plate { margin: clamp(36px, 6vw, 64px) 0 0; }
.mp-plate__grid {
	display: grid; grid-template-columns: 1fr minmax(0, 1.75fr) 1fr; grid-template-areas: "l fly r" ". c .";
	align-items: center; gap: 0 clamp(12px, 2vw, 28px);
}
.mp-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(28px, 6vw, 96px); }
.mp-legend--left { grid-area: l; text-align: right; }
.mp-legend--right { grid-area: r; }
.mp-legend--center { grid-area: c; justify-items: center; text-align: center; margin-top: 4px; }
.mp-fly { grid-area: fly; }

.mp-legend a {
	position: relative; display: grid; gap: 3px; text-decoration: none; color: var(--mp-ink);
	padding: 6px 0;
}
.mp-legend--left a::after, .mp-legend--right a::after {
	content: ""; position: absolute; top: 22px; width: clamp(16px, 3vw, 46px); height: 1px; background: var(--mp-gold-deep);
	transition: width 0.3s ease;
}
.mp-legend--left a::after { right: calc(-1 * clamp(16px, 3vw, 46px) - 6px); }
.mp-legend--right a::after { left: calc(-1 * clamp(16px, 3vw, 46px) - 6px); }
.mp-legend__fig { font-family: var(--mp-serif); font-style: italic; font-size: 0.92rem; color: var(--mp-gold-deep); }
.mp-legend strong {
	font-family: var(--mp-serif); font-weight: 500; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.1; color: var(--mp-plum);
	transition: color 0.2s;
}
.mp-legend__hint { font-size: 0.82rem; color: var(--mp-muted); line-height: 1.4; }
.mp-legend__count {
	justify-self: end; margin-top: 4px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--mp-plum); padding: 3px 10px; border-radius: 999px; background: rgba(233, 191, 198, 0.55);
}
.mp-legend--right .mp-legend__count, .mp-legend--center .mp-legend__count { justify-self: start; }
.mp-legend--center .mp-legend__count { justify-self: center; }
.mp-legend a:hover strong, .mp-legend a.is-hot strong { color: var(--mp-rose-deep); }

/* Motyl */
.mp-fly__svg { display: block; width: 100%; height: auto; overflow: visible; }
.mp-fly__svg { animation: mp-float 7s ease-in-out infinite; }
.mp-fly__side { transform-box: view-box; transform-origin: 300px 220px; animation: mp-flap 5.5s ease-in-out infinite; }
@keyframes mp-flap {
	0%, 62%, 100% { transform: scaleX(1); }
	70% { transform: scaleX(0.82); }
	78% { transform: scaleX(1); }
	84% { transform: scaleX(0.9); }
	90% { transform: scaleX(1); }
}
@keyframes mp-float { 50% { transform: translateY(-8px); } }
.mp-fly:hover .mp-fly__side, .mp-fly:hover .mp-fly__svg { animation-play-state: paused; }

.mp-wing { cursor: pointer; }
.mp-wing__shape { stroke: var(--mp-plum); stroke-width: 1.5; transition: filter 0.3s, opacity 0.3s; }
.mp-wing__vein { fill: none; stroke: rgba(59, 31, 51, 0.35); stroke-width: 1; }
.mp-wing__vein.is-light { stroke: rgba(233, 191, 198, 0.35); }
.mp-wing__edge { fill: none; stroke: var(--mp-plum); stroke-width: 7; stroke-dasharray: 0.1 12; stroke-linecap: round; opacity: 0.85; }
.mp-wing__txt { fill: var(--mp-plum); font-family: var(--mp-serif); pointer-events: none; }
.mp-wing__txt.is-dark { fill: #fbeff2; }
.mp-wing__fig { font-style: italic; font-size: 17px; }
.mp-wing__num { font-size: 38px; font-weight: 500; font-variation-settings: 'opsz' 144; }
.mp-wing__txt--body { fill: var(--mp-plum); }
.mp-wing__txt--body .mp-wing__fig { font-size: 13px; }
.mp-wing__mini { font-size: 17px; font-weight: 600; }
.mp-fly__body { fill: var(--mp-plum); }
.mp-fly__head { fill: var(--mp-plum); }
.mp-fly__rings { stroke: var(--mp-gold); stroke-width: 1.5; }
.mp-fly__antenna { fill: none; stroke: var(--mp-plum); stroke-width: 2; stroke-linecap: round; }
.mp-fly__tip { fill: var(--mp-gold); }
.mp-wing:hover .mp-wing__shape, .mp-wing.is-hot .mp-wing__shape { filter: drop-shadow(0 0 14px rgba(212, 168, 90, 0.75)) saturate(1.2); }
.mp-fly.has-hot .mp-wing:not(.is-hot) .mp-wing__shape { opacity: 0.55; }

.mp-plate__cap {
	margin: clamp(22px, 3vw, 32px) auto 0; max-width: 34em; text-align: center;
	font-family: var(--mp-serif); font-size: 0.98rem; color: var(--mp-muted);
}
.mp-plate__cap i { color: var(--mp-plum); }

/* ---------- PLANSZA I: rytm dnia ---------- */
.mp-day { background: var(--mp-paper); border-top: 1px solid var(--mp-line); }
.mp-day__arc { position: relative; height: clamp(60px, 10vw, 120px); margin: 0 4% -10px; }
.mp-day__arc svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.mp-day__path { fill: none; stroke: var(--mp-gold); stroke-width: 1.5; stroke-dasharray: 2 8; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.mp-day__sun {
	position: absolute; left: var(--x, 50%); top: var(--y, 0%); width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, #f3d9a2, var(--mp-gold) 60%, #b5843a);
	box-shadow: 0 0 0 6px rgba(212, 168, 90, 0.18), 0 0 30px rgba(212, 168, 90, 0.6);
	opacity: 0; transition: left 1.6s cubic-bezier(0.2, 0.8, 0.2, 1), top 1.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.6s;
}
.mp-day__sun.is-on { opacity: 1; }
.mp-day__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.mp-daypart { position: relative; padding: 34px clamp(18px, 3vw, 40px) 8px; display: flex; flex-direction: column; gap: 14px; transition: background 0.4s; border-radius: 0 0 160px 160px / 0 0 40px 40px; }
.mp-daypart + .mp-daypart { border-left: 1px solid var(--mp-line); }
.mp-daypart::before {
	content: ""; position: absolute; top: 0; left: 50%; width: 9px; height: 9px; margin-left: -4.5px; border-radius: 50%;
	background: var(--mp-cream); border: 1.5px solid var(--mp-gold-deep);
}
.mp-daypart__time {
	display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0;
	font-size: 0.74rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mp-gold-deep);
}
.mp-daypart__time .mp-ico { font-size: 22px; align-self: center; color: var(--mp-plum); }
.mp-daypart__time small { font-size: 0.74rem; letter-spacing: 0.06em; color: var(--mp-muted); font-weight: 600; }
.mp-daypart__now {
	display: none; margin-left: auto; padding: 3px 9px; border-radius: 999px;
	background: var(--mp-plum); color: var(--mp-cream); font-size: 0.66rem; letter-spacing: 0.16em;
}
.mp-daypart h3 { margin: 0; font-size: clamp(1.35rem, 2.2vw, 1.65rem); line-height: 1.18; font-weight: 500; }
.mp-daypart__tips { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: tip; flex: 1; }
.mp-daypart__tips li { counter-increment: tip; display: grid; grid-template-columns: 26px 1fr; line-height: 1.55; color: #4f3a48; font-size: 0.97rem; }
.mp-daypart__tips li::before { content: counter(tip, lower-roman) "."; font-family: var(--mp-serif); font-style: italic; color: var(--mp-rose-deep); }
.mp-daypart .mp-links { padding: 16px 0 24px; border-top: 1px solid var(--mp-line); }
.mp-daypart.is-now { background: linear-gradient(180deg, var(--mp-rose-2), rgba(246, 227, 228, 0)); }
.mp-daypart.is-now .mp-daypart__now { display: inline-block; }
.mp-daypart.is-now::before { background: var(--mp-gold); border-color: var(--mp-gold); box-shadow: 0 0 0 5px rgba(212, 168, 90, 0.25); }

/* ---------- PLANSZA II: kalkulator wody ---------- */
.mp-water {
	position: relative; color: #f1e4ea;
	background:
		radial-gradient(50% 60% at 85% 10%, rgba(233, 191, 198, 0.16), transparent 70%),
		radial-gradient(40% 50% at 0% 100%, rgba(212, 168, 90, 0.12), transparent 70%),
		var(--mp-plum);
}
.mp-water::before {
	content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 40px;
	background: var(--mp-paper);
	clip-path: ellipse(55% 100% at 50% 0%);
}
.mp-water__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: stretch; }

.mp-water__form { display: grid; gap: 30px; align-content: start; }
.mp-fld { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; min-width: 0; }
.mp-fld > label, .mp-fld legend {
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0;
	font-family: var(--mp-serif); font-size: 1.3rem; font-weight: 500; color: #fff;
}
.mp-fld output { font-family: var(--mp-sans); font-size: 0.95rem; font-weight: 700; color: var(--mp-gold); font-variant-numeric: tabular-nums; }
.mp-fld__help { margin: 0; font-size: 0.86rem; color: #cdb6c4; line-height: 1.5; }

.mp-stepper { display: flex; align-items: center; gap: 0; border-bottom: 1px solid rgba(233, 191, 198, 0.45); }
.mp-stepper:focus-within { border-bottom-color: var(--mp-gold); }
.mp-stepper input {
	flex: 1; min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: #fff; padding: 4px 0;
	font-family: var(--mp-serif); font-size: clamp(2.6rem, 6vw, 3.6rem); font-weight: 400; font-variant-numeric: tabular-nums;
	-moz-appearance: textfield; appearance: textfield;
}
.mp-stepper input::-webkit-outer-spin-button, .mp-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mp-stepper__unit { font-family: var(--mp-serif); font-style: italic; font-size: 1.3rem; color: var(--mp-rose); margin-right: 14px; }
.mp-stepper button {
	flex: none; width: 44px; height: 44px; margin-left: 6px; border-radius: 50%; border: 1px solid rgba(233, 191, 198, 0.5);
	background: transparent; color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; transition: background 0.2s, border-color 0.2s;
}
.mp-stepper button:hover { background: rgba(233, 191, 198, 0.15); border-color: var(--mp-rose); }
.mp-stepper input:invalid, .mp-stepper input[aria-invalid="true"] { color: #ffb3c1; }

.mp-fld input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: 28px; background: transparent; cursor: pointer; --p: 16%; }
.mp-fld input[type="range"]::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--mp-gold) var(--p), rgba(233, 191, 198, 0.35) var(--p)); }
.mp-fld input[type="range"]::-moz-range-track { height: 2px; background: rgba(233, 191, 198, 0.35); }
.mp-fld input[type="range"]::-moz-range-progress { height: 2px; background: var(--mp-gold); }
.mp-fld input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none; width: 22px; height: 22px; margin-top: -10px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
	background: var(--mp-rose); border: 2px solid var(--mp-plum); box-shadow: 0 0 0 1px var(--mp-rose);
}
.mp-fld input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--mp-rose); border: 2px solid var(--mp-plum); }
.mp-fld input[type="range"]:focus-visible { outline: 2px solid var(--mp-gold); outline-offset: 4px; }

.mp-switch { position: relative; display: flex; align-items: center; gap: 14px; cursor: pointer; font-size: 1rem; color: #f1e4ea; line-height: 1.4; }
.mp-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mp-switch small { color: var(--mp-gold); font-weight: 700; }
.mp-switch__ui { flex: none; position: relative; width: 48px; height: 28px; border-radius: 999px; border: 1px solid rgba(233, 191, 198, 0.55); transition: background 0.25s, border-color 0.25s; }
.mp-switch__ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--mp-rose); transition: transform 0.25s ease, background 0.25s; }
.mp-switch input:checked + .mp-switch__ui { background: var(--mp-gold); border-color: var(--mp-gold); }
.mp-switch input:checked + .mp-switch__ui::after { transform: translateX(20px); background: var(--mp-plum); }
.mp-switch input:focus-visible + .mp-switch__ui { outline: 2px solid var(--mp-gold); outline-offset: 3px; }

.mp-water__break { margin: 0; display: grid; border-top: 1px solid rgba(233, 191, 198, 0.3); }
.mp-water__break div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(233, 191, 198, 0.15); font-size: 0.94rem; }
.mp-water__break dt { color: #cdb6c4; }
.mp-water__break dd { margin: 0; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }

.mp-water__out {
	position: relative; display: grid; grid-template-columns: 0.62fr 1fr; gap: clamp(18px, 3vw, 34px); align-items: center;
	padding: clamp(24px, 3.5vw, 40px); border-radius: 200px 200px 24px 24px;
	background: var(--mp-cream); color: var(--mp-ink);
	box-shadow: 0 40px 60px -40px rgba(0, 0, 0, 0.6);
}
.mp-carafe svg { display: block; width: 100%; height: auto; max-height: 300px; }
.mp-carafe__bg { fill: #fff; }
.mp-carafe__glass { fill: none; stroke: var(--mp-plum); stroke-width: 2.5; }
.mp-carafe__water { transform: translateY(200px); transition: transform 1s cubic-bezier(0.3, 0.9, 0.3, 1); }
.mp-carafe__wave { fill: var(--mp-rose); animation: mp-wave 3.2s linear infinite; }
@keyframes mp-wave { to { transform: translateX(60px); } }

.mp-water__label { margin: 0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mp-rose-deep); }
.mp-water__big { margin: 6px 0 0; font-family: var(--mp-serif); font-size: clamp(3rem, 6.5vw, 4.6rem); line-height: 1; font-weight: 400; color: var(--mp-plum); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -0.03em; }
.mp-water__big small { font-size: 0.32em; font-style: italic; letter-spacing: 0; color: var(--mp-muted); }
.mp-water__glasses { margin: 6px 0 22px; color: var(--mp-muted); }
.mp-water__glasses b { color: var(--mp-plum); }
.mp-water__track-h { margin: 0 0 10px; font-size: 0.9rem; color: var(--mp-muted); }
.mp-water__track-h b { color: var(--mp-plum); }
.mp-glasses { display: flex; flex-wrap: wrap; gap: 6px; }
.mp-glass {
	position: relative; width: 30px; height: 38px; padding: 0; border: 0; background: none; cursor: pointer;
	transition: transform 0.2s;
}
.mp-glass:hover { transform: translateY(-2px); }
.mp-glass svg { display: block; width: 100%; height: 100%; }
.mp-glass__cup { fill: #fff; stroke: var(--mp-plum); stroke-width: 1.6; }
.mp-glass__fill { fill: var(--mp-rose); transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 0.35s ease; }
.mp-glass[aria-pressed="true"] .mp-glass__fill { transform: scaleY(1); }
.mp-glass:focus-visible { outline: 2px solid var(--mp-rose-deep); outline-offset: 2px; border-radius: 4px; }
.mp-water__reset {
	display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; padding: 0; border: 0; background: none; cursor: pointer;
	font: inherit; font-size: 0.86rem; font-weight: 600; color: var(--mp-rose-deep); text-decoration: underline; text-underline-offset: 3px;
}
.mp-water__done { margin: 12px 0 0; font-family: var(--mp-serif); font-style: italic; color: var(--mp-plum); }

.mp-water__note {
	margin: clamp(32px, 4vw, 48px) 0 0; padding: 18px 22px; max-width: 900px;
	border-left: 2px solid var(--mp-gold); background: rgba(255, 255, 255, 0.05);
	font-size: 0.92rem; line-height: 1.65; color: #e2cfda;
}
.mp-water__note strong { color: #fff; }
.mp-water__more { display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: baseline; margin-top: 28px; }
.mp-water__more p { margin: 0; font-family: var(--mp-serif); font-style: italic; color: var(--mp-rose); }
.mp-water__more .mp-links { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.mp-water__more .mp-links a { color: #fff; }
.mp-water__more .mp-links a:hover { color: var(--mp-gold); }
.mp-water__more .mp-links a::before { border-color: var(--mp-gold); }

/* ---------- PLANSZA III: metamorfoza ---------- */
.mp-meta { background: var(--mp-cream); }
.mp-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(18px, 2.5vw, 34px); position: relative; }
.mp-stages::before {
	content: ""; position: absolute; left: 40px; right: 40px; top: 40px; height: 1px;
	background: linear-gradient(90deg, var(--mp-gold-deep) 0 0) 0 0 / var(--grow, 100%) 100% no-repeat, var(--mp-line);
}
.mp-stage { position: relative; display: flex; flex-direction: column; gap: 10px; }
.mp-stage__art {
	width: 80px; height: 80px; padding: 8px; border-radius: 50%; background: var(--mp-cream); position: relative; z-index: 1;
	border: 1px solid var(--mp-gold-deep);
	fill: none; stroke: var(--mp-plum); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
	transition: background 0.3s, transform 0.4s;
}
.mp-stage__art .is-thin { stroke-width: 1.2; stroke: var(--mp-rose-deep); }
.mp-stage__art .is-thick { stroke-width: 3.5; }
.mp-stage:last-child .mp-stage__art { background: var(--mp-rose-2); }
.mp-stage:last-child .mp-stage__art path:first-child { fill: var(--mp-rose); }
.mp-stage:hover .mp-stage__art { transform: rotate(-6deg) scale(1.05); background: var(--mp-rose-2); }
.mp-stage__name { margin: 8px 0 0; font-family: var(--mp-serif); font-style: italic; font-size: 1rem; color: var(--mp-gold-deep); }
.mp-stage h3 { margin: 0; font-size: 1.45rem; line-height: 1.15; font-weight: 500; }
.mp-stage > p:not(.mp-stage__name) { margin: 0; color: #4f3a48; line-height: 1.6; font-size: 0.97rem; flex: 1; }
.mp-stage .mp-links { padding-top: 12px; }

/* ---------- PLANSZA IV: najnowsze ---------- */
.mp-news { background: var(--mp-paper); border-top: 1px solid var(--mp-line); }
.mp-news__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.mp-lead { display: grid; gap: 20px; }
.mp-lead__img {
	display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mp-rose-2);
	border-radius: 220px 220px 4px 4px;
}
.mp-lead__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s ease; }
.mp-lead:hover .mp-lead__img img { transform: scale(1.04); }
.mp-lead__ph { display: grid; place-items: center; width: 100%; height: 100%; }
.mp-lead__ph svg { width: 30%; height: auto; }
.mp-lead h3 { margin: 6px 0 10px; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.08; font-weight: 500; letter-spacing: -0.02em; }
.mp-lead h3 a, .mp-toc h3 a { color: var(--mp-plum); text-decoration: none; background: linear-gradient(var(--mp-rose), var(--mp-rose)) 0 92% / 0 0.3em no-repeat; transition: background-size 0.4s ease; }
.mp-lead h3 a:hover, .mp-toc h3 a:hover { background-size: 100% 0.3em; }
.mp-lead p { margin: 0 0 12px; color: #4f3a48; line-height: 1.65; }
.mp-home time { font-size: 0.82rem; color: var(--mp-muted); }

.mp-toc { list-style: none; margin: 0; padding: 0; }
.mp-toc__item { display: grid; grid-template-columns: 54px 1fr; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--mp-line); }
.mp-toc__item:first-child { padding-top: 0; }
.mp-toc__no { font-family: var(--mp-serif); font-style: italic; font-size: 2.6rem; line-height: 0.9; color: var(--mp-rose); font-weight: 300; }
.mp-toc h3 { margin: 4px 0 6px; font-size: 1.22rem; line-height: 1.25; font-weight: 500; }
.mp-older { margin: clamp(28px, 4vw, 44px) 0 0; text-align: right; }
.mp-older a {
	display: inline-flex; align-items: center; gap: 10px; font-family: var(--mp-serif); font-style: italic; font-size: 1.25rem;
	color: var(--mp-plum); text-decoration: none; border-bottom: 1px solid var(--mp-gold-deep); padding-bottom: 4px;
}
.mp-older a .mp-ico { transition: transform 0.3s; }
.mp-older a:hover .mp-ico { transform: translateX(6px); }

/* ---------- PLANSZA V: spis działów ---------- */
.mp-index { background: var(--mp-cream-2); }
.mp-index__list { border-top: 2px solid var(--mp-plum); }
.mp-row {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1.15fr); gap: clamp(18px, 3vw, 44px);
	padding: clamp(24px, 3vw, 36px) 0; border-bottom: 1px solid #d9c6b6; position: relative;
}
.mp-row::before {
	content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--mp-rose-deep); transition: width 0.5s ease;
}
.mp-row:hover::before { width: 100%; }
.mp-row__head { display: grid; gap: 4px; align-content: start; }
.mp-row__fig { font-family: var(--mp-serif); font-style: italic; color: var(--mp-gold-deep); }
.mp-row h3 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.05; font-weight: 400; letter-spacing: -0.02em; }
.mp-row h3 a { color: var(--mp-plum); text-decoration: none; }
.mp-row h3 a:hover { color: var(--mp-rose-deep); }
.mp-row__count { font-size: 0.82rem; color: var(--mp-muted); }
.mp-row__count b { font-family: var(--mp-serif); font-size: 1.15rem; color: var(--mp-plum); font-weight: 600; }
.mp-row__about p { margin: 0; color: #4f3a48; line-height: 1.6; }
.mp-row__subs { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 12px !important; }
.mp-row__subs a { font-size: 0.86rem; font-weight: 600; color: var(--mp-rose-deep); text-decoration: none; }
.mp-row__subs a::before { content: "· "; color: var(--mp-gold-deep); }
.mp-row__subs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mp-row__latest { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: r; }
.mp-row__latest li { counter-increment: r; display: grid; grid-template-columns: 22px 1fr; }
.mp-row__latest li::before { content: counter(r); font-family: var(--mp-serif); font-style: italic; color: var(--mp-gold-deep); }
.mp-row__latest a { color: var(--mp-ink); text-decoration: none; font-weight: 500; font-size: 0.95rem; line-height: 1.4; }
.mp-row__latest a:hover { color: var(--mp-rose-deep); }

/* ---------- PLANSZA VI: wybór redakcji ---------- */
.mp-picks { background: var(--mp-rose-2); }
.mp-picks__cols { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.mp-pick { padding: 26px clamp(18px, 2.5vw, 34px) 30px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.mp-pick:not(:nth-child(3n + 1)) { border-left: 1px solid rgba(155, 74, 98, 0.25); }
.mp-pick:nth-child(n + 4) { border-top: 1px solid rgba(155, 74, 98, 0.25); }
.mp-pick::before {
	content: "\201E"; position: absolute; right: clamp(14px, 2vw, 26px); top: 4px; font-family: var(--mp-serif); font-size: 4.4rem; line-height: 1;
	color: rgba(155, 74, 98, 0.18);
}
.mp-pick__cat { margin: 0; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mp-rose-deep); }
.mp-pick h3 { margin: 0; font-size: 1.4rem; line-height: 1.18; font-weight: 500; }
.mp-pick h3 a { color: var(--mp-plum); text-decoration: none; }
.mp-pick h3 a::after { content: ""; position: absolute; inset: 0; }
.mp-pick:hover h3 a { color: var(--mp-rose-deep); }
.mp-pick__why { margin: 0; font-family: var(--mp-serif); font-style: italic; color: #5a4352; line-height: 1.55; }

/* ---------- PLANSZA VII: FAQ ---------- */
.mp-faq { background: var(--mp-paper); }
.mp-faq__list { border-top: 1px solid var(--mp-plum); }
.mp-faq__list details { border-bottom: 1px solid var(--mp-line); }
.mp-faq__list summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0;
	font-family: var(--mp-serif); font-size: clamp(1.18rem, 2vw, 1.4rem); font-weight: 500; line-height: 1.25; color: var(--mp-plum);
}
.mp-faq__list summary::-webkit-details-marker { display: none; }
.mp-faq__list summary i { position: relative; flex: none; width: 20px; height: 20px; }
.mp-faq__list summary i::before, .mp-faq__list summary i::after {
	content: ""; position: absolute; left: 0; top: 9px; width: 20px; height: 1.5px; background: var(--mp-rose-deep); transition: transform 0.3s ease;
}
.mp-faq__list summary i::after { transform: rotate(90deg); }
.mp-faq__list details[open] summary i::after { transform: rotate(0deg); }
.mp-faq__list summary:hover span { color: var(--mp-rose-deep); }
.mp-faq__list details p { margin: 0; padding: 0 44px 24px 0; color: #4f3a48; line-height: 1.7; }

/* ---------- KOLOFON ---------- */
.mp-colophon { background: var(--mp-cream); border-top: 1px solid var(--mp-line); }
.mp-colophon__grid { display: grid; grid-template-columns: 200px 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; max-width: 1040px; }
.mp-colophon__mark svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 24px 30px rgba(59, 31, 51, 0.25)); }
.mp-colophon .mp-ph__no { justify-content: flex-start; }
.mp-colophon .mp-ph__no::before { display: none; }
.mp-colophon h2 { margin: 0; font-size: clamp(2.2rem, 4.6vw, 3.3rem); line-height: 1.05; font-weight: 400; letter-spacing: -0.025em; }
.mp-colophon h2 em { color: var(--mp-rose-deep); }
.mp-colophon__quote { margin: 20px 0 26px; font-family: var(--mp-serif); font-size: clamp(1.25rem, 2.2vw, 1.55rem); line-height: 1.45; color: var(--mp-plum); font-weight: 300; }
.mp-colophon__cols { columns: 2 260px; column-gap: 40px; column-rule: 1px solid var(--mp-line); }
.mp-colophon__cols p { margin: 0 0 1em; line-height: 1.7; color: #4f3a48; break-inside: avoid; }
.mp-colophon__rules { list-style: none; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--mp-gold-deep); display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mp-colophon__rules li { font-size: 0.93rem; line-height: 1.55; color: #4f3a48; }
.mp-colophon__rules b { display: block; font-family: var(--mp-serif); font-size: 1.1rem; font-weight: 600; color: var(--mp-plum); margin-bottom: 4px; }

/* ---------- RWD ---------- */
@media (max-width: 1080px) {
	.mp-row { grid-template-columns: 1fr 1fr; }
	.mp-row__latest { grid-column: 2; }
	.mp-stages { grid-template-columns: 1fr 1fr; row-gap: 48px; }
	.mp-stages::before { display: none; }
	.mp-water__out { grid-template-columns: 0.5fr 1fr; }
}
@media (max-width: 900px) {
	.mp-plate__grid { grid-template-columns: 1fr 1fr; grid-template-areas: "fly fly" "l r" "c c"; gap: 28px 20px; }
	.mp-fly { max-width: 560px; width: 100%; margin: 0 auto; }
	.mp-legend { gap: 18px; }
	.mp-legend--left { text-align: left; }
	.mp-legend--left a::after, .mp-legend--right a::after { display: none; }
	.mp-legend a { padding: 14px 16px; border: 1px solid var(--mp-line); border-radius: 18px 18px 18px 4px; background: rgba(255, 252, 248, 0.7); }
	.mp-legend__count, .mp-legend--center .mp-legend__count { justify-self: start; }
	.mp-legend--center { justify-items: stretch; text-align: left; }
	.mp-water__grid, .mp-news__grid { grid-template-columns: 1fr; }
	.mp-water__out { border-radius: 140px 140px 20px 20px; }
	.mp-day__list { grid-template-columns: 1fr; }
	.mp-daypart + .mp-daypart { border-left: 0; border-top: 1px solid var(--mp-line); }
	.mp-day__arc { display: none; }
	.mp-daypart { border-radius: 0; }
	.mp-daypart::before { left: 0; margin-left: 0; top: 34px; display: none; }
	.mp-picks__cols { grid-template-columns: 1fr 1fr; }
	.mp-pick:not(:nth-child(3n + 1)) { border-left: 0; }
	.mp-pick:nth-child(n + 4) { border-top: 0; }
	.mp-pick:nth-child(2n) { border-left: 1px solid rgba(155, 74, 98, 0.25); }
	.mp-pick:nth-child(n + 3) { border-top: 1px solid rgba(155, 74, 98, 0.25); }
	.mp-colophon__rules { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.mp-masthead { flex-wrap: wrap; justify-content: center; text-align: center; font-size: 0.68rem; }
	.mp-masthead__mid { order: -1; width: 100%; }
	.mp-plate__grid { grid-template-columns: 1fr; grid-template-areas: "fly" "l" "r" "c"; gap: 12px; }
	.mp-legend { gap: 12px; }
	.mp-row { grid-template-columns: 1fr; gap: 14px; }
	.mp-row__latest { grid-column: auto; }
	.mp-stages { grid-template-columns: 1fr; }
	.mp-picks__cols { grid-template-columns: 1fr; }
	.mp-pick:nth-child(2n) { border-left: 0; }
	.mp-pick:nth-child(n + 2) { border-top: 1px solid rgba(155, 74, 98, 0.25); }
	.mp-water__out { grid-template-columns: 1fr; border-radius: 24px; text-align: center; }
	.mp-carafe { width: 110px; margin: 0 auto; }
	.mp-glasses { justify-content: center; }
	.mp-toc__item { grid-template-columns: 40px 1fr; }
	.mp-toc__no { font-size: 2rem; }
	.mp-colophon__grid { grid-template-columns: 1fr; }
	.mp-colophon__mark { width: 96px; }
	.mp-faq__list details p { padding-right: 0; }
	.mp-lead__img { border-radius: 140px 140px 4px 4px; }
	.mp-stepper button { width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	.mp-fly__svg, .mp-fly__side, .mp-carafe__wave { animation: none; }
	.mp-day__sun, .mp-carafe__water, .mp-glass__fill, .mp-row::before, .mp-lead__img img, .mp-stage__art, .mp-older a .mp-ico, .mpp-logo__mark { transition: none; }
}
