/* Slovenský deň kroja – Zvyklosti a kroje (plugin). Farby a písma preberá z témy (CSS premenné), inak platia tieto záložné hodnoty. */
:where(:root){--red:#e30613;--red-deep:#a30010;--indigo:#1f2b5c;--ink:#1d2036;--muted:#575c75;--line:#d8dbe9;--tint:#f2f3f9;--bg:#fff;--radius:2px;--arch:999px 999px 0 0;
 --font-head:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
/* záložné základy pre témy, ktoré ich nemajú (nulová špecifickosť, téma ich prepíše) */
:where(.wrap){width:min(1200px,100% - 2.5rem);margin-inline:auto}
:where(.section){padding:clamp(2.5rem,6vw,5rem) 0}
:where(.section--tint){background:var(--tint)}
:where(.section__head){max-width:46rem;margin-bottom:2rem}
:where(.btn){display:inline-block;font:700 1rem var(--font-body);padding:.85em 1.6em;background:var(--red);color:#fff;border:2px solid var(--red);text-decoration:none;border-radius:var(--radius)}
:where(.btn--outline){background:transparent;color:var(--indigo);border-color:var(--indigo)}
:where(.page-head){background:var(--tint);padding:2.2rem 0}
:where(.prose){font-size:1.1rem;line-height:1.75}
:where(.grid){display:grid;gap:2rem 1.6rem}
:where(.sr){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dkz-block{margin-top:3rem}
.dkz-block>h2{font-size:1.6rem}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}
.chip{display:inline-block;font:600 .92rem var(--font-body);padding:.35em .95em;border:1.5px solid var(--indigo);border-radius:999px;color:var(--indigo);text-decoration:none;background:#fff;cursor:pointer;line-height:1.4}
a.chip:hover,.chip--btn:hover{background:var(--indigo);color:#fff}
.chip.is-on,.chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
.chips--filter{margin-bottom:1.6rem}
.card .chips{margin-bottom:.5rem}
.card .chip{font-size:.8rem;padding:.15em .7em;border-color:var(--line);color:var(--muted)}

/* Mapa */
.explorer__label{font:700 .95rem var(--font-body);margin:0 0 .6rem;color:var(--muted)}
.explorer__grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:2.5rem;align-items:start}
.map svg{width:100%;height:auto;display:block;overflow:visible}
.kraj{cursor:pointer;outline:none}
.kraj path{fill:#e3e6f3;stroke:#fff;stroke-width:3;stroke-linejoin:round;transition:fill .18s}
.kraj.has-posts path{fill:#c3cae6}
.kraj text{font:700 19px var(--font-head);fill:var(--indigo);pointer-events:none}
.kraj text .kraj__count{font:600 15px var(--font-body);fill:inherit;opacity:.8}
.kraj:hover path,.kraj:focus-visible path,.kraj.is-active path,.kraj.is-match path{fill:var(--red)}
.kraj:hover text,.kraj:focus-visible text,.kraj.is-active text,.kraj.is-match text{fill:#fff}
.kraj--out:hover text,.kraj--out:focus-visible text,.kraj--out.is-active text,.kraj--out.is-match text{fill:var(--indigo)}
.kraj:focus-visible path{stroke:var(--indigo)}
.kraj.is-dim path{fill:#eef0f7}
.kraj.is-dim text{fill:#9aa0b8}
.kraj.is-dim .kraj__count{opacity:0}
.map--mini .kraj{cursor:pointer}
.map--mini .kraj text{display:none}
.map--mini .kraj path{fill:#e3e6f3}
.map--mini .kraj.is-highlight path{fill:#9aa6d6}
.map--mini .kraj.is-current path{fill:var(--red)}
.explorer__panel{background:var(--tint);border-top:6px solid var(--red);padding:1.5rem;min-height:320px}
.explorer__panel h3{font-size:1.5rem;margin-bottom:.3rem}
.explorer__panel .count{color:var(--muted);margin-bottom:1rem}
.plist{list-style:none;margin:0 0 1.2rem;padding:0}
.plist li{border-top:1px solid var(--line)}
.plist a{display:grid;grid-template-columns:72px 1fr;gap:.9rem;align-items:center;padding:.8rem 0;text-decoration:none;color:var(--ink)}
.plist img,.plist .ph{width:72px;height:72px;object-fit:cover;background:#fff}
.plist strong{font:700 1.05rem/1.25 var(--font-head);display:block;color:var(--indigo)}
.plist small{color:var(--muted)}
.plist a:hover strong{color:var(--red)}
.panel-note{border-left:4px solid var(--red);padding:.4rem 0 .4rem 1rem;margin:0 0 1rem;font-size:.98rem}

/* Karty */
.grid{display:grid;gap:2rem 1.6rem}
.grid--posts{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.grid--arch{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2.2rem 1.5rem}
.card__media{display:block;overflow:hidden;background:var(--tint)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card__media img{transform:scale(1.04)}
.card__ph{display:grid;place-items:center;width:100%;height:100%;background:var(--tint)}
.card__ph img{width:40%;height:auto;opacity:.5}
.card__title{font-size:1.2rem;margin:.9rem 0 .3rem}
.card__title a{color:var(--indigo);text-decoration:none}
.card__title a:hover{color:var(--red)}
.card__meta{color:var(--muted);font-size:.95rem;margin:0}
.card--post .card__media{aspect-ratio:3/2}
.card--arch{text-align:center}
.card--arch .card__media{aspect-ratio:4/5;border-radius:var(--arch,999px 999px 0 0)}
.card--arch .card__title{font-size:1.1rem}
.rows{display:grid;gap:0}
.card--row{display:grid;grid-template-columns:180px 1fr;gap:1.4rem;padding:1.3rem 0;border-top:1px solid var(--line)}
.card--row .card__media{aspect-ratio:1}
.card--row .card__title{margin-top:0}
.card__text{margin:.4rem 0 0;color:var(--ink)}
.kraj-page{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:3rem;align-items:start}
.kraj-page__map{position:sticky;top:110px}

/* Porovnanie */
.compare{overflow-x:auto}
.compare__table{width:100%;border-collapse:collapse;background:#fff;font-size:1rem}
.compare th,.compare td{padding:.9rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare thead th{background:var(--indigo);color:#fff;font:700 .95rem var(--font-body)}
.compare tbody th{font:700 1.05rem var(--font-head);color:var(--indigo);white-space:nowrap}
.compare tbody th small{display:block;font:400 .88rem var(--font-body);color:var(--muted);white-space:normal}
.compare tr.is-current{background:#fde9eb}
.compare__here{font-weight:700;color:var(--red-deep)}

/* Článok */
.article{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:3rem;padding:2.5rem 0 4rem;align-items:start}
.article--kroj{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}
.article__side{position:sticky;top:110px}
.prose{font-size:1.125rem;line-height:1.75}
.prose>*:last-child{margin-bottom:0}
.prose h2,.prose h3{margin-top:1.8em}
.prose img{height:auto}
.prose blockquote{margin:1.5em 0;padding-left:1.2rem;border-left:4px solid var(--red);font:italic 1.2rem/1.5 var(--font-head)}
.prose__hero{margin:0 0 2rem}
.prose__hero img{width:100%}
.facts{margin:0 0 1.4rem;border-top:3px solid var(--red)}
.facts div{display:grid;grid-template-columns:110px 1fr;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.facts dt{color:var(--muted);font-size:.95rem}
.facts dd{margin:0;font-weight:600}
.article__map{margin-top:1.4rem}
.article__map-title{font:700 1rem var(--font-head);color:var(--indigo);margin-bottom:.4rem}

/* Galéria + lightbox */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;gap:.7rem}
.gallery__item{display:block;overflow:hidden;background:var(--tint)}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery__item:hover img{transform:scale(1.04)}
.gallery__item--lead{grid-column:span 2;grid-row:span 2}
.lb{position:fixed;inset:0;z-index:200;background:rgba(15,18,40,.94);display:grid;grid-template-rows:1fr auto;padding:1rem}
.lb[hidden]{display:none}
.lb__stage{display:grid;place-items:center;min-height:0}
.lb__stage img{max-width:100%;max-height:100%;object-fit:contain}
.lb__cap{color:#fff;text-align:center;padding:.8rem 3rem;min-height:2.6rem}
.lb button{position:absolute;background:transparent;border:2px solid #fff;color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;line-height:1}
.lb button:hover{background:#fff;color:var(--indigo)}
.lb__x{top:1rem;right:1rem}.lb__p{left:1rem;top:50%}.lb__n{right:1rem;top:50%}


/* Kalendár */
.cal__filters{margin-bottom:1rem}
.cal__months{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}
.cal__m{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.4rem;padding:.7rem .9rem;background:#fff;border:1.5px solid var(--line);color:var(--muted);font:600 .98rem var(--font-body);cursor:pointer;border-radius:var(--radius)}
.cal__m.has-posts{color:var(--indigo);border-color:var(--indigo)}
.cal__m:hover{border-color:var(--red)}
.cal__m[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}
.cal__n{font-size:.85rem;opacity:.85}
.cal__sec{margin-bottom:2rem}
.cal__sec h3{border-bottom:3px solid var(--red);padding-bottom:.4rem;display:inline-block}
.cal__empty{color:var(--muted)}
.cal.is-js .cal__sec[hidden]{display:none}
@media (max-width:980px){
  .explorer__grid,.kraj-page,.article,.article--kroj{grid-template-columns:1fr}
  .kraj-page__map,.article__side{position:static}
  .cal__months{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:720px){
  .card--row{grid-template-columns:110px 1fr}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
  .compare__table thead{position:absolute;left:-9999px}
  .compare__table tr{display:block;border-bottom:3px solid var(--indigo);padding:.5rem 0}
  .compare__table th,.compare__table td{display:block;border:0;padding:.35rem 1rem}
  .compare__table td[data-label]::before,.compare__table th[data-label]::before{content:attr(data-label);display:block;font:700 .8rem var(--font-body);color:var(--muted)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
