/* podstrony tematyczne - kazda ma swoj uklad, wspolne sa tylko kolory i naglowek */
.mdz-page--in .mdz-head { border-bottom: 1px solid var(--mdz-line); }
.mdz-head__nav a[aria-current="page"] { color: var(--mdz-copper); }

/* ---------- obligacje: rozkladowka, szyfr serii, paragon ---------- */
.mdz-bond { max-width: var(--mdz-wrap); margin: 0 auto; padding: 50px var(--mdz-side) 80px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; }
.mdz-bond__txt, .mdz-month__list { min-width: 0; }
.mdz-bond__h1 { font-size: 23px; font-weight: 700; letter-spacing: .1em; line-height: 1.6; }
.mdz-bond__lead { margin-top: 20px; font-size: 14px; line-height: 2.1; color: var(--mdz-soft); }
.mdz-bond__pic { position: relative; }
.mdz-bond__pic img { width: 100%; height: 280px; object-fit: cover; background: #d5cdc2; }
.mdz-bond__stamp { position: absolute; top: 0; right: 0; padding: 14px 10px; background: var(--mdz-paper); writing-mode: vertical-rl; text-orientation: mixed; font-size: 13px; font-weight: 700; letter-spacing: .24em; line-height: 1; }

.mdz-codes { border-top: 1px solid var(--mdz-ink); }
.mdz-codes__in { max-width: var(--mdz-wrap); margin: 0 auto; padding: 70px var(--mdz-side) 90px; }
.mdz-codes__h, .mdz-receipt__h, .mdz-cmp__h, .mdz-case__h, .mdz-day__h, .mdz-bring__h, .mdz-faq__h { font-size: 20px; font-weight: 700; letter-spacing: .12em; line-height: 1.5; }
.mdz-codes__intro { max-width: 40em; margin: 18px 0 30px; font-size: 13.5px; color: var(--mdz-soft); }
.mdz-code { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 2px 18px; padding: 20px 0; border-bottom: 1px solid var(--mdz-line); }
.mdz-code__k { grid-row: span 2; font-family: var(--mdz-latin); font-size: 25px; font-weight: 700; letter-spacing: .08em; line-height: 1.25; color: var(--mdz-copper); }
.mdz-code__t { font-family: var(--mdz-latin); font-size: 11px; letter-spacing: .16em; color: var(--mdz-mute); }
.mdz-code__p { font-size: 13.5px; line-height: 1.95; color: var(--mdz-soft); }
.mdz-code--rodzinna .mdz-code__k { color: var(--mdz-ink); }
.mdz-codes__foot { margin-top: 24px; font-size: 12.5px; color: var(--mdz-soft); }

.mdz-receipt { background: var(--mdz-band); }
.mdz-receipt__in { max-width: var(--mdz-wrap); margin: 0 auto; padding: 80px var(--mdz-side) 96px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; }
.mdz-receipt__p { margin-top: 16px; font-size: 13.5px; line-height: 2; color: var(--mdz-soft); }
.mdz-receipt__paper { position: relative; padding: 24px 20px 30px; background: #fffdf9; font-family: var(--mdz-latin); font-size: 12.5px; letter-spacing: .03em; }
.mdz-receipt__paper:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 8px;
  background: linear-gradient(135deg, #fffdf9 4px, transparent 0) 0 0 / 8px 8px repeat-x, linear-gradient(-135deg, #fffdf9 4px, transparent 0) 0 0 / 8px 8px repeat-x;
}
.mdz-receipt__top { padding-bottom: 10px; margin-bottom: 6px; border-bottom: 1px solid var(--mdz-ink); font-size: 10.5px; font-weight: 700; letter-spacing: .2em; }
.mdz-receipt__row { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-bottom: 1px dashed #cfc6ba; }
.mdz-receipt__row b { white-space: nowrap; }
.mdz-receipt__row--minus b { color: #9a3c26; }
.mdz-receipt__row--sum { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--mdz-ink); border-bottom: 0; font-size: 15px; font-weight: 700; }
.mdz-receipt__aside { margin-top: 26px; font-size: 12px; color: var(--mdz-soft); font-family: var(--mdz-sans); }

.mdz-limits { max-width: 900px; margin: 0 auto; padding: 110px var(--mdz-side) 110px; }
.mdz-limits__h { font-size: 21px; font-weight: 700; letter-spacing: .2em; margin-bottom: 26px; }
.mdz-limits__p { margin-bottom: 1.5em; font-size: 14px; line-height: 2.15; letter-spacing: .05em; }

.mdz-strip { background: var(--mdz-ink); color: var(--mdz-paper); }
.mdz-strip__in { max-width: var(--mdz-wrap); margin: 0 auto; padding: 44px var(--mdz-side); display: flex; flex-direction: column; gap: 20px; }
.mdz-strip__t { font-size: 13px; line-height: 2; letter-spacing: .08em; }
.mdz-strip__t b { display: block; font-size: 15px; letter-spacing: .12em; }
.mdz-strip .mdz-pill { align-self: flex-start; border-color: var(--mdz-paper); }
.mdz-strip .mdz-pill:hover { background: var(--mdz-paper); color: var(--mdz-ink); }

/* ---------- ike / ikze / ppk: pas, tabela, przypadki ---------- */
.mdz-acc { background: var(--mdz-foot); }
.mdz-acc__in { max-width: var(--mdz-wrap); margin: 0 auto; padding: 56px var(--mdz-side) 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; }
.mdz-acc__h1 { font-family: var(--mdz-latin); font-size: 40px; font-weight: 700; letter-spacing: .06em; line-height: 1.1; }
.mdz-acc__sub { margin-top: 12px; font-size: 15px; font-weight: 700; letter-spacing: .14em; }
.mdz-acc__p { margin-top: 18px; font-size: 13.5px; line-height: 2; color: var(--mdz-soft); }
.mdz-acc__img { width: 100%; height: 240px; object-fit: cover; background: #cfc4b6; margin-bottom: -40px; position: relative; }

.mdz-cmp { max-width: var(--mdz-wrap); margin: 0 auto; padding: 110px var(--mdz-side) 60px; }
.mdz-cmp__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 30px calc(var(--mdz-side) * -1) 0; padding: 0 var(--mdz-side); }
.mdz-cmp__t { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 12.5px; line-height: 1.75; }
.mdz-cmp__t th, .mdz-cmp__t td { padding: 14px 12px; border-bottom: 1px solid var(--mdz-line); text-align: left; vertical-align: top; }
.mdz-cmp__t thead th { padding-bottom: 10px; border-bottom: 1px solid var(--mdz-ink); font-family: var(--mdz-latin); font-size: 18px; letter-spacing: .12em; }
.mdz-cmp__t tbody th { position: sticky; left: 0; z-index: 1; width: 128px; background: var(--mdz-paper); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; }
.mdz-cmp__t td { color: var(--mdz-soft); }
.mdz-cmp__hint { margin-top: 10px; font-size: 11px; color: var(--mdz-mute); }
.mdz-cmp__note { margin-top: 18px; font-size: 12px; color: var(--mdz-mute); max-width: 46em; }

.mdz-case { max-width: var(--mdz-wrap); margin: 0 auto; padding: 60px var(--mdz-side) 120px; }
.mdz-case__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 34px; }
.mdz-case__it { padding: 24px 0 18px; border-top: 1px solid var(--mdz-ink); }
.mdz-case__l { font-family: var(--mdz-latin); font-size: 44px; font-weight: 700; line-height: 1; color: var(--mdz-copper); }
.mdz-case__q { margin: 14px 0 10px; font-size: 15px; font-weight: 700; letter-spacing: .05em; line-height: 1.6; }
.mdz-case__p { font-size: 13.5px; line-height: 2; color: var(--mdz-soft); }
.mdz-case__p + .mdz-case__p { margin-top: 10px; }
.mdz-case__next { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--mdz-line); font-size: 13px; line-height: 2; }
.mdz-case__next a { text-decoration: underline; text-underline-offset: 3px; }
.mdz-case__next a:hover { color: var(--mdz-copper); }

/* ---------- etf: dlugi tekst, numery na marginesie ---------- */
.mdz-read { max-width: 980px; margin: 0 auto; padding: 50px var(--mdz-side) 110px; }
.mdz-read__h1 { font-size: 24px; font-weight: 700; letter-spacing: .08em; line-height: 1.6; }
.mdz-read__by { margin-top: 14px; font-family: var(--mdz-latin); font-size: 11px; letter-spacing: .14em; color: var(--mdz-mute); }
.mdz-read__pic { margin-top: 34px; }
.mdz-read__pic img { width: 100%; height: 260px; object-fit: cover; background: #d5cdc2; }
.mdz-read__pic figcaption { margin-top: 8px; font-size: 11px; color: var(--mdz-mute); }
.mdz-part { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding-top: 56px; }
.mdz-part__n { font-family: var(--mdz-latin); font-size: 12px; font-weight: 700; letter-spacing: .2em; color: var(--mdz-copper); }
.mdz-part__h { font-size: 18px; font-weight: 700; letter-spacing: .07em; line-height: 1.6; }
.mdz-part__p { margin-top: 14px; font-size: 14.5px; line-height: 2.1; }
.mdz-part__p a { text-decoration: underline; text-underline-offset: 3px; }

.mdz-kid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 24px; }
.mdz-kid__card { padding: 20px; border: 1px solid var(--mdz-ink); background: #fffdf9; font-size: 12.5px; align-self: start; }
.mdz-kid__top { padding-bottom: 8px; margin-bottom: 4px; border-bottom: 1px solid var(--mdz-ink); font-family: var(--mdz-latin); font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.mdz-kid__row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px dotted #bdb5aa; }
.mdz-kid__row:last-child { border-bottom: 0; }
.mdz-kid__row span { color: var(--mdz-mute); }
.mdz-kid__row b { text-align: right; }
.mdz-kid__no { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin-right: 6px; border-radius: 50%; background: var(--mdz-copper); color: #fff; font-family: var(--mdz-latin); font-size: 10px; font-style: normal; font-weight: 700; vertical-align: 1px; }
.mdz-kid__notes { margin: 0; padding: 0; list-style: none; }
.mdz-kid__notes li { position: relative; padding: 0 0 16px 28px; font-size: 13px; line-height: 1.9; color: var(--mdz-soft); }
.mdz-kid__notes .mdz-kid__no { position: absolute; left: 0; top: 3px; margin: 0; }

.mdz-calc { margin-top: 26px; padding: 22px 18px; background: var(--mdz-band); }
.mdz-calc__f { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; }
.mdz-calc__f label { display: block; font-size: 11px; letter-spacing: .08em; color: var(--mdz-soft); }
.mdz-calc__f input { display: block; width: 100%; margin-top: 4px; padding: 9px 10px; border: 1px solid #bdb5aa; border-radius: 0; background: #fbfaf7; font: inherit; font-size: 14px; color: var(--mdz-ink); }
.mdz-calc__f input:focus { outline: none; border-color: var(--mdz-ink); }
.mdz-calc__out { margin-top: 22px; }
.mdz-calc__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; margin-bottom: 14px; font-size: 12.5px; }
.mdz-calc__row b { font-family: var(--mdz-latin); font-size: 15px; }
.mdz-calc__bar { grid-column: 1 / -1; height: 10px; background: var(--mdz-ink); transition: width .3s; }
.mdz-calc__row--drogi .mdz-calc__bar { background: var(--mdz-copper); }
.mdz-calc__diff { padding-top: 12px; border-top: 1px solid var(--mdz-ink); font-size: 14px; font-weight: 700; }
.mdz-calc__warn { margin-top: 10px; font-size: 11.5px; line-height: 1.8; color: var(--mdz-mute); }

.mdz-read__end { display: grid; gap: 18px; margin-top: 76px; padding: 26px 0; border-top: 1px solid var(--mdz-ink); border-bottom: 1px solid var(--mdz-ink); }
.mdz-read__end p { font-size: 13.5px; line-height: 2; }
.mdz-read__end .mdz-pill { justify-self: start; }

/* ---------- warsztaty: kalendarz miesiacami ---------- */
.mdz-plan { position: relative; }
.mdz-plan__img { width: 100%; height: 56vw; min-height: 260px; max-height: 560px; object-fit: cover; background: #d5cdc2; }
.mdz-plan__tab { position: absolute; top: 0; right: var(--mdz-side); padding: 16px 12px; background: var(--mdz-paper); writing-mode: vertical-rl; text-orientation: mixed; font-size: 17px; font-weight: 700; letter-spacing: .22em; line-height: 1; }
.mdz-plan__txt { max-width: var(--mdz-wrap); margin: 0 auto; padding: 44px var(--mdz-side) 10px; }
.mdz-plan__h1 { font-size: 25px; font-weight: 700; letter-spacing: .14em; line-height: 1.5; }
.mdz-plan__lead { max-width: 40em; margin-top: 16px; font-size: 13.5px; line-height: 2; color: var(--mdz-soft); }

.mdz-sched { max-width: var(--mdz-wrap); margin: 0 auto; padding: 20px var(--mdz-side) 100px; }
.mdz-month { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 40px; border-top: 1px solid var(--mdz-ink); }
.mdz-month__name { padding: 12px 0 4px; font-family: var(--mdz-latin); font-size: 12px; font-weight: 700; letter-spacing: .24em; }
.mdz-slot { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 2px 16px; padding: 18px 0; border-bottom: 1px solid var(--mdz-line); }
.mdz-slot__d { grid-row: span 4; font-family: var(--mdz-latin); font-size: 34px; font-weight: 700; line-height: 1; }
.mdz-slot__w { font-size: 11px; letter-spacing: .12em; color: var(--mdz-mute); }
.mdz-slot__t { font-size: 14px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.mdz-slot__m { font-size: 12px; color: var(--mdz-soft); }
.mdz-slot__p { font-family: var(--mdz-latin); font-size: 13px; font-weight: 700; }
.mdz-slot--online .mdz-slot__d { color: var(--mdz-copper); }
.mdz-slot--kurs { padding-left: 10px; padding-right: 10px; background: rgba(168, 103, 63, .08); }
.mdz-sched__note { margin-top: 20px; font-size: 12px; color: var(--mdz-mute); }

.mdz-day { background: var(--mdz-band); }
.mdz-day__in { max-width: var(--mdz-wrap); margin: 0 auto; padding: 84px var(--mdz-side) 90px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 34px; }
.mdz-day__img { width: 100%; height: 250px; object-fit: cover; background: #cfc4b6; }
.mdz-day__list { margin: 22px 0 0; padding: 0; list-style: none; }
.mdz-day__li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mdz-line); font-size: 13px; line-height: 1.85; }
.mdz-day__li time { font-family: var(--mdz-latin); font-weight: 700; color: var(--mdz-copper); }
.mdz-day__li b { display: block; font-size: 13.5px; }
.mdz-day__li span { color: var(--mdz-soft); }

.mdz-bring { max-width: 900px; margin: 0 auto; padding: 96px var(--mdz-side) 30px; }
.mdz-bring__list { margin: 26px 0 0; padding: 0; list-style: none; counter-reset: rzecz; }
.mdz-bring__list li { position: relative; padding: 0 0 18px 40px; font-size: 13.5px; line-height: 1.95; counter-increment: rzecz; }
.mdz-bring__list li:before { content: counter(rzecz, decimal-leading-zero); position: absolute; left: 0; top: 1px; font-family: var(--mdz-latin); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--mdz-copper); }

.mdz-faq { max-width: 900px; margin: 0 auto; padding: 60px var(--mdz-side) 110px; }
.mdz-faq__q { border-bottom: 1px solid var(--mdz-line); }
.mdz-faq__q:first-of-type { margin-top: 24px; border-top: 1px solid var(--mdz-ink); }
.mdz-faq__q summary { position: relative; padding: 16px 30px 16px 0; font-size: 14px; font-weight: 700; letter-spacing: .04em; line-height: 1.6; cursor: pointer; list-style: none; }
.mdz-faq__q summary::-webkit-details-marker { display: none; }
.mdz-faq__q summary:after { content: '+'; position: absolute; right: 4px; top: 14px; font-family: var(--mdz-latin); font-size: 18px; font-weight: 400; }
.mdz-faq__q[open] summary:after { content: '−'; }
.mdz-faq__q p { padding: 0 0 18px; font-size: 13.5px; line-height: 2; color: var(--mdz-soft); }

@media screen and (min-width: 769px) {
  .mdz-bond { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: end; padding-top: 80px; padding-bottom: 110px; }
  .mdz-bond__h1 { font-size: 28px; }
  .mdz-bond__pic img { height: 440px; }
  .mdz-bond__stamp { font-size: 15px; padding: 18px 12px; }
  .mdz-code { grid-template-columns: 120px 150px minmax(0, 1fr); padding: 24px 0; }
  .mdz-code__k { grid-row: auto; font-size: 30px; }
  .mdz-code__t { padding-top: 10px; }
  .mdz-code__p { padding-top: 4px; }
  .mdz-codes__h, .mdz-receipt__h, .mdz-cmp__h, .mdz-case__h, .mdz-day__h, .mdz-bring__h, .mdz-faq__h { font-size: 24px; }
  .mdz-receipt__in { grid-template-columns: minmax(0, 1fr) 380px; gap: 60px; align-items: start; padding: 110px var(--mdz-side) 120px; }
  .mdz-strip__in { flex-direction: row; justify-content: space-between; align-items: center; }
  .mdz-strip .mdz-pill { align-self: center; flex: 0 0 auto; }

  .mdz-acc__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; padding-top: 90px; align-items: end; }
  .mdz-acc__h1 { font-size: 64px; }
  .mdz-acc__img { height: 380px; margin-bottom: -70px; }
  .mdz-cmp { padding-top: 160px; }
  .mdz-case__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 30px; }
  .mdz-case__it:nth-child(1) { grid-column: 1 / 8; }
  .mdz-case__it:nth-child(2) { grid-column: 8 / 13; margin-top: 90px; }
  .mdz-case__it:nth-child(3) { grid-column: 3 / 9; }

  .mdz-read { padding-top: 80px; }
  .mdz-read__h1 { font-size: 30px; max-width: 22em; }
  .mdz-read__pic img { height: 420px; }
  .mdz-part { grid-template-columns: 90px minmax(0, 1fr); gap: 0 30px; padding-top: 80px; }
  .mdz-part__n { position: sticky; top: 30px; align-self: start; grid-row: span 20; writing-mode: vertical-rl; text-orientation: mixed; font-size: 13px; }
  .mdz-part__h { font-size: 20px; }
  .mdz-kid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; }
  .mdz-calc { padding: 30px; }
  .mdz-calc__f { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .mdz-read__end { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 40px; }

  .mdz-plan__tab { font-size: 22px; padding: 22px 16px; right: 40px; }
  .mdz-plan__txt { padding-top: 70px; }
  .mdz-plan__h1 { font-size: 30px; }
  .mdz-month { grid-template-columns: 110px minmax(0, 1fr); margin-top: 56px; }
  .mdz-month__name { justify-self: start; padding: 22px 0; writing-mode: vertical-rl; text-orientation: mixed; font-size: 14px; }
  .mdz-slot { grid-template-columns: 80px minmax(0, 1fr) 110px; gap: 2px 24px; padding: 22px 0; }
  .mdz-slot__d { font-size: 42px; }
  .mdz-slot__p { grid-column: 3; grid-row: 1 / span 3; text-align: right; font-size: 15px; }
  .mdz-slot--kurs { padding-left: 14px; padding-right: 14px; }
  .mdz-day__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: start; padding: 120px var(--mdz-side); }
  .mdz-day__img { height: 100%; min-height: 460px; }
  .mdz-bring__list { columns: 2; column-gap: 50px; }
  .mdz-bring__list li { break-inside: avoid; }
}

@media screen and (min-width: 1000px) {
  .mdz-cmp__hint { display: none; }
}

@media screen and (min-width: 1100px) {
  .mdz-limits { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 60px; }
  .mdz-limits__h { margin: 0; writing-mode: vertical-rl; text-orientation: mixed; font-size: 24px; }
  .mdz-limits__cols { columns: 2; column-gap: 50px; }
}
