/* GORJE-043: what the new site adds on top of sistem.css, strani.css, podoba.css (prototype GORJE-023, copy GORJE-038).
   Same tokens, no new colours. Kir's rules: cards in a row have one height, link at the bottom; no Vzpon «Λ»;
   straight photo edges; native scroll. */

.vsebina--ozka { max-width: calc(47.5rem + 2 * var(--rob)); }
/* GORJE-087 (D-1): «Skoči na vsebino» is hidden until the keyboard reaches it, then it shows top left above the header
   (the .sr of form labels stays hidden) */
.sr.skoci:focus-visible { position: fixed; z-index: 1000; top: 0.5rem; left: 0.5rem; width: auto; height: auto; overflow: visible; clip: auto;
  padding: 0.75rem 1.125rem; border-radius: 62.4375rem; background: var(--noc); color: var(--bela); font-weight: 600; outline-color: var(--jezero); }
/* GORJE-087 (D-3): one-column grids on narrow phones (320 px) take the screen width, not the width of their widest line */
.sporti, .izbor-uvod { grid-template-columns: minmax(0, 1fr); }
/* GORJE-087 (D-4): the date of «today» sits on the light gradient, so it is dark (noc), not megla (3.9:1 there) */
.je-danes .stevilka.megla { color: var(--noc); }
/* GORJE-087: the big sport card with its own photo (k-foto covers it all) does not load the 258 KB winter forest behind it */
.kartica-sport.kartica-sport--foto { background-image: none; }
@container (max-width: 25rem) { .poglavje-gumbi .gumb { max-width: 100%; white-space: normal; height: auto; min-height: 3rem; padding-block: 0.75rem; line-height: 1.25; text-align: center; } }
.zbiramo { display: inline-flex; align-items: center; gap: 0.375rem; padding: 2px 0.625rem; border-radius: 62.4375rem; background: var(--led); color: var(--megla); font-size: var(--t-xs); font-weight: 600; line-height: 1.6; }
.zbiramo::before { content: ""; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--ivje); flex: none; }
.razdelek.razdelek--led { background: var(--led); padding-block: var(--med-razdelki); margin-bottom: var(--med-razdelki); }  /* two classes: prva.css «.razdelek { padding-block: 0 … }» loads later and glued «Danes in ta teden» to the top of the band (Kir 23. 10. 2026) */
.mreza-pokr { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.pokrovitelji-gumb { margin-top: 2.5rem; }  /* GORJE-228: «Želite postati pokrovitelj?» under the sponsors -> /pokrovitelji */
@container (min-width: 64rem) { .mreza-pokr { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.past { position: absolute; left: -624.9375rem; width: 1px; height: 1px; overflow: hidden; }
.kolo { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--crta); transition: box-shadow calc(var(--cas-odziv) * var(--k)) ease; }
@media (hover: hover) and (pointer: fine) { .kolo:hover { box-shadow: inset 0 0 0 1.5px var(--noc); } }
.kolo:disabled { opacity: .35; cursor: default; }

/* ---------- home: first training in three steps ---------- */
.prvi-trening { padding-block: 3rem var(--med-razdelki); }
.prvi-trening .vsebina { display: grid; gap: 1.75rem; justify-items: start; }
.koraki { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; width: 100%; counter-reset: none; }
.koraki li { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: start; padding-top: 1rem; border-top: 1.5px solid var(--noc); }
.koraki .t-num { font-size: 2.5rem; line-height: .9; color: var(--jezero); }
.koraki .t-lg { font-weight: 600; }
@container (min-width: 48rem) { .koraki { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } .koraki li { grid-template-columns: 1fr; gap: 0.75rem; } }
@container (min-width: 64rem) { .prvi-trening .vsebina { grid-template-columns: 18.75rem 1fr; align-items: end; column-gap: 4rem; } .prvi-trening h2 { align-self: start; } .prvi-trening .gumb { grid-column: 2; } }

/* ---------- home: «Prvič pri nas?» - newcomers' questions (GORJE-210), same grid as the three steps ---------- */
.razdelek.domov-vprasanja { padding-top: var(--med-razdelki); }  /* the white sponsors block above: own air on top, as «Hvala za podporo» (Kir 24.10) */
.domov-vprasanja .vsebina { display: grid; gap: 1.5rem; justify-items: start; }
.domov-vprasanja-glava { display: grid; gap: 0.5rem; }
.domov-vprasanja-seznam { width: 100%; }
@container (min-width: 64rem) { .domov-vprasanja .vsebina { grid-template-columns: 18.75rem 1fr; column-gap: 4rem; align-items: start; } .domov-vprasanja .gumb { grid-column: 2; } }

/* ---------- home: the newest story, big ---------- */
.glavna-novica { display: grid; margin-bottom: 1.5rem; }
/* the text sets the row height on wide screens, never the photo: an unframed portrait photo from the form made the card 1118px tall (Kir 23. 10. 2026) */
.glavna-novica img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }  /* height auto: the 560 attribute must not win over 3:2 on a phone (GORJE-186c) */
.glavna-novica .k-vsebina { padding: 1.5rem; display: grid; gap: 1rem; align-content: center; justify-items: start; }
.glavna-novica .k-vsebina > p, .kartica-novica .k-vsebina > p { white-space: pre-line; }  /* one Enter in the form = a new line in the lead (Kir 23. 10. 2026: «Ne smemo pozabiti …» on its own line) */
.glavna-novica .meta { display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: center; }
.glavna-novica .k-povezava { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: var(--t-sm); font-weight: 600; }
/* GORJE-186c (Kir 23. 10. 2026): text on the left, the photo on the right exactly half, the card ~15 % taller than the
   text-only one of 186b (231 -> ~265 px at 1440 × 900); the heading's line-height 1.2 keeps the «g» of a clamped heading whole */
@container (min-width: 56.25rem) { .glavna-novica { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(clamp(15rem, 29.5svh, 21rem), auto); } .glavna-novica img { order: 2; height: 0; min-height: 100%; aspect-ratio: auto; } .glavna-novica .k-vsebina { padding: 2rem 2.5rem; gap: 0.75rem; } .glavna-novica .k-povezava { min-height: 1.5rem; }
  .glavna-novica h3, .glavna-novica .k-vsebina > p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .glavna-novica h3 { line-height: 1.2; padding-bottom: 0.08em; }
  /* GORJE-188b (Kir 23.10.2026, variant A): a close portrait - the photo column is as wide as the whole 3:2 frame at the card's height */
  .glavna-novica--ozko { grid-template-columns: minmax(0, 1fr) auto; } .glavna-novica--ozko img { width: calc(clamp(15rem, 29.5svh, 21rem) * 1.5); object-position: 50% 50%; }
  .glavna-novica:not(:has(> img)) { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; } .glavna-novica:not(:has(> img)) .k-vsebina { max-width: 48rem; } }  /* a story without a photo (hidden one, GORJE-186b): the text takes the whole card */

/* ---------- home: today and this week + weather ---------- */
.teden-vrsta { display: grid; gap: 1.5rem; align-items: stretch; }
@container (min-width: 64rem) { .teden-vrsta { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); } }
.teden-kartica { padding: 0 0 0.5rem; display: grid; align-content: start; }  /* no top padding: today's tint starts at the card's edge, no white strip above it (Kir 23. 10. 2026) */
.teden-dnevi { display: grid; }
.teden-dan { display: grid; grid-template-columns: 6rem 1fr; gap: 1rem; padding: 0.875rem 1.25rem; border-top: 1px solid var(--led); }
.teden-dan:first-child { border-top: 0; }
.teden-dan.je-danes { background: linear-gradient(90deg, rgba(48, 181, 219, .1), rgba(185, 233, 149, .06)); }
.teden-dan-ime { display: grid; gap: 0; align-content: start; }
.teden-dan-ime .t-sm { font-weight: 700; }
.teden-dan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.teden-dan .prost { padding-top: 2px; }
.teden-opomba { padding: 0.75rem 1.25rem 0.5rem; }
@container (min-width: 48rem) { .teden-dan { padding-inline: 1.75rem; grid-template-columns: 7.5rem 1fr; } .teden-opomba { padding-inline: 1.75rem; } }
.termin-vrsta { display: grid; grid-template-columns: 3.25rem 1fr; gap: 0.75rem; align-items: baseline; }
.termin-vrsta .ura { color: var(--megla); }
.termin-kaj { display: grid; gap: 0; position: relative; padding-left: 0.875rem; }
.termin-kaj::before { content: ""; position: absolute; left: 0; top: .5em; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--crta); }
.termin-kaj a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .termin-kaj a:hover { text-decoration-color: currentColor; } }
.termin--trening .termin-kaj::before, .koledar-legenda .termin--trening::before { background: var(--gradient-2); }
.termin--tekma .termin-kaj::before, .koledar-legenda .termin--tekma::before { background: var(--jezero); }
.termin--priprave .termin-kaj::before, .koledar-legenda .termin--priprave::before { background: var(--gradient-3); }
.termin--dogodek .termin-kaj::before, .termin--sestanek .termin-kaj::before, .koledar-legenda .termin--dogodek::before { background: var(--megla); }
.teden-desno { display: grid; gap: 1.5rem; align-content: start; }
.vreme, .naslednja-tekma { padding: 1.5rem; display: grid; gap: 0.75rem; align-content: start; justify-items: start; }
.vreme-zdaj { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.vreme-zdaj .t-num { font-size: 3.5rem; }
.vreme-dnevi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; width: 100%; }
.vreme-dnevi li { display: grid; gap: 2px; padding: 0.625rem 0.75rem; border-radius: 0.875rem; background: var(--sneg); }
.vreme-dnevi .stevilka { font-size: 1.25rem; }

/* ---------- home: utrinki strip ---------- */
.utrinki-trak { list-style: none; margin: 0; padding: 0 0 0.5rem; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(12.5rem, 15rem); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; }
.utrinki-trak li { scroll-snap-align: start; }
.utrinek { margin: 0; display: grid; gap: 0.5rem; }
.utrinek img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 1.125rem; }
.utrinek figcaption { display: grid; gap: 2px; }
.utrinki-mreza { display: grid; gap: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (min-width: 48rem) { .utrinki-mreza { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container (min-width: 64rem) { .utrinki-mreza { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.utrinki-prazno { max-width: 35rem; }

/* ---------- home: quick result search on the dark band ---------- */
.hitro-iskanje { display: grid; gap: 0.75rem; width: 100%; max-width: 25rem; }  /* the button under the field, as wide as it (Kir 23. 10. 2026) */
.hitro-iskanje .vnos { background: rgba(255, 255, 255, .08); color: var(--bela); box-shadow: inset 0 0 0 1.5px var(--ivje); }
.hitro-iskanje .vnos::placeholder { color: var(--ivje); }
.hitro-iskanje .gumb { width: 100%; height: 3.5rem; }

/* ---------- calendar ---------- */
.koledar { display: grid; gap: 1.25rem; padding-bottom: var(--med-razdelki); }
.koledar-orodja { display: grid; gap: 1rem; align-items: end; }
@container (min-width: 56.25rem) { .koledar-orodja { grid-template-columns: auto auto 1fr; gap: 1.5rem; } .koledar-filtri { justify-content: end; } }
.segment { display: inline-flex; padding: 0.25rem; border-radius: 62.4375rem; background: var(--bela); box-shadow: inset 0 0 0 1.5px var(--crta); justify-self: start; }
.segment button { min-height: 2.5rem; padding: 0 1.125rem; border-radius: 62.4375rem; font-size: var(--t-sm); font-weight: 600; transition: background-color calc(var(--cas-stanje) * var(--k)) var(--ease-out), color calc(var(--cas-stanje) * var(--k)) var(--ease-out); }
.segment button[aria-pressed="true"], .segment button[aria-selected="true"] { background: var(--noc); color: var(--bela); }
.segment--siroki { display: flex; flex-wrap: wrap; border-radius: 1.5rem; }
.koledar-premik { display: flex; align-items: center; gap: 0.5rem; }
.koledar-filtri { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.polje--ozko { min-width: 10.625rem; flex: 1 1 10.625rem; }
.polje--ozko > label { font-size: var(--t-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--megla); }
.koledar-naslov { min-height: 1.2em; }
.koledar-pogled { min-height: 15rem; }
.k-mesec { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-radius: var(--r-kartica); overflow: hidden; background: var(--crta); gap: 1px; box-shadow: var(--senca-kartica); }
.k-mesec-dan-ime { background: var(--bela); padding: 0.625rem 0.5rem; font-size: var(--t-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--megla); }
.k-celica { position: relative; background: var(--bela); min-height: 4rem; padding: 0.375rem; display: grid; align-content: start; gap: 0.25rem; text-align: left; font: inherit; color: inherit; }
.k-celica.drug-mesec { background: var(--sneg); color: var(--megla); }
.k-celica .k-st { font-family: var(--f-glas); font-weight: 600; font-size: 1.0625rem; width: 1.875rem; height: 1.875rem; display: grid; place-items: center; border-radius: 50%; }
.k-celica.je-danes .k-st { background: var(--gradient); color: var(--noc); }
.k-celica .k-pike { display: flex; flex-wrap: wrap; gap: 0.25rem; padding-left: 0.25rem; }
.k-celica .k-pike span { width: 0.5rem; height: 0.5rem; border-radius: 50%; }
.k-celica .k-oznake { display: none; }
button.k-celica { cursor: pointer; transition: background-color calc(var(--cas-odziv) * var(--k)) ease; }
@media (hover: hover) and (pointer: fine) { button.k-celica:hover { background: var(--led); } }
@container (min-width: 56.25rem) {
  .k-celica { min-height: 7rem; padding: 0.5rem; }
  .k-celica .k-pike { display: none; }
  .k-celica .k-oznake { display: grid; gap: 3px; }
  .k-oznaka { font-size: 0.75rem; line-height: 1.3; font-weight: 600; padding: 2px 0.375rem; border-radius: 0.375rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.k-oznaka.termin--trening, .k-pike .termin--trening { background: var(--dogodek-nasi); }
.k-pike .termin--trening { background: var(--gradient-2); }
.k-oznaka.termin--tekma { background: var(--dogodek-tekma); }
.k-pike .termin--tekma { background: var(--jezero); }
.k-oznaka.termin--priprave { background: #EEF8E3; }
.k-pike .termin--priprave { background: var(--gradient-3); }
.k-oznaka.termin--dogodek, .k-oznaka.termin--sestanek { background: var(--dogodek-drustvo); }
.k-pike .termin--dogodek, .k-pike .termin--sestanek { background: var(--megla); }
.k-teden { display: grid; gap: 1px; background: var(--crta); border-radius: var(--r-kartica); overflow: hidden; box-shadow: var(--senca-kartica); }
@container (min-width: 56.25rem) { .k-teden { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.k-teden-dan { background: var(--bela); padding: 0.875rem 1rem; display: grid; gap: 0.625rem; align-content: start; }
@container (min-width: 56.25rem) { .k-teden-dan { min-height: 16.25rem; padding: 0.875rem 0.75rem; } }
.k-teden-dan.je-danes { background: linear-gradient(180deg, rgba(48, 181, 219, .1), rgba(48, 181, 219, 0) 7.5rem), var(--bela); } /* GORJE-126: the tint lies on white - before, the grey grid lines (.k-teden) showed through its top */
.k-teden-glava { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.k-teden-glava .t-sm { font-weight: 700; }
.k-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.625rem; }
@container (min-width: 56.25rem) { .k-teden .termin-vrsta { grid-template-columns: 1fr; gap: 0; } }
.k-dan { background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); padding: 1.5rem; display: grid; gap: 1rem; }
.k-dan .termin-vrsta { grid-template-columns: 4rem 1fr; padding-top: 0.75rem; border-top: 1px solid var(--led); }
.k-dan .termin-vrsta:first-child { border-top: 0; padding-top: 0; }
.k-prazno { color: var(--megla); }
.koledar-legenda { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; color: var(--megla); }
.koledar-legenda li { display: inline-flex; align-items: center; gap: 0.5rem; }
.koledar-legenda li::before { content: ""; width: 0.625rem; height: 0.625rem; border-radius: 50%; }
.koledar-narocnina .kartica { padding: 1.75rem; display: grid; gap: 0.75rem; justify-items: start; max-width: 40rem; }
.koledar-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem; }  /* GORJE-097: Apple and Google; under 480 px one per line, full width */
@container (max-width: 29.9375rem) { .koledar-narocnina .kartica { padding: 1.25rem 1rem; } .koledar-gumbi { display: grid; width: 100%; } .koledar-gumbi .gumb { padding: 0 0.875rem; } }
@container (max-width: 22.4375rem) { .koledar-gumbi .gumb .pu, .koledar-gumbi .gumb .ravnovesje { display: none; } }  /* «Add to Google Calendar» fits 320 px on one line */
.primer-znacka { font-size: 0.6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--megla); }

/* ---------- results search ---------- */
.iskanje-rezultatov { margin-top: 1.5rem; }
@container (min-width: 48rem) { .iskanje-rezultatov { grid-template-columns: minmax(0, 1fr) 11.25rem 12.5rem; } }
.vnos-ikona { position: relative; }
.vnos-ikona .pu { position: absolute; left: 0.875rem; top: 50%; translate: 0 -50%; color: var(--megla); pointer-events: none; }
.vnos-ikona .vnos { padding-left: 3rem; }
/* GORJE-052: «Prenesi kot tabelo» under the filter - Excel and CSV of what the filter shows */
.prenos-tabele { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin-top: 1rem; }
.prenos-tabele[hidden] { display: none; }
.prenos-tabele p { margin: 0; }
.prenos-gumbi { display: flex; gap: 0.5rem; }
.prenos-gumbi .gumb { gap: 0.375rem; }
.prenos-gumbi .gumb:disabled { opacity: .45; cursor: not-allowed; }
.zadetki { display: grid; gap: 1.5rem; }
.oseba-rezultati { padding: 1.5rem; display: grid; gap: 0.75rem; }
.oseba-rezultati h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem; }
.zadetek { display: grid; grid-template-columns: 2.75rem 1fr auto; gap: 0.25rem 1rem; align-items: baseline; padding: 0.75rem 0; border-top: 1px solid var(--led); }
.zadetek:first-of-type { border-top: 0; }
.zadetek .stevilka.mesto { font-size: 1.5rem; }
.zadetek-tekma { display: grid; gap: 2px; min-width: 0; }
.zadetek-tekma a { font-weight: 600; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .zadetek-tekma a:hover { text-decoration-color: currentColor; } }
mark { background: rgba(118, 212, 197, .45); color: inherit; border-radius: 3px; padding: 0 1px; }
.dokumenti--samostojni { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--crta); }
.dokumenti--samostojni .dokument { padding: 1rem 0; border-top: 1px solid var(--crta); }
.dokumenti--samostojni .dokument { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.25rem 1.5rem; align-items: center; }
.dokumenti--samostojni .dokument .vrsta { grid-column: 1; grid-row: 1; }
.dokumenti--samostojni .dokument .t-base { grid-column: 1; grid-row: 2; }
.dokumenti--samostojni .dokument > :last-child { grid-column: 2; grid-row: 1 / span 2; justify-self: end; }
@container (max-width: 37.4375rem) { .dokumenti--samostojni .dokument { grid-template-columns: 1fr; } .dokumenti--samostojni .dokument > :last-child { grid-column: 1; grid-row: 3; justify-self: start; } }

/* ---------- history ---------- */
.knjiga-kartica { display: grid; grid-template-columns: 7rem 1fr; }
.knjiga-platnica { background: var(--noc); color: var(--bela); display: grid; align-content: space-between; padding: 1rem 0.875rem; min-height: 10rem; position: relative; }
.knjiga-platnica::after { content: ""; position: absolute; inset: auto 0.875rem 0.875rem 0.875rem; height: 0.25rem; border-radius: 2px; background: var(--gradient); }
.knjiga-platnica .t-sm { color: var(--ivje); line-height: 1.3; padding-bottom: 0.875rem; }
.knjiga-kartica .k-vsebina { padding: 1.25rem 1.5rem; display: grid; grid-template-rows: auto 1fr auto; gap: 0.5rem; justify-items: start; }
.knjiga-kartica .k-povezava { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: var(--t-sm); font-weight: 600; }
/* GORJE-070: both books on one shelf - the real cover, which one to read, read online and the original PDF */
.knjiga-platnica-slika { display: block; padding: 1.25rem 0 1.25rem 1.25rem; }
.knjiga-platnica-slika img { display: block; width: 100%; height: auto; border-radius: 0.375rem; border: 1px solid var(--crta); box-shadow: var(--senca-kartica); }
.knjigi .knjiga-kartica .k-vsebina { grid-template-rows: auto auto 1fr; gap: 0.75rem; }
.knjiga-dejanja { align-self: end; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; }
.knjiga-dejanja .povezava { min-height: 2.75rem; display: inline-flex; align-items: center; font-size: var(--t-sm); }
.knjigi .knjiga-kartica .k-vsebina { grid-template-columns: minmax(0, 1fr); }
.knjiga-dejanja .gumb { white-space: normal; }
@container (max-width: 63.9375rem) {
  .knjigi .knjiga-kartica { grid-template-columns: minmax(0, 1fr); }
  .knjigi .knjiga-platnica-slika { padding: 1.25rem 1.5rem 0; }
  .knjigi .knjiga-platnica-slika img { width: 5.5rem; }
}
@container (min-width: 64rem) { .knjigi .knjiga-kartica { grid-template-columns: 9.25rem minmax(0, 1fr); } }
.mejniki { list-style: none; margin: 0; padding: 0; display: grid; }
.mejnik { display: grid; grid-template-columns: 1fr; gap: 0.5rem; padding: 1.75rem 0; border-top: 1px solid var(--crta); }
.mejnik-leto { font-size: 2.5rem; color: var(--jezero); }
.mejnik-vsebina { display: grid; gap: 0.625rem; justify-items: start; max-width: 68ch; }
.mejnik-vsebina img { border-radius: 0.875rem; width: auto; max-width: min(100%, 26.25rem); max-height: 16.25rem; object-fit: contain; background: var(--led); filter: grayscale(1) contrast(.98); }
@container (min-width: 48rem) { .mejnik { grid-template-columns: 12.5rem 1fr; gap: 2rem; } .mejnik-leto { font-size: 3.25rem; } }
@container (min-width: 64rem) {
  .mejnik-vsebina { max-width: none; grid-template-columns: minmax(0, 68ch) minmax(0, 1fr); column-gap: 3rem; align-items: start; }
  .mejnik-vsebina > :not(img) { grid-column: 1; }
  .mejnik-vsebina > img { grid-column: 2; grid-row: 1 / span 3; justify-self: end; max-height: 15rem; }
}
.zavihki { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.zavihki button { min-height: 2.75rem; padding: 0 1.125rem; border-radius: 62.4375rem; box-shadow: inset 0 0 0 1.5px var(--crta); font-size: var(--t-sm); font-weight: 600; }
.zavihki button[aria-selected="true"] { background: var(--noc); color: var(--bela); box-shadow: none; }
.zavihki button[aria-selected="true"] .megla { color: var(--ivje); }
.osebe { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
@container (min-width: 40rem) { .osebe { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 64rem) { .osebe { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.oseba { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: 1rem; align-items: start; }
.oseba img { width: 4rem; height: 5rem; object-fit: cover; border-radius: 0.625rem; filter: grayscale(1); }
.oseba-zacetnici { width: 4rem; height: 5rem; border-radius: 0.625rem; background: var(--led); display: grid; place-items: center; font-family: var(--f-glas); font-weight: 700; font-size: 1.625rem; color: var(--megla); }
.oseba h3 button { text-align: left; font: inherit; font-weight: 600; }
.okno-zgodba { width: min(42.5rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; }
.okno-zgodba .zg-slika { margin: 0 0 1rem; display: grid; gap: 0.5rem; }
.okno-zgodba .zg-slika img { width: 100%; max-height: 52vh; object-fit: contain; background: var(--led); border-radius: 0.875rem; filter: grayscale(1); }
.okno-zgodba [data-zg="vir"] { margin-top: 0.75rem; }

/* ---------- book viewer ---------- */
.knjiga { display: grid; gap: 1rem; justify-items: center; margin-bottom: 1.5rem; }
.knjiga-list { width: 100%; max-width: 47.5rem; background: var(--bela); border-radius: 0.5rem; box-shadow: var(--senca-dvig); }
.knjiga-list img { width: 100%; height: auto; border-radius: 0.5rem; }
.knjiga-orodja { display: flex; align-items: center; gap: 1rem; }

/* ---------- phone page ---------- */
.telefon-kartica { padding: 1.75rem; display: grid; gap: 1rem; align-content: start; justify-items: start; }
.koraki-seznam { margin: 0; padding-left: 1.3em; display: grid; gap: 0.375rem; }
.namestitev { display: grid; gap: 0.75rem; justify-items: start; }
.obvestila { display: grid; gap: 1rem; justify-items: start; }
.obvestila fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.tema { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.75rem; align-items: start; min-height: 2.75rem; cursor: pointer; }
.tema input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tema > span:last-child { display: grid; }
.tema { position: relative; }
.tema .kvadrat { width: 1.375rem; height: 1.375rem; margin-top: 2px; border-radius: 0.375rem; box-shadow: inset 0 0 0 1.5px var(--megla); display: grid; place-items: center; color: var(--bela); background: var(--bela); transition: background-color calc(var(--cas-odziv) * var(--k)) ease; }
.tema .kvadrat svg { width: 0.875rem; height: 0.875rem; opacity: 0; }
.tema input:checked + .kvadrat { background: var(--noc); box-shadow: none; }
.tema input:checked + .kvadrat svg { opacity: 1; }
input[type="file"].vnos { height: auto; min-height: 3rem; padding: 0.5rem 0.75rem; font-size: var(--t-sm); }
input[type="file"].vnos::file-selector-button { margin-right: 0.75rem; min-height: 2rem; padding: 0 0.875rem; border: 0; border-radius: 62.4375rem; background: var(--led); color: var(--noc); font: inherit; font-weight: 600; cursor: pointer; }
.tema input:focus-visible + .kvadrat { outline: 2px solid var(--jezero); outline-offset: 3px; }

/* ---------- editing ---------- */
.urejanje { display: grid; gap: 1.25rem; padding-bottom: var(--med-razdelki); }
.urejanje-obrazec, .urejanje-prijava { padding: 1.75rem; }
.urejanje-prijava { margin-bottom: var(--med-razdelki); display: grid; gap: 1rem; }
.napaka-posiljanja { color: var(--napaka); font-weight: 600; }

/* ---------- closed part, about ---------- */
.klub-kartica { padding: 1.5rem; display: grid; grid-template-rows: auto auto 1fr auto; gap: 0.5rem; justify-items: start; }
.klub-kartica .k-povezava { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: var(--t-sm); font-weight: 600; }
.seznam-manjka { list-style: none; margin: 0; padding: 0; display: grid; border-bottom: 1px solid var(--crta); }
.manjka { display: grid; gap: 2px; padding: 0.75rem 0; border-top: 1px solid var(--crta); }

/* GORJE-057: Cenik in obveznosti (stran sekcije) */
.cenik dd p { margin-top: 0.375rem; }
.cenik-zakaj { margin-top: 1.5rem; max-width: 40rem; }
@container (min-width: 64rem) { .podatki.cenik { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* GORJE-063: tone check window before «Objavi» (ton.js) */
.ton-okno { width: min(40rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; }
.ton-podnaslov { margin-top: 1.5rem; }
.ton-seznam { list-style: none; margin: 0.75rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.ton-vrstica { padding: 0.75rem 1rem; border-radius: var(--r-polje); background: var(--led); display: grid; gap: 0.25rem; overflow-wrap: anywhere; }
.ton-staro { color: var(--megla); text-decoration-color: var(--napaka); }
.ton-novo { text-decoration: none; font-weight: 700; color: var(--uspeh); }
.ton-najdeno { background: #FFE9A8; color: var(--noc); border-radius: 0.25rem; padding: 0 2px; }
.ton-okno .okno-gumbi { position: sticky; bottom: -2rem; margin: 1.5rem -2rem -2rem; padding: 1rem 2rem 1.5rem; background: var(--bela); border-top: 1px solid var(--crta); }
.ton-okno .okno-gumbi .gumb { flex: 1 1 auto; justify-content: center; }
@container (max-width: 30rem) { .ton-okno .okno-gumbi { bottom: -1.5rem; margin: 1.25rem -1.5rem -1.5rem; padding: 0.75rem 1.5rem 1.25rem; } }

/* GORJE-072: credit of a photo that is not the club's (author, licence) - under the card, the card itself is a link */
.foto-vir { margin: 0.625rem 0.25rem 0; line-height: 1.45; }
.foto-vir a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .foto-vir a:hover { color: var(--jezero); } }

/* GORJE-071 (Kir 19.10, variant B): leaders' portraits on «Kdo smo» - one look for everyone: background cut out on the
   Mac, brand «led» behind, «face and shoulders» 4:5. Phone: a small portrait beside the text, so 8 cards stay short. */
.kartica-vodja { grid-template-columns: minmax(0, 1fr); padding: 0; gap: 0; }
.kartica-vodja .vodja-okvir { display: block; aspect-ratio: 4 / 5; background: var(--led); overflow: hidden; }
.kartica-sekcija.kartica-vodja .vodja-okvir img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kartica-vodja .vodja-okvir--svizec { display: grid; place-items: center; }
.kartica-sekcija.kartica-vodja .vodja-okvir--svizec img { width: 46%; height: auto; object-fit: contain; }
.kartica-vodja .k-vsebina { padding: 1rem 1.25rem 1.25rem; }
@container (max-width: 39.9375rem) {
  .kartica-vodja { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding: 1rem; align-items: start; }
  .kartica-vodja .vodja-okvir { border-radius: 0.625rem; }
  .kartica-vodja .k-vsebina { padding: 0; }
}

/* GORJE-078: one «next» link at the end of pages that used to be dead ends */
.naprej-povezava { margin-top: 1rem; }

/* GORJE-079: drafts for the club behind its login (klub-osnutek-*): a strip on top, club questions in yellow */
.osnutek-trak { padding: 1rem 1.25rem; border-radius: var(--r-polje); background: #FFE9A8; color: var(--noc); }
.vprasaj-klub { display: inline; padding: 1px 0.375rem; border-radius: 0.25rem; background: #FFE9A8; color: var(--noc); font-weight: 600; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.osnutek-vprasanja { display: grid; gap: 1rem; justify-items: start; margin-top: 1rem; padding: 1.5rem; border-radius: var(--r-kartica); background: var(--led); max-width: 40rem; }
.osnutek .podatki { max-width: 40rem; }
.vprasanje-odgovor { display: grid; gap: 0.75rem; justify-items: start; max-width: 40rem; padding-top: 1.25rem; border-top: 1px solid var(--crta); }
.na-kratko { display: grid; gap: 1rem; justify-items: start; }
.na-kratko.kartica { padding: 1.5rem; max-width: 40rem; }
.na-kratko .podatki { width: 100%; }
.podatki--besedilo { grid-template-columns: minmax(0, 1fr); }
@container (min-width: 40rem) { .podatki--besedilo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.na-kratko--kratko { padding: 1.25rem 1.5rem; border-radius: var(--r-kartica); background: var(--led); max-width: 40rem; }
.osnutek :where(p, li, dd) a:not(.povezava) { text-decoration: underline; text-underline-offset: 2px; }
.podatki--besedilo dd { font-size: var(--t-base); }

/* GORJE-084: language switch SL / EN - a quiet word in the menu's own type, not a second button next to «Vpis».
   Header: from 768 px (on a phone the header is full: logo, Vpis, Meni); the phone menu has it next to «Zapri». */
.jezik { display: none; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: 0 0.375rem;
  font-size: var(--t-meni); font-weight: 600; letter-spacing: .04em; color: var(--megla); border-radius: var(--r-gumb);
  transition: color calc(var(--cas-odziv) * var(--k)) ease; }
.jezik--meni { display: inline-flex; margin-left: auto; margin-right: 0.5rem; }
@container (min-width: 48rem) { .glava-desno .jezik { display: inline-flex; } }
@media (hover: hover) and (pointer: fine) { .jezik:hover { color: var(--jezero); } }
/* a link on an English page that leads to a page only in Slovenian */
.jezik-sl { display: inline-block; margin-left: 0.375rem; padding: 1px 0.3125rem; vertical-align: .15em; font-size: 0.6875rem; font-weight: 700;
  line-height: 1.3; letter-spacing: .06em; color: var(--megla); border: 1px solid var(--ivje); border-radius: 0.25rem; text-decoration: none; }
.temno .jezik-sl { color: inherit; border-color: currentColor; opacity: .75; }
.glava-meni a:has(.jezik-sl) { white-space: nowrap; }
.glava-meni .jezik-sl { margin-left: 0.25rem; }
/* GORJE-089: link to the athlete's public FIS / IBU profile next to the name; above the card's stretched link */
.profil { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: 1.5rem; margin-left: 0.5rem; padding: 0 0.375rem; vertical-align: middle;
  font-size: 0.6875rem; font-weight: 700; line-height: 1; letter-spacing: .06em; color: var(--jezero); border: 1px solid var(--ivje); border-radius: 0.25rem; text-decoration: none; }
.profil + .profil { margin-left: 0.25rem; }
@media (hover: hover) and (pointer: fine) { .profil:hover { border-color: currentColor; } }

/* ---------- archive of the old site (GORJE-073, klub-arhiv*) ---------- */
.iskanje-arhiva { margin-top: 1.5rem; }
@container (min-width: 64rem) { .iskanje-arhiva:has(select) { grid-template-columns: minmax(0, 1fr) 10rem 16.25rem; } }
.arhiv-zavihki { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.5rem; }
.razdelek-glava + .arhiv-zavihki { margin: -1rem 0 1.5rem; }
.arhiv-leta { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; margin-top: 0.5rem; }
.arhiv-leta a { color: var(--jezero); min-height: 2rem; display: inline-flex; align-items: center; font-variant-numeric: tabular-nums; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.25rem; }
@media (hover: hover) and (pointer: fine) { .arhiv-leta a:hover { text-decoration-color: currentColor; } }
.arhiv-leto { scroll-margin-top: calc(var(--glava-h) + 1rem); }
.arhiv-leto .razdelek-glava { margin-bottom: 1rem; align-items: baseline; }
.arhiv-naslov { font-weight: 600; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.25rem; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) { .arhiv-naslov:hover { text-decoration-color: currentColor; } }
.arhiv-vnos .megla:empty { display: none; }
.arhiv-dok-ime { display: grid; gap: 2px; overflow-wrap: anywhere; }
.arhiv-dok-ime a { color: var(--jezero); text-decoration: underline; text-underline-offset: 3px; }
.arhiv-vir { max-width: 40rem; }
.arhiv-telo { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 1rem; max-width: 42.5rem; font-size: var(--t-base); line-height: 1.6; overflow-wrap: anywhere; }
.arhiv-telo > * { margin: 0; }
.arhiv-telo h2 { font-size: var(--t-xl); margin-top: 0.5rem; }
.arhiv-telo h3 { font-size: var(--t-lg); }
.arhiv-telo ul, .arhiv-telo ol { padding-left: 1.4em; display: grid; gap: 0.375rem; }
.arhiv-telo a:not(.arhiv-foto) { color: var(--jezero); text-decoration: underline; text-underline-offset: 3px; }
.arhiv-telo img { display: block; max-width: 100%; height: auto; border-radius: 0.75rem; margin-block: 0.5rem; background: var(--led); }
.arhiv-telo .arhiv-foto { display: block; width: fit-content; max-width: 100%; border-radius: 0.75rem; }
.arhiv-telo blockquote { border-left: 1px solid var(--crta); padding-left: 1rem; color: var(--megla); }
.arhiv-tabela { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
.arhiv-tabela table { border-collapse: collapse; font-size: var(--t-sm); min-width: 100%; }
.arhiv-tabela td, .arhiv-tabela th { border-bottom: 1px solid var(--crta); padding: 0.375rem 0.75rem 0.375rem 0; text-align: left; vertical-align: top; }
.arhiv-album { border-top: 1px solid var(--crta); }
.arhiv-album:last-child { border-bottom: 1px solid var(--crta); }
.arhiv-album summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1rem; padding: 1.125rem 0; min-height: 2.75rem; }
.arhiv-album summary::-webkit-details-marker { display: none; }
.arhiv-album summary .t-xl { display: inline-flex; align-items: center; gap: 0.625rem; }
.arhiv-album summary .pu { flex: none; transition: rotate calc(var(--cas-stanje) * var(--k)) var(--ease-out); }
.arhiv-album[open] summary .pu { rotate: 180deg; }
.arhiv-album summary:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; border-radius: 0.25rem; }
.arhiv-album > p { margin: 0 0 1rem; }
.arhiv-album > p a { color: var(--jezero); text-decoration: underline; text-underline-offset: 3px; }
.arhiv-mreza { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(8.75rem, 45%), 1fr)); }
.arhiv-mreza a { display: block; border-radius: 0.75rem; overflow: hidden; background: var(--led); }
.arhiv-ploscica { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: scale calc(var(--cas-odziv) * var(--k)) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .arhiv-mreza a:hover .arhiv-ploscica { scale: 1.03; } }
.arhiv-mreza a:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; }
.arhiv-telo .arhiv-galerija { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(9.375rem, 45%), 1fr)); max-width: 52.5rem; }
.arhiv-galerija .arhiv-foto { width: auto; overflow: hidden; background: var(--led); }
.arhiv-galerija img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; border-radius: 0; transition: scale calc(var(--cas-odziv) * var(--k)) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .arhiv-galerija .arhiv-foto:hover img { scale: 1.03; } }
.arhiv-telo .arhiv-foto:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; }
.arhiv-clanek .stolpec { grid-template-columns: minmax(0, 1fr); }
.arhiv-clanek h1, .arhiv-clanek .pot { overflow-wrap: anywhere; hyphens: auto; }
.arhiv-clanek .dokumenti .t-base, .arhiv-vnos > * { min-width: 0; overflow-wrap: anywhere; }

/* GORJE-104: Življenje društva (the year by months, one page per event) and Pogosta vprašanja */
.zd-mesec-ime { color: var(--jezero); }
.zd-mreza { list-style: none; padding: 0; margin: 0; }
.zd-kartica { display: flex; flex-direction: column; }
/* GORJE-107: photo across the top of the card (2:1), the text below keeps the old padding; the same photo larger on the event page */
.zd-telo { flex: 1; display: flex; flex-direction: column; gap: 0.625rem; padding: 1.5rem; }
.zd-slika { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; background: var(--led); }
.fotografija.zd-foto .zd-slika { aspect-ratio: 2 / 1; }
/* GORJE-132: the gallery of a story from objave@ (2-4 photos after the text), even 3:2 tiles */
.clanek-galerija { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(12rem, 45%), 1fr)); margin: 1.5rem 0; }
.clanek-galerija img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; margin: 0; border-radius: var(--r-polje); background: var(--led); }
.zd-kartica .k-povezava { margin-top: auto; display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: var(--t-sm); font-weight: 600; }
.zd-kartica--naslednja { outline: 2px solid var(--jezero); outline-offset: -2px; }
.zd-oznake { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.zd-stanje { margin-block: 0.5rem 1rem; }
.zd-pomoc { display: grid; gap: 1rem; justify-items: start; }
.zd-pomoc .koraki-seznam { max-width: 62ch; }
.zd-podatki, .zd-vloge { margin-block: 0.5rem 1.5rem; }
.zd-vloge { grid-template-columns: 1fr; }
.zd-vloge dd { color: var(--megla); }
.zd-arhiv { list-style: none; padding: 0; margin: 0.5rem 0 1.5rem; }
.zd-arhiv li { display: grid; grid-template-columns: 3.5em 1fr; gap: 0.75rem; align-items: baseline; padding: 0.625rem 0; border-top: 1px solid var(--crta); }
.zd-kazalo { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-block: 0 1rem; }
.zd-kazalo a { min-height: 2.25rem; font-size: var(--t-sm); font-weight: 600; }
.zd-skupina { margin-top: 2.5rem; }
.zd-skupina h2 { margin-bottom: 0.5rem; }
.zd-vprasanje { border-top: 1px solid var(--crta); }
.zd-vprasanje:last-child { border-bottom: 1px solid var(--crta); }
.zd-vprasanje summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; min-height: 2.75rem; }
.zd-vprasanje summary::-webkit-details-marker { display: none; }
.zd-vprasanje summary .pu { flex: none; transition: rotate calc(var(--cas-stanje) * var(--k)) var(--ease-out); }
.zd-vprasanje[open] summary .pu { rotate: 180deg; }
.zd-vprasanje summary:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; border-radius: 0.25rem; }
.zd-odgovor { display: grid; gap: 0.75rem; padding-bottom: 1.25rem; max-width: 62ch; }
.zd-odgovor a { color: var(--jezero); text-decoration: underline; text-underline-offset: 3px; }  /* GORJE-210: links in answers looked like plain text */
.potrjujemo { font-weight: 600; }
.zd-vsako-leto { display: inline-flex; align-items: center; gap: 0.25rem; min-height: 1.5rem; width: fit-content; justify-self: start; align-self: flex-start; color: var(--jezero); font-weight: 600; }
.nelomljivo { white-space: nowrap; }
/* GORJE-104: 7 items in the header; between 1024 and 1279 px a smaller gap keeps «Življenje društva» on one line */
.glava-meni a { white-space: nowrap; }
@container (min-width: 64rem) and (max-width: 79.9375rem) { .glava-meni { gap: 1.25rem; } }
/* Kir 20.10.2026: on a page shorter than the window the footer stands at the bottom of the window (not fixed over the
   content: <main> grows to fill the gap). A long page is not changed. The 404 has no footer and uses the same column. */
body.gorje { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body.gorje > main { flex: 1 0 auto; }
/* GORJE-105: 404 - a big «404» in ivje, 90 % of Svizec's height (his head peeks over it), Svizec leans on the last 4.
   Kir 20.10.2026: tilted 11° about his feet, so his back rests on the 4's stem (upright he hung in the air); no animation.
   --v = Svizec's height; the picture is 330 x 407, his back (the wall line) at 21.2 % of its width, his feet at 97.4 % of its height.
   Barlow Condensed 700 (measured in the browser): cap height .7 em, .014 em empty right of the 4's stem, ascent 1, descent .2;
   line-height .8 puts the baseline on the bottom edge, the margin lifts it to his feet. */
/* Kir 20.10.2026: no footer, the page is exactly one screen high, no scroll. The stage takes the height the text leaves
   (a size container); Svizec is as tall as the stage, at most 34vw and 340 px, so a short window gives a smaller Svizec. */
body:has(.ns) > main, body:has(.ns) > main > .vsebina { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.ns { --v: clamp(4rem, min(100cqh, 34vw), 21.25rem); flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 1rem; padding-block: 1rem 1.5rem; }
.ns-oder { flex: 1 1 0; min-height: 4rem; max-height: 21.25rem; width: 100%; container-type: size; display: flex; align-items: flex-end; justify-content: center; margin-bottom: 0.5rem; }
.ns-stevilka { --fs: calc(var(--v) * .9 / .7); font-family: var(--f-glas); font-weight: 700; font-size: var(--fs); line-height: .8; color: var(--ivje); margin: 0 0 calc(var(--v) * .026); }
.ns-svizec { position: relative; height: var(--v); width: auto; flex: none; margin-left: calc(var(--v) * -.172 - var(--v) * .9 / .7 * .014);
  transform-origin: 50% 97.4%; rotate: -11deg; }
.ns h1 { max-width: 20ch; }
.ns > .t-lg { color: var(--megla); max-width: 44ch; }
.ns-gumbi { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 0.5rem; }
.ns-se { color: var(--megla); }
.ns-se a { color: var(--jezero); font-weight: 600; text-underline-offset: 3px; }
@container (min-width: 48rem) { .ns { gap: 1.25rem; padding-block: 2rem 2.5rem; } }
@media (max-height: 600px) { .ns-se { display: none; } .ns { gap: 0.625rem; padding-block: 0.5rem 1rem; } }  /* small phones: the two buttons are enough */
@media (max-height: 460px) { .ns > .t-lg { display: none; } .ns h1 { font-size: var(--t-2xl); } }  /* a phone on its side */

/* ---------- search (GORJE-096, /iskanje) ---------- */
/* Header: a magnifier from 768 px, like the language switch (a phone has the field at the top of the menu) */
.isci-gumb { display: none; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; color: var(--noc); border-radius: var(--r-gumb);
  transition: color calc(var(--cas-odziv) * var(--k)) ease; }
.isci-gumb[aria-current] { color: var(--jezero); }
@container (min-width: 48rem) { .isci-gumb { display: inline-flex; } }
@media (hover: hover) and (pointer: fine) { .isci-gumb:hover { color: var(--jezero); } }
.meni-isci { padding: 0.5rem 1.25rem 0; }
.iskanje-strani { margin-top: 1.5rem; max-width: 40rem; }
@container (min-width: 48rem) { .iskanje-strani { grid-template-columns: minmax(0, 1fr); } }
.iskanje-predlogi { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1rem; }
.iskanje-predlogi[hidden] { display: none; }
button.znacka { font: inherit; font-size: var(--t-sm); color: var(--noc); cursor: pointer; transition: background-color calc(var(--cas-odziv) * var(--k)) ease; }
@media (hover: hover) and (pointer: fine) { button.znacka:hover { background: var(--ivje); } }
.zadetki-iskanja { list-style: none; margin: 0; padding: 0; max-width: 47.5rem; }
.zadetek-iskanja { position: relative; display: grid; gap: 0.375rem; padding: 1.25rem 0; border-top: 1px solid var(--led); }
.zadetek-iskanja:first-child { border-top: 0; padding-top: 0; }
.zadetek-iskanja h3 { order: 1; }
.zadetek-iskanja .t-xs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.625rem; }
.zadetek-iskanja .oznaka { color: var(--jezero); }
.zadetek-iskanja h3 a { font-weight: 600; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.25rem; overflow-wrap: anywhere; }
.zadetek-iskanja h3 a::after { content: ""; position: absolute; inset: 0; }
.zadetek-iskanja > .t-sm { order: 2; color: var(--megla); overflow-wrap: anywhere; }
.zadetek-iskanja mark { color: var(--noc); }  /* the snippet is grey; a found word on the light green must stay dark (axe, 4.5:1) */
@media (hover: hover) and (pointer: fine) { .zadetek-iskanja:hover h3 a { text-decoration-color: currentColor; } }
.zadetek-iskanja h3 a:focus-visible { outline: none; }
.zadetek-iskanja:has(a:focus-visible) { outline: 2px solid var(--jezero); outline-offset: 0.25rem; border-radius: 0.25rem; }
[data-i-vec] { margin-top: 1.5rem; }
/* GORJE-106: the file field takes its width from the browser's «Choose file / No file chosen» text, wider in English - it must not push the form past a 320 px screen */
input[type="file"].vnos { width: 100%; min-width: 0; max-width: 100%; }
.urejanje, .urejanje .obrazec { grid-template-columns: minmax(0, 1fr); }
/* GORJE-108: world races - one quiet band above the calendar view (a ring, not the filled «Tekma» dot: not our race) and the box that hides it */
.koledar-glava { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1.5rem; }
.k-svet-stikalo { flex: 0 0 auto; align-items: center; min-height: 2.75rem; }
.k-svet-stikalo .kvadrat { margin-top: 0; }
.k-svet { display: grid; gap: 0.375rem; padding: 0.75rem 1rem; border-radius: 1rem; background: var(--led); }
.k-svet[hidden] { display: none; }
.k-svet-naslov { margin: 0; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--megla); }
.k-svet-seznam { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; }
.k-svet-tekma { display: inline-flex; align-items: baseline; gap: 0.5rem; }
.k-svet-tekma::before { content: ""; flex: none; align-self: center; width: 0.5rem; height: 0.5rem; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--jezero); }
.k-svet-tekma .stevilka { font-size: var(--t-sm); font-weight: 700; white-space: nowrap; }
.k-svet-narocnina { margin: 0.75rem 0 0; }
.k-svet-narocnina a { color: var(--jezero); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* GORJE-115: the page of one race (tekma-<id>) and its big card in the day view of the calendar */
.tk-glava { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }
@container (min-width: 40rem) { .tk-glava { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.75rem; } }
@container (min-width: 40rem) { .tk-datum { width: 5.5rem; height: 6rem; } .tk-datum .stevilka { font-size: 2.75rem; } }
.tk-naslov { display: grid; gap: 0.875rem; justify-items: start; min-width: 0; }
.tk-naslov h1 { margin: 0; text-wrap: balance; }
.tk-naslov .t-lg { color: var(--noc); max-width: 52ch; }
.tk-naslov .meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.tk-hero { margin: 2rem auto 0.5rem; max-width: var(--vsebina-max); display: grid; gap: 0; }
.tk-hero .tk-slika { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-kartica); background: var(--led); }
@container (min-width: 40rem) { .tk-hero .tk-slika { aspect-ratio: 16 / 9; } }
@container (min-width: 64rem) { .tk-hero .tk-slika { aspect-ratio: 21 / 9; } }
.tk-podatki { grid-template-columns: minmax(0, 1fr); }
@container (min-width: 40rem) { .tk-podatki { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tk-podatki .tk-za-koga { grid-column: 1 / -1; } }
.tk-zemljevid { display: flex; align-items: center; gap: 0.375rem; margin-top: 0.375rem; min-height: 2rem; color: var(--jezero); font-weight: 600; }
.tk-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem; }
@container (max-width: 29.9375rem) { .tk-gumbi { display: grid; } }
.tk-razdelek { display: grid; gap: 1rem; padding-top: 2.5rem; margin-top: 1rem; border-top: 1px solid var(--crta); max-width: 52.5rem; }
.tk-razdelek > p, .tk-razdelek > h2 { max-width: 40rem; margin: 0; }
.tk-vir a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .tk-vir a:hover { color: var(--jezero); } }
/* the course: laps are stretches of track, shooting stops are stations with their 5 targets */
.tk-potek { list-style: none; margin: 0.5rem 0; padding: 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); }
.tk-korak { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto; align-items: center; column-gap: 0.75rem; min-height: 2.75rem; }
.tk-proga { justify-self: center; width: 3px; height: 2.25rem; border-radius: 2px; background: var(--ivje); }
.tk-postaja { justify-self: center; display: inline-flex; gap: 3px; padding: 0.375rem 0.4375rem; border-radius: 62.4375rem; background: var(--noc); }
.tk-tarca { width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--bela); }
.tk-cilj { justify-self: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--bela); box-shadow: inset 0 0 0 6px var(--jezero); }  /* no gradient: only logo slash, main button, «today» */
.tk-korak--strel .t-sm, .tk-korak--cilj .t-sm { font-weight: 600; }
@container (min-width: 56.25rem) {
  .tk-potek { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(0, 1fr); align-items: start; padding: 1.75rem 1.5rem; }
  .tk-korak { grid-template-columns: minmax(0, 1fr); grid-template-rows: 1.75rem auto auto; justify-items: center; text-align: center; row-gap: 0.5rem; }
  .tk-proga { width: 100%; height: 3px; align-self: center; }
  .tk-korak--tek .t-xs { grid-row: 2; }
}
.tk-letos { display: grid; gap: 0.5rem; padding: 1.25rem 1.5rem; border-radius: var(--r-kartica); background: var(--led); max-width: 40rem; }
.tk-letos h3 { margin: 0; }
.tk-letos-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.tk-letos-seznam li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
@container (min-width: 40rem) { .tk-letos-seznam li { grid-template-columns: 12.5rem minmax(0, 1fr); gap: 1rem; } }
.tk-letos-seznam .stevilka { color: var(--jezero); font-weight: 700; }
.tk-nasi-foto .tk-slika--nasi { height: auto; aspect-ratio: 3 / 2; }
.tk-nasi-foto figcaption { color: var(--megla); max-width: 40rem; }
.tk-seznam { margin: 0; }
.tk-seznam li { grid-template-columns: 6.5em minmax(0, 1fr); }
.tekma-stran .sosednji { margin-top: 2rem; }
/* day view: the race card and «what comes next» */
.k-dan { gap: 1.25rem; }
.k-tekma { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; padding: 0; background: var(--led); box-shadow: none; border-radius: calc(var(--r-kartica) - 0.375rem); }
.k-tekma-slika { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; display: block; }
.k-tekma-telo { display: grid; gap: 0.625rem; justify-items: start; padding: 1.25rem; }
.k-tekma-telo h3 { margin: 0; text-wrap: balance; }
.k-tekma-telo h3 a { color: inherit; text-decoration: none; }
.k-tekma-telo .t-base { color: var(--noc); max-width: 56ch; }
.k-tekma .znacka { background: var(--bela); }
.k-tekma .k-povezava { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.75rem; font-size: var(--t-sm); font-weight: 600; }
@container (min-width: 56.25rem) {
  .k-tekma--slika { grid-template-columns: minmax(0, 26.25rem) minmax(0, 1fr); }
  .k-tekma--slika .k-tekma-slika { height: 100%; aspect-ratio: auto; min-height: 16.25rem; }
  .k-tekma-telo { padding: 1.75rem 2rem; align-content: center; }
}
.k-naslednje { display: grid; gap: 0.5rem; padding-top: 1rem; border-top: 1px solid var(--led); }
.k-naslednje h3 { margin: 0; }
.k-naslednje-seznam { list-style: none; margin: 0; padding: 0; display: grid; }
.k-naslednje-seznam li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: center; gap: 0.75rem; min-height: 2.75rem; }
.k-naslednje-dan { font: inherit; font-family: var(--f-glas); font-weight: 700; font-size: var(--t-stevilka); color: var(--jezero); background: none; border: 0; padding: 0; min-height: 2.75rem; text-align: left; cursor: pointer; }
.k-naslednje-seznam .termin-kaj a { color: var(--noc); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .k-naslednje-dan:hover { text-decoration: underline; } .k-naslednje-seznam .termin-kaj a:hover { text-decoration-color: currentColor; } }

/* ---------------------------------------------------------------- GORJE-102: rules page, consent form, print = PDF */
.pravila-seznam { margin: 0 0 0.5rem; padding-left: 1.2em; display: grid; gap: 0.625rem; }
.cenik-pravila { display: grid; gap: 0.75rem; max-width: 62ch; }  /* GORJE-210: the rules under the prices */
.cenik-pravila h3:not(:first-child) { margin-top: 1.5rem; }
.cenik-ure-vec { max-width: 62ch; margin-top: 1.5rem; }
.pravila .podatki.cenik { margin-top: 0.5rem; }
.pravila [data-natisni] { justify-self: start; margin-top: 0.5rem; }
.samo-tisk { display: none; }
.soglasje-skupina { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 1rem; }
.soglasje-skupina legend { padding: 0; font-weight: 600; margin-bottom: 1rem; }
.soglasje-izbira > span:last-child { line-height: 1.45; }
.soglasje-kdo { display: grid; gap: 0.75rem; }
.soglasje-kdo .kvadrat { border-radius: 50%; }  /* GORJE-217: one of two (radio), not a checkbox */
.soglasje-stanje [data-korak] { display: grid; gap: 1rem; justify-items: start; }
.soglasje-stanje [data-korak][hidden] { display: none; }
@media print {
  .glava, .noga, .skoci, .predogled, .ni-tisk, .pot, .vprasanje { display: none !important; }
  .samo-tisk { display: block; }
  body, .pas, .pas--bela { background: #fff !important; color: #000; }
  .branje .stolpec { max-width: none; }
  .pravila h2 { break-after: avoid; margin-top: 1.125rem; }
  .pravila li, .pravila .podatki > div { break-inside: avoid; }
  .pravila a { color: #000; text-decoration: none; }
  .zbiramo { border: 1px solid #000; background: none !important; }
}

/* ---------------------------------------------------------------- GORJE-099a: Moja družina (the family's own page) */
.md { display: grid; gap: 1.5rem; }
.md > * { min-width: 0; }  /* a long word or a wide select must not widen the page at 320 */
.md-vstop { display: grid; gap: 1rem; padding: 1.5rem; max-width: 35rem; }
.md-vstop .obrazec { display: grid; gap: 1rem; }
.md-vstop:focus { outline: none; }
.md-koda { font-size: 1.5rem; letter-spacing: .3em; font-variant-numeric: tabular-nums; max-width: 12ch; }
.md-jaz { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: space-between; padding-bottom: 0.75rem; border-bottom: 1px solid var(--led); }
.md-jaz b { overflow-wrap: anywhere; }
.md-otroci { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 1rem; }
.md-otroci + .prazno-stanje { margin: 0 0 1rem; }  /* GORJE-184: the empty state keeps the list's rhythm above «Dodaj otroka» */
.md-otrok, .md-koledar { display: grid; grid-template-rows: auto auto 1fr auto; gap: 0.625rem; padding: 1.25rem; min-width: 0; }  /* one row, one height: the buttons sit at the bottom */
.md-otrok { grid-template-rows: auto 1fr auto; gap: 0.875rem; }  /* GORJE-120/200: portrait, name and photo link, consent, buttons */
.md-otrok-glava { display: flex; gap: 0.875rem; align-items: center; min-width: 0; }
.md-otrok-glava > div:last-child { min-width: 0; }
.md-portret { flex: none; width: 4.5rem; height: 4.5rem; border-radius: 50%; overflow: hidden; background: var(--led); }
.md-portret img { display: block; width: 100%; height: 100%; object-fit: cover; }
.md-portret--prazen { display: grid; place-items: center; font-size: 1.75rem; font-weight: 600; color: var(--megla); }
/* GORJE-200: the portrait is a button, the photo link sits under the name; the window to move and zoom the photo */
button.md-portret { border: 0; padding: 0; font-family: inherit; cursor: pointer; }
button.md-portret:focus-visible { border-radius: 50%; }  /* the site's focus ring, kept round */
.md-otrok-glava .md-foto-povezava { display: block; width: fit-content; padding-block: 0.5rem; margin-top: -0.25rem; text-align: left; }  /* wraps on a phone: the arrow follows the last word */
.md-otrok-glava .md-foto-povezava .pu { display: inline-block; vertical-align: -0.2em; margin-left: 0.375rem; }
.okno.md-foto-okno { width: min(26rem, calc(100vw - 2rem)); }
.md-foto-okno .okno-vrh { margin-bottom: 0.5rem; }
.md-foto-oder { position: relative; width: 100%; aspect-ratio: 1; margin: 1rem 0 0.75rem; border-radius: 0.875rem; overflow: hidden; background: var(--led); touch-action: none; user-select: none; -webkit-user-select: none; cursor: grab; }
.md-foto-oder:active { cursor: grabbing; }
.md-foto-oder:focus-visible { border-radius: 0.875rem; }
.md-foto-oder canvas { display: block; width: 100%; height: 100%; }
.md-foto-krog { position: absolute; inset: 8%; border-radius: 50%; box-shadow: 0 0 0 100vmax var(--podlaga-okna), 0 0 0 100vmax var(--podlaga-okna); outline: 2px solid var(--bela); pointer-events: none; }  /* KROG 0.84 in stran.js */
.md-foto-povecava { margin: 0; }
.md-foto-povecava input { width: 100%; accent-color: var(--jezero); }
.md-foto-okno .okno-gumbi { margin-top: 1rem; }
.md-foto-odstrani { margin-top: 0.5rem; }
.md-soglasje { display: grid; gap: 0.375rem; align-content: start; padding-top: 0.625rem; border-top: 1px solid var(--led); }
.md-izbire { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.md-izbire .md-ne b { color: var(--megla); }
.md-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; }
/* GORJE-160: children the family removed, in the club's archive, with «Vrni»; deleting the whole Moja družina */
.md-arhiv { margin: 0 0 1rem; padding: 1rem 1.25rem; border: 1.5px dashed var(--crta); border-radius: var(--r-kartica); display: grid; gap: 0.5rem; }
.md-arhiv-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.md-v-arhivu { display: block; margin-top: 0.5rem; }  /* GORJE-179: «Vrni» under «Ta otrok je v arhivu društva.» */
.md-arhiv-otrok { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; opacity: 0.75; }
.md-izbrisi { display: grid; gap: 0.5rem; justify-items: start; margin-top: 0.5rem; }
/* GORJE-226: «Kaj shranimo» - one short line on view, the whole text under «Preberi vse» (Kir 28.10: service text, not in the way) */
.md-podatki > p { max-width: 65ch; margin: 0.25rem 0 0; }
.md-podatki-vec { margin-top: 0.25rem; }
.md-podatki-vec summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 0.375rem; min-height: 2.75rem; font-weight: 700; color: var(--jezero); }
.md-podatki-vec summary::-webkit-details-marker { display: none; }
.md-podatki-vec summary .pu { flex: none; transition: rotate calc(var(--cas-stanje) * var(--k)) var(--ease-out); }
.md-podatki-vec[open] summary .pu { rotate: 180deg; }
.md-podatki-vec > p { max-width: 65ch; margin: 0 0 0.75rem; color: var(--megla); }
.md-podatki-vec > p:first-of-type { margin-top: 0.25rem; }
.md-podatki-vec .md-izbrisi { margin-top: 1rem; }
.md-podatki-vec[open] .md-podatki-zaprto, .md-podatki-vec:not([open]) .md-podatki-odprto { display: none; }
.md-podatki-vec > p a { color: var(--jezero); font-weight: 600; text-decoration: underline; text-underline-offset: 0.15em; }  /* «piši», «Podatki in zasebnost» looked like plain text */
.md-otrok-obrazec { display: grid; gap: 1rem; padding: 1.5rem; margin-top: 1rem; }
.md-otrok-obrazec h3:focus, #h-md-otroci:focus { outline: none; }
.md-koledarji { display: grid; gap: 1rem; }
.md-koledar .termini-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.625rem; align-content: start; }
.obvestila fieldset + fieldset { margin-top: 0.75rem; }
.md .obvestila.kartica { display: grid; gap: 1rem; padding: 1.5rem; }
.md-koledarji + .t-sm { margin-top: 1rem; }
@container (min-width: 48rem) { .md-otroci, .md-koledarji { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* GORJE-099c: results and photos inside the child card (two folding rows), the certificate printed by the browser.
   The card keeps one height in a row: the photos row takes the spare space, the buttons stay at the bottom. */
.md-otrok { grid-template-rows: auto auto auto 1fr auto; }  /* GORJE-200: no photo-button row any more */
.md-razkrij { border-top: 1px solid var(--led); min-width: 0; align-self: start; }
.md-razkrij > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 0.75rem; align-items: center; padding: 0.75rem 0; cursor: pointer; list-style: none; min-height: 2.75rem; }
.md-razkrij > summary::-webkit-details-marker { display: none; }
.md-razkrij > summary .md-razkrij-naslov { font-weight: 600; }
.md-razkrij > summary .megla { grid-column: 1; }
.md-razkrij > summary .pu { grid-column: 2; grid-row: 1 / span 2; width: 1.25rem; height: 1.25rem; transition: transform .2s ease; }
.md-razkrij[open] > summary .pu { transform: rotate(180deg); }
.md-razkrij-telo { display: grid; gap: 0.75rem; padding-bottom: 0.25rem; min-width: 0; }
.md-sezona { font-weight: 600; margin-top: 0.25rem; }
.md-rez, .md-stevilke, .md-fotke { list-style: none; margin: 0; padding: 0; }
.md-rez { display: grid; gap: 0; }
.md-rez-vrsta { display: grid; gap: 2px; padding: 0.625rem 0; border-top: 1px solid var(--led); min-width: 0; overflow-wrap: anywhere; }
.md-rez-vrsta:first-child { border-top: 0; padding-top: 0; }
.md-rez-tekma { font-weight: 600; color: var(--noc); }
.md-rez-vrsta .md-gumbi { margin-top: 0.375rem; }
.md-skriti { display: grid; gap: 0.25rem; justify-items: start; padding-top: 0.5rem; border-top: 1px solid var(--led); }
.md-stevilke { display: grid; gap: 0.25rem; }
.md-stevilke > li { display: flex; flex-wrap: wrap; gap: 2px 0.75rem; align-items: baseline; overflow-wrap: anywhere; }
.md-stevilke > li > span:first-child { flex: 1 0 100%; }
.md-stevilka.obrazec { display: grid; gap: 0.75rem; padding: 0; }
.md-stevilka-polja { display: grid; gap: 0.75rem; min-width: 0; }
.md-stevilka-polja [name="stevilka"] { max-width: 8em; }
.md-stevilka .gumb { justify-self: start; }
.md-opomba { padding: 0.625rem 0.75rem; border-radius: 0.5rem; background: var(--led); }
.md-fotke { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: 0.75rem; }
.md-fotke img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0.5rem; background: var(--led); }
.md-fotke p { margin-top: 0.25rem; overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) { .md-razkrij > summary .pu { transition: none; } }

.priznanje[hidden] { display: none; }
@media screen { .priznanje { display: none !important; } }  /* only the printer sees it */
@media print {
  html.tiskam-priznanje body > *:not(.priznanje) { display: none !important; }
  html.tiskam-priznanje, html.tiskam-priznanje body { background: #fff !important; margin: 0; }
  .priznanje { position: relative; width: 297mm; height: 210mm; overflow: hidden; background: #fff; color: var(--noc); font-family: var(--f-tekst); -webkit-print-color-adjust: exact; print-color-adjust: exact; break-after: avoid; }
  .priznanje > * { position: absolute; margin: 0; }
  /* one gradient slash at the logo's angle (GORJE-029c, design/tisk/diploma-a4.html), here without bleed */
  .pz-posevnica { inset: 0; background: linear-gradient(16deg, #30B5DB, #76D4C5 55%, #B9E995); clip-path: polygon(206mm 210mm, 240mm 210mm, 301.4mm 0, 267.4mm 0); }
  .pz-logo { left: 20mm; top: 18mm; width: 58mm; height: auto; }
  .pz-naslov { left: 19mm; top: 62mm; font-size: 72pt; font-weight: 400; letter-spacing: -.03em; line-height: 1.02; }
  .pz-prejme { left: 20mm; top: 98mm; font-size: 12pt; color: var(--megla); }
  .pz-ime { left: 20mm; top: 104mm; width: 170mm; height: 16mm; border-bottom: .35mm solid var(--noc); }
  .pz-ime span { position: absolute; left: 0; bottom: 2.2mm; font-size: 28pt; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
  .pz-za { left: 20mm; top: 128mm; width: 165mm; font-size: 14pt; line-height: 1.4; }
  .pz-za b { font-weight: 600; }
  .pz-podrobno { color: var(--megla); }
  .pz-podpisi { left: 20mm; top: 166mm; display: flex; gap: 10mm; }
  .pz-podpis { width: 52mm; }
  .pz-crta { height: 12mm; border-bottom: .3mm solid var(--noc); display: flex; align-items: flex-end; padding-bottom: 1.6mm; font-size: 11pt; white-space: nowrap; }
  .pz-podpis small { display: block; margin-top: 1.6mm; font-size: 8.5pt; color: var(--megla); }
  .pz-svizec { right: 10mm; bottom: 9mm; height: 96mm; width: auto; }
}

/* GORJE-102 (Kir 20.10.2026): in a price list the amount leads - brand number style (as .t-num), the unit quiet below */
.cenik .znesek { display: block; font-family: var(--f-glas); font-weight: 700; font-size: var(--t-3xl); line-height: 1.1; letter-spacing: -.01em; color: var(--noc); font-variant-numeric: tabular-nums; }
.cenik .znesek-enota { display: block; margin-top: 0.25rem; font-size: var(--t-base); color: var(--megla); }
.cenik dd > p { margin-top: 0.5rem; }

/* GORJE-099b: payments, work hours and shifts (moja-druzina) and the club's list (klub-druzine). Cards in one row are
   one height (Kir 10.10): the grid stretches them, the link sits at the bottom. */
.md-obveznosti, .md-izmene { display: grid; gap: 1rem; }
.md-obv, .md-izmena { display: flex; flex-direction: column; gap: 0.625rem; padding: 1.25rem; min-width: 0; }
.md-obv > :last-child, .md-izmena > :last-child { margin-top: auto; }  /* the link (or the rules) at the bottom of a stretched card */
.md-obv > .povezava, .md-izmena > .povezava { align-self: flex-start; padding-top: 0.375rem; }
.md-placila, .md-vloge, .md-ure { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; align-content: start; }
.md-placila > li, .md-vloga { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; padding: 0.625rem 0; border-top: 1px solid var(--led); }
.md-placila > li > div, .md-placila > li > label, .md-vloga > div:first-child { display: grid; gap: 2px; min-width: 0; flex: 1 1 12.5rem; }
.md-stanje { display: inline-flex; align-items: center; gap: 0.375rem; padding: 2px 0.625rem; border-radius: 62.4375rem; font-size: var(--t-xs); font-weight: 600; line-height: 1.6; white-space: nowrap; }
.md-stanje svg { width: 0.875rem; height: 0.875rem; fill: none; stroke: currentColor; }
.md-stanje--placano { background: #E3F0EC; color: var(--uspeh); }
.md-stanje--odprto { background: #F6E7E5; color: var(--napaka); }
.md-stanje--ne_velja, .md-stanje--ni { background: var(--led); color: var(--megla); }
.md-ure-st { display: flex; align-items: baseline; gap: 0.375rem; }
.md-ure-n { font-family: var(--f-glas); font-weight: 700; font-size: var(--t-3xl); line-height: 1; color: var(--noc); font-variant-numeric: tabular-nums; }
.md-trak { height: 0.5rem; border-radius: 62.4375rem; background: var(--led); overflow: hidden; }
.md-trak > span { display: block; height: 100%; border-radius: inherit; background: var(--uspeh); }
.md-ure > li { display: grid; grid-template-columns: 4.5em 1fr auto; gap: 0.25rem 0.75rem; align-items: baseline; padding: 0.5rem 0; border-top: 1px solid var(--led); }
.md-ure > li > button { grid-column: 2 / -1; justify-self: start; }
.md-ure > li.megla { display: block; }
.md-pravila { display: grid; gap: 0.25rem; margin: 0; }
.md-pravila > div { display: flex; flex-wrap: wrap; gap: 0 0.5rem; }
.md-pravila dt { font-weight: 600; }
.md-pravila dd { margin: 0; color: var(--megla); }
@container (min-width: 48rem) { .md-obveznosti, .md-izmene { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* GORJE-174b: «Dežurstva» on Moja družina - one long card per event year, the sign-up form under its shift, the roster */
@container (min-width: 48rem) { .md-izmene.md-pomoc-leta { grid-template-columns: minmax(0, 1fr); } }
.md-pomoc > .md-pomoc-naslov { margin: 0.5rem 0 -0.25rem; }
.md-pomoc .md-gumbi .gumb, .md-pomoc-kjerkoli .gumb { min-height: 2.75rem; }
.md-pomoc-obrazec { flex: 1 1 100%; display: grid; gap: 0.75rem; padding: 0.75rem 0 0.25rem; min-width: 0; }
.md-pomoc-obrazec .vnos { width: 100%; }
.md-pomoc-sosednje { display: grid; gap: 0.5rem; }
.md-pomoc-kjerkoli { display: grid; gap: 0.375rem; justify-items: start; padding-top: 0.5rem; border-top: 1px solid var(--led); }
.md-pomoc-odpovedano { align-self: flex-start; }
.md-razpored { border-top: 1px solid var(--led); padding-top: 0.5rem; }
.md-razpored > summary { min-height: 2.75rem; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.md-razpored-imena { list-style: none; margin: 0 0 0.5rem; padding: 0; display: grid; gap: 0.25rem; }
.md-razpored-imena a { min-height: 2.75rem; display: inline-flex; align-items: center; }
/* GORJE-175b: «Izleti» on Moja družina - the trip card reuses the shifts' card (md-izmena md-pomoc) */
.md-izlet-doplacila { border: 0; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.md-izlet-doplacila legend { padding: 0; margin-bottom: 0.25rem; }
.md-izlet-vzeti { white-space: pre-line; margin: 0 0 0.5rem; }
.md-izlet .md-gumbi .gumb { min-height: 2.75rem; }
/* GORJE-175b: end */
.kd { display: grid; gap: 1.5rem; }
.kd > * { min-width: 0; }
.kd-iskanje { max-width: 30rem; margin-bottom: 1rem; }
.kd-arhiv-izbira { display: flex; gap: 0.5rem; align-items: flex-start; margin: -0.5rem 0 1rem; cursor: pointer; }   /* GORJE-160 */
.kd-arhiv-izbira input { width: 1.125rem; height: 1.125rem; margin-top: 0.125rem; flex: none; }
.kd-otrok .povezava { margin-left: 0.25rem; }
.kd-arhiv-blok .kd-otrok { opacity: 0.8; }
.kd-druzine { display: grid; gap: 0.75rem; }
.kd-druzina { padding: 0; min-width: 0; }
.kd-druzina > summary { cursor: pointer; padding: 1rem 1.25rem; list-style: none; }
.kd-druzina > summary::-webkit-details-marker { display: none; }
.kd-druzina[open] > summary { border-bottom: 1px solid var(--led); }
.kd-glava { display: grid; gap: 0.25rem; min-width: 0; overflow-wrap: anywhere; }
.kd-znacke { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-top: 0.25rem; }
.kd-notri { display: grid; gap: 1.25rem; padding: 1rem 1.25rem 1.25rem; }
.kd-blok { display: grid; gap: 0.625rem; min-width: 0; }
.kd-blok .izbira { flex: 0 1 12.5rem; min-width: 10rem; }
.kd-polja { display: grid; gap: 0.75rem; }
.kd-ure-obrazec, .kd-ure-obrazec fieldset { display: grid; gap: 0.75rem; border: 0; margin: 0; padding: 0; min-width: 0; }
.kd-ure-obrazec legend { padding: 0; margin-bottom: 0.5rem; font-weight: 600; }
.kd-ure-obrazec .gumb { justify-self: start; }
.md-placila > li > .kd-izmena-polja { display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: end; flex: 0 1 auto; }  /* not the grid of the label column above */
.kd-izmena-polja .izbira { flex: 0 1 12.5rem; min-width: 10rem; }
.kd-ur-polje { display: grid; gap: 2px; }
.kd-ur { width: 6em; }
@container (min-width: 48rem) { .kd-polja { grid-template-columns: 12em 7em minmax(0, 1fr); } }
/* GORJE-136: «Ure za prireditev» - one event, many families, one save */
.kd-pr { display: grid; gap: 1rem; padding: 1.25rem; min-width: 0; }
.kd-pr .kd-polja { grid-template-columns: minmax(0, 1fr); }
@container (min-width: 48rem) { .kd-pr .kd-polja { grid-template-columns: minmax(0, 1.4fr) 11em minmax(0, 1fr); } }
.kd-pr-vsem, .kd-pr-shrani { display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: end; }
.kd-pr-vrstice, .kd-pr-zadetki { list-style: none; margin: 0; padding: 0; display: grid; }
.kd-pr-vrstice > li { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; padding: 0.5rem 0; border-top: 1px solid var(--led); }
.kd-pr-vrstice .tema { flex: 1 1 14rem; min-width: 0; overflow-wrap: anywhere; }
.kd-pr-zadetki { gap: 0.375rem; justify-items: start; }
.kd-pr-zadetki .gumb { text-align: left; }
.kd-pr-dodaj { max-width: 30rem; }

/* GORJE-099d: points, badges, rewards (moja-druzina, klub-druzine). Points and rewards side by side, one height
   (Kir 10.10); the badges below across the row. A badge not earned yet is faint with a dashed ring. */
.md-tocke { display: grid; gap: 1rem; }
.tc-n { font-variant-numeric: tabular-nums; color: var(--uspeh); }
/* GORJE-216c: every child with its own number, side by side (no sum of the family) */
.tc-po-otrocih { list-style: none; margin: 0.25rem 0 0.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; }
.tc-po-otrocih > li { display: grid; gap: 0.125rem; }
.tc-kaj { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.tc-n--minus { color: var(--megla); }
.tc-znacke { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: minmax(0, 1fr); }
.tc-znacka { display: flex; gap: 0.75rem; align-items: center; min-width: 0; }
.tc-znacka > div { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.tc-ime { font-weight: 600; }
.tc-krog { flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; border-radius: 50%; display: grid; place-items: center; overflow: hidden;
  background: var(--noc); color: var(--bela); font-family: var(--f-glas); font-weight: 700; font-size: var(--t-base); font-variant-numeric: tabular-nums; }
.tc-krog img { width: 3rem; height: auto; margin-top: 0.625rem; }
.tc-znacka:has(img) .tc-krog { background: var(--led); }
.tc-znacka--se-ne .tc-krog { background: transparent; color: var(--megla); border: 2px dashed var(--crta); }
.kartica .md-sezona + .tc-znacke { margin-bottom: 0.5rem; }
/* GORJE-201: the badges as a collection - a drawn medal over its name, one tile per badge, every tile of a row one height
   (Kir 10.10). A badge not earned yet: the same drawing in black and white and fainter. The tile opens the badge big. */
.tc-znacke:has(.tc-znacka-gumb) { grid-template-columns: repeat(auto-fill, minmax(min(8.5rem, calc(50% - 0.25rem)), 1fr));  /* at least 2 in a row on a 320 phone */
  align-items: stretch; gap: 0.5rem; }
.tc-znacka:has(.tc-znacka-gumb) { display: block; }
.tc-znacka-gumb { all: unset; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; width: 100%; height: 100%;
  padding: 0.75rem 0.5rem; border-radius: var(--r-polje); text-align: center; cursor: pointer; transition: background-color calc(var(--cas-odziv) * var(--k)) ease; }
.tc-znacka-gumb:focus-visible { outline: 2px solid var(--fokus-temno); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .tc-znacka-gumb:hover { background: var(--led); } }
.tc-znacka-gumb .tc-besedilo { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.tc-znacka-gumb .tc-krog { flex: 0 0 auto; width: min(5.5rem, 100%); height: auto; aspect-ratio: 1; font-size: var(--t-xl); }  /* never wider than the tile (A+ on a 320 phone) */
.tc-krog--slika { position: relative; background: none; overflow: visible; }
.tc-krog--slika img { display: block; width: 100%; height: 100%; margin: 0; }
.tc-znacka--se-ne .tc-krog--slika, .tc-okno--se-ne .tc-krog--slika { border: 0; }
.tc-znacka--se-ne .tc-krog--slika img, .tc-okno--se-ne .tc-krog--slika img { filter: grayscale(1) contrast(.9) brightness(1.08); opacity: .55; }
.tc-znacka--se-ne .tc-ime { color: var(--megla); }
.tc-leto { position: absolute; left: 50%; bottom: 8%; transform: translateX(-50%); padding: 1px 6px; border-radius: 999px; background: var(--noc); color: var(--bela);
  font-family: var(--f-glas); font-size: 0.6875rem; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tc-okno { width: min(26rem, calc(100vw - 2rem)); text-align: center; }
.tc-okno .okno-vrh { text-align: left; }
.tc-velika { display: grid; place-items: center; margin: 0 auto 1rem; }
.tc-velika .tc-krog { width: min(18rem, 70vw); height: auto; aspect-ratio: 1; border-radius: 50%; }
.tc-velika .tc-krog:not(.tc-krog--slika) { font-size: var(--t-4xl); }
.tc-velika .tc-leto { font-size: var(--t-base); padding: 2px 12px; }
.tc-stanje { font-weight: 600; margin: 0 0 0.25rem; }
/* GORJE-099e: the trips for points - every trip a box of one height (Kir 10.10), a child per line with a bar */
.tc-izleti { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.tc-izlet { display: flex; flex-direction: column; gap: 4px; padding: 1rem; border: 1px solid var(--crta); border-radius: var(--r-polje); min-width: 0; overflow-wrap: anywhere; }
.tc-otroci { list-style: none; margin: auto 0 0; padding: 0.5rem 0 0; display: grid; gap: 0.625rem; }
.tc-otrok-glava { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.25rem 0.5rem; margin-bottom: 0.25rem; font-variant-numeric: tabular-nums; }
@container (min-width: 37.5rem) { .tc-izleti { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* GORJE-099f: the joint events only - 3 in a row on a wide card, «Predlog» for an event the club has not chosen */
@container (min-width: 60rem) { .tc-izleti { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tc-predlog { align-self: flex-start; justify-self: start; }
@container (min-width: 37.5rem) { .tc-znacke { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 48rem) {
  .md-tocke { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tc-kartica--znacke, .tc-kartica--izleti, .tc-kartica--sama { grid-column: 1 / -1; }
  .kd-polja--2 { grid-template-columns: 12em minmax(0, 1fr); }
}

/* GORJE-047: Domen's weekly plan (plan-<section>.html) and its tab in the editing form. Group cards in a row are one
   height (Kir 10.10): the grid stretches them, the download sits at the bottom. */
.plan-skupine { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
@container (min-width: 48rem) { .plan-skupine { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 75rem) { .plan-skupine { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.plan-skupina { display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem; min-width: 0; scroll-margin-top: 6rem; }
.plan-skupina > .povezava { margin-top: auto; align-self: flex-start; padding-top: 0.375rem; }
.plan-skupina:target { box-shadow: 0 0 0 2px var(--jezero), var(--senca-kartica); }
.plan-dnevi { list-style: none; margin: 0; padding: 0; display: grid; }
.plan-skupina { container-type: inline-size; }
.plan-dan { display: grid; gap: 0.375rem; padding: 0.75rem 0; border-top: 1px solid var(--led); }  /* narrow card: the day above its trainings */
@container (min-width: 340px) { .plan-dan { grid-template-columns: 9em minmax(0, 1fr); gap: 0.75rem; } }
.plan-dan:first-child { border-top: 0; padding-top: 0; }
.plan-dan-ime { font-weight: 700; }
.plan-dan ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.625rem; }
.plan-dan li { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.plan-cas { color: var(--noc); }
.plan-spremembe { padding: 0.75rem 1rem; border-radius: 0.75rem; background: var(--led); border-left: 3px solid var(--jezero); display: grid; gap: 0.5rem; }
.plan-spremembe ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.plan-spremembe li { display: grid; gap: 2px; }
.plan-besedilo { display: grid; gap: 1rem; }
.plan-besedilo > div { display: grid; gap: 0.75rem; }
.plan-prazno { padding: 1.75rem; display: grid; gap: 0.75rem; justify-items: start; }
.plan-prej { border-top: 1px solid var(--crta); }
.plan-prej:last-child { border-bottom: 1px solid var(--crta); }
.plan-prej summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; }
.plan-prej summary::-webkit-details-marker { display: none; }
.plan-prej[open] summary .pu { rotate: 180deg; }
.plan-prej > div { display: grid; gap: 0.75rem; padding-bottom: 1.25rem; }
.plan-datoteke { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.plan-izbrane { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.plan-izbrane:empty { display: none; }
.plan-izbrane li { display: grid; gap: 0.375rem; padding: 0.625rem 0; border-top: 1px solid var(--led); min-width: 0; }
.plan-izbrane li > span { overflow-wrap: anywhere; }
@container (min-width: 37.5rem) { .plan-izbrane li { grid-template-columns: minmax(0, 1fr) 14em; align-items: center; } }

/* GORJE-125: the coach's messages - by e-mail (obvestila-eposta.html), several groups in the form, on the home page */
.eposta-stran [data-korak] { display: grid; gap: 1rem; justify-items: start; }
.eposta-stran [data-korak][hidden] { display: none; }
.eposta-stran .eposta-obrazec { padding: 1.5rem; width: 100%; display: grid; gap: 1.25rem; justify-items: stretch; }
.eposta-obrazec > .gumb { justify-self: start; }
.eposta-obrazec .vnos { width: 100%; }
.eposta-obrazec fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 0.25rem; min-width: 0; }
.eposta-obrazec legend { padding: 0; margin-bottom: 0.5rem; }
.obvestilo-skupine { display: grid; gap: 0.25rem; border: 0; padding: 0; margin: 0; }
/* GORJE-185d: «Nujno - pas na vrhu strani» in /urejanje (form «Obvestilo», «Zadnje objave») */
.nujno-polja { border: 0; margin: 0; padding: 1.25rem; min-width: 0; border-radius: var(--r-polje); background: var(--led); display: grid; gap: 1.25rem; }
.nujno-polja[hidden] { display: none; }
.nujno-polja > legend { float: left; width: 100%; padding: 0; margin: 0; font-weight: 700; color: var(--noc); }
.nujno-polja > .namig { margin: -0.75rem 0 0; }
.nujno-polja > legend + .namig { margin: 0; }
.zadnje-nujno { justify-self: start; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.4; white-space: nowrap; padding: 0.125rem 0.5rem; border-radius: var(--r-gumb); background: var(--noc); color: var(--bela); }
.zadnje-nujno.je-mimo { background: var(--led); color: var(--megla); }
.zadnje-seznam li:has(> .zadnje-gumbi) { flex-wrap: wrap; row-gap: 0.625rem; }
.zadnje-seznam li > .zadnje-gumbi { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; margin-left: auto; }
.domov-obvestila { padding: 1rem 1.25rem; margin-bottom: 1.5rem; display: grid; gap: 0.75rem; border-left: 3px solid var(--jezero); }
.domov-obvestila ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.625rem; }
.domov-obvestila li { display: grid; gap: 2px; }

/* GORJE-095: galleries (galerije.html, galerija-<id>.html). The photos lead: even 3:2 tiles, the first one large from 600 px;
   a click opens the photo window of the books (knjige.css / knjige.js) with «Prenesi fotografijo». */
.gal-mreza { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@container (min-width: 37.5rem) { .gal-mreza { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gal-mreza li:first-child { grid-column: span 2; grid-row: span 2; } }
@container (min-width: 64rem) { .gal-mreza { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; } }
.gal-mreza li, .gal-mreza figure { margin: 0; min-width: 0; }
.gal-mreza figure, .gal-gumb { height: 100%; }
.gal-gumb { display: block; width: 100%; padding: 0; border: 0; border-radius: 0.75rem; overflow: hidden; background: var(--led); cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.gal-ploscica { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: scale calc(var(--cas-odziv) * var(--k)) var(--ease-out); }
.gal-gumb:focus-visible { outline: 3px solid var(--fokus-temno); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .gal-gumb:hover .gal-ploscica { scale: 1.03; } }
.galerija .naslov-strani .meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; }
.gal-gumbi { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.gal-povezave { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1.5rem; }
.kartica-galerija img { background: var(--led); }

/* GORJE-056: drafts from letters to objave@ on /urejanje, under the forms (GORJE-212) */
.osnutki { padding: 1.5rem; display: grid; gap: 0.75rem; border-left: 3px solid var(--jezero); }
.osnutki[hidden] { display: none; }
@container (min-width: 48rem) { .osnutki { padding: 2rem 2.5rem; } }
.osnutki-seznam { list-style: none; margin: 0; padding: 0; display: grid; }
.osnutek { display: grid; gap: 0.5rem; padding: 1rem 0; border-top: 1px solid var(--crta); min-width: 0; }
.osnutek > * { margin: 0; min-width: 0; overflow-wrap: break-word; }
.osnutek-od { color: var(--megla); font-weight: 500; }
.osnutek-opozorilo { color: var(--napaka); font-weight: 700; }
.osnutek-preveri { background: var(--led); border-radius: 0.5rem; padding: 0.625rem 0.875rem; }
.osnutek-preveri p { margin: 0 0 0.25rem; font-weight: 700; }
.osnutek-preveri ul { margin: 0; padding-left: 1.125rem; display: grid; gap: 0.125rem; }
.osnutek-izvirnik summary { cursor: pointer; color: var(--jezero); font-weight: 600; }
.osnutek-izvirnik p { white-space: pre-wrap; margin: 0.5rem 0 0; padding: 0.75rem; background: var(--sneg); border: 1px solid var(--crta); border-radius: 0.5rem; max-height: 20rem; overflow: auto; }
.osnutek-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem; padding-top: 0.25rem; }

/* GORJE-128: a section page - the real weekly schedule by group, the section's own description, and «Kdo vodi sekcijo»:
   the leader with their own words in a wide card, group leaders in small cards of one height (Kir 10.10). Portraits as
   on «Kdo smo» (GORJE-071): 4:5 on the brand «led», Svizec in the same frame when there is no photo. */
.urnik-sekcije { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.urnik-sekcije li { display: grid; gap: 0.125rem; }
.sport-opis { max-width: 42.5rem; margin: 0 0 1.5rem; }
.vodja-glavni .vodja-okvir, .vodja-mala .vodja-okvir { display: block; aspect-ratio: 4 / 5; background: var(--led); overflow: hidden; border-radius: 0.75rem; }
.vodja-glavni .vodja-okvir img, .vodja-mala .vodja-okvir img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vodja-glavni .vodja-okvir--svizec, .vodja-mala .vodja-okvir--svizec { display: grid; place-items: center; }
.vodja-glavni .vodja-okvir--svizec img, .vodja-mala .vodja-okvir--svizec img { width: 46%; height: auto; object-fit: contain; }
.vodja-glavni { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; align-items: center; }
.vodja-ime { display: grid; gap: 0.25rem; }
.vodja-besedilo { grid-column: 1 / -1; display: grid; gap: 0.5rem; }
@container (min-width: 40rem) {
  .vodja-glavni { grid-template-columns: 15rem minmax(0, 42.5rem); grid-template-rows: auto 1fr; column-gap: 2rem; row-gap: 1rem; align-items: start; }
  .vodja-glavni .vodja-okvir { grid-row: 1 / 3; }
  .vodja-besedilo { grid-column: 2; align-content: start; }
}
.vodje-skupin { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
.vodja-glavni + .vodje-skupin { margin-top: 2rem; }
@container (min-width: 40rem) { .vodje-skupin { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 64rem) { .vodje-skupin { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.vodja-mala { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1rem; }
.vodja-mala .vodja-okvir { border-radius: 0.5rem; }
.vodja-mala h3 + p { margin-top: 0.125rem; }
.vodja-eposta { overflow-wrap: anywhere; }
.podatki .vodja-eposta { margin-top: 0.25rem; }

/* GORJE-139: /novice in seasons (1 September - 31 August). This season on top, older seasons below as closed groups,
   the same look as .arhiv-album; the rubric pills filter all of them (strani.js). */
.sezona-novic--letos .razdelek-glava { align-items: baseline; margin-bottom: 1.5rem; }
.sezone-starejse { margin-top: 4rem; }
.sezone-starejse .razdelek-glava { margin-bottom: 1rem; }
details.sezona-novic { border-top: 1px solid var(--crta); }
details.sezona-novic:last-child { border-bottom: 1px solid var(--crta); }
details.sezona-novic > summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1rem; padding: 1.125rem 0; min-height: 2.75rem; }
details.sezona-novic > summary::-webkit-details-marker { display: none; }
details.sezona-novic > summary .t-xl { display: inline-flex; align-items: center; gap: 0.625rem; }
details.sezona-novic > summary .pu { flex: none; transition: rotate calc(var(--cas-stanje) * var(--k)) var(--ease-out); }
details.sezona-novic[open] > summary .pu { rotate: 180deg; }
details.sezona-novic > summary:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; border-radius: 0.25rem; }
details.sezona-novic > .mreza-3 { padding: 0.5rem 0 2.5rem; }
/* an announcement whose report is out: its page stays and points to the report */
.clanek-porocilo { display: flex; flex-wrap: wrap; align-items: center; gap: 0 0.75rem; padding: 0.75rem 1.25rem; border-radius: 1rem; background: var(--dogodek-nasi); box-shadow: inset 0 0 0 1px var(--crta); }
.clanek-porocilo .povezava { text-decoration-color: currentColor; }

/* GORJE-118: the editor page klub-uredi (calendar and yearly events) */
.ur-iskanje { max-width: 30rem; margin-bottom: 0.5rem; }
.ur-seznam { list-style: none; margin: 0; padding: 0; display: grid; }
.ur-seznam > li[hidden] { display: none; }
.ur-vrstica { display: grid; gap: 2px; width: 100%; padding: 0.75rem 0; border: 0; border-top: 1px solid var(--led); background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ur-vrstica .t-base { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.25rem; }
@media (hover: hover) and (pointer: fine) { .ur-vrstica:hover .t-base { text-decoration-color: currentColor; } }
.ur-vrstica:focus-visible { outline: 2px solid var(--jezero); outline-offset: 2px; border-radius: 0.25rem; }
.ur-minuli { margin-top: 1rem; }
.ur-minuli > summary { cursor: pointer; padding: 0.5rem 0; }
.ur-obrazec { display: grid; gap: 1.25rem; margin-top: 1rem; }
.ur-obrazec .ur-en { padding-left: 1rem; border-left: 3px solid var(--led); }
.ur-vloge { display: grid; gap: 1rem; margin: 0; padding: 0; border: 0; }
.ur-vloge [data-ur-vloge] { display: grid; gap: 1rem; }
.ur-vloga { display: grid; gap: 0.75rem; margin: 0; padding: 1rem; border: 1px solid var(--led); border-radius: 0.75rem; min-width: 0; }
.ur-vloga .gumb, .ur-vloge > .gumb { justify-self: start; }
/* GORJE-118b: the event photo - the frame 2:1 over the photo, the two cards next to it */
.ur-foto { display: grid; gap: 1rem; margin: 0; padding: 1rem; border: 1px solid var(--led); border-radius: 0.75rem; min-width: 0; }
.ur-foto > legend { padding: 0 0.25rem; }
.ur-foto-okvir { position: relative; justify-self: center; width: 100%; max-width: calc(min(70vh, 36rem) * var(--r, 100)); line-height: 0; border-radius: 0.5rem; overflow: hidden; user-select: none; -webkit-user-select: none; }
.ur-foto-okvir img { width: 100%; height: auto; display: block; }  /* GORJE-149c: --r = width / height of the photo (stran.js), so a tall photo stays on the screen with its cards */
.ur-izrez { position: absolute; box-shadow: 0 0 0 9999px rgb(10 26 40 / 0.55); outline: 2px solid var(--bela); outline-offset: -1px; cursor: move; touch-action: none; }
.ur-izrez:focus-visible { outline: 3px solid var(--bela); outline-offset: -3px; }
.ur-foto-predogled { display: flex; flex-wrap: wrap; gap: 1rem; }
.ur-foto-predogled figure { margin: 0; display: grid; gap: 0.25rem; flex: 1 1 14rem; max-width: 400px; }
.ur-foto-predogled canvas { width: 100%; height: auto; border-radius: 0.5rem; background: var(--led); }  /* its shape from width × height (2:1 events, 3:2 stories) */
.ur-foto [data-ur-foto-stanje]:empty { display: none; }
.ur-foto-opis { display: grid; gap: 1rem; }
.ur-spremembe { list-style: none; margin: 0; padding: 0; display: grid; }
.ur-sprememba { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; padding: 0.625rem 0; border-top: 1px solid var(--led); }
.ur-sprememba > div { display: grid; gap: 2px; min-width: 0; flex: 1 1 14rem; }
.ur-gumb { margin-top: 0.5rem; }

/* GORJE-149: «Uredi» and «Izbriši» in the corner of a story (only for who may), and its form */
.novica-uredi { display: grid; gap: 0.75rem; margin-bottom: 0.5rem; }
.novica-uredi > .novica-uredi-gumbi { justify-content: flex-end; }
.novica-uredi-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.novica-obrazec { display: grid; gap: 1.25rem; }
.novica-uredi [data-novica-stanje]:empty { display: none; }
/* GORJE-148: the page /prijava - what the logged-in person can open, as equal cards */
.prijava-mreza { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); margin: 0; padding: 0; list-style: none; }
.prijava-mreza > li { display: flex; }
.prijava-mreza a.kartica { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; padding: 1.25rem; color: inherit; text-decoration: none; }
.prijava-mreza a.kartica .povezava { margin-top: auto; }
.prijava-okno { display: grid; gap: 1rem; max-width: 26rem; }
.prijava-sporocilo { margin: 0; padding: 0.75rem 1rem; border-radius: var(--r-polje); background: #FBEDEC; color: var(--napaka); }
.prijava-uspeh { margin: 0; padding: 0.75rem 1rem; border-radius: var(--r-polje); background: #E4F6F3; color: var(--noc); }
/* GORJE-218: «Domov» with the shared login of the club - what it is and «Odjavite se» (stran.js) */
.prijava-skupni { margin: 0; padding: 0.75rem 1rem; border-left: 3px solid var(--jezero); border-radius: 0 var(--r-polje) var(--r-polje) 0; background: var(--bela); color: var(--noc); }
.prijava-skupni a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }
.prijava-zdaj { display: grid; gap: 1.25rem; }
.prijava-zdaj p { margin: 0; }

/* ---------------------------------------------------------------- GORJE-138: attendance at training
   The coach's page /klub-prisotnost: the day, the trainings as cards, the names as big buttons (one press = came),
   made for a phone held in one hand at the gym. Moja družina: a card per child with dots of the last trainings. */
.pr { display: grid; gap: 1.25rem; }
.pr [data-pr-korak="seznam"] { display: grid; gap: 1rem; }
.pr [data-pr-korak="seznam"][hidden] { display: none; }
.pr-dan { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 0.75rem; }
.pr-datum { margin: 0; grid-column: 1 / -1; grid-row: 1; }
.pr-dan [data-pr-dan="1"] { justify-self: end; }
@media (min-width: 40rem) { .pr-dan { grid-template-columns: auto minmax(0, 1fr) auto; } .pr-datum { grid-column: 2; text-align: center; } }
.pr-dan .gumb:disabled { opacity: 0.4; cursor: default; }
.pr-treningi, .pr-otroci, .pr-neo { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.pr-trening-vrsta { display: grid; gap: 0.75rem; }
.pr-trening { display: grid; gap: 0.25rem; justify-items: start; width: 100%; padding: 1rem 1.25rem; text-align: left; font: inherit; color: inherit; border: 0; cursor: pointer; }
.pr-trening[aria-expanded="true"] { box-shadow: inset 0 0 0 2px var(--jezero), var(--senca-kartica); }
.pr-trening .md-stanje { margin-top: 0.25rem; }
.pr-ura { font-weight: 700; color: var(--jezero); }
.pr-ime-treninga { font-weight: 600; }
.pr-oznaci { display: grid; gap: 1rem; padding: 1.25rem; }
.pr-oznaci h2 { margin: 0; }
.pr-oznaci h2:focus { outline: none; }
.pr-oznaci > p { margin: 0; }
.pr-odpadel { display: flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; cursor: pointer; }
.pr-odpadel input { width: 1.375rem; height: 1.375rem; margin: 0; accent-color: var(--jezero); }
/* GORJE-224c: Domen's words of the plan on the training, «Prestavi» under «Trening je odpadel» */
.pr-kaj-kratko { color: var(--noc); overflow-wrap: anywhere; }
.pr-kaj { margin: 0.25rem 0 0.75rem; padding: 0.6rem 0.85rem; background: var(--led); border-radius: var(--r-polje); overflow-wrap: anywhere; }
.pr-prestavi { margin: 0.25rem 0 0.75rem; }
.pr-prestavi summary { min-height: 2.75rem; display: flex; align-items: center; cursor: pointer; color: var(--jezero); font-weight: 600; }
@media (min-width: 30rem) { .pr-otroci { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pr-ime { display: flex; align-items: center; gap: 0.875rem; width: 100%; min-height: 3.75rem; padding: 0.625rem 1rem; text-align: left; font: inherit; color: var(--noc);
  background: var(--bela); border: 1.5px solid var(--crta); border-radius: var(--r-gumb, 0.75rem); cursor: pointer; touch-action: manipulation;
  transition: background-color var(--cas-stanje, 150ms) var(--ease-out, ease), border-color var(--cas-stanje, 150ms) var(--ease-out, ease); }
.pr-ime-besedilo { display: grid; gap: 0.125rem; min-width: 0; }
.pr-ime-besedilo .t-lg { font-weight: 600; overflow-wrap: anywhere; }
.pr-kljukica { flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; border: 2px solid var(--crta); background: var(--bela) center / 1rem no-repeat; }
.pr-portret { flex: none; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; overflow: hidden; background: var(--led); color: var(--megla); font-weight: 700; font-size: var(--t-lg); }
.pr-portret img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pr-ime[aria-pressed="true"] { background: #E3F0EC; border-color: var(--uspeh); }
.pr-ime[aria-pressed="true"] .pr-kljukica { border-color: var(--uspeh); background-color: var(--uspeh);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.pr-ime:disabled { opacity: 0.45; cursor: default; }
.pr-ime:focus-visible { outline: 3px solid var(--jezero); outline-offset: 2px; }
.pr-vrstica { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; }
.pr-stevec { margin: 0 auto 0 0; font-weight: 600; }
.pr-vrstica .povezava:disabled { opacity: 0.4; cursor: default; }
.pr-shrani { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.pr-shrani [data-pr-izbrisi] { color: var(--napaka); }
.pr-drug { padding: 1rem 1.25rem; display: grid; gap: 1rem; }
.pr-drug summary { cursor: pointer; font-weight: 600; min-height: 1.75rem; }
.pr-drug-polja { display: grid; gap: 1rem; margin: 1rem 0; }
.pr-arhiv { padding: 1rem 1.25rem; display: grid; gap: 0.75rem; margin-top: 1.5rem; }   /* GORJE-160 */
.pr-arhiv summary { cursor: pointer; font-weight: 600; min-height: 1.75rem; }
.pr-arhiv-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.pr-arhiv-otrok { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; align-items: baseline; justify-content: space-between; margin: 0.25rem 0; }
@media (min-width: 36rem) { .pr-drug-polja { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.pr-neo-vrsta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.875rem 1rem; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); }
.pr-neo-vrsta > div { display: grid; gap: 0.125rem; min-width: 0; }
/* Moja družina */
.md-treningi { display: grid; gap: 1rem; }
@media (min-width: 45rem) { .md-treningi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pr-otrok { display: flex; flex-direction: column; gap: 0.5rem; }
.pr-otrok p { margin: 0; }
.pr-pike { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.375rem; }
.pr-pika { display: inline-block; width: 1.125rem; height: 1.125rem; border-radius: 50%; border: 2px solid var(--crta); box-sizing: border-box; }
.pr-pika--bil { background: var(--uspeh); border-color: var(--uspeh); }
.pr-pika--odpadel { border-style: dashed; border-color: var(--megla); background: transparent; }
.pr-pika--opraviceno { border-color: var(--megla); background: linear-gradient(135deg, transparent 45%, var(--megla) 45%, var(--megla) 55%, transparent 55%); }   /* GORJE-151 */
.pr-otrok .pr-legenda { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; margin-top: auto; padding-top: 0.25rem; }
.pr-legenda span { display: inline-flex; align-items: center; gap: 0.375rem; }
.pr-legenda .pr-pika { width: 0.75rem; height: 0.75rem; border-width: 1.5px; }
/* GORJE-203d: the run's dots - a freeze held the run (ice blue), the run rests (told beforehand, dotted ring), the run stopped
   here (a bar, calm grey-blue, no red), a race instead of the training (a ring with a dot) */
.pr-pika--zamrznjeno { background: #CBE6F1; border-color: var(--jezero); }
.pr-pika--pociva { border-style: dotted; border-color: var(--jezero); background: transparent; }
.pr-pika--prekinjeno { border-color: var(--noc); background: linear-gradient(90deg, transparent 40%, var(--noc) 40%, var(--noc) 60%, transparent 60%); }
.pr-pika--tekma { border-color: var(--uspeh); background: radial-gradient(circle, var(--uspeh) 32%, transparent 36%); }
/* the run of a child on its training card (Moja družina) */
.sr-ik { display: block; width: 1.125rem; height: 1.125rem; }
.sr-ik-okvir { display: inline-flex; color: var(--jezero); flex: 0 0 auto; }
.sr-ik--prazno { color: var(--crta); }
.sr-ik--prazno .sr-ik { filter: grayscale(1); opacity: 0.4; }  /* GORJE-203f: an empty place in the stock, the drawn snowflake faded */
.sr-serija { display: grid; gap: 0.375rem; padding: 0.875rem 1rem; background: var(--led); border-radius: var(--r-polje); }
.sr-serija p { margin: 0; }
.sr-glava { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; }
.sr-glava .sr-ik { width: 1.5rem; height: 1.5rem; }
.sr-n { font-family: var(--f-glas); font-weight: 700; font-size: var(--t-3xl); line-height: 1; font-variant-numeric: tabular-nums; color: var(--noc); }
.sr-zlata { padding: 2px 10px; border-radius: 999px; background: #FFF1C2; color: #5E4500; font-weight: 600; }
.sr-vrstice { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; }
.sr-vrstice li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; }
.sr-zaloga { display: inline-flex; gap: 2px; }
.sr-ustavljena { padding-top: 0.25rem; }
.sr-gumbi { padding-top: 0.25rem; }
.sr-gumbi .gumb, .sr-ne-pride .gumb { white-space: normal; text-align: left; }
.sr-podari, .sr-np-obrazec { display: grid; gap: 0.625rem; padding-top: 0.5rem; }
.sr-podari fieldset, .sr-np-obrazec fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 0.25rem; min-width: 0; }
.sr-podari legend, .sr-np-obrazec legend { padding: 0; margin-bottom: 0.25rem; font-weight: 600; }
.sr-izbira { display: flex; align-items: flex-start; gap: 0.625rem; min-height: 2.75rem; padding: 0.5rem 0; cursor: pointer; }
.sr-izbira input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: 0.125rem 0 0; accent-color: var(--jezero); }
.sr-izbira > span { display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.sr-np-obrazec .polja-2 { display: grid; gap: 0.75rem; }
.sr-np-obrazec .sr-np-od-do[hidden] { display: none; }
/* «Ne pride na trening» at the bottom of every card, so the button sits in the same place on cards of one row */
.pr-otrok .sr-ne-pride { margin-top: auto; padding-top: 0.75rem; border-top: 1px solid var(--crta); display: grid; gap: 0.5rem; justify-items: start; }
.pr-otrok .pr-legenda { margin-top: 0; }
.sr-ne-pride .sr-np-obrazec { justify-self: stretch; }
.sr-np-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; justify-self: stretch; }
.sr-np-seznam li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.25rem 0.75rem; }
/* the coach's list: the run next to the name, small; after «Shrani» the praise line */
.pr-ime-ime { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; }
.pr-serija { display: inline-flex; align-items: center; gap: 2px; padding: 1px 8px 1px 5px; border-radius: 999px; background: var(--led); color: var(--noc);
  font-family: var(--f-glas); font-weight: 700; font-variant-numeric: tabular-nums; }
.pr-serija .sr-ik { width: 0.875rem; height: 0.875rem; }
.pr-stopnje { margin: 0; padding: 0.75rem 1rem; border-radius: var(--r-polje); background: #E4F6F3; color: var(--noc); font-weight: 600; }
/* the home page: a small way to «Ne pride» under the week */
.domov-ne-pride { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin: 1rem 0 0; }

/* ---------------------------------------------------------------- GORJE-173: the group of a new child
   Moja družina: «Čaka potrditev trenerja» and «Trenerji» on the child's card. /klub-prisotnost: «Novi otroci» on top
   (confirm with one press), «nov» next to a child in the training list. /klub-sezona: the year table and every child of
   the section with a group to choose, one «Shrani» that stays in reach at the bottom of the phone screen. */
.md-caka { margin: 0.375rem 0 0.25rem; }
.pr-nov { justify-self: start; background: #E4EEF6; color: var(--jezero); }
.pr-novi { display: grid; gap: 0.75rem; padding: 1.25rem; }
.pr-novi h2, .pr-novi h3, .pr-novi p { margin: 0; }
.pr-novi-seznam { list-style: none; margin: 0; padding: 0; display: grid; }
.pr-novi-otrok { display: grid; gap: 0.625rem; padding: 0.875rem 0; border-top: 1px solid var(--crta); }
.pr-novi-otrok:last-child { border-bottom: 1px solid var(--crta); }
.pr-novi-besedilo { display: grid; gap: 0.125rem; min-width: 0; }
.pr-novi-besedilo .t-lg { font-weight: 600; overflow-wrap: anywhere; }
.pr-novi-izbira { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; }
.pr-novi-izbira .izbira { flex: 1 1 10rem; min-width: 0; }
@media (min-width: 40rem) { .pr-novi-otrok { grid-template-columns: minmax(0, 1fr) minmax(0, 20rem); align-items: center; } }
[data-pr-brez-trenerja] { display: grid; gap: 0.375rem; }
[data-pr-brez-trenerja][hidden] { display: none; }
.pr-brez-seznam { margin: 0; padding-left: 1.25rem; display: grid; gap: 0.25rem; }
.sz { display: grid; gap: 1.25rem; }
.sz [data-ns-korak="seznam"] { display: grid; gap: 1.5rem; }
.sz [data-ns-korak="seznam"][hidden] { display: none; }
.sz .razdelek { margin: 0; display: grid; gap: 1rem; }
.sz .razdelek-glava { margin: 0; }
.sz .razdelek > .gumb { justify-self: start; }
.sz-letniki { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 0.5rem 1.5rem; }
.sz-letnik { margin: 0; display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); align-items: center; gap: 0.75rem; }
.sz-letnik label { font-weight: 600; margin: 0; }
.sz-otroci { display: grid; gap: 1.25rem; }
.sz-leto h3 { margin: 0 0 0.5rem; }
.sz-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.sz-otrok { display: grid; gap: 0.5rem; padding: 0.75rem 1rem; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); border-left: 4px solid transparent; }
.sz-otrok--spremenjen { border-left-color: var(--jezero); }
.sz-ime { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.625rem; min-width: 0; font-weight: 600; }
.sz-ime .t-base { overflow-wrap: anywhere; }
.sz-desno { display: grid; gap: 0.375rem; }
.sz-potrdi { display: flex; align-items: flex-start; gap: 0.5rem; cursor: pointer; }
.sz-potrdi input { width: 1.125rem; height: 1.125rem; margin: 0.125rem 0 0; flex: none; accent-color: var(--jezero); }
@media (min-width: 36rem) { .sz-otrok { grid-template-columns: minmax(0, 1fr) 13rem; align-items: center; } }
.sz-shrani { position: sticky; bottom: 0.75rem; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; padding: 0.875rem 1.25rem; }
.sz-shrani p { margin: 0; flex: 1 1 9rem; }
.sz-shrani [data-ns-napaka] { flex-basis: 100%; }

/* ---------------------------------------------------------------- GORJE-174b: «Pomoč na prireditvah» (klub-pomoc)
   The years as equal cards; a year: parts × shifts as a grid on a wide page (a column per time of the year, the part's
   name in the first one), on a phone every part a card with its shifts under it. A person opens with one tap (move,
   done, remove). The message stays at the bottom of the screen, above the phone's bottom buttons. Print: one A4 sheet
   per part, only the sheets (html.tiskam-pomoc, like the diploma). */
.pm { display: grid; gap: 1.25rem; }
.pm > *, .pm-korak > * { min-width: 0; }
.pm-korak:not([hidden]) { display: grid; gap: 1.5rem; }
.pm .razdelek { margin: 0; padding: 0; display: grid; gap: 1rem; }
.pm .razdelek-glava { margin: 0; }
.pm p { margin: 0; }
.pm .gumb--majhen, .pm-okno .gumb--majhen { height: 2.75rem; }
.pm-gumbi { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pm-znacke, .pm-skupaj { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem 0.5rem; }
.pm-stevilo { font-size: var(--t-xl); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.2; }
.pm-skupaj .pm-stevilo { font-size: var(--t-2xl); }
.pm-rdece { color: var(--napaka); font-weight: 600; }
.pm-leta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
.pm-leta > li { display: grid; }
.pm-leto-kartica { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.25rem; }
.pm-leto-kartica h3 { margin: 0; }
.pm-leto-kartica .pm-odpri { margin-top: auto; align-self: flex-start; }
.pm-novo { padding: 1.25rem; display: grid; gap: 1rem; }
.pm-novo h2 { margin: 0; }
.pm-obrazec { display: grid; gap: 0.875rem; }
.pm-obrazec .polje { margin: 0; }
.pm-vrsta { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); gap: 0.875rem 1rem; align-items: start; }
.pm-kljukica { display: flex; align-items: flex-start; gap: 0.5rem; min-height: 2.75rem; padding-top: 0.625rem; cursor: pointer; }
.pm-kljukica input { width: 1.125rem; height: 1.125rem; margin: 0.125rem 0 0; flex: none; accent-color: var(--jezero); }
.pm-kljukica:has(input:disabled) { color: var(--megla); cursor: default; }
.pm-organizatorji { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 0.25rem; }
.pm-organizatorji legend { padding: 0; font-weight: 600; }
.pm-organizatorji > div { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.pm-glava { display: grid; gap: 0.5rem; }
.pm-glava h2 { margin: 0; }
.pm-ukazi { padding: 1.25rem; display: grid; gap: 1rem; }
.pm-ljudje { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.375rem; }
.pm-ner { display: grid; gap: 0.75rem; padding: 1rem 1.25rem; }
.pm-ner-besedilo { display: grid; gap: 0.25rem; min-width: 0; }
.pm-ner-izbira { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.pm-ner-izbira .izbira { flex: 1 1 14rem; min-width: 0; }
.pm-oseba-ime { font-weight: 600; overflow-wrap: anywhere; }
.pm-oseba details { border-radius: 0.5rem; background: var(--led); }
.pm-oseba summary { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; min-height: 2.75rem; padding: 0.375rem 0.75rem; cursor: pointer; list-style: none; }
.pm-oseba summary::-webkit-details-marker { display: none; }
.pm-oseba--isce details { background: #F6E7E5; box-shadow: inset 3px 0 0 var(--napaka); }
.pm-oseba--isce .pm-oseba-ime { color: var(--napaka); }
.pm-oseba-vec { display: grid; gap: 0.5rem; padding: 0 0.75rem 0.75rem; }
.pm-mreza { display: grid; gap: 1rem; }
.pm-stolpec { display: none; }
.pm-odsek { display: grid; gap: 0.75rem; padding: 1rem; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); }
.pm-odsek-glava { display: grid; gap: 0.25rem; }
.pm-odsek-glava h3 { margin: 0; overflow-wrap: anywhere; }
.pm-odsek-glava .pm-gumbi { margin-top: 0.375rem; }
.pm-celica { display: grid; gap: 0.75rem; }
.pm-izmena { display: grid; gap: 0.5rem; padding-top: 0.75rem; border-top: 1px solid var(--crta); }
.pm-izmena-cas { font-weight: 600; }
@container (min-width: 60rem) {
  .pm-mreza { grid-template-columns: minmax(12rem, 15rem) repeat(var(--pm-stolpci), minmax(14rem, 1fr)); gap: 0.75rem; overflow-x: auto; align-items: start; padding-bottom: 0.25rem; }
  .pm-stolpec { display: block; grid-row: 1; grid-column: var(--pm-st); font-weight: 600; padding: 0 0.25rem; }
  .pm-odsek { display: contents; }
  .pm-odsek-glava, .pm-celica, .pm-brez { grid-row: var(--pm-vr); align-self: stretch; }
  .pm-odsek-glava { grid-column: 1; padding: 1rem; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); align-content: start; }
  .pm-brez { grid-column: 2 / -1; padding: 1rem; }
  .pm-celica { grid-column: var(--pm-st); padding: 1rem; background: var(--bela); border-radius: var(--r-kartica); box-shadow: var(--senca-kartica); align-content: start; }
  .pm-izmena { padding-top: 0; border-top: 0; }
  .pm-izmena + .pm-izmena { padding-top: 0.75rem; border-top: 1px solid var(--crta); }
  .pm-izmena-cas { display: none; }
  .pm-ner { grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); align-items: center; }
}
.pm-njihovo { padding: 0.625rem 0.75rem; border-radius: 0.5rem; background: #FFF6DA; color: var(--noc); }
.pm-njihovo[hidden] { display: none; }
.pm-sporocilo { position: sticky; bottom: calc(var(--okv-tabi, 0px) + 0.75rem); z-index: 3; padding: 0.875rem 1.25rem; border-radius: var(--r-kartica); background: var(--noc); color: var(--bela); box-shadow: var(--senca-kartica); font-weight: 600; }
.pm-okno { width: min(36rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; }
.pm-okno [data-pm-okno-polja] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); gap: 0.875rem 1rem; }
.pm-okno [data-pm-okno-polja] > :not(.pm-pol) { grid-column: 1 / -1; }
.pm-okno .polje { margin: 0; }
.pm-tisk { display: none; }
@media print {
  html.tiskam-pomoc body > *:not(.pm-tisk) { display: none !important; }
  html.tiskam-pomoc, html.tiskam-pomoc body { background: #fff !important; }
  html.tiskam-pomoc .pm-tisk { display: block; color: #000; font-family: var(--f-tekst); font-size: 11pt; }
  .pm-list { break-after: page; }
  .pm-list:last-child { break-after: auto; }
  .pm-list-vrh { margin: 0 0 4mm; font-size: 9pt; }
  .pm-list h1 { margin: 0 0 2mm; font-size: 22pt; line-height: 1.1; }
  .pm-list h2 { margin: 7mm 0 2mm; font-size: 13pt; break-after: avoid; }
  .pm-list p { margin: 0; }
  .pm-list table { width: 100%; border-collapse: collapse; break-inside: auto; }
  .pm-list th, .pm-list td { border: 0.3mm solid #000; padding: 2mm 2.5mm; text-align: left; height: 9mm; }
  .pm-list th { height: auto; font-size: 9pt; }
  .pm-list th:nth-child(1) { width: 44%; } .pm-list th:nth-child(2) { width: 24%; } .pm-list th:nth-child(3), .pm-list th:nth-child(4) { width: 16%; }
  .pm-list tr { break-inside: avoid; }
  .pm-list { page: pomoc; }
}
@page pomoc { size: A4 portrait; margin: 14mm; }  /* a named page: the diploma (priznanje) keeps its own */

/* ---------------------------------------------------------------- GORJE-171b: the frame of the closed part (okv-)
   zaprti_okvir() in zgradi.py, behaviour in stran.js. Phone (under 48rem): a bar on top (G/, the page, Aa, initials)
   and the role's buttons at the bottom; «Več» opens the whole menu from below (#okv-vec). Computer: the menu on the left
   (280px, stays put, its list scrolls), on the right the bar «group › page» + «Navodila za to stran». The page itself
   (main) is its own @container: its layout follows the width next to the menu, not the window. */
.okv { --okv-tabi: calc(4rem + env(safe-area-inset-bottom, 0px)); display: flex; min-height: 100vh; min-height: 100dvh; }
.okv-desno { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.okv-glavno { flex: 1; container-type: inline-size; padding-bottom: calc(var(--okv-tabi) + 1rem); }
.okv .sz-shrani { bottom: calc(var(--okv-tabi) + 0.75rem); }
html:has(.okv) { scroll-padding-top: 4.5rem; }
.okv-skupina ul, .okv-tabi ul { list-style: none; margin: 0; padding: 0; }
.okv-skupina ul { display: grid; gap: 2px; }

/* the menu on the left (and the same groups in «Več») */
.okv-stran { display: none; }
.okv-vrh { display: grid; gap: 10px; padding: 2px 10px 4px; justify-items: start; }
.okv-vrh img { display: block; width: 132px; height: auto; }
.okv-splet, .okv-gost-splet { display: inline-flex; align-items: center; gap: 6px; font-size: var(--t-xs); font-weight: 600; color: var(--megla); }
.okv-splet svg, .okv-gost-splet svg { width: 14px; height: 14px; }
.okv-meni { flex: 1; min-height: 0; overflow-y: auto; margin-inline: -4px; padding-inline: 4px; }
.okv-skupina { margin-top: 14px; }
.okv-oznaka { margin: 0 0 6px; padding: 0 10px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--megla); }
.okv-post { display: flex; align-items: center; gap: 12px; min-height: 2.25rem; padding: 6px 10px; border-radius: 10px; font-size: .9375rem; line-height: 1.3; font-weight: 500; color: var(--noc);
  transition: background-color calc(var(--cas-odziv) * var(--k)) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .okv-post:hover { background: var(--sneg); } }
.okv-post[aria-current="page"] { background: var(--led); font-weight: 700; }
.okv-post[aria-current="page"] .okv-ik { color: var(--jezero); }
.okv-ik { width: 20px; height: 20px; flex: none; color: var(--megla); }
.okv-ime { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.okv-dno { border-top: 1px solid var(--led); margin-top: 12px; padding-top: 6px; }
.okv-jaz { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px 12px; padding: 8px 10px 0; }
.okv-jaz-orodja { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }  /* GORJE-226: language and Odjava on their own row, the e-mail gets the whole width */
.okv-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--led); color: var(--noc); font-weight: 700; font-size: .8125rem; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.okv-jaz-ime { display: grid; flex: 1; min-width: 0; margin: 0; font-size: var(--t-sm); font-weight: 700; line-height: 1.25; }
.okv-jaz-ime span { overflow-wrap: anywhere; }  /* GORJE-226: the name and the e-mail always whole, wrapped, never «…» */
.okv-jaz-ime span + span { font-size: var(--t-xs); font-weight: 500; color: var(--megla); }
.okv-ikgumb { width: 2.25rem; height: 2.25rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; flex: none; color: var(--megla); }
@media (hover: hover) and (pointer: fine) { .okv-ikgumb:hover { background: var(--sneg); color: var(--noc); } }
.okv-ikgumb svg { width: 20px; height: 20px; }
.okv-jezik { display: inline-flex; flex: none; font-size: .75rem; font-weight: 700; border: 1px solid var(--crta); border-radius: 999px; overflow: hidden; }
.okv-jezik > * { padding: 4px 8px; }
.okv-jezik [aria-current] { background: var(--noc); color: var(--bela); }
/* GORJE-226: each person's own colour from the brand (stran.js: the same e-mail or user name, always the same colour), or
   their own photo; on Moja družina the circle is a button with a small camera - the parent's own photo */
.okv-avatar { position: relative; }
.okv-avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.okv-avatar:has(img) > span { display: none; }
.okv-avatar[data-barva="0"] { background: var(--jezero); color: var(--bela); }
.okv-avatar[data-barva="1"] { background: var(--gradient-1); color: var(--noc); }
.okv-avatar[data-barva="2"] { background: var(--uspeh); color: var(--bela); }
.okv-avatar[data-barva="3"] { background: var(--gradient-2); color: var(--noc); }
.okv-avatar[data-barva="4"] { background: var(--noc); color: var(--bela); }
.okv-avatar[data-barva="5"] { background: var(--gradient-3); color: var(--noc); }
.okv-stran .okv-avatar, .okv-list .okv-avatar { width: 40px; height: 40px; font-size: .875rem; }
.okv-avatar--gumb { border: 0; padding: 0; font-family: inherit; cursor: pointer; }
.okv-avatar--gumb:focus-visible { border-radius: 50%; }
.okv-avatar-kamera { position: absolute; right: -4px; bottom: -4px; width: 20px; height: 20px; padding: 3.5px; box-sizing: border-box; border-radius: 50%; background: var(--bela); color: var(--noc); box-shadow: 0 1px 3px rgb(30 52 68 / 0.3); }
@media (hover: hover) and (pointer: fine) { .okv-avatar--gumb:hover .okv-avatar-kamera { background: var(--led); color: var(--jezero); } }

/* the bar on top of the page */
.okv-vrstica { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 0.75rem; min-height: 3.5rem; padding: env(safe-area-inset-top, 0px) 1rem 0; background: var(--bela); border-bottom: 1px solid var(--led); }
.okv-znak img { display: block; width: 26px; height: auto; }
.okv-gost-logo, .okv-gost-splet { display: none; }
.okv-gost-logo img { display: block; width: 132px; height: auto; }
.okv-pot { flex: 1; min-width: 0; margin: 0; font-size: var(--t-base); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.okv-pot b { font-weight: 700; }
.okv-pot-skupina { display: none; }
.okv-pomoc { display: none; }
.okv-jaz-gumb { width: 2.25rem; height: 2.25rem; }
.okv-jaz-gumb:not([data-barva]) { visibility: hidden; }  /* until the page knows who it is */

/* the phone's buttons at the bottom */
.okv-tabi { position: fixed; inset: auto 0 0; z-index: 30; background: var(--bela); border-top: 1px solid var(--led); padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px)); }
.okv-tabi ul { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.okv-tab { display: grid; justify-items: center; gap: 2px; width: 100%; min-height: 3.25rem; padding: 4px 2px; font-size: .75rem; font-weight: 600; line-height: 1.2; color: var(--megla); text-align: center; -webkit-tap-highlight-color: transparent; }
.okv-tab .okv-ik { width: 3.5rem; height: 1.875rem; padding: 3px 16px; box-sizing: border-box; border-radius: 999px; transition: background-color calc(var(--cas-odziv) * var(--k)) var(--ease-out); }
.okv-tab .okv-ime { width: 100%; }
.okv-tab[aria-current="page"], .okv-tab.je-aktivno { color: var(--jezero); }
.okv-tab[aria-current="page"] .okv-ik, .okv-tab.je-aktivno .okv-ik { background: var(--led); color: var(--jezero); }

/* «Več»: the whole menu from below */
.okv-list { width: 100%; max-width: 32rem; max-height: 85vh; max-height: 85dvh; margin: auto auto 0; padding: 6px 12px calc(20px + env(safe-area-inset-bottom, 0px)); box-sizing: border-box; border: 0; border-radius: 24px 24px 0 0; background: var(--bela); color: var(--noc); box-shadow: var(--senca-okno); overflow-y: auto; overscroll-behavior: contain; }
.okv-list::backdrop { background: var(--podlaga-okna); }
.okv-rocaj { width: 40px; height: 4px; border-radius: 2px; background: var(--crta); margin: 6px auto; }
.okv-list .okv-jaz { padding: 8px 10px 4px; }
.okv-list .okv-skupina { margin-top: 12px; }
.okv-list .okv-post { min-height: 2.75rem; }
.okv-list-dno { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; align-items: center; padding: 16px 10px 0; margin-top: 12px; border-top: 1px solid var(--led); font-size: var(--t-sm); font-weight: 600; }
.okv-list-dno > a { min-height: 2.75rem; display: inline-flex; align-items: center; }

/* not logged in (/prijava before the login): the logo and «Na spletno stran», no menu */
.okv--gost .okv-stran, .okv--gost .okv-tabi, .okv--gost .okv-znak, .okv--gost .okv-pot, .okv--gost .okv-jaz-gumb, .okv--gost .okv-pomoc { display: none !important; }
.okv--gost .okv-gost-logo { display: block; margin-right: auto; }
.okv--gost .okv-gost-splet { display: inline-flex; }
.okv--gost { --okv-tabi: 0px; }

@container (min-width: 48rem) {
  .okv { --okv-tabi: 0px; }
  .okv-stran { display: flex; flex-direction: column; width: 280px; flex: none; position: sticky; top: 0; height: 100vh; height: 100dvh; box-sizing: border-box; padding: 20px 12px 16px; background: var(--bela); border-right: 1px solid var(--led); }
  .okv-tabi, .okv-znak, .okv-jaz-gumb { display: none; }
  .okv-vrstica { padding-inline: clamp(20px, 3vw, 48px); }
  .okv-pot { font-size: var(--t-sm); color: var(--megla); }
  .okv-pot b { color: var(--noc); font-weight: 600; }
  .okv-pot-skupina { display: inline; }
  .okv-pomoc:not([hidden]) { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-sm); font-weight: 600; color: var(--noc); white-space: nowrap; }
  .okv-pomoc svg { width: 18px; height: 18px; }
}
@media print { .okv-stran, .okv-vrstica, .okv-tabi { display: none !important; } }
/* GORJE-171c: Moja družina - the frame shows who is logged in and «Odjava» (stran.js zdDruzina), the page's own line goes */
.okv .md-jaz { display: none; }
/* GORJE-171d: «Domov» with numbers - what waits on a /prijava card (stran.js domovStevci) and the family's summary on
   top of Moja družina (stran.js narisiDomov); same tokens */
.prijava-stevec { display: flex; align-items: baseline; gap: 0.5rem; color: var(--noc); }
.prijava-stevec-n { flex: none; padding: 0 0.5rem; border-radius: 62.4375rem; background: var(--noc); color: var(--bela); font-weight: 700; font-variant-numeric: tabular-nums; }
.md-domov { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9.5rem), 1fr)); margin: 0 0 2rem; padding: 0; list-style: none; }  /* 2 on a phone */
.md-domov > li { display: flex; }
.md-domov a { display: flex; flex-direction: column; gap: 0.25rem; width: 100%; padding: 0.875rem 1rem; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.md-domov a .povezava { margin-top: auto; padding-top: 0.25rem; }
.md-domov-n { font-size: var(--t-xl); font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- GORJE-175b: trips - the public /morje and the organisers' /klub-izleti
   /morje: this year's trip as one card (the step, the facts as a list, «Prijavi otroka»), the past years as equal cards.
   /klub-izleti reuses the pm- layout of /klub-pomoc; its own: the steps bar, the e-mail before it goes, the lists of
   what is missing (equal cards in a row), the children as tap-to-open rows, the extras' rows of the form. */
.mo-letos { display: grid; gap: 1rem; padding: 1.5rem; }
.mo-letos-glava { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; }
.mo-letos-glava h2 { margin: 0; }
.mo-znacke { margin: 0; display: flex; flex-wrap: wrap; gap: 0.375rem; }
.mo-letos .podatki { margin: 0; }
.mo-besedilo, .mo-vzeti { display: grid; gap: 0.5rem; }
.mo-besedilo[hidden], .mo-vzeti[hidden], .mo-gumb[hidden], .mo-prej[hidden] { display: none; }
.mo-vzeti h3 { margin: 0; }
.mo-gumb { margin: 0; }
.mo-gumb .gumb { display: inline-flex; }
.mo-koraki { max-width: 62ch; }
.mo-pravila dd { max-width: 62ch; }
.mo-prej { display: grid; gap: 1rem; }
.mo-leta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.mo-leta > li { display: grid; }
.mo-leto { display: flex; flex-direction: column; gap: 0.25rem; padding: 1.25rem; }
.mo-leto h3, .mo-leto p { margin: 0; }
@container (min-width: 40rem) { .mo-letos .podatki { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.iz-koraki { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.375rem; counter-reset: iz; }
.iz-korak { counter-increment: iz; display: inline-flex; align-items: center; gap: 0.375rem; min-height: 2rem; padding: 0.25rem 0.75rem; border-radius: 62.4375rem; background: var(--led); color: var(--megla); font-size: var(--t-sm); }
.iz-korak::before { content: counter(iz) "."; font-variant-numeric: tabular-nums; }
.iz-korak--bil { color: var(--noc); }
.iz-korak--zdaj { background: var(--noc); color: var(--bela); font-weight: 600; }
.iz-korak--odpovedano { background: #F6E7E5; color: var(--napaka); font-weight: 600; }
.iz-korak--odpovedano::before { content: none; }
.iz-pismo { display: grid; gap: 0.5rem; padding: 1rem; border: 1px solid var(--crta); border-radius: 0.75rem; background: var(--bela); }
.iz-pismo[hidden] { display: none; }
.iz-pismo-zadeva { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.iz-pismo-besedilo { margin: 0; font-family: var(--f-tekst); font-size: var(--t-sm); line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 22rem; overflow: auto; }
.iz-seznami { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.iz-seznam { display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem 1.25rem; }
.iz-seznam h3, .iz-seznam p { margin: 0; }
.iz-seznam ul { margin: 0; padding-left: 1.1em; display: grid; gap: 0.125rem; }
.iz-otroci { counter-reset: none; }
.iz-mesto { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--megla); }
.iz-otrok .pm-oseba-vec p { margin: 0; overflow-wrap: anywhere; }
.iz-placilo { margin: 0; max-width: 16rem; }
.iz-odjavljeni summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; }
.iz-odjavljeni[open] summary { margin-bottom: 0.5rem; }
.iz-uredi { padding: 1.25rem; }
.iz-uredi > summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; font-weight: 600; }
.iz-uredi[open] > summary { margin-bottom: 1rem; }
.iz-uredi textarea.vnos { min-height: 5rem; }
.iz-doplacila > div { display: grid; gap: 0.75rem; }
.iz-doplacilo { align-items: end; padding-bottom: 0.75rem; border-bottom: 1px solid var(--crta); }
.iz-doplacilo-brisi { justify-self: start; }
.iz-en > summary { cursor: pointer; min-height: 2.75rem; display: flex; align-items: center; }
.iz-en[open] > summary { margin-bottom: 0.75rem; }
.iz-odpovej { border: 1px solid #F6E7E5; }
.iz-odpovej h3 { margin: 0; }

/* ---------------------------------------------------------------- GORJE-176b: races - the coaches' /klub-tekme and «Tekme» on Moja družina
   /klub-tekme reuses the pm- and iz- layout of /klub-pomoc and /klub-izleti; its own: the groups as equal cards in a row
   (the children by answer inside), «s kombijem» as the second big number, the coach's answer form of one child. */
.tk-skupine { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 1rem; }
.tk-skupina { display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem 1.25rem; min-width: 0; }
.tk-skupina h3, .tk-skupina p { margin: 0; }
.tk-skupina .tk-stanje { margin: 0.5rem 0 0; font-weight: 600; }
.tk-skupina .pm-oseba summary { gap: 0.125rem 0.5rem; }
.tk-stevila { display: grid; gap: 0.5rem; }
.tk-stevila .pm-skupaj .tk-kombi { margin-left: 0.75rem; }
.pm-leto-kartica .tk-kombi { margin-left: 0.75rem; }
.tk-otrok-obrazec { padding-top: 0.5rem; border-top: 1px solid var(--crta); }
.tk-otrok-obrazec .pm-vrsta { grid-template-columns: repeat(auto-fill, minmax(min(100%, 9rem), 1fr)); }
.md-tekma-tujina { margin: 0; padding: 0.5rem 0.75rem; border-radius: 0.5rem; background: #FFF6DA; color: var(--noc); }
.md-tekma .md-gumbi .gumb { min-height: 2.75rem; }
/* GORJE-176b: end */
/* GORJE-211: «V katero skupino pride otrok» under «Na kratko» on a section page */
.sport-letniki { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; justify-items: start; margin: 2rem 0 1.5rem; }
.sport-letniki > :is(h3, p) { max-width: 42.5rem; }
/* GORJE-211: end */
/* GORJE-216b: the groups as a ladder of cards, youngest first; the drawn Svizec grows from card to card (--rast 0 → 1) */
.sport-letniki .sl-smer { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; width: 100%; max-width: none; margin-top: 1.25rem; color: var(--megla); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sl-smer span:nth-child(2) { flex: 1 1 2rem; height: 1.5px; background: var(--crta); position: relative; }
.sl-smer span:nth-child(2)::after { content: ""; position: absolute; right: -1px; top: 50%; width: 0.5rem; height: 0.5rem; border-top: 1.5px solid var(--crta); border-right: 1.5px solid var(--crta); transform: translateY(-50%) rotate(45deg); }
.sl-skupine { display: grid; gap: 0.75rem; width: 100%; margin: 0; padding: 0; list-style: none; }
.sl-skupina { display: grid; grid-template-columns: min(7.5rem, 34%) minmax(0, 1fr); gap: 1rem; align-items: start; align-content: start; padding: 0.75rem; border-radius: 1.25rem; background: var(--sneg); }
.sl-slika { position: relative; display: grid; place-items: end center; aspect-ratio: 1; border-radius: 0.875rem; background: var(--led); overflow: hidden; }
.sl-slika img { width: calc(68% + 32% * var(--rast)); height: auto; }
.sl-slika span { position: absolute; left: 0.5rem; top: 0.375rem; font-family: var(--f-glas); font-weight: 700; font-size: var(--t-lg); line-height: 1; color: var(--jezero); }
.sl-slika--prazna { place-items: center; box-shadow: inset 0 0 0 1.5px var(--ivje); background: var(--bela); }
.sl-slika--prazna span { position: static; font-size: 2.5rem; color: var(--ivje); }
.sl-besedilo { display: grid; gap: 0.375rem; align-content: start; padding-top: 0.25rem; }
.sl-besedilo h4 { font-weight: 600; letter-spacing: -.01em; }
.sl-oznake { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.sl-oznaka { display: inline-flex; align-items: center; padding: 2px 0.625rem; border-radius: 62.4375rem; background: var(--bela); box-shadow: inset 0 0 0 1.5px var(--crta); font-size: var(--t-xs); font-weight: 700; line-height: 1.6; color: var(--noc); }
.sl-trenerji span { font-weight: 600; color: var(--noc); }
.sl-zacetek { display: grid; gap: 0.75rem; justify-items: start; width: 100%; margin-top: 0.75rem; padding: 1.25rem; border-radius: 1.25rem; background: var(--led); }
.sl-zacetek .t-num { font-size: 3rem; color: var(--jezero); }
.sl-zacetek .t-base { max-width: 34rem; }
@media (min-width: 48rem) {
  .sl-skupine { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .sl-skupina { grid-template-columns: minmax(0, 1fr); gap: 0.875rem; padding: 0.875rem 0.875rem 1.25rem; }
  .sl-slika span { left: 0.75rem; top: 0.5rem; font-size: var(--t-2xl); }
  .sl-besedilo { padding: 0 0.375rem; }
  .sl-zacetek { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1.25rem 1.75rem; }
}
@media (min-width: 64rem) { .sl-skupine { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* a phone with big letters (A+ 150-200 %): the card stacks, the drawing on top, as the other rows in vid.css */
@container (max-width: 22.4375rem) {
  .sl-skupina { grid-template-columns: minmax(0, 1fr); }
  .sl-slika { width: min(100%, 12rem); }
  .sl-zacetek .gumb { max-width: 100%; height: auto; min-height: 3rem; padding-block: 0.5rem; white-space: normal; text-align: center; }
}
/* GORJE-216b: end */
/* GORJE-216d: «Ko ni snega» - the year without snow by season, under the ladder; tiles 2 in a row on a phone, 3 from 48rem, from 64rem the seasons side by side,
   every tile in a row as tall as the tallest, the link at the bottom; no colour line under a tile */
.kns { display: grid; gap: 0.75rem; justify-items: start; width: 100%; margin-top: 2rem; }
.kns > :is(h3, p) { max-width: 42.5rem; }
.kns-casi { display: grid; gap: 0.75rem; width: 100%; }
.kns-cas-blok { display: grid; gap: 0.75rem; }
.kns-cas { margin: 0.75rem 0 0; color: var(--megla); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.kns-plosce { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; align-items: stretch; width: 100%; margin: 0; padding: 0; list-style: none; }
.kns-plosca { display: flex; flex-direction: column; gap: 0.375rem; height: 100%; padding: 0.625rem 0.625rem 1rem; border-radius: 1.25rem; background: var(--sneg); }
.kns-slika { display: grid; place-items: end center; aspect-ratio: 1; margin-bottom: 0.375rem; border-radius: 0.875rem; background: var(--led); overflow: hidden; }
.kns-slika img { width: 92%; height: auto; }
.kns-slika--prazna { box-shadow: inset 0 0 0 1.5px var(--ivje); background: var(--bela); }
.kns-sezona { align-self: flex-start; padding: 2px 0.625rem; border-radius: 62.4375rem; background: var(--bela); box-shadow: inset 0 0 0 1.5px var(--crta); font-weight: 700; line-height: 1.6; color: var(--noc); }
.kns-plosca > :is(h5, p) { margin: 0; }
.kns-plosca h5 { font-weight: 600; letter-spacing: -.01em; }
.kns-plosca .povezava { margin-top: auto; padding-top: 0.25rem; }
@media (min-width: 48rem) { .kns-plosce { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } .kns-plosca { padding: 0.75rem 0.75rem 1.25rem; } }
/* from 64rem 4 tiles in a row; where the browser has subgrid, the seasons stand side by side in one grid of 2 rows (--stolpci columns, every season --st of them), so no row has
   empty places and the tiles of both seasons share the row height (subgrid) */
@media (min-width: 64rem) { .kns-plosce { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@supports (grid-template-columns: subgrid) { @media (min-width: 64rem) {
  .kns-casi { grid-template-columns: repeat(var(--stolpci), minmax(0, 1fr)); column-gap: 1rem; row-gap: 0; }
  .kns-cas-blok { grid-column: span var(--st); grid-row: span 3; grid-template-columns: subgrid; grid-template-rows: subgrid; row-gap: 1rem; }
  .kns-cas-blok > * { grid-column: 1 / -1; }
  .kns-cas-blok .kns-plosce { grid-row: span 2; grid-template-columns: subgrid; grid-template-rows: subgrid; }
} }
/* a phone with big letters (A+ 150-200 %): one tile in a row */
@container (max-width: 22.4375rem) { .kns-plosce { grid-template-columns: minmax(0, 1fr); } .kns-slika { width: min(100%, 12rem); } }
/* GORJE-216d: end */
/* GORJE-211b: two or more «povezava» links in one row with a gap (they used to touch: «Cenik in obveznosti >Pravila …») */
.povezave-vrsta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.5rem; }
/* GORJE-211b: end */
/* GORJE-137f: «Za športnike» - the athlete's own way in (/otrok): Svizec's head + words; in the header from 48rem, in the phone menu as its 2nd row */
.za-sportnike { display: none; align-items: center; gap: 0.5rem; padding: 0.25rem 0.875rem 0.25rem 0.25rem; border: 1.5px solid var(--led); border-radius: 999px; font-weight: 600; font-size: var(--t-meni); white-space: nowrap; color: var(--noc); }
.za-sportnike img { width: 2rem; height: 2rem; border-radius: 50%; }
@media (hover: hover) and (pointer: fine) { .za-sportnike:hover { border-color: var(--jezero); color: var(--jezero); } }
@container (min-width: 48rem) { .za-sportnike { display: inline-flex; } }
@container (min-width: 64rem) and (max-width: 79.9375rem) { .za-sportnike { display: none; } } /* the menu row fills the header here (the logo would shrink); the footer has the link */
@container (min-width: 80rem) and (max-width: 87.4375rem) { /* still tight: only Svizec, the words stay for screen readers */
  .za-sportnike { padding: 0.25rem; }
  .za-sportnike span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
.meni-sportniki a > span { display: inline-flex; align-items: center; gap: 0.75rem; }
.meni-sportniki img { width: 2.5rem; height: 2.5rem; border-radius: 50%; }
/* GORJE-137f: end */

/* GORJE-229b: «Plačaj» on Moja družina (UPN QR, orodja/upn.js) and the club's payment tools on klub-druzine */
.md-placaj-gumb { flex: 0 0 auto; }
.md-placaj { width: min(54rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; container-type: inline-size; }
.md-placaj-dve { display: grid; gap: 1.5rem; }
@container (min-width: 44rem) { .md-placaj-dve { grid-template-columns: minmax(0, 1fr) 18rem; align-items: start; } .md-placaj-qr { position: sticky; top: 0; } }
.md-placaj-test { display: inline-block; margin: 0 0 1rem; }
.md-placaj-podatki { display: grid; gap: 0.5rem; margin: 0 0 1rem; }
.md-placaj-podatki > div { display: grid; gap: 2px; padding-bottom: 0.5rem; border-bottom: 1px solid var(--led); }
.md-placaj-podatki dd { margin: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; align-items: baseline; overflow-wrap: anywhere; }
.md-placaj-qr { margin: 0 0 1rem; display: grid; gap: 0.75rem; justify-items: center; text-align: center; }
.md-placaj-koda { width: min(17rem, 100%); border: 1px solid var(--led); }
.md-placaj-koda svg { display: block; width: 100%; height: auto; }
.md-placaj-placnik { margin: 1rem 0; }
.md-placaj-placnik summary, .kd-placilo-uredi summary { cursor: pointer; }
.md-placaj-placnik .polje { margin-top: 0.75rem; }
.md-placaj-ze { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--led); display: grid; gap: 0.5rem; justify-items: start; }
.kd-placilo { flex: 1 1 100%; display: grid; gap: 0.375rem; }
.kd-placilo-druzina { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0; }
.kd-placilo-uredi[open] { display: grid; gap: 0.5rem; padding: 0.25rem 0 0.5rem; justify-items: start; }
.kd-placilo-brez { display: flex; gap: 0.5rem; align-items: center; }
.kd-upn { display: grid; gap: 0.75rem; padding: 1.25rem 1.5rem; }
.kd-odpri { align-items: end; }
.kd-polja.kd-odpri { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.kd-odpri .polje { flex: 1 1 16rem; max-width: 26rem; }
.kd-placilo-uredi .kd-polja { grid-template-columns: 8em minmax(0, 1fr); width: min(100%, 32rem); }
