/* Yoko City — publiskās lapas stils «Stikls».
 *
 * Avots: design/yokocity-stikls.html un design/tokens.css (apstiprināts virziens).
 * Porcelāns · tinte · šampanieša zelts. Gaišs, bez serif.
 * Stikls (backdrop-filter) TIKAI izvēlnei un meklētājam; kartītes un paneļi ir solid.
 *
 * Šis fails ir statisks (public/), nevis Tailwind slānis, jo publisko objekta lapu
 * apkalpo Route Handler (vajadzīgi 301 un 410 statusi), un tam jāsaņem tieši tas pats
 * stils, ko saņem parastās lapas. `app/globals.css` paliek admin panelim.
 *
 * Fonti: Unbounded (display) + Manrope (body) — abiem ir kirilica un latin-ext,
 * tāpēc RU un LV teksts izskatās vienā rokrakstā. Ielādi turam šeit, lai abi
 * renderēšanas ceļi (lapas un Route Handler) tiktu pie viena un tā paša.
 */
/*
 * FONTI — MŪSU PAŠU IZCELSMĒ (27.09., Viestura lēmums).
 *
 * Līdz šim te bija `@import` no `fonts.googleapis.com` ar `display=swap`, un tas
 * maksāja izmērītu izkārtojuma lēcienu. Mērījums (Pixel 7, `/lv`, ražošanas
 * būvējums, `page.route` bloķējot fontu failus):
 *
 *   fonti bloķēti  — kājenes RU saite x=141,2 w=49,7; lapa 2579 px
 *   fonti ielādēti — kājenes RU saite x=144,3 w=49,1; lapa 2631 px
 *
 * Tātad lapa swap brīdī izauga par 52 px un kājene pārbīdījās. Tas nogāza T18
 * («element is not stable»), un lietotājam tas ir īsts lēciens, ne tikai testa
 * nepatikšanas. Cēlonis nav ātrums, bet METRIKA: Manrope satura kaste ir 136,6 %
 * no fonta izmēra (ascender 2132 + descender 600 pret 2000 vienībām em), bet
 * rezerves «Helvetica Neue» — 115 %. Pie 16 px tā ir 22 px pret 18 px KATRĀ
 * rindā, kurai nav skaidri uzdots `line-height`.
 *
 * Tāpēc šeit ir DIVAS lietas, un abas ir vajadzīgas:
 *
 * 1. Faili mūsu izcelsmē (`public/fonti/`, sk. `AVOTI.md`) — nav sveša CDN, nav
 *    otras TLS rokasspiediena, un fonts atnāk pirms pirmās krāsošanas.
 * 2. Rezerves saimes ar pieskaņotu metriku (`--font-body`, `--font-display`
 *    otrais nosaukums) — lai rindas augstums un teksta platums SAKRĪT arī tajā
 *    brīdī, kad īstais fonts vēl nav klāt.
 *
 * Kādus griezumus ņemam un kāpēc tieši tādus (viss izmērīts baitos 27.09.):
 *
 *   Manrope — VIENS mainīgais fails katrai apakškopai (ass wght 200–800). Lapa
 *   lieto 400, 500, 600, 700 un 800 (`.gnav .lang a:hover`); pieci statiskie
 *   griezumi latīņu + latīņu paplašinātajai ir 112 KB, mainīgais — 40 KB.
 *
 *   Unbounded — DIVI statiskie griezumi (400 un 500; 500 ir tikai `.cena strong`).
 *   Šeit mainīgais ir dārgāks, ne lētāks: mainīgā latīņu paplašinātā ir 118 KB,
 *   statiskā 400 — 46 KB. Google mums līdz šim sūtīja tieši mainīgo, tātad LV
 *   sākumlapa vilka 217,7 KB fontu; ar šiem failiem tā velk 117,2 KB.
 *
 *   Apakškopas — tikai latīņu, latīņu paplašinātā, kirilica un kirilicas
 *   paplašinātā. Lapa ir LV/RU/EN, grieķu un vjetnamiešu tur nav ko darīt.
 *   `unicode-range` paliek Google izdotais, tāpēc pārlūks paņem tikai to, kas
 *   konkrētajā valodā tiešām vajadzīgs (LV lapa — 5 faili no 12, RU — 5, EN — 4;
 *   izmēri pa lapām ir `public/fonti/AVOTI.md`).
 *
 *   Bloku SECĪBA ir tāda pati, kā Google atbildē (kirilica → latīņu), un tā nav
 *   gaume. `unicode-range` diapazoni pārklājas — U+0304, U+0308 un U+0329 ir gan
 *   latīņu, gan latīņu paplašinātajā — un pārklāšanās vietā uzvar PĒDĒJAIS
 *   deklarētais bloks. Ar citu secību tie paši burti nāktu no citas apakškopas.
 *   Nomērīts ar pilnas lapas ekrānuzņēmumu pret veco (Google) lapu, Pixel 7 `/lv`:
 *   ar «latīņu pirmais» secību atšķīrās 400 pikseļi, spilgtākā starpība 220 no 255;
 *   ar Google secību — 203 pikseļi un 62 no 255. Nulli sasniegt neizdevās, bet tas,
 *   kas paliek, ir 0,003 % lapas, tikai atsevišķu burtu malu izlīdzināšana, un
 *   ĢEOMETRIJA sakrīt līdz pikselim. Pārbaudīts, ka to NEDARA ne rezerves saimes
 *   (ar tām un bez tām — 0 pikseļu starpība), ne `font-display` (ar `swap` tā pati
 *   203).
 *
 * Pārklājums (LV garumzīmes, kirilica, № € – « ») ir pārbaudīts testā
 * `tests/t18-fonti.spec.ts`, ne pieņemts uz ticību.
 */
/* kirilicas paplašinātā */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: fallback;
  src: url("/fonti/manrope-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* kirilica */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: fallback;
  src: url("/fonti/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latīņu paplašinātā (ā, ē, ī, ū, ļ, ņ, ķ, ģ, š, ž, č) */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: fallback;
  src: url("/fonti/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latīņu */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: fallback;
  src: url("/fonti/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Unbounded 400 — visi virsraksti (`h1`–`h3`, `.obj-main h1`, kartīšu cenas). */
/* kirilicas paplašinātā */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonti/unbounded-400-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* kirilica */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonti/unbounded-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latīņu paplašinātā (ā, ē, ī, ū, ļ, ņ, ķ, ģ, š, ž, č) */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonti/unbounded-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latīņu */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/fonti/unbounded-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Unbounded 500 — tikai objekta lapas cena (`.cena strong`). */
/* kirilicas paplašinātā */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url("/fonti/unbounded-500-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* kirilica */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url("/fonti/unbounded-500-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latīņu paplašinātā (ā, ē, ī, ū, ļ, ņ, ķ, ģ, š, ž, č) */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url("/fonti/unbounded-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latīņu */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500;
  font-display: fallback;
  src: url("/fonti/unbounded-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/*
 * KĀPĒC `font-display: fallback`, NE `swap` UN NE `optional`.
 *
 * Izmērīts 27.09. uz šī paša ražošanas būvējuma (Pixel 7, `/lv`), sekojot kājenes
 * RU saites kastei no navigācijas sākuma līdz mierīgam stāvoklim. «Lēns tīkls» ir
 * CDP droselis 400 kbit/s, 400 ms.
 *
 *   swap     · ātrs — beidz ar īsto fontu, lēciena nav
 *            · lēns — x 138,1 → 138,6 → 144,3 (pārbīde 6,2 px jau PĒC krāsošanas)
 *   fallback · ātrs — beidz ar īsto fontu, lēciena nav
 *            · lēns — x 138,1 → 138,6 un paliek; fonts atnāk pēc 3 s loga, tāpēc
 *                     šai lapas atvēršanai NETIEK pielietots, un lēciena nav
 *   optional · ātrs — īstais fonts NETIEK pielietots pat ātrā tīklā (100 ms logs
 *                     ir par īsu pirmajai atvēršanai ar tukšu kešu)
 *            · lēns — tas pats
 *
 * Tāpēc `optional` atkrīt: tas nozīmētu, ka PIRMAJĀ apmeklējumā lapa vienmēr ir
 * Arial, ne Unbounded/Manrope — tas ir apstiprinātā izskata maiņa, ne tikai CLS
 * skaitlis. `swap` atkrīt, jo tas ir tas pats lēciens, kas nogāza T18, tikai mazāks.
 * `fallback` dod abus: normālā savienojumā zīmols ir vietā no pirmās krāsošanas, bet
 * lēnā savienojumā pārlūks NEPĀRZĪMĒ lapu pusceļā. Cena ir ~100 ms neredzama teksta
 * bloka perioda lēnā tīklā, un fonts paliek kešā nākamajai lapai.
 *
 * REZERVES SAIMES AR PIESKAŅOTU METRIKU.
 *
 * `src: local(...)` neko nelejupielādē — tas paņem sistēmas fontu un pārraksta
 * tam metriku tā, lai rinda un vārda platums sakrīt ar īsto fontu. Skaitļi ir
 * MĒRĪTI (Playwright chromium, macOS), ne paņemti no galvas.
 *
 * Vertikāle nāk no pašiem fontu failiem: Manrope 2132/-600 pret 2000 vienībām em,
 * Unbounded 995/-245 pret 1000. Pie 16 px tā ir 22 px un 20 px rinda, kur
 * «Helvetica Neue» dod 18 px un «Arial Black» 23 px — tieši šī atšķirība deva tos
 * 52 px lapas augstumā.
 *
 * `ascent-override` un `descent-override` ir DALĪTI ar `size-adjust`, jo pārlūks
 * `size-adjust` piemēro arī pārrakstītajai metrikai. Tas nav gaumes jautājums, tas
 * ir pārbaudīts: ar `ascent-override: 99,5 %` (Unbounded īstā vērtība) rezerves
 * rinda bija 21 px pret īstajām 20 px; ar dalīto vērtību — 20 px pret 20 px.
 *
 * Horizontāle (`size-adjust`) ir mērīta uz ĪSTĀ lapas teksta, ne uz izdomāta
 * parauga: visi redzamie teksta mezgli `/lv`, `/ru` un `/en`, katrs pārmērīts abos
 * stāvokļos. Rezerve/īstais platums bija Manrope 0,9756 (LV) un 0,9913 (RU),
 * Unbounded 0,9882 (LV) un 0,9725 (RU); `size-adjust` te ir šo divu ideālo vērtību
 * vidus, tāpēc neviena valoda nav «pareizā» uz otras rēķina.
 *
 * Rezultāts (lapas augstums «fonti bloķēti» → «fonti ielādēti», Pixel 7):
 * LV 2605 → 2631 px pirms pieskaņošanas, 2631 → 2631 px pēc tās; RU un EN 0 px abos.
 * Sargs pret atgriešanos ir `tests/t18-fonti.spec.ts`.
 *
 * Kāpēc tieši 109,6 % Unbounded un ne 108,0 %: pie 108,0 % viena jaunumu virsraksta
 * rinda ar rezervi vēl ietilpa vienā rindā, bet ar īsto fontu aptinās uz divām, un
 * lapa atkal auga par 26 px. Robeža ir starp 108,0 un 108,4 %; mērītais vidus
 * 109,6 % stāv ar rezervi pāri tai, nevis uz tās.
 *
 * `local()` saraksts ir garāks par vienu nosaukumu ar nolūku: macOS dod «Helvetica
 * Neue», Linux (arī CI) — «Liberation Sans» vai «DejaVu Sans». Ja neviens nesader,
 * šī saime vispār nav lietojama un pārlūks aiziet pie nākamā nosaukuma `--font-*`
 * sarakstā. Vertikālo kasti `ascent/descent-override` nostiprina neatkarīgi no tā,
 * kurš sistēmas fonts trāpījās; `size-adjust` ir pieskaņots macOS, tāpēc uz Linux
 * platums var atšķirties par procenta daļām — rindas augstums, kas deva tos 52 px,
 * nē.
 */
@font-face {
  font-family: "Manrope rezerve";
  src:
    local("Helvetica Neue"),
    local("Helvetica"),
    local("Arial"),
    local("Liberation Sans"),
    local("DejaVu Sans");
  size-adjust: 100.6%;
  ascent-override: 105.96%;
  descent-override: 29.82%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Unbounded rezerve";
  src:
    local("Arial Black"),
    local("Arial Bold"),
    local("Arial"),
    local("Liberation Sans"),
    local("DejaVu Sans");
  size-adjust: 109.6%;
  ascent-override: 90.78%;
  descent-override: 22.35%;
  line-gap-override: 0%;
}

:root {
  --color-paper: oklch(98% 0.004 250);
  --color-paper-2: oklch(94% 0.006 250);
  --color-rule: oklch(87% 0.008 250);
  /* Vadīklu apmale un fons. `--color-rule` ir dekoratīva līnija (1,40:1 pret papīru) —
     ar to pietiek paneļu robežām, bet ne vadīklām: WCAG 2.1 1.4.11 prasa vismaz 3:1.
     `--color-control-edge` dod 3,72:1 pret papīru, 3,31:1 pret `--color-paper-2` un
     3,94:1 pret vadīklas balto fonu, tāpēc lauks ir saredzams arī uz stikla paneļa. */
  --color-control-edge: oklch(60% 0.02 255);
  --color-control-bg: oklch(100% 0 0);
  /* Minimālais skāriena laukums (WCAG 2.2 2.5.8 «Target Size (Minimum)» ir 24 px,
     bet klienta auditorija ir mobilā — turamies pie ~44 px ieteikuma). */
  --touch: 2.75rem;
  --color-neutral: oklch(46% 0.015 255);
  --color-ink: oklch(26% 0.03 255);
  --color-accent: oklch(72% 0.09 80);
  --color-accent-ink: oklch(24% 0.03 80);
  --color-focus: oklch(55% 0.12 80);

  /* Viena līnijas krāsa visam meklētājam (plāna 3. sadaļa, G1-1, apstiprināts 22.09.):
     cilnes, panelis, segmenti, izvēlnes. Retina ekrānā 0,5 px — 1 px tur izskatās pēc
     rāmja, ne šuves. `--color-control-edge` paliek kartītēm un CRM; meklētājā to
     vairs nelieto, citādi vienā panelī ir divas dažādas pelēkās līnijas. */
  --stroke: oklch(30% 0.03 255 / 0.22);
  --stroke-w: 1px;
  --glass: oklch(99% 0.003 250 / 0.2);
  --glass-panel: oklch(99% 0.003 250 / 0.62);
  /* Stikla materiāls galvenei un izvēlnei — skaidrojums pie `.gnav` (5. sadaļa).
     Diapazons pēc kompresijas: 0,37 … 0,91; ar tintu virsma 0,55 … 0,94. */
  --stikls-filtrs: blur(26px) contrast(0.36) brightness(1.55) saturate(1.9);
  --stikls-tints: oklch(99% 0.003 250 / 0.32);
  /* Flīze izvēlnē ir OTRS plāns materiāls, ne balta kartīte: tā paceļ virsmu no
     0,55 uz 0,68, lai mazais teksts tiktu pie 4,5:1, un tik un tā ir caurspīdīga. */
  --stikls-flize: oklch(99% 0.003 250 / 0.3);
  --stikls-flize-hover: oklch(99% 0.003 250 / 0.52);
  /* Necaurspīdīgā atkāpe: bez `backdrop-filter`, pie `prefers-reduced-transparency`
     un piespiedu krāsās stikla nav, un tad panelim jābūt blīvam, ne 30 % caurspīdīgam. */
  --stikls-bez: oklch(97% 0.004 250);
  --glass-edge: oklch(100% 0 0 / 0.45);
  --glass-edge-ink: oklch(30% 0.03 255 / 0.3);
  --font-display: "Unbounded", "Unbounded rezerve", "Arial Black", sans-serif;
  --font-body: "Manrope", "Manrope rezerve", "Helvetica Neue", Arial, sans-serif;
  --text-sm: 0.8rem;
  --text-base: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.5625rem;
  --text-xl: 1.9531rem;
  --text-display: clamp(1.75rem, 2.6vw + 0.8rem, 3rem);
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-1: 150ms;
  --dur-2: 400ms;
}

/* Retina ekrānā 1 px robeža ir divi fiziskie pikseļi un izskatās pēc rāmja.
   0,5 px tur ir viena ierīces līnija — tieši tik, cik vajag šuvei. */
@media (min-resolution: 2dppx) {
  :root {
    --stroke-w: 0.5px;
  }
}

* {
  box-sizing: border-box;
}
html,
body {
  overflow-x: clip;
}
body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  /* Kājene paliek lapas apakšā arī tad, ja satura ir maz (410 lapa). */
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body > main {
  flex: 1 0 auto;
}
a {
  color: inherit;
}
img {
  max-width: 100%;
}
/* Vietturis (24.09.): bez šī pārlūks liek savu — Safari ≈2,5:1, Chrome ≈2,8:1 uz
   baltas. Vietturis nes saturu («€», «m²», adreses piemērs), tāpēc tam ir jāizpilda
   4,5:1 tāpat kā jebkuram tekstam. `opacity: 1` ir Firefox dēļ: tas savu vietturi
   pēc noklusējuma vēl papildus atšķaida. */
::placeholder {
  color: var(--color-neutral);
  opacity: 1;
}
h1,
h2,
h3 {
  overflow-wrap: anywhere;
  min-width: 0;
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
}
:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}
.wrap {
  max-width: 1360px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.izlaist {
  position: absolute;
  left: -9999px;
}
.izlaist:focus {
  position: static;
  display: inline-block;
  margin: var(--space-sm);
}

/* Hero pauzes poga noņemta 28.09. (Arinas labojumi, līguma 6.14) — sk. `publiska.js`. */

/* ── Galvene: peldoša stikla tablete (skice `.gnav`, 1:1) ────────────────
   Fiksēta 1rem no augšas, 1360 px plata, radiuss 999px; atverot paneli vai
   saraujoties pēc ritināšanas — 1.75rem. Radiuss atvēršanā mainās uzreiz, ne
   pārejā (citādi flīzes iziet no tabletes). Hero iet zem tās; pārējais saturs
   sākas ar `--header-offset` atkāpi. */
.gnav {
  position: fixed;
  top: var(--space-md);
  left: 50%;
  translate: -50% 0;
  z-index: 40;
  /* Fons un filtrs nāk no stikla materiāla 5. sadaļā — te tikai forma. */
  border: 1px solid var(--glass-edge-ink);
  border-radius: 999px;
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 8px 32px oklch(26% 0.03 255 / 0.16);
  padding: var(--space-sm) var(--space-lg);
  width: min(calc(100vw - 2rem), 1360px);
  color: var(--color-ink);
  transition:
    border-radius var(--dur-2) var(--ease-out),
    border-color var(--dur-2) var(--ease-out),
    box-shadow var(--dur-2) var(--ease-out),
    padding var(--dur-2) var(--ease-out);
}
.gnav.is-compact {
  border-radius: 1.75rem;
  border-color: var(--glass-edge-ink-2);
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 10px 36px oklch(26% 0.03 255 / 0.2);
}
.gnav.is-open {
  border-radius: 1.75rem;
  transition-property: border-color, box-shadow;
}
.gnav-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(0.6rem, 1.6vw, 1.4rem);
}
.gnav-side {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.gnav-end {
  justify-content: flex-end;
}
.gnav .wm {
  display: inline-flex;
  align-items: center;
  justify-self: center;
  text-decoration: none;
}
/* Logo bez simbola (20.10.): viewBox 756×146, burti ~52 % augstuma. 2.6rem dod ~216 px
   platumu — tikpat, cik vecais logo ar simbolu (3.5rem × 1061.6/293.6), tāpēc galvenes
   izkārtojums nemainās, bet burti ir ~1,5× lielāki un «REAL ESTATE» ~11 px. */
.gnav .wm .logo {
  display: block;
  height: 2.6rem;
  width: auto;
}
/* 2,5rem = 40 px bija zem projekta 44 px robežas; telefonā «Juridiskie pakalpojumi»
   ir tikai ⚖ ikona, tātad mērķis ir tieši tik, cik dod šī rinda. */
.glink {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--touch);
  padding-inline: var(--space-sm);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  white-space: nowrap;
}
.glink:hover {
  color: var(--color-focus);
}
/* Valodu pārslēgs — TIKAI teksts LV · EN · RU, nekad karodziņi (spec 4. nod.).
   Saites ir mazas etiķetes, tāpēc skāriena laukumu paplašinām līdz `--touch`;
   atstarpi starp tām veido pati saišu iekšējā atkāpe, lai divi kaimiņu mērķi
   nesaskaras vizuāli, bet pirkstam nav jātrāpa 20 px platā vārdā. */
/* ♡ + valodas vienā grupā aiz atdalītāja (30.09.). Atdalītājs ir grupai, ne `.lang`. */
.gnav-rikki {
  display: flex;
  align-items: center;
  margin-left: var(--space-xs);
  padding-left: var(--space-sm);
  border-left: 1px solid var(--glass-edge-ink);
}
.lang {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
/* Kompaktāk (30.09.): ar peli 36 px plats mērķis; pirkstam paliek pilni 44 px. */
.lang a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--touch);
  min-width: 2.25rem;
  text-decoration: none;
  color: var(--color-neutral);
  white-space: nowrap;
}
/* Pasvītrojums seko tekstam, nevis 44 px skāriena laukuma malai. */
.lang a::after {
  content: "";
  position: absolute;
  top: calc(50% + 0.7em);
  left: 50%;
  translate: -50% 0;
  width: 1.9em;
  height: 2px;
  background: transparent;
}
@media (pointer: coarse) {
  .lang a {
    min-width: var(--touch);
  }
}
.lang a:hover {
  color: var(--color-ink);
}
.lang a[aria-current] {
  color: var(--color-ink);
}
.lang a[aria-current]::after {
  background: var(--color-accent);
}

/* ── Meklētājs: otrs un pēdējais stikla elements ──────────────────────── */
.search {
  padding-block: var(--space-xl);
}
.search .panel {
  background: var(--glass-panel);
  backdrop-filter: blur(22px) saturate(1.5);
  -webkit-backdrop-filter: blur(22px) saturate(1.5);
  border: 1px solid var(--glass-edge-ink);
  border-radius: 1.5rem;
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 20px 60px oklch(26% 0.03 255 / 0.14);
  padding: var(--space-lg);
}
.seg {
  display: flex;
  gap: 2px;
  margin-bottom: var(--space-lg);
}
.seg a {
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: 2.9rem;
  display: inline-flex;
  align-items: center;
  padding: 0 clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid var(--glass-edge-ink);
  border-radius: 1rem 1rem 0 0;
  background: oklch(99% 0.003 250 / 0.34);
  color: var(--color-neutral);
}
.seg a[aria-current] {
  background: var(--color-paper);
  color: var(--color-ink);
  box-shadow: 0 2px 0 var(--color-accent) inset;
}
/* «Piedāvā savu īpašumu» sarakstu cilnēs (Arinas labojumi 28.09.) — kā sākumlapā. */
.seg .s {
  display: none;
}
@media (max-width: 40rem) {
  .seg .l {
    display: none;
  }
  .seg .s {
    display: inline;
  }
  /* Trešajai vairāk vietas (kā `.pn-tabs .sell` sākumlapā): LV īsais teksts ir tas pats
     garais, un bez tā tas lūza trīs rindās. Divas rindas, centrētas, iekļaujas 46 px. */
  .seg a {
    justify-content: center;
    text-align: center;
  }
  .seg .seg-sell {
    flex-grow: 1.6;
    padding-inline: var(--space-sm);
    letter-spacing: 0.04em;
    line-height: 1.2;
  }
}
.fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  align-items: end;
}
.f {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
/* `opacity: 0.75` te bija līdz 24.09. Etiķete ir 11,5 px treknraksts — WCAG «lielā
   teksta» 3:1 atlaide sākas tikai no 18,7 px, tāpēc te ir jāizpilda 4,5:1, un ar
   caurspīdīgumu tinte tuvojās robežai (recenzijā mērīts 3,82:1; mūsu mērījums uz
   paneļa virsmas — 6,8:1, atkarībā no tā, cik daudz no stikla fona ir tumšs).
   Atstarpe līdz robežai ir par mazu, lai to noturētu nejaušība.

   Caurspīdīgums ir noņemts, ne aizstāts ar pelēku: uz meklētāja stikla sliktākā
   virsma ir 0,55, un tur 4,5:1 prasa L ≤ 27 % — tinte (26 %) tur iekļaujas, jebkurš
   pelēkojums vairs ne. Izmērīts: 15,5:1 (sk. `tests/t61-kontrasts.spec.ts`). */
.f label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--color-ink);
  padding-left: var(--space-sm);
}
/* Native `<select>` paliek native — meklētājam jāstrādā bez JavaScript.
   Noņemam tikai OS izskatu (`appearance: none`) un zīmējam savu bultiņu, lai
   vadīkla piederētu stikla panelim, nevis izskatītos pēc svešķermeņa.
   Bultiņa ir dekoratīva: tā ir fona attēls, tāpēc palīgtehnoloģijas to neredz,
   un pati vadīkla ir tas pats `<select>` ar visu OS uzvedību. */
.f select {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-ink);
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--color-control-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%231a2532' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-md) center;
  background-size: 0.75rem auto;
  border: 1px solid var(--color-control-edge);
  border-radius: 999px; /* pill kā čipiem (Arinas labojumi 28.09.) */
  /* Labajā pusē vieta bultiņai, lai garš rajona nosaukums tai neuzskrien virsū. */
  padding-block: 0;
  padding-inline: var(--space-md) 2.75rem;
  width: 100%;
  height: 3.25rem;
}
.f select:hover {
  border-color: var(--color-focus);
}
.panel-foot {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--color-rule);
}
.go {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-base);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border: 0;
  border-radius: 999px;
  min-height: 3.25rem;
  padding: var(--space-sm) var(--space-xl);
  cursor: pointer;
  margin-left: auto;
}
.go:hover {
  background: oklch(78% 0.09 80);
}
.f-poga {
  justify-content: flex-end;
}
.f-poga .go {
  margin-left: 0;
  width: 100%;
}

/* ── Sadaļu virsraksti ────────────────────────────────────────────────── */
.hang {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-lg);
  flex-wrap: wrap;
  margin-bottom: var(--space-lg);
}
.hang h1,
.hang h2 {
  font-size: var(--text-lg);
  margin: 0;
}
.skaits {
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--color-neutral);
}
.strip {
  padding-block: var(--space-xl);
}
.sakuma-virsraksts {
  font-size: var(--text-display);
  margin: var(--space-xl) 0 0;
  max-width: 18ch;
}
.sadalas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.sadalas a {
  text-decoration: none;
  font-weight: 600;
  font-size: var(--text-sm);
  border: 1px solid var(--color-control-edge);
  border-radius: 999px;
  padding: var(--space-sm) var(--space-lg);
}
.sadalas a:hover {
  border-color: var(--color-accent);
  color: var(--color-focus);
}

/* ── Kartītes: solid, ne stikls ───────────────────────────────────────── */
.cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.card-link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}
.card .ph {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 1.25rem;
  background: var(--color-paper-2);
}
.card .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: scale var(--dur-2) var(--ease-out);
}
/* Tikai ierīcēm ar īstu peli (22.10.): skārienekrānā `:hover` «pielīp» pēc pieskāriena —
   bilde palika palielināta un, velkot rindu, izskatījās, ka kartīte pabīdās. */
@media (hover: hover) and (pointer: fine) {
  .card:hover .ph img {
    scale: 1.05;
  }
}
.card .info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-inline: var(--space-xs);
}
.card .op {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-focus);
}
.card .price {
  font-family: var(--font-display);
  font-size: var(--text-md);
  color: var(--color-ink);
  font-variant-numeric: tabular-nums;
}
.card .addr {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-neutral);
}
.card .meta {
  font-size: var(--text-sm);
  color: var(--color-neutral);
}
.tuksums {
  border: 1px dashed var(--color-rule);
  border-radius: 1.25rem;
  padding: var(--space-xl);
  text-align: center;
  color: var(--color-neutral);
}

/* ── Lapošana ─────────────────────────────────────────────────────────── */
.lapotajs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-xl);
  font-size: var(--text-sm);
  font-weight: 600;
}
.lapotajs a {
  text-decoration: none;
  border: 1px solid var(--color-control-edge);
  border-radius: 999px;
  padding: var(--space-sm) var(--space-lg);
}
.lapotajs a:hover {
  border-color: var(--color-accent);
  color: var(--color-focus);
}

/* ── Objekta lapa (skice design/yokocity-objekts.html, 14.09.) ────────────
 * Klases un vērtības 1:1 ar skici. Atšķirības: `.mz` un `.mz-all` ir saites
 * (bez JS atver bildi), ne pogas; `.addr` sašaurināts uz `.obj-main .addr`, lai
 * neskar saraksta kartītes `.card .addr`; `.mz:nth-child(n+6)` paslēpts, jo
 * mozaīkā ir 5 vietas, bet DOM-ā ir visas bildes — no tām lightbox ņem sarakstu. */

/* Galerijas mozaīka */
.galerija {
  padding-top: calc(var(--header-offset) + var(--space-sm));
}
/* Uzvar vispārīgo `#saturs > :first-child:not(.hero)` (vienāds specifiskums —
   tāpēc te vēl `section`), lai galerija sāktos 104 px kā skicē, ne 120 px. */
#saturs > section.galerija:first-child {
  padding-top: calc(var(--header-offset) + var(--space-sm));
}
.mozaika {
  display: grid;
  grid-template-columns: 5fr 2fr 2fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--space-sm);
  height: clamp(26rem, 62svh, 40rem);
  position: relative;
}
.mz {
  position: relative;
  display: block;
  overflow: hidden;
  border: 0;
  padding: 0;
  border-radius: 1rem;
  background: var(--color-paper-2);
  cursor: zoom-in;
  min-width: 0;
  min-height: 0;
  text-decoration: none;
}
.mz img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.mz-hero {
  grid-row: 1 / span 2;
  border-radius: 1.5rem;
}
.mz:nth-child(n + 6) {
  display: none;
}
.mz:focus-visible {
  outline: 3px solid var(--color-ink);
  outline-offset: 3px;
}
.mz-all {
  position: absolute;
  right: var(--space-md);
  bottom: var(--space-md);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0 var(--space-md);
  border: 1px solid var(--glass-edge-ink);
  border-radius: 999px;
  background: var(--glass-panel);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--color-ink);
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.mz-all svg {
  width: 18px;
  height: 18px;
}
.mz-all:hover {
  background: var(--color-paper);
}
/* Vienīgais ne-lietotāja izraisītais moments lapā: mozaīka saliekas ielādē */
@keyframes mz-in {
  from {
    opacity: 0;
    translate: 0 10px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
.mz {
  animation: mz-in var(--dur-fade) var(--ease-out) both;
}
.mz:nth-child(2) {
  animation-delay: 60ms;
}
.mz:nth-child(3) {
  animation-delay: 110ms;
}
.mz:nth-child(4) {
  animation-delay: 160ms;
}
.mz:nth-child(5) {
  animation-delay: 210ms;
}

/* Lightbox — native <dialog>, atvēršana ar @starting-style */
/* Kamēr galerija atvērta, lapa zem tās neritinās */
html:has(.lb[open]) {
  overflow: hidden;
}
.lb {
  border: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  max-width: 100vw;
  max-height: 100svh;
  width: 100vw;
  height: 100svh;
  color: var(--color-paper);
  opacity: 0;
  scale: 0.98;
  transition:
    opacity 200ms var(--ease-out),
    scale 200ms var(--ease-out),
    display 200ms allow-discrete,
    overlay 200ms allow-discrete;
}
.lb[open] {
  opacity: 1;
  scale: 1;
}
@starting-style {
  .lb[open] {
    opacity: 0;
    scale: 0.98;
  }
}
.lb::backdrop {
  background: oklch(14% 0.02 255 / 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    opacity 200ms,
    display 200ms allow-discrete,
    overlay 200ms allow-discrete;
  opacity: 0;
}
.lb[open]::backdrop {
  opacity: 1;
}
@starting-style {
  .lb[open]::backdrop {
    opacity: 0;
  }
}
.lb-stage {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  height: 100%;
  padding: var(--space-md);
  /* iPhone mājas josla nedrīkst aizsegt sīkbilžu joslu (29.09.). */
  padding-bottom: max(var(--space-md), env(safe-area-inset-bottom));
  touch-action: pan-y pinch-zoom;
}
.lb-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
}
.lb-cnt {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.lb-x,
.lb-nav {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid oklch(100% 0 0 / 0.3);
  border-radius: 50%;
  background: oklch(100% 0 0 / 0.1);
  color: inherit;
  cursor: pointer;
}
.lb-x:hover,
.lb-nav:hover {
  background: oklch(100% 0 0 / 0.22);
}
.lb-x svg,
.lb-nav svg {
  width: 20px;
  height: 20px;
}
.lb-body {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
  overflow: hidden;
}
/* Bilde vienmēr ietilpst ekrānā abās asīs — arī vertikāla bilde vai zems logs.
   Absolūta pozīcija dod `max-height: 100%` noteiktu atskaites augstumu (grid rindas
   procenti bez tā izplešas līdz bildes dabiskajam augstumam, un dialogs ritinājās). */
.lb-body img {
  position: absolute;
  inset: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 0.75rem;
  transition: opacity 160ms var(--ease-out);
}
.lb-body img.is-swap {
  opacity: 0;
}
.lb-nav {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  /* Virs bildes: tālrunī bilde aizņem visu platumu, un tā kā DOM tā ir PĒC «iepriekšējā»,
     tā to aizsedza — kreisās bultiņas nebija redzams (atrasts 29.09. ekrānuzņēmumā). */
  z-index: 1;
}
.lb-prev {
  left: 0;
}
.lb-next {
  right: 0;
}
.lb-cap {
  text-align: center;
  padding-top: var(--space-sm);
  color: oklch(85% 0.01 250);
}
.lb :focus-visible {
  outline: 3px solid var(--color-paper);
  outline-offset: 3px;
}
/*
 * Sīkbilžu josla (29.09.). Horizontāli ritināma, malas izbalē (maska), aktīvā — pilna
 * gaisma un zelta kontūra; pārējās pieklusinātas. Maz bilžu → centrā (auto malas pirmajai
 * un pēdējai, nevis `justify-content: center`, kas pārplūstot nogrieztu sākumu).
 * `touch-action: pan-x` — pirksts ritina joslu, bet lightbox vilkšanas žests to ignorē
 * (`publiska.js`). 52 px augstums ≥ 44 px pieskārienam.
 */
.lb-thumbs {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: var(--space-sm) 2rem 0.25rem;
  scroll-padding-inline: 2rem;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent);
  mask-image: linear-gradient(to right, transparent, #000 2rem, #000 calc(100% - 2rem), transparent);
}
.lb-thumbs::-webkit-scrollbar {
  display: none;
}
.lb-th {
  flex: none;
  width: 4.5rem;
  height: 3.25rem;
  padding: 0;
  border: 0;
  border-radius: 0.5rem;
  overflow: hidden;
  background: oklch(100% 0 0 / 0.08);
  cursor: pointer;
  opacity: 0.45;
  outline: 2px solid transparent;
  outline-offset: 2px;
  transition:
    opacity 180ms var(--ease-out),
    outline-color 180ms var(--ease-out),
    scale 180ms var(--ease-out);
}
.lb-th:first-child {
  margin-inline-start: auto;
}
.lb-th:last-child {
  margin-inline-end: auto;
}
.lb-th img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lb-th:hover {
  opacity: 0.85;
}
.lb-th:active {
  scale: 0.95;
}
.lb-th[aria-current="true"] {
  opacity: 1;
  outline-color: var(--color-accent);
}
@media (max-width: 40rem) {
  .lb-th {
    width: 3.75rem;
    height: 2.75rem;
  }
}

/* Objekta saturs */
.objekts {
  padding-top: var(--space-lg);
}
.celins {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 var(--space-lg);
  padding: 0;
  list-style: none;
  font-size: 0.85rem;
  color: var(--color-neutral);
}
.celins li + li::before {
  content: "/";
  margin-right: 0.35rem;
  color: var(--color-rule);
}
.celins a {
  color: inherit;
  text-decoration: none;
}
.celins a:hover {
  color: var(--color-focus);
}
.obj-cols {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-xl);
  align-items: start;
}
.veids {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 var(--space-md);
  padding: 0;
  list-style: none;
}
.veids li {
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--color-paper-2);
  color: var(--color-neutral);
}
.veids li.is-deal {
  background: oklch(96% 0.028 80);
  color: var(--color-accent-ink);
}
.obj-main h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.4rem);
  line-height: 1.15;
  margin: 0 0 var(--space-sm);
  max-width: 20ch;
  letter-spacing: -0.01em;
}
.obj-main .addr {
  margin: 0 0 var(--space-lg);
  color: var(--color-neutral);
  font-size: 1.05rem;
}
.fakti {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-lg);
  margin: 0 0 var(--space-xl);
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  list-style: none;
}
.fakti li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
}
.fakti svg {
  width: 20px;
  height: 20px;
  color: var(--color-focus);
  flex: none;
}
.obj-main h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.25rem;
  margin: 0 0 var(--space-md);
}
.obj-main h3 {
  font-size: 1rem;
  font-weight: 700;
  margin: var(--space-lg) 0 var(--space-xs);
}
.obj-main p {
  line-height: 1.6;
  max-width: 66ch;
  margin: 0 0 var(--space-sm);
}
.obj-main ul.lst {
  margin: 0 0 var(--space-sm);
  padding-left: 1.1rem;
  line-height: 1.6;
  max-width: 66ch;
}
/* Ja apraksts ir citā valodā, nekā lapa (līguma 6.2) — piezīme virs teksta. */
.valodas-piezime {
  font-size: var(--text-sm);
  color: var(--color-neutral);
  border-left: 2px solid var(--color-accent);
  padding-left: var(--space-sm);
  margin-bottom: var(--space-md);
}
.parametri {
  margin: var(--space-2xl) 0 0;
}
.parametri dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-lg);
  margin: 0;
}
.parametri div {
  display: flex;
  justify-content: space-between;
  gap: var(--space-md);
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--color-rule);
}
.parametri dt {
  color: var(--color-neutral);
}
.parametri dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
}

/* Lipīgā kartīte — stikls uz papīra */
.obj-side {
  position: sticky;
  top: calc(var(--header-offset) + var(--space-sm));
}
.karte {
  padding: var(--space-lg);
  border-radius: 1.5rem;
  background: var(--glass-panel);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border: 1px solid var(--glass-edge-ink);
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 8px 32px oklch(26% 0.03 255 / 0.1);
  transition: box-shadow var(--dur-2) var(--ease-out);
}
.karte.is-float {
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 18px 48px oklch(26% 0.03 255 / 0.18);
}
.cena {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0;
}
.cena strong {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.cena span {
  color: var(--color-neutral);
}
.cena-m2 {
  margin: 0.25rem 0 var(--space-lg);
  color: var(--color-neutral);
}
.agents {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) 0;
  border-top: 1px solid var(--color-rule);
  border-bottom: 1px solid var(--color-rule);
  margin-bottom: var(--space-md);
}
.avatars {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
  background: oklch(96% 0.028 80);
  color: var(--color-accent-ink);
  font-weight: 700;
  letter-spacing: 0.02em;
  object-fit: cover;
}
.agents b {
  display: block;
}
.agents small {
  color: var(--color-neutral);
}
/* Aģenta e-pasts zem vārda + kopēšana (30.10.) */
.agents > div {
  min-width: 0;
}
.ag-epasts {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin-top: 0.2rem;
}
.ag-epasts a {
  min-width: 0;
  color: var(--color-ink);
  font-size: 0.9rem;
  text-decoration: none;
  overflow-wrap: anywhere;
  user-select: all;
  border-bottom: 1px solid var(--color-rule);
  transition: border-color var(--dur-2) var(--ease-out);
}
.ag-epasts a:hover {
  border-color: var(--color-accent);
}
.kopet {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--color-neutral);
  cursor: pointer;
  transition:
    background var(--dur-2) var(--ease-out),
    color var(--dur-2) var(--ease-out);
}
.kopet[hidden] {
  display: none;
}
.kopet:hover {
  background: oklch(96% 0.028 80);
  color: var(--color-accent-ink);
}
.kopet:active {
  translate: 0 1px;
}
.kopet svg {
  grid-area: 1 / 1;
  transition:
    opacity var(--dur-2) var(--ease-out),
    scale var(--dur-2) var(--ease-out);
}
.kopet svg + svg,
.kopet.is-ok svg:first-child {
  opacity: 0;
  scale: 0.6;
}
.kopet.is-ok svg + svg {
  opacity: 1;
  scale: 1;
  color: oklch(52% 0.14 150);
}
.cta {
  display: grid;
  gap: var(--space-sm);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.25rem;
  padding: 0 var(--space-lg);
  border-radius: 999px;
  border: 1px solid var(--glass-edge-ink);
  background: var(--color-paper);
  color: var(--color-ink);
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: translate var(--dur-press) var(--ease-out);
}
.btn svg {
  width: 18px;
  height: 18px;
}
.btn:hover {
  border-color: var(--color-accent);
}
.btn:active {
  translate: 0 1px;
}
.btn-p {
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border-color: transparent;
}
.btn-p:hover {
  background: oklch(78% 0.09 80);
  border-color: transparent;
}
.btn-fav[aria-pressed="true"] {
  background: oklch(96% 0.028 80);
  border-color: var(--color-accent);
}
.btn-fav[aria-pressed="true"] svg {
  fill: var(--color-focus);
}
.nr {
  margin: var(--space-md) 0 0;
  font-size: 0.8rem;
  color: var(--color-neutral);
  text-align: center;
}
.pieejams {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: var(--color-neutral);
  margin-top: var(--space-sm);
}
.pieejams::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: oklch(65% 0.15 150);
}

/* Līdzīgie */
.lidzigi {
  margin: var(--space-2xl) 0;
}
.lidzigi h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.25rem;
  margin: 0 0 var(--space-lg);
}
.lidzigi .cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ── 410 «vairs nav aktuāls» ──────────────────────────────────────────── */
.gone {
  padding-block: var(--space-2xl);
  max-width: 60ch;
}
.gone h1 {
  font-size: var(--text-lg);
  margin: 0 0 var(--space-md);
}
.gone p {
  color: var(--color-neutral);
}
.gbtn {
  display: inline-block;
  font-weight: 700;
  background: var(--color-accent);
  color: var(--color-accent-ink);
  text-decoration: none;
  border-radius: 999px;
  padding: var(--space-sm) var(--space-xl);
  margin-top: var(--space-md);
}
.gbtn:hover {
  background: oklch(78% 0.09 80);
}

/* ── Kājene ───────────────────────────────────────────────────────────── */
.foot {
  border-top: 1px solid var(--color-rule);
  margin-top: var(--space-2xl);
  background: var(--color-paper-2);
}
.foot .cols {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-xl);
  max-width: 1360px;
  margin-inline: auto;
  padding: var(--space-xl) clamp(1rem, 4vw, 2.5rem) var(--space-lg);
}
.foot h2 {
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 var(--space-md);
}
.foot ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  /* Atstarpe ir mazāka nekā agrāk, jo pati saite tagad ir 44 px augsta (zemāk):
     8 px sprauga starp 44 px rindām kājeni izstieptu bez iemesla. */
  gap: 0;
}
/* Skāriena laukums (24.09.): kājenes saites bija ≈20 px augstas ar 8 px spraugu —
   telefonā tas ir tievs mērķis starp diviem citiem mērķiem. `min-height` uz
   `inline-flex` padara laukumu 44 px, redzamo tekstu neizmainot. `.fwm` (logo)
   izņemts: tam savs izmērs jau ir, un 44 px tur uzliktu lieku tukšumu. */
.foot a {
  text-decoration: none;
  font-size: var(--text-sm);
  color: var(--color-neutral);
}
.foot a:not(.fwm) {
  display: inline-flex;
  align-items: center;
  min-height: var(--touch);
}
.foot a:hover {
  color: var(--color-focus);
}
.foot .logo {
  display: block;
  height: 1.6rem;
  width: auto;
}
.foot .tag {
  font-size: var(--text-sm);
  color: var(--color-neutral);
  max-width: 34ch;
}
/* Valodu pārslēgs kājenē (24.09.): vienīgā valodu maiņa, kas telefonā strādā bez
   JavaScript — galvenes pārslēgs pie ≤60rem ir paslēpts, un izvēlnes paneli atver
   tikai JS poga. Rinda, ne kolonna, tāpēc `.foot ul` virziens te ir jāpārraksta. */
.kaj-lang {
  max-width: 1360px;
  margin-inline: auto;
  padding: 0 clamp(1rem, 4vw, 2.5rem) var(--space-sm);
}
.kaj-lang ul {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-md);
}
.kaj-lang a[aria-current] {
  color: var(--color-ink);
  font-weight: 700;
}

.foot .apaksa {
  display: flex;
  justify-content: space-between;
  gap: var(--space-md);
  flex-wrap: wrap;
  max-width: 1360px;
  margin-inline: auto;
  padding: var(--space-md) clamp(1rem, 4vw, 2.5rem);
  border-top: 1px solid var(--color-rule);
  font-size: var(--text-sm);
  color: var(--color-neutral);
}

/* ── Skices bloki (14.09.) ────────────────────────────────────────────────
 * Pārnests no design/yokocity-stikls.html (rev 2.0 + 09.09. kustība + 14.09.
 * klienta komentāri). Klases un vērtības 1:1 ar skici; tur, kur skice un šis
 * fails atšķīrās (vadīklu apmales, --touch), paliek šī faila vērtība — tā ir
 * pieejamības audita rezultāts. Galvene paliek lipīga pilnā platumā (nevis
 * peldoša tablete kā skicē) — sk. plāna Task 2. */
:root {
  --glass-edge-ink-2: oklch(30% 0.03 255 / 0.55);
  --scrim: oklch(26% 0.03 255 / 0.34);
  --dur-fade: 300ms;
  /* Fiksētās galvenes aizņemtais augstums: top offset + padding + logotipa
     augstums. Enkuriem (#meklet) un satura sākumam. */
  --header-offset: 6rem;
}
html {
  scroll-padding-top: var(--header-offset);
}
button:disabled,
input:disabled,
select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
/* Saturs zem fiksētās galvenes: pirmā sadaļa (ja tā nav hero) sākas ar atkāpi —
   saraksts, objekts, juridiskie, piedāvā, 410. Hero iet zem tabletes kā skicē. */
#saturs > :first-child:not(.hero) {
  padding-top: calc(var(--header-offset) + var(--space-lg));
}

/* Galvene: pogas un paneļi — viena sistēma abām pogām un visām lapām (09.09.) */
.nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: var(--touch);
  padding: 0 0.95rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  /* «Īpašumi» ir saite, ne poga (28.09.) — bez šī tai pārlūka pasvītrojums. */
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 160ms var(--ease-out),
    color 160ms var(--ease-out),
    border-color 160ms var(--ease-out);
}
.nav-btn svg {
  width: 18px;
  height: 18px;
  flex: none;
}
.nav-btn .chev {
  width: 14px;
  height: 14px;
  margin-left: -0.1rem;
  transition: rotate 240ms var(--ease-out);
}
.nav-btn:hover {
  background: var(--pill-fons);
}
.nav-btn[aria-expanded="true"] {
  background: oklch(99% 0.003 250 / 0.92);
  color: var(--color-focus);
  border-color: var(--glass-edge-ink);
}
.nav-btn[aria-expanded="true"] .chev {
  rotate: 180deg;
}
/* Fokusa gredzens tikai tastatūrai. */
.nav-btn:focus:not(:focus-visible) {
  outline: none;
}
.nav-btn:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
.glink svg {
  flex: none;
}
/* 14.09. klienta komentāri: Juridiskie kreisajā pusē, Pirkt · Īrēt · Piedāvā labajā */
.glink-cta {
  border: 1px solid var(--color-focus);
  border-radius: 999px;
  color: var(--color-focus);
  font-weight: 700;
  padding-inline: var(--space-md);
}
.glink-cta:hover {
  background: var(--color-focus);
  color: #fff;
}
/*
 * Aktīvā galvenes sadaļa — Īpašumi vai Juridiskie — ar tādu pašu pelēko pill fonu kā
 * pogas zem peles, abām vienādu (klienta lūgums 28.09.: «lai ir sajūta, kurā sadaļā
 * esam»). Aizstāj zelta joslu apakšā. Fons ir tinte ar caurspīdību, ne balts: līdz
 * 28.09. hover bija 60 % balts, un baltajā galvenē (saraksti, objekti) to nevarēja
 * redzēt vispār. Juridiskie ir `.glink`, tāpēc tam te tāda pati forma un hover.
 */
:root {
  --pill-fons: oklch(26% 0.03 255 / 0.08);
}
.nav-btn[data-sadala="aktiva"],
.glink-legal[data-sadala="aktiva"],
.glink-legal:hover {
  background: var(--pill-fons);
}
.glink-legal {
  border-radius: 999px;
  padding-inline: 0.95rem;
  transition: background 160ms var(--ease-out);
}
.glink-legal:hover {
  color: inherit;
}
.favbtn {
  display: inline-flex;
  /* Kļuva par saiti (klienta lūgums 17.09.) — bez šī parādās pasvītrojums. */
  text-decoration: none;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--touch);
  min-width: var(--touch);
  justify-content: center;
  padding-inline: var(--space-sm);
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.favbtn:hover {
  color: var(--color-focus);
}
.fcount[hidden] {
  display: none;
}
.fcount {
  display: inline-grid;
  place-items: center;
  min-width: 1.35rem;
  height: 1.35rem;
  padding-inline: 0.3rem;
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.mega {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  padding: 0 var(--space-xs);
  border-top: 1px solid transparent;
  transition:
    grid-template-rows 300ms var(--ease-out),
    opacity 220ms var(--ease-out),
    margin 300ms var(--ease-out),
    padding 300ms var(--ease-out),
    border-color 300ms;
}
.mega[hidden] {
  display: none;
}
.mega.is-in {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-xs);
  border-top-color: var(--glass-edge-ink);
}
.mega-in {
  min-height: 0;
  overflow: hidden;
}
.mega-tabs {
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
}
.mega-tabs button {
  min-height: var(--touch);
  padding: 0 var(--space-md);
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--color-neutral);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 160ms,
    color 160ms;
}
.mega-tabs button[aria-selected="true"] {
  background: var(--color-paper);
  color: var(--color-ink);
  box-shadow: inset 0 0 0 1px var(--glass-edge-ink);
}
.mega-tabs button:focus:not(:focus-visible) {
  outline: none;
}
/*
 * Izvēlne un «Īpašumi» — flīzes (Arinas lūgums 30.09.: «kā bija pirms tam, tikai nedaudz
 * mazāki burti un smalkāk»). 30.09. no rīta tās uz dažām stundām bija pill josla; atpakaļ
 * pie flīzēm, bet 44 px augstas (bija 56), teksts 14 px / 500 (bija 600), ikonas 18 px.
 */
.mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-sm);
}
.mega-grid[hidden] {
  display: none;
}
.mega-tile {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: var(--touch);
  padding: var(--space-xs) var(--space-md);
  border: 1px solid var(--glass-edge-ink);
  border-radius: 0.875rem;
  background: var(--stikls-flize);
  color: var(--color-ink);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  opacity: 0;
  translate: 0 8px;
  transition:
    opacity 260ms var(--ease-out),
    translate 260ms var(--ease-out),
    border-color 160ms,
    background 160ms,
    scale 120ms;
}
.mega.is-in .mega-tile {
  opacity: 1;
  translate: 0 0;
  transition-delay:
    calc(var(--i, 0) * 35ms + 80ms),
    calc(var(--i, 0) * 35ms + 80ms),
    0s,
    0s,
    0s;
}
.mega-tile svg {
  width: 18px;
  height: 18px;
  flex: none;
  color: var(--color-focus);
}
.mega-tile small {
  display: block;
  font-weight: 500;
  font-size: 0.75rem;
  color: var(--color-neutral);
}
.mega-tile:hover {
  border-color: var(--color-accent);
  background: var(--stikls-flize-hover);
}
.mega-tile:active {
  scale: 0.98;
}
.mega-tile[aria-current] {
  border-color: var(--color-accent);
  color: var(--color-focus);
}
.mega-tile[aria-disabled="true"] {
  color: var(--color-neutral);
  cursor: default;
}
.mega-tile:focus:not(:focus-visible) {
  outline: none;
}
.mega-lang {
  display: none;
  margin-top: var(--space-sm);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mega-soon {
  padding: var(--space-md);
  border-radius: 1rem;
  background: var(--stikls-flize);
  border: 1px solid var(--glass-edge-ink);
  max-width: 48ch;
}
.mega-soon[hidden] {
  display: none;
}
.mega-soon p {
  margin: 0 0 var(--space-sm);
  line-height: 1.5;
}
.mega-soon a {
  color: var(--color-focus);
  font-weight: 600;
}

/* Kompaktā filtru rinda galvenē — parādās, kad meklētājs aizritināts */
.gnav-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--glass-edge-ink);
}
.gnav-filters[hidden] {
  display: none;
}
/* 2,25rem (36 px) bija zem projekta 44 px robežas — un tieši šie čipi ir vienīgā
   filtru vadīkla, kas paliek redzama, kad meklētājs ir aizritināts. */
.chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-height: var(--touch);
  padding-inline: var(--space-md);
  border: 1px solid var(--glass-edge-ink);
  border-radius: 999px;
  background: oklch(99% 0.003 250 / 0.62);
  color: var(--color-ink);
  text-decoration: none;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition:
    background var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out);
}
.chip[hidden] {
  display: none;
}
.chip:hover {
  border-color: var(--color-accent);
}
.chip.on:hover {
  background: oklch(34% 0.03 255);
}
.chip.on {
  background: var(--color-ink);
  color: var(--color-paper);
  border-color: var(--color-ink);
  font-weight: 700;
}
.chip-go {
  margin-left: auto;
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border-color: var(--color-accent);
  font-weight: 700;
}
.chip-sell {
  border-color: var(--color-focus);
  color: var(--color-focus);
  font-weight: 700;
}

/* Slaideris */
.hero {
  position: relative;
  /* Atpakaļ uz sākotnējo augstumu (20.10., Viestura lēmums, līguma 6.25): 28.09. tas bija
     +25 % un meklētājs iebrauca bildē par ~30 % ekrāna, tāpēc bildi nevarēja redzēt visu. */
  height: clamp(28rem, 58svh, 40rem);
  overflow: clip;
  touch-action: pan-y pinch-zoom;
  background: var(--color-ink);
}
.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 700ms var(--ease-out);
}
.slide.on {
  opacity: 1;
}
/* Scrim tekstam: balts virsraksts uz gaiša jumta bija uz 4.5:1 robežas. Gradients
   tumšo tikai apakšējo trešdaļu, kur stāv teksts; foto augšā paliek tīrs. */
.slide::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, oklch(26% 0.03 255 / 0) 35%, oklch(26% 0.03 255 / 0.55) 100%);
}
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1);
  will-change: transform;
}
.slide.on img {
  animation: drift 9s linear forwards;
}
@keyframes drift {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.05);
  }
}
.hero .veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    oklch(98% 0.004 250 / 0.18) 0%,
    transparent 24%,
    transparent 52%,
    var(--scrim) 100%
  );
}
.hero .copy {
  position: absolute;
  left: 0;
  right: 0;
  /* 21.10. zemāk (bija clamp(8rem, 17svh, 11rem), Viestura lūgums): virsraksts tuvāk
     bildes apakšai, bet virs meklētāja cilnēm (tās iebrauc bildē ≤ 4 rem). */
  bottom: clamp(5.5rem, 12svh, 7.5rem);
  z-index: 5;
  color: oklch(99% 0.003 250);
}
/* Hero virsraksts atkal REDZAMS (20.10., Viestura lēmums, līguma 6.25). 22.09. tas tika
   paslēpts, bet toreiz bildei bija arī paraksta čips, un 390 px abi kopā apēda pusi
   ekrāna; čipa vairs nav (24.09.), tāpēc virsraksts stāv viens. */
.hero h1 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  /* Skices «stikls» (15.09.) burtveidols, 21.10. ~15 % mazāks (bija clamp(2rem, 3.4vw +
     0.8rem, 3.8rem), Viestura lūgums) — joprojām lielāks par lapas `--text-display`. */
  font-size: clamp(1.85rem, 2.9vw + 0.7rem, 3.2rem);
  /* Rindas pārnesums no teksta (noklusējumā «… īpašumi / Rīgā …», CRM laukā — Enter). */
  white-space: pre-line;
  line-height: 1.16;
  margin: 0 0 var(--space-md);
  max-width: 22ch;
  text-shadow: 0 2px 24px oklch(26% 0.03 255 / 0.35);
}
/* Hero ielādē: teksts paceļas */
.hero .copy > * {
  opacity: 0;
  translate: 0 14px;
  animation: rise 640ms var(--ease-out) forwards;
}
.hero .copy > :nth-child(2) {
  animation-delay: 90ms;
}
.hero .copy > :nth-child(3) {
  animation-delay: 180ms;
}
@keyframes rise {
  to {
    opacity: 1;
    translate: 0 0;
  }
}
/* Stikla meklētājs: pēc hero tas pārklāj tikai bildes apakšmalu (cilnes, ≤ 4 rem), lai
   bildi redz visu (20.10., atpakaļ uz to, kā bija līdz 28.09.); bez hero (saraksts) —
   parasta josla ar atkāpi. ≤ 60 rem to atceļ. */
.hero + .search {
  margin-top: clamp(-4rem, -5vw, -2.5rem);
  padding-top: 0;
}
.search {
  position: relative;
  z-index: 10;
  /* G3: galvene ir `position: fixed` un 78 px augsta. Saraksta lapā meklētājs stāv
     lapas augšā, un atkāpi jau dod `.search` iekšējais `padding` (nomērīts 22.09. —
     cilnes ir y=120, zem galvenes tās nenonāk). Šī rinda ir SĀKUMLAPAI un jebkurai
     nākamai lapai ar hero, kur `#meklet` tiešām ritina: bez tās lēciens noliktu
     cilnes tieši zem galvenes. `--header-offset` (6 rem) ir tas pats skaitlis, ko
     lieto pārējie fiksētās galvenes labojumi. */
  scroll-margin-top: var(--header-offset);
}
.searchcard {
  position: relative;
}
.search .panel {
  border-radius: 0 1.5rem 1.5rem 1.5rem;
  box-shadow:
    inset 0 0 0 1px var(--glass-edge),
    0 20px 60px oklch(26% 0.03 255 / 0.22);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.seg {
  width: max-content;
  max-width: 100%;
  margin-bottom: 0;
}
.seg a,
.seg button {
  position: relative;
  z-index: 2;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: 2.9rem;
  display: inline-flex;
  align-items: center;
  padding: 0 clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid var(--glass-edge-ink);
  border-bottom: 0;
  border-radius: 1rem 1rem 0 0;
  background: oklch(99% 0.003 250 / 0.34);
  backdrop-filter: blur(14px) saturate(1.3);
  -webkit-backdrop-filter: blur(14px) saturate(1.3);
  color: var(--color-neutral);
  cursor: pointer;
  transition:
    background var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
}
.seg a:hover,
.seg button:hover {
  color: var(--color-ink);
}
.seg a[aria-current],
.seg button[aria-pressed="true"] {
  z-index: 2;
  background: var(--glass-panel);
  color: var(--color-ink);
  box-shadow: 0 2px 0 var(--color-accent) inset;
}
.zone {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  padding-block: var(--space-md);
}
.zone + .zone {
  border-top: 1px solid var(--color-rule);
}
.zlabel {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--color-neutral);
  white-space: nowrap;
  min-width: 7.5rem;
}
/* Tipu un vietu flīzes (pēc klienta skices v2) */
.tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-sm);
}
.tiles-loc {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tile {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: 3.75rem;
  min-width: 0;
  padding: var(--space-md);
  border: 1px solid var(--glass-edge);
  border-radius: 1rem;
  background: oklch(99% 0.003 250 / 0.72);
  color: var(--color-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    border-color var(--dur-1) var(--ease-out),
    background var(--dur-1) var(--ease-out);
}
.tile:hover {
  border-color: var(--color-accent);
  background: oklch(99% 0.003 250 / 0.92);
}
.tile[aria-pressed="true"] {
  background: oklch(96% 0.028 80 / 0.92);
  border-color: var(--color-accent);
  box-shadow: 0 0 0 1px var(--color-accent) inset;
}
.tile[aria-pressed="true"] .tn {
  color: var(--color-accent-ink);
}
.tile svg {
  flex: 0 0 auto;
}
.tile .tl {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.tile .tn {
  font-weight: 700;
  font-size: var(--text-base);
}
.tile .ts {
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-neutral);
  white-space: normal;
}
/* Teksts neplūst pāri malai — nowrap bija 360–430 px lūzuma cēlonis */
.tile .tn,
.f label {
  white-space: normal;
  overflow-wrap: anywhere;
}
.tiles-more {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: var(--touch);
  padding: 0 var(--space-sm);
  border: 0;
  background: transparent;
  color: var(--color-focus);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.tiles-more:hover {
  color: var(--color-ink);
}
/* Saraksta filtru josla: 4 kolonnas — tips · rajons · istabas · PARĀDĪT /
   cena no · cena līdz · platība no · platība līdz. */
.fields-diapazoni {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
/* Skaitļu lauki filtru joslā — tā pati apmale, kas `.f select` (WCAG 1.4.11). */
.f input {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-ink);
  background: var(--color-control-bg);
  border: 1px solid var(--color-control-edge);
  border-radius: 999px; /* pill kā čipiem (Arinas labojumi 28.09.) */
  padding: 0 var(--space-md);
  width: 100%;
  height: 3.25rem;
}
.f input:hover {
  border-color: var(--color-focus);
}
.panel-foot .acts {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-left: auto;
  flex-wrap: wrap;
}
.chk {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  min-height: var(--touch);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}
.chk input {
  width: 1.15rem;
  height: 1.15rem;
  accent-color: var(--color-focus);
  flex: 0 0 auto;
}
.sellcta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-base);
  background: oklch(99% 0.003 250 / 0.88);
  color: var(--color-ink);
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  min-height: 3.25rem;
  padding: var(--space-sm) var(--space-xl);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
}
.sellcta:hover {
  border-color: var(--color-accent);
  color: var(--color-focus);
}
.go {
  white-space: nowrap;
}
.go:hover {
  translate: 0 -1px;
  box-shadow: 0 10px 24px oklch(72% 0.09 80 / 0.35);
}

/* Zem hero */
.hang {
  margin-bottom: var(--space-xl);
}
.tlink {
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  color: var(--color-focus);
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: 2px;
}
.tlink:hover {
  border-color: var(--color-focus);
}
.tlink:active {
  opacity: 0.8;
}

/* Pakalpojumu josla 01–04 */
.values {
  border-bottom: 1px solid var(--color-rule);
}
.values .wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-xl);
  padding-block: var(--space-2xl);
}
.val {
  display: block;
  text-decoration: none;
  border-top: 2px solid var(--color-rule);
  padding-top: var(--space-md);
  transition: border-color var(--dur-1) var(--ease-out);
}
.val:hover {
  border-top-color: var(--color-accent);
}
.val:hover h3 {
  color: var(--color-focus);
}
.val-feature {
  border-top-color: var(--color-accent);
}
.val .k {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-focus);
  margin-bottom: var(--space-sm);
  font-variant-numeric: tabular-nums;
}
.val h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-md);
  margin: 0 0 var(--space-xs);
}
.val p {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--color-neutral);
  max-width: 36ch;
}
.val .more {
  display: inline-block;
  margin-top: var(--space-md);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--color-focus);
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: 2px;
}

/* Juridiskie pakalpojumi */
.legal {
  padding-block: var(--space-2xl);
}
.legal .grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-2xl);
  align-items: start;
}
.legal .k {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-focus);
  margin-bottom: var(--space-sm);
}
.legal h1,
.sell h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-lg);
  line-height: 1.25;
  margin: 0 0 var(--space-md);
}
.legal .grid > div > p {
  margin: 0 0 var(--space-lg);
  color: var(--color-neutral);
  max-width: 46ch;
}
.legal ol {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: n;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}
.legal li {
  counter-increment: n;
  background: oklch(99% 0.003 250 / 0.7);
  border: 1px solid var(--color-rule);
  border-radius: 1rem;
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-sm);
  line-height: 1.5;
}
.legal li::before {
  content: counter(n, decimal-leading-zero);
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--color-focus);
  font-variant-numeric: tabular-nums;
  margin-bottom: var(--space-xs);
}
.legal li:last-child {
  grid-column: 1 / -1;
}

/* Juridiskie: izvēršamās kartītes (`<details>`). Kartīte ir tā pati `.legal li`,
   bet polsterējums ir uz `<summary>`, lai visa kartīte ir klikšķināma; numurs
   pārceļas uz `<summary>`, bultiņa labajā augšējā stūrī. */
.legal-virzieni {
  align-items: start;
}
.legal .legal-virzieni li {
  padding: 0;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.legal .legal-virzieni li::before {
  content: none;
}
.legal .legal-virzieni li:has(details[open]) {
  border-color: var(--color-accent);
  background: oklch(99% 0.003 250 / 0.92);
}
.legal-virzieni details {
  scroll-margin-top: 6rem;
}
.legal-virzieni summary {
  position: relative;
  display: block;
  list-style: none;
  cursor: pointer;
  padding: var(--space-md) calc(var(--space-lg) + 1.75rem) var(--space-md) var(--space-lg);
  border-radius: 1rem;
}
.legal-virzieni summary::-webkit-details-marker {
  display: none;
}
.legal-virzieni summary::before {
  content: counter(n, decimal-leading-zero);
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--color-focus);
  font-variant-numeric: tabular-nums;
  margin-bottom: var(--space-xs);
}
.legal-virzieni summary::after {
  content: "";
  position: absolute;
  top: calc(var(--space-md) + 0.35rem);
  right: var(--space-lg);
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid var(--color-focus);
  border-bottom: 2px solid var(--color-focus);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.legal-virzieni details[open] > summary::after {
  transform: translateY(0.2rem) rotate(-135deg);
}
.legal-virzieni summary:hover {
  color: var(--color-focus);
}
.legal-virzieni summary:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
.legal-apraksts {
  padding: 0 var(--space-lg) var(--space-md);
  color: var(--color-neutral);
}
.legal-apraksts p {
  margin: 0 0 var(--space-sm);
}
.legal-apraksts p:last-child {
  margin-bottom: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .legal-virzieni details[open] .legal-apraksts {
    animation: legal-atveras 0.25s ease;
  }
}
@keyframes legal-atveras {
  from {
    opacity: 0;
    transform: translateY(-0.25rem);
  }
}

/* Kontakti — tas pats `.legal` izkārtojums; labajā kolonnā kontaktu kartītes */
.kontakti-kartes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}
.kontakti-kartes li {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  background: oklch(99% 0.003 250 / 0.7);
  border: 1px solid var(--color-rule);
  border-radius: 1rem;
  padding: var(--space-md) var(--space-lg);
  font-size: var(--text-sm);
  line-height: 1.5;
}
/* `.legal li` numurs un pēdējās kartītes pilnais platums te nav vajadzīgi. */
.legal .kontakti-kartes li::before {
  content: none;
}
.legal .kontakti-kartes li:last-child {
  grid-column: auto;
}
.kontakti-kartes p {
  margin: 0;
  color: var(--color-neutral);
}
.kontakti-k {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-focus);
}
.kontakti-k svg {
  width: 1rem;
  height: 1rem;
}
.kontakti-liels {
  /* Vairāki tālruņi (30.09.) — katrs savā rindā. */
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 1.3;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.kontakti-liels:hover,
.kontakti-saite:hover {
  color: var(--color-focus);
}
.kontakti-saite {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--color-accent);
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
@media (max-width: 60rem) {
  .kontakti-kartes {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Kontakti → «Komanda» (11.11.): bilde 4:5 un kontakti blakus */
.komanda {
  margin-top: var(--space-xl);
}
.komanda h2 {
  font-family: var(--font-display);
  font-size: var(--text-md);
  margin: 0 0 var(--space-md);
}
.komanda ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}
.komanda li {
  display: grid;
  grid-template-columns: minmax(7rem, 11rem) minmax(0, 1fr);
  gap: var(--space-md);
  align-items: center;
  background: oklch(99% 0.003 250 / 0.7);
  border: 1px solid var(--color-rule);
  border-radius: 1rem;
  padding: var(--space-md);
  font-size: var(--text-sm);
  line-height: 1.5;
}
/* `.legal li` numurs un pēdējās kartītes pilnais platums te nav vajadzīgi. */
.legal .komanda li::before {
  content: none;
}
.legal .komanda li:last-child {
  grid-column: auto;
}
.komanda .kontakti-liels {
  white-space: nowrap;
  overflow-wrap: normal;
}
.komanda img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 0.75rem;
}
.komanda li > div {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.komanda h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-md);
  line-height: 1.25;
}
.komanda-amats {
  margin: 0 0 var(--space-xs);
  color: var(--color-neutral);
}
@media (max-width: 60rem) {
  .komanda ul {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 40rem) {
  .komanda li {
    grid-template-columns: 6.5rem minmax(0, 1fr);
    align-items: start;
  }
  .komanda h3,
  .komanda .kontakti-liels {
    font-size: 1.05rem;
  }
}

/* Par mums — tas pats `.legal` izkārtojums, bet garāks ievads un izcēlumi apakšā */
.par-mums h1 {
  font-size: var(--text-md);
  line-height: 1.35;
}
.par-mums .grid > div > p.pec-saraksta {
  margin: var(--space-lg) 0 0;
  max-width: none;
}
.par-mums ol li:last-child {
  grid-column: auto;
}
.par-mums .izcelumi {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-2xl);
}
.par-mums .izcelums {
  margin: 0;
  padding: var(--space-lg);
  border-radius: 1rem;
  background: var(--color-paper-2);
  border: 1px solid var(--color-rule);
  line-height: 1.6;
}
.par-mums .izcelums-svarigi {
  border-color: var(--color-accent);
}
.par-mums .izcelums strong {
  color: var(--color-focus);
}
@media (max-width: 60rem) {
  .par-mums .izcelumi {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Piedāvā savu īpašumu — solid, nevis stikls */
.sell {
  padding-block: var(--space-2xl);
  border-bottom: 1px solid var(--color-rule);
}
.sell .lede {
  margin: 0 0 var(--space-lg);
  color: var(--color-neutral);
  max-width: 56ch;
}
.sellform {
  background: var(--color-paper-2);
  border: 1px solid var(--color-rule);
  border-radius: 1.5rem;
  padding: var(--space-lg);
}
.steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}
.step {
  display: grid;
  gap: var(--space-md);
  background: var(--color-paper);
  border: 1px solid var(--color-rule);
  border-radius: 1.25rem;
  padding: var(--space-lg);
}
.step h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-md);
  margin: 0;
}
.step h2 b {
  color: var(--color-focus);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.stepgap {
  align-self: center;
  display: grid;
  place-items: center;
  width: var(--touch);
  height: var(--touch);
  border: 1px solid var(--color-rule);
  border-radius: 50%;
  background: var(--color-paper);
  color: var(--color-focus);
}
.sfields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}
.f-land {
  grid-column: 1 / -1;
}
.f-land[hidden] {
  display: none;
}
.sflow {
  margin: var(--space-lg) 0 0;
  text-align: center;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-neutral);
}
.sflow b {
  color: var(--color-focus);
  font-weight: 700;
}
.upl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-xs);
  min-height: 5.75rem;
  padding: var(--space-md);
  border: 1px dashed var(--color-control-edge);
  border-radius: 0.9rem;
  background: oklch(99% 0.003 250 / 0.7);
  color: var(--color-ink);
  font: inherit;
  font-weight: 700;
  text-align: left;
  white-space: normal;
  cursor: pointer;
}
.upl > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
}
.upl > span + span {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--color-neutral);
}
.upl:disabled {
  opacity: 1;
  cursor: default;
}
.upl:hover {
  border-color: var(--color-accent);
  color: var(--color-focus);
}
.sellform textarea {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-ink);
  background: var(--color-control-bg);
  border: 1px solid var(--color-control-edge);
  border-radius: 0.9rem;
  padding: var(--space-md);
  width: 100%;
  min-height: 5.75rem;
  resize: vertical;
  line-height: 1.6;
}
.sfoot {
  display: grid;
  gap: var(--space-md);
}
.req {
  color: var(--color-focus);
}
.opt {
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-neutral);
}

/* Kājene — četras kolonnas (skice) */
.foot .cols {
  grid-template-columns: 2fr 1fr 1fr 1fr;
  padding-top: var(--space-2xl);
}
.foot .fwm {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--color-ink);
}
.foot .fwm .logo {
  /* ~15rem plats (20.10.: logo bez simbola, viewBox 756×146). */
  height: 2.9rem;
  max-width: 100%;
}
.foot .tag {
  margin: var(--space-sm) 0 var(--space-md);
}
/* Neaktīvā kājenes saite (lapa vēl nav publicēta).

   `opacity: 0.7` te bija līdz 24.09. Tas ir tas pats, kas `.f label` augstāk:
   tinte caur caurspīdīgumu vairs nav tinte. Izmērīts pārlūkā — `--color-neutral`
   (rgb 83,89,97) ar 0,7 uz kājenes virsmas `--color-paper-2` (rgb 232,235,239)
   dod rgb(128,133,140) un **3,12:1** pie 12,8 px. Robeža ir 4,5:1.

   Caurspīdīgums ir NOŅEMTS, ne samazināts: pilna `--color-neutral` uz šīs virsmas
   ir 5,91:1, tātad viss ceļš no 5,91 līdz 4,5 ir aptuveni `opacity: 0.9` — nobālums,
   ko acs tik tikko pamana, bet kas robežu jau skar. Pusceļa te nav.

   Neaktivitāti tāpēc nes nevis bālāka krāsa, bet `aria-disabled` (ekrānlasītājam),
   `cursor: default` un tas, ka saite NEREAĢĒ uz kursoru — tā pati izvēle, kas
   `.mega-tile[aria-disabled="true"]`, kur caurspīdīguma nekad nav bijis. */
.foot a[aria-disabled="true"] {
  color: var(--color-neutral);
  cursor: default;
}
/* `.foot a:hover` sola saiti, kuras nav; neaktīvā paliek tāda pati. */
.foot a[aria-disabled="true"]:hover {
  color: var(--color-neutral);
}

/* Kustība (09.09.) — apzināta, ne izgriezta. Tikai transform/opacity. */
.reveal {
  opacity: 0;
  translate: 0 18px;
  transition:
    opacity 560ms var(--ease-out),
    translate 560ms var(--ease-out);
  transition-delay: calc(var(--i, 0) * 70ms);
}
.reveal.is-in {
  opacity: 1;
  translate: 0 0;
}
.go,
.chip,
.tile,
.seg button,
.favbtn,
.btn,
.mega-tile,
.mz-all,
.lb-nav,
.lb-x {
  transition-property: translate, scale, background, border-color, color, box-shadow;
  transition-duration: 160ms;
  transition-timing-function: var(--ease-out);
}
.go:active,
.chip:active,
.tile:active,
.seg button:active,
.sellcta:active,
.btn:active,
.mega-tile:active {
  scale: 0.97;
}
.favbtn:active,
.lb-nav:active,
.lb-x:active {
  scale: 0.92;
}
.btn-fav[aria-pressed="true"] svg {
  animation: fav-pop 360ms var(--ease-out);
}
@keyframes fav-pop {
  0% {
    scale: 1;
  }
  40% {
    scale: 1.3;
  }
  100% {
    scale: 1;
  }
}

@media (max-width: 60rem) {
  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Objekta lapa (skice 14.09.) */
  .mozaika {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 3fr 1fr;
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .mz-hero {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .mz:nth-child(n + 4) {
    display: none;
  }
  .obj-cols {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  /* UX-04: cenai un saziņai (`.obj-side`) jābūt redzamai uzreiz pēc virsraksta
     un galvenajiem faktiem, ne pēc visas apraksta/parametru kolonnas.
     `.obj-main` kļūst par `display: contents`, tāpēc tā tiešie bērni (veids,
     h1, adrese, fakti, apraksts, parametri) un `.obj-side` visi ir viena grid
     konteinera `.obj-cols` tiešie elementi — `order` tos pārkārto vizuāli.
     DOM secība un pieejamības koks nemainās (nav ne jaunu elementu, ne
     dublikātu), tāpēc arī rite-in animācijas grupējums (publiska.js, kas
     iterē `.obj-main` bērnus) paliek tāds pats. Desktopā (>60rem) šis bloks
     nepiemērojas — divu kolonnu izkārtojums paliek nemainīgs. */
  .obj-main {
    display: contents;
  }
  .obj-main > .veids,
  .obj-main > h1,
  .obj-main > .addr {
    order: 1;
  }
  .obj-main > .fakti {
    order: 2;
  }
  .obj-side {
    position: static;
    order: 3;
    margin-bottom: var(--space-2xl);
  }
  .obj-main > .apraksts {
    order: 4;
  }
  .obj-main > .parametri {
    order: 5;
  }
  .parametri dl {
    grid-template-columns: minmax(0, 1fr);
  }
  .lidzigi .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .foot .cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gnav-side .glink span {
    display: none;
  }
  /* Skices bloki (14.09.) */
  .gnav {
    padding: var(--space-sm) var(--space-md);
  }
  .nav-btn span {
    display: none;
  }
  /* Mobilajā: Pirkt/Īrēt ir hero; valoda ir Izvēlnes panelī.
     ⚖ PALIEK (22.09.): kopš B7 izvēlnē ir tikai piecas saites un juridisko
     pakalpojumu starp tām nav, tāpēc ikonas paslēpšana tos padarītu nesasniedzamus.
     Vieta tam ir — B4 no galvenes izņēma «Piedāvā savu īpašumu» pogu. */
  .glink-deal,
  .gnav-end .lang {
    display: none;
  }
  /* Valodas šeit ir izvēlnē — ♡ paliek viens, atdalītājs tam nav vajadzīgs. */
  .gnav-rikki {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
  .glink-cta {
    padding-inline: var(--space-sm);
  }
  .mega-lang {
    display: grid;
  }
  /* Skicē panelis ir `position:fixed; bottom:0`, bet `.gnav` backdrop-filter
     veido containing block fiksētiem pēctečiem, un skicē pie 400 px panelis
     aiziet aiz ekrāna augšmalas (izmērīts masteiko.com: top −399 px). Tāpēc
     šeit panelis atveras kā kartīte tieši ZEM tabletes — tā pati vieta, kur
     pirksts jau ir. */
  /* Plūsmā, tabletes iekšpusē — fons un izpludinājums nāk no `.gnav`.
     Ritinājums sēž uz `.mega-in`, ne uz `.mega`: `.mega` ir režģis, kas atvēršanā
     aug no `0fr` uz `1fr`, un `max-height` uz tā šo animāciju nogrieztu. */
  .mega.is-in {
    padding: var(--space-sm) 0 max(var(--space-sm), env(safe-area-inset-bottom));
  }
  .mega-in {
    max-height: calc(100svh - 11rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .mega-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gnav-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .gnav-filters::-webkit-scrollbar {
    display: none;
  }
  .chip-go {
    margin-left: var(--space-sm);
  }
  .gnav-filters {
    margin-top: var(--space-xs);
    padding-top: var(--space-xs);
  }
  .hero {
    height: clamp(20rem, 44svh, 26rem); /* atpakaļ bez +25 % (20.10.) */
    min-height: 0;
  }
  .hero .copy {
    bottom: var(--space-xl);
  }
  .hero h1 {
    font-size: var(--text-md);
    max-width: 16ch;
    margin-bottom: 0;
  }
  .hero + .search {
    margin-top: var(--space-lg);
  }
  .search .panel {
    gap: var(--space-sm);
    border-radius: 1.25rem;
    padding: var(--space-sm);
  }
  .fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
  }
  .fields-diapazoni {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tiles,
  .tiles-loc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
  }
  .zone {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
    padding-block: var(--space-md);
  }
  .zlabel {
    min-width: 0;
  }
  .seg {
    width: 100%;
    margin-left: 0;
  }
  .tile {
    min-height: 3.5rem;
    padding: var(--space-sm);
    gap: var(--space-sm);
  }
  .tile .ts {
    display: none;
  }
  .seg a,
  .seg button {
    flex: 1;
    justify-content: center;
    padding-inline: var(--space-md);
    font-size: 0.78rem;
  }
  .panel-foot {
    align-items: stretch;
    flex-direction: column;
  }
  .panel-foot .acts {
    margin-left: 0;
    flex-direction: column;
    align-items: stretch;
  }
  .go,
  .sellcta {
    width: 100%;
    justify-content: center;
  }
  .values .wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
  }
  .legal .grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .legal ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .steps {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }
  .stepgap {
    transform: rotate(90deg);
    justify-self: center;
  }
  .sfields {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  /* 768 px: filtru laukus kraujam, nevis spiežam trīs blakus (skice 09.09.);
     diapazonu josla paliek divās kolonnās, jo «no» un «līdz» ir pāris. */
  .fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .fields-diapazoni {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .cards {
    grid-template-columns: minmax(0, 1fr);
  }
  .fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .fields-diapazoni {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Objekta lapa (skice 14.09.) */
  .mozaika {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    aspect-ratio: 4 / 3;
  }
  .mz:nth-child(n + 2) {
    display: none;
  }
  .mz-hero {
    border-radius: 1.25rem;
  }
  .lidzigi .cards {
    grid-template-columns: minmax(0, 1fr);
  }
  .cena strong {
    font-size: 1.75rem;
  }
  .foot .cols {
    grid-template-columns: minmax(0, 1fr);
  }
  /* Skices bloki (14.09.) */
  .values .wrap {
    grid-template-columns: minmax(0, 1fr);
  }
  .hero {
    height: clamp(17rem, 38svh, 21rem); /* atpakaļ bez +25 % (20.10.) */
  }
  .hero h1 {
    font-size: var(--text-base);
    line-height: 1.3;
  }
}

@media (max-width: 25rem) {
  /* 400 px: tipu un vietu flīzes vienā kolonnā; logotips mazāks (skice 09.09.).
     Skicē pie 400 px logotips (2.75rem) pārklāj «Īpašumi» pogu — tablete ir
     368 px, un abas puses + logo tajā neietilpst. Tāpēc šeit: šaurāka tabletes
     atkāpe, pogu atkāpes un logo 2.5rem — tad viss ietilpst bez pārklāšanās. */
  .tiles,
  .tiles-loc {
    grid-template-columns: minmax(0, 1fr);
  }
  .gnav {
    padding-inline: var(--space-sm);
  }
  .nav-btn {
    padding: 0 0.6rem;
  }
  .gnav .wm .logo {
    height: 1.85rem; /* ~9.6rem plats — tikpat, cik vecais 2.5rem logo ar simbolu */
  }
}

@media (prefers-reduced-motion: reduce) {
  .card .ph img {
    transition: none;
  }
  /* Objekta lapa (skice 14.09.) */
  .mz {
    animation: none;
  }
  .lb,
  .lb::backdrop,
  .karte {
    transition: none;
  }
  /* Skices bloki (14.09.) */
  .slide {
    transition: opacity 150ms linear;
  }
  .slide.on img {
    animation: none;
  }
  .hero .copy > * {
    animation: none;
    opacity: 1;
    translate: none;
  }
  .reveal {
    opacity: 1;
    translate: none;
    transition: none;
  }
  .go,
  .mega,
  .mega-tile,
  .nav-btn .chev {
    transition: none;
  }
  .go:hover {
    translate: none;
  }
}

/* ══ UI labojumu kārta un audits (15.09.) ═══════════════════════════════════
   Pasūtītāja apskates punkti 1–9 un audita atradumi. Bloki ir šeit vienkopus,
   lai diff pret 14.09. skici ir viegli lasāms; katrs pārraksta iepriekšējo
   noteikumu ar tādu pašu specifiskumu (uzvar vēlākais). */
:root {
  /* Zelts TEKSTAM uz stikla virs tumša foto: `--color-focus` (55 %) uz 90 % balta
     virs melna dod 4,4:1; 50 % dod ≥5,4:1 arī uz pilnīgi melna. Uz balta 6,1:1. */
  --color-focus-ink: oklch(50% 0.12 80);
  --tint-accent: oklch(96% 0.028 80);
}

/* 5 · Galvene un izvēlne: īsts stikls ar gaišuma kompresiju (klienta 20.09.
   komentārs «neviss balts, bet caurspīdīgs — kā Apple stilē»).

   Kāpēc te agrāk bija 90 % balts. Sākotnējā skice deva 20 % tinta + blur, un uz
   tumša hero foto teksts kļuva nesalasāms. Toreizējais risinājums bija uzliet
   tintu līdz 90 % — kontrasts atrisinājās, bet stikls pazuda: panelis ir balta
   plāksne arī uz raiba fona. Klients pamatoti to pamanīja.

   Pareizais paņēmiens (tas, ko dara Apple «Liquid Glass» un ko 2026. gadā var
   tieši pateikt CSS): fonu nevis aizklāj, bet **saspiež gaišuma diapazonu** jau
   `backdrop-filter` iekšienē, pirms tinta:

     contrast(0.36)   — velk visus pikseļus pret vidējo pelēko: pazūd galējības,
                        paliek forma un tekstūra.
     brightness(1.55) — saspiesto joslu paceļ uz gaišo pusi.
     saturate(1.9)    — pēc kompresijas atdod krāsu. Tieši krāsa (sarkana siena
                        paliek sārta) liek acij nolasīt «stikls», ne «krāsots».
     tinta 32 %       — tikai pieskaņa, ne pārklājums. Bija 90 %.

   Skaitļi NAV aplēse: `scripts/stikls-kontrasts.mjs` uzliek paneli uz četriem
   foniem (papīrs, gaišs foto, tumšs foto un melns/sarkans/zils svītrojums kā
   sliktākais gadījums), nofotografē un nomēra 5. procentiles pikseli zem teksta.
   Tinte uz kailā stikla: 11,7 / 7,0 / 4,8 / 5,8:1; uz flīzes ≥6,9:1. Sliktākais
   ir 4,84:1, t.i. WCAG AA (4,5:1) ar nelielu rezervi. Mainot šos trīs skaitļus,
   skriptu palaid no jauna — modelis uz papīra rādīja par 1,2:1 labāk, nekā ir.

   Ko apzināti NEDARĀM: SVG displacement refrakcija (`backdrop-filter: url(#…)`)
   strādā tikai Chromium un maksā vienu papildu slāni katrā kadrā — fiksētai
   galvenei, kas pārzīmējas visā ritināšanā, tas telefonā nav tā vērts. */
.gnav {
  background: var(--stikls-tints);
  backdrop-filter: var(--stikls-filtrs);
  -webkit-backdrop-filter: var(--stikls-filtrs);
  color: var(--color-ink);
  /* Virsotnes atspulgs augšā un vājāks apakšā — tas, kas liek malai izskatīties
     pēc lēcas šķautnes, nevis pēc rāmja. */
  box-shadow:
    inset 0 1px 0 oklch(100% 0 0 / 0.75),
    inset 0 -1px 0 oklch(100% 0 0 / 0.28),
    inset 0 0 0 1px var(--glass-edge),
    0 8px 32px oklch(26% 0.03 255 / 0.18);
  /* `::before` ar negatīvu z-index — tāpēc pašam jābūt kaudzes saknei. */
  isolation: isolate;
}
/* Diagonālais atspīdums. `screen` tikai gaišina, tāpēc tas nekad nenolaiž
   teksta kontrastu zem izrēķinātā minimuma. */
.gnav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    135deg,
    oklch(100% 0 0 / 0.5),
    oklch(100% 0 0 / 0.1) 26%,
    transparent 56%
  );
  mix-blend-mode: screen;
}
/* Uz stikla nav vietas «pelēkam» tekstam: pie sliktākās virsmas (0,55) 4,5:1
   prasa L ≤ 27 %, bet tinte jau ir 26 %. Tāpēc kailā stikla sekundārais teksts
   ir tinte ar mazāku svaru, un tikai uz flīzes (0,68) drīkst būt pelēks. */
.gnav {
  --color-neutral-stikls: oklch(34% 0.018 255);
}
.gnav .lang a {
  color: var(--color-ink);
  font-weight: 600;
}
.gnav .lang a[aria-current],
.gnav .lang a:hover {
  font-weight: 800;
}
.gnav .mega-tabs button {
  color: var(--color-neutral-stikls);
}
.gnav .mega-tile small {
  color: var(--color-neutral-stikls);
}

/* Telefonā mazāks rādiuss. `backdrop-filter` cena aug ar rādiusu × laukumu, un
   šī ir fiksēta josla pāri visam ekrānam — tā pārzīmējas katrā ritināšanas kadrā.
   18 px uz 390 px platuma atstāj to pašu iespaidu par ceturtdaļu cenas.
   Gaišuma kompresiju NEMAINĀM — tā ir salasāmības robeža, ne izskats. */
@media (max-width: 60rem) {
  :root {
    --stikls-filtrs: blur(18px) contrast(0.36) brightness(1.55) saturate(1.9);
  }

  /* Telefonā izvēlne paliek TABLETES IEKŠPUSĒ, nevis kā atsevišķa kartīte zem tās.

     Kāpēc tas ir svarīgi tieši šeit: elements ar `backdrop-filter` kļūst par
     *backdrop root* saviem pēctečiem. Kamēr `.mega` karājās ārpus `.gnav`
     zīmētā laukuma, tās pašas `backdrop-filter` neatrada, ko izpludināt — 32 %
     tinta laida cauri neizpludinātu lapu, un hero virsraksts ar meklētāju
     uzrāpās virsū izvēlnes tekstam. Stiklu var sadalīt (`.gnav-row` atsevišķi),
     bet tad sanāk divas tabletes ar spraugu, cauri kurai spīd lapa — sliktāk
     nekā bija.

     Skices sākotnējais iemesls panelim iziet ārā bija `position: fixed` pēctecis,
     kas pie 400 px aizgāja aiz ekrāna augšmalas. Šeit panelis nav fiksēts — tas
     vienkārši izstiepj tableti uz leju, un garam sarakstam ir savs ritinājums. */
  .gnav-row {
    gap: var(--space-sm);
  }
  /* 999px uz garas tabletes uzzīmē milzu elipsi un nogriež flīžu stūrus —
     kamēr izvēlne bija atsevišķa kartīte, tas nebija redzams. */
  .gnav.is-open {
    border-radius: 1.75rem;
  }
}

/* Ja stikla nav — panelim jābūt blīvam. Bez šī noteikuma 30 % tinta bez izpludinājuma
   nozīmē tekstu tieši uz foto. Trīs gadījumi, kuros `backdrop-filter` nedarbojas:
   pārlūks to neprot, lietotājs caurspīdīgumu ir izslēdzis, vai ir piespiedu krāsas. */
@supports not (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  .gnav {
    background: var(--stikls-bez);
  }
  .gnav::before {
    display: none;
  }
  /* Telefonā `.mega` ir atsevišķa kartīte ar savu stiklu — arī tai vajag blīvo atkāpi. */
  .mega {
    background: var(--stikls-bez);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .mega-tile,
  .mega-soon {
    background: var(--color-paper);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .gnav {
    background: var(--stikls-bez);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .gnav::before {
    display: none;
  }
  /* Telefonā `.mega` ir atsevišķa kartīte ar savu stiklu — arī tai vajag blīvo atkāpi. */
  .mega {
    background: var(--stikls-bez);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .mega-tile,
  .mega-soon {
    background: var(--color-paper);
  }
}
.glink-cta {
  border-color: var(--color-focus-ink);
  color: var(--color-focus-ink);
  background: var(--color-control-bg);
}
.glink-cta:hover {
  background: var(--color-focus-ink);
  color: #fff;
}
.glink:focus-visible,
.favbtn:focus-visible,
.lang a:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
  border-radius: 999px;
}
.glink:focus:not(:focus-visible),
.favbtn:focus:not(:focus-visible),
.lang a:focus:not(:focus-visible) {
  outline: none;
}

/* 8 · Vidējie un mazie platumi: logo nedrīkst pārklāties nevienā platumā no 360
   līdz 1600 px (mērīts ar tmp/audits.mjs pa 50–100 px soļiem, ne ar aci).
   Pakāpeniski: ≤84rem Pirkt/Īrēt slēpti (tie ir hero meklētājā) un Juridiskie
   tikai ikona; ≤72rem CTA tikai ikona. Pasūtītāja piedāvātais 80/72/66rem bija
   par maz: 1300 px «Pirkt» vēl pārklāja logo par 4 px, 1100 px CTA par 11 px. */
@media (max-width: 84rem) {
  .glink-deal {
    display: none;
  }
}
/* Juridisko pakalpojumu teksts parādās agrāk nekā līdz šim: robeža bija 84rem, jo
   galvenē vēl stāvēja «Piedāvā savu īpašumu» poga, un B4 to izņēma.

   75rem, nevis mazāk. `getBoundingClientRect()` melo — tas rādīja 16 px atstarpi
   vēl pie 1000 px, bet ekrānuzņēmums rāda, ka logo ķepa uzskrien tekstam jau pie
   1152 px. Robežu noteica attēli pa 50 px soļiem, ne mērījums. Garākais ir LV
   «Juridiskie pakalpojumi»; RU un EN ir īsāki, tāpēc tie der ar rezervi. */
@media (max-width: 75rem) {
  .glink-legal span {
    display: none;
  }
  .glink-legal {
    min-width: var(--touch);
    justify-content: center;
    padding-inline: var(--space-sm);
  }
  .glink-legal svg {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 72rem) {
  .glink-cta span {
    display: none;
  }
  .glink-cta {
    min-width: var(--touch);
    justify-content: center;
    padding-inline: var(--space-sm);
  }
  .glink-cta svg {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 60rem) {
  /* Izvēlne un Īpašumi šeit ir tikai ikona — tas pats 20 px kā sirdij. */
  .nav-btn > svg:not(.chev) {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 40rem) {
  /* Telefonā logo 2.5rem, un kolonnas pēc satura (`auto`), nevis `1fr`: ar `1fr`
     šaurāka puse pārplūda pāri logo (401–520 px «Īpašumi» par 9 px). Logo paliek
     centrā ar dažu px novirzi, jo puses ir gandrīz vienāda platuma. */
  .gnav-row {
    grid-template-columns: auto auto auto;
    justify-content: space-between;
    gap: var(--space-xs);
  }
  .gnav .wm .logo {
    height: 1.85rem; /* ~9.6rem plats — tikpat, cik vecais 2.5rem logo ar simbolu */
  }
  .nav-btn .chev {
    display: none;
  }
  .nav-btn {
    padding: 0 0.6rem;
  }
  .favbtn {
    padding-inline: 0;
  }
}
@media (max-width: 25rem) {
  .gnav {
    width: calc(100vw - 1rem);
  }
  /* 0,5rem atkāpe + 18 px ikona = 34 px — zem projekta 44 px robežas. Atkāpi
     atstājam mazu (vietas galvenē nav), bet `min-width` nodrošina mērķi. */
  .nav-btn {
    padding: 0 0.5rem;
    min-width: var(--touch);
  }
}

/* 9 · Pirkt/Īrēt cilnes virs paneļa: cilne saplūst ar paneli (`margin-bottom:-1px`,
   gandrīz necaurspīdīgs fons pāri paneļa malai), fokusa gredzens tikai tastatūrai
   un cilnes iekšpusē, lai nekrusto paneļa malu. */
.seg {
  position: relative;
  z-index: 2;
  margin-bottom: -1px;
}
.seg a,
.seg button {
  border-bottom: 0;
}
.seg a[aria-current],
.seg button[aria-pressed="true"] {
  background: oklch(99% 0.003 250 / 0.94);
  box-shadow: inset 0 2px 0 var(--color-accent);
}
/* Audits: neaktīvā cilne virs tumša hero bija ~1,1:1 (34 % balts + neitrāls
   teksts). 86 % balts → izmērīts 5,3 / 4,9 / 4,6:1 (gaišs / tumšs / melns hero). */
.seg a,
.seg button {
  background: oklch(99% 0.003 250 / 0.86);
}
.seg a:focus:not(:focus-visible),
.seg button:focus:not(:focus-visible) {
  outline: none;
}
.seg a:focus-visible,
.seg button:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: -5px;
  border-radius: 1rem 1rem 0.5rem 0.5rem;
}
/* 7 · Slīdošais indikators (JS): aktīvās cilnes fons ir viens elements, kas
   200 ms pārslīd; pašas cilnes tad ir caurspīdīgas. */
.seg-ind {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: var(--seg-w, 0px);
  translate: var(--seg-x, 0px) 0;
  border-radius: 1rem 1rem 0 0;
  background: oklch(99% 0.003 250 / 0.94);
  box-shadow: inset 0 2px 0 var(--color-accent);
  pointer-events: none;
  opacity: 0;
  transition:
    translate 200ms var(--ease-out),
    width 200ms var(--ease-out);
}
.seg.is-js .seg-ind {
  opacity: 1;
}
/* Ar JS cilnes ir caurspīdīgas (citādi neaktīvās 86 % fons aizsegtu indikatoru
   pārslīdēšanas laikā); neaktīvo fonu dod josla kopumā. */
.seg.is-js::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 1rem 1rem 0 0;
  background: oklch(99% 0.003 250 / 0.86);
  pointer-events: none;
}
.seg.is-js a,
.seg.is-js button {
  background: transparent;
  box-shadow: none;
}

/* 4 · Meklētāja flīzes: rindā vienāds augstums, ikona un virsraksts vienā līnijā,
   apakšteksts vienā rindā ar daudzpunkti; izvēlētā — aizpildīta, 1,5 px zelta
   mala un ķeksis. */
.tiles {
  align-items: stretch;
}
.tile {
  align-items: flex-start;
  padding: 0.85rem var(--space-md);
}
.tile > svg {
  width: 22px;
  height: 22px;
  margin-top: 0.1rem; /* ikonas centrs pret virsraksta pirmās rindas centru */
  color: var(--color-ink);
}
.tile .tl {
  gap: 0;
  flex: 1 1 auto;
}
/* Virsraksts nekad netiek nogriezts (audits: RU «Коммерческ…» 1024 px) — lūzt pa
   vārdiem; rindas augstumu izlīdzina `align-items: stretch`. Apakšteksts drīkst
   būt ar daudzpunkti, jo tas ir paskaidrojums, ne izvēles nosaukums. */
.tile .tn {
  line-height: 1.35;
  padding-block: 0.125rem;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
.tile .ts {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-neutral);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tile[aria-pressed="true"] {
  background: var(--tint-accent);
  border-color: var(--color-accent);
  box-shadow: inset 0 0 0 1.5px var(--color-accent);
}
.tile[aria-pressed="true"] > svg,
.tile[aria-pressed="true"] .tn {
  color: var(--color-accent-ink);
}
.tile {
  position: relative;
}
/* Ķeksis ir nozīmīte stūrī, ne elements rindā — izvēle nemaina vajadzīgo platumu. */
.tile[aria-pressed="true"]::after {
  content: "";
  position: absolute;
  top: -0.45rem;
  right: -0.45rem;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23271e0e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 14px no-repeat;
  box-shadow: 0 0 0 2px var(--color-paper);
}
.tile:focus:not(:focus-visible) {
  outline: none;
}

/* 2 · Sirds: VIENS izmērs (20 px) un viena ikona galvenē, kartītēs un objekta lapā.
   Ikonu izmēru likums (audits): 18 px — ikona blakus tekstam mazā saitē/čipā
   (`.glink`, `.nav-btn`, `.sellcta`, `.mz-all`); 20 px — pogas (`.btn`) un pogas,
   kas ir tikai ikona (sirds, galvenes ikonu režīms); 22 px — flīzes. */
.btn svg {
  width: 20px;
  height: 20px;
}
.favbtn svg,
.fav svg,
.btn-fav svg {
  width: 20px;
  height: 20px;
  flex: none;
}
.card {
  position: relative;
}
/* Sirds uz kartītes bildes (skices 3.4; klienta B5, Viestura lēmums 22.09.).
   Neaktīva — tikai tieva balta kontūra, bez apļa un bez pildījuma, lai netraucē
   bildei; salasāmību uz gaišas bildes dod ēna ap līniju, ne fona laukums.
   Aktīva — oranžs pildījums: tā ir vienīgā, kurai jābūt pamanāmai. */
.fav {
  position: absolute;
  top: var(--space-md);
  right: var(--space-md);
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: oklch(99% 0.003 250);
  cursor: pointer;
  transition:
    color var(--dur-1) var(--ease-out),
    scale var(--dur-1) var(--ease-out);
}
.fav svg {
  filter: drop-shadow(0 1px 2px oklch(0% 0 0 / 0.55));
}
/* Skāriena laukums ≥ `--touch` neatkarīgi no redzamā izmēra: sīkbildē sirds ir
   2 rem, bet pirksts joprojām trāpa 44 px aplī. */
.fav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--touch);
  height: var(--touch);
  translate: -50% -50%;
  border-radius: 50%;
}
.fav:hover {
  color: var(--color-accent);
}
.fav[aria-pressed="true"] {
  color: var(--color-accent);
}
.fav[aria-pressed="true"] svg {
  fill: currentColor;
  /* Kontūra paliek balta arī pildītai — uz dzeltenas vai zeltainas bildes
     akcenta pildījums viens pats saplūst ar fonu. */
  stroke: oklch(99% 0.003 250);
  animation: fav-pop 360ms var(--ease-out);
}
.fav:active {
  scale: 0.92;
}
.fav:focus:not(:focus-visible) {
  outline: none;
}
.fav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.card-link:focus:not(:focus-visible) {
  outline: none;
}
.card-link:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 4px;
  border-radius: 1.25rem;
}

/* 1 · «Jaunākie piedāvājumi» ir režģis bez iekšējām ritjoslām — aizsargnoteikums. */
.cards,
.strip {
  overflow: visible;
}

/* 3 · Pielāgotais nolaižamais saraksts (JS uzlabojums). `<select>` paliek DOM-ā un
   formā; datorā (>40rem) to slēpj un rāda `.dd-sel`, telefonā otrādi — OS saraksts. */
.f {
  position: relative;
}
.dd-sel {
  display: none;
  position: relative;
}
@media (min-width: 40.01rem) {
  .f.is-enh > select {
    display: none;
  }
  .f.is-enh > .dd-sel {
    display: block;
  }
  /* Cenas otrā (`hidden`, `disabled`) izvēlne — arī tās saraksts paliek paslēpts */
  .f.is-enh > select[hidden] + .dd-sel {
    display: none;
  }
}
.dd-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  height: 3.25rem;
  padding-inline: var(--space-md) 0.9rem;
  border: 1px solid var(--color-control-edge);
  border-radius: 999px; /* pill (Arinas labojumi 28.09.) — JS izvēlne aizstāj `.f select` */
  background: var(--color-control-bg);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--dur-1) var(--ease-out);
}
.dd-btn svg {
  flex: none;
  color: var(--color-ink);
  transition: rotate 200ms var(--ease-out);
}
.dd-btn:hover,
.dd-sel.is-open .dd-btn {
  border-color: var(--color-focus);
}
.dd-sel.is-open .dd-btn svg {
  rotate: 180deg;
}
.dd-btn:focus:not(:focus-visible) {
  outline: none;
}
.dd-val {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.dd-list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 30;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  max-height: min(18rem, 50vh);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  background: var(--color-paper);
  border: 1px solid var(--color-control-edge);
  border-radius: 0.9rem;
  box-shadow: 0 18px 48px oklch(26% 0.03 255 / 0.18);
  animation: dd-in 140ms var(--ease-out);
}
.dd-list[hidden] {
  display: none;
}
.dd-list:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
@keyframes dd-in {
  from {
    opacity: 0;
    translate: 0 -4px;
  }
}
.dd-list [role="option"] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 2.5rem;
  padding: 0.45rem 0.85rem;
  border-radius: 0.6rem;
  font-weight: 600;
  cursor: pointer;
}
.dd-list [role="option"].is-active {
  background: var(--color-paper-2);
}
.dd-list [role="option"][aria-selected="true"] {
  background: var(--tint-accent);
  color: var(--color-accent-ink);
}
.dd-list [role="option"][aria-selected="true"].is-active {
  background: oklch(93% 0.04 80);
}
.dd-list [role="option"][aria-selected="true"]::after {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23271e0e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Audits: RU kājenes virsraksti 961–1280 px lūza vārda vidū («НЕДВИЖИМОСТ/Ь»),
   jo globālais `h2 { overflow-wrap: anywhere }`. Kolonnas virsraksts lūzt pa
   zilbēm/vārdiem un ir mazāks vidējos platumos. */
.foot h2 {
  overflow-wrap: break-word;
  hyphens: auto;
}
@media (max-width: 80rem) {
  .foot h2 {
    font-size: 0.78rem;
    letter-spacing: 0.03em;
  }
}

/* Audits (ar aci, 1024 px): etiķešu kolonna starp zonām nebija vienā līnijā — EN
   «WHAT ARE YOU LOOKING FOR?» (auto kolonna) nobīdīja flīzes pa labi pret «WHERE?».
   Fiksēts 9rem platums ar lūzumu; flīžu zonās etiķete pret PIRMO flīžu rindu,
   nevis vertikāli centrā starp divām rindām un «Visi tipi». */
@media (min-width: 60.01rem) {
  .zone {
    grid-template-columns: 9rem minmax(0, 1fr);
  }
  .zlabel {
    min-width: 0;
    white-space: normal;
    line-height: 1.4;
  }
  .zone:has(.tiles-wrap) {
    align-items: start;
  }
  /* Saraksta filtru joslā «Precizēt» ir vienīgā zona un neko nepasaka — 9rem kolonna
     tikai sašaurināja laukus (1024 px poga «RĀDĪT PĀRDOŠANĀ» lūza divās rindās). */
  .zone:has(.fields-diapazoni) {
    grid-template-columns: minmax(0, 1fr);
  }
  .zone:has(.fields-diapazoni) > .zlabel {
    display: none;
  }
  .zone:has(.tiles-wrap) .zlabel {
    padding-top: 1.35rem;
  }
}
/* Audits (ar aci, 768 px): paneļa iekšējā atkāpe ≤60rem bija 8 px — flīzes un
   izvēlnes pieskārās paneļa malai. 25–60rem → 1rem; ≤25rem paliek 0.5rem, lai RU
   flīzei «Коммерческая недвижимость» pietiek platuma. */
@media (min-width: 25.01rem) and (max-width: 60rem) {
  .search .panel {
    padding: var(--space-md);
  }
}

/* Audits (ar aci): flīzes mala `--glass-edge` (balta) uz gaišā paneļa nebija redzama —
   flīzes neizskatījās pēc vadīklām. Mala `--color-rule`, fons vadīklas baltais. */
.tile {
  border-color: var(--color-rule);
  background: var(--color-control-bg);
}
.tile:hover {
  border-color: var(--color-accent);
}

/* 4 (recenzija) · Flīžu režģis pēc izmērītā minimālā flīzes platuma katrā valodā
   (nosaukums vienā rindā + 2 apakšteksta vārdi, tmp/flizes.mjs): tipi LV 206 px,
   RU 304 px, EN 229 px; vietas LV/EN 159 px, RU 186 px. Kolonnas: 4 → 2×2 → 1
   (nekad 3+1), vietas 3 → 1. Sliekšņi = N × platums + atstarpes + 12 px rezerve.
   Bez container query atbalsta — auto-fit ar 15rem. */
.tiles-wrap {
  container: flizes / inline-size;
  min-width: 0;
}
.tiles-wrap > .tiles {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
@supports (container-type: inline-size) {
  .tiles-wrap > .tiles {
    grid-template-columns: minmax(0, 1fr);
  }
}
.tile .ts {
  display: block;
}
@container flizes (min-width: 27rem) {
  :lang(lv) .tiles:not(.tiles-loc) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container flizes (min-width: 30rem) {
  :lang(en) .tiles:not(.tiles-loc) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container flizes (min-width: 39.25rem) {
  :lang(ru) .tiles:not(.tiles-loc) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container flizes (min-width: 53.75rem) {
  :lang(lv) .tiles:not(.tiles-loc) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container flizes (min-width: 59.5rem) {
  :lang(en) .tiles:not(.tiles-loc) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container flizes (min-width: 78.25rem) {
  :lang(ru) .tiles:not(.tiles-loc) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@container flizes (min-width: 31.6rem) {
  :lang(lv) .tiles-loc,
  :lang(en) .tiles-loc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container flizes (min-width: 36.6rem) {
  :lang(ru) .tiles-loc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Audits (ar aci, 768 px): «Piedāvā» lapas apakšā dubulta līnija — `.sell` apakšmala
   (skicē tai sekoja cita sadaļa) + kājenes augšmala 4rem zemāk. */
.sell {
  border-bottom: 0;
}

/* Audits: RU komentāra lauka viettura teksts telefonā neietilpa un laukā radās
   ritjosla jau pirms rakstīšanas — lauks aug pēc satura (arī viettura). */
.sellform textarea {
  field-sizing: content;
}

/* Audits (ar aci, 1024 px): saraksta filtru joslā «RĀDĪT PĀRDOŠANĀ» (nowrap) izgāja
   ārpus pogas — kolonna ir šaurāka par tekstu. Poga drīkst lūzt divās rindās. */
.f-poga .go {
  white-space: normal;
  line-height: 1.2;
  padding-inline: var(--space-md);
  text-align: center;
}

/* Audits: saraksta filtru joslā ≤40rem poga «RĀDĪT PĀRDOŠANĀ» šaurajā kolonnā
   lūza divās rindās — telefonā tā ir savā rindā pilnā platumā. */
@media (max-width: 40rem) {
  /* Tips · Istabas / Rajons · Reģions / poga / Cena no · līdz / Platība no · līdz —
     DOM secībā (bez `order`, lai Tab iet tā, kā redzams), pāri blakus. */
  .fields-diapazoni .f-poga {
    grid-column: 1 / -1;
  }
}

/* Audits: RU 360–400 px «ПРЕДЛОЖИТЬ СВОЮ НЕДВИЖИМОСТЬ →» (nowrap) izgāja ārpus
   paneļa par ~80 px. Telefonā pogas pilnā platumā un teksts drīkst lūzt. */
@media (max-width: 40rem) {
  .panel-foot .acts {
    width: 100%;
    min-width: 0;
  }
  .sellcta,
  .go {
    white-space: normal;
    text-align: center;
    min-width: 0;
    line-height: 1.3;
  }
}

/* Audits: hover un fokusa stāvokļi tur, kur to nebija */
.chip:focus:not(:focus-visible),
.go:focus:not(:focus-visible),
.sellcta:focus:not(:focus-visible),
.tiles-more:focus:not(:focus-visible),
.tlink:focus:not(:focus-visible) {
  outline: none;
}
/* Hover skriptā (tmp/hover.mjs) nemainījās: slaidu punkti, mozaīkas kadri, logo,
   tālruņa saite «Piedāvā» lapā. Aktīvā valoda/cilne un `aria-disabled` — apzināti. */
.mz img {
  transition: filter var(--dur-1) var(--ease-out);
}
.mz:hover img {
  filter: brightness(1.08);
}
.gnav .wm,
.foot .fwm {
  transition: opacity var(--dur-1) var(--ease-out);
}
.gnav .wm:hover,
.foot .fwm:hover {
  opacity: 0.8;
}
.sflow a:hover {
  color: var(--color-focus-ink);
}
.lapotajs a:hover,
.sadalas a:hover {
  color: var(--color-focus-ink);
}
.val:hover h3 {
  color: var(--color-focus-ink);
}
.card .op {
  color: var(--color-focus-ink);
}

@media (prefers-reduced-motion: reduce) {
  .seg-ind,
  .dd-btn svg,
  .fav,
  .tile {
    transition: none;
  }
  .dd-list {
    animation: none;
  }
  .fav[aria-pressed="true"] svg {
    animation: none;
  }
}
@media (forced-colors: active) {
  .fav,
  .dd-list,
  .seg-ind {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid CanvasText;
  }
}

/* Piespiedu krāsu režīmā (Windows High Contrast) mūsu fona bultiņa pazūd, jo
   pārlūks fona attēlus tur nezīmē. Tāpēc atdodam `<select>` native izskatu ar
   sistēmas bultiņu — labāk OS vadīkla nekā vadīkla bez bultiņas. */
@media (forced-colors: active) {
  .f select {
    appearance: auto;
    -webkit-appearance: auto;
    background-image: none;
    padding-inline: var(--space-md);
  }
  /* Stikls un caurspīdīgas malas piespiedu paletē nozīmē neredzamas robežas.
     Izslēdzot filtru, fonam jākļūst blīvam — citādi teksts paliek tieši uz foto. */
  .gnav,
  .mega {
    background: Canvas;
  }
  .gnav::before {
    display: none;
  }
  .search .panel,
  .mega,
  .gnav,
  .seg a,
  .seg button,
  .karte,
  .mz-all,
  .lb::backdrop {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* «Piedāvā savu īpašumu» — kļūdu un pateicības stāvoklis (spec 3.8, 15.09.).
   Skicē kļūdu stāvokļa nav; krāsa ir viena jauna tintes nokrāsa sarkanā tonī ar
   to pašu gaišumu kā `--color-focus-ink` (50 %) — uz `--color-paper` ≥ 5:1. Kļūda
   nekad nav tikai krāsa: laukam biezāka mala, zem lauka teksts, augšā kopsavilkums. */
:root {
  --color-kluda: oklch(50% 0.17 27);
  --tint-kluda: oklch(96% 0.025 27);
}
.sellform [aria-invalid="true"] {
  border-color: var(--color-kluda);
  box-shadow: inset 0 0 0 1px var(--color-kluda);
}
.sellform .chk input[aria-invalid="true"] {
  outline: 2px solid var(--color-kluda);
  outline-offset: 2px;
}
.f-kluda {
  margin: var(--space-xs) 0 0;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-kluda);
}
.sell-kludas {
  margin: 0 0 var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  border: 1px solid var(--color-kluda);
  border-left-width: 4px;
  border-radius: 1rem;
  background: var(--tint-kluda);
  color: var(--color-ink);
  font-weight: 600;
}
/* Kopsavilkums un pateicības virsraksts fokusu saņem tikai programmatiski
   (`tabIndex=-1`, Tab ciklā to nav) — ekrānlasītājam, ne kā vadīkla. Otrs rāmis ap
   sarkano būtu dubulta kontūra (koda recenzija 15.09.), tāpēc kontūras nav vispār;
   pats sarkanais rāmis jau ir redzamā norāde. */
.sell-kludas[tabindex="-1"]:focus,
.sell-paldies [tabindex="-1"]:focus {
  outline: none;
}
.sell-kludas p {
  margin: 0;
}
.sell-kludas ul {
  margin: var(--space-sm) 0 0;
  padding-left: 1.25rem;
}
.sell-kludas a {
  color: var(--color-kluda);
  text-underline-offset: 0.2em;
}
.sell-paldies {
  display: grid;
  gap: var(--space-md);
  justify-items: start;
  padding: var(--space-xl) var(--space-lg);
}
.sell-paldies h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-md);
  line-height: 1.3;
  margin: 0;
  max-width: 32ch;
}
.sell-paldies p {
  margin: 0;
  color: var(--color-neutral);
}
.sell-paldies p a:not(.sellcta) {
  color: var(--color-ink);
  font-weight: 700;
}
.sellform .go[aria-disabled="true"] {
  opacity: 0.7;
  cursor: progress;
}
@media (forced-colors: active) {
  .sellform [aria-invalid="true"],
  .sell-kludas {
    border: 2px solid Mark;
  }
}

/* ── 16.09. · Kaskāde Rajons → Reģions ───────────────────────────────────────
   `.f` ir `display: flex`, tāpēc `hidden` atribūtam vajag savu noteikumu. */
.f[hidden] {
  display: none;
}
/* Sākumlapas «Kur?»: reģiona izvēle zem vietu flīzēm, vienas flīzes platumā. */
.fields-regions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-sm);
}
.fields-regions:not(:has(> .f:not([hidden]))) {
  display: none;
}
@media (max-width: 48rem) {
  .fields-regions {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Saraksta filtru josla datorā: 5 kolonnas — tips · istabas · rajons · reģions ·
   PARĀDĪT / cena no · līdz · platība no · līdz. Poga piesieta 5. kolonnai, un
   «Cena no» vienmēr sāk jaunu rindu, tāpēc reģiona parādīšanās neko nepārbīda. */
@media (min-width: 60.01rem) {
  .fields-diapazoni {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .fields-diapazoni > .f-poga {
    grid-column: 5;
    grid-row: 1;
  }
}
.fields-diapazoni > .f-rindas-sakums {
  grid-column-start: 1;
}

/* ── 16.09. · Rezultātu skats: Saraksts / Karte ──────────────────────────────── */
.skats-parslegs {
  display: inline-flex;
  margin-left: auto;
  padding: 3px;
  border: 1px solid var(--color-control-edge);
  border-radius: 999px;
  background: var(--color-control-bg);
}
.skats-parslegs a {
  display: inline-flex;
  align-items: center;
  min-height: calc(var(--touch) - 6px);
  padding-inline: var(--space-md);
  border-radius: 999px;
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-neutral);
  transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.skats-parslegs a:hover {
  color: var(--color-ink);
  background: var(--color-paper-2);
}
.skats-parslegs a[aria-current] {
  background: var(--color-ink);
  color: var(--color-paper);
}
.skats-parslegs a:focus-visible {
  outline: 2px solid var(--color-focus-ink);
  outline-offset: 2px;
}
@media (max-width: 40rem) {
  .skats-parslegs {
    margin-left: 0;
  }
}

.rk {
  margin-bottom: var(--space-xl);
}
.rk-karte,
.rk-vietturis {
  height: min(68vh, 36rem);
  border: 1px solid var(--color-rule);
  border-radius: 1.25rem;
  overflow: hidden;
  background: var(--color-paper-2);
}
@media (max-width: 40rem) {
  .rk-karte,
  .rk-vietturis {
    height: 60vh;
    border-radius: 1rem;
  }
}
.rk-karte {
  font-family: var(--font-body);
  z-index: 0; /* Leaflet paneļi (z-index 400+) paliek zem galvenes tabletes */
  isolation: isolate;
}
.rk-piezime {
  margin: var(--space-sm) 0 0;
  font-size: var(--text-sm);
  color: var(--color-neutral);
}
.rk-karte .leaflet-control-attribution {
  font-size: 0.7rem;
  background: oklch(99% 0.003 250 / 0.85);
}
.rk-karte .leaflet-control-zoom a {
  width: var(--touch);
  height: var(--touch);
  line-height: var(--touch);
  color: var(--color-ink);
}
.rk-karte .leaflet-bar {
  border: 1px solid var(--color-control-edge);
  border-radius: 0.9rem;
  overflow: hidden;
}

/* Marķieri: precīzs punkts, ~100 m aplis (mājas nr. slēpts, līguma 6.3), grupa. */
.rk-ikona {
  background: none;
  border: 0;
}
.rk-ikona:focus-visible {
  outline: none;
}
.rk-ikona:focus-visible > span {
  outline: 3px solid var(--color-focus-ink);
  outline-offset: 2px;
}
.rk-punkts,
.rk-aplis,
.rk-grupa {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-sizing: border-box;
  transition: transform var(--dur-1) var(--ease-out);
}
.rk-punkts {
  background: var(--color-accent);
  border: 3px solid var(--color-paper);
  box-shadow: 0 1px 4px oklch(26% 0.03 255 / 0.45);
}
.rk-aplis {
  background: oklch(72% 0.09 80 / 0.3);
  border: 2px solid var(--color-focus-ink);
}
/* Aptuvenās vietas aplis — SVG, rādiuss METROS, tāpēc mērogojas ar tālummaiņu
   (līguma 6.3). Marķieris virsū ir tikai rokturis. */
.rk-nenoteiktiba {
  fill: oklch(72% 0.09 80 / 0.18);
  stroke: var(--color-focus-ink);
  stroke-width: 2;
  stroke-dasharray: 6 4;
}
.rk-grupa {
  background: var(--color-ink);
  color: var(--color-paper);
  border: 3px solid oklch(100% 0 0 / 0.85);
  font-weight: 700;
  font-size: var(--text-sm);
  box-shadow: 0 2px 8px oklch(26% 0.03 255 / 0.35);
}
.rk-ikona:hover > span {
  transform: scale(1.12);
}
@media (prefers-reduced-motion: reduce) {
  .rk-punkts,
  .rk-aplis,
  .rk-grupa {
    transition: none;
  }
}

/* Popup: kompakta kartīte (bilde `s`, cena, adrese, saite) */
.rk-logs .leaflet-popup-content-wrapper {
  border-radius: 1rem;
  padding: 0;
  overflow: hidden;
}
.rk-logs .leaflet-popup-content {
  margin: 0;
  width: auto !important;
}
.rk-logs a.leaflet-popup-close-button {
  width: 2rem;
  height: 2rem;
  font-size: 1.25rem;
  line-height: 2rem;
  color: var(--color-paper);
  background: var(--scrim);
  border-radius: 50%;
  top: 0.4rem;
  right: 0.4rem;
}
.kur-saturs {
  min-width: 0;
}
.rk-logs a.rk-kartite {
  display: block;
  width: 15rem;
  max-width: 100%;
  color: var(--color-ink);
  text-decoration: none;
  font-family: var(--font-body);
}
.rk-kartite img {
  /* Leaflet `.leaflet-container img` citādi dod max-width: none */
  max-width: 100% !important;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--color-paper-2);
}
.rk-info {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: var(--space-sm) var(--space-md) var(--space-md);
}
.rk-cena {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 600;
}
.rk-adrese {
  font-size: 0.85rem;
  font-weight: 600;
}
.rk-meta,
.rk-aptuveni {
  font-size: 0.78rem;
  color: var(--color-neutral);
}
.rk-kartite:hover .rk-adrese {
  text-decoration: underline;
}
.rk-kartite:focus-visible {
  outline: 3px solid var(--color-focus-ink);
  outline-offset: -3px;
}
.rk-saraksts {
  max-height: 22rem;
  overflow-y: auto;
}
.rk-saraksts .rk-kartite + .rk-kartite {
  border-top: 1px solid var(--color-rule);
}
.rk-saraksts .rk-kartite img {
  /* Leaflet `.leaflet-container img` citādi dod max-width: none */
  max-width: 100% !important;
  display: none;
}

/* ── Kompaktais lapu hero (klienta lūgums 17.09.) ───────────────────────────
   Tas pats dizaina valodas paņēmiens, kas sākumlapas `.hero` (bilde + `.veil`
   gradients + `.copy` bloks), tikai zems: satura lapai virsraksts ir jāredz
   kopā ar pirmo teksta rindkopu, nevis pēc ritināšanas. */
.hero-mazs {
  position: relative;
  overflow: clip;
  background: var(--color-ink);
  min-height: clamp(11rem, 26svh, 16rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
}
.hero-mazs > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Bilde ir fons, ne saturs — tumšāka, lai teksts virsū paliek lasāms. */
  filter: saturate(0.9) brightness(0.72);
}
/* Bez bildes fons nāk no `--color-ink`, un gradients uztur to pašu siluetu. */
.hero-mazs-bez-bildes {
  background-image: linear-gradient(
    140deg,
    var(--color-ink) 0%,
    oklch(32% 0.045 255) 62%,
    oklch(38% 0.06 250) 100%
  );
}
.hero-mazs .veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* Sākumlapas hero teksts sēž uz bildes apakšas, tāpēc tam pietiek ar gradientu
     no 34 %. Šis hero ir zems — teksts sēž vidū, kur gradienta vēl nav. Uz gaišas
     bildes (sanāksmju telpas logi) etiķete un apakšteksts kļuva nesalasāmi. */
  background: linear-gradient(
    180deg,
    oklch(22% 0.03 255 / 0.34) 0%,
    oklch(22% 0.03 255 / 0.48) 46%,
    var(--scrim) 100%
  );
}
.hero-mazs .copy {
  position: relative;
  z-index: 5;
  /* `.copy` ir arī `.wrap` ar `margin-inline: auto`. Grid elementam ar auto-malām
     `justify-self: stretch` NETIEK piemērots vispār — tāpēc bez noteikta platuma
     tas tiek izmērīts pēc satura un auto-malas to centrē, un hero teksts stāvēja
     lapas vidū, kamēr ķermeņa teksts sākās pa kreisi. Ar `width: 100%` platums ir
     noteikts, `max-width: 1360px` to nogriež, un auto-malas centrē tikai tad, kad
     skats ir platāks par 1360 px — tas ir tieši `.wrap` paredzētā uzvedība. */
  width: 100%;
  color: oklch(99% 0.003 250);
  padding-block: var(--space-xl);
}
.hero-mazs .k {
  display: inline-flex;
  /* Bez šī juridisko pakalpojumu ikona pielīp tekstam: «⚖JURIDISKIE …». */
  align-items: center;
  gap: var(--space-xs);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  /* Uz tumša fona `--color-focus` ir par tumšu — te etiķete ir gaiša. */
  color: oklch(92% 0.015 250);
  text-shadow: 0 1px 12px oklch(22% 0.03 255 / 0.6);
  margin-bottom: var(--space-sm);
}
.hero-mazs h1 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: var(--text-display);
  line-height: 1.16;
  margin: 0 0 var(--space-sm);
  max-width: 26ch;
  text-shadow: 0 2px 24px oklch(26% 0.03 255 / 0.35);
}
.hero-mazs .copy > p {
  margin: 0;
  max-width: 54ch;
  color: oklch(95% 0.005 250);
  text-shadow: 0 1px 14px oklch(22% 0.03 255 / 0.55);
}
/* Hero jau ir atstatums no galvenes, tāpēc satura bloks zem tā sākas ciešāk. */
.hero-mazs + .legal,
.hero-mazs + .sell {
  padding-block-start: var(--space-xl);
}
@media (max-width: 40rem) {
  .hero-mazs {
    min-height: clamp(9rem, 22svh, 12rem);
  }
  .hero-mazs .copy {
    padding-block: var(--space-lg);
  }
}

/* ── Cilnes Pirkt/Īrēt (klienta atsauksmes 17.09.) ──────────────────────────
   Šī vieta prasīja vairākas kārtas, tāpēc te ir gan risinājums, gan kļūdas,
   lai neviens tās neatkārto.

   Kas NESTRĀDĀJA:
   • `gap: 2px` — sprauga, caur kuru redzama hero bilde.
   • Apakšējā mala neaktīvajai cilnei — tā izskatījās pēc atlecoša atloka.
   • Cilne AIZ paneļa, lai panelis nosedz tās apakšu — panelis ir caurspīdīgs
     stikls ar `inset` gredzenu pa perimetru, tāpēc gredzens tiek uzzīmēts pāri.
   • Dažādi augstumi ar noapaļotiem iekšējiem stūriem — stūri liecas viens no
     otra un šuvē paliek V formas robs, bet augstuma starpība tam pievieno vēl
     pakāpienu.

   Kas STRĀDĀ — noņemt ģeometriju no problēmas:
   • Vienāds augstums abām, tāpēc pakāpiena nav.
   • Iekšējie stūri plakani un iekšējā mala tikai viena, tāpēc šuve ir tieša
     līnija bez roba.
   • Abas nosedz paneļa augšējo gredzenu ar 1 px, tāpēc zem tām nav līnijas.
   • Aktīvā atšķiras TIKAI ar fonu un teksta krāsu. Neko ģeometrisku. */
.seg {
  gap: 0;
}
.seg a,
.seg button {
  /* Nosedz paneļa augšējo gredzenu — citādi zem cilnēm paliek redzama līnija. */
  margin-bottom: -1px;
  padding-bottom: 1px;
}
/* Iekšējie stūri plakani, un šuvē ir tikai viena mala, nevis divas blakus.
   `-of-type`, nevis `-child`: `.seg` pirmais bērns ir slēptais `<input>` ar
   darījuma vērtību (forma strādā bez JS), tāpēc `:first-child` trāpītu tam un
   PIRKT zaudētu savu ĀRĒJO noapaļoto stūri. */
.seg a:not(:last-of-type),
.seg button:not(:last-of-type) {
  border-top-right-radius: 0;
  border-right-width: 0;
}
.seg a:not(:first-of-type),
.seg button:not(:first-of-type) {
  border-top-left-radius: 0;
}
.seg a:not([aria-current]),
.seg button[aria-pressed="false"] {
  background: oklch(96% 0.004 250 / 0.5);
  color: var(--color-neutral);
}
.seg a[aria-current],
.seg button[aria-pressed="true"] {
  background: var(--color-paper);
  color: var(--color-ink);
}

/* ── Meklētāja paneļa divtoņu augšmala (klienta atsauksme 17.09.) ───────────
   Panelis ar 20 px pārklājas ar hero bildi, un tā fons ir 62 % caurspīdīgs
   balts. Tāpēc tie 20 px rādīja tumšo bildi caur sevi un izskatījās pelēki,
   kamēr tas pats fons zemāk — uz baltas lapas — izskatījās balts. Iznāca
   divtoņu panelis: pelēks plaukts zem cilnēm un balts panelis zemāk.

   Nemainām ne pārklājumu, ne stikla caurspīdīgumu — abi ir dizaina izvēle.
   Vienkārši ieliekam zem paneļa vienlaidu pamatni, lai stikls visā augstumā
   stāv uz viena un tā paša fona. Rezultāts ir viens tonis, un stikla efekts
   pret lapu paliek. */
.search .panel {
  position: relative;
}
.search .panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--color-paper);
}

/* ── Jaunie projekti (spec 4. nod., pēc estater.lv/projekti parauga) ───────── */

.projekti {
  padding-block: var(--space-2xl);
}
.projekti-tukss {
  margin: 0;
  color: var(--color-neutral);
  max-width: 52ch;
}

.pr-saraksts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-2xl);
}

/*
 * Kartīte: bilde vienā pusē, saturs otrā, puses mijas.
 *
 * Mija ir TIKAI CSS: DOM secība paliek «bilde, saturs» visām kartītēm, tāpēc
 * tabulēšana un ekrānlasītājs iet vienādi, un mobilajā (viena kolonna) nav ko
 * atgriezt atpakaļ. `grid-template-areas` to izdara bez `order`, kas fokusa
 * secību atstātu neatkarīgu no redzamās — tas ir WCAG 1.3.2 pārkāpums.
 */
.pr-kartite {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "bilde" "saturs";
  gap: var(--space-lg);
  align-items: center;
}
.pr-kartite > .pr-bilde {
  grid-area: bilde;
}
.pr-kartite > .pr-saturs {
  grid-area: saturs;
  min-width: 0;
}

@media (min-width: 60rem) {
  .pr-kartite {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    grid-template-areas: "bilde saturs";
    gap: var(--space-xl);
  }
  .pr-kartite--otra {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-areas: "saturs bilde";
  }
}

.pr-bilde {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 1.25rem;
  background: var(--color-paper-2);
}
.pr-bilde img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pr-nosaukums {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-lg);
  line-height: 1.2;
  margin: 0 0 var(--space-sm);
}
.pr-nosaukums a {
  color: inherit;
  text-decoration: none;
}
.pr-nosaukums a:hover {
  text-decoration: underline;
}

.pr-cena {
  margin: 0 0 var(--space-md);
  font-size: var(--text-md);
  font-weight: 700;
  color: var(--color-ink);
}
.pr-cena--liela {
  font-size: var(--text-lg);
}
.pr-cena-etikete {
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-neutral);
  display: block;
}
/* Bez brīviem objektiem cenas nav — teksts paliek, bet ne kā cena. */
.pr-cena--nav {
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--color-neutral);
}

/*
 * Apraksta izvilkums: `line-clamp` CSS pusē, ne apgriezts teksts serverī.
 * Serverī apgriežot, pilnais teksts ekrānlasītājam būtu sasniedzams tikai caur
 * «Lasīt vairāk», un vārds varētu pārtrūkt pusē. Rindu skaitu dod komponente
 * caur `--rindas`, lai skaitlis būtu vienā vietā ar to lēmumu.
 */
.pr-izvilkums {
  margin: 0 0 var(--space-sm);
  color: var(--color-neutral);
  max-width: 56ch;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--rindas, 4);
  line-clamp: var(--rindas, 4);
  overflow: hidden;
}
.pr-vairak {
  margin: 0 0 var(--space-lg);
}

/* Parametru josla: ikona + etiķete + vērtība. Rindas top tikai aizpildītajām. */
.pr-josla {
  margin: 0 0 var(--space-md);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: var(--space-sm) var(--space-md);
}
.pr-josla-rinda {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  grid-template-areas: "ikona etikete" "ikona vertiba";
  column-gap: var(--space-sm);
  align-items: baseline;
}
.pr-josla .pr-ikona {
  grid-area: ikona;
  align-self: center;
  color: var(--color-focus);
}
.pr-josla dt {
  grid-area: etikete;
  font-size: var(--text-sm);
  color: var(--color-neutral);
}
.pr-josla dd {
  grid-area: vertiba;
  margin: 0;
  font-weight: 600;
  color: var(--color-ink);
}
.pr-ikona svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
}

.pr-adrese {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-neutral);
}
.pr-adrese .pr-ikona {
  color: var(--color-focus);
  flex: none;
}

/* ── Projekta lapa ─────────────────────────────────────────────────────────── */

.projekts {
  padding-block: var(--space-xl) var(--space-2xl);
}
.pr-atpakal {
  margin: 0 0 var(--space-md);
}
.pr-galva {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
  align-items: start;
  padding-block: var(--space-xl);
}
@media (min-width: 60rem) {
  .pr-galva {
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  }
}
.pr-galva h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-xl);
  line-height: 1.15;
  margin: 0 0 var(--space-sm);
}
.pr-agents {
  border: 1px solid var(--color-rule);
  border-radius: 1.25rem;
  background: var(--color-paper-2);
  padding: var(--space-lg);
}
.pr-apraksts {
  padding-block: 0 var(--space-xl);
}
.pr-apraksts p {
  margin: 0 0 var(--space-md);
  max-width: 68ch;
  color: var(--color-ink);
}
.pr-ipasumi h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-lg);
  margin: 0 0 var(--space-sm);
}
.pr-skaits {
  margin: 0 0 var(--space-md);
  color: var(--color-neutral);
}
.pr-tukss {
  margin: 0;
  color: var(--color-neutral);
}

/* Tabula ritinās horizontāli telefonā, nevis spiež lapu platāku par ekrānu. */
.pr-tabula-ietvars {
  overflow-x: auto;
  border: 1px solid var(--color-rule);
  border-radius: 1.25rem;
}
.pr-tabula {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}
/* Paraksts ir ekrānlasītājam — virsraksts virs tabulas jau pasaka to pašu. */
.pr-tabula caption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.pr-tabula th,
.pr-tabula td {
  padding: var(--space-sm) var(--space-md);
  text-align: left;
  border-bottom: 1px solid var(--color-rule);
  white-space: nowrap;
}
.pr-tabula thead th {
  font-size: var(--text-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-neutral);
  background: var(--color-paper-2);
}
.pr-tabula tbody tr:last-child th,
.pr-tabula tbody tr:last-child td {
  border-bottom: 0;
}
.pr-tabula tbody th {
  font-weight: 700;
}

/* «Tikai jaunie projekti» atzīme meklētāja precizēšanas rindā. */
.search .f-atzime {
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
  min-height: var(--touch);
}
.search .f-atzime input {
  width: 1.125rem;
  height: 1.125rem;
  flex: none;
  accent-color: var(--color-focus);
}
.search .f-atzime label {
  margin: 0;
  cursor: pointer;
}

/*
 * `.pr-rinda` un `.pr-flize` izņemti 27.09.: `ProjektaFlize.tsx` bija miris
 * komponents, ko neviens neimportēja, un ar to kopā nomira arī šis stils.
 * Sākumlapas «Jaunie projekti» rindu zīmē `components/public/sakumlapa/Projekti.tsx`.
 */
/* ── Jautājuma forma objekta un projekta lapā (spec 4. nod.) ───────────────── */

.jautajums {
  padding-block: var(--space-2xl);
}
.jautajums h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-lg);
  margin: 0 0 var(--space-sm);
}
.jautajums-lede {
  margin: 0 0 var(--space-lg);
  color: var(--color-neutral);
  max-width: 52ch;
}
.jautajums-paldies {
  margin: 0;
  padding: var(--space-lg);
  border: 1px solid var(--color-rule);
  border-radius: 1.25rem;
  background: var(--color-paper-2);
  max-width: 52ch;
}
.jautajums-forma {
  max-width: 44rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}
/* Trīs lauki rindā datorā, viens telefonā — vārds, tālrunis, e-pasts. */
.jautajums-lauki {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: var(--space-md);
}
.jautajums-forma .f {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.jautajums-forma label {
  font-size: var(--text-sm);
  color: var(--color-neutral);
}
.jautajums-forma .f-piezime {
  color: var(--color-neutral);
}
.jautajums-forma input:not([type="checkbox"]),
.jautajums-forma textarea {
  font: inherit;
  padding: 0.625rem 0.75rem;
  min-height: var(--touch);
  border: 1px solid var(--color-control-edge);
  border-radius: 0.625rem;
  background: var(--color-control-bg);
  color: var(--color-ink);
  width: 100%;
}
.jautajums-forma textarea {
  min-height: 6rem;
  resize: vertical;
}
.jautajums-forma [aria-invalid="true"] {
  border-color: oklch(55% 0.18 25);
}
/* Piekrišana ir rinda, ne kolonna: ķeksis un teksts iet blakus. */
.jautajums-forma .f-piekrisana {
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.jautajums-forma .f-piekrisana input {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.2rem;
  flex: none;
  accent-color: var(--color-focus);
}
.jautajums-forma .f-piekrisana label {
  flex: 1 1 18rem;
  color: var(--color-ink);
}
.jautajums-forma .f-kluda {
  margin: 0;
  font-size: var(--text-sm);
  color: oklch(45% 0.18 25);
}
.jautajums-forma button[type="submit"] {
  align-self: start;
}

/* Kājenes soctīklu rinda. Parādās tikai tad, ja `data/soctikli.ts` ir aizpildīts. */
.foot .soctikli ul {
  list-style: none;
  margin: 0;
  padding: var(--space-md) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}
.foot .soctikli a {
  min-height: var(--touch);
  display: inline-flex;
  align-items: center;
}

/* Ātrā meklēšana: cena ir pamata izvēle, platība un istabas — papildu. */
.papildu-filtri { display: block; grid-column: span 2; }
.papildu-lauki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.papildu-filtri[open] > summary { display: none; }
.searchcard [hidden], .sellform [hidden] { display: none !important; }
.panel-foot > .sellcta { margin-top: var(--space-sm); }
.notirit-filtrus { display: inline-flex; align-items: center; min-height: var(--touch); }
.foto-piezime { color: var(--color-neutral); font-size: .875rem; margin-block: var(--space-md); }
.formas-privatums { display: block; grid-column: 2; margin-top: var(--space-sm); }
@media (max-width: 60rem) {
  .papildu-filtri { display: block; grid-column: 1 / -1; }
  .papildu-filtri > summary, .papildu-filtri[open] > summary {
    display: list-item; cursor: pointer; min-height: var(--touch); padding-block: .75rem;
    font-weight: 600;
  }
  .papildu-lauki { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); padding-bottom: var(--space-sm); }
  #meklet-forma .fields { grid-template-columns: 1fr; }
  #meklet-forma .zone { padding-block: .75rem; }
  #meklet-forma .panel-foot { padding-top: .5rem; }
  #meklet-forma .panel-foot > .sellcta { display: flex; justify-content: center; }
}
@media (max-width: 40rem) {
  #meklet-forma .tile { min-height: var(--touch); padding: .5rem .75rem; align-items: center; }
  #meklet-forma .tile .ts { display: none; }
}

/* ===========================================================================
   11 · Sākumlapas sadaļas (līguma 6.16; virziens A v2, apstiprināts 22.09.)
   ---------------------------------------------------------------------------
   Pārnests no maketa `v2-lapa.html`. Neviena esošā klase netiek pārrakstīta —
   viss ir `.sl-` priedēklī, un kartīte paliek tā pati `.card`, kas sarakstos.
   Mainās TIKAI režģis: katrai sadaļai savs, lai lapa neizskatās pēc viena
   gara galerijas blāķa (klienta 20.09. iebildums).

   Maketa `.sl-hero` un `.sl-birka` te NAV: tie bija maketa paskaidrojumi.
   =========================================================================== */

/* Sadaļas apvalks. Fons mijas balts / `--color-paper-2`, lai sadaļu robeža ir
   redzama arī tad, kad divām sadaļām ir līdzīgs saturs. */
.sl-sec {
  padding-block: var(--space-2xl);
  border-top: 1px solid var(--color-rule);
}
.sl-band { background: var(--color-paper-2); }
/* «Visi …» uz pelēkās joslas (23.09., Codex P1-05). `--color-focus` (55 %) uz balta
   papīra dod 4,91:1 un iztur, bet uz `--color-paper-2` tikai 4,11:1 — zem AA robežas
   parastam tekstam. 16 px trekns vēl NAV «lielais teksts» (tam vajag 18,66 px), tāpēc
   3:1 izņēmums te neder, un pasvītrojums teksta kontrastu neaizstāj.

   Jaunu tokenu netaisu: `--color-focus-ink` (50 %) šim jau pastāv un ir aprakstīts kā
   «zelts TEKSTAM» — uz pelēkā tas dod 5,10:1. Ceturtais zelts paletē maksātu vairāk
   nekā iegūtu. Globālais `--color-focus` paliek neaiztikts, kā norunāts. */
.sl-band .tlink { color: var(--color-focus-ink); }

/* Horizontālā kartīte: tā pati `.card` informācija, bilde sānos, ne virs.
   Lieto «Jaunāko» sarakstā un komercīpašumos. */
.sl-h { --sl-ph: 42%; }
.sl-h .card-link { flex-direction: row; gap: var(--space-md); align-items: start; }
.sl-h .ph { flex: 0 0 var(--sl-ph); border-radius: 1rem; }
.sl-h .info { min-width: 0; }
/* Sirds vienmēr uz bildes, arī sīkbildē (Viestura lēmums 22.09.; klienta B5 —
   smalka, netraucē bildei). `.fav` ir ārpus `.card-link`, tāpēc tā nevar būt
   `.ph` bērns; bildes labā mala ir `--sl-ph` no kartītes platuma, un sirds stāv
   pie tās. `align-items: start` augstāk ir tāpēc, lai bilde vienmēr būtu kartītes
   augšā — centrēta tā aizbēgtu no sirds, tiklīdz teksts kļūst garāks par bildi.
   Vizuāli 2 rem, skāriena laukums paliek `--touch` caur `::before`. */
.sl-h .fav {
  right: auto;
  left: calc(var(--sl-ph) - 2rem - var(--space-sm));
  top: var(--space-sm);
  width: 2rem;
  height: 2rem;
}
.sl-h .fav svg { width: 16px; height: 16px; }

/* 1 · Jaunākie: viena liela kartīte (7) + saraksts ar bildi sānos (5). */
.sl-lead {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  list-style: none;
  margin: 0;
  padding: 0;
}
.sl-lead > .card .ph { aspect-ratio: 3 / 2; }
.sl-lead > .card .price { font-size: var(--text-lg); }
.sl-rindas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sl-rindas .card { padding-block: var(--space-md); border-bottom: 1px solid var(--color-rule); }
.sl-rindas .card:first-child { padding-top: 0; }
.sl-rindas .sl-h { --sl-ph: 34%; }
/* Rindām ir augšējā atkāpe (izņemot pirmo) — sirds seko bildei, ne kartītei. */
.sl-rindas .card:not(:first-child) .fav { top: calc(var(--space-md) + var(--space-sm)); }

/* 3 · Mājas: tas pats `.sl-lead`, kas «Jaunākajiem» (Viestura lēmums 22.09.;
   stikla paneļa variants noraidīts recenzijā). */

/* 4 · Komercīpašumi: horizontālas kartītes divās kolonnās. */
.sl-komerc {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg) clamp(1.5rem, 4vw, 3rem);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 5 · Zeme un 6 · Projekti: trīs kolonnas, platāks kadrs (ainava, ne interjers). */
.sl-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sl-3 .ph { aspect-ratio: 16 / 10; }
/* Projektam nosaukums ir svarīgāks par cenu — tas ir īpašvārds, ne skaitlis. */
.sl-proj .addr {
  font-family: var(--font-display);
  font-size: var(--text-md);
  font-weight: 400;
  color: var(--color-ink);
}
.sl-fakti { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.sl-fakti span {
  font-size: var(--text-sm);
  font-weight: 600;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  padding: 3px 10px;
  background: var(--color-control-bg);
}

/* 7 · Jaunumi: tikai teksts ar līniju augšā — tā pati valoda, kas bija
   izņemtajam 01–04 pakalpojumu blokam. */
.sl-jaunumi {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.sl-jaunumi li { border-top: 1px solid var(--color-control-edge); padding-top: var(--space-md); }
.sl-jaunumi time { font-size: .72rem; font-weight: 700; letter-spacing: .1em; color: var(--color-focus); }
/* Bez pasvītrojuma (Viestura lēmums 22.09.): Unbounded ar pārlūka noklusējuma
   svītru izskatās smagi, un maketā tās nav. Ka tā ir saite, pasaka kursors,
   fokusa gredzens un `:hover` krāsa. */
.sl-jaunumi h3 a {
  text-decoration: none;
  color: inherit;
}
.sl-jaunumi h3 a:hover {
  color: var(--color-focus);
}
.sl-jaunumi h3 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-md);
  margin: var(--space-sm) 0;
  line-height: 1.3;
}
.sl-jaunumi p { margin: 0; font-size: var(--text-sm); color: var(--color-neutral); }

/* Telefons: viena kolonna; kartīšu rindas velk sāniski.
   `margin-inline` ar negatīvu atstarpi ļauj rindai sākties pie ekrāna malas,
   bet lapa horizontāli nepārplūst — ritina rinda, ne dokuments. */
@media (max-width: 40rem) {
  .sl-sec { padding-block: var(--space-xl); }
  .sl-lead,
  .sl-komerc,
  .sl-jaunumi { grid-template-columns: 1fr; }
  .sl-snap {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    margin-inline: calc(-1 * var(--space-md));
    padding-inline: var(--space-md);
    scrollbar-width: none;
    gap: var(--space-md);
  }
  .sl-snap > .card { flex: 0 0 80%; scroll-snap-align: start; }
  .sl-h,
  .sl-rindas .sl-h { --sl-ph: 38%; }
}

/* D1 · Saite starp sludinājumu un jauno projektu (līguma 5. sadaļa, 22.09.).
   Birka stāv `.op` rindā blakus darījuma veidam, tāpēc 390 px platumā tā
   neizspiež cenu otrā rindā. */
.card .op .proj-birka {
  font-style: normal;
  font-weight: 600;
  margin-left: .5rem;
  padding: 2px 8px;
  border: 1px solid var(--color-rule);
  border-radius: 999px;
  background: var(--color-control-bg);
  color: var(--color-focus);
  white-space: nowrap;
}
.obj-projekts { margin: .25rem 0 0; font-size: var(--text-sm); }
.obj-projekts a { color: var(--color-focus); font-weight: 600; }

/* ===========================================================================
   12 · Sākumlapas meklēšanas panelis (plāna 3. sadaļa, G1-1)
   ---------------------------------------------------------------------------
   Pārnests no maketa `panelis.html` (apstiprināts 22.09.). Klases ar priedēkli
   `.pn-` ir JAUNAS; saraksta lapas filtru josla patur vecās `.seg`/`.panel` —
   tas ir cits izkārtojums ar «no–līdz» diapazoniem, un tā pārtaisīšana šajā
   solī nav pasūtīta.

   Cilnes stāv UZ paneļa malas pēc klasiskās «−1 px pārklāšanās» metodes: aktīvā
   cilne ar savu balto fonu nosedz paneļa augšmalu. `box-shadow: 0 1px 0 #fff`
   ir tāpēc, ka retina ekrānā 0,5 px apmale citādi paliek redzama kā pelēka
   svītra tieši zem aktīvās cilnes.
   =========================================================================== */
.pn-tabs {
  display: flex;
  gap: 6px;
  align-items: flex-end;
  position: relative;
  z-index: 2;
}
.pn-tabs a {
  font: 700 var(--text-sm) / 1 var(--font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  min-height: var(--touch);
  display: inline-flex;
  align-items: center;
  padding: 0 clamp(0.9rem, 3vw, 1.75rem);
  border: var(--stroke-w) solid var(--stroke);
  border-bottom: 0;
  border-radius: 0.875rem 0.875rem 0 0;
  background: oklch(99% 0.003 250 / 0.78);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  color: var(--color-ink);
  text-decoration: none;
  transition: background var(--dur-1) var(--ease-out);
}
.pn-tabs a:hover {
  background: oklch(99% 0.003 250 / 0.9);
}
.pn-tabs a[aria-selected="true"] {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  margin-bottom: -1px;
  padding-bottom: 1px;
  box-shadow: 0 1px 0 #fff;
  z-index: 3;
}
.pn-tabs a:focus:not(:focus-visible) {
  outline: none;
}
.pn-tabs a:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}
/* Trešā cilne piespiesta pa labi — klienta aplis 20.09. rāda augšējo labo stūri. */
.pn-tabs .sell {
  margin-left: auto;
}
.pn-tabs .sell:not([aria-selected="true"]) {
  color: var(--color-accent-ink);
}
.pn-tabs .sell::before {
  content: "+ ";
  font-weight: 800;
}
.pn-tabs .s {
  display: none;
}

.pn-body {
  position: relative;
  z-index: 1;
  background: #fff;
  border: var(--stroke-w) solid var(--stroke);
  /* Augšējie stūri TAISNI vienmēr — tur ir šuve ar cilnēm. */
  border-radius: 0 0 1.25rem 1.25rem;
  padding: var(--space-lg);
  box-shadow: 0 24px 60px -30px oklch(30% 0.03 255 / 0.35);
}
/* Paneļa ienākšanas animācijas NAV, un tas ir apzināti (Viestura atsauksme 22.09.).
   Specifikācija prasīja satura izgaismošanos cilnes maiņā, bet ar servera cilnēm to
   nevar izdarīt pareizi:

   1. Cilnes ir saites, tāpēc bez JavaScript animācija iet KATRĀ lapas ielādē, ne
      tikai pārslēdzoties.
   2. Ar JavaScript panelis pārslēdzas caur `display`, un `none` → redzams pats par
      sevi pārstartē CSS animāciju — JS nav pie kā vainīgs.
   3. Rezultātā baltais panelis uz 400 ms kļuva caurspīdīgs (nomērīts: `opacity`
      0,24 → 1), un cauri spīdēja hero bilde. Pirkt un Īrēt nekad tā nedarīja, jo
      tur panelis netiek paslēpts — sanāca, ka trešā cilne zibsnī, bet pārējās ne.

   Agrākā redakcija ar `translateY` bija vēl sliktāk: poga zem pirksta pabēga, un
   klikšķis 400 ms netrāpīja. */

/* Zona: etiķete kreisajā kolonnā (dators) vai virs satura (telefons). */
.z {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: var(--space-md);
  align-items: start;
  padding: var(--space-md) 0;
  border-top: var(--stroke-w) solid var(--color-rule);
}
.z:first-child {
  border-top: 0;
  padding-top: 0;
}
.zl {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-neutral);
  padding-top: 0.8rem;
}

/* Segmentēta josla ar SLĪDOŠU baltu indikatoru. Pogas platums ir satura platums
   (`flex: 1 1 auto`), lai RU garie vārdi nesaspiestu pārējos. */
.segr {
  position: relative;
  display: flex;
  background: var(--color-paper-2);
  border: var(--stroke-w) solid var(--stroke);
  border-radius: 999px;
  padding: 3px;
}
.segr::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: var(--w, 0px);
  transform: translateX(var(--x, 3px));
  border-radius: 999px;
  background: #fff;
  box-shadow:
    0 0 0 var(--stroke-w) var(--stroke),
    0 1px 3px oklch(30% 0.03 255 / 0.1);
  transition:
    transform var(--dur-2) var(--ease-out),
    width var(--dur-2) var(--ease-out);
}
/* Izņēmums stāv blakus noteikumam, ne faila otrā galā: vecais reduced-motion bloks
   uzskaita `.seg-ind` un citus vecos selektorus, un šis jaunais tur klusi neiekļuva. */
@media (prefers-reduced-motion: reduce) {
  .segr::before {
    transition: none;
  }
}
/* Bez JS (un kamēr nekas nav izvēlēts) indikatora nav vispār. `display: none` ir
   obligāts: ar `width: 0` tā `box-shadow` paliktu redzama kā tieva svītra joslas
   kreisajā malā. Aktīvo pogu tad iezīmē balts fons. */
.segr:not(.is-js)::before {
  display: none;
}
.segr:not(.is-js) button[aria-pressed="true"] {
  background: #fff;
  box-shadow: 0 0 0 var(--stroke-w) var(--stroke);
}
.segr button,
.segr a {
  flex: 1 1 auto;
  position: relative;
  z-index: 1;
  min-height: var(--touch);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-md);
  border: 0;
  border-radius: 999px;
  background: transparent;
  font: 600 var(--text-sm) / 1.2 var(--font-body);
  color: var(--color-neutral);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  transition: color var(--dur-1) var(--ease-out);
}
.segr button[aria-pressed="true"] {
  color: var(--color-ink);
  font-weight: 700;
}
.segr a {
  color: var(--color-accent-ink);
  gap: 0.4rem; /* globusa ikona + teksts (22.10.) */
}
.segr button:focus:not(:focus-visible),
.segr a:focus:not(:focus-visible) {
  outline: none;
}
.segr button:focus-visible,
.segr a:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: -2px;
}

/* Trīs izvēlnes vienā rindā — arī 390 px, ar īsajiem tekstiem. */
.sel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}
/*
 * «Norādīt…» (Arinas lūgums 20.10.): fiksētās izvēles paliek, un pēdējā izvēle pārslēdz
 * lauku uz divām ievadēm «no / līdz». Režīmu nes `.f[data-rezims]`; `publiska.js`
 * paslēpj un atslēdz to pusi, kas nav aktīva, lai formā aiziet tikai viena.
 */
.diap {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 6px;
  align-items: center;
}
.diap[hidden] {
  display: none;
}
.diap-atpakal {
  display: inline-grid;
  place-items: center;
  width: var(--touch);
  height: var(--touch);
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--color-neutral);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.diap-atpakal:hover {
  background: var(--color-paper-2);
  color: var(--color-ink);
}
.sel label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-neutral);
  margin-bottom: 4px;
}
/* Apmale ir `--color-control-edge`, ne meklētāja `--stroke` (24.09.): `--stroke` ir
   22 % caurspīdīga tinte, un uz baltās vadīklas fona tā aprēķinājās 1,53:1 — WCAG
   1.4.11 vadīklas robežai prasa 3:1. Šuves krāsa der paneļa malām, bet ne vienīgajai
   zīmei, kas pasaka, kur lauks sākas un beidzas. Izmērīts pēc maiņas: 3,95:1 gan pret
   vadīklas balto fonu, gan pret paneli aiz tās (`tests/t61-kontrasts.spec.ts`). */
.sel select,
.sel input {
  width: 100%;
  min-height: var(--touch);
  border: 1px solid var(--color-control-edge);
  border-radius: 999px; /* pill kā čipiem (Arinas labojumi 28.09.) */
  background: var(--color-control-bg);
  color: var(--color-ink);
  font: inherit;
  padding: 0 var(--space-md);
}
/* Skaitļa ievadei bez bultiņām — tās pill laukā aizņem vietu un neko nedod. */
.sel input {
  -moz-appearance: textfield;
  appearance: textfield;
}
.sel input::-webkit-outer-spin-button,
.sel input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.sel input::placeholder {
  color: var(--color-neutral);
}

/* «Rādīt» ir ĀRPUS paneļa: datorā zem tā pa labi, telefonā pilnā platumā. */
.pfoot {
  display: flex;
  justify-content: flex-end;
  padding: var(--space-md) 0 0;
}
.pfoot .go {
  min-height: var(--touch);
}

@media (max-width: 40rem) {
  .pn-tabs {
    gap: 4px;
  }
  .pn-tabs a {
    flex: 1 1 0;
    justify-content: center;
    padding: 0 0.5rem;
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    /* Augstums paliek `--touch` (44 px) arī telefonā: šeit kādreiz bija 2.6rem =
       41,6 px, un tas ir zem projekta skāriena robežas. Trīs cilnes 390 px platumā
       ietilpst tāpat — 44 px ir AUGSTUMS, platumu tas neietekmē. */
    white-space: nowrap;
  }
  /* Trešajai vairāk vietas: tās teksts ir garākais visās trīs valodās. */
  .pn-tabs .sell {
    flex-grow: 1.6;
  }
  .pn-tabs .l {
    display: none;
  }
  .pn-tabs .s {
    display: inline;
  }
  .pn-body {
    padding: var(--space-md) 0 var(--space-sm);
  }
  .z {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-md);
    border-top: 0;
  }
  .zl {
    padding-top: 0;
    font-size: 0.66rem;
  }
  /* Telefonā pelēkā bloka nav: čipi, kas lūst rindās. Redzamais augstums 40 px
     pēc maketa, bet trāpījuma laukums 44 px — sk. `::before` zemāk. */
  .segr {
    flex-wrap: wrap;
    gap: 6px;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 2px 0;
  }
  .segr::before {
    display: none;
  }
  .segr button,
  .segr a {
    flex: 0 0 auto;
    min-height: 2.5rem;
    padding: 0 0.85rem;
    font-size: 0.86rem;
    font-weight: 600;
    border: var(--stroke-w) solid var(--stroke);
    border-radius: 999px;
    background: #fff;
    color: var(--color-ink);
    transition:
      background var(--dur-1) var(--ease-out),
      color var(--dur-1) var(--ease-out);
  }
  /* Skāriena laukums paliek 44 px, lai gan čips ir 40 px: pie 6 px atstarpes
     2 px izplešanās uz katru pusi vēl atstāj 2 px brīvu, kaimiņi nepārklājas.
     Tā pati metode, kas apstiprināta sirds pogai 22.09. */
  .segr button::before,
  .segr a::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: 999px;
  }
  .segr button[aria-pressed="true"] {
    background: var(--color-ink);
    color: #fff;
    border-color: var(--color-ink);
  }
  /* Pārtraukta apmale — «Ārzemes» ved prom no meklētāja, tā nav filtra vērtība. */
  .segr a {
    border-style: dashed;
    color: var(--color-accent-ink);
  }
  .sel {
    gap: 6px;
  }
  /* «Norādīt…» tālrunī: divas ievades trešdaļā no 390 px neietilpst — lauks visā rindā. */
  .sel .f[data-rezims="pats"] {
    grid-column: 1 / -1;
  }
  .sel label {
    font-size: 0.62rem;
    letter-spacing: 0.06em;
  }
  /* 16 px, ne 0,9rem (14,4 px): iOS Safari pie ievades fokusa ar mazāku burtu
     izmēru pats pietuvina lapu, un atpakaļ tā neatgriežas. Tieši šeit tālrunī ir
     OS saraksts, tāpēc cena ir tuvinājums visai sākumlapai. */
  .sel select,
  .sel input {
    padding: 0 0.6rem;
    font-size: 1rem;
  }
  .pfoot {
    padding: var(--space-md);
  }
  .pfoot .go {
    width: 100%;
  }
}

/* Piedāvājuma forma paneļa trešajā cilnē (G1). Tie paši lauki, kas bija atsevišķajā
   lapā — `.sellform` iekšējo marķējumu neaiztiekam, tikai pieskaņojam platumam. */
.pn-body .sellform .steps {
  gap: var(--space-lg);
}
@media (max-width: 40rem) {
  .pn-body .sellform {
    padding-inline: var(--space-md);
  }
}

/* Abi paneļa saturi ir DOM-ā; redzamo izvēlas `hidden`. Skaidrs noteikums tāpēc,
   ka `.pn-body` ir `position: relative` ar savu fonu, un daži atiestatījumi
   `[hidden]` noklusējumu pārraksta — tad abi paneļi būtu redzami viens zem otra. */
.pn-body[hidden],
.pfoot[hidden] {
  display: none;
}

/* Lielās kartītes teksts divās kolonnās (Viestura atsauksme 22.09.).
   Zem platās bildes cena aizņēma trešdaļu rindas, bet adrese un meta stāvēja zem
   tās — četras rindas tur, kur pietiek ar divām. Blakus rindas kartītes to nedara:
   tām teksta kolonna ir par šauru, un adrese lūztu divās rindās. */
.sl-lead > .card .info {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: clamp(1rem, 3vw, 2.5rem);
}
.sl-lead > .card .op {
  grid-column: 1 / -1;
}
/* Cena stiepjas pāri abām teksta rindām un tiek centrēta pret tām. */
.sl-lead > .card .price {
  grid-column: 1;
  grid-row: 2 / span 2;
  align-self: center;
}
.sl-lead > .card .addr {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
}
.sl-lead > .card .meta {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
}

@media (max-width: 40rem) {
  /* Telefonā kartīte ir pilna platuma, bet tas ir ~350 px — divas kolonnas tur
     saspiestu adresi divās rindās, un ietaupījums pazustu. */
  .sl-lead > .card .info {
    display: flex;
    flex-direction: column;
  }
  /* Datora `align-self` (center/end/start) kolonnā nozīmē HORIZONTĀLU izlīdzinājumu —
     cena stāvēja centrā, adrese pie labās malas (22.10.). Kolonnā visi pie kreisās. */
  .sl-lead > .card .info > * {
    align-self: stretch;
  }
}

/* CMS lapās saraksts ir numurētas kartītes (19.10.) — atstarpe no rindkopām abās pusēs. */
.legal.privatums ol,
.legal.privatums ul.punkti {
  margin: var(--space-md) 0 var(--space-lg);
}
/* Juridiskie punkti ar rakstītu numuru (3.1., 3.5.1.; 20.10.): bez kartītēm, numurs no teksta,
   atkāpe pēc līmeņa nāk no `SaturaBloki` (`margin-inline-start`). */
.legal ul.punkti {
  list-style: none;
  margin: 0;
  padding: 0;
}
.legal ul.punkti li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.6em;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-block-end: var(--space-sm);
  font-size: inherit;
  line-height: 1.6;
}
.legal ul.punkti li::before {
  content: none;
}
.legal .punkta-nr {
  color: var(--color-focus);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* Privātuma politika: arī `- ` saraksts ir parasts saraksts, ne «Par mums» kartītes. */
.legal.bez-kartem ol {
  display: block;
  list-style: disc;
  padding-inline-start: 1.25em;
}
.legal.bez-kartem ol li {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-block-end: var(--space-xs);
  font-size: inherit;
  line-height: 1.6;
}
.legal.bez-kartem ol li::before {
  content: none;
}

/* ===========================================================================
   13 · Mobilā sākumlapa (22.10., Viestura lūgums «nopulēt pēc 2026 standartiem»)
   ---------------------------------------------------------------------------
   Viens bloks faila beigās, lai visu mobilās pulēšanas loģiku var izlasīt kopā un tā
   kaskādē uzvar agrākos ≤40rem noteikumus ar to pašu specifiskumu.

   Princips: telefonā meklētājs runā tajā pašā valodā kā datorā — pelēka sliede ar baltu
   aktīvo segmentu —, nevis atsevišķu čipu kaudze, kas lūst nevienādās rindās. Visas
   etiķetes vienā līnijā un vienā izmērā; vadīklas 44–48 px; burti ≥ 16 px tur, kur iOS
   citādi tuvina lapu.
   =========================================================================== */
@media (max-width: 40rem) {
  /* — Cilnes — */
  .pn-tabs a {
    font-size: 0.7rem;
    letter-spacing: 0.05em;
  }

  /* — Zonas un etiķetes: viena kreisā mala, viens izmērs — */
  .pn-body {
    padding: var(--space-md) 0 var(--space-xs);
  }
  .z {
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md) var(--space-md);
  }
  .zl,
  .pn-body .f label,
  .pn-body .sel label {
    padding-left: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    color: var(--color-neutral);
  }

  /* — Segmentu sliede (tas pats, kas datorā, bet režģī) — */
  .segr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    background: var(--color-paper-2);
    border: var(--stroke-w) solid var(--stroke);
    border-radius: 1.375rem;
    position: static;
  }
  /* «Kur?» — segmenti satura platumā (kā datorā), ne trīs vienādas trešdaļas: «Rīgas
     rajons» trešdaļā lūza divās rindās, kamēr «Rīga» stāvēja tukšumā. */
  .z-kur .segr {
    display: flex;
    border-radius: 999px;
  }
  .z-kur .segr button {
    flex: 1 1 auto;
    padding: 0 0.75rem;
    white-space: nowrap;
  }
  .segr button {
    min-height: var(--touch);
    padding: 0 0.5rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--color-neutral);
    font: 600 0.9375rem / 1.15 var(--font-body);
    letter-spacing: 0;
    text-align: center;
    white-space: normal; /* RU «Рижский район» drīkst lūzt, nevis izbīdīt sliedi */
    -webkit-tap-highlight-color: transparent;
  }
  /* 44 px poga ir pati trāpījuma laukums — paplašinājums vairs nav vajadzīgs. */
  .segr button::before {
    content: none;
  }
  .segr button[aria-pressed="true"] {
    background: #fff;
    color: var(--color-ink);
    font-weight: 700;
    box-shadow:
      0 0 0 var(--stroke-w) var(--stroke),
      0 1px 3px oklch(30% 0.03 255 / 0.12);
  }
  .segr button:active {
    background: oklch(100% 0 0 / 0.6);
  }

  /* — «Ārzemēs»: saite, ne filtra vērtība → etiķetes rindā labajā pusē — */
  .z-ko {
    position: relative;
  }
  .segr a.arzemes {
    position: absolute;
    top: 0; /* `.z:first-child` augšējā atkāpe ir 0 — tā pati līnija, kas `.zl` */
    right: var(--space-md);
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    gap: 0.35rem;
    font: 600 0.8125rem / 1 var(--font-body);
    color: var(--color-focus); /* zelts — lasās kā saite (4,9:1 uz balta) */
    text-decoration: none;
  }
  /* Trāpījuma laukums 44 px augstumā, lai gan teksts ir mazs. */
  .segr a.arzemes::before {
    content: "";
    position: absolute;
    inset: -0.9rem -0.5rem;
    border-radius: 0.5rem;
  }
  .segr a.arzemes:active {
    opacity: 0.7;
  }

  /* — Izvēlnes: 48 px, 16 px burti (iOS netuvina), viena forma ar sliedi — */
  /* Trešdaļā no 390 px laukam ir ~104 px, 360 px — ~94 px. «Jebkura» 16 px treknrakstā
     vajag 61 px (izmērīts), tāpēc atkāpes 10 + 22 px un bultiņa 0,6 rem: tekstam paliek
     72 / 62 px. Garāka izvēlēta vērtība («līdz 150 000 €») beidzas ar daudzpunkti. */
  .pn-body .f select {
    height: 3rem;
    font-size: 1rem;
    font-weight: 600;
    padding-inline: 0.625rem 1.375rem;
    background-position: right 0.625rem center;
    background-size: 0.6rem auto;
    text-overflow: ellipsis;
  }
  .pn-body .sel {
    gap: 4px;
  }
  /* «Precizēt» virs «Cena · Platība · Istabas» bija otrs etiķešu stāvs bez jaunas ziņas —
     lauku etiķetes pasaka to pašu. Vizuāli paslēpts, ekrānlasītājam paliek. */
  .z-precizet > .zl {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .pn-body .f {
    gap: 0.375rem;
  }
  .fields-regions {
    margin-top: var(--space-sm);
  }
  .pfoot {
    padding: var(--space-sm) var(--space-md) 0;
  }

  /* — Sadaļu galvenes: virsraksts, zem tā saite; vienāds ritms visās sadaļās — */
  .hang {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
  }
  .hang h2 {
    font-size: 1.375rem;
    line-height: 1.2;
  }
  .hang .tlink {
    font-size: 0.9375rem;
  }

  /* — Kartīšu rindas — */
  .sl-snap {
    /* Pievilkšana pie lapas atkāpes, ne pie ekrāna malas: bez `scroll-padding`
       `scroll-snap-align: start` pievilka pirmo kartīti pie x = 0 un atkāpe pazuda. */
    scroll-padding-inline: var(--space-md);
    /* Velkot rindu līdz galam, Safari nesāk «atpakaļ» žestu un lapa neraustās. */
    overscroll-behavior-x: contain;
    padding-bottom: 2px;
  }
  .sl-snap > .card {
    flex-basis: 82%;
  }
  /* Parādīšanās animācija rindā NAV (22.10.): sāniski ārpus ekrāna esošās kartītes
     IntersectionObserver neredz, tāpēc tās palika neredzamas 18 px zemāk un «uzbrauca»
     tikai tad, kad rindu pavilka. Rinda parādās kopā ar sadaļu. */
  .sl-snap > .reveal {
    opacity: 1;
    translate: none;
    transition: none;
  }
  .card-link {
    -webkit-tap-highlight-color: transparent;
  }
  .card .ph img {
    -webkit-touch-callout: none;
    -webkit-user-drag: none;
  }

  /* — Pielipušās galvenes filtru rinda: labajā malā izbalē, lai redzams, ka to var vilkt;
     atkāpe beigās ļauj pēdējo čipu izvilkt ārā no izbalējuma — */
  .gnav-filters {
    padding-inline-end: 2rem;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), transparent);
  }

  /* — Kājene — */
  .foot .fwm .logo {
    height: 2.3rem;
  }
  .foot .cols > div:first-child > span {
    display: block;
  }
  .foot .cols > div:first-child br {
    display: none;
  }
  .foot .tag {
    margin-bottom: var(--space-sm);
  }
  /* Saišu grupas divās kolonnās: viena kolonna padarīja kājeni par ~2000 px garu sarakstu.
     Saites paliek 44 px augstas (T61); garākais teksts («Juridiskie pakalpojumi») ietilpst
     pusē no 358 px. */
  .foot .cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-md);
    row-gap: var(--space-lg);
  }
  .foot .cols > div:first-child {
    grid-column: 1 / -1;
  }
  /* «Uzņēmums» (sešas saites) visā platumā, saites tajā divās kolonnās — tā abas
     rindas ir līdzsvarā; savā pusē tas stāvēja viens ar tukšu otru kolonnu. */
  .foot .cols > div:nth-child(4) {
    grid-column: 1 / -1;
  }
  .foot .cols > div:nth-child(4) ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-md);
  }
  .foot h2 {
    margin-bottom: var(--space-xs);
  }
}
