/* deliuvis.lt – stilius pagal deliuvis.com. Spalvos, šriftai ir dydžiai: docs/dizaino-planas.md
   (visos reikšmės paimtos iš https://deliuvis.com/assets/styles.css, 2026-09-17). */

/* Šrifto failus daro tools/subset-fonts.mjs iš source/sriftai/ (plotis užfiksuotas ties 100, svoris 100–900);
   latin-ext be Latin Extended Additional, †, ℓ ir valiutų ženklų – todėl jo unicode-range trumpesnis (2026-10-09).
   Archivo – SIL Open Font License 1.1; licencijos tekstas guli šalia failų: assets/fonts/OFL.txt (2026-10-12, P-023). */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/archivo-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;
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/archivo-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;
}

:root {
  /* deliuvis.com :root */
  --brand: #2F2483;
  --brand-dk: #21195C;
  --brand-soft: #ECE9F7;
  --paper: #FCFCFB;
  --zinc: #EFF2F5;
  --ink: #12171C;
  --steel: #5B6570;
  --rule: #D4D9DF;
  --amber: #B87503;
  --error: #B3261E;
  --success: #1B7F4B;

  --font: Archivo, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fs-xl: clamp(36px, 5.5vw, 62px);
  --fs-lg: clamp(23px, 2.8vw, 32px);
  --fs-md: 17px;
  --fs-sm: 14px;

  --gut: clamp(20px, 4vw, 64px);
  /* Skaitomo teksto plotis. 34rem = 544 px ≈ 74 tikri simboliai 17 px tekste
     (matuota naršyklėje, ne `ch` vienetais – `ch` yra skaitmens plotis ir duoda
     apie trečdaliu daugiau simbolių, nei rodo skaičius). Skaitoma riba ~75. */
  --measure: 34rem;
  /* Turinio juosta praplatinta 2026-09-20 (savininko prašymu): 1280 -> 1440 px.
     Paraštės (`--gut`) nekeistos, todėl tikras teksto plotis plačiame ekrane yra
     1440 - 2x64 = 1312 px (buvo 1152 px). Žemiau 1280 px niekas nesikeičia: ten
     ribą lemia ne ši reikšmė, o paties lango plotis. Juostos mygtukų riba tada liko 1280 px (prie 1280 px lango
     turinys ~1177 px); nuo 2026-10-13 ji – 1350 px (septyni mygtukai, žr. „Skyrių mygtukai firminėje juostoje“). */
  --maxw: 1440px;
  --sec-pad: clamp(40px, 5vw, 72px);
  --top-h: 78px;
}

/* ---------- Pagrindas ---------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

body {
  margin: 0;
  /* 100dvh (2026-10-21, P-056 Safari/Firefox patikra): iPhone Safari 100vh skaičiuoja be naršyklės juostų, todėl trumpas
     puslapis (404, „Patikrinkite el. paštą“) slinkdavo be reikalo, poraštė – po ekrano kraštu. Kur dvh nėra, lieka 100vh. */
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
  font-size: var(--fs-md);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

main { flex: 1 0 auto; padding-bottom: var(--sec-pad); }

img { max-width: 100%; height: auto; display: block; }
[hidden] { display: none !important; }

h1, h2, h3 { font-weight: 600; letter-spacing: -0.025em; margin: 0; text-wrap: balance; }
h1 { font-size: var(--fs-xl); line-height: 1.05; letter-spacing: -0.03em; }
h2 { font-size: var(--fs-lg); line-height: 1.15; }
h3 { font-size: var(--fs-md); font-weight: 700; letter-spacing: -0.005em; }
p, ul, ol, dl, dd { margin: 0; }

a { color: var(--brand); text-decoration: none; border-bottom: 1px solid var(--rule); }
a:hover { color: var(--brand-dk); border-bottom-color: var(--brand-dk); }

:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }

/* Prilipusi juosta (.top) neuždengia nei vietos, į kurią veda nuoroda, nei klaviatūra fokusuoto elemento (2026-10-12,
   P-023). Atstumą laiko slinkimo konteineris: iki tol buvo `[id] { scroll-margin-top }`, kuris galioja tik elementams su
   id, todėl einant atgal (Shift+Tab) varnelės ir kortelių nuorodos atsidurdavo po juosta. */
html { scroll-padding-top: calc(var(--top-h) + 16px + env(safe-area-inset-top)); scroll-padding-bottom: 16px; }

.wrap {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding-left: max(var(--gut), env(safe-area-inset-left));
  padding-right: max(var(--gut), env(safe-area-inset-right));
}

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  left: var(--gut);
  top: -4rem;
  z-index: 100;
  padding: 10px 16px;
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--ink);
}
.skip-link:focus { top: 10px; }

/* Įspėjimas „stiliai neįsikėlė“ HTML'e: matomas tik tada, kai šis failas neįsikėlė */
.load-check { display: none !important; }

/* Faktų šaltinio žymekliai (README „Faktų būsena“).
   SAVININKO SPRENDIMAS 2026-09-19: lankytojas jų nebemato. Klasės LIEKA žymėjime,
   nes pagal jas verify.mjs tikrina, kurie faktai dar nepatvirtinti (žr. „Faktų būsena“).
   Vizualiai neberodoma nieko: nei pabraukimų, nei spalvų, nei rėmelių.
   Tai uždaro diegimo sąrašo punktą B3 (docs/diegimas-testas.md).
   NENAUDOTI display:none – tekstas turi likti skaitomas, paslepiamas tik žymeklis. */
.src-confirmed,
.src-old,
.src-invented {
  text-decoration: none;
  border-bottom: 0;
  color: inherit;
  background: none;
}

/* Tekstas iš viešų šaltinių, kurio įmonė dar nepatvirtino (.verify).
   Klasė lieka, bet jokio matomo apvado ar spalvos nebėra. Paaiškinimo pastraipa
   (.notice) lankytojui nerodoma – ji buvo darbinė žyma, o ne turinys. */
.verify { border-left: 0; padding-left: 0; }
.verify > .notice { display: none; }
/* Šaltinių eilutė po tekstu iš viešų šaltinių – matoma (naudotojas 2026-10-12, P-023: CC BY reikalauja nurodyti šaltinį) */
.sources { margin-top: 16px; max-width: var(--measure); font-size: var(--fs-sm); color: var(--steel); }
/* `.todo` ir `.todo--block` (nežinomi duomenys, pastabos „… nuotraukos dar neįkeltos“) – nebereikalingi nuo 2026-10-07:
   visos nuotraukos tikros, kontaktai statiniai (site.js jų nebeįkelia). Versija – commit'e 49d7e67. */

/* ---------- Viršutinė juosta: kaip deliuvis.com .top (styles.css 73–96, 662–676, 709–711) ----------
   Skirtumai: 5 nuorodos ir telefonas netelpa iki 760 px, todėl meniu mygtukas rodomas nuo 1080 px;
   mygtuke vietoj „Kontaktai“ telefonas; telefone vietoj EN/LT jungiklio skambinimo mygtukas tokio pat dydžio;
   fokuso žiedas ant firminės spalvos baltas (deliuvis.com jis firminės spalvos ir nesimato). */

.top { position: sticky; top: 0; z-index: 50; background: var(--brand); padding-top: env(safe-area-inset-top); }
/* DU JUOSTOS VARIANTAI (savininko sprendimas 2026-09-19), vienas komponentas:
   - pradinis puslapis (.top--home): tik logotipas, centruotas ir didelis;
   - visi kiti: logotipas kairėje, mažesnis, o už jo – skyrių mygtukai.
   Žymėjimas abiem atvejais tas pats, skiriasi tik klasė ant <header> ir aria-current. */
.top-in { position: relative; display: flex; align-items: center; gap: 20px; height: 78px; }
.top--home .top-in { justify-content: center; gap: 26px; }
.top a { border-bottom: 0; }
.top :focus-visible { outline-color: #fff; }

.brandmark { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: 0 0 auto; }
/* Navigacijos juostoje logotipas tarnauja kaip nuoroda į pradžią, tad 30 px pakanka.
   Pradiniame puslapyje jis vienintelis juostoje, todėl gali būti akcentas (44 px). */
.logo-mark { height: 30px; width: auto; display: block; }
.top--home .logo-mark { height: 44px; }

/* Telefono juostoje nebėra (savininko sprendimas 2026-09-19). Kur jis yra dabar:
   turgaus +370 612 97937 – /automobiliu-turgus/ ir /turgaviete/ antraštėse (`.hero__facts`),
   malūno +370 614 78128 – malūno antraštėje, degalų +370 686 36444 – degalinių antraštėje
   su žymekliu (nepatvirtintas), visi rekvizitai – poraštėje. Pradinio puslapio plytelėje
   telefono NĖRA: joje liko tik pavadinimas ir nuotrauka (2026-09-19).
   Meniu panelėje siaurame ekrane buvusios skambinimo eilutės „Skambinti …“ irgi nebėra
   (savininkas 2026-10-06), poraštėje telefono – taip pat.
   Skyrių nuorodos: pradiniame puslapyje – penkios plytelės, kituose – mygtukai šioje
   juostoje (nuo 1350 px), siauriau – meniu mygtukas su tuo pačiu `#nav` sąrašu. */
.nav { display: none; gap: 8px; }
.icon-external { display: inline-block; width: 0.8em; height: 0.8em; vertical-align: -0.05em; }

/* ---------- Skyrių mygtukai ----------
   Buvusi atskira `.page-nav` juosta po antrašte pašalinta 2026-09-19: tie patys mygtukai
   dabar gyvena firminėje juostoje (žr. žemiau) arba, siauruose ekranuose, meniu panelėje.
   Šis blokas aprašo mygtukų išvaizdą ŠVIESIAME fone – t. y. atvertoje meniu panelėje. */

.js .nav.open a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 8px 16px;
  font-size: var(--fs-sm);
  font-weight: 600;
  /* Laužoma (2026-09-28): tada meniu buvo „Automobilių pardavimo ir saugojimo paslaugos“, kuris 360 px panelėje
     vienoje eilutėje netilpo (~330 px teksto 320 px juostoje). Nuo 2026-10-06 – „Prekyba automobiliais“; laužymas
     paliktas, jei užrašas vėl pailgėtų. */
  white-space: normal;
  line-height: 1.25;
  color: var(--ink);
  text-decoration: none;
  border: 2px solid var(--steel);
  border-radius: 999px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.js .nav.open a:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.js .nav.open a[aria-current="page"] { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Meniu mygtukas (2026-09-22): DU DYDŽIAI.
   - Paspaudimo plotas – pats <button>, 44 × 44 px, nematomas (be rėmelio).
   - Matomas rėmelis – ::before, `--burger-box` dydžio, visada tokio pat aukščio
     kaip logotipas šalia jo. Buvo 44 × 44 matomas rėmelis, kuris
     šalia 30–32 px logotipo atrodė per aukštas.
   Piešinys pagal savininko pavyzdį (2026-09-22, antras bandymas): kvadratas be
   užpildo, 1 px baltas rėmelis 55 % permatomumo, statūs kampai; viduje trys 2 px
   brūkšniai, kiekvienas ~47–50 % rėmelio pločio (14 px 30 px rėmelyje, 16 px –
   32 px), tarpai po 4 px, aplink – tuščias laukas (8–9 px iš viršaus ir apačios).
   Visi skaičiai sveiki, tad linijos nesusilieja per pusę pikselio.
   Neigiama kairė paraštė pastumia mygtuką taip, kad MATOMAS rėmelis stovėtų ties
   `--gut` (turinio kraštu), o nematomi 6–7 px paspaudimo ploto išeina į paraštę.
   KAI RODOMAS, naudoti `display: flex`, ne `block` (žr. media užklausas žemiau). */
.burger {
  --burger-box: 30px;   /* = logotipo aukštis: 30 px virš 760 px, 32 px ≤760 px, 30 px ≤360 px */
  --burger-line: 14px;  /* ≈ 47–50 % rėmelio pločio */
  position: relative;
  display: none; flex-direction: column; justify-content: center; align-items: center; gap: 4px;
  flex: none; width: 44px; height: 44px; padding: 0;
  margin-left: calc((var(--burger-box) - 44px) / 2);
  background: none; border: 0; border-radius: 0; cursor: pointer;
}
.burger::before {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: var(--burger-box); height: var(--burger-box); transform: translate(-50%, -50%);
  box-sizing: border-box; border: 1px solid rgba(255, 255, 255, 0.55); border-radius: 0;
  background: none; pointer-events: none;
}
.burger i { display: block; width: var(--burger-line); height: 2px; background: #fff; margin: 0; border-radius: 0; }
/* Fokuso žiedas ant matomo rėmelio, ne ant nematomo 44 px ploto */
.top .burger:focus-visible { outline: none; }
.top .burger:focus-visible::before { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 760px) { .burger { --burger-box: 32px; --burger-line: 16px; } }
@media (max-width: 360px) { .burger { --burger-box: 30px; --burger-line: 14px; } }

/* ---------- Skyrių mygtukai FIRMINĖJE juostoje (tik ne pradiniame puslapyje) ----------
   RIBA 1350 px IŠMATUOTA, ne atspėta (2026-10-13, naudotojas, P-029: meniu – septyni punktai, malūnui du ir
   „Draudimas“; iki tol penki ir riba 1280 px). Septyni mygtukai su tarpais – 1038 px, logotipas 159 px, mažiausias
   tarpas tarp jų 20 px: reikia 1217 px. Turinio plotis – 92 % lango pločio: 1280 px lange 1178 px (netelpa, mygtukus
   nukirptų `overflow-x: clip`), 1350 px lange su slinkties juosta (1333 px) – 1226 px, 1366 px nešiojamajame – 1241–1257 px.
   Siauriau rodomas meniu mygtukas, o ta pati eilutė su aria-current atsiveria panelėje. Pridedant ar ilginant
   punktą – permatuoti (tmp/p029/matuoti.mjs nav darė tai 2026-10-13).
   Dėl to paraštės ir tarpai čia mažesni nei šviesiame fone. */
@media (min-width: 1350px) {
  /* flex-direction: row būtina aiškiai: `.js .nav` žemiau nustato column meniu panelei,
     o ji galioja visuose pločiuose. Be šios eilutės mygtukai juostoje stotųsi stulpeliu. */
  .top:not(.top--home) .nav { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; margin-left: auto; }
  /* 2026-09-21: `.nav a.nav-external { display: none }` PAŠALINTA (savininko
     sprendimas). Iki tol deliuvis.com nuoroda juostoje buvo slepiama nuo 1280 px –
     žymėjime ji visada buvo, tik nematoma, todėl atrodė, lyg jos iš viso nebūtų.
     Ankstesnis paaiškinimas („šeši mygtukai nebetilptų“) neatitiko tikrovės:
     tada skaičiuota kartu su telefono mygtuku, o jis juostoje irgi nerodomas.
     Permatuota – žr. docs/dizaino-planas.md. */
  .top:not(.top--home) .nav a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 8px 12px;
    font-size: var(--fs-sm);
    font-weight: 600;
    white-space: nowrap;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 999px;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
  }
  .top:not(.top--home) .nav a:hover { background: #fff; border-color: #fff; color: var(--brand); }
  /* Esamas puslapis: baltas užpildas ir firminės spalvos tekstas */
  .top:not(.top--home) .nav a[aria-current="page"] { background: #fff; border-color: #fff; color: var(--brand); }
  /* Buvęs .nav-wrap (ilgo pavadinimo laužymas į dvi eilutes) pašalintas 2026-09-28:
     meniu užrašas dabar trumpas – „Prekyba automobiliais“ (savininkas 2026-10-06; iki tol „Automobilių paslaugos“). */
}

/* Meniu mygtukas rodomas visur, kur mygtukų eilutė netelpa.

   LOGOTIPAS CENTRE, KAI RODOMAS MENIU MYGTUKAS (2026-09-22, visuose puslapiuose;
   anksčiau – tik pradiniame). Mygtukas lieka sraute ir prisiglaudžia prie `.wrap`
   kairiosios paraštės (`--gut`), o logotipas išimamas iš srauto ir centruojamas
   pagal visą juostos plotį.

   `width: max-content` – TAI yra pataisymas. Be jo absoliučiai pozicionuotas
   `.brandmark` su `left: 50%` gauna tik pusę juostos pločio (360 px lange – 180 px),
   o `img { max-width: 100% }` logotipą į tą plotį suspausdavo: 44 px aukščio
   logotipui reikia 232 px, tad SVG būdavo įtalpinamas į 180 × 44 dėžutę ir
   nupieštas vos ~34 px aukščio su tuščiais plotais viršuje ir apačioje.
   Su `max-content` dėžutė lygi tikram logotipo pločiui, o `max-width: none`
   užtikrina, kad jis niekada nebūtų spaudžiamas. Centravimas `translate(-50%)`
   skaičiuojamas nuo tikrojo pločio, tad logotipas tiksliai viduryje. */
@media (max-width: 1349px) {
  .js .top:not(.top--home) .burger { display: flex; }
  .js .top:not(.top--home) .brandmark {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: max-content; margin: 0;
  }
}
.top .logo-mark { max-width: none; }
/* Meniu panelė: galioja VISUR, kur rodomas meniu mygtukas, o ne tik telefone.
   Anksčiau šios taisyklės gulėjo 760 px bloke, todėl nuo 761 iki 1279 px (tuometinės ribos) mygtukas
   buvo matomas, bet paspaustas nieko neatidarydavo. */
.js .nav { flex-direction: column; gap: 8px; }
.js .nav.open { display: flex; position: absolute; top: 100%; left: 0; right: 0; z-index: 5; background: var(--paper); border-bottom: 1px solid var(--rule); padding: 12px var(--gut) 18px; }
.js .nav.open a { justify-content: flex-start; }
.js .nav.open :focus-visible { outline-color: var(--brand); }

@media (max-width: 760px) {
  .js .burger { display: flex; }
  /* Pradiniame puslapyje – tas pats būdas kaip kituose (žr. ≤1349 px bloką):
     mygtukas sraute prie kairiosios paraštės, logotipas centre iš srauto.
     ANKSČIAU mygtukas čia buvo `position: absolute; left: 0` – t. y. prigludęs
     prie pat ekrano krašto, nes absoliuti pozicija neatsižvelgia į `.wrap`
     paraštę. Dabar jis sraute, tad paraštė (`--gut`) taikoma savaime.
     `justify-content: flex-start` būtinas: `.top--home .top-in` centruoja turinį,
     ir be šios eilutės sraute likęs mygtukas atsidurtų juostos viduryje. */
  .js .top--home .top-in { justify-content: flex-start; }
  .js .top--home .brandmark {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: max-content; margin: 0;
  }
}

/* Be JS meniu mygtukas neveiktų, todėl nuorodos rodomos po logotipu – visuose pločiuose */
html:not(.js) .top:not(.top--home) .top-in { height: auto; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; row-gap: 8px; }
html:not(.js) .top:not(.top--home) .nav { display: flex; order: 3; width: 100%; flex-wrap: wrap; row-gap: 8px; }
html:not(.js) .nav a { color: #fff; border: 2px solid rgba(255, 255, 255, 0.5); border-radius: 999px; padding: 8px 14px; font-size: var(--fs-sm); font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
html:not(.js) .nav a[aria-current="page"] { background: #fff; border-color: #fff; color: var(--brand); }
@media (max-width: 760px) {
  html:not(.js) .top--home .top-in { height: auto; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; row-gap: 8px; }
  html:not(.js) .top--home .nav { display: flex; order: 3; width: 100%; flex-wrap: wrap; row-gap: 8px; justify-content: center; }
}

/* deliuvis.com nuoroda meniu – paprastas mygtukas kaip visi kiti (savininkas 2026-09-28,
   vakaras). Buvęs `.nav-external` (skiriamoji linija, brūkšninis rėmelis, užrašas
   „kita svetainė“, ↗ ikona) pašalintas; nuoroda vis tiek veda į deliuvis.com. */
/* Logotipo aukštis siauruose ekranuose.
   SPECIFIŠKUMAS (pataisyta 2026-09-22): anksčiau čia stovėjo `.logo-mark` (0,1,0),
   o viršuje `.top--home .logo-mark { height: 44px }` (0,2,0), tad pradiniame
   puslapyje šios taisyklės NIEKADA nesuveikdavo – ten visada likdavo 44 px.
   Dabar `.top .logo-mark` (0,2,0): tas pats svoris, bet vėliau faile, todėl
   laimi abiejuose juostos variantuose (`<header class="top top--home">` irgi
   atitinka `.top`). Plotis ≈ 5,29 × aukštis. */
@media (max-width: 760px) {
  :root { --top-h: 56px; }
  .top-in { height: 56px; }
  /* 32 px į 56 px juostą: 169 px pločio, lieka 12 px oro viršuje ir apačioje */
  .top .logo-mark { height: 32px; }
}
@media (max-width: 360px) {
  /* 30 px = 159 px pločio. 320 px lange tarp mygtuko (20–64 px) ir logotipo
     (81–239 px) lieka 17 px – išmatuota, žr. docs/dizaino-planas.md.
     `.top--home` įrašytas ATSKIRAI (2026-09-23), nors `.top .logo-mark` jį ir taip
     pasiekia: abiejų svoris vienodas (0,2,0), tad dabar laimi tik todėl, kad stovi
     vėliau už `.top--home .logo-mark { height: 44px }`. Perkėlus taisyklę aukščiau
     pradinio puslapio logotipas tyliai vėl pasidarytų 44 px. Su šiuo selektoriumi
     (0,3,0) tvarka nebesvarbu. */
  .top .logo-mark,
  .top.top--home .logo-mark { height: 30px; }
}

/* ---------- Puslapio viršus ir skyriai ---------- */

.page-head { padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(24px, 3vw, 32px); }
/* Kai antraštė perkelta į .hero, blokui lieka tik įvadinis tekstas – tada viršuje
   nebereikia tokio didelio oro. */
.page-head:not(:has(h1)) { padding-top: clamp(20px, 2.5vw, 32px); padding-bottom: clamp(8px, 1.5vw, 16px); }
.page-head h1 { margin-bottom: 16px; }
.lead { color: var(--steel); max-width: 56ch; }

/* Skelbimų sąrašo antraštė (2026-09-20): kompaktiška. Veiklos puslapiai turi didelę
   `.hero` antraštę, o sąraše svarbiausia, kad skelbimai matytųsi be slinkimo (360 px),
   todėl čia tik pavadinimas, vienas sakinys ir telefonas. */
.page-head--list { padding-top: clamp(18px, 2.5vw, 28px); padding-bottom: clamp(10px, 1.5vw, 16px); }
.page-head--list h1 { margin-bottom: 8px; }
.page-head__contact { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 10px 0 0; }
.page-head__contact svg { flex: none; color: var(--brand); }

/* Faktų eilutės (`.facts`, `.label`) – site.js kontaktų iš contacts.json, nebėra nuo 2026-10-07: nuo 2026-09-20 kontaktai
   statiniame HTML (`.hero__facts`, `.page-head__contact`). Versija – commit'e 49d7e67. */

.sec { padding-top: var(--sec-pad); padding-bottom: var(--sec-pad); }
.sec + .sec { border-top: 1px solid var(--rule); }
.page-head .links { margin-top: 12px; }
/* Sąrašas su linijomis sekcijos gale: kitos sekcijos viršutinė linija jį užbaigia, kad nebūtų dvigubos linijos. */
.sec:has(+ .sec) > .rows:last-child > :last-child,
.sec:has(+ .sec) > .stations:last-child > :last-child { border-bottom: 0; padding-bottom: 0; }
.sec > h2 { margin-bottom: 20px; }
.sec h3 { margin-bottom: 6px; }

.prose > * + * { margin-top: 1em; }
/* Buvo 62ch. 17 px tekste tai 604 px = 84 tikri simboliai, t. y. virš skaitomos
   ribos, ir taip buvo dar prieš juostos praplatinimą. Dabar bendras `--measure`. */
.prose p { max-width: var(--measure); }

/* 2026-09-20: čia buvo `@media (min-width: 1280px) { .prose p { max-width: none } … }`.
   PAŠALINTA, nes dėl jos eilutė 1600 px ekrane išsitempė iki 178 simbolių (matuota
   naršyklėje), o skaitoma riba yra ~75. `.prose p` grįžta prie 62ch ≈ 500 px ≈ 68
   simbolių, `.lead` – prie 56ch. Platus išdėstymas nuo to nenukenčia: `.wrap` lieka
   1440 px, tad antraštė, galerija, vaizdo įrašai ir poraštė toliau platūs. */

.links { display: flex; flex-wrap: wrap; gap: 8px 24px; }

/* Dviejų stulpelių skyrius: tekstas ir šalia sąrašas */
.split {
  display: grid;
  gap: 24px clamp(30px, 5vw, 64px);
}
@media (min-width: 900px) {
  .split { grid-template-columns: 1fr 1fr; }
}

/* Paprastas sąrašas su linijomis (degalai, prekės) */
.rows { list-style: none; padding: 0; border-top: 1px solid var(--rule); }
.rows > li,
.rows > div {
  display: grid;
  grid-template-columns: minmax(80px, 12ch) 1fr;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--rule);
}
.rows dt { font-weight: 600; }
.rows dd { color: var(--steel); }

/* ---------- Nuotraukos: fiksuotos proporcijos, kad įsikėlus nuotraukai nešokinėtų ----------
   Dydžiai ir failų pavadinimai: docs/nuotrauku-planas.md. Puslapių antraštės dabar yra
   `.hero` komponentas (16:9, nuotrauka fone), o čia liko plytelės ir galerijos – 3:2. */

.photo { margin: 0; }
.photo__frame {
  position: relative;
  background: var(--zinc);
  border: 1px dashed var(--rule);
  overflow: hidden;
}
.photo--tile .photo__frame { aspect-ratio: 3 / 2; }
.photo__img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.photo__note {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  display: grid;
  place-items: center;
  padding: 8px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--steel);
}
/* Kol failas kraunasi – permatomas, ne `visibility: hidden` (2026-09-30): paslėptas paveikslėlis
   dingsta ir ekrano skaitytuvui, tad tingiai (loading="lazy") kraunamų žemiau ekrano alt nebūtų.
   Paslepiamas tik neįsikėlęs visai (.is-missing, site.js). Atrodo taip pat. */
.js .photo:not(.is-loaded) .photo__img { opacity: 0; }
.js .photo.is-missing .photo__img { visibility: hidden; }
.photo.is-loaded .photo__frame { border: 1px solid var(--rule); }
.photo.is-loaded .photo__note { display: none; }

/* ---------- Pradinis puslapis: vienodos veiklos sritys (keturios; nuo 2026-10-13 – šešios) ---------- */

/* Pradinis puslapis pradedamas iš karto sritimis (be įvadinio bloko) */
.home-lines { padding-top: clamp(32px, 4vw, 56px); padding-bottom: 0; }

/* grid-auto-rows: 1fr – visos plytelės vienodo aukščio, net jei vienoje mygtukų eilutė ilgesnė */
.lines { list-style: none; padding: 0; display: grid; gap: clamp(32px, 4vw, 48px) 28px; grid-auto-rows: 1fr; }
/* Plytelėje liko trys dalys: nuotrauka, pavadinimas, mygtukai (aprašymai pašalinti 2026-09-18,
   savininko sprendimas; tekstai išsaugoti docs/pasalinti-tekstai.md).
   Pavadinimas laikomas arti nuotraukos, mygtukams paliekama daugiau oro, kad plytelė
   neatrodytų viršun suslėgta. */
/* Plytelėje liko tik pavadinimas ir nuotrauka (savininko sprendimas 2026-09-19):
   mygtukų nebėra. Nuoroda VIENA – antraštės nuoroda, išplėsta per visą plytelę
   ::after pseudoelementu, tad paspaudus nuotrauką atsidaro tas pats skyrius.
   Vienas tabuliacijos sustojimas plytelėje, jokių nuorodų nuorodoje.
   z-index nebereikia: dangčiui po juo nebėra ką perlipti. */
.line { display: grid; gap: 8px; align-content: start; position: relative; }
.line h2 { margin-top: 2px; }
.line h2 a { color: var(--ink); border-bottom: 0; }
.line h2 a::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.line h2 a:hover { color: var(--brand); }
/* Kontaktų eilutės po pavadinimu (naudotojas 2026-10-30, P-073; „Malūno istorija“ – be jų). Tekstas – po plytelės
   dangčiu (paspaudus atsidaro skyrius), o telefono, el. pašto ir Facebook nuorodos – virš jo (z-index), kad veiktų pačios. */
.line__facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; font-size: var(--fs-sm); color: var(--steel); }
.line__facts a { position: relative; z-index: 1; }

/* Tas pats atsakas kaip malūno galerijoje: nežymus padidinimas, prašviesinimas ir
   firminės spalvos fokuso žiedas. Fokusas rodomas ant visos plytelės, nes nuoroda
   dengia ją visą (:focus-visible tenka antraštės nuorodai). */
.line .photo__frame { transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s ease; }
.line .photo__img { transition: transform 0.2s ease, filter 0.2s ease; }
.line:hover .photo__img { transform: scale(1.04); filter: brightness(1.06); }
/* Fokuso žiedą ant nuotraukos piešia antraštės nuorodos ::before, uždėtas lygiai ant rėmo (plytelės viršuje, per visą
   plotį, 3:2) – be :has(), kad būtų ir Safari iki 15.4, Firefox iki 121 (2026-10-22, P-059; iki tol
   .line:has(h2 a:focus-visible) .photo__frame). Tik klaviatūra: pele fokusuotai nuorodai žiedas nuimamas
   (:focus:not(:focus-visible)); kur :focus-visible nėra (Safari iki 15.4), lieka :focus – Safari nuorodų pele nefokusuoja. */
.line h2 a::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; padding-top: calc(100% * 2 / 3); pointer-events: none; }
.line h2 a:focus::before { outline: 3px solid var(--brand); outline-offset: 2px; }
.line h2 a:focus:not(:focus-visible)::before { outline: none; }
.line:hover .photo__frame { box-shadow: 0 0 0 1px var(--brand); }
@media (prefers-reduced-motion: reduce) {
  .line .photo__frame,
  .line .photo__img { transition: none; }
  .line:hover .photo__img { transform: none; filter: brightness(1.12); }
}
/* Keturios sritys (nuo 2026-09-28; metalo apdirbimas iškeltas į atskirą `.home-metal` juostą):
   telefone viena po kitos, nuo 700 px – 2 × 2, nuo 1040 px – visos keturios vienoje eilėje.
   Pavadinimas mažesnis nei įprastas h2: ilgiausias – „Automobilių pardavimo paslaugos“ (iki 2026-10-07 – „…pardavimo
   ir saugojimo paslaugos“, kuris ~270 px pločio plytelėje su 32 px šriftu užimdavo penkias eilutes). */
.line h2 { font-size: clamp(21px, 1.9vw, 26px); }
/* ŠEŠIOS SRITYS nuo 2026-10-13 (naudotojas, P-029: pridėtos „Malūno nuoma“ ir „Draudimas“).
   DIDESNĖS NUO 2026-10-16 (naudotojas, P-034: „tiles are far too small … the home page no longer has to fit on one
   screen“): telefone viena po kitos, 700–1039 px – dvi skiltys (trys eilės), nuo 1040 px – trys skiltys (dvi eilės).
   Plytelė 1512 px lange ~419 px pločio (nuotrauka 3:2 – ~419 × 279 px), pavadinimas – įprastas 21–26 px. Pradinis į
   vieną ekraną nebetelpa – taip ir turi būti (taisyklė „pradinis telpa be slinkimo“ panaikinta, CLAUDE.md).
   Iki tol (P-029): nuo 700 px – 3 skiltys, nuo 1040 px – visos šešios vienoje eilėje (1280 px lange ~180 px, plačiausia
   ~202 px; nuotrauka 95–135 px aukščio), mažesni tarpai ir 16–20 px pavadinimas – kad pradinis tilptų į 1280 × 600. */
@media (min-width: 700px) {
  .lines { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}
@media (min-width: 1040px) {
  .lines { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
}
/* PRADINIO BLOKŲ TARPAI (2026-10-17, P-047): sritys, metalo apdirbimas ir skelbimai – tarp jų vienodi 32–48 px, o tas, kuris
   pirmas (iš karto po juosta; prieš jį – tik ekrano skaitytuvo h1), – 14–24 px. Tad tvarką keičia vien blokų vieta
   index.html. Iki tol kiekvienas blokas turėjo savo tarpą pagal savo vietą. */
.home-metal, .home-ads, .home-lines { padding-top: clamp(32px, 4vw, 48px); }
main.home > h1 + * { padding-top: clamp(14px, 1.7vw, 24px); }

/* ---------- Pradinis puslapis: naujausi skelbimai (2026-09-28) ----------
   NUO 2026-10-21 – PIRMI, iš karto po juosta, virš sričių (savininkas, P-056), su savininko antrašte „Nemokami parduodamų
   automobilių skelbimai.“ (.home-ads__h); „Naujausi skelbimai“ po ja – h3, išvaizda ta pati kaip buvusio h2.
   2026-10-17 – 2026-10-21 – paskutiniai (P-048); trumpai 2026-10-17 – po metalo apdirbimu ir virš sričių (P-046);
   2026-10-16 – 2026-10-17 – po sritimis (P-035), iki tol – iš karto po juosta. Kortelės – iš assets/js/naujausi.js.
   VIENA EILĖ (savininkas 2026-09-28): telefone – slenkama horizontali eilė (scroll-snap, matosi kitos kortelės kraštas,
   kad būtų aišku, jog galima slinkti), nuo 700 px – 3, nuo 1040 px – 4 kortelės, likusios paslepiamos.
   DIDESNĖS NUO 2026-10-17 (naudotojas, P-046, vietoj P-029 mažesnių): kortelė STATI – nuotrauka 3:2 per visą kortelės
   plotį (1512 px lange ~313 × 209 px), po ja pavadinimas, metai ir rida, kaina (17, 14 ir 18 px); antraštė 23–28 px;
   telefone kortelė – 78 % ekrano pločio. 2026-10-13 – 2026-10-17 (P-029: „skelbimai turi būti mažesni arba jų visai
   neturi būti“) kortelė buvo gulsčia: 88 × 66 px nuotrauka kairėje, tekstas 15, 13 ir 16 px, antraštė 19–22 px, telefone
   240 px. Iki P-029 – tokia pati stati, tik nuotraukos aukštis ribotas ekrano aukščiu (kad pradinis tilptų be slinkimo;
   nuo 2026-10-16 tilpti nebereikia – P-034). Kortelių skaičius eilėje nekeistas; žymėjimas nekeistas. */
/* Savininko antraštė (P-056) – pirmas matomas pradinio užrašas, todėl didesnė už skyrių antraštes (23–28 px):
   telefone 25 px, kompiuteryje iki 40 px. */
.home-ads__h { font-size: clamp(25px, 3vw, 40px); line-height: 1.1; margin-bottom: clamp(12px, 1.4vw, 18px); }
.home-ads__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 24px; margin-bottom: 14px; }
/* „Naujausi skelbimai“ – h3 nuo P-056; atrodo kaip iki tol buvęs h2 (bendros h2 savybės + 23–28 px). */
.home-ads__head h3 { margin-bottom: 2px; font-size: clamp(23px, 2.1vw, 28px); font-weight: 600; letter-spacing: -0.025em; line-height: 1.15; }
.home-ads__free { color: var(--steel); }
.home-ads__free strong { color: var(--ink); font-weight: 600; }
.home-ads__status { color: var(--steel); }
.home-ads__status:empty { display: none; }
/* Būsenos eilutė rodo tik retus pranešimus („Skelbimų kol kas nėra.“, „…parodyti nepavyko.“), todėl vietos jai
   iš anksto nebepaliekama. Iki 2026-10-06 joje buvo „Iš viso N skelbimų.“ ir siauresniame nei 1040 px ekrane jai
   buvo rezervuota atskira eilutė (N1, docs/nasumas.md); sakinį savininkas pašalino 2026-10-06. */
.home-ads__acts .btn { min-height: 44px; }
.ads { list-style: none; padding: 0; margin: 0; }
@media (max-width: 699px) {
  .ads {
    display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-left: var(--gut); scroll-padding-right: var(--gut);
    margin-left: calc(-1 * var(--gut)); margin-right: calc(-1 * var(--gut)); padding: 2px var(--gut) 8px;
    scrollbar-width: none;
  }
  .ads::-webkit-scrollbar { display: none; }
  .ad { flex: 0 0 78%; scroll-snap-align: start; }
}
@media (min-width: 700px) {
  .ads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .ad:nth-child(n+4) { display: none; }
}
@media (min-width: 1040px) {
  .ads { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .ad:nth-child(4) { display: block; }
  .ad:nth-child(n+5) { display: none; }
}
/* Be JS eilė niekada neužsipildytų – lieka tik pastaba ir mygtukai */
html:not(.js) .ads { display: none; }
/* KORTELĖS AUKŠTIS PASTOVUS, kad skeletą pakeitus kortele niekas nepasislinktų: pavadinimas ir
   duomenų eilutė – po vieną eilutę (ilgesnis tekstas nukerpamas daugtaškiu), kaina – viena.
   Skeletas (.ad--skeleton) sudarytas iš tų pačių aukščių. */
/* Stati kortelė (nuo 2026-10-17, P-046): nuotrauka 3:2 per visą plotį, po ja trys teksto eilutės */
.ad__link,
.ad--skeleton { display: grid; align-content: start; gap: 1px; }
.ad__link { height: 100%; color: var(--ink); border-bottom: 0; }
.ad__frame { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--zinc); border: 1px solid var(--rule); margin-bottom: 8px; }
.ad__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.2s ease; }
.ad__tags { position: absolute; left: 6px; top: 6px; display: flex; gap: 4px; }
.ad__tags .badge { margin-left: 0; background: #fff; }
.ad__tags .badge--sold { background: var(--steel); }
.ad__name,
.ad__meta { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ad__name,
.sk--name { font-size: var(--fs-md); line-height: 1.3; min-height: 1.3em; }
.ad__name { font-weight: 700; }
.ad__meta,
.sk--meta { font-size: var(--fs-sm); line-height: 1.5; min-height: 1.5em; }
.ad__meta { color: var(--steel); font-variant-numeric: tabular-nums; }
.ad__price,
.sk--price { font-size: 18px; line-height: 1.4; min-height: 1.4em; }
.ad__price { font-weight: 700; font-variant-numeric: tabular-nums; }
/* Skeletas: tos pačios dėžutės, tik vietoj teksto – pilki brūkšniai */
.ad--skeleton .ad__frame { border-color: transparent; }
.sk { display: block; background-repeat: no-repeat; background-image: linear-gradient(var(--zinc), var(--zinc)); }
.sk--name { background-size: 75% 0.8em; background-position: 0 0.25em; }
.sk--meta { background-size: 50% 0.8em; background-position: 0 0.35em; }
.sk--price { background-size: 35% 0.8em; background-position: 0 0.3em; }
.motion .ad--skeleton { animation: sk-pulse 1.1s ease-in-out infinite alternate; }
@keyframes sk-pulse { to { opacity: 0.55; } }
@media (prefers-reduced-motion: reduce) { .ad--skeleton { animation: none !important; } }
.ad__link:hover { color: var(--ink); }
.ad__link:hover .ad__name { color: var(--brand); }
.ad__link:hover .ad__img { transform: scale(1.04); }
.ad__link:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .ad__link:hover .ad__img { transform: none; } }

/* ---------- Pradinis puslapis: metalo apdirbimas – kita svetainė (2026-09-28) ----------
   NUO 2026-10-17 – PO SRIČIŲ, PRIEŠ SKELBIMUS, NUOTRAUKA PLYTELĖS DYDŽIO (naudotojas, P-048: „in proportion with the
   tiles and listings“): blokas – tas pats tinklelis kaip sričių (.lines): telefone nuotrauka per visą plotį, po ja
   antraštė; 700–1039 px – nuotrauka pusė pločio; nuo 1040 px – viena skiltis iš trijų (1512 px lange ~419 × 279 px, kaip
   plytelė), antraštė – kitose dviejose; antraštė 23–28 px, kaip „Naujausi skelbimai“. Trumpai tą pačią dieną (P-046)
   blokas buvo pirmas ir platus (nuotrauka 3/5 pločio, ~763 px; antraštė 30–48 px) – per didelis. Iki tol – žema juosta
   pačioje apačioje (žr. žemiau).
   Ne plytelė tarp sričių, o atskiras blokas. Fonas baltas, be užrašo „Kita svetainė“
   ir be matomo domeno (savininkas 2026-09-28, antras pakeitimas). Iki 2026-10-13, kad tai kita svetainė,
   sakė mygtukas „Eiti į deliuvis.com“; jo nebėra (naudotojas, P-029) – ekrano skaitytuvui tai pasako
   paslėptas intarpas antraštės nuorodoje. */
/* Nuo 2026-09-28 vakaro – žema juosta (maža nuotrauka ir antraštė vienoje eilėje),
   kad visas pradinis puslapis tilptų į nešiojamojo kompiuterio ekraną (nuo 2026-10-16 tilpti nebereikia – P-034;
   juosta palikta tokia pati).
   2026-10-06 (savininkas): antraštė – nuoroda į deliuvis.com, atrodo kaip sričių plytelių pavadinimai.
   2026-10-13 (naudotojas, P-029): mygtuko „Eiti į deliuvis.com“ nebėra – lieka tik antraštė. */
.home-metal__in { display: grid; gap: 10px 24px; align-items: center; }
.home-metal__text h2 { font-size: clamp(23px, 2.1vw, 28px); }
.home-metal__text h2 a { color: var(--ink); border-bottom: 0; }
.home-metal__text h2 a:hover { color: var(--brand); }
/* Ir nuotrauka – nuoroda į deliuvis.com (savininkas 2026-10-06, antras prašymas). Kaip sričių plytelėse: antraštės
   nuoroda išplėsta per visą bloką (::after), tad viena nuoroda ir vienas tabuliacijos sustojimas. Užvedus – tas pats
   atsakas kaip plytelėse. */
.home-metal__in { position: relative; }
.home-metal__text h2 a::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.home-metal .photo__frame { transition: box-shadow 0.15s; }
.home-metal .photo__img { transition: transform 0.2s ease, filter 0.2s ease; }
/* Be :has() (2026-10-22, P-059; iki tol .home-metal__in:has(h2 a:hover) ir :has(h2 a:focus-visible)): nuorodos ::after
   dengia visą bloką, tad pelė virš bloko = virš nuorodos – užtenka :hover. Fokusas – :focus-within (bloke vienintelė
   fokusuojama vieta – ši nuoroda; ne ::before kaip plytelėse, nes nuotraukos vieta priklauso nuo tinklelio, o šakoje
   paleidimas-be-savininko nuotraukos nėra). Pele fokusuotai nuorodai žiedą nuima :has() – naršyklėse be jo (Firefox iki
   121, Chrome iki 104) žiedas matyti ir paspaudus pele; Safari nuorodų pele nefokusuoja. */
.home-metal__in:hover .photo__img { transform: scale(1.04); filter: brightness(1.06); }
.home-metal__in:hover .photo__frame { box-shadow: 0 0 0 1px var(--brand); }
.home-metal__in:focus-within .photo__frame { outline: 3px solid var(--brand); outline-offset: 2px; }
.home-metal__in:has(h2 a:focus:not(:focus-visible)) .photo__frame { outline: none; }
@media (prefers-reduced-motion: reduce) {
  .home-metal .photo__frame,
  .home-metal .photo__img { transition: none; }
  .home-metal__in:hover .photo__img { transform: none; filter: brightness(1.12); }
}
/* Nuo 2026-10-17 (P-048): skiltys ir tarpai – kaip `.lines` (2 nuo 700 px, 3 nuo 1040 px), tad nuotrauka lygiai plytelės
   pločio ir po ja stovinčios plytelės kraštu; rėmas – įprastas 3:2 (.photo--tile). P-046: nuo 760 px 3/5 ir 2/5 pločio.
   Iki tol: nuotrauka clamp(140px, 16vw, 220px) pločio ir 60–120 px aukščio (pagal ekrano aukštį). */
@media (min-width: 700px) {
  .home-metal__in { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
}
@media (min-width: 1040px) {
  .home-metal__in { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
  .home-metal__text { grid-column: span 2; }
}
/* Pradinis puslapis: mažesnis tarpas iki poraštės nei kituose puslapiuose */
main.home { padding-bottom: clamp(20px, 2.6vw, 32px); }

/* ---------- Mygtukai (pasirinktas variantas C: apvalūs, ikona apskritime) ---------- */

.acts { display: flex; flex-wrap: wrap; gap: 10px; }

.btn,
.button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  font: inherit;
  font-size: var(--fs-md);
  font-weight: 600;
  padding: 11px 24px;
  border: 2px solid var(--brand);
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.btn > svg,
.button > svg {
  width: 34px;
  height: 34px;
  padding: 8px;
  border-radius: 50%;
  background: #fff;
  color: var(--brand);
  flex: none;
  margin: -6px -2px -6px -19px;
}
.btn:hover,
.button:hover { background: var(--brand-dk); border-color: var(--brand-dk); color: #fff; }
/* Paraštės be :has() (2026-10-22, P-059; iki tol įprastos buvo ikonos mygtuko, o .btn:not(:has(> svg)) – be ikonos):
   įprastos – mygtuko be ikonos, vienodos iš abiejų pusių; ikona neigiamomis paraštėmis atsiima vietą – apskritimas 5 px
   nuo krašto, plotis ir vieta tekstui – kaip su :has() (-2 px dešinėje – kitaip ilgas tekstas per visą plotį lūžtų).
   Su :has() žemiau – tikslios ikonos mygtuko paraštės. Naršyklėse be :has() (Safari iki 15.4, Firefox iki 121) mygtukas
   be ikonos – tikslus, su ikona – 53 px aukščio vietoj 48 (kaip be ikonos; aukštį lemia teksto eilutė), tekstas 2 px
   arčiau ikonos (P-059 patikra). */
.btn:has(> svg),
.button:has(> svg) { padding: 5px 22px 5px 5px; }
.btn:has(> svg) > svg,
.button:has(> svg) > svg { margin: 0; }

.btn--ghost,
.button--quiet { background: none; color: var(--ink); border-color: var(--steel); }
.btn--ghost > svg,
.button--quiet > svg { background: var(--zinc); color: var(--ink); }
.btn--ghost:hover,
.button--quiet:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn--ghost:hover > svg,
.button--quiet:hover > svg { background: #fff; color: var(--ink); }
/* Siunčiama (2026-10-16, P-041; assets/js/siuntimas.js): mygtukas neaktyvus, kol keliamos nuotraukos */
.btn:disabled { cursor: progress; opacity: 0.75; }
.btn:disabled:hover { transform: none; }
.btn:not(.btn--ghost):disabled:hover { background: var(--brand); border-color: var(--brand); }

@media (max-width: 520px) {
  .acts { display: grid; }
  .btn,
  .button { justify-content: center; }
}

/* ---------- Galerijos ---------- */

.gallery {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 760px) {
  .gallery { grid-template-columns: repeat(3, 1fr); }
}
/* Didelė galerija (malūnas – per šimtą nuotraukų, sendaikčių turgus – 10, 2026-10-05): plačiame ekrane
   ketvirta skiltis, kad sąrašas nesitęstų per daug eilučių. Mažoms galerijoms (automobilių – 6) netaikoma:
   ten trys skiltys užsipildo be tuščių vietų. Nuotraukos įkeliamos tik priartėjus (loading="lazy"). */
@media (min-width: 1100px) {
  .gallery--dense { grid-template-columns: repeat(4, 1fr); }
}
/* Grupių antraštės tarp galerijų */
.gallery + h3 { margin-top: 32px; }
.gallery__frame {
  position: relative;
  aspect-ratio: 3 / 2;
  background: var(--zinc);
  border: 1px dashed var(--rule);
  overflow: hidden;
}
.gallery__img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
/* Užrašas rodomas TIK tada, kai failas tikrai neįsikėlė (.is-missing, site.js). Iki 2026-10-12 (P-023) jis buvo matomas
   ant kiekvienos nuotraukos, kol ji kraunasi, o be JavaScript – visada. */
.gallery__placeholder {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  display: none;
  place-items: center;
  padding: 8px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--steel);
}
/* Kaip .photo: kraunama – permatoma, paslėpta tik .is-missing. Su `visibility: hidden` Tab
   praleisdavo dar neįsikėlusias (tingias) galerijos nuotraukas – klaviatūra jų nepasiekdavo. */
.js .gallery__item:not(.is-loaded) .gallery__img { opacity: 0; }
.js .gallery__item.is-missing .gallery__img { visibility: hidden; }
.gallery__item.is-loaded .gallery__frame { border: 1px solid var(--rule); }
.js .gallery__item.is-missing .gallery__placeholder { display: grid; }
/* `.gallery__note` (pastaba, kai neįsikelia nė viena galerijos nuotrauka) – nebėra nuo 2026-10-07 (visos nuotraukos tikros). */

/* ---------- Galerijos nuotraukų atvėrimas (tik su JS) ----------
   Be JS nuotraukos lieka paprasti paveikslėliai: jokio žymeklio, jokio fokuso,
   jokių mygtukų, kurie neveiktų. Sąveiką prideda gallery.js, pažymėdamas .gallery--zoom. */

.gallery--zoom .gallery__img { cursor: zoom-in; }
.gallery--zoom .gallery__frame {
  transition: border-color 0.15s, box-shadow 0.15s;
}
.gallery--zoom .gallery__img {
  transition: transform 0.2s ease, filter 0.2s ease;
}
/* Pelė ir klaviatūra gauna tą patį atsaką; fokuso žiedas – firminės spalvos. :hover ir :focus-visible – atskiros taisyklės
   (2026-10-23, P-061): viename sąraše Safari iki 15.4, nesuprasdamas :focus-visible, praleisdavo visą taisyklę ir su :hover. */
.gallery--zoom .gallery__img:hover {
  transform: scale(1.04);
  filter: brightness(1.06);
}
.gallery--zoom .gallery__img:focus-visible {
  transform: scale(1.04);
  filter: brightness(1.06);
  outline: 3px solid var(--brand);
  outline-offset: -3px;
}
.gallery--zoom .gallery__item:hover .gallery__frame,
.gallery--zoom .gallery__item:focus-within .gallery__frame {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand);
}

/* Sumažinto judesio režimas: jokio didinimo, bet ženklas vis tiek matomas */
@media (prefers-reduced-motion: reduce) {
  .gallery--zoom .gallery__frame,
  .gallery--zoom .gallery__img { transition: none; }
  .gallery--zoom .gallery__img:hover { transform: none; filter: brightness(1.12); }
  .gallery--zoom .gallery__img:focus-visible { transform: none; filter: brightness(1.12); }
}

/* ---------- Nuotraukos peržiūra (lightbox) ---------- */

.lightbox {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 100;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 12px;
  /* Ne mažiau už saugią sritį (2026-11-04, P-101; kaip .wrap). Visi puslapiai – viewport-fit=cover, tad iPhone su įpjova
     ir šis fiksuotas sluoksnis tęsiasi po kameros išpjova ir namų juosta: gulsčiai rodyklės, „Uždaryti“ ir skaitiklis
     būdavo po 35 px po įpjova, nuotraukos apačia – po namų juosta. Be įpjovos env() = 0 – lieka 12 px. */
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: rgba(18, 23, 28, 0.93);
}
.lightbox[hidden] { display: none; }
.lightbox__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #fff; }
.lightbox__count { font-size: var(--fs-sm); font-weight: 600; }
.lightbox__stage { position: relative; min-height: 0; overflow: hidden; }
/* KODĖL NUOTRAUKA IŠIMTA IŠ SRAUTO (pataisyta 2026-09-21).
   Anksčiau ji buvo paprastas tinklelio elementas su `max-height: 100%`, ir ta riba
   neveikė: 1440 px lange stačia 1500 × 2000 nuotrauka išsitempdavo iki 1416 × 1888,
   nors scena buvo vos 786 px aukščio, ir peržiūros langas pasidarydavo 1956 px.
   Priežastis – uždaras ratas: scenos aukštį duoda `1fr` eilutė, o `1fr` dydis
   skaičiuojamas pagal turinį, t. y. pagal tą pačią nuotrauką. Naršyklė tokiu atveju
   procentinės `max-height` reikšmės neskaičiuoja ir elgiasi taip, lyg jos nebūtų
   (plotis veikė, nes jo niekas neskaičiavo pagal turinį).
   `position: absolute` ratą nutraukia: išimta iš srauto nuotrauka nebedalyvauja
   eilutės matavime, tad scenos aukštis tampa apibrėžtas ir procentai suveikia.
   `top/right/bottom/left: 0` + `margin: auto` centruoja abiem kryptimis.

   Dydį lemia TRYS ribos, ir laimi mažiausia:
   - `max-width/max-height: 100%` – niekada neišeina už scenos;
   - `width/height: auto` – NIEKADA NEIŠDIDINAMA: nuotrauka negali pasidaryti
     didesnė už savo tikrą dydį, tad 2000 px failas 1440 px ekrane lieka ≤ 1416 px;
   - proporcija išlaikoma pačios naršyklės, nes nurodytas tik vienas matmuo.
   `aspect-ratio: auto` įrašytas sąmoningai: plytelės rėmelis yra 3:2, ir ta riba
   čia neturi nutekėti. `object-fit: contain` lieka kaip apsauga, jei kada nors
   atsirastų fiksuoti matmenys. */
.lightbox__img {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  background: var(--ink);
}
/* Parašo po nuotrauka nebėra (2026-09-23): aprašymas lieka tik `alt` atribute.
   Todėl ir eilučių tinklelyje liko dvi eilutės – juosta ir scena. */
.lightbox__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 14px;
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: #fff;
  background: none;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  cursor: pointer;
}
.lightbox__btn:hover { background: #fff; border-color: #fff; color: var(--ink); }
.lightbox :focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); }
.lightbox__nav--prev { left: 0; }
.lightbox__nav--next { right: 0; }
/* Kol peržiūra atidaryta, fonas nesislenka */
body.has-lightbox { overflow: hidden; }

/* ---------- Veiklos puslapio antraštė su kontaktais ant nuotraukos ----------
   Bendras komponentas (savininko sprendimas 2026-09-19). Naudoja visi keturi veiklos
   puslapiai: malūnas, sendaikčių turgus, automobilių pardavimo paslaugos ir degalinės – visi su nuotrauka (nuo 2026-10-13 –
   ir malūno nuoma, nuo 2026-10-16 – draudimas, P-035)
   (antraštė be nuotraukos `.hero--placeholder` su `.hero__note` nebereikalinga nuo 2026-10-05, ištrinta
   2026-10-07; versija – commit'e 49d7e67). */

.hero {
  position: relative;
  isolation: isolate;                /* gradientas lieka po tekstu, bet virš nuotraukos */
  display: grid;
  align-items: end;
  min-height: clamp(340px, 44vw, 580px);
  background: var(--ink);            /* kol nuotrauka neįsikėlė, tekstas jau skaitomas */
}
.hero__img {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 55 %, o ne 32 % (2026-09-21, pakeitus antraštės nuotrauką). Antraštės dėžutė
     plačiame ekrane yra maždaug 2,3:1, o nuotrauka 16:9, tad dalis aukščio vis tiek
     nukerpama. Prie 32 % nukrisdavo akmenų mūro pamatas – būtent tai, dėl ko
     nuotrauka ir keista. Nuo 55 % pamatas lieka, o nukerpami viršutinių sparnų galai.
     Telefone (≤760 px) dėžutė siaura ir aukšta, tad ten matomas visas aukštis. */
  object-position: 50% 55%;
  z-index: -2;
}
/* Skaitomumas: tekstas guli ne ant nuotraukos, o ant šio gradiento. Apačioje beveik
   nepermatomas, todėl baltas tekstas laikosi ir ant šviesių plytų, ne tik ant dangaus.

   SUSTIPRINTA 2026-09-21, kai malūno antraštėje naktį pakeitė saulėlydis. Matuota
   nufotografavus puslapį su paslėptu tekstu ir paėmus ŠVIESIAUSIĄ foną po kiekvienu
   užrašu (blogiausias atvejis). Su senuoju gradientu prieš saulėlydžio debesis:
   360 px pavadinimas 1,88:1, kontaktai 2,54:1, 768 px pavadinimas 3,91:1 – krito
   žemiau AA (4,5:1). Buvo 0,15 / 0,55 (45 %) / 0,9. */
.hero::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(18, 23, 28, 0.25) 0%, rgba(18, 23, 28, 0.65) 40%, rgba(18, 23, 28, 0.93) 100%);
}
/* Baltam tekstui ant nuotraukos – silpnas šešėlis. Jis NĖRA kontrasto skaičiavimo
   dalis (WCAG jo neįskaito); tikrąjį santykį duoda gradientas. Šešėlis skirtas tik
   plonoms raidžių briaunoms ties šviesiais debesimis. */
.hero__title,
.hero__lead,
.hero__facts { text-shadow: 0 1px 3px rgba(18, 23, 28, 0.55); }
.hero__inner {
  position: relative;
  display: grid;
  gap: 14px;
  padding-top: clamp(28px, 4vw, 52px);
  padding-bottom: clamp(28px, 4vw, 52px);
  color: #fff;
}
/* Darbo laiko intervalas („6–15 val.“) 360 px ekrane nelaužomas per pusę: laužoma
   tik prieš jį. Eilutė pati lieka laužoma, kitaip netilptų. */
.hero__facts .nowrap,
.nowrap { white-space: nowrap; }

.hero__title { color: #fff; margin: 0; }
/* Vienas sakinys po pavadinimu (naudotojas 2026-10-13, P-029: degalinių puslapio „Didmeninė ir mažmeninė prekyba naftos
   produktais.“ perkeltas iš įvado po antrašte; taip pat – naujuose malūno nuomos ir draudimo puslapiuose). Baltas ant
   to paties gradiento kaip pavadinimas ir kontaktai. */
.hero__lead { margin: 0; max-width: 38rem; font-size: clamp(18px, 1.7vw, 22px); line-height: 1.35; font-weight: 500; color: #fff; }
.hero__facts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 32px;
}
.hero__facts li { display: flex; align-items: center; gap: 10px; min-height: 44px; }
.hero__facts svg { flex: none; opacity: 0.9; }
/* .hero__lead a – draudimo puslapio sakinys su telefonu ir el. paštu (2026-10-16, P-035) – kaip kontaktai */
.hero__facts a,
.hero__lead a { color: #fff; text-decoration: underline; text-underline-offset: 3px; border-bottom: 0; }
.hero__facts a:hover,
.hero__lead a:hover { text-decoration-thickness: 2px; }
.hero :focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* Mygtukai ant nuotraukos: balti kontūrai, kaip buvo juostos telefonas */
.btn--photo {
  background: rgba(18, 23, 28, 0.55);
  border-color: #fff;
  color: #fff;
}
.btn--photo > svg { background: #fff; color: var(--ink); }
.btn--photo:hover { background: #fff; border-color: #fff; color: var(--ink); }
.btn--photo:hover > svg { background: var(--ink); color: #fff; }

@media (max-width: 760px) {
  /* Telefone antraštė neturi suryti viso pirmo ekrano: aukštį lemia turinys */
  .hero { min-height: 0; }
  /* Telefone visos antraštės vienodos (naudotojas 2026-11-01, P-090): tas pats patamsinimas, tekstas – prie kairio
     krašto, apačioje, tie patys tarpai. Patamsinimas – vienodas per visą aukštį, ne gradientas: antraštės aukštis
     telefone priklauso nuo teksto (240–430 px), tad gradientas trumpose antraštėse atrodė tamsesnis nei aukštose.
     0,59 – mažiausia reikšmė, prie kurios baltas tekstas visose šešiose antraštėse ≥ 4,5:1 (naudotojas 2026-11-01, P-091:
     0,75 per niūru). Matuota (scenarijus – vietinis, tmp/, ne repozitorijoje): 320–760 px, ×1–×3, šviesiausias nuotraukos
     taškas po kiekviena teksto eilute (ir mygtukų užrašais), be šešėlio; penkiose antraštėse po tekstu yra grynai baltas
     taškas – jam reikia 0,586, prie 0,59 – 4,56:1. Grynai baltam taškui mažiau nei 0,59 neužtenka, tad mažinti galima
     tik tada, jei nuotraukose po tekstu baltų taškų nebeliktų (iš naujo išmatavus).
     Iki P-091 – 0,75; iki P-090 – gradientas 0,55 / 0,78 / 0,93. */
  .hero::after { background: rgba(18, 23, 28, 0.59); }
  .hero__inner { padding-top: 22px; padding-bottom: 26px; gap: 12px; }
  .hero__facts { gap: 4px 24px; }
  .hero__acts .btn { width: 100%; }
  /* Draudimo antraštė (P-035) iki P-090 telefone buvo kitokia: nuotrauka 16:9 viršuje be patamsinimo, tekstas po ja.
     Dabar – kaip visos: nuotrauka per visą antraštę, tekstas ant jos apačioje. Tuščia 16:9 eilutė virš teksto palieka
     antraštės aukštį tokį pat kaip iki P-090 ir nuotraukos viršų matomą (padding – ne aspect-ratio: senoms naršyklėms). */
  .hero--draudimas::before { content: ""; padding-top: 56.25%; }
  /* Telefone antraštė stati (~0,9:1), tad iš 16:9 nuotraukos matosi tik vidurinė pusė: prie 50 % – rašiklių puodelis ir
     knygos, spyna su portfeliu nukirpti. 8 % – spyna, raktai ir portfelis 360 ir 390 px matomi visi (P-091). Aukštį lemia
     antraštė, nuotrauka telpa per visą aukštį, tad vertikali reikšmė nieko nekeičia. */
  .hero--draudimas .hero__img { object-position: 8% 50%; }
}

/* ---------- Malūno puslapio tekstas ----------
   Skiltis centruojama ir platesnė nei anksčiau (buvo 62ch prie kairio krašto).
   Galerija ir vaizdo įrašai lieka per visą plotį – siaurinamas tik tekstas. */
/* Skiltis matuojama rem, o ne ch: `ch` priklauso nuo elemento šrifto dydžio, tad
   antraštei 76ch reikštų 1398 px, o pastraipai – 740 px, ir kraštai nesutaptų.

   DVI RIBOS, ne viena (2026-09-20, kai 82rem skiltis pasirodė neįskaitoma):
   `--col`     – viso skyriaus skiltis: antraštė, pastaba, blokų kraštai. 46rem = 736 px.
   `--measure` – TIK skaitomo teksto pastraipa (`:root`, 34rem = 544 px ≈ 74 simboliai).
   Kairysis kraštas lieka bendras: pastraipa yra blokinis elementas skiltyje, tad
   prasideda nuo to paties krašto kaip antraštė, tik baigiasi anksčiau. Dešinysis
   kraštas nelygus bet kuriuo atveju, nes tekstas nelygiuojamas abipus.

   Buvo 82rem (1312 px) abiem – tada eilutė 1600 px ekrane siekė 178 simbolius.
   Platus išdėstymas nedingo: `--maxw` lieka 1440 px, tad antraštė, galerija,
   vaizdo įrašai ir poraštė toliau naudoja visą plotį – siaurinamas tik tekstas. */
.sec--text { --col: 46rem; }
.sec--text > * { max-width: var(--col); margin-left: auto; margin-right: auto; }
.sec--text .prose { margin-top: 18px; }    /* tarpas po šaltinio pastaba */

/* ---------- Degalinės ---------- */

.stations { list-style: none; padding: 0; border-top: 1px solid var(--rule); }
.station {
  display: grid;
  gap: 16px clamp(24px, 4vw, 56px);
  padding: 28px 0;
  border-bottom: 1px solid var(--rule);
}
.station__address { font-style: normal; color: var(--steel); }
@media (min-width: 900px) {
  .station { grid-template-columns: minmax(220px, 1fr) 2fr; align-items: start; }
}

/* ---------- Veiklos puslapio įvadas ir dalys (.overview, 2026-10-06, savininkas) ----------
   Po antrašte, prieš korteles ar galeriją: degalinių puslapyje (degalai, parduotuvėlė, didmena), sendaikčių
   turgaus puslapyje (prekės, maitinimas, automobilių paslaugos) ir automobilių puslapyje (automobiliai,
   saugojimas – nuo 2026-10-06; ten po jo dar skyriai „Skelbimai“ ir „Nuotraukos“). Buvo: degalinėse – rėmelis su trimis nevienodo
   pločio langeliais, kur „Degalai“ – vien „Visą parą“ dideliu šriftu šalia dviejų tankių pastraipų, o virš viso
   pločio rėmelio – siauras įvadas, lūžtantis po „naftos“; sendaikčių turguje – du pilki įvado sakiniai be tarpo ir
   trys skyriai su didelėmis antraštėmis po vieną–dvi eilutes, tarp jų ~150 px ir linijos per visą plotį.
   Dabar be rėmelio ir langelių, visos dalys sudarytos vienodai: etiketė, tekstas įprasto dydžio (`--fs-md`;
   trumpas išskirtas tekstas, pvz. „Visą parą“ – tik pusstoris, `.overview__key`), eilutė iki `--measure`, tarp
   dalių plona `--rule` linija. Nuo 1100 px įvadas pirmoje trijų skilčių tinklelio skiltyje, dalys – kitose dviejose
   (degalinėse jų kairysis kraštas sutampa su antrosios kortelės kraštu). Siauriau – viena skiltis ta pačia tvarka.
   Įvado sakiniai – kiekvienas nuo naujos eilutės, kad eilutė nelūžtų sakinio viduryje. */
.overview { display: grid; gap: clamp(20px, 2.6vw, 28px); padding-top: clamp(20px, 2.5vw, 32px); }
.overview > .overview__intro { padding: 0; }
.overview__lead { font-size: clamp(20px, 2.1vw, 27px); line-height: 1.35; font-weight: 500; color: var(--ink); text-wrap: balance; }
.overview__lead > span { display: block; }
.overview__items { list-style: none; padding: 0; margin: 0; }
.overview__item { display: grid; gap: 4px; padding-top: 16px; padding-bottom: 16px; }
.overview__item:first-child { padding-top: 0; }
.overview__item:last-child { padding-bottom: 0; }
.overview__item + .overview__item { border-top: 1px solid var(--rule); }
.overview__item > * { margin: 0; }
.overview__item > p { max-width: var(--measure); }
.overview__label { font-size: var(--fs-sm); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brand); }
.overview__key { font-weight: 600; }
@media (min-width: 1100px) {
  .overview { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
  .overview > .overview__items { grid-column: 2 / -1; }
  /* Tik įvadas, be dalių (2026-10-06: degalinėse ir sendaikčių turguje dalių nebeliko) – per visą plotį,
     o ne siaurame pirmos skilties trečdalyje */
  .overview > .overview__intro:only-child { grid-column: 1 / -1; }
}

/* ---------- Degalinių puslapis (2026-09-28, savininkas: sandara kaip Viada, Orlen, Neste) ----------
   Didesnis įvadas ir trys dalys (bendras `.overview`, žr. aukščiau) ir degalinių kortelės: nuotraukos, adresas,
   paslaugų žymos, maršrutas. Tekstai – tik mūsų. */

.fstations { list-style: none; padding: 0; display: grid; gap: 24px; }
@media (min-width: 760px) { .fstations { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .fstations { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fstation { display: grid; grid-template-rows: auto 1fr; background: #fff; border: 1px solid var(--rule); }
.fstation__body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 20px; }
.fstation__body > * { margin: 0; }
.fstation h3 { font-size: clamp(19px, 1.6vw, 22px); }
.fstation .acts { margin-top: auto; padding-top: 4px; }   /* maršrutas visose kortelėse vienodame aukštyje */

/* Galerija su pagrindine nuotrauka: pirma per visą plotį, kitos – miniatiūros */
.gallery--lead { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.gallery--lead .gallery__item:first-child { grid-column: 1 / -1; }

/* ---------- Vaizdo įrašai (įkeliami tik paspaudus) ---------- */

.videos {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 14px;
}
@media (min-width: 640px) { .videos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .videos { grid-template-columns: repeat(3, 1fr); } }
/* YouTube įrašo plytelė: paleidimo ženklas ir įrašo pavadinimas, fone – paties YouTube miniatiūra (.video__thumb,
   i.ytimg.com, įkeliama atidarius puslapį – naudotojas 2026-11-02, P-095; 2026-10-12 – 2026-11-02 – tik tamsus fonas,
   P-023). Miniatiūrų kopijų serveryje nelaikome. iframe iš youtube-nocookie.com – tik paspaudus (video.js). Plytelė 16:9
   kaip iframe; ilgas pavadinimas siauroje plytelėje ją paaukština (overflow nenustatytas, tad galioja turinio aukštis),
   bet nenukerpamas – miniatiūra tada užpildo visą plytelę (object-fit: cover). hqdefault 4:3 su juodomis juostomis
   viršuje ir apačioje – cover 16:9 plytelėje jas nukerpa. Patamsinimas 0,59 – kaip antraštėse telefone (P-091):
   baltas tekstas ≥ 4,5:1 net ant grynai balto taško. Neįsikėlus (YouTube nepasiekiamas) – lieka tamsus fonas. */
.video__load,
.video__frame { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.video__load {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  background: var(--ink);
  color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  isolation: isolate;                /* miniatiūra ir patamsinimas – po ženklu ir pavadinimu */
}
/* .video__media – apkerpantis rėmelis (P-097): pačiai plytelei overflow nustatyti negalima (aspect-ratio tada nebeleistų
   ilgam pavadinimui jos paaukštinti, o fokuso žiedas būtų nukirptas), tad miniatiūra – rėmelyje per visą plytelę. */
.video__media {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  overflow: hidden;
  z-index: -2;
}
.video__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* SGGmCSyQtfA sd1.jpg (P-097): vaizdas platesnis nei 16:9 (640 × 352 tarp juodų juostų), tad 16:9 iškarpoje lieka po 4 px
   juostos viršuje ir apačioje; 360 / 352 = 1,023 → 1,03 jas paslepia (rėmelis nukerpa, kas išlenda). */
.video__thumb--juostos { transform: scale(1.03); }
.video__load::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: -1;
  background: rgba(18, 23, 28, 0.59);
}
.video__play {
  flex: none;
  width: 48px;
  height: 48px;
  color: #fff;
  background: rgb(255 255 255 / 0.08);
  border-radius: 50%;
  transition: background-color 0.15s, transform 0.15s;
}
.video__title { font-size: var(--fs-sm); font-weight: 600; line-height: 1.3; overflow-wrap: break-word; overflow-wrap: anywhere; }
/* :hover ir :focus-visible – atskirai (P-061, kaip galerijoje) */
.video__load:hover .video__play { background: var(--brand); transform: scale(1.06); }
.video__load:focus-visible .video__play { background: var(--brand); transform: scale(1.06); }
@media (prefers-reduced-motion: reduce) { .video__play { transition: none; } .video__load:hover .video__play { transform: none; } }

/* Malūnas: vaizdo įrašai be antraštės ir be skiriamosios linijos (savininkas 2026-09-28). */
.mill-now { padding-bottom: 0; }

/* Malūno vaizdo įrašai iš savo serverio: <video controls preload="none">, be YouTube.
   Vietos rezervuotos nebėra (savininkas 2026-09-28); žymėjimas – malūno puslapio komentare. */
.mill-videos { list-style: none; padding: 0; display: grid; gap: 14px; margin-bottom: 14px; }
@media (min-width: 760px) { .mill-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mill-video__el { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: var(--ink); }
.mill-video__caption { margin-top: 6px; font-size: var(--fs-sm); color: var(--steel); }

/* ---------- Malūnas: tekstas ir šalia vaizdo įrašai (2026-10-05; nuo 2026-10-06 vakaro – savininkas) ----------
   Nuo 1100 px kiekviena .mill-top – dvi skiltys: kairėje tekstas (eilutė lieka --measure, ≤ ~74 ženklai), dešinėje
   vaizdo įrašai. Eilės: nuoma (šalia nieko); istorija, šalia reportažai apie malūno istoriją (YouTube, dviem skiltimis,
   nuo antraštės „Istorija“ lygio); .mill-top--now – tekstas „Baigus vidaus remontą…“, šalia malūno paties įrašai
   (trys savo serverio: pirmas per visą skilties plotį, du po juo). Žemiau 1100 px – viena skiltis ta pačia tvarka (tekstas, tada įrašai). Toliau – visos nuotraukos,
   viena galerija be grupių užrašų. Iki 2026-10-06 dešinėje buvo „Malūnas iš lauko“ nuotraukos, o visi vaizdo
   įrašai – kartu po tekstu. Tarpai tarp skyrių mažesni nei --sec-pad visame puslapyje. */
.mill-body { --mill-gap: clamp(24px, 2.6vw, 36px); }
.mill-story > .sec { padding-top: var(--mill-gap); padding-bottom: var(--mill-gap); }
.mill-story > .sec:first-child { padding-top: clamp(32px, 4vw, 56px); }
/* Eilės (nuoma | istorija ir reportažai | „dabar“ ir savas įrašas | nuotraukos) atskirtos plona linija per visą plotį –
   kaip anksčiau skyriai (.sec + .sec), tik dabar jie skirtingose eilėse */
.mill-top + .mill-top,
.mill-body > .mill-more { border-top: 1px solid var(--rule); }
.mill-top + .mill-top .mill-story > .sec:first-child { padding-top: var(--mill-gap); }
.mill-story > .mill-now { padding-bottom: 0; }
.mill-now .prose { margin-top: 0; }    /* tarpas po šaltinio pastaba čia nereikalingas – pastabos nėra */
.mill-side { padding-top: var(--mill-gap); }
/* Malūno paties įrašai (trys savo serverio; Facebook reel'o nebėra nuo 2026-10-07) – nuo 640 px pirmas per abi skiltis, kiti
   du po juo (trys 2 × 2 tinklelyje paliktų tuščią langelį); ir šalia teksto, ir vienoje skiltyje */
@media (min-width: 640px) {
  .mill-own .videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mill-own .videos > li:first-child { grid-column: 1 / -1; }
}
.mill-body > .mill-more { padding-top: var(--mill-gap); margin-top: var(--mill-gap); }
@media (min-width: 1100px) {
  .mill-top {
    display: grid;
    grid-template-columns: minmax(0, 36rem) minmax(0, 1fr);
    column-gap: clamp(40px, 4.5vw, 80px);
    align-items: start;
  }
  .mill-story .sec--text > * { max-width: none; margin-left: 0; margin-right: 0; }
  .mill-side { padding-top: clamp(32px, 4vw, 56px); }
  /* Šoninė skiltis prasideda tame pačiame aukštyje kaip eilės tekstas (pvz. reportažai – ties „Istorija“) */
  .mill-top + .mill-top .mill-side { padding-top: var(--mill-gap); }
  .mill-side .videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Skelbimai ---------- */

.notice { color: var(--steel); margin-top: 12px; }
.notice strong { color: var(--ink); font-weight: 600; }

/* ---------- Skelbimo puslapis (2026-09-28, savininko prašymas: hierarchija kaip autoplius.lt) ----------
   Telefone viena skiltis žymėjimo tvarka: nuotraukos, kortelė (.lcard), duomenys. Nuo 900 px –
   dvi skiltys: kairėje nuotraukos ir duomenys, dešinėje kortelė, prilipusi po juosta (sticky),
   kad kaina visada matytųsi. Kortelė užima abi eilutes; antra eilutė lanksti (1fr), todėl
   aukšta kortelė nepalieka tarpo tarp nuotraukų ir duomenų. Siauriau nei 900 px apačioje – .lbar. */
.listing { padding-top: clamp(16px, 2.5vw, 28px); }
.listing__back { margin-bottom: 14px; font-size: var(--fs-sm); }
/* „Skelbimas paskelbtas…“ pirmą kartą atidarius (2026-10-16, P-041; skelbimas.php) */
.listing__notice { margin: 0 0 18px; }
.listing__grid { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "photos" "card" "main"; }
/* Skelbimas be nuotraukų nuo 2026-11-04 (P-103) – ta pati sritis „photos“ su .nophoto (žemiau); iki tol – .listing__grid--nophoto
   be jos („card“ „main“, kompiuteryje „main card“). */
.listing__photos { grid-area: photos; }
.lcard { grid-area: card; }
.listing__main { grid-area: main; }
@media (min-width: 900px) {
  .listing__grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    grid-template-rows: auto 1fr;
    grid-template-areas: "photos card" "main card";
    column-gap: clamp(28px, 3vw, 48px);
  }
  .lcard { position: sticky; top: calc(var(--top-h) + 20px); align-self: start; }
}

/* Nuotraukos: pirma didelė per visą plotį, kitos – miniatiūrų eilėmis */
.listing__gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.listing__gallery .gallery__item:first-child { grid-column: 1 / -1; }

/* Be nuotraukų (2026-11-04, P-103): tas pats paveikslėlis kaip sąrašo ir pradinio kortelėse (assets/img/skelbimas-be-nuotrauku.svg –
   savas piešinys svetainės spalvomis, ne nuotrauka) ir užrašas „Nuotraukų nėra“. Fonas – paveikslėlio fono spalva, tad jo kraštų
   nesimato. Žemas plotas, ne 3:2 rėmas kaip pirmai nuotraukai: tuščia vieta duomenų ir telefono nenustumia. Be aspect-ratio ir
   flex gap (Safari 14): tinklelis, paveikslėlio aukštis – iš width/height. */
.nophoto {
  display: grid;
  justify-items: center;
  margin: 0;
  padding: 14px 16px 18px;
  background: var(--brand-soft);
  border: 1px solid var(--rule);
  text-align: center;
}
.nophoto__img { display: block; width: 168px; max-width: 100%; height: auto; }
.nophoto__text { margin-top: 2px; font-size: var(--fs-sm); font-weight: 600; color: var(--brand); }
@media (min-width: 900px) {
  .nophoto { padding: 22px 24px 26px; }
  .nophoto__img { width: 216px; }
  .nophoto__text { font-size: var(--fs-md); }
}

.lcard { display: grid; gap: 10px; align-content: start; padding: clamp(18px, 2.2vw, 26px); background: #fff; border: 1px solid var(--rule); }
.lcard > * { margin: 0; }
.lcard__year { font-size: var(--fs-sm); font-weight: 600; color: var(--steel); font-variant-numeric: tabular-nums; }
.lcard__title { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: break-word; overflow-wrap: anywhere; margin-top: -6px; }
.lcard__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.lcard__badges .badge { margin-left: 0; }
.lcard__price { font-size: clamp(30px, 3vw, 38px); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; margin-top: 4px; margin-bottom: 4px; }
.lcard__seller { display: flex; flex-wrap: wrap; gap: 2px 12px; padding-top: 12px; border-top: 1px solid var(--rule); }
.lcard__name { font-weight: 600; }
.lcard__city { color: var(--steel); }
.lcard__phone { font-size: clamp(24px, 2.4vw, 30px); font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.lcard__phone a { color: var(--ink); border-bottom: 0; }
.lcard__acts .btn { width: 100%; justify-content: center; }
.lcard .notice { margin-top: 0; }
.lcard__more { color: var(--steel); }

/* Žymos (kuras, variklis, kėbulas, rida; ypatumai) */
.chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.chips li { padding: 6px 11px; font-size: var(--fs-sm); line-height: 1.2; border-radius: 999px; background: var(--zinc); font-variant-numeric: tabular-nums; }
.chips--plain li { background: none; border: 1px solid var(--rule); }

/* Duomenų lentelė: pavadinimas kairėje, reikšmė dešinėje, plonos linijos */
.listing__sec { padding-top: clamp(24px, 3vw, 36px); }
.listing__main > .listing__sec:first-child { padding-top: 0; }   /* tarpą iki nuotraukų/kortelės duoda tinklelis */
.listing__sec > h2 { font-size: clamp(21px, 2vw, 26px); margin-bottom: 12px; }
.spec { margin: 0; border-top: 1px solid var(--rule); }
.spec > div { display: grid; grid-template-columns: minmax(8em, 42%) minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.spec dt { color: var(--steel); }
.spec dd { margin: 0; font-weight: 600; overflow-wrap: break-word; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

/* Telefone ir planšetėje (kol viena skiltis, iki 899 px): pritvirtinta apatinė juosta su kaina ir skambinimu (atsižvelgia
   į safe-area). Iki 2026-10-09 – tik iki 759 px, tad 760–899 px pločiu (pvz. 768 px planšetė) kaina neprilipdavo nei
   juostoje, nei kortelėje (sticky – tik nuo 900 px), nors savininko taisyklė T8 – „kaina prilipusi slenkant“
   (rado tools/layout.mjs). */
.lbar { display: none; }
@media (max-width: 899px) {
  .lbar {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    padding: 10px var(--gut) calc(10px + env(safe-area-inset-bottom));
    background: #fff; border-top: 1px solid var(--rule); box-shadow: 0 -4px 16px rgb(18 23 28 / 0.08);
  }
  .lbar__price { font-size: 22px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
  .lbar .btn { flex: none; justify-content: center; }
  /* .has-lbar – <html> klasė, kurią įrašo puslapis su juosta (page_head 'lbar'). Iki 2026-10-22 – body:has(.lbar) ir
     html:has(.lbar), bet Safari iki 15.4 ir Firefox iki 121 :has() nesupranta, taisyklę praleisdavo, ir juosta
     uždengdavo poraštės apačią (P-058). */
  .has-lbar body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  /* klaviatūra fokusuota poraštės nuoroda nelieka po kainos juosta (2026-10-12, P-023) */
  html.has-lbar { scroll-padding-bottom: calc(68px + 12px + env(safe-area-inset-bottom)); }
}

.field { display: grid; gap: 6px; }
.field label {
  font-size: var(--fs-sm);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--steel);
}
.field select,
.field input:not([type="checkbox"]) {
  font: inherit;
  font-size: var(--fs-md);
  color: var(--ink);
  background: var(--paper);
  border: 1px solid var(--steel);
  border-radius: 0;
  min-height: 48px;
  padding: 10px 12px;
  width: 100%;
}
.field select {
  -webkit-appearance: none;   /* Safari iki 15.4 (P-056): be priešdėlio piešdavo savo rodyklę šalia mūsų */
  appearance: none;
  padding-right: 36px;
  background-image: linear-gradient(45deg, transparent 50%, var(--steel) 50%), linear-gradient(135deg, var(--steel) 50%, transparent 50%);
  background-position: right 18px center, right 12px center;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}
.field select:focus-visible,
.field input:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }

/* ---------- Skelbimo forma (2b, 2026-09-22) ---------- */
.field textarea {
  font: inherit; font-size: var(--fs-md); color: var(--ink); background: var(--paper);
  border: 1px solid var(--steel); border-radius: 0; padding: 10px 12px; width: 100%;
  min-height: 140px; resize: vertical; line-height: 1.5;
}
.field textarea:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.field input[type="file"] { min-height: 0; padding: 10px; background: var(--zinc); }
.field--wide { grid-column: 1 / -1; }
.field__hint { font-size: var(--fs-sm); color: var(--steel); margin: 0; }
.field__error { font-size: var(--fs-sm); color: var(--error); font-weight: 600; margin: 0; }
.field--error input:not([type="checkbox"]):not([type="radio"]),
.field--error select,
.field--error textarea { border-color: var(--error); border-width: 2px; }
.field--check input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--brand); }
.field--check label { font-size: var(--fs-md); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink); }
.req { color: var(--error); }

.form { display: grid; gap: 28px; max-width: 60rem; padding-bottom: var(--sec-pad); }
.form__group { border: 0; border-top: 1px solid var(--rule); margin: 0; padding: 20px 0 0; display: grid; gap: 16px; min-width: 0; }
.form__group > legend { font-size: var(--fs-lg); font-weight: 600; letter-spacing: -0.025em; padding: 0 0 4px; }
/* align-items: start – kitaip lauką su paaiškinimu po juo turinti eilutė ištempia
   gretimų laukų įvesties langelius (grid tempia elementus iki eilutės aukščio). */
.form__grid { display: grid; gap: 16px; grid-template-columns: 1fr; align-items: start; }
.form__grid .field { align-content: start; }
@media (min-width: 600px) { .form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .form__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.form__checks { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px 20px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .form__checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .form__checks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.form__checks label { display: flex; align-items: center; gap: 10px; min-height: 40px; cursor: pointer; }
.form__checks input { width: 18px; height: 18px; margin: 0; flex: none; accent-color: var(--brand); }
.form-errors { border-left: 4px solid var(--error); background: #FDF1F0; padding: 14px 18px; color: var(--ink); }
/* P2 (2026-10-01): santrauką fokusuoja site.js po nepavykusio siuntimo. :focus, ne :focus-visible –
   naujai įkeltame puslapyje naršyklė programinio fokuso rėmelio nerodytų. */
.form-errors[tabindex="-1"]:focus { outline: 2px solid var(--brand); outline-offset: 3px; }
.form-errors ul { margin: 8px 0 0; padding-left: 20px; }
.form-errors a { color: var(--error); }
.form-note { color: var(--steel); font-size: var(--fs-sm); }
.steps { margin: 16px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.report-link { margin-top: 20px; font-size: var(--fs-sm); }
/* Juodraščio vietos, kurias užpildo savininkas ([OPERATORIUS], [TERMINAS]) */
.placeholder { background: #FFF4D6; color: var(--ink); padding: 0 4px; border-bottom: 1px dashed var(--amber); }

/* ---------- Administratoriaus puslapis (2c) ---------- */
.form--login { max-width: 22rem; }
.admin-logout { margin-top: -8px; }
.admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.admin-tabs a {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px;
  border: 2px solid var(--steel); border-radius: 999px; color: var(--ink);
  font-size: var(--fs-sm); font-weight: 600;
}
.admin-tabs a[aria-current="page"] { background: var(--brand); border-color: var(--brand); color: #fff; }
.admin-count { font-weight: 400; opacity: 0.85; }
.admin-list { list-style: none; padding: 0; margin: 0; }
.admin-item {
  display: flex; flex-wrap: wrap; gap: 12px 20px; justify-content: space-between; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid var(--rule); font-size: var(--fs-sm);
}
.admin-item strong { font-size: var(--fs-md); }
.admin-msg { margin: 8px 0 0; padding-left: 12px; border-left: 3px solid var(--rule); color: var(--steel); }
.admin-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.admin-actions .btn { font-size: var(--fs-sm); padding: 6px 12px; min-height: 40px; }
.admin-form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.admin-form input[type="text"] {
  font: inherit; font-size: var(--fs-sm); min-height: 40px; padding: 6px 10px;
  border: 1px solid var(--steel); background: var(--paper); width: 12rem;
}
.admin-confirm { display: inline-flex; align-items: center; gap: 6px; color: var(--steel); }
.admin-confirm input { width: 18px; height: 18px; accent-color: var(--error); }
.admin-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.admin-table th, .admin-table td { text-align: left; padding: 8px 12px 8px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.admin-table th { color: var(--steel); font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; }
/* „Būklė“ (2026-09-30): antraštės eilučių pradžioje – įprastu šriftu, pusė pločio */
.admin-table--rows th { width: 40%; color: var(--ink); font-weight: 600; text-transform: none; letter-spacing: 0; }
/* „Nerasti adresai“ (2026-09-30): ilgas kelias be tarpų laužomas, kad lentelė tilptų telefone */
.admin-table--paths td:first-child { overflow-wrap: break-word; overflow-wrap: anywhere; }
/* Kelių stulpelių lentelės – žurnalas, blokavimai, nerasti adresai (2026-10-24, P-062). Telefone jos netilpo, ir dešinysis
   kraštas būdavo nukirptas: žurnalo lentelė – 409 px pločio (vien antraštės didžiosiomis raidėmis su tarpais ~390 px),
   nerastų adresų – 313 px (320 px ekrane), blokavimų – šeši stulpeliai ir mygtukas. Siauriau nei 900 px (kaip skelbimo
   puslapio riba) kiekviena eilutė – blokas, langelis – „antraštė | reikšmė“ (antraštė – data-label, kaip „Būklės“
   lentelėse), tušti langeliai nerodomi, antraštės eilutė lieka ekrano skaitytuvui. Langeliai, kuriuose gali būti el. paštas,
   IP, nuoroda ar kelias (.admin-table__long: pastaba, blokavimo „kas“ ir priežastis, nerastas adresas), ilgą žodį laužo bet
   kur ir lentelėje, kad niekas neišlįstų už krašto (word-break: break-word – Safari iki 15.4, be overflow-wrap: anywhere,
   P-061); datos ir skaičiai lentelėje – vienoje eilutėje (.admin-table__nowrap; iki šiol suspausti lūždavo per brūkšnelį).
   Nauja kelių stulpelių lentelė – taip pat: admin-table--stack ir data-label kiekvienam langeliui. */
.admin-table__long { word-break: break-word; overflow-wrap: anywhere; }
.admin-table__nowrap { white-space: nowrap; }
@media (max-width: 899px) {
  .admin-table--stack,
  .admin-table--stack tbody,
  .admin-table--stack tr { display: block; }
  .admin-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .admin-table--stack tr { padding: 10px 0; border-bottom: 1px solid var(--rule); }
  .admin-table--stack td { display: block; padding: 2px 0; border-bottom: 0; white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
  .admin-table--stack td[data-label] { display: grid; grid-template-columns: 8em minmax(0, 1fr); column-gap: 12px; }
  .admin-table--stack td[data-label]::before { content: attr(data-label); color: var(--steel); font-weight: 500; text-transform: uppercase; letter-spacing: 0.08em; }
  .admin-table--stack td:empty { display: none; }
  .admin-table--stack td:not([data-label]) { padding-top: 8px; }
}
.admin-rev { border-top: 1px solid var(--rule); padding: 10px 0; }
.admin-rev summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.admin-rev .rows { font-size: var(--fs-sm); }
.admin-changed dt, .admin-changed dd { background: #FFF4D6; }
.admin-now { color: var(--steel); }
/* Esamos nuotraukos taisymo formoje */
.form__photos { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 16px; }
.form__photos li { display: grid; gap: 6px; justify-items: center; }
.form__photos img { width: 160px; height: 120px; object-fit: cover; border: 1px solid var(--rule); }
.form__photos label { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: var(--fs-sm); }
.form__photos input { width: 18px; height: 18px; accent-color: var(--error); }

/* Slaptas laukas robotams. NE display:none – kai kurie robotai tokius laukus praleidžia.
   Iškeliamas už ekrano ribų; ekrano skaitytuvui paslėptas aria-hidden, klaviatūrai tabindex=-1. */
.hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Skelbimų filtrai ----------
   Devyni laukai nustumdavo skelbimus žemiau ekrano ribos (360 px), todėl filtrai
   suskleidžiami į `<details>`: puslapis turi veikti ir be JavaScript.
   SUSKLEIDŽIAMI VISUOSE PLOČIUOSE, ne tik siauruose. Buvo bandyta nuo 768 px
   santrauką paslėpti, o laukus rodyti visada – NEVEIKIA: naršyklė uždaryto
   `<details>` turinį slepia per `content-visibility`, ir `display: grid` jo
   nebeatstato (patikrinta Edge 360/768 px). Tokia taisyklė desktope paliktų
   žmogų visai be filtrų, todėl rinktasi vienodas elgesys: vienas paspaudimas.
   Jei filtras įjungtas, serveris prideda `open` – blokas jau atvertas. */
.filters-box { border-bottom: 1px solid var(--rule); }
.filters-box__summary {
  display: flex;
  align-items: center;
  gap: 10px;
  width: -moz-fit-content;           /* Firefox iki 94 (P-061) */
  width: fit-content;
  min-height: 48px;
  padding-top: 12px;
  padding-bottom: 12px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;                  /* Firefox trikampis */
}
.filters-box__summary::-webkit-details-marker { display: none; }
.filters-box__summary::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--steel);
  border-bottom: 2px solid var(--steel);
  transform: translateY(-2px) rotate(45deg);
}
.filters-box[open] .filters-box__summary::after { transform: translateY(2px) rotate(-135deg); }
.filters-box__summary:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.filters-box__on { font-weight: 400; color: var(--steel); }

.filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: end;
  padding: 24px 0;
}
@media (min-width: 560px) { .filters { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .filters { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) {
  .filters { grid-template-columns: repeat(6, 1fr); }
  .filters .field--check { grid-column: 1 / span 5; }
}

.field--check { display: flex; align-items: center; gap: 10px; min-height: 48px; }
.field--check input { width: 18px; height: 18px; margin: 0; accent-color: var(--brand); }
.filters .field--check label { font-size: var(--fs-md); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink); }

/* Puslapiavimas (skelbimų sąrašas, 2 etapas) */
.pager { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 24px; padding-bottom: 24px; }
.pager__state { color: var(--steel); font-size: var(--fs-sm); }
.pager__pages { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.pager__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 8px;
  border: 1px solid var(--steel);
  border-radius: 999px;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-decoration: none;
}
.pager__num--here { background: var(--brand); border-color: var(--brand); color: #fff; }
.pager__gap { color: var(--steel); padding: 0 2px; }

/* Paieška: virš filtrų, per visą plotį, kad matytųsi iš karto */
.searchbar { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
.searchbar input[type="search"] {
  flex: 1 1 14rem;
  min-height: 44px;
  padding: 8px 12px;
  font: inherit;
  border: 1px solid var(--steel);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
}

/* Nuotraukų skaičius ant miniatiūros */
.car__thumb { grid-row: 1 / span 3; position: relative; display: block; }
.car__photo-count {
  position: absolute;
  right: 4px;
  bottom: 4px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 1px 6px 1px 4px;
  border-radius: 999px;
  /* Tamsi permatoma plokštelė: nuotrauka po ja gali būti bet kokia, o baltas tekstas
     ant rgba(0,0,0,0.72) net ant balto fono lieka virš 4,5:1. */
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
}

/* Skelbimų skaičiaus („N skelbimų“, `.market__count`) virš sąrašo nebėra nuo 2026-10-07 (savininkas). */
.cars:empty { min-height: 60vh; }

.listing { border-top: 1px solid var(--ink); }
.listing__header { display: none; }
.listing__message { padding: 28px 0; }
.listing__message .button { margin-top: 14px; }

.cars { list-style: none; padding: 0; }
.car { border-bottom: 1px solid var(--rule); }

.car__row {
  display: grid;
  /* minmax(0, …): ilgas žodis pavadinime neplatina stulpelio už ekrano (320 px, 2026-10-08) */
  grid-template-columns: 104px minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 4px;
  padding: 18px 0;
}
.car__photo {
  /* Eilutę dabar užima .car__thumb (nuotraukos skaičiaus plokštelei reikia konteinerio);
     paveikslėlis lieka tas pats, tik nebe tinklelio elementas. */
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--zinc);
}
.car__name { font-size: var(--fs-md); font-weight: 700; letter-spacing: -0.005em; line-height: 1.3; overflow-wrap: break-word; overflow-wrap: anywhere; }
.car__trim { color: var(--steel); font-size: var(--fs-sm); overflow-wrap: break-word; overflow-wrap: anywhere; }
.car__specs {
  display: flex;
  flex-wrap: wrap;
  column-gap: 16px;
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
}
.car__specs dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.car__buy {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 6px;
}
.car__price { font-size: var(--fs-lg); font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.car__price--none { font-size: var(--fs-md); font-weight: 500; }

/* Žyma („Daužta“ – raudona). Bazinė taisyklė TURI stovėti prieš .badge--* : svoris
   vienodas (0,1,0), tad laimi vėlesnė. Iki 2026-09-28 ji stovėjo po jų, ir „Pavyzdys“,
   „Parduota“ bei „nauja“ gaudavo raudoną tekstą. */
.badge {
  display: inline-block;
  vertical-align: 0.15em;
  margin-left: 6px;
  padding: 0 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--error);
  border: 1px solid currentColor;
}
/* Demonstracinio skelbimo žyma: kita spalva nei „Daužta“, kad nesusimaišytų */
.badge--demo { color: var(--steel); }
/* Administratoriaus žyma „nauja“: žalia, kad iš karto skirtųsi nuo raudonos „Daužta“
   ir pilkos „Parduota“. Balta ant #1F7A3D = 5,37:1 (išmatuota). */
.badge--new { color: #fff; background: #1F7A3D; border-color: #1F7A3D; text-transform: none; }
.admin-since { color: var(--steel); font-size: var(--fs-sm); margin: 10px 0 0; }

/* „Parduota“ – pilka ir užpildyta: skelbimas dar matomas, bet jau nebeaktualus.
   Balta ant --steel (#5B6570) duoda 5,93:1 – išmatuota, tinka ir 12 px šriftui. */
.badge--sold { color: #fff; background: var(--steel); border-color: var(--steel); }

/* Apvalus kaip kiti antriniai mygtukai, tik mažesnis */
.car__more {
  font: inherit;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink);
  background: none;
  border: 2px solid var(--steel);
  border-radius: 999px;
  padding: 8px 18px;
  min-height: 40px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.car__more:hover { background: var(--ink); border-color: var(--ink); color: #fff; }

.car__panel { padding: 0 0 22px; display: grid; gap: 16px; }
.car__facts {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 16px;
  row-gap: 4px;
  font-size: var(--fs-sm);
}
.car__facts dt { color: var(--steel); }
.car__features-title { font-size: var(--fs-sm); color: var(--steel); }
.car__features ul { list-style: none; padding: 0; margin-top: 4px; display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: var(--fs-sm); }
.car__desc { max-width: 62ch; }
.car__contact { color: var(--steel); font-size: var(--fs-sm); }

@media (min-width: 640px) {
  .car__row { grid-template-columns: 160px minmax(0, 1fr) auto; grid-template-rows: auto auto 1fr; align-items: start; column-gap: 20px; }
  .car__photo { grid-row: 1 / span 3; }
  .car__specs { grid-column: 2; }
  .car__buy { grid-column: 3; grid-row: 1 / span 3; flex-direction: column; align-items: flex-end; margin-top: 0; }
  .car__panel { padding-left: 180px; }
}

@media (min-width: 1080px) {
  .listing { --cols: 128px minmax(12rem, 1fr) 4.5rem 8rem 7.5rem 8rem 9rem; }
  .listing__header {
    display: grid;
    grid-template-columns: var(--cols);
    column-gap: 20px;
    padding: 12px 0;
    border-bottom: 1px solid var(--rule);
  }
  .listing__col { font-size: var(--fs-sm); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--steel); }
  .listing__col--car { grid-column: 2; }
  .listing__col--num { text-align: right; }
  .car__row { grid-template-columns: var(--cols); grid-template-rows: auto 1fr; }
  .car__photo { grid-row: 1 / span 2; }
  .car__name, .car__trim { grid-column: 2; }
  .car__specs { grid-column: 3 / span 4; grid-row: 1; display: grid; grid-template-columns: subgrid; font-size: var(--fs-md); }
  .spec--year dd, .spec--mileage dd { text-align: right; }
  .car__buy { grid-column: 7; grid-row: 1 / span 2; }
  .car__panel { padding-left: 148px; grid-template-columns: minmax(16rem, 24rem) 1fr; grid-template-rows: auto auto 1fr; column-gap: 48px; align-items: start; }
  .car__features, .car__desc, .car__contact { grid-column: 2; }
  .car__facts { grid-row: 1 / span 3; }
}

/* ---------- Poraštė ----------
   Spalvos, šriftas, etiketės ir logotipas – kaip deliuvis.com .foot (styles.css 621–633). Išdėstymas nuo 2026-10-11
   savas, kompaktiškas (naudotojas, P-019): deliuvis.com trys skiltys išskirstytos per visą plotį, o čia jose liko po
   kelias eilutes, tad 1512 px lange tarp jų buvo po ~460 px tuštumos, logotipas – 17 px aukščiau už etiketes, o visa
   poraštė – 308 px aukščio. Dabar blokai greta.
   SKILČIŲ NUORODŲ PORAŠTĖJE NEBĖRA (naudotojas 2026-10-13, P-029; savininko taisyklė T2 – tik meniu). Iki tol čia buvo
   penkių nuorodų eilutė `.foot-links` (ir jos skirtukų „·“ slėpimas iki 920 px, P-020).
   PRIVATUMO PRANEŠIMAS IR TAISYKLĖS – KIEKVIENO PUSLAPIO PORAŠTĖJE (naudotojas 2026-10-15, P-030: ES skaidrumo gairės
   rekomenduoja matomą privatumo nuorodą kiekviename puslapyje): `.foot-legal` – dvi nuorodos šalia ©, tarpas tarp jų –
   paraštė, ne skirtukas (taip eilutė lūžta be pakabinto „·“).
   - iki 600 px: logotipas, po juo kontaktai ir adresas greta, linija, © ir po juo abi nuorodos;
   - 600–1359 px: logotipas, kontaktai ir adresas vienoje eilėje kairėje, linija, © kairėje, nuorodos dešinėje;
   - nuo 1360 px viena juosta: kairėje logotipas virš kontaktų ir šalia adresas, dešinėje apačioje – © ir nuorodos.
   Plotis – tas pats .wrap kaip puslapio turinio, kraštai sutampa. */

.foot { background: var(--ink); color: rgba(255, 255, 255, 0.6); padding: 26px 0 max(20px, env(safe-area-inset-bottom)); }
.foot-in { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px 64px; }
/* +4 px: logotipo raidžių viršus (SVG viduje ~2 px paraštė) sutampa su etikečių raidžių viršumi */
.foot-logo { height: 24px; width: auto; display: block; margin-top: 4px; }
.foot-col { font-size: var(--fs-md); }
dl.foot-col { margin: 0; }
/* 0.5 (ne 0.4 / 0.45) – kontrastas 5,28:1 ≥ 4,5:1 (P1, savininkas 2026-10-01; docs/prieinamumas.md) */
.foot-col dt { font-size: var(--fs-sm); letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5); margin-bottom: 6px; }
.foot-col dd { margin: 0; }
.foot a { text-decoration: none; color: #fff; border-bottom: 0; }
.foot a:hover { color: var(--brand-soft); }
.foot :focus-visible { outline-color: #fff; }
.foot-bottom { width: 100%; border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 12px; font-size: var(--fs-md); color: rgba(255, 255, 255, 0.5); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 24px; }
/* Dvi nuorodos: tarpas – paraštės, ne skirtukas; neigiama paraštė jas sulygiuoja su turinio kraštu, kai eilutė lūžta.
   Paspaudimo plotas – ne mažesnis nei 24 px aukščio (WCAG 2.2 „Target Size (Minimum)“). */
.foot-legal { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.foot-legal a { display: inline-block; padding: 2px 10px; }
@media (max-width: 599px) {
  /* logotipas – atskira eilė; kontaktai ir adresas greta telpa nuo 360 px (siauriau – vienas po kitu).
     Tarpas 28 px (iki 2026-10-21 – 40 px): poraštėje atsiradus telefonams (P-056) kontaktų skiltis platesnė (~124 px),
     ir su 40 px tarpu 360–374 px pločiu adresas nukrisdavo po kontaktais; dabar telpa su ~10 px atsarga. */
  .foot-in { column-gap: 28px; }
  .foot-in > .foot-col:first-child { flex-basis: 100%; }
}
@media (min-width: 1360px) {
  /* Tarpas tarp eilučių 18 px (iki 2026-10-21 – 0): kol kontaktuose buvo viena eilutė, juos nuo logotipo skyrė tuščia
     antros eilutės vieta (kontaktai – apačioje, kartu su adreso pabaiga); su trimis eilutėmis (P-056) jie prigludo prie
     logotipo. 18 px – tiek pat, kiek siauresniame ekrane. */
  .foot-in { display: grid; grid-template-columns: auto auto 1fr; grid-template-rows: auto 1fr; gap: 18px 56px; }
  .foot-in > .foot-col:nth-child(1) { grid-area: 1 / 1; }
  .foot-in > .foot-col:nth-child(2) { grid-area: 2 / 1; align-self: end; }
  .foot-in > .foot-col:nth-child(3) { grid-area: 1 / 2 / span 2; }
  /* © ir dvi nuorodos – dešinėje, vienoje linijoje su paskutine adreso eilute */
  .foot-bottom { grid-area: 1 / 3 / span 2; align-self: end; justify-self: end; width: auto; border-top: 0; padding-top: 0; }
}

/* ---------- Judesys (savininko prašymas 2026-09-28) ----------
   Viskas – tik po `html.motion` (js-flag.js: veikia JS, nėra prefers-reduced-motion, yra
   IntersectionObserver). Be jos niekas nepaslepiama. Juda tik opacity ir transform, tad
   maketas nesikeičia. Klases .rv / .img-wait / .ad--in uždeda assets/js/motion.js, ir tik
   tam, kas dar nematoma – pirmas ekranas nelaukia skripto. */

/* Puslapio išryškėjimas atsidarius: vien CSS, prasideda nuo pirmo piešimo, nieko neblokuoja.
   Be fill-mode: pasibaigus animacijai <main> nebelieka atskiru sluoksniu. */
.motion main { animation: page-in 0.35s ease-out; }
@keyframes page-in { from { opacity: 0; } }

/* Slenkant pasirodo tai, kas buvo žemiau ekrano; tinklelyje – su laiptuota delsa (--rv-delay) */
.motion .rv { opacity: 0; transform: translateY(18px); }
.motion .rv.rv-in {
  opacity: 1;
  transform: none;
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--rv-delay, 0ms);
}

/* Nuotrauka išryškėja įsikėlusi (vieta rezervuota width/height ir aspect-ratio).
   transform ir filter pakartoti, kad nedingtų plytelių ir galerijų atsakas į pelę. */
.motion .img-in { transition: opacity 0.5s ease, transform 0.2s ease, filter 0.2s ease; }
.motion .img-wait { opacity: 0; }

/* Naujausių skelbimų kortelės, pakeitusios skeletus */
.motion .ad--in { animation: rise-in 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) backwards; animation-delay: var(--rv-delay, 0ms); }
@keyframes rise-in { from { opacity: 0; transform: translateY(12px); } }

/* Atsakas į pelę ir paspaudimą: mygtukai truputį pakyla (tik pele) ir susispaudžia paspaudus,
   kortelių nuotraukos paspaudus sumažėja. Galioja ir be JS; su „mažiau judesio“ – be judesio. */
.btn,
.button,
.car__more,
.pager__num { transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.15s ease; -webkit-tap-highlight-color: transparent; }
.ad__link,
.line h2 a { -webkit-tap-highlight-color: transparent; }
@media (hover: hover) {
  .btn:hover,
  .button:hover { transform: translateY(-1px); }
}
.btn:active,
.button:active,
.car__more:active,
.pager__num:active { transform: scale(0.97); }
.ad__frame { transition: transform 0.15s ease; }
.ad__link:active .ad__frame,
.line:active .photo__frame { transform: scale(0.98); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  .btn:hover, .button:hover, .btn:active, .button:active, .car__more:active, .pager__num:active,
  .ad__link:active .ad__frame, .line:active .photo__frame { transform: none; }
}

@media print {
  .top, .filters, .car__more, .skip-link, .burger { display: none; }
  .car__panel[hidden] { display: grid !important; }
  .rv, .img-wait { opacity: 1 !important; transform: none !important; }
}

/* ---------- Naršyklės be aspect-ratio (Safari iki 15 – iOS 14 ir senesnė, Firefox iki 89, Chrome iki 88; 2026-10-23,
   PATAISOS.md P-060) ----------
   Be jo nuotraukų rėmai, kuriuose nuotrauka absoliuti (plytelės, galerijos), liktų tik linija; skelbimų kortelės ir
   sąrašo miniatiūros būtų pagal pačios nuotraukos proporcijas; YouTube plytelės – žemesnės, o paleistas įrašas
   (iframe) – 150 px aukščio. Dabartinėse naršyklėse šis blokas negalioja – jose viskas kaip buvo.
   - Rėmai 3:2: aukštis – padding-top (procentai skaičiuojami nuo pločio) minus 2 px rėmelio, nes aspect-ratio taikomas
     border-box; kortelės nuotrauka (įprastai tekste) – absoliuti, kaip plytelėse.
   - Sąrašo miniatiūra 4:3: stulpelis visada fiksuoto pločio (104, nuo 640 px – 160, nuo 1080 px – 128 px; žr. .car__row ir
     --cols), tad nuotraukai – tas pats aukštis pikseliais; .car__thumb lieka kaip buvo (ant jos – nuotraukų skaičius).
   - YouTube 16:9: li – tinklelis, ::before (padding-top 56,25 %) ir nuoroda – tame pačiame langelyje: plytelė ne žemesnė
     už 16:9, o ilgas pavadinimas ją paaukština, kaip su aspect-ratio; iframe – absoliutus per visą li. Savo serverio
     įrašai (li.mill-video, <video>) – nekeičiami: <video> proporciją ima iš viršelio (16:9).
   - Draudimo antraštės nuotrauka (.hero--draudimas .hero__img) – nuo P-090 telefone kaip visų antraščių (absoliuti),
     aspect-ratio nebeturi; tuščia 16:9 eilutė – padding-top. Iki P-090 tikrinta: tmp/p060/. */
@supports not (aspect-ratio: 1 / 1) {
  .photo--tile .photo__frame,
  .gallery__frame,
  .ad__frame { height: 0; padding-top: calc(100% * 2 / 3 - 2px); }
  .ad__img { position: absolute; top: 0; left: 0; }
  .car__photo { height: 78px; }
  .videos > li:not(.mill-video) { position: relative; display: grid; }
  .videos > li:not(.mill-video)::before { content: ""; grid-area: 1 / 1; padding-top: 56.25%; }
  .video__load { grid-area: 1 / 1; }
  .video__frame { position: absolute; top: 0; left: 0; height: 100%; }
  @media (min-width: 640px) { .car__photo { height: 120px; } }
  @media (min-width: 1080px) { .car__photo { height: 96px; } }
}

/* ---------- Naršyklės be overflow: clip (Chrome ir Edge iki 90, Safari iki 16; 2026-10-23, PATAISOS.md P-061) ----------
   html ir body `overflow-x: clip` (Pagrindas) neleidžia puslapiui slinktis į šoną, jei kas nors išlįstų už krašto; be clip
   abi eilutės praleidžiamos. 2026-10-23 tokio pertekliaus rasta tik administratoriaus žurnale telefone (39 px). Vietoj jų –
   lango `overflow-x: hidden` per html (ne body: body su hidden taptų slinkimo konteineriu, ir juosta nebeprilipdytų). */
@supports not (overflow-x: clip) {
  html { overflow-x: hidden; }
}

/* ---------- Naršyklės be subgrid (Chrome ir Edge iki 117, Safari iki 16; 2026-10-23, PATAISOS.md P-061) ----------
   Skelbimų sąraše nuo 1080 px keturi parametrai (.car__specs: metai, rida, kuras, pavarų dėžė) stovi po stulpelių
   antraštėmis per subgrid; be jo `grid-template-columns: subgrid` praleidžiamas, ir parametrai sukrisdavo vienas po kito.
   Tų stulpelių pločiai fiksuoti (--cols 3–6: 4.5rem 8rem 7.5rem 8rem, tarpai 20 px), tad čia – tie patys dydžiai, kokius duoda
   subgrid: jame tarpas – paties .car__specs column-gap 16 px (ne 20), todėl kiekvienas stulpelis į vidinio tarpo pusę 2 px
   platesnis (72+2, 2+128+2, 2+120+2, 2+128 px). Keičiant --cols ar tuos tarpus – pakeisti ir čia. Dabartinės naršyklės (ir
   Firefox nuo 71) bloko netaiko. */
@supports not (grid-template-columns: subgrid) {
  @media (min-width: 1080px) {
    .car__specs { grid-template-columns: calc(4.5rem + 2px) calc(8rem + 4px) calc(7.5rem + 4px) calc(8rem + 2px); column-gap: 16px; }
  }
}

/* ---------- Safari iki 14.1 (iOS iki 14.5): flex be `gap` (2026-10-23, PATAISOS.md P-061) ----------
   Safari 14.0 flex konteineriuose `gap` / `row-gap` / `column-gap` nepaiso (tinklelyje – paiso): mygtuko tekstas prisiglausdavo
   prie ikonos, mygtukai ir antraštės kontaktai – vienas prie kito, meniu mygtuko brūkšneliai susiliedavo į vieną, poraštės
   skiltys – be tarpų. Čia tie patys tarpai – paraštėmis. Flex `gap` per @supports patikrinti negalima, todėl atpažįstama pagal
   `inset`: iš tikslinių naršyklių (Safari 14 / iOS 14, Chrome ir Edge 87, Firefox 88) jo neturi tik Safari iki 14.1 – lygiai
   tos, kurios neturi ir flex `gap`. Chrome 87, Firefox 88 ir dabartinės naršyklės šio bloko netaiko – jose viskas kaip buvo.
   - Laužoma eilė: konteineriui – neigiamos paraštės viršuje ir kairėje, vaikams – teigiamos (tarpas lieka tik tarp jų, eilė
     lūžta ten pat, kur su `gap`); kur konteinerio paraštės užimtos – kitaip, parašyta prie taisyklės.
   - Kai vaikas – teksto mazgas (mygtukas: ikona ir tekstas), paraštė – ikonai.
   Keičiant flex `gap` main.css – pakeisti ir čia; naujas flex konteineris su `gap` ir keliais vaikais – įrašyti čia.
   Ko dar Safari iki 14.1 neturi, main.css nerašoma: `inset` – visur top/right/bottom/left; loginiai trumpiniai
   (padding-block, margin-inline…) – fiziniai padding-top/-bottom, margin-left/-right (iki P-061 be jų Safari 14.0 rodė be
   vidinių skyrių tarpų, nuotraukų plytelių ir peržiūros – be nuotraukų, antraštės – be tamsaus gradiento). */
@supports not (inset: 0) {
  /* mygtukai: ikona ir tekstas (ikonos paraštė −2 px + tarpas 10 px) */
  .btn > svg,
  .button > svg { margin-right: 8px; }
  .burger i + i { margin-top: 4px; }
  /* meniu panelė (stulpelis) ir juosta nuo 1350 px */
  .js .nav.open a + a { margin-top: 8px; }
  @media (min-width: 1350px) {
    .js .top:not(.top--home) .nav a + a { margin-top: 0; margin-left: 6px; }
  }
  /* be JS – nuorodos po logotipu, laužoma eilė: dešinė ir apatinė paraštės (pradiniame eilė centruota – po pusę iš šonų) */
  html:not(.js) .top:not(.top--home) .nav { margin-top: 8px; margin-bottom: -8px; }
  html:not(.js) .top:not(.top--home) .nav a { margin: 0 8px 8px 0; }
  @media (min-width: 1350px) { html:not(.js) .top:not(.top--home) .nav a { margin-right: 6px; } }
  @media (max-width: 760px) {
    html:not(.js) .top--home .nav { margin-top: 8px; margin-bottom: -8px; }
    html:not(.js) .top--home .nav a { margin: 0 4px 8px; }
  }
  .page-head__contact svg { margin-right: 10px; }
  /* pradinio skelbimų antraštė: pavadinimas ir mygtukai (laužoma) */
  .home-ads__head { margin-top: -10px; margin-left: -24px; }
  .home-ads__head > * { margin-top: 10px; margin-left: 24px; }
  @media (max-width: 699px) { .ads > .ad + .ad { margin-left: 12px; } }
  .ad__tags .badge + .badge { margin-left: 4px; }
  /* mygtukų eilės (iki 520 px .acts – tinklelis, jo tarpai veikia) */
  @media (min-width: 521px) {
    .acts { margin-top: -10px; margin-left: -10px; }
    .acts > * { margin-top: 10px; margin-left: 10px; }
    .home-ads__head > .acts { margin-top: 0; margin-left: 14px; }
    /* per visą plotį: flex-basis 100 % vietoj width: 100 % (su kairės paraštės 10 px kitaip išlįstų už krašto) */
    .lcard__acts .btn { width: auto; flex: 1 1 100%; }
    .fstation .acts { margin-left: 0; }
    .fstation .acts > * { margin: 0; }
  }
  @media (min-width: 521px) and (max-width: 760px) {
    .hero__acts .btn { width: auto; flex: 1 1 100%; }
  }
  .lightbox__bar > * + * { margin-left: 12px; }
  /* antraštės kontaktai */
  .hero__facts { margin-top: -8px; margin-left: -32px; }
  .hero__facts > li { margin-top: 8px; margin-left: 32px; }
  .hero__facts svg { margin-right: 10px; }
  @media (max-width: 760px) {
    .hero__facts { margin-top: -4px; margin-left: -24px; }
    .hero__facts > li { margin-top: 4px; margin-left: 24px; }
  }
  /* degalinės kortelė (stulpelis); maršruto mygtukas lieka apačioje (margin-top: auto), jo tarpas – vidinis: 4 + 10 px */
  .fstation__body > * + * { margin-top: 10px; }
  .fstation .acts { padding-top: 14px; }
  .video__load > * + * { margin-top: 8px; }
  .video__load > .video__media { margin-top: 0; }   /* absoliutus miniatiūros rėmelis – be tarpo (P-097) */
  /* skelbimo kortelė; pardavėjo eilutė – po rėmeliu, tad vietoj neigiamos paraštės – 2 px mažesnis vidinis tarpas */
  .lcard__badges { margin-top: -6px; margin-left: -6px; }
  .lcard__badges .badge { margin-top: 6px; margin-left: 6px; }
  .lcard__seller { padding-top: 10px; }
  .lcard__seller > * { margin-top: 2px; }
  .lcard__seller > :first-child { margin-right: 12px; }
  .chips { margin-top: -6px; margin-left: -6px; }
  .chips > li { margin-top: 6px; margin-left: 6px; }
  .lbar > * + * { margin-left: 12px; }
  /* formos: varnelė ir užrašas */
  .form__checks input { margin-right: 10px; }
  .field--check input + label { margin-left: 10px; }
  .filters-box__summary::after { margin-left: 10px; }
  /* skelbimų sąrašas */
  .searchbar { margin-top: -8px; margin-left: -8px; }
  .searchbar > * { margin-top: 8px; margin-left: 8px; }
  .car__photo-count svg { margin-right: 3px; }
  @media (max-width: 1079px) {
    .car__specs { margin-left: -16px; }
    .car__specs > * { margin-left: 16px; }
  }
  .car__buy > * + * { margin-left: 16px; }
  @media (min-width: 640px) { .car__buy > * + * { margin-left: 0; margin-top: 16px; } }
  /* puslapiavimas: viršuje 24 px – 12 px vidinio tarpo ir 12 px vaikų paraštės */
  .pager { padding-top: 12px; margin-left: -12px; }
  .pager > * { margin-top: 12px; margin-left: 12px; }
  .pager > .pager__pages { margin-top: 6px; margin-left: 6px; }
  .pager__pages > li { margin-top: 6px; margin-left: 6px; }
  /* poraštė (nuo 1360 px – tinklelis, jo tarpai veikia). .foot-in – .wrap: šoninės paraštės užimtos (centravimas), tad
     tarpas tarp skilčių – kairė paraštė nuo antrosios skilties; telefone pirmoji skiltis (logotipas) – atskira eilė */
  @media (max-width: 1359px) {
    .foot-in { margin-top: -18px; }
    .foot-in > .foot-col,
    .foot-in > .foot-bottom { margin-top: 18px; }   /* ne `> *`: dl.foot-col { margin: 0 } svaresnis */
    .foot-in > .foot-col + .foot-col { margin-left: 64px; }
    .foot-bottom > :first-child { margin-bottom: 6px; }
  }
  @media (max-width: 599px) {
    .foot-in > .foot-col + .foot-col { margin-left: 28px; }
    .foot-in > .foot-col:nth-child(2) { margin-left: 0; }
  }
  @media (max-width: 359px) { .foot-in > .foot-col:nth-child(3) { margin-left: 0; } }
  @media (min-width: 1360px) { .foot-legal { margin-left: 14px; } }
  /* administratoriaus ir taisymo puslapiai */
  .admin-tabs { margin-top: 8px; margin-left: -8px; }
  .admin-tabs > a { margin-top: 8px; margin-left: 8px; }
  .admin-tabs .admin-count { margin-left: 8px; }
  .admin-item { padding-top: 4px; }
  .admin-item > * { margin-top: 12px; }
  .admin-item > :first-child { margin-right: 20px; }
  .admin-item > .admin-actions { margin-top: 4px; margin-left: -8px; }
  .admin-actions > * { margin-top: 8px; margin-left: 8px; }
  .admin-form { margin-top: -8px; margin-left: -8px; }
  .admin-form > * { margin-top: 8px; margin-left: 8px; }
  .admin-actions > .admin-form { margin-top: 0; margin-left: 0; }
  .admin-confirm input { margin-right: 8px; }
  .form__photos { margin-top: -16px; margin-left: -16px; }
  .form__photos > li { margin-top: 16px; margin-left: 16px; }
  .form__photos label input { margin-right: 10px; }
}

/* ---------- Safari iki 15.4: be :focus-visible (2026-10-23, PATAISOS.md P-061) ----------
   Safari 14–15.3 :focus-visible nesupranta ir tokias taisykles praleidžia: klaviatūra fokusuotas elementas gaudavo tik
   naršyklės mėlyną žiedą – firminėje juostoje, antraštės nuotraukoje, poraštėje ir nuotraukų peržiūroje mėlyną ant tamsaus.
   Čia tie patys žiedai su :focus: Safari nuorodų ir mygtukų pele nefokusuoja, tad jie matomi naudojant klaviatūrą; laukams –
   visada, kaip ir dabartinėse naršyklėse. @supports selector() Safari 14.0 nesupranta, todėl atpažįstama pagal
   `overflow-wrap: anywhere`: iš tikslinių naršyklių jo neturi tik Safari iki 15.4 (Chrome 87 ir Firefox 88 turi ir jį, ir
   :focus-visible – jose, kaip ir dabartinėse, šis blokas negalioja). Keičiant :focus-visible taisyklę – pakeisti ir čia.
   Taisyklės, kuriose :focus-visible buvo viename sąraše su :hover, išskirtos (galerija, YouTube plytelės): kitaip Safari
   praleisdavo ir :hover. Tos pačios naršyklės neturi ir overflow-wrap: anywhere – prieš jį visur `break-word` (P-061). */
@supports not (overflow-wrap: anywhere) {
  :focus { outline: 2px solid var(--brand); outline-offset: 3px; }
  .top :focus { outline-color: #fff; }
  .top .burger:focus { outline: none; }
  .top .burger:focus::before { outline: 2px solid #fff; outline-offset: 2px; }
  .js .nav.open :focus { outline-color: var(--brand); }
  .ad__link:focus { outline: 3px solid var(--brand); outline-offset: 3px; }
  .gallery--zoom .gallery__img:focus { transform: scale(1.04); filter: brightness(1.06); outline: 3px solid var(--brand); outline-offset: -3px; }
  .lightbox :focus { outline: 3px solid #fff; outline-offset: 2px; }
  .hero :focus { outline: 3px solid #fff; outline-offset: 3px; }
  .video__load:focus .video__play { background: var(--brand); transform: scale(1.06); }
  .field select:focus,
  .field input:focus,
  .field textarea:focus { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
  .filters-box__summary:focus { outline: 3px solid var(--brand); outline-offset: 2px; }
  .foot :focus { outline-color: #fff; }
  @media (prefers-reduced-motion: reduce) {
    .gallery--zoom .gallery__img:focus { transform: none; filter: brightness(1.12); }
  }
}
