/* =============================================================
   Byzantská komunita — podstránky (dopĺňa site.css, načítava sa na každej stránke)
   Používa premenné a témy zo site.css (--fg, --fg-muted, --accent, --rule …),
   preto každý prvok funguje v tmavej (theme-ink) aj svetlej (theme-cream) kapitole.

   Obsah
   01  Prepínače a podnavigácia (.filters)
   02  Údaje (.facts), náhľad pre administrátora
   03  Detail s bočným stĺpcom (.detail)
   04  Produkty (.products, .product), záver ponuky (.closing)
   05  Aktuality: článok a susedné články (.article, .pager)
   06  Kalendár duchovných obnov (.calendar)
   07  Prihláška a formulár v kapitole (.signup)
   08  Konferencie (.conferences)
   09  Naše obchodíky (.shops)
   10  Dlhé texty s obsahom (.doc, .toc)
   11  Pridaj sa (.ways)
   12  OZ: dar a podiel dane (.support, .bank, .tax)
   13  Tlač
   14  Duchovné obnovy: dni, účasť a cena (.retreat-days, .choices, .reg-total)
   ============================================================= */


/* -------------------------------------------------------------
   01  Prepínače a podnavigácia — kapitálky nad vlasovou linkou
   ------------------------------------------------------------- */
.filters {
  margin-bottom: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  border-bottom: 1px solid var(--rule);
}
.filters__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: clamp(1.25rem, 0.5rem + 2vw, 2.5rem);
}
.filters a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6em;
  min-height: 2.75rem;
  padding-block: 0.95rem 0.85rem;
  margin-bottom: -1px;
  border-bottom: 1px solid transparent;
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--fg-muted);
  transition: color 0.25s var(--ease), border-color 0.25s var(--ease);
}
.filters a:hover { color: var(--fg); }
.filters a[aria-current="page"] {
  color: var(--fg);
  border-bottom-color: var(--accent-line);
}
.filters__count {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-variant-numeric: lining-nums;
  letter-spacing: 0;
  color: var(--accent);
}


/* -------------------------------------------------------------
   02  Údaje (termín, miesto, IČO …) — popis kapitálkami, hodnota písmom textu knihy
   ------------------------------------------------------------- */
.facts { border-top: 1px solid var(--rule); }
.facts > div {
  display: grid;
  gap: 0.2rem;
  padding-block: 0.85rem;
  border-bottom: 1px solid var(--rule);
}
.facts dt {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.facts dd {
  min-width: 0;
  font-family: var(--font-display);
  font-size: var(--fs-d5);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.facts a,
.doc__card a {
  text-decoration: underline;
  text-decoration-color: var(--accent-line);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.facts--compact dd { font-size: 1.125rem; }

/* popis a hodnota vedľa seba (v širokom stĺpci) */
@media (min-width: 640px) {
  .facts--split > div {
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: var(--s-4);
    align-items: baseline;
  }
}

/* Náhľad nezverejnenej položky (vidí ho iba administrátor) */
.preview-note {
  padding-block: var(--s-3);
  border-bottom: 1px solid var(--rule);
  border-left: 0;
  font-size: var(--fs-small);
  color: var(--fg);
}
.preview-note strong { font-weight: 600; color: var(--accent); }


/* -------------------------------------------------------------
   03  Detail s bočným stĺpcom (produkt, obnova, konferencia, OZ)
   ------------------------------------------------------------- */
.detail {
  display: grid;
  gap: var(--gap-m) var(--col-gap);
}
.detail__main,
.detail__aside { min-width: 0; }
.detail__aside {
  display: grid;
  gap: var(--s-6);
  align-content: start;
}
/* pri podujatiach sú na telefóne termín a miesto hneď pod úvodom */
@media (max-width: 999px) {
  .detail--facts-first .detail__aside { order: -1; }
}
.detail__main > .block-title { margin-bottom: var(--s-5); }
.detail__subtitle {
  margin-top: var(--s-7);
  margin-bottom: var(--s-4);
  font-family: var(--font-display);
  font-size: var(--fs-d5);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}
.detail__aside-title { margin-bottom: calc(-1 * var(--s-3)); }
.detail__empty {
  max-width: var(--measure);
  font-size: var(--fs-lead);
  color: var(--fg-muted);
}
.detail__back { margin-top: var(--s-7); }
.detail__part + .detail__part {
  margin-top: var(--gap-m);
  padding-top: var(--s-7);
  border-top: 1px solid var(--rule);
}
.detail__part .block-title { margin-bottom: var(--s-5); }
.detail__state {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-style: italic;
  color: var(--accent);
}

/* výzva pri produkte: zlatá vlasová linka, nie rámček */
.detail__cta {
  padding-top: var(--s-5);
  border-top: 1px solid var(--accent-line);
}
.detail__cta-title {
  margin-bottom: var(--s-2);
  font-family: var(--font-display);
  font-size: var(--fs-d5);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
}
.detail__cta p { color: var(--fg-muted); }
.detail__cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4) var(--s-6);
  margin-top: var(--s-5);
}

@media (min-width: 1000px) {
  .detail {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }
  .detail__main { grid-column: 1 / span 7; }
  .detail__aside {
    grid-column: 9 / span 4;
    position: sticky;
    top: calc(var(--header-h) + var(--s-6));
  }
}


/* -------------------------------------------------------------
   04  Produkty — skupiny podľa kategórie, karty bez rámčekov
   ------------------------------------------------------------- */
.catalog__group + .catalog__group { margin-top: var(--gap-m); }

.group-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-2) var(--s-5);
  margin-bottom: var(--s-6);
  padding-bottom: var(--s-4);
  border-bottom: 1px solid var(--rule);
}
.group-head__title {
  font-family: var(--font-display);
  font-size: var(--fs-d3);
  font-style: italic;
  font-weight: 400;
  line-height: 1.15;
}
.group-head__meta {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.group-head__meta .link-quiet { font-family: var(--font-text); }

.products {
  display: grid;
  gap: var(--s-7) var(--col-gap);
}
@media (min-width: 640px) {
  .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.product {
  position: relative;
  display: flex;
  flex-direction: column;
}
.product__media {
  margin-bottom: var(--s-4);
  overflow: hidden;
}
.product__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(0.84) contrast(0.97);
  transition: transform 1.2s var(--ease);
}
.product:hover .product__media img { transform: scale(1.025); }
/* bez fotografie: tichý papier so znakom komunity */
.product__placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--rule);
  background-color: rgba(29, 24, 19, 0.035);
  color: var(--accent-line);
}
.product__placeholder .emblem {
  width: 3.5rem;
  height: 3.5rem;
}
.product__status {
  margin-bottom: var(--s-2);
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--accent);
}
.product--vypredane .product__status { color: var(--fg-muted); }
.product:hover .product__name a { background-size: 100% 1px; }
.product .product__text { max-width: none; }

.related { margin-top: var(--gap-l); }

/* Záver ponuky: ako nakúpiť, odber noviniek, obchodíky */
.closing {
  display: grid;
  gap: var(--s-4);
  margin-top: var(--gap-m);
  padding-top: var(--s-7);
  border-top: 1px solid var(--rule);
}
.closing__title {
  font-family: var(--font-display);
  font-size: var(--fs-d3);
  font-style: italic;
  font-weight: 400;
  line-height: 1.15;
}
.closing__text {
  max-width: 34rem;
  color: var(--fg-muted);
}
.closing__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4) var(--s-6);
  margin-top: var(--s-3);
}
@media (min-width: 1000px) {
  .closing {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--col-gap);
    align-items: start;
  }
  .closing__title { grid-column: 1 / span 4; grid-row: 1 / span 2; }
  .closing__text { grid-column: 5 / span 6; }
  .closing__actions { grid-column: 5 / span 8; }
}


/* -------------------------------------------------------------
   05  Aktuality: zoznam, článok a susedné články
   ------------------------------------------------------------- */
/* texty článkov s fotografiou aj bez nej začínajú v tom istom stĺpci */
@media (min-width: 760px) {
  .entries--news .entry:not(.entry--media) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .entries--news .entry:not(.entry--media) .entry__body { grid-column: 2; }
}
@media (min-width: 1000px) {
  .entries--news .entry:not(.entry--media) { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .entries--news .entry:not(.entry--media) .entry__body { grid-column: 6 / span 7; }
}

.article__figure {
  max-width: 62rem;
  margin-bottom: var(--gap-m);
  overflow: hidden;
}
.article__figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  filter: saturate(0.84) contrast(0.97);
}
.article__foot {
  display: grid;
  gap: var(--s-6);
  max-width: var(--measure);
  margin-top: var(--gap-m);
}

.pager {
  display: grid;
  gap: var(--s-5);
  padding-block: var(--s-5);
  border-block: 1px solid var(--rule);
}
.pager__link {
  display: grid;
  gap: var(--s-2);
  align-content: start;
  text-decoration: none;
}
.pager__label {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.pager__link--prev .arrow { transform: scaleX(-1); }
.pager__title {
  font-family: var(--font-display);
  font-size: var(--fs-d5);
  line-height: 1.3;
  text-wrap: balance;
}
.pager__link:hover .pager__title,
.pager__link:focus-visible .pager__title {
  text-decoration: underline;
  text-decoration-color: var(--accent-line);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
@media (min-width: 640px) {
  .pager { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--col-gap); }
  .pager__link--next {
    grid-column: 2;
    justify-items: end;
    text-align: right;
  }
}


/* -------------------------------------------------------------
   06  Kalendár duchovných obnov — mesiace ako kapitoly kalendára
   ------------------------------------------------------------- */
.calendar__month + .calendar__month { margin-top: var(--gap-m); }
.calendar__title {
  margin-bottom: var(--s-4);
  font-family: var(--font-display);
  font-size: var(--fs-d3);
  font-style: italic;
  font-weight: 400;
  line-height: 1.15;
}
@media (min-width: 1000px) {
  .calendar__month {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--col-gap);
    align-items: start;
  }
  .calendar__title {
    grid-column: 1 / span 3;
    position: sticky;
    top: calc(var(--header-h) + var(--s-5));
    padding-top: var(--s-5);
    margin-bottom: 0;
  }
  .calendar__month .events { grid-column: 4 / span 9; }
}

.event--item { padding-block: var(--s-6); }
/* tlačidlo leží nad odkazom celej položky, aby sa dalo stlačiť samostatne */
.event__action {
  position: relative;
  z-index: 1;
  grid-column: 2;
  margin-top: var(--s-4);
}
.event__action .btn {
  min-height: 2.75rem;
  padding: 0.65rem 1.3rem;
}
@media (min-width: 760px) {
  .event--item { grid-template-columns: 7rem minmax(0, 1fr) auto; }
  .event__action {
    grid-column: 3;
    align-self: center;
    margin-top: 0;
  }
}


/* -------------------------------------------------------------
   07  Prihláška a formulár v tmavej kapitole
   ------------------------------------------------------------- */
.signup__grid {
  display: grid;
  gap: var(--s-7);
}
.signup__intro .section-title { margin-bottom: var(--s-5); }
.signup__note {
  max-width: 30rem;
  margin-top: var(--s-5);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}
.signup__note a { color: var(--fg); }
.signup__form { min-width: 0; }
.signup__form .flashes { margin-bottom: var(--s-6); }
.signup .form { max-width: none; }
@media (min-width: 1000px) {
  .signup__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--col-gap);
    align-items: start;
  }
  .signup__intro { grid-column: 1 / span 4; }
  .signup__form { grid-column: 6 / span 7; }
}


/* -------------------------------------------------------------
   08  Konferencie — väčšie redakčné položky s dátumovým lístkom
   ------------------------------------------------------------- */
.conferences { border-top: 1px solid var(--rule); }
.conference {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  column-gap: var(--col-gap);
  row-gap: var(--s-6);
  align-items: start;
  padding-block: var(--s-7);
  border-bottom: 1px solid var(--rule);
}
.conference__body { min-width: 0; }
.conference__media {
  grid-column: 1 / -1;
  overflow: hidden;
}
.conference__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(0.84) contrast(0.97);
}
.conference__theme {
  margin-bottom: var(--s-3);
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--accent);
}
.conference__title {
  font-family: var(--font-display);
  font-size: var(--fs-d3);
  font-weight: 400;
  line-height: 1.1;
  text-wrap: balance;
}
.conference__title a {
  text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
  transition: background-size 0.5s var(--ease);
}
.conference__title a:hover,
.conference__title a:focus-visible { background-size: 100% 1px; }
.conference__subtitle {
  margin-top: var(--s-2);
  font-family: var(--font-display);
  font-size: var(--fs-d5);
  font-style: italic;
  line-height: 1.3;
  color: var(--fg-muted);
}
.conference .event__meta { margin-top: var(--s-4); }
.conference__text {
  max-width: 36rem;
  margin-top: var(--s-4);
  color: var(--fg-muted);
}
.conference__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4) var(--s-6);
  margin-top: var(--s-6);
}
.conference__actions .event__note { margin-top: 0; }
@media (min-width: 480px) {
  .conference { grid-template-columns: 7rem minmax(0, 1fr); }
}
@media (min-width: 1000px) {
  .conference { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .conference .date-block { grid-column: 1 / span 2; }
  .conference__body { grid-column: 3 / span 8; }
  .conference--media .conference__body { grid-column: 3 / span 6; }
  .conference__media {
    grid-column: 9 / span 4;
    grid-row: 1;
  }
}

.archive { margin-top: var(--gap-l); }
.archive .block-title { margin-bottom: var(--s-5); }


/* -------------------------------------------------------------
   09  Naše obchodíky — fotografia v oblúku, adresa, hodiny, kontakt
   ------------------------------------------------------------- */
.shops__intro { margin-bottom: var(--gap-m); }
.shops { border-top: 1px solid var(--rule); }
.shop {
  display: grid;
  gap: var(--s-6) var(--col-gap);
  padding-block: var(--s-7);
  border-bottom: 1px solid var(--rule);
}
.shop__media { max-width: 15rem; }
.shop__preview {
  grid-column: 1 / -1;
  padding: var(--s-3) var(--s-4);
  border-left: 2px solid var(--accent-line);
  background: var(--field-bg);
  font-size: var(--fs-small);
}
.shop__preview strong { font-weight: 600; color: var(--accent); }
.shop__media img { filter: saturate(0.84) contrast(0.97); }
.shop__body { min-width: 0; }
.shop__kind {
  margin-bottom: var(--s-3);
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--accent);
}
.shop__name {
  font-family: var(--font-display);
  font-size: var(--fs-d3);
  font-weight: 400;
  line-height: 1.1;
}
.shop__text {
  max-width: 36rem;
  margin-top: var(--s-3);
  color: var(--fg-muted);
}
.shop__prose { margin-top: var(--s-4); }
.shop__info {
  display: grid;
  gap: var(--s-5) var(--col-gap);
  margin-top: var(--s-6);
  padding-top: var(--s-5);
  border-top: 1px solid var(--rule);
}
.shop__block .label { margin-bottom: var(--s-2); }
.shop__address,
.shop__contact {
  font-family: var(--font-display);
  font-size: 1.125rem;
  line-height: 1.45;
}
.shop__contact a {
  display: block;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-decoration: underline;
  text-decoration-color: var(--accent-line);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.shop__map { margin-top: var(--s-5); }

.hours > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 var(--s-4);
  padding-block: 0.3rem;
  border-bottom: 1px solid var(--rule);
  font-size: 0.98rem;
}
.hours dt { color: var(--fg-muted); }
.hours dd { font-variant-numeric: tabular-nums; }
.hours__note dd { color: var(--fg-muted); font-style: italic; }

@media (min-width: 640px) {
  .shop--media {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    align-items: start;
  }
  .shop__media { max-width: none; }
}
@media (min-width: 760px) {
  .shop__info { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .shop { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .shop__media { grid-column: 1 / span 3; }
  .shop__body { grid-column: 5 / span 8; }
  .shop:not(.shop--media) .shop__body { grid-column: 1 / span 9; }
}


/* -------------------------------------------------------------
   10  Dlhé texty s obsahom (Základné princípy, Ochrana osobných údajov)
   ------------------------------------------------------------- */
.doc__grid {
  display: grid;
  gap: var(--s-7) var(--col-gap);
}
.doc__body { min-width: 0; }

.toc {
  padding-block: var(--s-5);
  border-block: 1px solid var(--rule);
}
.toc__title { margin-bottom: var(--s-3); }
.toc__list { display: grid; gap: 0.05rem; }
.toc a {
  display: block;
  padding-block: 0.32rem;
  font-family: var(--font-display);
  font-size: 1.0625rem;
  line-height: 1.35;
  text-decoration: none;
  color: var(--fg);
  transition: color 0.25s var(--ease);
}
.toc a:hover { color: var(--accent); }
.toc__sub {
  margin-bottom: var(--s-1);
  padding-left: var(--s-4);
  border-left: 1px solid var(--rule);
}
.toc__sub a {
  font-size: 0.98rem;
  font-style: italic;
  color: var(--fg-muted);
}
/* na telefóne stačia hlavné časti */
@media (max-width: 999px) {
  .toc__sub { display: none; }
}

.doc__card {
  margin-bottom: var(--gap-m);
  padding-block: var(--s-5);
  border-block: 1px solid var(--accent-line);
}
.doc__card-title { margin-bottom: var(--s-3); }
.doc__card .facts { border-top: 0; }
.doc__card .facts > div:last-child { border-bottom: 0; }
.doc__effective {
  margin-top: var(--s-4);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}

@media (min-width: 640px) {
  .doc__card .facts > div {
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: var(--s-4);
    align-items: baseline;
  }
}
@media (min-width: 1000px) {
  .doc__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }
  .doc__aside {
    grid-column: 1 / span 3;
    position: sticky;
    top: calc(var(--header-h) + var(--s-6));
    max-height: calc(100vh - var(--header-h) - var(--s-7));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .doc__body { grid-column: 5 / span 7; }
  .doc__body:only-child { grid-column: 3 / span 8; }
}


/* -------------------------------------------------------------
   11  Pridaj sa — štyri cesty, čísla visia na okraji ako pri princípoch
   ------------------------------------------------------------- */
.ways {
  display: grid;
  column-gap: clamp(2rem, 0.5rem + 4vw, 6rem);
}
.way {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: var(--s-4);
  align-content: start;
  padding-block: var(--s-6);
  border-top: 1px solid var(--rule);
}
.way__num {
  grid-row: 1;
  align-self: baseline;
  font-family: var(--font-figure);
  font-size: clamp(2.4rem, 2rem + 1.2vw, 3.25rem);
  font-weight: 300;
  font-variant-numeric: lining-nums;
  line-height: 1;
  color: var(--fg);
}
.way__title {
  grid-column: 2;
  grid-row: 1;
  align-self: baseline;
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 400;
  line-height: 1.1;
}
.way__text {
  grid-column: 2;
  max-width: 34rem;
  margin-top: var(--s-3);
  color: var(--fg-muted);
}
.way__action {
  grid-column: 2;
  align-self: end;
  margin-top: var(--s-4);
}
@media (min-width: 760px) {
  .ways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .way:nth-last-child(-n + 2) { border-bottom: 1px solid var(--rule); }
}
@media (max-width: 759px) {
  .way:last-child { border-bottom: 1px solid var(--rule); }
}
@media (min-width: 1000px) {
  .way { grid-template-columns: 3.25rem minmax(0, 1fr); }
}


/* -------------------------------------------------------------
   12  OZ: dobrovoľná podpora a podiel zaplatenej dane
   ------------------------------------------------------------- */
.support__grid {
  display: grid;
  gap: var(--s-7) var(--col-gap);
}
.bank {
  padding-block: var(--s-6);
  border-block: 1px solid var(--accent-line);
}
.bank__title { margin-bottom: var(--s-4); }
.bank__iban {
  margin-bottom: var(--s-5);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 1.05rem + 1.6vw, 2.35rem);
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0.04em;
  line-height: 1.2;
  overflow-wrap: anywhere;
  color: var(--fg);
}
.bank .facts > div:last-child { border-bottom: 0; }
.bank__note {
  margin-top: var(--s-4);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}
.bank__note a { color: var(--fg); }
.bank__qr img {
  width: 12rem;
  height: auto;
  padding: 0.75rem;
  background: #fff;
}
.support__other { color: var(--fg-muted); }
@media (min-width: 1000px) {
  .support__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }
  .bank { grid-column: 1 / span 6; }
  .bank__qr { grid-column: 7 / span 2; }
  .support__other { grid-column: 9 / span 4; }
}

.tax__recipient {
  margin-bottom: var(--gap-m);
  padding-block: var(--s-5);
  border-block: 1px solid var(--accent-line);
}
.tax__recipient .label { margin-bottom: var(--s-3); }
.tax__recipient .facts { border-top: 0; }
.tax__ways {
  display: grid;
  gap: var(--s-7) var(--col-gap);
}
.tax__way {
  padding-top: var(--s-5);
  border-top: 1px solid var(--rule);
}
.tax__way-title {
  margin-bottom: var(--s-4);
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-style: italic;
  font-weight: 400;
  line-height: 1.15;
}
.tax__way .prose { font-size: 1rem; }
.tax__foot {
  display: grid;
  gap: var(--s-7) var(--col-gap);
  margin-top: var(--gap-m);
  padding-top: var(--s-7);
  border-top: 1px solid var(--rule);
}
.tax__disclaimer {
  margin-bottom: var(--s-4);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}
.tax__links {
  display: grid;
  gap: var(--s-3);
  font-size: 0.95rem;
  line-height: 1.5;
}
@media (min-width: 760px) {
  .tax__recipient .facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--col-gap);
  }
}
@media (min-width: 1000px) {
  .tax__recipient .facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tax__recipient .facts > div { border-bottom: 0; }
  .tax__ways { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tax__foot { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .tax__notes { grid-column: 1 / span 7; }
  .tax__sources { grid-column: 9 / span 4; }
}


/* -------------------------------------------------------------
   13  Tlač — dlhé texty bez obsahu, navigácie a päty, čierne na bielom
   ------------------------------------------------------------- */
@media print {
  .page-doc .site-footer,
  .page-doc .doc__aside,
  .filters,
  .signup,
  .closing,
  .detail__action,
  .event__action,
  .preview-note { display: none !important; }

  .page-doc,
  .page-doc .theme-ink,
  .page-doc .theme-cream {
    --bg: #fff;
    --fg: #000;
    --fg-muted: #333;
    --accent: #000;
    --accent-line: #777;
    --rule: #bbb;
    background: #fff !important;
    color: #000 !important;
  }
  .page-doc .site-header {
    background: none;
    box-shadow: none;
    color: #000;
  }
  .page-doc .site-header::before { display: none; }
  .page-doc .page-hero { padding-block: 1.5rem; background-image: none; }
  .page-doc .page-hero__media,
  .page-doc .breadcrumbs { display: none; }
  .page-doc .section { padding-block: 0; }
  .page-doc .doc__body { grid-column: 1 / -1; }
  .page-doc .prose { max-width: none; font-size: 11pt; }
  .page-doc .prose h2,
  .page-doc .prose h3 { break-after: avoid; }
  .page-doc .prose p,
  .page-doc .prose li { orphans: 3; widows: 3; }
}


/* -------------------------------------------------------------
   14  Duchovné obnovy: dni, účasť a cena
       (app/pages.php – pages_retreat_days_html(), pages_attendance_fields();
       živý súčet ceny: assets/js/attendance.js)
   ------------------------------------------------------------- */
/* cena v kalendári pod textom termínu */
.event__price {
  margin-top: var(--s-2);
  font-family: var(--font-display);
  font-size: 1.125rem;
  line-height: 1.35;
  font-variant-numeric: lining-nums;
  color: var(--fg);
}

/* dni obnovy v bočnom stĺpci detailu; dlhší stĺpec sa neprilepí (inak by jeho koniec nebolo vidno) */
@media (min-width: 1000px) {
  .detail__aside--long { position: static; }
}
.retreat-days { min-width: 0; }          /* odstup od údajov dáva mriežka .detail__aside */
.retreat-days__title { margin-bottom: var(--s-3); }
.retreat-days__list { border-top: 1px solid var(--rule); }
.retreat-day {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "name side" "date side";
  column-gap: var(--s-4);
  align-items: center;
  padding-block: 0.7rem;
  border-bottom: 1px solid var(--rule);
}
.retreat-day__name {
  grid-area: name;
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1.3;
}
.retreat-day__date {
  grid-area: date;
  font-size: var(--fs-small);
  font-variant-numeric: tabular-nums;
  color: var(--fg-muted);
}
.retreat-day__side {
  grid-area: side;
  display: grid;
  justify-items: end;
  gap: 0.15rem;
  text-align: right;
}
.retreat-day__price {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.retreat-day__state {
  font-size: 0.8125rem;
  color: var(--fg-muted);
  white-space: nowrap;
}
.retreat-day.is-full .retreat-day__name,
.retreat-day.is-full .retreat-day__price { color: var(--fg-muted); }
.retreat-day.is-full .retreat-day__state {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--accent);
}
.retreat-days__note {
  margin-top: var(--s-3);
  font-size: var(--fs-small);
  color: var(--fg-muted);
}

/* prihláška: výber účasti a dní – riadky s vlasovou linkou ako údaje (.facts) */
.attendance {
  display: grid;
  gap: var(--s-5);
  min-width: 0;
}
.choices {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.choices > legend {
  float: left;                  /* legenda sa správa ako bežný popis poľa (bez prerušenia rámu) */
  width: 100%;
  margin-bottom: 0.55rem;
  padding: 0;
}
.choices > legend + * { clear: both; }
.choices > .field__hint { margin-bottom: 0.6rem; }
.choices__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rule);
}
.choices--days .choices__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  column-gap: var(--col-gap);
}
.choice {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) auto;
  column-gap: 0.9rem;
  align-items: center;
  min-height: 3.5rem;
  padding-block: 0.75rem;
  border-bottom: 1px solid var(--rule);
  cursor: pointer;
}
.choice input {
  display: grid;
  place-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  border: 1px solid var(--field-line);
  border-radius: 0;
  background-color: var(--field-bg);
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.choice input::before {
  content: "";
  width: 0.62rem;
  height: 0.34rem;
  border-bottom: 1.5px solid var(--bg);
  border-left: 1.5px solid var(--bg);
  transform: translateY(-0.08rem) rotate(-45deg) scale(0);
  transition: transform 0.2s var(--ease);
}
.choice input:checked {
  border-color: var(--fg);
  background-color: var(--fg);
}
.choice input:checked::before { transform: translateY(-0.08rem) rotate(-45deg) scale(1); }
/* prepínač: vlasový kruh s bodkou */
.choice input[type="radio"] { border-radius: 50%; }
.choice input[type="radio"]::before {
  width: 0.5rem;
  height: 0.5rem;
  border: 0;
  border-radius: 50%;
  background-color: var(--fg);
  transform: scale(0);
}
.choice input[type="radio"]:checked { background-color: var(--field-bg); }
.choice input[type="radio"]:checked::before { transform: scale(1); }
.choice:hover input:not(:disabled) { border-color: var(--fg-muted); }
.choice input:checked:hover { border-color: var(--fg); }
.choice input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.choice__body {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}
.choice__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--fg);
}
.choice__meta {
  font-size: var(--fs-small);
  font-variant-numeric: tabular-nums;
  color: var(--fg-muted);
}
.choice__side {
  display: grid;
  justify-items: end;
  gap: 0.1rem;
  text-align: right;
}
.choice__side:empty { display: none; }
.choice__price {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.3;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
  color: var(--fg);
}
.choice__unit {
  font-family: var(--font-text);
  font-size: 0.8125rem;
  color: var(--fg-muted);
}
.choice__state {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--accent);
}
.choice__state--quiet {
  font-family: var(--font-text);
  font-size: 0.8125rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--fg-muted);
}
.choice.is-disabled { cursor: not-allowed; }
.choice.is-disabled input { opacity: 0.4; cursor: not-allowed; }
.choice.is-disabled .choice__title,
.choice.is-disabled .choice__meta,
.choice.is-disabled .choice__price { color: var(--fg-muted); }
.choice.is-disabled .choice__title { text-decoration: line-through; text-decoration-thickness: 1px; text-decoration-color: var(--rule); }
.choices.is-invalid .choice input:not(:disabled) { border-color: var(--danger); }
.choices > .field__error { margin-top: 0.6rem; }
.js .choices__nojs { display: none; }

/* cena spolu – počíta ju skript (bez skriptu ju server uvedie v poďakovaní a v e-maile) */
.reg-total { display: none; }
.js .reg-total:not([hidden]) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  column-gap: var(--s-4);
  row-gap: 0.2rem;
  padding-block: var(--s-4);
  border-top: 1px solid var(--accent-line);
  border-bottom: 1px solid var(--rule);
}
.reg-total__label {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.reg-total__value {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 1.35rem + 0.8vw, 2rem);
  line-height: 1.1;
  font-variant-numeric: lining-nums tabular-nums;
  text-align: right;
  color: var(--fg);
}
.reg-total__detail {
  grid-column: 1 / -1;
  font-size: var(--fs-small);
  text-align: right;
  color: var(--fg-muted);
}

/* zhrnutie v poďakovaní (vybrané dni, cena spolu) */
.form-success__details {
  max-width: 34rem;
  margin-top: var(--s-4);
  border-top: 1px solid var(--rule);
}
.form-success__details > div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.2rem var(--s-4);
  padding-block: 0.55rem;
  border-bottom: 1px solid var(--rule);
}
.form-success__details dt {
  font-family: var(--font-caps);
  font-size: var(--fs-caps);
  letter-spacing: 0.2em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.form-success__details dd {
  margin: 0;
  min-width: 0;
  font-size: var(--fs-small);
  color: var(--fg);
  overflow-wrap: anywhere;
}
@media (min-width: 480px) {
  /* poďakovanie s viacerými časťami: všetko okrem značky v druhom stĺpci */
  .form-success > :not(.form-success__mark) { grid-column: 2; }
}
@media (max-width: 479px) {
  .form-success__details > div { grid-template-columns: minmax(0, 1fr); }
}
