/* ==========================================================================
   TERATA – podstránky (témy, články, stránky, kontakt, 404) a bloky editora.
   Premenné a základné komponenty sú v main.css.
   ========================================================================== */

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.wrap--text { max-width: 760px; }
.wrap--page { max-width: 1040px; }

/* aktívna položka menu */
.hdr__nav > a[aria-current="page"] { color: var(--red); background: var(--pink-soft); }
.mnav > a[aria-current="page"] { color: var(--pink); }

/* --- Úvod podstránky ---------------------------------------------------- */
.phero {
  position: relative; overflow: hidden;
  padding: calc(var(--hdr) + clamp(3rem, 8vw, 6.5rem)) 0 clamp(2.5rem, 6vw, 4.5rem);
}
.phero__blobs { position: absolute; inset: 0; pointer-events: none; }
.blob--p1 { width: 60vw; right: -22vw; top: -22vw; opacity: .85; }
.blob--p2 { width: 34vw; right: 6vw; top: 8vw; opacity: .35; }
.phero__inner { position: relative; z-index: 1; }
.phero__title { font-size: clamp(2.8rem, 7.4vw, 6.5rem); max-width: 14em; }
.phero__badge { font-size: .8125rem; vertical-align: .45em; margin-left: .5rem; }
.phero__lead { max-width: 40ch; margin-top: clamp(1.25rem, 2.5vw, 1.75rem); font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.45; color: var(--grey); }

.crumb {
  display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1.5rem;
  font-size: .9375rem; font-weight: 600; text-decoration: none; color: var(--grey);
  transition: color .2s;
}
.crumb svg { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.crumb:hover { color: var(--red); }
.crumb:hover svg { transform: translateX(-3px); }

/* --- Zoznam článkov: vyhľadávanie, filter tém, karty -------------------- */
.archive { padding-bottom: var(--section); }
.archive__bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 1.5rem;
  padding-bottom: clamp(1.5rem, 3vw, 2rem); margin-bottom: clamp(1.5rem, 3vw, 2.25rem); border-bottom: 1px solid var(--line);
}
.archive__search { position: relative; flex: 1 1 280px; max-width: 420px; }
.archive__search svg { position: absolute; left: 1.1rem; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--grey); pointer-events: none; }
.archive__search input {
  width: 100%; height: 50px; padding: 0 1.25rem 0 2.9rem; border-radius: 999px;
  border: 1.5px solid var(--line); background: #fff; color: var(--ink); font: 500 1rem var(--f-body);
  transition: border-color .2s;
}
.archive__search input:focus { outline: none; border-color: var(--pink); }
.archive__search input::-webkit-search-cancel-button { cursor: pointer; }
.archive__filters { display: flex; flex-wrap: wrap; gap: .5rem; }

/* filter = rovnaké dva štýly ako tlačidlá: aktívny plný ružový, ostatné biele s obrysom */
.pill {
  display: inline-flex; align-items: center; gap: .5rem; height: 44px; padding: 0 1.15rem;
  border-radius: 999px; border: 1.5px solid var(--line); background: #fff; color: var(--ink);
  font: 600 .9375rem/1 var(--f-body); text-decoration: none; white-space: nowrap;
  transition: background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.pill:hover { border-color: var(--ink); }
.pill.is-active { background: var(--pink); border-color: var(--pink); color: #fff; }
.pill__count { font-size: .75rem; font-weight: 700; opacity: .55; }
.pill.is-active .pill__count { opacity: .85; }

.archive__count { font-size: .875rem; font-weight: 600; color: var(--grey); margin-bottom: 1.25rem; }
.archive__results { transition: opacity .25s var(--ease); }
.archive__results.is-loading { opacity: .35; pointer-events: none; }
.archive__more { display: flex; justify-content: center; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.archive__empty { padding: clamp(3rem, 6vw, 5rem) 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.archive__empty p { font-family: var(--f-head); font-size: clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing: -.02em; max-width: 26ch; }

.agrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(2rem, 3.5vw, 3rem) clamp(1rem, 2vw, 1.75rem); }
.agrid .acard { width: auto; }
.agrid .acard:nth-child(even) { margin-top: 0; }
.agrid .acard__media { aspect-ratio: 4 / 3; }
.acard--full h3 { font-size: 1.25rem; margin-top: 1.1rem; }
.acard__excerpt { margin-top: .5rem; color: var(--grey); font-size: .9375rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.acard__meta { display: flex; gap: .4rem; margin-top: .75rem; font-size: .8125rem; color: var(--grey); }
.agrid .acard.is-new { animation: card-in .5s var(--ease) both; }
@keyframes card-in { from { opacity: 0; transform: translateY(16px); } }

/* --- Článok – jednoduché čítanie: fotka, nadpis, text, vedľa len zdieľanie ---- */
/* tenký ružový pruh navrchu obrazovky = koľko je prečítané */
.readbar { position: fixed; inset: 0 0 auto; height: 3px; z-index: 120; pointer-events: none; }
.readbar i { display: block; height: 100%; background: var(--pink); transform-origin: 0 50%; transform: scaleX(0); }

.post__cover { padding-top: calc(var(--hdr) + 1rem); }
.post__cover-inner { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 16 / 7; background: var(--soft); }
.post__cover-inner img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); }

/* stĺpec textu v strede; vľavo úzky pruh so zdieľaním, vpravo rovnako široké voľné miesto */
.post__layout {
  display: grid; grid-template-columns: 48px minmax(0, 720px) 48px;
  column-gap: clamp(1.5rem, 4vw, 3.5rem); justify-content: center; align-items: start;
}
.post__head { grid-column: 2; padding: clamp(2.5rem, 5vw, 3.75rem) 0 clamp(2rem, 4vw, 2.75rem); }
.post:not(:has(.post__cover)) .post__head { padding-top: calc(var(--hdr) + clamp(2.5rem, 6vw, 4.5rem)); }
.post__topic { height: 38px; padding: 0 .95rem; font-size: .875rem; margin-bottom: 1.5rem; }
.post__topic svg { width: 15px; height: 15px; transition: transform .3s var(--ease); }
.post__topic:hover svg { transform: translateX(-3px); }
.post__title { font-family: var(--f-head); font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.04; letter-spacing: -.04em; }
.post__lead { margin-top: 1.25rem; font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.5; color: var(--grey); }
.post__meta { display: flex; gap: .45rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: .9375rem; color: var(--grey); }

.post__main { grid-column: 2; grid-row: 2; }

/* zdieľanie – zvislý rad ikoniek, ktorý sa pri čítaní drží na mieste */
.share { grid-column: 1; grid-row: 2; position: sticky; top: calc(var(--hdr) + 1.5rem); display: flex; flex-direction: column; gap: .5rem; }
.share__btn {
  width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  border: 1.5px solid var(--line); background: #fff; color: var(--grey); cursor: pointer;
  transition: background .25s, color .25s, border-color .25s;
}
.share__btn svg { width: 17px; height: 17px; }
.share__btn:hover, .share__btn.is-done { background: var(--pink); border-color: var(--pink); color: #fff; }
.share__btn:focus:not(:focus-visible) { outline: none; }
.share__toast { position: absolute; left: 0; top: 100%; margin-top: .5rem; width: max-content; font-size: .8125rem; font-weight: 600; color: var(--pink); }

/* autorka na konci */
.avatar {
  flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%; overflow: hidden;
  display: grid; place-items: center; background: var(--pink); color: #fff;
  font-family: var(--f-head); font-size: 1.15rem; letter-spacing: .02em;
  box-shadow: 0 0 0 5px rgba(239, 88, 128, .15);
}
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar--lg { width: 96px; height: 96px; font-size: 2rem; box-shadow: 0 0 0 8px rgba(239, 88, 128, .15); }
.author-card {
  display: grid; grid-template-columns: auto 1fr; gap: clamp(1.25rem, 3vw, 2rem); align-items: start;
  margin-top: clamp(3rem, 6vw, 4.5rem); padding: clamp(1.5rem, 3.5vw, 2.5rem);
  border-radius: var(--r-lg); background: var(--pink-soft);
}
.author-card__label { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); }
.author-card__name { font-family: var(--f-head); font-size: clamp(1.75rem, 3vw, 2.4rem); letter-spacing: -.03em; line-height: 1.1; margin-top: .35rem; }
.author-card__role { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pink); margin-top: .4rem; }
.author-card__bio { margin-top: .9rem; color: rgba(42, 11, 18, .75); max-width: 60ch; }
.author-card .btn { margin-top: 1.25rem; }

.post__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.25rem; }
.post__nav-link { display: flex; flex-direction: column; gap: .35rem; padding: 1.1rem 1.25rem; border-radius: var(--r); border: 1.5px solid var(--line); text-decoration: none; font-weight: 600; line-height: 1.3; transition: border-color .25s; }
.post__nav-link small { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
.post__nav-link small svg { width: 14px; height: 14px; }
.post__nav-link:hover { border-color: var(--ink); }
.post__nav-link--next { text-align: right; grid-column: 2; }
.post__nav-link--next small { justify-content: flex-end; }

.related { padding: var(--section) 0 0; }
.related__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; margin-bottom: clamp(2rem, 4vw, 3rem); }

@media (max-width: 900px) {
  .post__layout { grid-template-columns: minmax(0, 720px); }
  .post__head, .post__main { grid-column: 1; }
  /* na mobile je zdieľanie malý rad ikoniek hneď pod dátumom */
  .share { grid-column: 1; grid-row: 2; position: relative; top: auto; flex-direction: row; margin: -.75rem 0 2rem; }
  .post__main { grid-row: 3; }
  .post__cover-inner { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .author-card { grid-template-columns: 1fr; }
  .post__nav { grid-template-columns: 1fr; }
  .post__nav-link--next { grid-column: auto; text-align: left; }
  .post__nav-link--next small { justify-content: flex-start; }
}

/* --- Typografia obsahu (články a stránky) ------------------------------- */
.prose { font-size: 1.125rem; line-height: 1.75; }
.prose > * + * { margin-top: 1.25em; }
.prose h2, .prose h3, .prose h4 { font-family: var(--f-head); letter-spacing: -.025em; line-height: 1.15; margin-top: 2.2em; }
.prose h2 { font-size: clamp(1.75rem, 3vw, 2.35rem); }
.prose h3 { font-size: clamp(1.4rem, 2.3vw, 1.75rem); }
.prose h4 { font-size: 1.25rem; }
.prose h2 + *, .prose h3 + *, .prose h4 + * { margin-top: .75em; }
.prose a { color: var(--red); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.prose a:hover { color: var(--pink-deep); }
.prose strong { font-weight: 600; }
.prose ul, .prose ol { padding-left: 1.4em; }
.prose li + li { margin-top: .4em; }
.prose ul li::marker { color: var(--pink); }
.prose ol li::marker { color: var(--pink); font-weight: 700; }
.prose blockquote, .prose .wp-block-quote {
  margin-inline: 0; padding: .25em 0 .25em 1.25em; border-left: 3px solid var(--pink);
  font-family: var(--f-head); font-size: 1.375em; line-height: 1.4; letter-spacing: -.015em;
}
.prose blockquote cite, .prose .wp-block-quote cite { display: block; margin-top: .75em; font-family: var(--f-body); font-size: .875rem; font-style: normal; color: var(--grey); }
.prose img { border-radius: var(--r); height: auto; }
.prose img.is-small { width: auto; max-width: min(240px, 60%); border-radius: 8px; box-shadow: 0 10px 24px -12px rgba(42, 11, 18, .35); }
.prose figure { margin: 2em 0; }
.prose figcaption, .prose .wp-element-caption { margin-top: .6em; font-size: .875rem; color: var(--grey); text-align: center; }
.prose hr, .prose .wp-block-separator { border: 0; height: 1px; background: var(--line); margin: 2.5em 0; }
.prose table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.prose th, .prose td { padding: .6em .75em; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { font-weight: 600; background: var(--soft); }
.prose iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--r); }
.prose .wp-block-embed__wrapper iframe { display: block; }
.prose .alignwide { width: min(1040px, 100vw - 2 * var(--gutter)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.prose .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); border-radius: 0; }
.prose .aligncenter { margin-inline: auto; }
.prose .alignleft { float: left; margin: .3em 1.5em 1em 0; max-width: 50%; }
.prose .alignright { float: right; margin: .3em 0 1em 1.5em; max-width: 50%; }
.prose::after { content: ""; display: table; clear: both; }
.page-content { padding-bottom: var(--section); }

/* tlačidlá z editora – len dva typy ako na domovskej stránke:
   plné ružové so šípkou (predvolené) a biele s obrysom (štýl „Obrys“) */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-block-button__link {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .85rem 1.4rem; border-radius: 999px; border: 1.5px solid transparent;
  background: var(--pink); color: #fff !important;
  font: 600 .9375rem/1 var(--f-body); text-decoration: none !important;
  transition: background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.wp-block-button__link::after {
  content: ""; width: 17px; height: 17px; flex-shrink: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .3s var(--ease);
}
.wp-block-button__link:hover { background: var(--red); }
.wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--ink) !important; border-color: var(--line); box-shadow: none; }
.wp-block-button.is-style-outline .wp-block-button__link::after { display: none; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; border-color: var(--ink); }

/* --- Štýly blokov a vzory TERATA ---------------------------------------- */
.is-style-lead { font-family: var(--f-head); font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.35; letter-spacing: -.02em; }
.prose ul.is-style-checks, .prose ul.is-style-links { list-style: none; padding: 0; }
.prose ul.is-style-checks { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(1.5rem, 4vw, 3rem); }
.is-style-checks li { position: relative; padding: 1em 0 1em 2.6em; border-bottom: 1px solid var(--line); margin: 0 !important; line-height: 1.5; }
.is-style-checks li::before {
  content: ""; position: absolute; left: 0; top: .9em; width: 1.6em; height: 1.6em; border-radius: 50%;
  background: var(--pink-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ab1d33' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.is-style-links li { padding: 1em 0; border-top: 1px solid var(--line); margin: 0 !important; }
.is-style-links li:last-child { border-bottom: 1px solid var(--line); }
.is-style-links a { font-weight: 600; color: var(--maroon); text-decoration: none; background: linear-gradient(var(--pink), var(--pink)) 0 100% / 0 2px no-repeat; transition: background-size .4s var(--ease), color .2s; }
.is-style-links a:hover { background-size: 100% 2px; color: var(--red); }

.is-style-card, .is-style-dark { border-radius: var(--r-lg); padding: clamp(1.75rem, 4vw, 3rem); }
.is-style-card { background: var(--pink-soft); }
.is-style-dark { background: var(--maroon); color: #fff; }
.is-style-dark a { color: var(--pink); }
.prose .is-style-card > :first-child, .prose .is-style-dark > :first-child { margin-top: 0; }

.is-style-photo img { border-radius: 6px; padding: 8px 8px 30px; background: #fff; box-shadow: 0 16px 34px -12px rgba(42, 11, 18, .38); transform: rotate(-2deg); }

/* Hodnoty – tmavá sekcia cez celú šírku, ako „O nás“ na domovskej stránke */
.t-values {
  position: relative; overflow: hidden; isolation: isolate;
  margin: clamp(4rem, 8vw, 6rem) calc(50% - 50vw) !important;
  padding: var(--section) var(--gutter);
  background: var(--maroon); color: #fff; text-align: center;
  border-radius: var(--r-lg);
}
.t-values::before {
  content: ""; position: absolute; z-index: -1; left: 50%; bottom: -55%; width: 120vw; height: 90%; transform: translateX(-50%);
  background:
    radial-gradient(closest-side at 35% 50%, rgba(239, 88, 128, .5), transparent),
    radial-gradient(closest-side at 70% 55%, rgba(171, 29, 51, .65), transparent);
  filter: blur(40px); pointer-events: none;
}
.t-values > * { max-width: var(--wrap); margin-inline: auto; }
.prose .t-values h2 { margin-top: 0; font-size: clamp(2.6rem, 6vw, 5.25rem); line-height: 1; letter-spacing: -.035em; }
.t-values .wp-block-columns { gap: 0; margin-top: clamp(2.5rem, 5vw, 4rem); }
.t-values .wp-block-column { padding: .5rem clamp(1.25rem, 3vw, 2.5rem); }
.t-values .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, .16); }
.prose .t-values .wp-block-column h3 { margin-top: 0; font-size: clamp(2rem, 3.4vw, 3rem); letter-spacing: -.03em; color: var(--pink); }
.t-values .wp-block-column p { color: rgba(255, 255, 255, .66); max-width: 30ch; margin-inline: auto; }

/* Profil človeka – ružová karta; bez fotky je vľavo veľký kruh so značkou TERATA */
.t-person {
  position: relative; overflow: hidden;
  margin-block: clamp(3rem, 6vw, 5rem) !important;
  padding: clamp(1.75rem, 4.5vw, 3.75rem);
  border-radius: var(--r-lg); background: var(--pink-soft);
}
.t-person:not(:has(img)) {
  display: grid; grid-template-columns: clamp(120px, 17vw, 210px) 1fr; column-gap: clamp(1.5rem, 4.5vw, 4rem); align-items: start;
}
.t-person:not(:has(img)) > * { grid-column: 2; }
.t-person:not(:has(img))::before {
  content: ""; grid-column: 1; grid-row: 1 / span 12; align-self: start; aspect-ratio: 1; border-radius: 50%;
  background: var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23fff' d='M14 17h36v5H34.6v26h-5.2V22H14z'/%3E%3C/svg%3E") center / 58% no-repeat;
  box-shadow: 0 0 0 10px rgba(239, 88, 128, .18), 0 0 0 22px rgba(239, 88, 128, .08);
}
/* WordPress obaľuje obsah skupiny do __inner-container – flex kvôli poradiu (funkcia nad menom) */
.t-person .wp-block-group__inner-container { display: flex; flex-direction: column; align-items: flex-start; }
.t-person .wp-block-group__inner-container > * { margin-top: 0; margin-bottom: 0; }
.t-person .wp-block-group__inner-container > p:not(.t-person__role) + p { margin-top: 1em; }
.prose .t-person__role {
  order: -1; margin: 0 0 .6rem !important;
  font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pink);
}
.prose .t-person h3 { margin-top: 0; font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: 1; letter-spacing: -.04em; }
.prose .t-person h3 { margin-bottom: 1.5rem; }
.t-person p:not(.t-person__role) { color: rgba(42, 11, 18, .78); max-width: 62ch; }
.t-person .wp-block-buttons { margin-top: 2rem; }
.t-person .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); align-items: flex-start; }

/* Užitočné zdroje */
.t-resources { margin-block: clamp(3rem, 6vw, 5rem) !important; scroll-margin-top: calc(var(--hdr) + 1rem); }

/* stĺpce z editora */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: clamp(1.25rem, 3vw, 2.5rem); }
.wp-block-column { flex: 1 1 0; min-width: 0; }

/* --- Kontakt ------------------------------------------------------------- */
.contact { padding-bottom: var(--section); }
.contact__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.contact__main { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.contact__main .phero__lead { margin: -.25rem 0 1.25rem; }
.contact .datacard { margin-top: .5rem; }
.contact__mail {
  font-family: var(--f-head); font-size: clamp(2.2rem, 5.4vw, 4.75rem); letter-spacing: -.04em; line-height: 1; text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .5s var(--ease), color .3s;
  word-break: break-word;
}
.contact__mail:hover { background-size: 100% 2px; color: var(--red); }
.contact__note { max-width: 42ch; color: var(--grey); font-size: 1.125rem; }
.contact__content { margin-top: 1rem; }
.datacard { position: sticky; top: calc(var(--hdr) + 1.5rem); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--r-lg); background: var(--maroon); color: #fff; }
.datacard h2 { font-family: var(--f-head); font-size: 1.75rem; letter-spacing: -.02em; margin-bottom: 1.25rem; }
.datacard dl { margin: 0 0 1.75rem; }
.datacard dl > div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .75rem 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.datacard dt { font-size: .8125rem; font-weight: 600; color: rgba(255, 255, 255, .6); }
.datacard dd { margin: 0; }
.datacard__iban dd { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-variant-numeric: tabular-nums; }
.copy-btn {
  display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .65rem; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .3); background: transparent; color: #fff; font: 600 .75rem var(--f-body); cursor: pointer;
  transition: background .2s, color .2s;
}
.copy-btn svg { width: 14px; height: 14px; }
.copy-btn:hover, .copy-btn.is-done { background: var(--pink); border-color: var(--pink); color: var(--maroon); }
.datacard .btn--dark { background: var(--pink); color: var(--maroon); }
.datacard .btn--dark .btn__dot { background: var(--maroon); color: var(--pink); }
.datacard .btn__dot svg { width: 17px; height: 17px; }

/* --- 404 a vyhľadávanie --------------------------------------------------- */
.e404 { min-height: 80svh; }
.e404__code { font-family: var(--f-head); font-size: clamp(5rem, 16vw, 13rem); line-height: .85; letter-spacing: -.06em; color: var(--pink); margin-bottom: 1rem; }
.e404__topics { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.search { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 2rem; max-width: 560px; }
.search input {
  flex: 1 1 240px; height: 52px; padding: 0 1.25rem; border-radius: 999px; border: 1.5px solid var(--line);
  font: 500 1rem var(--f-body); color: var(--ink); background: #fff;
}
.search input:focus { outline: none; border-color: var(--pink); }
.search .btn svg { width: 18px; height: 18px; }

/* --- Responzivita --------------------------------------------------------- */
@media (max-width: 960px) {
  .agrid { grid-template-columns: 1fr 1fr; }
  .contact__grid { grid-template-columns: 1fr; }
  .datacard { position: static; }
}
@media (max-width: 600px) {
  .agrid { grid-template-columns: 1fr; }
  .archive__search { max-width: none; }
  .t-values .wp-block-column + .wp-block-column { border-left: 0; }
  .datacard dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .post__cover-inner { aspect-ratio: 4 / 3; }
  .prose .alignleft, .prose .alignright { float: none; margin: 1.5em 0; max-width: 100%; }
}
@media (max-width: 781px) {
  .prose ul.is-style-checks { grid-template-columns: 1fr; }
  .t-person:not(:has(img)) { grid-template-columns: 1fr; }
  .t-person:not(:has(img)) > * { grid-column: 1; }
  .t-person:not(:has(img))::before { width: 88px; grid-row: auto; margin-bottom: 1.25rem; }
  .t-values .wp-block-column { padding: 1.75rem 0; }
  .t-values .wp-block-column + .wp-block-column { border-top: 1px solid rgba(255, 255, 255, .16); }
  .wp-block-columns { flex-direction: column; }
  .t-values .wp-block-column + .wp-block-column { border-left: 0; }
}

/* --- Automatický preklad (Google) – skryť lištu a bubliny Googlu ---------- */
#gt-element { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
body { top: 0 !important; }
.skiptranslate > iframe, iframe.skiptranslate, .goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, .goog-te-spinner-pos,
.VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf, .VIpgJd-yAWNEb-L7lbkb { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
font { vertical-align: inherit !important; }

/* --- Zdroje a literatúra – až na konci článku, menšie a tlmené ------------- */
.refs { margin-top: clamp(2.5rem, 5vw, 3.5rem); padding-top: 1.5rem; border-top: 1px solid var(--line); }
.refs__title { font-family: var(--f-body); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); margin-bottom: 1rem; }
.refs__list { font-size: .8125rem; line-height: 1.6; color: var(--grey); overflow-wrap: anywhere; }
.refs__list > * + * { margin-top: .5em; }
.refs__list ul, .refs__list ol { padding-left: 1.2em; }
.refs__list li + li { margin-top: .35em; }
.refs__list a { color: var(--grey); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 2px; }
.refs__list a:hover { color: var(--red); }
.refs__list h3, .refs__list h4 { font-family: var(--f-body); font-size: .8125rem; font-weight: 700; margin-top: 1em; }
