/* ==========================================================================
   tarot.net.pl — pages.css
   Wyłącznie różnice layoutowe konkretnych podstron.
   ========================================================================== */

/* --- HOME: Historia (Royal Blue) — wyśrodkowana, jak strona wspomnień --- */
.story { padding-block: clamp(5rem, 3rem + 7vw, 9rem); text-align: center; }
.story__inner { max-width: 46rem; margin-inline: auto; }
.story__inner > h2 { margin-bottom: var(--space-6); }
.story__inner > h2::before { content: ""; display: block; width: 3.5rem; height: 1px; margin: 0 auto var(--space-4); background: var(--antique-gold); }
.story__text {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 1.15rem + .8vw, 1.75rem);
  line-height: 1.6;
}
.story__text p { margin: 0 auto var(--space-4); max-width: 40rem; }
.story__closing {
  margin: var(--space-6) auto var(--space-5);
  font-family: var(--font-heading);
  font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.5rem);
  font-style: italic;
  font-weight: var(--fw-display);
  line-height: 1.15;
  color: var(--soft-cream);
}
.story__closing::before { content: ""; display: block; width: 1px; height: 3.5rem; margin: 0 auto var(--space-4); background: var(--antique-gold); }

/* --- HOME: Jak Anna Kempisty pracuje (Midnight, bleed) --- */
.how__accent {
  margin-block: var(--space-5);
  padding-left: var(--space-4);
  border-left: 1px solid var(--antique-gold);
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 1.25rem + 1vw, 2rem);
  font-style: italic;
  line-height: 1.35;
}

/* --- /metoda: dwa elementy --- */
.layers { display: grid; gap: var(--grid-gap); }
@media (min-width: 860px) { .layers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.layer__label {
  margin: 0 0 var(--space-2);
  font-size: var(--fs-eyebrow);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--royal-blue);
}
.layers__join { max-width: 46rem; margin: var(--space-7) auto 0; text-align: center; }
.layers__join h3 { margin-bottom: var(--space-2); }

/* --- /o-annie: cytat „Mogłabym ostrzec…” --- */
.warn__quote {
  margin: 0 0 var(--space-4);
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-style: italic;
  font-weight: 300;
  line-height: 1;
  color: var(--soft-cream);
}
.warn__body { max-width: 40rem; font-size: 1.125rem; }
.warn__body p:last-child {
  margin-top: var(--space-4);
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 1.25rem + 1vw, 2rem);
  font-style: italic;
  line-height: 1.35;
}

.bio-formula {
  margin-top: var(--space-4);
  padding: var(--space-4) var(--space-4) var(--space-4) var(--space-4);
  border: 1px solid var(--line-gold);
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--midnight-blue);
}

.closing-note {
  max-width: 44rem;
  margin-inline: auto;
  text-align: center;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 1.15rem + .8vw, 1.7rem);
  line-height: 1.45;
  color: var(--midnight-blue);
}
.closing-note h2 { margin-bottom: var(--space-4); }
.closing-note p:last-child { color: var(--royal-blue); font-style: italic; font-size: 1.25em; }

/* --- /sesje: przygotowanie (checklista) --- */
.prep { display: grid; gap: var(--grid-gap); counter-reset: prep; }
.prep .card { counter-increment: prep; padding-top: calc(var(--tile-pad) + 3.5rem); }
.prep .card::before {
  content: counter(prep, decimal-leading-zero);
  position: absolute;
  top: var(--tile-pad);
  left: var(--tile-pad);
  font-family: var(--font-heading);
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1;
  color: var(--royal-blue);
}
@media (min-width: 760px) { .prep { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.prep .card { background: var(--white); }

/* --- /kontakt --- */
.contact-list { display: grid; gap: var(--grid-gap); width: 100%; max-width: 960px; margin: var(--space-5) auto 0; padding: 0; list-style: none; text-align: left; }
@media (min-width: 720px) { .contact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.contact-list li { margin: 0; }
.contact-item__label {
  display: block;
  margin-bottom: .25rem;
  margin-bottom: var(--space-2);
  font-size: var(--fs-ui);
  font-weight: var(--fw-semibold);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--royal-blue);
}
.contact-item__value {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
  line-height: 1.2;
}
.contact-item__value a { display: inline-flex; align-items: center; min-height: 44px; color: var(--midnight-blue); text-decoration: none; } /* v3.6.5: obszar dotyku ≥ 44 px (WCAG 2.2) */
.contact-item__value a:hover { color: var(--royal-blue); }

/* --- Strony techniczne: płatności, prawne, 404 --- */
.page-simple { min-height: 55vh; }
.page-simple .prose h2 { font-size: var(--fs-h2); margin-top: var(--space-5); }

/* --- /wiedza (szablon artykułu) --- */
.article-header { padding-block: var(--space-6) var(--space-4); }
.article-meta { font-size: var(--fs-small); color: var(--royal-blue); }
.article-answer {
  padding: var(--space-3);
  border-left: 1px solid var(--antique-gold);
  background: var(--white);
  font-size: 1.125rem;
}
.article-body { padding-bottom: var(--section-space); }
.article-body h2 { font-size: var(--fs-h2); margin-top: var(--space-6); }

/* --- /metoda: diagram typograficzny (Moduł 9 §14) --- */
.layers { position: relative; }
.layers__plus { display: none; }
@media (min-width: 860px) {
  .layers { column-gap: calc(var(--grid-gap) + 3rem); }
  .layers__plus {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 3.5rem; height: 3.5rem;
    border: 1px solid var(--line-gold);
    border-radius: 50%;
    background: var(--warm-stone);
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 300;
    color: var(--midnight-blue);
    z-index: 2;
  }
}
.layers__result { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); margin-top: var(--space-5); }
.layers__arrow { width: 1px; height: 3.5rem; background: var(--antique-gold); position: relative; }
.layers__arrow::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 9px; height: 9px; border-right: 1px solid var(--antique-gold); border-bottom: 1px solid var(--antique-gold); transform: translate(-50%, 2px) rotate(45deg); }
.layers__session {
  padding: .9rem 2.2rem;
  border: 1px solid var(--midnight-blue);
  font-size: var(--fs-ui);
  font-weight: var(--fw-semibold);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--midnight-blue);
  background: var(--ivory);
}
.layers__join { margin-top: var(--space-6); }

/* --- /pustelnik: 22 Wielkie Arkana (dekoracja typograficzna) --- */
.arcana {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
  gap: 0;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-cream);
  border-left: 1px solid var(--line-cream);
}
.arcana li {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 2 / 3;
  margin: 0;
  border-right: 1px solid var(--line-cream);
  border-bottom: 1px solid var(--line-cream);
  font-family: var(--font-heading);
  font-size: clamp(1.1rem, .9rem + .8vw, 1.6rem);
  font-style: italic;
  color: var(--soft-cream);
}
.arcana li:nth-child(10) { color: var(--antique-gold); } /* IX — Pustelnik */
@media (min-width: 960px) { .arcana { grid-template-columns: repeat(11, minmax(0, 1fr)); } }

/* --- /kontakt --- */
.contact-item__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.contact-forms { max-width: 40rem; margin: var(--space-5) auto 0; font-family: var(--font-heading); font-size: 1.35rem; font-style: italic; }

/* --- płatności --- */
.pay-actions { margin: var(--space-5) 0 var(--space-3); }
.pay-phone { font-family: var(--font-heading); font-size: 2rem; color: var(--midnight-blue); }

.contact-item__value a[href^="mailto:"] { font-size: clamp(1.2rem, 1rem + .6vw, 1.45rem); overflow-wrap: anywhere; }

/* ==========================================================================
   v3.1 — HOME: kompozycje inspirowane szablonem właściciela.
   Kolejność i treść sekcji bez zmian (brief 7). Zmienia się wyłącznie układ.
   ========================================================================== */

/* Hero: niższy, zwarty — portret wypełnia prawą połowę */
@media (min-width: 960px) {
  body[data-page="home"] .hero--bleed .hero__body { padding-block: 5rem; } /* brief 5.3: min. 80 px */
  body[data-page="home"] .hero--bleed { min-height: 0; }
}
body[data-page="home"] .hero__title { max-width: none; margin-bottom: var(--space-3); }
@media (min-width: 600px) { body[data-page="home"] .hero__title em { display: block; } }
body[data-page="home"] .hero__lead { margin-bottom: var(--space-3); font-style: normal; }
body[data-page="home"] .hero__credibility { margin-bottom: var(--space-4); }

/* Z czym możesz przyjść: 4 kafle w jednym rzędzie */
@media (min-width: 1200px) { .grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body[data-page="home"] .grid--4 .tile { padding: clamp(1.5rem, 1rem + 1vw, 2rem); }
body[data-page="home"] .grid--4 .tile h3 { margin-bottom: var(--space-2); padding-bottom: var(--space-2); }
body[data-page="home"] .grid--4 .question-list li { margin-top: .6rem; }
body[data-page="home"] .section-head { margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem); }

/* Jak Anna Kempisty pracuje: pas Midnight, zdjęcie po lewej, złota pionowa linia przy tekście */
@media (min-width: 960px) {
  body[data-page="home"] .how .bleed__body { padding-block: 5.5rem; }
  body[data-page="home"] .how .bleed__body > * { margin: 0; padding: 0 0 var(--space-3) var(--space-4); border-left: 1px solid var(--line-gold); }
  body[data-page="home"] .how .bleed__body > :last-child { padding-bottom: 0; }
  body[data-page="home"] .how .how__accent { padding-left: var(--space-4); font-size: clamp(1.3rem, 1.1rem + .6vw, 1.55rem); }
}

/* Dlaczego Anna Kempisty: lista + portret obok */
.why { display: grid; gap: var(--space-5); align-items: center; }
.why__media { max-width: 440px; width: 100%; justify-self: center; }
.why__media .media { border-radius: var(--radius-lg); }
@media (min-width: 1024px) {
  .why { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--space-7); }
  body[data-page="home"] .why .proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-5); }
}
body[data-page="home"] .why .proof-list li { font-size: clamp(1.25rem, 1.1rem + .4vw, 1.45rem); padding-block: var(--space-2); }

/* Historia: dwie kolumny zamiast wysokiej kolumny centralnej */
@media (min-width: 960px) {
  body[data-page="home"] .story { padding-block: var(--section-space); text-align: left; }
  body[data-page="home"] .story__inner {
    max-width: var(--container-max);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    grid-template-areas: "title text" "closing text" "link text";
    grid-template-rows: auto auto 1fr;
    column-gap: var(--space-7);
  }
  body[data-page="home"] .story__inner > h2 { grid-area: title; margin-bottom: var(--space-4); }
  body[data-page="home"] .story__inner > h2::before { margin-left: 0; }
  body[data-page="home"] .story__text { grid-area: text; }
  body[data-page="home"] .story__text p { margin-inline: 0; }
  body[data-page="home"] .story__closing { grid-area: closing; margin-bottom: var(--space-3); }
  body[data-page="home"] .story__closing::before { display: none; }
  body[data-page="home"] .story__inner > p:last-child { grid-area: link; }
}

/* Opinie: nagłówek i link po lewej, 3 karty po prawej */
@media (min-width: 1100px) {
  .reviews-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); grid-template-rows: auto 1fr; column-gap: var(--space-5); align-items: start; }
  .reviews-row > .section-head { grid-column: 1; grid-row: 1; margin-bottom: var(--space-3); }
  .reviews-row > .grid { grid-column: 2; grid-row: 1 / span 2; }
  .reviews-row > .section-foot { grid-column: 1; grid-row: 2; margin-top: 0; }
  body[data-page="home"] .reviews-row .review-card--placeholder { min-height: 14rem; }
}

/* Jak wygląda sesja + Oferta: obok siebie (dwie osobne sekcje, kolejność bez zmian) */
@media (min-width: 1200px) {
  .session-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
  .session-offer > .section { padding-block: 5.5rem; }
  .session-offer > .section > .container { width: auto; max-width: none; padding-inline: clamp(2rem, 4vw, 4rem); margin: 0; }
  .session-offer > .section:first-child > .container { padding-left: max(var(--gutter), calc((100vw - var(--container-max)) / 2)); }
  .session-offer > .section:last-child > .container { padding-right: max(var(--gutter), calc((100vw - var(--container-max)) / 2)); }
  .session-offer .steps--5 { grid-template-columns: 1fr; gap: var(--space-3); }
  .session-offer .steps--5 li { padding: .35rem 0 0 3.75rem; }
  .session-offer .steps--5 li::after { display: none; }
  .session-offer .section-head--center { text-align: left; margin-inline: 0; }
  .session-offer .section-head--center .eyebrow { justify-content: flex-start; }
  .session-offer .offers { grid-template-columns: 1fr 1fr; max-width: none; }
  .session-offer .offer-card { padding: var(--space-4) var(--space-3); }
  .session-offer .offer-card__cta { padding-inline: 1rem; }
  .session-offer .offer-card__price { font-size: clamp(2.75rem, 2rem + 1.5vw, 3.5rem); }
  .session-offer .included { margin-top: var(--space-4); text-align: left; }
  .session-offer .included__list { grid-template-columns: 1fr 1fr; }
  .session-offer .section-foot--center { text-align: left; margin-top: var(--space-3); }
}

/* FAQ i finalne CTA ciaśniej */
/* final CTA: odstęp z tokena --section-space (brief 5.3) */
@media (min-width: 1200px) {
  .session-offer .included__list li { padding: var(--space-2) var(--space-3) var(--space-2) 0; font-size: 1.1rem; border-left: 0; border-bottom: 1px solid rgba(21, 36, 58, 0.08); }
}

/* v3.2 — szablon artykułu (Moduł 9 §20) */
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0 0 var(--space-3); padding: 0; list-style: none; font-size: var(--fs-small); }
.breadcrumb li + li::before { content: "/"; margin-right: .5rem; color: var(--antique-gold); }
.breadcrumb a { color: var(--royal-blue); }
.author-box { margin-top: var(--space-6); padding: var(--space-4); background: var(--white); border-left: 2px solid var(--antique-gold); border-radius: var(--radius-lg); }
.author-box__name { margin-bottom: var(--space-1); font-family: var(--font-heading); font-size: var(--fs-h3); color: var(--midnight-blue); }
.related { margin-top: var(--space-6); }
.related h2 { margin-top: 0; }
.article-cta { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line-gold); }
/* v3.3 — /pustelnik: slot zdjęć wnętrza książki */
.book-photos { margin-top: var(--space-4); }

/* v3.5 — HOME: kompaktowy pas książki (produkt drugorzędny, po finalnym CTA) */
.book-strip { padding-block: clamp(2.5rem, 1.5rem + 2vw, 3.5rem); border-top: 1px solid var(--line-gold); }
.book-strip__inner { display: grid; gap: var(--space-3); align-items: center; }
.book-strip__cover { width: 96px; }
.book-strip__text > * { margin-bottom: var(--space-1); }
.book-strip__text .eyebrow { margin-bottom: var(--space-1); }
.book-strip__link { margin: 0; }
@media (min-width: 720px) {
  .book-strip__inner { grid-template-columns: 120px 1fr auto; gap: var(--space-5); }
  .book-strip__cover { width: 120px; }
}

/* v3.6 — /aktualnosci: lista wpisów i wideo ładowane po kliknięciu */
.news { display: grid; gap: var(--space-4); }
.news-item { padding: var(--space-4); background: var(--white); border: 1px solid rgba(21, 36, 58, 0.08); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.news-item > :last-child { margin-bottom: 0; }
.news-item__meta { margin-bottom: var(--space-1); font-size: var(--fs-small); color: var(--royal-blue); }
.news-item__title { margin-bottom: var(--space-2); }
.news-item__image { max-width: 600px; margin: var(--space-3) 0 var(--space-4); }
.news-item__image img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.news-item__image figcaption { margin-top: var(--space-1); font-size: var(--fs-small); color: var(--ink); }
.news-item--placeholder { background: transparent; border: 1px dashed rgba(35, 74, 132, .55); box-shadow: none; }
.video {
  position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 9; margin-top: var(--space-3);
  padding: 0; border: 0; border-radius: var(--radius); cursor: pointer; overflow: hidden;
  background: linear-gradient(135deg, var(--midnight-blue), var(--royal-blue)); color: var(--soft-cream);
}
.video__play { width: 72px; height: 72px; border-radius: 50%; background: var(--antique-gold); position: relative; transition: transform var(--dur) var(--ease); }
.video__play::after { content: ""; position: absolute; left: 29px; top: 22px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--midnight-blue); }
.video:hover .video__play { transform: scale(1.06); }
.video__note { position: absolute; left: 0; right: 0; bottom: .75rem; font-size: var(--fs-small); text-align: center; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* v3.6.4 — „Jak wygląda sesja?” + „Oferta i cena” obok siebie: wyrównanie nagłówków i początku treści.
   Prawa kolumna ma eyebrow + lead, lewa tylko linię i H2 — lewy nagłówek dostaje identyczną wysokość bloków. */
@media (min-width: 1200px) {
  .session-offer .section:first-child .section-head::before {
    margin-top: calc(var(--fs-ui) * 0.7 - 0.5px);                      /* złota linia na wysokości linii eyebrow obok */
    margin-bottom: calc(var(--space-4) + var(--fs-ui) * 0.7 - 0.5px);  /* razem = wysokość eyebrow (tekst + odstęp) */
  }
  .session-offer .section:first-child .section-head {
    padding-bottom: calc(var(--space-3) + clamp(1.5rem, 1.15rem + 1.1vw, 2rem) * 1.3); /* = odstęp pod H2 + wiersz leadu */
  }
}

/* v3.6.5 — Hero HOME na szerokich ekranach (≥ 1500 px): H1 rośnie do 4,75rem (Brief 5.2), a kolumna tekstu
   wyrównana do kontenera robiła się za wąska — „co wydarzy się dalej.” łamało się na dwie linie.
   Kolumna tekstu nieco szersza (ok. 54/46), zdjęcie nadal zajmuje prawą część do krawędzi ekranu. */
@media (min-width: 1500px) {
  body[data-page="home"] .hero--bleed { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  body[data-page="home"] .hero--bleed .hero__body { padding-right: var(--space-5); }
}

/* v3.6.5 — Sekcje „bleed” (zdjęcie do krawędzi + tekst) na szerokich ekranach: kolumna tekstu była za wąska
   (ok. 400 px), przez co etykiety „Karty z daty urodzenia / Bieżący rozkład Tarota” łamały się na 3 linie. */
@media (min-width: 1500px) {
  .bleed { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .bleed__body { padding-left: var(--space-6); }
  .bleed--reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .bleed--reverse .bleed__body { padding-left: max(var(--gutter), calc((100vw - var(--container-max)) / 2)); padding-right: var(--space-6); }
}

/* ==========================================================================
   v3.7 — autentyczne zdjęcia Anny Kempisty: kadr, poświata, złota ramka
   Poświata i ramka są nakładane kodem (nie w pliku), więc nie giną przy
   kadrowaniu object-fit na szerokich ekranach.
   ========================================================================== */

/* Punkt ciężkości kadru (twarz / karty) przy object-fit: cover */
.media[data-img-slot="IMG-ANNA-HERO"] img     { object-position: 50% 30%; }
.media[data-img-slot="IMG-ANNA-TAROT"] img    { object-position: 50% 55%; }
.media[data-img-slot="IMG-ANNA-PORTRAIT"] img { object-position: 50% 24%; }

/* Poświata spajająca zdjęcie z paletą:
   ciepłe złote światło u góry, Royal Blue od dołu, miękka winieta Midnight,
   oraz (od 960 px) przejście krawędzi zdjęcia w tło sekcji po stronie tekstu. */
.hero--bleed .media[data-img-slot^="IMG-ANNA"],
.bleed .media[data-img-slot^="IMG-ANNA"],
.why__media .media[data-img-slot^="IMG-ANNA"] {
  --edge-fade: linear-gradient(transparent, transparent);
}
.hero--bleed .media[data-img-slot^="IMG-ANNA"]::after,
.bleed .media[data-img-slot^="IMG-ANNA"]::after,
.why__media .media[data-img-slot^="IMG-ANNA"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    var(--edge-fade),
    radial-gradient(90% 60% at 65% 0%, rgba(178, 140, 82, .16), transparent 70%),
    linear-gradient(to top, rgba(35, 74, 132, .26), transparent 38%),
    radial-gradient(140% 100% at 50% 45%, transparent 58%, rgba(21, 36, 58, .30) 100%);
}
@media (min-width: 960px) {
  /* hero: tekst po lewej → zdjęcie łagodnie wchodzi w tło od lewej */
  .hero--bleed .media[data-img-slot^="IMG-ANNA"] {
    --edge-fade: linear-gradient(to right, var(--color-bg) 0, color-mix(in srgb, var(--color-bg) 35%, transparent) 6%, transparent 16%);
  }
  /* bleed: zdjęcie po lewej, tekst po prawej */
  .bleed:not(.bleed--reverse) .media[data-img-slot^="IMG-ANNA"] {
    --edge-fade: linear-gradient(to left, var(--color-bg) 0, color-mix(in srgb, var(--color-bg) 40%, transparent) 7%, transparent 20%);
  }
  /* bleed odwrócony: zdjęcie po prawej, tekst po lewej */
  .bleed--reverse .media[data-img-slot^="IMG-ANNA"] {
    --edge-fade: linear-gradient(to right, var(--color-bg) 0, color-mix(in srgb, var(--color-bg) 40%, transparent) 7%, transparent 20%);
  }
}

/* Portret w „Dlaczego Anna Kempisty?”: zewnętrzna poświata Royal Blue + złoty refleks */
.why__media .media[data-img-slot^="IMG-ANNA"] {
  box-shadow:
    0 2.5rem 5rem -2.5rem rgba(35, 74, 132, .55),
    0 0 4rem -1rem rgba(178, 140, 82, .22);
}

/* Cienka złota ramka (Antique Gold) — tylko trzy duże zdjęcia na HOME */
body[data-page="home"] .hero--bleed .media[data-img-slot="IMG-ANNA-HERO"]::before,
body[data-page="home"] .how .media[data-img-slot="IMG-ANNA-TAROT"]::before,
body[data-page="home"] .how .media[data-img-slot="IMG-ANNA-WORK"]::before,
body[data-page="home"] .why__media .media[data-img-slot="IMG-ANNA-PORTRAIT"]::before {
  content: "";
  position: absolute;
  inset: var(--frame-offset);
  z-index: 2;
  border: 1px solid rgba(178, 140, 82, .78);
  pointer-events: none;
}
body[data-page="home"] .why__media .media[data-img-slot="IMG-ANNA-PORTRAIT"]::before { border-radius: calc(var(--radius-lg) * .6); }

/* Miniatury portretu (/sesje, /pustelnik — 140 px): zbliżenie na twarz */
.trust__media .media[data-img-slot="IMG-ANNA-PORTRAIT"] img {
  transform: scale(1.12);
  transform-origin: 50% 30%;
}

/* v3.7 — prawdziwa okładka „Pustelnika”: proporcje okładki (1141 × 1684) i cień książki */
.media[data-img-slot="IMG-PUSTELNIK-COVER"] {
  aspect-ratio: 1141 / 1684;
  background: transparent;
  border-radius: 2px;
  box-shadow: 0 1.25rem 2.5rem -1.25rem rgba(21, 36, 58, .45), 0 .25rem .75rem rgba(21, 36, 58, .12);
}
.media[data-img-slot="IMG-PUSTELNIK-COVER"] img { object-fit: cover; }

/* v3.7 — HOME: pas książki na telefonie (≤ 719 px) — wyśrodkowana kompozycja „książka na półce” */
@media (max-width: 719px) {
  .book-strip { padding-block: var(--space-6); }
  .book-strip__inner { justify-items: center; text-align: center; gap: var(--space-4); }
  .book-strip__cover { width: 112px; }
  .book-strip__text { max-width: 24rem; }
  .book-strip__text .eyebrow { gap: .75rem; white-space: nowrap; }
  .book-strip__text .eyebrow::before { flex-basis: 1.25rem; }
  .book-strip__text .eyebrow { justify-content: center; margin-bottom: var(--space-2); }
  .book-strip__text .eyebrow::after { content: ""; flex: 0 0 1.25rem; height: 1px; background: var(--antique-gold); }
  .book-strip__text h2 { margin-bottom: var(--space-2); text-wrap: balance; }
  .book-strip__text h2 em { display: block; }
  .book-strip__text p:last-child { font-size: var(--fs-small); line-height: 1.6; color: var(--color-text); opacity: .85; margin: 0; }
  .book-strip__link a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* v3.7.4 — „Rozmowy i media”: zdjęcie w oryginalnych proporcjach (2:3), cała sylwetka bez przycinania */
.media[data-img-slot="IMG-ANNA-TALKS"] { aspect-ratio: 2 / 3; background: transparent; max-width: 32rem; }
.media[data-img-slot="IMG-ANNA-TALKS"] img { object-fit: contain; object-position: 50% 50%; }

/* v3.9.1 — /metoda: artykuł Anny Kempisty w jednej kolumnie + jedno „Czytaj dalej” */
.method-article .container--narrow > .eyebrow { margin-bottom: var(--space-4); }
.method-article p { margin: 0 0 var(--space-3); }
.method-article h2 {
  margin: var(--space-6) 0 var(--space-3);
  font-size: clamp(1.85rem, 1.45rem + 1.5vw, 2.5rem);
  line-height: 1.12;
  text-wrap: balance;
}
.method-article h2::before { content: ""; display: block; width: 3.5rem; height: 1px; margin-bottom: var(--space-3); background: var(--antique-gold); }
.method-statement {
  margin: 0 0 var(--space-5);
  padding: var(--space-4);
  border: 1px solid var(--line-gold);
  border-left: 3px solid var(--antique-gold);
  background: var(--white);
}
.method-statement p:last-child { margin: 0; }
.method-article .method-statement__title {
  margin: 0 0 var(--space-2);
  font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem);
  line-height: 1.15;
}
.method-article .method-statement__title::before { display: none; }
.method-quote {
  margin: var(--space-4) 0 !important;
  padding-left: var(--space-3);
  border-left: 1px solid var(--antique-gold);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);
  font-style: italic;
  line-height: 1.2;
  color: var(--color-heading);
}
.method-accent {
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem);
  font-style: italic;
  line-height: 1.4;
  color: var(--royal-blue);
}
.method-fact {
  display: grid;
  gap: var(--space-2);
  margin: var(--space-4) 0;
  padding: var(--space-4);
  background: var(--midnight-blue);
  color: var(--soft-cream);
  border-radius: var(--radius-sm);
}
.method-article .method-fact p { margin: 0; }
.method-fact__num {
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 2.5rem + 4vw, 5.5rem);
  font-weight: 300;
  line-height: 1;
  color: var(--antique-gold);
}
@media (min-width: 720px) { .method-fact { grid-template-columns: auto 1fr; gap: var(--space-4); align-items: center; } }
.method-article .method-note {
  margin: var(--space-3) 0 var(--space-4);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--line-gold);
  border-bottom: 1px solid var(--line-gold);
  font-size: var(--fs-small);
  line-height: 1.6;
}
.method-cta { margin-top: var(--space-6); }
.method-cta__title { font-family: var(--font-heading); font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); line-height: 1.2; color: var(--color-heading); }
/* „Czytaj dalej”: bez JS przycisk ukryty, cała treść widoczna */
.readmore__teaser { position: relative; }
.readmore.is-collapsed .readmore__teaser::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 7rem;
  background: linear-gradient(to bottom, rgba(246, 242, 234, 0), var(--ivory) 85%);
  pointer-events: none;
}
.readmore__more[hidden], .readmore__toggle[hidden] { display: none; }
.readmore__toggle--main { margin-top: var(--space-2); gap: .75em; }
.readmore__icon {
  width: .55em; height: .55em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-25%) rotate(45deg);
}

/* v3.9.3 — strony prawne (regulamin sprzedaży książki) */
.legal .prose h2 { font-size: var(--fs-h3); margin-top: var(--space-5); scroll-margin-top: calc(var(--header-h-scrolled) + var(--space-3)); }
.legal .prose ol li { margin-bottom: var(--space-1); }
.legal .lead { margin-bottom: var(--space-4); }
.legal-toc { margin: 0 0 var(--space-5); padding: var(--space-3) var(--space-4); border: 1px solid var(--line-gold); background: var(--white); }
.legal-toc ol { margin: 0; }
.legal-form { padding: var(--space-4); border: 1px solid var(--line-gold); background: var(--white); }
.legal-form p { margin-bottom: var(--space-2); }

/* v3.9.4 — /pustelnik: informacja o regulaminie przy przycisku zakupu */
.purchase-terms { margin-top: var(--space-2); font-size: var(--fs-small); line-height: 1.6; }

/* v3.9.5 — /regulamin-ksiazki: powrót do zakupu */
.legal-back { margin: 0 0 var(--space-2); }
.legal-return { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line-gold); }
.legal-return__title { font-family: var(--font-heading); font-size: var(--fs-h3); line-height: 1.2; color: var(--color-heading); margin-bottom: var(--space-2); }

/* v3.10 — zakup książki (dwie karty) i informacje o płatności */
.purchase-terms--center { max-width: 46rem; margin: var(--space-4) auto 0; text-align: center; }
@media (max-width: 759px) { .book-offers .offer-card:nth-child(2) { order: 0; } }
.book-offers .offer-card__note { margin-top: var(--space-2); }

/* v3.10.1 — /pustelnik: fragment książki */
.book-excerpt p { margin: 0 0 var(--space-2); }
.book-excerpt .eyebrow { margin-bottom: var(--space-1); }
.book-excerpt__title { font-family: var(--font-heading); font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); font-style: italic; line-height: 1.2; color: var(--color-heading); margin-bottom: var(--space-3) !important; }
.book-excerpt__cut { font-family: var(--font-heading); font-size: 2rem; line-height: 1; color: var(--antique-gold); }
.book-excerpt__more { margin-top: var(--space-3) !important; font-family: var(--font-heading); font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-style: italic; line-height: 1.4; color: var(--royal-blue); }

/* v3.10.2 — /aktualnosci: wpis długi (tekst autorski) — akcenty typograficzne */
.news-item--story p { max-width: 600px; }
.news-item--story .news-item__image { margin-bottom: var(--space-4); }
.news-item__lines { line-height: 1.75; }
.news-item__pull { font-family: var(--font-heading); font-style: italic; font-size: clamp(1.35rem, 1.15rem + .8vw, 1.7rem); line-height: 1.35; color: var(--royal-blue); margin: var(--space-3) 0; }
.news-item__pull + .news-item__pull { margin-top: calc(var(--space-2) * -1); }
.news-item__pull.news-item__turn { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--antique-gold); }
.news-item__sign { margin-top: var(--space-4); font-size: var(--fs-small); letter-spacing: .04em; color: var(--royal-blue); }

/* v3.10.4 — /pustelnik: długa recenzja czytelnika */
.review-card--long blockquote { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); line-height: 1.5; }
.review-card--long blockquote p { margin: 0 0 var(--space-2); }
.review-card--long blockquote p:last-child { margin-bottom: 0; }
