/**
 * Videoväli ampsu vormil — viis olekut.
 *
 * Kujundus tuleb teemast ja `haldus.css`-ist (`--lg-*` muutujad, `.lg-nupp`,
 * `.lg-teade`): videoväli ei ole omaette keskkond, ta on ühe kaardi keha.
 * Mõõdud on kinnitatud kavandist kavandid/video-kaart.html.
 */

.lg-video { display: flex; flex-direction: column; gap: 12px; }

/* ══════════════════════════════════════════════════════════════════════════════
   `[hidden]` PEAB VÕITMA IGA `display` REEGLI
   Brauseri oma stiilis on `[hidden] { display: none }` spetsiifilisusega (0,1,0)
   — täpselt sama, mis meie klassireeglil. Võrdse kaalu juures otsustab
   järjekord, ja `.lg-video__eden { display: flex }` tuleb hiljem ehk võidab:
   edenemise plokk EI KADUNUD kunagi ära.

   MÕÕDETUD omaniku ekraanil 11.08.2026: mängija all seisis „Laeb üles" tühja
   ribaga (see on ploki algseis, mida PHP `hidden`-iga peitis) ja teisel korral
   „Kodeerib 65%" — kuigi video oli valmis ja mängija oli kohal. Kaks olekut
   korraga lahti, täpselt see, mille vastu JS-i `seiaks()` üheks kohaks tehtud
   oli. JS tegi oma töö õigesti; CSS ei lasknud tal mõjuda.

   ÜKS REEGEL, MITTE `:not([hidden])` IGA PLOKI JUURES: `.lg-video [hidden]` on
   (0,2,0) ja võidab iga klassireegli sõltumata järjekorrast. Nii ei saa see viga
   korduda ka siis, kui keegi lisab uuele plokile `display`-reegli.
   ══════════════════════════════════════════════════════════════════════════════ */
.lg-video [hidden] { display: none; }

/* ── KUKUTAMISE ALA ELAB `haldus.css`-IS ──────────────────────────────────────
   Klass on `.lg-kukk` ja tema CSS on `koolitused/assets/css/haldus.css`-is —
   siin ei ole temast enam ridagi. Nii oli kavatsus algusest peale („sama kuju,
   mis materjalidel"), aga kaks koopiat läksid vaikselt lahku: video kast oli
   1,5 px ääris / 10 px raadius / 22 px polster / taust #fdfcfa, materjalide oma
   1 px / 8 px / 0 / #faf8f2. Kolm pisierinevust, kõrgused 100,99 ja 98,08 —
   piisavalt lähedal, et keegi ei märganud, ja piisavalt kaugel, et nad ei
   seisnud kunagi ühel joonel.

   SÕLTUVUS ON JUBA OLEMAS ja ühesuunaline: see fail on `wp_enqueue_style`-s
   `lg-haldus`-est sõltuvaks kuulutatud (inc/vali.php), ja videovälja kasutab
   ainult ampsu haldusvorm, kus `haldus.css` on niikuinii laetud.

   Erinevus jääb ainult SISUSSE: materjalidel tüübiloend ja MB-piir, videol
   AEG — MB-piiri me ei kuva, sest baidid ei liigu läbi meie serveri ja piir,
   mida me ei täida, on vale info (päris video oli 435 MB ja läks läbi). */

/* Kaardi keha on `gap: 12px` flex-veerg — kaitse-rea oma ülemine vahe tuleks
   sellele otsa (24 px kokku). Vahe tuleb ühest kohast. */
.lg-video .lg-kaitse { margin-top: 0; }

/* ── EDENEMINE JA KODEERIMINE ────────────────────────────────────────────────
   ÜKS PLOKK, KAKS OLEKUT. Kaks eri plokki tähendaks kahte riba, mis esimese
   muudatuse peale lahku lähevad. */
.lg-video__eden { display: flex; flex-direction: column; gap: 9px; }
.lg-video__eden-rida { display: flex; align-items: baseline; gap: 8px; font-size: 0.86rem; color: var(--lg-ink); }
.lg-video__eden-rida b { font-weight: 700; }
/* KAKS ARVU, MITTE PROTSENT ÜKSI: 435 MB failil seisab protsent minuti jooksul
   samal numbril ja loeks kinnijooksmisena; megabaidid liiguvad nähtavalt ja
   ütlevad ühtlasi, kui suur fail on. `tabular-nums`, muidu number hüpleb. */
.lg-video__eden-arv { margin-left: auto; font-variant-numeric: tabular-nums; color: var(--lg-ink-muted); }
.lg-video__riba { height: 8px; border-radius: 99px; background: #ece4d5; overflow: hidden; }
.lg-video__riba i { display: block; height: 100%; background: var(--lg-gold); border-radius: 99px; transition: width .2s linear; }

/* KODEERIMISE RIBA ON TRIIBULINE JA LIIKUV. Bunny `encodeProgress` hüppab
   suurte sammudega ja seisab vahepeal minuteid — ühtlane riba loeks siis
   kinnijooksmisena. Triip ütleb „töö käib", ka kui number ei muutu. */
.lg-video[data-seis="kodeerib"] .lg-video__riba i {
	background: repeating-linear-gradient(115deg,
		var(--lg-gold), var(--lg-gold) 9px, #f5cf86 9px, #f5cf86 18px);
	background-size: 200% 100%;
	animation: lg-video-triip 1.1s linear infinite;
}
@keyframes lg-video-triip { to { background-position: 25.46px 0; } }
/* Kes on animatsioonid maha keeranud, ei taha ka liikuvat triipu. Triip ise
   jääb — ta kannab infot („töö käib"), liikumine on ainult rõhutus. */
@media (prefers-reduced-motion: reduce) {
	.lg-video[data-seis="kodeerib"] .lg-video__riba i { animation: none; }
	.lg-video__riba i { transition: none; }
}
.lg-video__eden-abi { font-size: 0.78rem; line-height: 1.5; color: var(--lg-ink-muted); }
.lg-video__eden-abi b { color: var(--lg-ink-soft); }

/* ── VALMIS ──────────────────────────────────────────────────────────────────
   16:9 raam hoiab kõrguse paigas ilma arvutamata. PISIPILTI EI OLE ja seda ei
   teeselda: mõõdetud 11.08.2026, CDN-i otselingid (thumbnail.jpg, preview.webp,
   playlist.m3u8) annavad 403 ka lubatud viitajaga, sest `AllowDirectPlay: false`
   ja otselink nõuab OMA allkirja. Ühtlane tume taust, mitte pildi kohatäide —
   kohatäide lubaks pilti, mis kunagi ei tule. */
.lg-video__raam { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #04192c; }
.lg-video__raam iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* Sama põhjus mis .lg-amps-leht__video.lg-mangib: mängiva video all ei tohi tume raam paista. */
.lg-video__raam.lg-mangib { background: transparent; }

/* ── VALMIS: VIDEO ON RIDA, MITTE PLAKAT ─────────────────────────────────────
   Kinnitatud kavand 13.08.2026, kavandid/video-valmis-prototuup.html.

   MÕÕDETUD ENNE: kaart 594,63 px, sellest 402,75 px 16:9 must ristkülik. Video
   oli lehe KÕIGE KÕRGEM kaart (Sisu 389,45 · Materjalid 170,09 · Pealkiri
   104,08) ja tema sisu oli üks fakt: video on olemas. Pisipilti seal ei olnud
   ega tule — Bunny CDN annab thumbnail.jpg-le 403 ka lubatud viitajaga —,
   seega suur must kast ei näita mitte kunagi rohkem kui väike must kast.

   Rida on sama kuju, mis materjalide failirida: sama kaart, sama vorm, sama
   küsimus („mis fail siin on ja kuidas ma ta ära vahetan"). */
.lg-video__olemas {
	display: flex; align-items: center; gap: 12px;
	padding: 7px 10px;
	border: 1px solid var(--lg-line); border-radius: var(--lg-radius);
	background: #fff;
}

/* EELVAADE ON 16:9 NUPP, mitte plakat. Sama diagonaalne toon, mis suurel
   kattel — komponent ei muutu, ainult mõõt. 96x54 hoiab 16:9 täpselt. */
.lg-video__eelvaade {
	position: relative; flex: none;
	width: 96px; height: 54px; padding: 0; border: 0; border-radius: 7px;
	background: linear-gradient(160deg, #24344b 0%, #0f1b2b 100%);
	cursor: pointer; overflow: hidden;
}
.lg-video__eelvaade::after {
	content: ""; position: absolute; inset: 0;
	background: rgba(255, 255, 255, 0); transition: background .14s;
}
.lg-video__eelvaade:hover::after { background: rgba(255, 255, 255, .08); }
/* Teema baasreegel `button:focus { outline: none }` võtaks rõnga ära. */
.lg-video__eelvaade:focus-visible { outline: 2px solid var(--lg-gold); outline-offset: 2px; }
.lg-video__mangi {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 26px; height: 26px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--lg-gold); color: var(--lg-ink);
}
.lg-video__mangi svg { width: 12px; height: 12px; margin-left: 1px; }

/* NIMI ON PEATEKST, mitte valge kiri musta kasti peal. Enne oli ta katte
   alltekstis 0,84 rem valgena läbipaistvusega 0,8 — kõige tähtsam fakt (kas
   üles läks õige fail?) kõige raskemini loetavas kohas. Ja päris andmetes on
   ta 57 märki, mis sinna ei mahtunud niikuinii. */
.lg-video__kirjeldus { flex: 1 1 auto; min-width: 0; }
.lg-video__nimi {
	display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
	font-size: 0.9rem; color: var(--lg-ink);
}
/* MÕÕDUD ÜHEL REAL JA TUHMILT. Enne oli kestus KAKS KORDA — katte alltekstis
   ja faktide reas, 22,17 px vahega — ja rasvane kiri oli kõigil kolmel arvul,
   mis tähendab, et esile ei tõusnud ükski. */
.lg-video__mood {
	display: block; margin-top: 2px;
	overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
	font-size: 0.78rem; color: var(--lg-ink-muted);
}
/* GUID JÄÄB, AGA REA LÕPPU. Ta on veaotsingu number, mitte õpetaja oma: enne
   võttis ta jalarea vasakust servast 220 px ja seisis „Eemalda video" vastas,
   nagu oleks ta samaväärne tegu. Täispikk kuju on `title`-is. */
.lg-video__guid { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.72rem; }

.lg-video__teod { flex: none; display: flex; gap: 8px; }

/* MÄNGIJA TULEB KLÕPSUST, nagu tulevad ka tema 2 423 kB varasid (variant B,
   kavandid/video-kate.html). Sama põhjendus, üks samm edasi: ka 402,75 px
   ruumi ei võeta enne, kui keegi seda päriselt küsib.

   `[data-lahti]` ON JUUREL, mitte raamil: sama lipp ütleb ka nupu sildi
   („Vaata" / „Peida") ja `aria-expanded` väärtuse, ja kolm kohta ühe oleku
   kohta läheksid lahku. */
.lg-video__olemas + .lg-video__raam { margin-top: 10px; }
.lg-video[data-lahti="ei"] .lg-video__raam { display: none; }

@media (max-width: 620px) {
	/* Kitsal ekraanil läheb tegude paar omaette reale: eelvaade 96 px, nimi ja
	   kaks nuppu ei mahu 335 px reale kõrvuti. */
	.lg-video__olemas { flex-wrap: wrap; row-gap: 10px; }
	.lg-video__kirjeldus { flex-basis: calc(100% - 108px); }
	.lg-video__teod { width: 100%; }
	.lg-video__teod .lg-nupp { flex: 1; }
}

/* ── TÕRGE ───────────────────────────────────────────────────────────────────
   PUNANE JA TEGEVUSEGA. „Kodeerimine ebaõnnestus" ilma nupuga jätaks õpetaja
   ummikusse: fail on üleval, aga midagi teha ei saa. Kaks nuppu, sest kaks päris
   soovi on erinevad — proovi uut faili või lase see amps videota. */
.lg-video__torge { border: 1px solid #f0d6d6; background: #fdf7f7; border-radius: 10px; padding: 14px 16px; }
.lg-video__torge-pea { margin: 0 0 6px; font-size: 0.9rem; font-weight: 700; color: #a33f3f; }
.lg-video__torge-tekst { margin: 0 0 11px; font-size: 0.82rem; line-height: 1.55; color: var(--lg-ink-soft); }
.lg-video__torge .lg-nupp + .lg-nupp { margin-left: 7px; }

/* ── VIMEO PÄRAND ────────────────────────────────────────────────────────────
   KOLLANE, MITTE PUNANE: video mängib, midagi ei ole katki. Punane ütleks
   „paranda kohe", kollane ütleb „see on ajutine" — ja see ongi täpselt seis.
   Plokk kaob koodist ära, kui viimane Vimeo video on ümber laetud. */
.lg-video__parand { border-left: 3px solid var(--lg-gold); background: var(--lg-cream); border-radius: 6px; padding: 11px 14px; }
.lg-video__parand-pea { margin: 0 0 4px; font-size: 0.86rem; font-weight: 700; color: var(--lg-ink); }
.lg-video__parand-tekst { margin: 0; font-size: 0.8rem; line-height: 1.55; color: var(--lg-ink-soft); }

/* ── SIHTTEEGI LÜLITI (tasuta näidis → avalik teek) ─────────────────────────
   Kavand reisihispaania-tasuta-video-prototuup.html (omanik 07.09.2026, 3 vooru).
   Plokk seisab kukutaja kohal; sees-olek on kuldne, sest see on otsus, mis
   teeb video avalikuks. Lüliti enda paigutusreegel on haldus.css-is
   (`.lg-video__sihtteek > label.lg-lyliti`). */
.lg-video__sihtteek { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; padding: 12px 14px; background: var(--lg-sand); border: 1px solid var(--lg-line); border-radius: var(--lg-radius); }
.lg-video__sihtteek .lg-lyliti { margin: 0; }
.lg-video__sihtteek-jutt { margin: 0; font-size: 0.84rem; line-height: 1.45; color: var(--lg-ink-soft); }
.lg-video__sihtteek--sees { background: #fff8e6; border-color: var(--lg-gold); }
.lg-video__sihtteek--keelatud { opacity: .6; }
.lg-video__sihtteek [data-lg-sihtteek-lisa] .lg-vali { margin: 10px 0 0; }
.lg-kukk--avalik { border-color: var(--lg-gold); background: #fffdf5; }
.lg-video__avalik { display: inline-flex; align-items: center; margin-left: 8px; padding: 2px 8px; border-radius: 99px; background: var(--lg-gold); color: var(--lg-ink); font-size: 0.72rem; font-weight: 700; vertical-align: 2px; }

/* ── VIDEOKATE ────────────────────────────────────────────────────────────────
   KAHES VAATES ÜKS KOMPONENT: õppija ampsu leht ja õpetaja muutmisvorm.
   Kate on mängija ASEMEL, mitte tema peal (omaniku kinnitatud kavand
   kavandid/video-kate.html, variant B): `<iframe>` tekib alles klõpsul, sest
   mängija leht toob kaasa 2 423 kB varasid, millest `plyr-vr.js` üksi on 1,5 MB
   (mõõdetud 11.08.2026).

   Raami annab kutsuja (`.lg-amps-leht__video` või `.lg-video__raam`) — kate ise
   on absoluutne ja täidab selle, mis talle antakse.

   TERVE KATE ON ÜKS `<button>`. Nupp katte sees oleks pesastatud interaktiivne
   element (kehtetu HTML) ja klaviatuuril kaks peatust ühe teo jaoks — kuldne ring
   on seetõttu visuaal, `aria-hidden`-iga. */
.lg-kate {
	container-type: inline-size;
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	width: 100%; margin: 0; padding: 0; border: 0;
	font: inherit; text-align: center; color: #fff;
	cursor: pointer; background: none;
}
/* PILTI EI OLE (variant B), seega taust on kujundatud, mitte kaader. Diagonaalne
   üleminek annab tumedale pinnale sügavust ilma teist värvi lisamata — sama
   tindi kaks tooni. */
.lg-kate__vari {
	position: absolute; inset: 0;
	background: linear-gradient(160deg, #24344b 0%, #0f1b2b 100%);
}
.lg-kate__sisu { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px; }

.lg-kate__nupp {
	flex: none; width: 64px; height: 64px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--lg-gold); color: var(--lg-ink);
	box-shadow: 0 4px 14px rgba(4, 25, 44, .35);
	transition: transform .14s;
}
.lg-kate__nupp svg { width: 24px; height: 24px; margin-left: 3px; }
.lg-kate:hover .lg-kate__nupp,
.lg-kate:focus-visible .lg-kate__nupp { transform: scale(1.06); }
/* Fookus käib KATTELE, mitte ringile: ring on `aria-hidden` visuaal ja
   fookusrõngas peab olema seal, kus klahvivajutus mõjub. Teema baasreegel
   `button:focus { outline: none }` võtaks ta ära, seega on siin oma. Rõngas on
   SISSEPOOLE (`outline-offset: -3px`), sest kate täidab raami servani ja
   väljapoole jääv rõngas lõigataks `overflow: hidden`-iga ära. */
.lg-kate:focus-visible { outline: 3px solid var(--lg-gold); outline-offset: -3px; }

/* KATE HÄÄBUB, EI KAO (omaniku tellimus 12.08.2026). Kohe eemaldatud kate jättis
   nähtavale Bunny oma kaadri — selle suvalise silmapilgutuse, mille pärast kate
   üldse tehti. Nüüd jääb ta mängija PEALE ja hääbub 500 ms jooksul, kui mängija
   on laetud.

   `pointer-events: none` on kohustuslik, mitte viisakus: hääbuv kate on veel
   pinus ees ja neelaks klõpsu, millega vaataja tahab kohe pausi panna.

   ÜLEMINEK ON AINULT LÄBIPAISTVUS, mitte liikumine — seetõttu ei ole siin
   `prefers-reduced-motion` erandit: hääbumine ei tekita liikumistundlikkust ja
   tema ärajätmine tooks tagasi just selle vilksatuse, mida välditakse. */
/* 1 s, mitte 0,5 (omanik 12.08.2026: „tee 2x pikemaks"). SEE ARV ON SEOTUD
   `kate.js`-i varuteega, mis eemaldab katte DOM-ist — varutee peab olema PIKEM kui
   üleminek, muidu lõigatakse hääbumine pooleli ja kate kaob hüppega. Kui seda
   arvu muudad, muuda ka teist. */
.lg-kate { transition: opacity 1s ease; }
.lg-kate--kaob { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .lg-kate__nupp { transition: none; } }

.lg-kate__silt { display: block; font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
/* Ampsu nimi ja kestus on VAIKSEMAD kui „Vaata õpiampsu": pealkiri on juba lehel
   H1-na kohe kohal ja teine samaväärne kordus võistleks temaga. Kestus on see,
   mida siin päriselt juurde öeldakse. */
.lg-kate__all { display: block; margin-top: 4px; font-size: 0.84rem; opacity: .8; }

/* ── KAAS: kate thumbnaili kujul (omanik 07.09.2026) ──────────────────────
   Sama pilt mis Bunny thumbnail (kavandid/reisihispaania/thumbnail-mall.py):
   tint, päise logo üleval vasakul, kuldne nupp keskel, all vasakul kübar,
   pealkiri, kestus. ON FAILI LÕPUS, sest kirjutab üle katte baasreeglid (text-align,
   nupu mõõt) — sama spetsiifilisus, hilisem võidab. Mõõdud raamist: kirjad clamp'iga, sest sama kaas on
   891 px (ampsu leht), 674 px (näidis) ja 320 px (telefon) lai. */
.lg-kate--kaas { display: block; text-align: left; }
.lg-kate--kaas .lg-kate__vari { background: radial-gradient(ellipse at 50% 45%, #2a3d57 0%, #1a2a40 55%, #0f1b2b 100%); }
.lg-kate__brand { position: absolute; top: 5.5%; left: 3.8%; }
.lg-kate__brand .lg-brand { --lg-brand-mark: clamp(22px, 6cqw, 58px); --lg-brand-nimi: clamp(0.8rem, 3.3cqw, 1.95rem); display: inline-flex; align-items: center; gap: clamp(6px, 1.2cqw, 12px); color: #fff; }
.lg-kate__brand .lg-brand__mark { width: calc(var(--lg-brand-mark) * 12 / 11); height: var(--lg-brand-mark); }
.lg-kate__brand .lg-brand__alarida { font-size: clamp(0.36rem, 1cqw, 0.6rem); margin-top: 3px; }
.lg-kate--kaas .lg-kate__nupp--keskel { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -56%); width: clamp(48px, 11.5cqw, 110px); height: clamp(48px, 11.5cqw, 110px); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.lg-kate--kaas .lg-kate__nupp--keskel svg { width: 42%; height: 42%; margin-left: 5%; }
.lg-kate--kaas:hover .lg-kate__nupp--keskel, .lg-kate--kaas:focus-visible .lg-kate__nupp--keskel { transform: translate(-50%, -56%) scale(1.06); }
.lg-kate__kaas { position: absolute; left: 5.8%; right: 5.8%; bottom: 8.5%; display: grid; gap: clamp(2px, .7cqw, 8px); }
/* MIKS VÄIKSEM JA KAHEREALINE (omanik 08.09.2026: „video pealkiri on liiga suure fondiga, läheb play nupu
   alla"): 5.8cqw / 3.4rem andis 900 px kattel 53 px kirja ja kaherealine pealkiri + kübar + kestus (186 px)
   ulatus nupuni (mõõdetud −17 px, nelja reaga −129). Nüüd 4.3cqw / 2.6rem, pealkiri lõigatakse kahele reale
   (line-clamp) ja kübar ning kestus on ühe astme väiksemad: 920 px +18, 674 px +13 varu; ≤ 480 px kattel
   kaob kestuse rida ja nupp tõuseb 46% peale. */
.lg-kate__kubar { font-size: clamp(0.5rem, 1.55cqw, 0.95rem); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lg-gold); }
.lg-kate__pealkiri { font-size: clamp(0.95rem, 4.3cqw, 2.6rem); font-weight: 800; line-height: 1.08; letter-spacing: -.01em; color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lg-kate--kaas .lg-kate__all { margin: 0; font-size: clamp(0.6rem, 1.9cqw, 1.15rem); opacity: .75; color: #fff; }
@container (max-width: 480px) { .lg-kate--kaas .lg-kate__all { display: none; } .lg-kate--kaas .lg-kate__nupp--keskel { top: 46%; } }
