/* GORJE-222: the child's page /otrok, redesign 28.10.2026 - bigger, wider than the site grid, full colour, a sticker album
   instead of the 3 tracks, counters that count, Svizec always whole inside the photo. Tokens of sistem.css plus the 4
   colours of the page (trainings, races, club, pine cones), each with a dark text shade that keeps 4.5:1 on white. */
@font-face{font-family:"Patrick Hand";font-style:normal;font-weight:400;font-display:swap;src:url(pisave/patrick-hand.woff2) format("woff2")}
.ot{--tr:#2FA9D3;--tr-t:#0B6F95;--tr-p:#E2F3FA;--tk:#F2B32B;--tk-t:#8A5D00;--tk-p:#FFF3D3;--dr:#3DB892;--dr-t:#18765A;--dr-p:#DFF5EC;
  --sz:#E9782F;--sz-t:#A04E0C;--sz-p:#FDE9D9;--ot-ease:cubic-bezier(.23,1,.32,1);--ot-skok:cubic-bezier(.34,1.56,.64,1);
  --ot-r:2rem;--ot-max:1680px;--ot-rob:clamp(12px,2.4vw,40px);
  background:var(--sneg);color:var(--noc);min-height:100vh;font-size:1.125rem}
.ot-ovoj{max-width:var(--ot-max);margin:0 auto;padding:0 var(--ot-rob)}
.ot img{display:block;max-width:100%;height:auto}
.ot button{font:inherit;color:inherit}
.ot-glava{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.ot-glava>a img{height:34px;width:auto}
.ot-glava-desno{display:flex;align-items:center;gap:.6rem}
.ot-oznaka{display:inline-flex;align-items:center;gap:.45rem;background:var(--bela);border:1px solid var(--crta);border-radius:999px;padding:.45rem .95rem;font-size:.9375rem;font-weight:700;color:var(--noc)}
.ot-oznaka svg{width:18px;height:18px;flex:none;color:var(--jezero)}
.ot-oznaka .ot-dolgo{color:var(--megla);font-weight:600}
.ot-jezik{display:inline-flex;border:1px solid var(--crta);border-radius:999px;overflow:hidden;background:var(--bela)}
.ot-jezik a,.ot-jezik span{padding:.45rem .8rem;font-size:.875rem;font-weight:700;color:var(--megla);text-decoration:none}
.ot-jezik [aria-current]{background:var(--noc);color:#fff}

/* the code */
.ot-vpis{display:grid;place-items:center;padding:clamp(2rem,6vw,5rem) 0 4rem}
.ot-vpis-kartica{background:var(--bela);border-radius:var(--r-kartica);box-shadow:var(--senca-kartica);padding:clamp(1.5rem,4vw,2.5rem);max-width:30rem;width:100%;text-align:center}
.ot-vpis-kartica img{width:112px;margin:0 auto}
.ot-vpis h1{margin:1rem 0 .4rem;font-size:clamp(1.625rem,4vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.ot-vpis p{margin:0 auto;color:var(--megla);max-width:22rem}
.ot-polja{display:flex;gap:.45rem;justify-content:center;margin:1.5rem 0;border:0;padding:0}
.ot-polja legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ot-polja input{width:3rem;height:3.6rem;border:2px solid var(--crta);border-radius:12px;text-align:center;font:700 1.75rem/1 var(--f-glas);color:var(--noc);text-transform:uppercase;background:var(--sneg);padding:0}
.ot-polja input:focus{border-color:var(--fokus-temno);outline:none;background:#fff}
.ot-polja .ot-crtica{align-self:center;width:10px;height:2px;background:var(--crta);flex:none}
.ot-vpis small{display:block;margin-top:1rem;color:var(--megla);font-size:.8125rem}
.ot-vpis .napaka-posiljanja{margin:0 0 1rem;color:var(--napaka);font-weight:600}
.ot-stanje-stran{padding:4rem 0;text-align:center;color:var(--megla)}

/* ---------------------------------------------------------------- the stage: the photo is the whole first screen */
.ot-oder{position:relative;isolation:isolate;border-radius:var(--ot-r);overflow:hidden;height:clamp(500px,44vw,720px);background:#2C6FA8;box-shadow:var(--senca-dvig)}
.ot-oder-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:ot-foto 1.6s var(--ot-ease) both}
/* a linear scrim from the left carries the white words; no vignette */
.ot-oder::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(14,40,58,.82) 0%,rgba(14,40,58,.55) 30%,rgba(14,40,58,0) 56%);pointer-events:none}
.ot-oder-besedilo{position:relative;z-index:2;max-width:46%;padding:clamp(2rem,5vw,5rem) 0 0 clamp(1.5rem,4.5vw,5rem);color:#fff}
.ot-oder h1{margin:0;font-weight:400;font-size:clamp(3.25rem,7.2vw,7rem);line-height:.92;letter-spacing:-.04em;text-wrap:balance}
.ot-oder h1 span{display:block;animation:ot-gor .7s var(--ot-ease) both .1s}
.ot-oder h1 b{display:block;font-weight:800;animation:ot-gor .7s var(--ot-ease) both .2s}
.ot-kdo{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin:1.5rem 0 0;padding:0;animation:ot-gor .7s var(--ot-ease) both .32s}
.ot-kdo span{background:rgba(14,40,58,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.45rem 1rem;font-weight:700;font-size:clamp(.9375rem,1.2vw,1.125rem)}
/* Svizec stands in the snow, whole, inside the frame; the balloon tail points at his mouth (left/bottom set by the script) */
/* every drawing looks right, so the balloon opens on his right and he stands one balloon width in from the edge (222b) */
.ot-svizec{position:absolute;z-index:3;right:calc(clamp(1rem,3vw,3rem) + clamp(230px,22vw,320px));bottom:calc(4.5rem + 1.5%);height:min(70%,calc(100% - 4.5rem - 9.5rem));aspect-ratio:660/825}  /* feet above the counters, balloon inside the top */
.ot-svizec>button{display:block;width:100%;height:100%;border:0;background:none;padding:0;cursor:pointer;animation:ot-pride 1s var(--ot-skok) both .35s;transform-origin:50% 100%}
.ot-svizec>button img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 14px rgba(20,50,80,.28));transition:transform .18s var(--ot-ease);transform-origin:50% 100%}
.ot-svizec>button:active img{transform:scale(.96,1.03) rotate(-2deg)}
.ot-svizec.skok>button img{animation:ot-poskok .5s var(--ot-skok)}
/* comic rule: the tail comes from the side he faces and stops just before his face, aimed at the mouth (tip from design/otrok-137/222b/konica.py);
   the words are centred, balanced lines (short-long-short), even room to the outline */
.ot-balon{position:absolute;left:calc(var(--ux,77.8) * 1%);bottom:calc(100% - var(--uy,11.6) * 1%);width:clamp(230px,22vw,320px);aspect-ratio:300/170;transform-origin:0 100%;animation:ot-balon .55s var(--ot-skok) both 1.1s;pointer-events:none}
.ot-balon svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ot-balon p{position:absolute;left:16%;right:4%;top:7%;bottom:30%;margin:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-family:"Patrick Hand","Comic Neue","Chalkboard SE",cursive;color:#2E211B;line-height:1.05}
.ot-balon b{font-weight:400;font-size:calc(clamp(1.35rem,1.9vw,1.75rem) * var(--m,1));text-wrap:balance}
.ot-balon span{font-size:calc(clamp(1.05rem,1.4vw,1.3rem) * var(--m,1));color:#5B4A40;margin-top:.15rem;text-wrap:balance}
.ot-balon.nov{animation:ot-balon .45s var(--ot-skok) both}
/* big letters that do not fit the balloon: the balloon hides and the words stand in a plain speech box under the counters */
.ot-balon.zunaj{visibility:hidden}
.ot-balon-zunaj{position:relative;z-index:4;margin:1rem clamp(1rem,4vw,4rem) 0;padding:.8rem 1.1rem;background:#FFFDF6;border:3px solid #2E211B;border-radius:1.25rem;text-align:center;font-family:"Patrick Hand","Comic Neue","Chalkboard SE",cursive;color:#2E211B;line-height:1.1}
.ot-balon-zunaj::before{content:"";position:absolute;left:2.5rem;top:-14px;width:22px;height:22px;background:#FFFDF6;border:3px solid #2E211B;border-right:0;border-bottom:0;transform:rotate(45deg)}
.ot-balon-zunaj b{display:block;font-weight:400;font-size:1.35rem}
.ot-balon-zunaj span{display:block;margin-top:.2rem;font-size:1.05rem;color:#5B4A40}
@keyframes ot-foto{from{transform:scale(1.08)}to{transform:none}}
@keyframes ot-gor{from{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}
@keyframes ot-pride{from{transform:translateY(40%) scale(.9);opacity:0}to{transform:none;opacity:1}}
@keyframes ot-balon{from{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}
@keyframes ot-poskok{30%{transform:translateY(-6%) rotate(-3deg)}60%{transform:translateY(0) scale(1.03,.97)}}

/* ---------------------------------------------------------------- the counters: 4 tiles over the bottom edge of the photo */
.ot-stevci{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.6rem,1.4vw,1.25rem);list-style:none;margin:-4.5rem clamp(1rem,4vw,4rem) 0;padding:0}
/* the words take at least 6rem beside the picture; with bigger letters or a narrow tile they wrap under it (Codex 28.10) */
.ot-stevec{display:flex;flex-wrap:wrap;align-items:center;background:var(--bela);border-radius:1.5rem;overflow:hidden;min-height:clamp(118px,11vw,168px);box-shadow:var(--senca-dvig);animation:ot-gor .7s var(--ot-ease) both calc(.45s + var(--i) * 80ms)}
/* 222b: the left half is the picture, edge to edge (top, bottom, left) on the pale colour of the counter; no coloured line under the tile */
.ot-stevec-slika{flex:1 0 50%;align-self:stretch;position:relative;min-height:6rem;background:var(--p)}
.ot-stevec-slika img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain}
.ot-stevec-slika.znacka img{inset:14%;width:72%;height:72%;border-radius:50%}
.ot-stevec>div{flex:999 1 6rem;min-width:0;padding:clamp(.75rem,1.4vw,1.25rem) clamp(.75rem,1.4vw,1.4rem)}
.ot-stevec b{display:block;white-space:nowrap;font:700 clamp(2.75rem,5vw,4.75rem)/.9 var(--f-glas);color:var(--t);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ot-stevec b small{font-size:.5em;color:var(--megla);font-weight:600;letter-spacing:0;margin-left:.15em}
.ot-stevec div>span{display:block;margin-top:.3rem;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;font-weight:700;font-size:clamp(.875rem,1.15vw,1.0625rem);color:var(--noc)}

/* ---------------------------------------------------------------- the next badge: one big coloured band */
.ot-naslednja{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin-top:clamp(2.5rem,5vw,4.5rem);
  background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.22) 1.5px,transparent 0) 0 0/22px 22px,linear-gradient(120deg,#1C93C2,#2FA9D3 45%,#47C1C9);
  color:#fff;border-radius:var(--ot-r);padding:clamp(1.5rem,4vw,3.5rem) clamp(1.5rem,5vw,5rem);box-shadow:var(--senca-kartica)}
.ot-naslednja[data-vrsta=tekme]{background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.25) 1.5px,transparent 0) 0 0/22px 22px,linear-gradient(120deg,#E79A12,#F2B32B 50%,#F6CB55);color:#3B2800}
.ot-nasl-slika{position:relative;width:clamp(150px,19vw,260px)}
.ot-nasl-slika .ot-nalepka{transform:rotate(-6deg)}
.ot-nasl-slika::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:4px dashed rgba(255,255,255,.75);animation:ot-vrti 24s linear infinite}
.ot-naslednja h2{margin:0;font-weight:400;font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.ot-naslednja h2 b{font-weight:800;display:inline}
.ot-naslednja p{margin:.75rem 0 0;font-size:clamp(1.0625rem,1.4vw,1.3125rem);max-width:38rem;opacity:.92}
.ot-pike{display:flex;gap:clamp(6px,.8vw,10px);margin-top:1.75rem;flex-wrap:wrap}
.ot-pike i{width:clamp(28px,3vw,40px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:3px dashed rgba(255,255,255,.7)}
.ot-pike i.polna{border:0;background:#fff;color:var(--tr-t);box-shadow:0 4px 10px -4px rgba(0,40,70,.45)}
[data-vrsta=tekme] .ot-pike i{border-color:rgba(59,40,0,.45)}
[data-vrsta=tekme] .ot-pike i.polna{color:var(--tk-t)}
.ot-pike i svg{width:55%;height:55%}
.ot-naslednja .ot-pike-opis{margin-top:.75rem;font:700 clamp(1.5rem,2.2vw,2rem)/1 var(--f-glas);letter-spacing:.02em;opacity:1}
.ot-ceka .ot-pike i.polna{transform:scale(0)}
.ot-vidno .ot-pike i.polna{animation:ot-pika .45s var(--ot-skok) both calc(var(--i) * 90ms + .1s)}
@keyframes ot-pika{from{transform:scale(0)}to{transform:none}}
@keyframes ot-vrti{to{transform:rotate(360deg)}}

/* ---------------------------------------------------------------- sections */
.ot-razdelek{padding-top:clamp(3.5rem,7vw,6.5rem)}
.ot-razdelek h2{margin:0 0 .5rem;font-weight:400;font-size:clamp(2.25rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.035em}
.ot-pod{margin:0 0 2rem;color:var(--megla);max-width:44rem;font-size:clamp(1.0625rem,1.3vw,1.25rem)}
.ot-glava-razdelka{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin-bottom:.5rem}
.ot-legenda{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 2rem;padding:0}
.ot-legenda li{display:inline-flex;align-items:center;gap:.5rem;background:var(--bela);border-radius:999px;padding:.45rem 1rem .45rem .55rem;font-weight:700;font-size:.9375rem;box-shadow:var(--senca-kartica)}
.ot-legenda li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--c)}

/* ---------------------------------------------------------------- the sticker album */
.ot-album-ovoj{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,400px);gap:clamp(1rem,2vw,2rem);align-items:start}
.ot-strani{display:grid;gap:clamp(1rem,2vw,1.75rem);grid-template-columns:minmax(0,1fr)}
.ot-stran-albuma{background:var(--bela);border-radius:var(--ot-r);padding:clamp(1.25rem,2.6vw,2.25rem);box-shadow:var(--senca-kartica)}
.ot-stran-glava{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}
.ot-stran-glava h3{margin:0;font-size:clamp(1.375rem,2vw,1.875rem);font-weight:800;letter-spacing:-.02em}
.ot-stran-glava span{font:700 clamp(1.25rem,1.6vw,1.5rem)/1 var(--f-glas);color:var(--megla);white-space:nowrap}
.ot-stran-glava span b{color:var(--noc)}
.ot-nalepke{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:clamp(1rem,1.8vw,1.75rem) clamp(.75rem,1.4vw,1.25rem)}
.ot-mesto-n{position:relative;display:flex;flex-direction:column;align-items:center;gap:.55rem;background:none;border:0;padding:.4rem .2rem;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent}
.ot-mesto-n:focus-visible{outline:3px solid var(--fokus-temno);outline-offset:4px;border-radius:1rem}
/* the slot: a dashed circle in the colour of its kind, the grey ghost of the badge, its number in the album */
.ot-reza{position:relative;display:block;width:100%;max-width:150px;aspect-ratio:1;border-radius:50%;background:var(--p);border:3px dashed color-mix(in srgb,var(--c) 55%,#fff)}
.ot-reza-st{position:absolute;left:50%;bottom:-.7rem;transform:translateX(-50%);z-index:3;background:var(--bela);border:2px solid color-mix(in srgb,var(--c) 55%,#fff);border-radius:999px;padding:.05rem .5rem;font:700 .875rem/1.2 var(--f-glas);color:var(--t);letter-spacing:.04em}
.ot-duh{position:absolute;inset:10%;border-radius:50%;overflow:hidden}
.ot-duh img{width:100%;height:100%;filter:grayscale(1) contrast(.9);opacity:.3}
/* the sticker itself: die-cut white edge, a shadow, a small tilt; it slaps into the slot once */
.ot-nalepka{position:absolute;inset:-2%;display:block;border-radius:50%;background:#fff;padding:5%;box-shadow:0 14px 22px -12px rgba(20,45,66,.55),0 2px 3px rgba(20,45,66,.12);transform:rotate(var(--r,0deg));overflow:hidden}
.ot-nalepka img{width:100%;height:100%;border-radius:50%}
.ot-nalepka::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 48%,transparent 60%);transform:translateX(-120%);pointer-events:none}
.ot-nasl-slika .ot-nalepka{position:relative;inset:auto;aspect-ratio:1}
.ot-znak{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--led);font:700 1.6rem/1 var(--f-glas);color:var(--jezero)}
.ot-kljukica{position:absolute;right:2%;top:2%;z-index:4;width:30px;height:30px;border-radius:50%;background:var(--uspeh);border:3px solid #fff;display:grid;place-items:center;box-shadow:0 3px 8px -2px rgba(20,45,66,.4)}
.ot-kljukica svg{width:15px;height:15px}
.ot-n-ime{font-weight:800;font-size:clamp(.9375rem,1.1vw,1.0625rem);line-height:1.2;margin-top:.5rem}
.ot-n-pod{font-size:.875rem;font-weight:700;color:var(--t);margin-top:-.25rem}
.ot-mesto-n.ne .ot-n-ime{color:var(--megla);font-weight:700}
/* the next one: the ghost in colour and a gradient ring that breathes twice */
.ot-mesto-n.nasl .ot-reza{border-style:solid;border-color:transparent;background:var(--p)}
.ot-mesto-n.nasl .ot-reza::before{content:"";position:absolute;inset:-9px;border-radius:50%;padding:5px;background:var(--gradient);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ot-utrip 1.8s var(--ot-ease) 1.4s 3}
.ot-mesto-n.nasl .ot-duh img{filter:none;opacity:.55}
.ot-mesto-n.nasl .ot-n-pod{display:inline-block;background:var(--noc);color:#fff;border-radius:999px;padding:.2rem .65rem;margin-top:0;white-space:nowrap}
@keyframes ot-utrip{50%{transform:scale(1.07);opacity:.6}}
@media (hover:hover){.ot-mesto-n:hover .ot-reza{transform:translateY(-4px) rotate(-2deg)}.ot-mesto-n .ot-reza{transition:transform .2s var(--ot-ease)}}
.ot-mesto-n:active .ot-reza{transform:scale(.95)}
.ot-mesto-n[aria-pressed=true] .ot-n-ime{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px;text-decoration-color:var(--c)}
.ot-ceka .ima .ot-nalepka{opacity:0}
.ot-vidno .ima .ot-nalepka{animation:ot-prilepi .55s var(--ot-skok) both calc(var(--i) * 110ms)}
.ot-vidno .ima .ot-nalepka::after{animation:ot-sij .9s var(--ot-ease) both calc(var(--i) * 110ms + .45s)}
.ot-vidno .ima .ot-kljukica{animation:ot-pika .35s var(--ot-skok) both calc(var(--i) * 110ms + .4s)}
@keyframes ot-prilepi{0%{opacity:0;transform:scale(1.35) rotate(calc(var(--r,0deg) - 14deg));box-shadow:0 40px 40px -20px rgba(20,45,66,.35)}70%{opacity:1;transform:scale(.97) rotate(var(--r,0deg))}100%{opacity:1;transform:rotate(var(--r,0deg))}}
@keyframes ot-sij{to{transform:translateX(120%)}}

/* the badge card next to the album (a sheet from below on a phone) */
.ot-podrobno{position:sticky;top:1.5rem;background:var(--bela);border-radius:var(--ot-r);padding:2rem 1.75rem;box-shadow:var(--senca-kartica);text-align:center}
.ot-p-slika{position:relative;width:min(220px,70%);aspect-ratio:1;margin:0 auto}
.ot-p-slika .ot-nalepka{inset:0}
.ot-p-slika.ne img{filter:grayscale(1);opacity:.4}
.ot-podrobno h3{margin:1.25rem 0 .5rem;font-size:clamp(1.5rem,2vw,1.875rem);font-weight:800;letter-spacing:-.02em}
.ot-stanje{display:inline-flex;align-items:center;gap:.4rem;border-radius:1rem;padding:.35rem .9rem;font-size:.9375rem;font-weight:800}
.ot-stanje.ima{background:#E4F6F3;color:var(--uspeh)}
.ot-stanje.nasl{background:var(--noc);color:#fff}
.ot-stanje.ne{background:var(--led);color:var(--megla)}
.ot-podrobno h4{margin:1.5rem 0 .35rem;font-size:1rem;font-weight:800;text-align:left}
.ot-podrobno p{margin:0;color:var(--megla);font-size:1.0625rem;text-align:left}
.ot-zapri{display:none}

/* 222c (B): the counters strip at the top, a glass pill; it slides in while the big tiles are out of sight */
.ot-pas{position:fixed;left:50%;top:max(.6rem,env(safe-area-inset-top));z-index:25;display:flex;gap:.15rem;max-width:calc(100vw - 1rem);padding:.3rem;border-radius:999px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.75);box-shadow:0 10px 30px -10px rgba(20,38,51,.35);transform:translate(-50%,calc(-100% - 1.5rem));transition:transform .4s var(--ot-ease)}
.ot-pas.viden{transform:translate(-50%,0)}
.ot-pas-g{display:flex;align-items:center;gap:.3rem;min-width:0;min-height:44px;padding:.2rem .75rem .2rem .3rem;border:0;border-radius:999px;background:none;cursor:pointer;font:700 1.5rem/1 var(--f-glas);color:var(--t);font-variant-numeric:tabular-nums}
.ot-pas-g img{flex:none;width:38px;height:38px;object-fit:contain}
.ot-pas-g .ot-znak,.ot-pas-g>img[width="34"]{border-radius:50%}
@media (hover:hover){.ot-pas-g:hover{background:#fff}}
.ot-pas-g:focus-visible{outline:3px solid var(--fokus-temno);outline-offset:1px}
/* a whole tile is a button that explains the counter */
.ot-stevec{position:relative}
.ot-stevec-gumb{position:absolute;inset:0;width:100%;border:0;background:none;border-radius:inherit;cursor:pointer}
.ot-stevec-gumb:focus-visible{outline:3px solid var(--fokus-temno);outline-offset:3px}
/* 222c: the small window (counters, and the badge up to 1100 px) over a dim screen */
.ot-zaslon{position:fixed;inset:0;z-index:30;background:rgba(14,40,58,.45);opacity:0;visibility:hidden;transition:opacity .25s var(--ot-ease),visibility 0s .25s}
.ot-zaslon.odprto{opacity:1;visibility:visible;transition:opacity .25s var(--ot-ease)}
.ot-okno{position:fixed;left:50%;top:50%;z-index:31;width:min(21rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;background:var(--bela);border-radius:var(--ot-r);padding:1.75rem 1.4rem 1.5rem;text-align:center;box-shadow:0 24px 64px -16px rgba(20,38,51,.5);opacity:0;visibility:hidden;transform:translate(-50%,-46%) scale(.96);transition:opacity .2s var(--ot-ease),transform .3s var(--ot-ease),visibility 0s .3s}
.ot-okno.odprto{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .2s var(--ot-ease),transform .3s var(--ot-ease)}
/* the cross sticks to the top corner while a long text scrolls inside the window */
.ot-okno .ot-zapri{display:grid;place-items:center;position:sticky;top:0;z-index:2;width:44px;height:44px;margin:-1.15rem -.8rem -44px auto;border-radius:50%;border:0;background:var(--led);cursor:pointer}
.ot-okno-slika{width:132px;height:132px;margin:0 auto;border-radius:1.5rem;background:var(--p,var(--led));display:grid;place-items:center}
.ot-okno-slika img{width:84%;height:84%;object-fit:contain}
.ot-okno h3{margin:.9rem 0 .15rem;font-size:1.375rem;font-weight:800;letter-spacing:-.02em}
.ot-okno-vrh{margin:0;font:700 1.375rem/1.1 var(--f-glas)}
.ot-okno h4{margin:1.1rem 0 .2rem;font-size:.9375rem;font-weight:800}
.ot-okno p{margin:0;color:var(--megla);font-size:1rem}

/* ---------------------------------------------------------------- soon */
.ot-vrsta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.5rem);align-items:stretch}
.ot-dogodek{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--bela);border-radius:var(--ot-r);padding:clamp(1.5rem,2.4vw,2.25rem);box-shadow:var(--senca-kartica);height:100%;--c:var(--tr);--t:var(--tr-t);--p:var(--tr-p)}
.ot-dogodek.tekma{--c:var(--tk);--t:var(--tk-t);--p:var(--tk-p);background:var(--tk-p)}
.ot-dogodek::before{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--c)}
.ot-dan{display:flex;align-items:baseline;gap:.75rem}
.ot-dan b{font:700 clamp(4rem,6vw,5.5rem)/.85 var(--f-glas);color:var(--t)}
.ot-dan span{font-weight:800;font-size:1.125rem;color:var(--noc);line-height:1.2}
.ot-kaj{margin:1.1rem 0 .2rem;font-weight:800;font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.2}
.ot-kje{margin:0;color:var(--megla);font-size:1.0625rem}
.ot-ura{margin:auto 0 0;padding-top:1.25rem;display:flex;align-items:center;gap:.45rem;font:700 1.5rem/1 var(--f-glas);letter-spacing:.02em}
.ot-ura svg{width:22px;height:22px;color:var(--t)}
.ot-tag{display:inline-block;align-self:flex-start;margin:.25rem 0 1rem;border-radius:999px;padding:.3rem .8rem;font-size:.875rem;font-weight:800;background:var(--p);color:var(--t)}
.tekma .ot-tag{background:var(--tk);color:#3B2800}

/* ---------------------------------------------------------------- results: big places, medal discs for 1 to 3 */
.ot-rez{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.5rem)}
.ot-rez li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:center;background:var(--bela);border-radius:var(--ot-r);padding:clamp(1.25rem,2vw,1.75rem);box-shadow:var(--senca-kartica)}
.ot-mesto{display:grid;place-items:center;width:clamp(76px,7vw,96px);aspect-ratio:1;border-radius:50%;background:var(--led);font:700 clamp(2.5rem,3.6vw,3.25rem)/1 var(--f-glas);color:var(--noc);letter-spacing:-.02em}
.ot-mesto.m1{background:linear-gradient(145deg,#FFE27A,#F2B32B);color:#4A3300}
.ot-mesto.m2{background:linear-gradient(145deg,#F1F4F7,#C3CDD5);color:#2C3E4C}
.ot-mesto.m3{background:linear-gradient(145deg,#F6C79E,#D98A4E);color:#4A2508}
.ot-rez a{display:block;font-size:1.1875rem;font-weight:800;color:var(--noc);text-decoration:none;line-height:1.25}
.ot-rez a:hover{text-decoration:underline}
.ot-rez div>span{display:block;color:var(--megla);font-size:1rem;margin-top:.25rem}

/* ---------------------------------------------------------------- photos and the start number */
.ot-foto-uvod{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.ot-st{position:relative;width:clamp(180px,17vw,250px);aspect-ratio:1.18;background:var(--bela);border-radius:18px;box-shadow:var(--senca-dvig);transform:rotate(3deg);display:grid;grid-template-rows:auto 1fr auto;padding:.8rem 1rem .75rem;flex:none;margin-bottom:1.5rem}
.ot-st::before,.ot-st::after{content:"";position:absolute;top:.4rem;width:11px;height:11px;border-radius:50%;background:var(--sneg);box-shadow:inset 0 1px 2px rgba(30,52,68,.35)}
.ot-st::before{left:.45rem}.ot-st::after{right:.45rem}
.ot-st-vrh{display:flex;justify-content:space-between;align-items:center;padding:0 .8rem}
.ot-st-vrh img{height:16px;width:auto}
.ot-st-vrh span{font:700 .85rem/1 var(--f-glas);letter-spacing:.06em;color:var(--megla)}
.ot-st-num{font:700 clamp(4.5rem,8vw,7rem)/1 var(--f-glas);text-align:center;align-self:center;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ot-st-ime{display:flex;justify-content:space-between;border-top:2px solid var(--noc);padding-top:.45rem;font:700 .95rem/1 var(--f-glas);letter-spacing:.04em;text-transform:uppercase}
.ot-fotke{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(.5rem,1vw,1rem);height:clamp(380px,36vw,600px)}
.ot-fotke figure{position:relative;margin:0;border-radius:1.5rem;overflow:hidden;box-shadow:var(--senca-kartica)}
.ot-fotke figure:first-child{grid-row:1/3}
.ot-fotke figure:nth-child(4){grid-column:2/4}
.ot-fotke a,.ot-fotke img{display:block;width:100%;height:100%}
.ot-fotke img{object-fit:cover;transition:transform .5s var(--ot-ease)}
@media (hover:hover){.ot-fotke a:hover img{transform:scale(1.04)}}
.ot-fotke figcaption{position:absolute;left:.75rem;bottom:.75rem;background:rgba(255,255,255,.9);border-radius:999px;padding:.3rem .8rem;font-size:.875rem;font-weight:700}
.ot-noga{border-top:1px solid var(--crta);margin-top:clamp(3.5rem,7vw,6rem);padding:1.5rem 0 3rem;display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;align-items:center;color:var(--megla);font-size:1rem}
.ot-noga b{color:var(--noc)}
.ot-noga button{border:1px solid var(--crta);background:var(--bela);border-radius:999px;padding:.55rem 1.1rem;font-weight:700;font-size:.9375rem;cursor:pointer}

@media (max-width:1100px){
  .ot-stevci{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ot-album-ovoj{grid-template-columns:minmax(0,1fr)}
  .ot-rez{grid-template-columns:minmax(0,1fr)}
  /* 222c (E): the badge opens as a small window, narrow and tall, in the middle (a sheet from below on a phone), short text */
  .ot-podrobno{position:fixed;left:50%;top:50%;z-index:31;width:min(21rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1.75rem 1.4rem 1.5rem;text-align:center;box-shadow:0 24px 64px -16px rgba(20,38,51,.5);opacity:0;visibility:hidden;transform:translate(-50%,-46%) scale(.96);transition:opacity .2s var(--ot-ease),transform .3s var(--ot-ease),visibility 0s .3s}
  .ot-podrobno.odprto{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .2s var(--ot-ease),transform .3s var(--ot-ease)}
  .ot-p-slika{width:min(150px,50%)}
  .ot-p-besedilo{min-width:0}
  .ot-podrobno h3{margin:.9rem 0 .5rem;font-size:1.375rem}
  .ot-podrobno h4{margin:1.1rem 0 .2rem;text-align:center}
  .ot-podrobno p{font-size:1rem;text-align:center}
  .ot-zapri{display:grid;place-items:center;position:sticky;top:0;z-index:2;width:44px;height:44px;margin:-1.15rem -.8rem -44px auto;border-radius:50%;border:0;background:var(--led);cursor:pointer}
  @media (max-width:760px){
    .ot-podrobno,.ot-okno{left:.75rem;right:.75rem;top:auto;bottom:.75rem;width:auto;max-height:calc(100dvh - 1.5rem);transform:translateY(110%)}
    .ot-podrobno.odprto,.ot-okno.odprto{transform:none}
    .ot-pas-g{font-size:1.25rem;padding:.15rem .55rem .15rem .2rem;gap:.2rem}
    .ot-pas-g img{width:32px;height:32px}
  }
  @media (max-width:360px){
    .ot-pas-g{font-size:1.125rem;padding:.1rem .4rem .1rem .1rem}
    .ot-pas-g img{width:28px;height:28px}
  }
}
@media (max-width:760px){
  .ot{font-size:1.0625rem}
  .ot-oder{height:auto;aspect-ratio:358/620;border-radius:1.5rem}
  .ot-oder-foto img{object-position:50% 100%}
  .ot-oder::before{background:linear-gradient(180deg,rgba(14,40,58,.35) 0%,rgba(14,40,58,0) 38%)}
  .ot-oder-besedilo{max-width:none;padding:1.5rem 1.25rem 0}
  .ot-oder h1{font-size:clamp(3rem,15vw,4.25rem)}
  .ot-kdo{margin-top:.9rem}
  .ot-kdo span{font-size:.875rem;padding:.35rem .8rem}
  .ot-svizec{left:1%;right:auto;bottom:calc(2.5rem + 1%);height:41%}
  .ot-balon{width:min(170px,44vw)}
  .ot-balon b{font-size:calc(1.15rem * var(--m,1))}
  .ot-balon span{font-size:calc(.95rem * var(--m,1))}
  .ot-stevci{margin:-2.5rem .5rem 0;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}   /* big letters: 1 tile per row */
  .ot-stevec{min-height:104px}
  .ot-stevec-slika{flex-basis:42%;min-height:5.5rem}
  .ot-stevec>div{flex-basis:5.5rem}
  .ot-stevec>div{padding:.7rem .55rem .7rem .7rem}
  .ot-stevec b{font-size:2.5rem}
  .ot-stevec div>span{margin-top:.15rem;font-size:.875rem}
  .ot-naslednja{grid-template-columns:minmax(0,1fr);justify-items:start;padding:1.75rem 1.5rem 2rem}
  .ot-nasl-slika{width:130px}
  .ot-pike{gap:4px}
  .ot-pike i{width:26px;border-width:2px}
  .ot-naslednja h2{font-size:2rem}
  .ot-stran-albuma{padding:1.25rem 1rem 1.5rem;border-radius:1.5rem}
  .ot-nalepke{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem .6rem}
  .ot-kljukica{width:24px;height:24px;border-width:2px}
  .ot-kljukica svg{width:12px;height:12px}
  .ot-n-ime{font-size:.875rem}
  .ot-n-pod{font-size:.8125rem}
  .ot-vrsta{grid-template-columns:minmax(0,1fr)}
  .ot-foto-uvod{flex-direction:column;align-items:flex-start;gap:0}
  .ot-st{align-self:center;width:210px}
  .ot-fotke{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto}
  .ot-fotke figure{aspect-ratio:1}
  .ot-fotke figure:first-child{grid-row:auto;grid-column:1/3;aspect-ratio:4/3}
  .ot-fotke figure:nth-child(4){grid-column:auto}
  .ot-oznaka .ot-dolgo{display:none}
}
@media (prefers-reduced-motion:reduce){.ot *,.ot *::before,.ot *::after{animation:none!important;transition:none!important}.ot-ceka .ima .ot-nalepka{opacity:1}.ot-ceka .ot-pike i.polna{transform:none}}
@media (max-width:420px){
  .ot-polja input{width:2.55rem;height:3.2rem;font-size:1.5rem}
  .ot-polja{gap:.3rem}
}

/* Moja družina: the parent's block */
.ov-starsi{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--crta);container-type:inline-size}
.ov-naslov{margin:0 0 .25rem;font-weight:700}
.ov-starsi>p{margin:0 0 .75rem}
.ov-gumbi{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}
.ov-tukaj{margin:.75rem 0;padding:1rem 1.25rem;border:1px solid var(--crta);border-radius:16px;background:var(--bela)}
.ov-tukaj>p{margin:0 0 .4rem}
.ov-tukaj .ov-gumbi{margin-top:.75rem}
.ov-koda{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:center;margin:.75rem 0;padding:1.25rem;border:1px solid var(--crta);border-radius:16px;background:var(--bela)}
.ov-qr svg{width:148px;height:148px;display:block}
.ov-znaki{margin:0;font:700 2.25rem/1 var(--f-glas);letter-spacing:.12em;white-space:nowrap}
.ov-nw{white-space:nowrap}
.ov-velja{display:flex;align-items:center;gap:.35rem;color:var(--jezero);font-weight:700;margin:.5rem 0 .4rem}
.ov-velja svg{width:16px;height:16px;flex:none}
.ov-koda-besedilo>p{margin-bottom:.4rem}
.ov-poteklo{opacity:.3}
.ov-naprave{list-style:none;margin:.5rem 0 0;padding:0}
.ov-naprave li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid var(--crta)}
.ov-naprave li:first-child{border-top:0;font-weight:700}
.ov-naprave li span{display:block}
/* the child card in Moja družina is narrow on a computer too: the block follows its own width, not the screen */
@container (max-width:480px){.ov-koda{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}.ov-velja{justify-content:center}}

/* ---------------------------------------------------------------- GORJE-223c: /sportnik - the login with 2 doors (design/vstop-223/slike/vpis-*.png),
   «Skrij značke» (odrasli-*.png), the payments (sportnik-*.png); in Moja družina the athlete's own e-mail. No colour stripes on the cards (222b). */
.ot [hidden]{display:none!important}
.ot-vpis.ot-vrata{display:block;max-width:64rem;margin:0 auto;padding:clamp(1.5rem,5vw,4.5rem) 0 4rem}
.ot-vrata-glava{display:flex;align-items:center;gap:1.25rem;margin:0 0 clamp(1.25rem,3vw,2.25rem)}
.ot-vpis .ot-vrata-glava img{width:clamp(72px,9vw,104px);height:auto;flex:none;margin:0}
.ot-vpis .ot-vrata-glava h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.035em;line-height:1}
.ot-vpis .ot-vrata-glava p{margin:.5rem 0 0;max-width:none}
.ot-vrata-dva{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem);align-items:stretch}
.ot-vrata-k{max-width:none;text-align:left;display:flex;flex-direction:column;gap:.85rem}
.ot-vrata-k form{display:flex;flex-direction:column;gap:.85rem;flex:1}
.ot-vpis .ot-vrata-k h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.025em;line-height:1.1}
.ot-vpis .ot-vrata-k p{margin:0;max-width:none}
.ot-vrata-k .ot-polja{justify-content:flex-start;margin:.25rem 0}
.ot-vrata-k .gumb{margin-top:auto;align-self:stretch;justify-content:center;display:inline-flex;gap:.5rem;align-items:center}
.ot-vrata-k .gumb svg{width:20px;height:20px}
.ot-vpis .ot-vrata-k .napaka-posiljanja{margin:0}
.ot-vpis .ot-vrata-k small{margin-top:0}
.ot-starost{align-self:flex-start;border-radius:999px;padding:.35rem .85rem;font-weight:800;font-size:.875rem;background:var(--tr-p);color:var(--tr-t)}
.ot-vrata-e .ot-starost{background:var(--dr-p);color:var(--dr-t)}
.ot-e-polje{display:grid;gap:.35rem;font-weight:700;font-size:.9375rem;color:var(--noc)}
.ot-e-polje input{font:inherit;font-weight:600;font-size:1.125rem;border:2px solid var(--crta);border-radius:12px;padding:.8rem 1rem;background:var(--sneg);color:var(--noc);min-width:0;width:100%}
.ot-e-polje input:focus{border-color:var(--fokus-temno);outline:none;background:#fff}
.ot-e-polje input[name=koda]{font:700 1.75rem/1 var(--f-glas);letter-spacing:.3em;max-width:13rem}
.ot-e-nazaj{align-self:center}
.ot-past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ot-skrij{margin-top:1.1rem;animation:ot-gor .7s var(--ot-ease) both .4s}
.ot-stikalo{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;border:1px solid rgba(255,255,255,.4);background:rgba(14,40,58,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;border-radius:999px;padding:.45rem 1rem .45rem .5rem;font:inherit;font-weight:700;font-size:1rem;cursor:pointer}
.ot-stikalo:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ot-st-gumb{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:rgba(255,255,255,.35);transition:background .2s}
.ot-st-gumb::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:transform .25s var(--ot-ease)}
.ot-stikalo[aria-checked="true"] .ot-st-gumb{background:var(--dr)}
.ot-stikalo[aria-checked="true"] .ot-st-gumb::after{transform:translateX(18px)}
.ot-skrij-napaka{display:inline-block;margin:.5rem 0 0;padding:.35rem .75rem;border-radius:.75rem;background:rgba(163,46,37,.85);color:#fff;font-weight:700}
.ot-skrito{margin:clamp(2rem,4vw,3rem) 0 0;padding:1rem 1.25rem;border-radius:1.25rem;background:var(--dr-p);color:var(--dr-t);font-weight:600;max-width:46rem}
.ot-placila-vrsta{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.25rem)}
.ot-pl{display:flex;align-items:center;gap:1rem;background:var(--bela);border-radius:1.5rem;padding:1.25rem 1.4rem;box-shadow:var(--senca-kartica)}
.ot-pl div{display:grid;gap:.15rem;min-width:0}
.ot-pl b{font-size:1.125rem;overflow-wrap:anywhere}
.ot-pl span{color:var(--megla)}
.ot-pl-ikona{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--led)}
.ot-pl-ikona svg{width:26px;height:26px}
.ot-pl.ok .ot-pl-ikona{background:var(--dr-p);color:var(--dr-t)}
.ot-pl.odprto .ot-pl-ikona{background:var(--tk-p);color:var(--tk-t)}
.ot-pl.odprto div span{color:var(--tk-t);font-weight:700}
.ot-preusmeri{padding:3rem 1rem}
@media (max-width:1100px){.ot-placila-vrsta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .ot-vrata-dva,.ot-placila-vrsta{grid-template-columns:minmax(0,1fr)}
  .ot-vrata-glava{align-items:flex-start}
  .ot-stikalo{font-size:.9375rem}
}
/* Moja družina: the athlete's own e-mail and «payments visible» (the parent, or an adult who is his own family) */
.ov-sportnik{margin:0 0 1rem;padding:1rem 1.1rem;border-radius:1rem;background:var(--sneg)}
.ov-sportnik>p{margin:0 0 .75rem}
.ov-eposta-vrsta{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem}
.ov-eposta-polje{display:grid;gap:.3rem;flex:1 1 15rem;min-width:0}
.ov-eposta-polje .vnos{width:100%}
.ov-stikalo{display:flex;align-items:center;gap:.6rem;min-height:44px;margin-top:.6rem;font-size:.9375rem;font-weight:600;cursor:pointer}
.ov-stikalo input{flex:none;width:1.25rem;height:1.25rem;margin:0;accent-color:var(--jezero)}
.ov-eposta-odgovor{margin:.4rem 0 0}
.md-to-sem-jaz{margin:-.25rem 0 .5rem}  /* GORJE-223c: «To sem jaz» in the child form of Moja družina */
/* GORJE-227: /sportnik-primer - the strip that says the child is made up; the link under the 2 doors */
.ot-primer-pas{max-width:var(--ot-max);margin:0 auto .75rem;padding:.6rem 1rem;border-radius:1rem;background:var(--tk-p);color:var(--tk-t);font-size:.9375rem;line-height:1.4}
.ot-primer-pas b{font-weight:800}
.ot-primer-povezava{margin:1.25rem 0 0;text-align:center}
