/*
 * Podstrona Akademii (/akademia) — Paper, plik WODP, strona „WODP — wszystkie widoki”, rząd „Akademia — tura 3”:
 * 1440 `84Y-0`, 768 `B5V-0`, 390 `8GT-0`, sekwencja kart `8DD-0` (stos sticky). Ładowany TYLKO na tej stronie (BaseLayout `styles`),
 * po /css/wodp.css i /css/blog.css (karty wpisów — BlogCard). Prefiks `ak-`. Wartości w rem (1rem = 16 px = px z Paper przy 1440);
 * typografia i odstępy płynne między 390 / 768 / 1440: zmienne --ak-* (blok ≤ 767 px interpoluje 390 → 768, blok ≥ 768 px — 768 → 1440;
 * tabela wartości px z Paper i generator: scripts/akademia-fluid.py). Zmiennych MAST nie ruszamy. Podstrona jest tylko w buildzie testowym.
 */

:root {
  --ak-indigo: #162790;      /* Paper: --color-akademia-indigo (karta Szkolenia, newsletter) */
  --ak-malinowy: #ff193b;    /* --color-akademia-malinowy (karta Narzędzia, rotujące słowo) */
  --ak-zielony: #2c8900;     /* --color-akademia-zielony (karta Aktualizacje wiedzy; czarny tekst 4,69:1 — nie zmniejszać) */
  --ak-blue: #1200f4;        /* kropki i eyebrow na bieli (na czerni nie jako tekst/ikona — 2,33:1) */
  --ak-sand: #cccabf;
  --ak-nav: 5rem;            /* wysokość paska nawigacji (fixed) */
  --ak-ease: cubic-bezier(0.625, 0.05, 0, 1);
}
@media (min-width: 992px) { :root { --ak-nav: 4.8125rem; } }

/* ——— zmienne płynne (generator: scripts/akademia-fluid.py; opis: docs/agents/astro-dev.md, „Podstrona Akademii”) ——— */
/* ≤ 767 px: 390 → 768 */
@media (max-width: 767px) {
  :root {
    --ak-gutter: clamp(1rem, calc(-0.5476rem + 6.3492vw), 2.5rem);
    --ak-hero-top: clamp(4rem, calc(5.0159rem + -2.1164vw), 4.5rem);
    --ak-hero-bot: clamp(5.5rem, calc(4.9841rem + 2.1164vw), 6rem);
    --ak-hero-logo: clamp(18.75rem, calc(9.7222rem + 37.037vw), 27.5rem);
    --ak-claim-py: clamp(5rem, calc(3.9683rem + 4.2328vw), 6rem);
    --ak-claim-fs: clamp(1.875rem, calc(0.4563rem + 5.8201vw), 3.25rem);
    --ak-claim-lh: clamp(2.125rem, calc(0.7063rem + 5.8201vw), 3.5rem);
    --ak-h2-fs: clamp(2.7188rem, calc(2.4286rem + 1.1905vw), 3rem);
    --ak-h2-lh: clamp(2.7188rem, calc(2.1706rem + 2.2487vw), 3.25rem);
    --ak-cards-pt: clamp(4.5rem, calc(2.9524rem + 6.3492vw), 6rem);
    --ak-cards-pb: clamp(4rem, calc(6.0317rem + -4.2328vw), 5rem);
    --ak-cards-gap: clamp(2rem, calc(0.9683rem + 4.2328vw), 3rem);
    --ak-card-h: 25rem;
    --ak-card-px: clamp(1.5rem, calc(0.9841rem + 2.1164vw), 2rem);
    --ak-card-pt: 1.75rem;
    --ak-card-pb: clamp(2rem, calc(1.7421rem + 1.0582vw), 2.25rem);
    --ak-card-title-fs: clamp(1.75rem, calc(0.9762rem + 3.1746vw), 2.5rem);
    --ak-card-title-lh: clamp(2rem, calc(1.2262rem + 3.1746vw), 2.75rem);
    --ak-card-text-fs: clamp(1.125rem, calc(0.996rem + 0.5291vw), 1.25rem);
    --ak-card-text-lh: clamp(1.625rem, calc(1.3671rem + 1.0582vw), 1.875rem);
    --ak-card-text-w: clamp(22.375rem, calc(9.3492rem + 53.4392vw), 35rem);
    --ak-prod-pt: clamp(4.5rem, calc(-0.1429rem + 19.0476vw), 9rem);
    --ak-prod-pb: clamp(5rem, calc(0.873rem + 16.9312vw), 9rem);
    --ak-prod-gap: clamp(2rem, calc(0.9683rem + 4.2328vw), 3rem);
    --ak-prod-list-gap: clamp(1rem, calc(0.4841rem + 2.1164vw), 1.5rem);
    --ak-prod-pad: clamp(1rem, calc(0.7421rem + 1.0582vw), 1.25rem);
    --ak-prod-title-fs: clamp(1.5rem, calc(1.1131rem + 1.5873vw), 1.875rem);
    --ak-prod-title-lh: clamp(1.875rem, calc(1.6171rem + 1.0582vw), 2.125rem);
    --ak-prod-price-fs: clamp(1.25rem, calc(1.121rem + 0.5291vw), 1.375rem);
    --ak-prod-price-lh: 1.75rem;
    --ak-prod-text-fs: 1rem;
    --ak-prod-text-lh: clamp(1.5rem, calc(1.371rem + 0.5291vw), 1.625rem);
    --ak-prod-img-w: clamp(16.25rem, calc(26.4087rem + -21.164vw), 21.25rem);
    --ak-prod-img-h: clamp(13.375rem, calc(6.5397rem + 28.0423vw), 20rem);
    --ak-news-py-t: clamp(4.5rem, calc(-0.1429rem + 19.0476vw), 9rem);
    --ak-news-py-b: clamp(5rem, calc(0.873rem + 16.9312vw), 9rem);
    --ak-news-h-fs: clamp(2.25rem, calc(1.7341rem + 2.1164vw), 2.75rem);
    --ak-news-h-lh: clamp(2.375rem, calc(1.7302rem + 2.6455vw), 3rem);
    --ak-news-lead-fs: clamp(1.125rem, calc(0.996rem + 0.5291vw), 1.25rem);
    --ak-news-lead-lh: clamp(1.625rem, calc(1.496rem + 0.5291vw), 1.75rem);
    --ak-eyebrow-fs: clamp(1.125rem, calc(0.996rem + 0.5291vw), 1.25rem);
    --ak-eyebrow-lh: clamp(1.75rem, calc(1.4921rem + 1.0582vw), 2rem);
    --ak-recent-gap: clamp(2rem, calc(0.9683rem + 4.2328vw), 3rem);
    --ak-news-gap: clamp(2rem, calc(0.4524rem + 6.3492vw), 3.5rem);
    --ak-prod-gap2: 1.75rem;
    --ak-prod-inner: clamp(0rem, calc(-0.5159rem + 2.1164vw), 0.5rem);
    --ak-eyebrow-gap: clamp(1rem, calc(-0.0317rem + 4.2328vw), 2rem);
  }
}
/* ≥ 768 px: 768 → 1440 */
@media (min-width: 768px) {
  :root {
    --ak-gutter: clamp(2.5rem, calc(-1.6429rem + 8.631vw), 6.125rem);
    --ak-hero-top: clamp(4rem, calc(2.2857rem + 3.5714vw), 5.5rem);
    --ak-hero-bot: clamp(6rem, calc(3.7143rem + 4.7619vw), 8rem);
    --ak-hero-logo: clamp(27.5rem, calc(16.9286rem + 22.0238vw), 36.75rem);
    --ak-claim-py: clamp(6rem, calc(2.5714rem + 7.1429vw), 9rem);
    --ak-claim-fs: clamp(3.25rem, calc(1.8214rem + 2.9762vw), 4.5rem);
    --ak-claim-lh: clamp(3.5rem, calc(2.3571rem + 2.381vw), 4.5rem);
    --ak-h2-fs: clamp(3rem, calc(2.4286rem + 1.1905vw), 3.5rem);
    --ak-h2-lh: clamp(3.25rem, calc(2.9643rem + 0.5952vw), 3.5rem);
    --ak-cards-pt: clamp(6rem, calc(2.5714rem + 7.1429vw), 9rem);
    --ak-cards-pb: clamp(4rem, calc(1.7143rem + 4.7619vw), 6rem);
    --ak-cards-gap: clamp(3rem, calc(1.8571rem + 2.381vw), 4rem);
    --ak-card-h: clamp(25rem, calc(22.1429rem + 5.9524vw), 27.5rem);
    --ak-card-px: clamp(2rem, calc(0.8571rem + 2.381vw), 3rem);
    --ak-card-pt: clamp(1.75rem, calc(1.1786rem + 1.1905vw), 2.25rem);
    --ak-card-pb: clamp(2.25rem, calc(1.3929rem + 1.7857vw), 3rem);
    --ak-card-title-fs: clamp(2.5rem, calc(1.9286rem + 1.1905vw), 3rem);
    --ak-card-title-lh: clamp(2.75rem, calc(2.4643rem + 0.5952vw), 3rem);
    --ak-card-text-fs: clamp(1.25rem, calc(0.9643rem + 0.5952vw), 1.5rem);
    --ak-card-text-lh: clamp(1.875rem, calc(1.4464rem + 0.8929vw), 2.25rem);
    --ak-card-text-w: clamp(35rem, calc(20.7143rem + 29.7619vw), 47.5rem);
    --ak-prod-pt: 9rem;
    --ak-prod-pb: 9rem;
    --ak-prod-gap: clamp(3rem, calc(1.8571rem + 2.381vw), 4rem);
    --ak-prod-list-gap: 1.5rem;
    --ak-prod-pad: clamp(1.25rem, calc(0.9643rem + 0.5952vw), 1.5rem);
    --ak-prod-title-fs: clamp(1.875rem, calc(1.4464rem + 0.8929vw), 2.25rem);
    --ak-prod-title-lh: clamp(2.125rem, calc(1.6964rem + 0.8929vw), 2.5rem);
    --ak-prod-price-fs: clamp(1.375rem, calc(1.2321rem + 0.2976vw), 1.5rem);
    --ak-prod-price-lh: clamp(1.75rem, calc(1.4643rem + 0.5952vw), 2rem);
    --ak-prod-text-fs: clamp(1rem, calc(0.8571rem + 0.2976vw), 1.125rem);
    --ak-prod-text-lh: clamp(1.625rem, calc(1.4821rem + 0.2976vw), 1.75rem);
    --ak-prod-img-w: clamp(16.25rem, calc(-2.8929rem + 39.881vw), 33rem);
    --ak-prod-img-h: clamp(20rem, calc(17.7143rem + 4.7619vw), 22rem);
    --ak-news-py-t: 9rem;
    --ak-news-py-b: 9rem;
    --ak-news-h-fs: clamp(2.75rem, calc(1.8929rem + 1.7857vw), 3.5rem);
    --ak-news-h-lh: clamp(3rem, calc(2.4286rem + 1.1905vw), 3.5rem);
    --ak-news-lead-fs: 1.25rem;
    --ak-news-lead-lh: 1.75rem;
    --ak-eyebrow-fs: 1.25rem;
    --ak-eyebrow-lh: 2rem;
    --ak-recent-gap: clamp(3rem, calc(2.4286rem + 1.1905vw), 3.5rem);
    --ak-news-gap: 3.5rem;
    --ak-prod-gap2: clamp(1.75rem, calc(0.3214rem + 2.9762vw), 3rem);
    --ak-prod-inner: clamp(0.5rem, calc(-0.0714rem + 1.1905vw), 1rem);
    --ak-eyebrow-gap: 2rem;
  }
}

/* ——— baza ——— */
.ak { overflow-x: clip; background-color: #000; color: #fff; font-size: 1rem; letter-spacing: 0.02em; }
.ak p, .ak h1, .ak h2, .ak h3, .ak ol, .ak ul { margin: 0; padding: 0; }
.ak ol, .ak ul { list-style: none; }
.ak-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.ak-wrap { width: min(77.625rem, calc(100% - 2 * var(--ak-gutter))); margin-inline: auto; }
.ak a:focus-visible, .ak button:focus-visible, .ak input:focus-visible, .ak [tabindex="-1"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ak-recent a:focus-visible { outline-color: #131313; }
.ak-dot { flex-shrink: 0; width: 0.5rem; height: 0.5rem; border-radius: 50%; background-color: var(--ak-blue); }

/* pigułka (Dowiedz się więcej / Idź do sklepu) */
.ak-pill {
  display: inline-flex; align-items: center; gap: 0.375rem; height: 2.5rem; padding: 0.75rem 0.75rem 0.75rem 1rem;
  border-radius: 1.5rem; background-color: #fff; color: #131313; font-size: 1rem; line-height: 1rem; text-decoration: none; white-space: nowrap;
  transition: background-color 0.4s var(--ak-ease);
}
@media (hover: hover) { .ak-pill:hover { background-color: var(--ak-sand); } }

/* separator sekcji: linia — kropka — linia */
.ak-sep { display: flex; align-items: center; gap: 0.75rem; padding-inline: var(--ak-gutter); background-color: #000; }
.ak-sep span { flex: 1; height: 1px; background-color: #ffffff33; }
.ak-sep i { flex-shrink: 0; width: 0.5rem; height: 0.5rem; border-radius: 50%; background-color: var(--ak-blue); }
@media (min-width: 768px) { .ak-sep { gap: 1rem; } .ak-sep i { width: 0.625rem; height: 0.625rem; } }

/* nagłówki i eyebrow */
.ak-h2 { color: #fff; font-size: var(--ak-h2-fs); font-weight: 500; line-height: var(--ak-h2-lh); letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 768px) { .ak-h2 { letter-spacing: -0.01em; } }
.ak-h2--center { text-align: center; }
.ak-h2--dark { color: #000; }
.ak-eyebrow { color: var(--ak-sand); font-size: var(--ak-eyebrow-fs); font-weight: 500; line-height: var(--ak-eyebrow-lh); text-transform: uppercase; }
.ak-eyebrow--blue { color: var(--ak-blue); }

/* ——— header (logo Akademii) ——— */
.ak-hero {
  display: flex; flex-direction: column; align-items: center; gap: 2.25rem; background-color: #000;
  padding: calc(var(--ak-nav) + var(--ak-hero-top)) var(--ak-gutter) var(--ak-hero-bot);
}
@media (min-width: 768px) { .ak-hero { gap: 0.5rem; } }
.ak-hero__logo { display: block; width: var(--ak-hero-logo); max-width: 100%; height: auto; }

/* ——— hasło z rotującym słowem ——— */
.ak-claim { background-color: #000; padding: var(--ak-claim-py) var(--ak-gutter); }
.ak-claim .ak-claim__text {
  color: #fff; font-size: var(--ak-claim-fs); font-weight: 500; line-height: var(--ak-claim-lh); letter-spacing: -0.01em; text-align: center;
}
@media (min-width: 768px) { .ak-claim .ak-claim__text { letter-spacing: 0; } }
.ak-claim .rotating-text__highlight { color: var(--ak-malinowy); }

/* ——— „Co znajdziesz w naszej Akademii?” — karty ——— */
.ak-cards { background-color: #000; padding: var(--ak-cards-pt) 0 var(--ak-cards-pb); }
.ak-cards .ak-wrap { display: flex; flex-direction: column; gap: var(--ak-cards-gap); }
.ak-stack__list { display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 768px) { .ak-stack__list { gap: 1.5rem; } }
.ak-card {
  --ak-card-fg: #000; --ak-card-line: #00000080;
  position: relative; display: flex; flex-direction: column; gap: 1.5rem; overflow: clip; border: 1px solid transparent; border-radius: 0.75rem;
  box-shadow: 0 -0.5rem 1.5rem #0000002e; padding: var(--ak-card-pt) var(--ak-card-px) var(--ak-card-pb); color: var(--ak-card-fg);
  transform-origin: 50% 0; will-change: auto;
}
.ak-card--indigo { --ak-card-fg: #fff; --ak-card-line: #ffffff99; background-color: var(--ak-indigo); border-color: var(--ak-indigo); }
.ak-card--malinowy { background-color: var(--ak-malinowy); border-color: var(--ak-malinowy); }
.ak-card--zielony { background-color: var(--ak-zielony); border-color: var(--ak-zielony); }
.ak-card--bialy { background-color: #fff; border-color: #0000001f; }
.ak-card__head { display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'n s' 't t'; row-gap: 0.625rem; align-items: center; }
.ak-card__n { grid-area: n; font-size: 1rem; line-height: 1rem; }
.ak-card__sygnet { grid-area: s; justify-self: end; display: block; width: 1.125rem; height: 1.25rem; }
.ak-card__title { grid-area: t; text-align: center; font-size: var(--ak-card-title-fs); font-weight: 500; line-height: var(--ak-card-title-lh); letter-spacing: -0.01em; overflow-wrap: anywhere; }
.ak-card__body { display: flex; flex-direction: column; align-items: center; }
.ak-card__rule { display: none; align-items: center; gap: 0.75rem; }
.ak-card__rule span { width: 2.5rem; height: 1px; background-color: var(--ak-card-line); }
.ak-card__rule i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background-color: var(--ak-card-fg); }
.ak-card__text { max-width: var(--ak-card-text-w); font-size: var(--ak-card-text-fs); line-height: var(--ak-card-text-lh); text-align: center; }
.ak-card__shade { position: absolute; inset: 0; border-radius: inherit; background-color: #000; opacity: 0; pointer-events: none; }
@media (min-width: 768px) {
  .ak-card { min-height: var(--ak-card-h); }
  .ak-card__head { grid-template-columns: 5rem 1fr 5rem; grid-template-areas: 'n t s'; column-gap: 1rem; min-height: 3rem; }
  .ak-card__sygnet { width: 1.375rem; height: 1.5rem; }
  .ak-card__body { flex: 1; justify-content: center; gap: 1.75rem; padding-top: 1.5rem; }
  .ak-card__rule { display: flex; }
  .ak-card { gap: 0; }
}
@media (min-width: 1440px) { .ak-card__head { grid-template-columns: 7.5rem 1fr 7.5rem; } }
/* Stos sticky (Paper `8DD-0`): karta nakrywa poprzednią, poprzednia zmniejsza się i ciemnieje (JS: /js/akademia.js), jej górna krawędź
   zostaje widoczna (24 px na kartę). Tylko ≥ 768 px, okno ≥ 760 px wysokości i bez prefers-reduced-motion — poza tym zwykła lista. */
@media (min-width: 768px) and (min-height: 760px) and (prefers-reduced-motion: no-preference) {
  .ak-stack__list { display: block; }
  .ak-card { position: sticky; top: calc(6rem + var(--i) * 1.5rem); height: var(--ak-card-h); margin-bottom: clamp(8rem, 28vh, 15rem); }
  .ak-card:last-child { margin-bottom: 0; }
}

/* ——— „Sprawdź produkty:” ——— */
.ak-products { background-color: #000; padding: var(--ak-prod-pt) 0 var(--ak-prod-pb); }
.ak-products .ak-wrap { display: flex; flex-direction: column; gap: var(--ak-prod-gap); }
.ak-products__list { display: flex; flex-direction: column; gap: var(--ak-prod-list-gap); }
.ak-product { display: flex; flex-direction: column-reverse; gap: 1.25rem; padding: 1rem; border: 1px solid #ffffff33; border-radius: 0.75rem; background-color: #111; }
.ak-product__body { display: flex; flex: 1; flex-direction: column; gap: 1rem; min-width: 0; align-items: flex-start; }
.ak-product__top { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.ak-product__n { color: var(--ak-sand); font-size: 1rem; line-height: 1rem; }
.ak-product__titles { display: flex; flex-direction: column; gap: 0.5rem; }
.ak-product__title { font-size: var(--ak-prod-title-fs); font-weight: 500; line-height: var(--ak-prod-title-lh); letter-spacing: -0.01em; overflow-wrap: anywhere; }
.ak-product__price { font-size: var(--ak-prod-price-fs); font-weight: 500; line-height: var(--ak-prod-price-lh); }
.ak-product__text { color: #ffffffb3; font-size: var(--ak-prod-text-fs); line-height: var(--ak-prod-text-lh); max-width: 35rem; }
.ak-product__img { display: block; width: 100%; aspect-ratio: 3 / 2; border-radius: 0.5rem; object-fit: cover; }
@media (min-width: 768px) {
  .ak-product { flex-direction: row; gap: var(--ak-prod-gap2); padding: var(--ak-prod-pad); }
  .ak-product__body { justify-content: space-between; gap: 1.5rem; padding: var(--ak-prod-inner) 0 var(--ak-prod-inner) var(--ak-prod-inner); }
  .ak-product__top { gap: 1.5rem; }
  .ak-product__titles { gap: 0.75rem; }
  .ak-product__img { flex: none; align-self: stretch; width: var(--ak-prod-img-w); height: auto; min-height: var(--ak-prod-img-h); aspect-ratio: auto; }
}

/* ——— Newsletter ——— */
.ak-news { background-color: var(--ak-indigo); padding: var(--ak-news-py-t) 0 var(--ak-news-py-b); }
.ak-news__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ak-news-gap); align-items: start; }
@media (min-width: 992px) { .ak-news__grid { grid-template-columns: minmax(0, 40rem) minmax(0, 31.25rem); justify-content: space-between; } }
.ak-news__text { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 768px) { .ak-news__text { gap: 2rem; } }
.ak-news__h { color: #fff; font-size: var(--ak-news-h-fs); font-weight: 500; line-height: var(--ak-news-h-lh); letter-spacing: -0.02em; text-wrap: balance; }
@media (min-width: 768px) { .ak-news__h { letter-spacing: -0.01em; } }
.ak-news__lead { max-width: 30rem; color: #ffffffb3; font-size: var(--ak-news-lead-fs); line-height: var(--ak-news-lead-lh); }
@media (max-width: 767px) { .ak-news__text { gap: 2rem; } .ak-news__text .ak-eyebrow + .ak-news__h { margin-top: -1rem; } }
.ak-news__side { padding-top: 0.5rem; }
.ak-form { position: relative; display: flex; flex-direction: column; gap: 1.25rem; }
@media (min-width: 768px) { .ak-form { gap: 1.5rem; } }
.ak-field { display: flex; flex-direction: column; gap: 0.625rem; }
@media (min-width: 768px) { .ak-field { gap: 0.75rem; } }
.ak-label { display: flex; gap: 0.25rem; color: #fff; font-size: 0.875rem; font-weight: 500; line-height: 1.4; }
.ak-label__hint { margin-left: 0.125rem; color: #ffffffb3; font-weight: 400; }
.ak-label__req { color: #ffa08a; }
.ak-input {
  box-sizing: border-box; width: 100%; height: 3.25rem; margin: 0; padding: 0 1rem; border: 1px solid #ffffff80; border-radius: 0.375rem;
  background-color: #ffffff14; color: #fff; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1.25; letter-spacing: 0;
}
@media (min-width: 768px) { .ak-input { height: 3.5rem; padding: 0 1.125rem; font-size: 1.125rem; } }
.ak-input::placeholder { color: #ffffff99; opacity: 1; }
.ak-input[aria-invalid="true"] { border-color: #ffa08a; }
.ak-consent { display: flex; align-items: flex-start; gap: 0.75rem; padding-top: 0.25rem; cursor: pointer; }
.ak-check {
  flex: none; box-sizing: border-box; width: 1.5rem; height: 1.5rem; margin: 0; border: 1px solid #ffffffb3; border-radius: 0.25rem;
  appearance: none; -webkit-appearance: none; background: transparent center / 1rem no-repeat; cursor: pointer;
}
.ak-check:checked { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5L6.5 12L13 4.5' fill='none' stroke='%23000' stroke-width='1.75'/%3E%3C/svg%3E"); }
.ak-check[aria-invalid="true"] { border-color: #ffa08a; border-width: 2px; }
.ak-consent__text { font-weight: 400; color: #ffffffcc; font-size: 0.875rem; line-height: 1.5; }
.ak-consent__text a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.ak-err { margin-top: -0.25rem; color: #ffa08a; font-size: 0.875rem; line-height: 1.4; }
.ak-err[hidden] { display: none; }
.ak-form .ak-err--form { margin-top: 0; padding: 0.75rem 1rem; border: 1px solid #ffa08a; border-radius: 0.375rem; }
.ak-submit {
  display: flex; align-items: center; justify-content: center; gap: 0.625rem; width: 100%; height: 3rem; margin: 0; padding: 0; border: 0; border-radius: 0.25rem;
  background-color: #fff; color: #000; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1; cursor: pointer; transition: background-color 0.4s var(--ak-ease);
}
@media (hover: hover) { .ak-submit:hover:not(:disabled) { background-color: var(--ak-sand); } }
.ak-submit:disabled { cursor: progress; opacity: 0.7; }
.ak-done { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem; border: 1px solid #ffffff33; border-radius: 0.375rem; background-color: #ffffff14; }
.ak-done[hidden] { display: none; }
.ak-done__icon { display: flex; flex: none; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background-color: #fff; color: #000; }
.ak-done__text { display: flex; flex-direction: column; gap: 0.375rem; }
.ak-done__title { font-size: 1.125rem; font-weight: 500; line-height: 1.3333; letter-spacing: 0; }
.ak-done__msg { color: #ffffffb3; font-size: 1rem; line-height: 1.6; }

/* ——— „Ostatnio w Akademii” ——— */
.ak-recent { background-color: #fff; color: #000; padding: var(--ak-news-py-t) 0 var(--ak-news-py-b); }
.ak-recent .ak-wrap { display: flex; flex-direction: column; gap: var(--ak-recent-gap); }
.ak-recent__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.ak-recent__titles { display: flex; flex-direction: column; gap: var(--ak-eyebrow-gap); }
.ak-link {
  display: inline-flex; align-items: center; gap: 0.625rem; padding-bottom: 0.375rem; border-bottom: 1px solid #00000080; color: #000;
  font-size: 1.125rem; font-weight: 500; line-height: 1.5556; text-decoration: none; white-space: nowrap;
}
.ak-link .blog-arrow { color: currentColor; transition: transform 0.4s var(--ak-ease); }
@media (hover: hover) { .ak-link:hover .blog-arrow { transform: translateX(0.25rem); } .ak-link:hover { border-bottom-color: #000; } }
.ak-recent__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
@media (min-width: 768px) and (max-width: 991px) {
  .ak-recent__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ak-recent__grid > .blog-card:nth-child(3) { grid-column: 1 / -1; flex-direction: row; }
  .ak-recent__grid > .blog-card:nth-child(3) .blog-card__visual { align-self: stretch; width: 18.75rem; min-height: 16.375rem; aspect-ratio: auto; }
  .ak-recent__grid > .blog-card:nth-child(3) .blog-card__body { min-width: 0; }
}
@media (max-width: 767px) {
  .ak-recent__head { display: contents; }
  .ak-recent__titles { order: 1; }
  .ak-recent__grid { order: 2; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .ak-link--head { order: 3; align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .ak-pill, .ak-submit, .ak-link .blog-arrow { transition: none; }
}
