@charset "UTF-8";
/* ==========================================================================
   LAKÁSKALAUZ — KÖZPONTI STÍLUSLAP
   --------------------------------------------------------------------------
   Egyetlen fájl, ami az összes oldalt kiszolgálja:
     /                          főoldal
     /[projekt]/                projekt-hub          (pl. /petofi17/)
     /[projekt]/[egyseg]/       egység-adatlap       (pl. /petofi17/II-uzlet/)
     /admin/leads.php           lead-lista

   Paletta:  klinkertégla · grafit · tölgy · mészkő-alap
   Betű:     Arial/Helvetica (szöveg) + Consolas (műszaki adat) — gépre
             telepített készlet, nincs webfont-betöltés
   Elv:      60% világos alap · 30% grafit szerkezet · 10% tégla akcentus
   Kontraszt: minden szövegpár WCAG 2.2 AA felett (≥4.5:1)

   TARTALOM
     01 Tokenek (:root)
     02 Reset és alaptipográfia
     03 Layout: konténer, szekció, rács
     04 Fejléc és navigáció
     05 Hero és metaadat-sáv
     06 Tipográfiai segédosztályok
     07 Kártyák (projekt, egység)
     08 Adattáblák (műszaki adatok)
     09 Gombok és linkek
     10 Állapotjelzők (badge)
     11 Képhelyek és galéria
     12 Tervnézegető (pinch-zoom, pan, fullscreen)
     13 Űrlapok (érdeklődés)
     14 Lábléc
     15 Lead-admin tábla
     16 Segédosztályok
     18 Egység-adatlap sablon
     17 Nyomtatás
   ========================================================================== */


/* ==========================================================================
   01 TOKENEK
   ========================================================================== */
:root {
  /* --- 60% alap ------------------------------------------------------- */
  --lk-base:            #F4F2EF;  /* oldalháttér — mészkő, nem bézs, nem #FFF */
  --lk-surface:         #FFFFFF;  /* kártya, panel */
  --lk-surface-2:       #EFECE6;  /* váltakozó kártyafelület */
  --lk-surface-warm:    #EFEBE3;  /* halvány tölgy tónus, szakaszváltásra */
  --lk-sunken:          #E5E1D9;  /* beágyazott felület, képhely */

  /* --- 30% grafit szerkezet ------------------------------------------- */
  --lk-ink:             #1E1D1A;  /* cím, tipográfia — 15.1:1 az alapon */
  --lk-graphite:        #33322F;  /* sáv, panel, sötét kártya */
  --lk-graphite-deep:   #24231F;  /* teljes szélességű sötét blokk */
  --lk-graphite-soft:   #2E2C27;  /* sötét blokkon belüli mező */
  --lk-text:            #2A2926;  /* folyószöveg — 13.4:1 */
  --lk-text-muted:      #57544D;  /* másodlagos, mono címke — 7.1:1 */
  --lk-line:            #D0CAC1;  /* hajszálvonal világos felületen */
  --lk-line-strong:     #C7C1B6;
  --lk-line-dark:       #45423B;  /* vonal sötét blokkon */

  /* --- sötét blokkon belüli szövegek ---------------------------------- */
  --lk-on-dark:         #F4F2EF;  /* 14.2:1 a grafiton */
  --lk-on-dark-muted:   #C3BEB5;  /* 8.6:1 */
  --lk-on-dark-faint:   #948F86;  /* 4.9:1 — mono címke a legmélyebb blokkon (#24231F) */
  --lk-on-graphite-faint: #A9A49A; /* 4.9:1 — mono címke világosabb grafiton (#33322F, #2E2C27, csíkos placeholder) */

  /* --- 10% akcentus + mikroakcentus ----------------------------------- */
  --lk-brick:           #8E2F26;  /* klinkertégla — CTA, döntési pont, 6.6:1 */
  --lk-brick-hover:     #5E1E18;
  --lk-brick-light:     #D08A5E;  /* tégla sötét háttéren — 7.2:1 a grafiton */
  --lk-oak:             #A87C4A;  /* tölgy — szintjelzés, vonal, sorszám */
  --lk-on-oak:          #241906;  /* 5.1:1 — szöveg tölgy felületen (#A87C4A) */
  --lk-oak-text:        #8A5A2E;  /* tölgy szövegként világos alapon — 5.4:1 */

  /* --- állapotok ------------------------------------------------------ */
  --lk-free:            #8E2F26;
  --lk-reserved:        var(--lk-oak);
  --lk-sold:            #57544D;

  /* --- betűkészlet ---------------------------------------------------- */
  --lk-font: Arial, Helvetica, "Liberation Sans", sans-serif;
  --lk-mono: Consolas, "SF Mono", Menlo, "DejaVu Sans Mono", monospace;

  /* --- méretlépcső (fluid, clamp) ------------------------------------- */
  --lk-fs-hero:   clamp(2rem, 1.1rem + 3.4vw, 3rem);      /* 32 → 48 px */
  --lk-fs-h1:     clamp(1.75rem, 1.1rem + 2.4vw, 2.875rem);
  --lk-fs-h2:     clamp(1.375rem, 1.05rem + 1.2vw, 1.75rem);
  --lk-fs-h3:     1.1875rem;
  --lk-fs-lead:   clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  --lk-fs-body:   0.9375rem;
  --lk-fs-small:  0.875rem;
  --lk-fs-data:   0.75rem;   /* mono adat */
  --lk-fs-label:  0.6875rem; /* mono címke */

  --lk-lh-tight:  1.08;
  --lk-lh-title:  1.14;
  --lk-lh-body:   1.75;
  --lk-lh-loose:  1.85;

  --lk-ls-hero:   -0.035em;  /* nagy címen szűkebb betűköz */
  --lk-ls-title:  -0.02em;
  --lk-ls-label:   0.16em;   /* mono címkén széles */
  --lk-ls-slogan:  0.24em;

  /* --- ritmus (8px alap) ---------------------------------------------- */
  --lk-s1: 0.5rem;   --lk-s2: 1rem;    --lk-s3: 1.5rem;
  --lk-s4: 2rem;     --lk-s5: 2.75rem; --lk-s6: 4rem;
  --lk-s7: 5.5rem;   --lk-s8: 7rem;

  --lk-gutter:  clamp(1.25rem, 4vw, 4.5rem);   /* 20 → 72px, ez az oldalmargó */
  --lk-maxw:    73.75rem;   /* 1180px */
  --lk-measure: 45rem;      /* olvasható sorszélesség */

  /* --- rács-szerződés (minden szakasz ezt használja) ------------------- */
  --lk-rail:      180px;    /* bal sáv: sorszám + címke */
  --lk-rail-gap:  60px;
  --lk-sec-pad:   clamp(2.5rem, 7vw, 5.5rem);  /* 40 → 88px */

  /* --- törésponti skála -----------------------------------------------
     A media query nem fogad var()-t, ezért ezek rögzített értékek —
     a fájlban CSAK ezek a négy érték szerepelhet:
       36rem  ( 576px)  nagy telefon
       48rem  ( 768px)  tablet
       62rem  ( 992px)  laptop — itt kapcsol be a sávrács
       80rem  (1280px)  nagy asztali
     -------------------------------------------------------------------- */

  /* --- forma ---------------------------------------------------------- */
  --lk-radius: 0;           /* éles geometria — anyagszerű, nem "appos" */
  --lk-tap:    44px;        /* minimális érintési célpont */
  --lk-ease:   cubic-bezier(0.22, 0.61, 0.36, 1);
  --lk-dur:    200ms;
  --lk-header-h: 68px;
}


/* ==========================================================================
   02 RESET ÉS ALAPTIPOGRÁFIA
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--lk-header-h) + 1rem);
}

body {
  background: var(--lk-base);
  color: var(--lk-text);
  font: var(--lk-fs-body)/var(--lk-lh-body) var(--lk-font);
  text-wrap: pretty;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, svg, canvas, video { display: block; max-width: 100%; height: auto; }
ul, ol { list-style: none; }

a { color: var(--lk-brick); text-decoration: none; transition: color var(--lk-dur) var(--lk-ease); }
a:hover { color: var(--lk-brick-hover); }

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

::selection { background: var(--lk-brick); color: var(--lk-base); }


/* ==========================================================================
   03 LAYOUT
   ========================================================================== */
.lk-wrap    { max-width: var(--lk-maxw); margin-inline: auto; padding-inline: var(--lk-gutter); }
.lk-section {
  padding: var(--lk-sec-pad) var(--lk-gutter);
  border-top: 1px solid var(--lk-ink);
  display: grid; gap: var(--lk-s2);
  grid-template-columns: minmax(0, 1fr);
}
.lk-section:first-of-type { border-top: 0; }
@media (min-width: 62rem) {
  .lk-section { grid-template-columns: var(--lk-rail) minmax(0, 1fr); column-gap: var(--lk-rail-gap); align-items: start; }
}
.lk-section__rail { font: var(--lk-fs-label)/1.6 var(--lk-mono); letter-spacing: 0.2em; text-transform: uppercase; color: var(--lk-brick); }
.lk-section--dark .lk-section__rail { color: var(--lk-brick-light); }
.lk-section__body { display: flex; flex-direction: column; gap: var(--lk-s3); min-width: 0; }
.lk-section--tight { padding-block: clamp(2rem, 5vw, var(--lk-s6)); }

/* szakaszfej: mono címke balra, meta jobbra, felül vastag vonal */
.lk-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--lk-s3); flex-wrap: wrap;
  border-top: 2px solid var(--lk-ink);
  padding-top: var(--lk-s3);
  margin-bottom: var(--lk-s5);
}

/* kétoszlopos szakasz: bal oldali mono címke + jobb oldali tartalom */
.lk-cols {
  display: grid; gap: var(--lk-s3);
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 62rem) {
  .lk-cols { grid-template-columns: var(--lk-rail) minmax(0, 1fr); column-gap: var(--lk-rail-gap); }
}

/* automatikus rács — media query nélkül reszponzív */
.lk-grid {
  display: grid; gap: var(--lk-s2);
  grid-template-columns: repeat(auto-fit, minmax(min(19rem, 100%), 1fr));
}
.lk-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(26rem, 100%), 1fr)); }
.lk-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }

.lk-split { display: grid; gap: var(--lk-s6); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 62rem) { .lk-split { grid-template-columns: 1.15fr 1fr; align-items: start; } }

.lk-stack { display: flex; flex-direction: column; gap: var(--lk-s3); }
.lk-row   { display: flex; flex-wrap: wrap; gap: var(--lk-s2); align-items: center; }


/* ==========================================================================
   04 FEJLÉC ÉS NAVIGÁCIÓ
   ========================================================================== */
.lk-header {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--lk-s3);
  min-height: var(--lk-header-h);
  padding: 0 var(--lk-gutter);
  background: var(--lk-graphite-deep);
  color: var(--lk-on-dark);
}
.lk-header--light {
  background: var(--lk-base);
  color: var(--lk-ink);
  border-bottom: 1px solid var(--lk-ink);
}

.lk-logo {
  font-size: 1.0625rem; font-weight: 700; letter-spacing: 0.13em;
  color: currentColor; white-space: nowrap;
}

.lk-nav { display: flex; align-items: center; gap: var(--lk-s3); }
.lk-nav a {
  min-height: var(--lk-tap); display: inline-flex; align-items: center;
  font-size: var(--lk-fs-small); color: currentColor;
}
.lk-nav a:hover { color: var(--lk-brick-light); }
.lk-nav a[aria-current="page"] { color: var(--lk-brick-light); }

/* morzsa */
.lk-crumb {
  font: var(--lk-fs-label)/1 var(--lk-mono);
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--lk-text-muted);
  display: flex; align-items: center; gap: 0.625rem; flex-wrap: wrap;
}
.lk-crumb a { color: var(--lk-text-muted); }
.lk-crumb a:hover { color: var(--lk-brick); }

/* mobil menü — csak checkbox/JS toggle, plugin nélkül */
.lk-burger { display: none; width: var(--lk-tap); height: var(--lk-tap); border: 0; background: none; cursor: pointer; }
@media (max-width: 61.9375rem) {
  .lk-burger { display: grid; place-items: center; }
  .lk-nav {
    position: fixed; inset: var(--lk-header-h) 0 auto 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--lk-graphite-deep);
    padding: var(--lk-s2) var(--lk-gutter) var(--lk-s4);
    transform: translateY(-120%); transition: transform var(--lk-dur) var(--lk-ease);
  }
  .lk-nav[data-open="true"] { transform: translateY(0); }
  .lk-nav a { min-height: 52px; border-bottom: 1px solid var(--lk-line-dark); }
}


/* ==========================================================================
   05 HERO ÉS METAADAT-SÁV
   ========================================================================== */
.lk-hero {
  position: relative; overflow: hidden;
  min-height: clamp(24rem, 60vh, 40rem);
  background: var(--lk-graphite-deep);
  color: var(--lk-on-dark);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: var(--lk-s6) var(--lk-gutter) var(--lk-s5);
}
.lk-hero__media { position: absolute; inset: 0; z-index: 0; }
.lk-hero__media img, .lk-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.lk-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(30,29,26,.42) 0%, rgba(30,29,26,.24) 40%, rgba(30,29,26,.88) 100%);
}
.lk-hero__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--lk-s3); max-width: 50rem; }

/* szlogen: tölgy vonal + mono nagybetűs */
.lk-slogan { display: flex; align-items: center; gap: 1.125rem; }
.lk-slogan::before { content: ""; width: 3.25rem; height: 3px; background: var(--lk-oak); flex: 0 0 auto; }
.lk-slogan span {
  font: clamp(0.9375rem, 0.8rem + 0.6vw, 1.25rem)/1 var(--lk-mono);
  letter-spacing: var(--lk-ls-slogan); text-transform: uppercase;
  color: var(--lk-brick-light);
}

/* metaadat-sáv: hajszálvonallal tagolt mérnöki adatok */
.lk-meta {
  position: relative; z-index: 1;
  display: grid; gap: var(--lk-s2) var(--lk-s4);
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
  border-top: 1px solid rgba(245,243,239,.28);
  padding-top: var(--lk-s2); margin-top: var(--lk-s5);
}
.lk-meta__item { display: flex; flex-direction: column; gap: 0.4375rem; }
.lk-meta__k { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: var(--lk-ls-label); text-transform: uppercase; color: var(--lk-on-dark-faint); }
.lk-meta__v { font-size: var(--lk-fs-small); color: var(--lk-on-dark); }


/* ==========================================================================
   06 TIPOGRÁFIAI SEGÉDOSZTÁLYOK
   ========================================================================== */
.lk-hero-title { font-size: var(--lk-fs-hero); font-weight: 700; line-height: var(--lk-lh-title); letter-spacing: var(--lk-ls-hero); }
.lk-h1 { font-size: var(--lk-fs-h1); font-weight: 700; line-height: var(--lk-lh-tight); letter-spacing: -0.04em; color: var(--lk-ink); }
.lk-h2 { font-size: var(--lk-fs-h2); font-weight: 700; line-height: var(--lk-lh-title); letter-spacing: -0.03em; color: var(--lk-ink); }
.lk-h3 { font-size: var(--lk-fs-h3); font-weight: 700; letter-spacing: var(--lk-ls-title); color: var(--lk-ink); }

.lk-lead { font-size: var(--lk-fs-lead); line-height: 1.7; color: var(--lk-ink); max-width: var(--lk-measure); }
.lk-prose { display: flex; flex-direction: column; gap: var(--lk-s3); max-width: var(--lk-measure); line-height: var(--lk-lh-loose); }

/* mono címke — szakaszjelölő */
.lk-label {
  font: var(--lk-fs-label)/1.4 var(--lk-mono);
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--lk-brick);
}
.lk-label--muted { color: var(--lk-text-muted); letter-spacing: 0.12em; }
.lk-label--oak   { color: var(--lk-oak-text); }

.lk-data { font: var(--lk-fs-data)/1.5 var(--lk-mono); }

/* kiemelt idézet-blokk */
.lk-highlight {
  background: var(--lk-graphite-deep);
  border-left: 4px solid var(--lk-brick-light);
  padding: var(--lk-s3) var(--lk-s4);
  font-size: 1rem; line-height: 1.7; font-weight: 500;
  color: var(--lk-on-dark);
}


/* ==========================================================================
   07 KÁRTYÁK
   ========================================================================== */
.lk-card {
  display: flex; flex-direction: column; gap: 0.75rem;
  background: var(--lk-surface-2);
  border-top: 3px solid var(--lk-oak);
  padding: var(--lk-s3) 1.625rem;
  color: inherit;
  transition: background var(--lk-dur) var(--lk-ease), transform var(--lk-dur) var(--lk-ease);
}
.lk-card:hover { background: var(--lk-surface); transform: translateY(-2px); color: inherit; }
.lk-card__eyebrow { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--lk-brick); }
.lk-card__title   { font-size: var(--lk-fs-h3); font-weight: 700; letter-spacing: var(--lk-ls-title); color: var(--lk-ink); }
.lk-card__text    { font-size: var(--lk-fs-small); line-height: 1.65; color: var(--lk-text); flex: 1; }
.lk-card__more    { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--lk-brick); }

/* kártyaváltozatok — a rács ritmusát adják, ne legyen egyhangú */
.lk-card--graphite { background: var(--lk-graphite-deep); border-top-color: var(--lk-brick-light); }
.lk-card--graphite .lk-card__eyebrow,
.lk-card--graphite .lk-card__more { color: var(--lk-brick-light); }
.lk-card--graphite .lk-card__title { color: var(--lk-on-dark); }
.lk-card--graphite .lk-card__text  { color: var(--lk-on-dark-muted); }
.lk-card--graphite:hover { background: var(--lk-graphite); }

.lk-card--brick { background: var(--lk-brick); border-top-color: var(--lk-brick-light); }
.lk-card--brick .lk-card__eyebrow { color: #F0C9AC; }
.lk-card--brick .lk-card__title   { color: #FFFFFF; }
.lk-card--brick .lk-card__text    { color: #F0D9CE; }
.lk-card--brick .lk-card__more    { color: #FFFFFF; }
.lk-card--brick:hover { background: var(--lk-brick-hover); }

.lk-card--ink   { border-top-color: var(--lk-graphite); }
.lk-card--plain { background: transparent; border: 1px solid var(--lk-line-strong); border-top-width: 1px; }

/* soros kártya — másodlagos egységek (garázs, parkoló) */
.lk-rowcard {
  display: flex; align-items: center; justify-content: space-between; gap: var(--lk-s3);
  min-height: var(--lk-tap);
  border: 1px solid var(--lk-line-strong);
  padding: 1.375rem 1.625rem; color: inherit;
}
.lk-rowcard:hover { border-color: var(--lk-brick); color: inherit; }

/* vízszintes kiemelt kártya (projekt-ízelítő a főoldalon) */
.lk-feature {
  display: grid; gap: 0;
  grid-template-columns: minmax(0, 1fr);
  background: var(--lk-graphite);
  color: var(--lk-on-dark);
}
@media (min-width: 48rem) { .lk-feature { grid-template-columns: 1fr 1.15fr; } }
.lk-feature__body { padding: var(--lk-s3) var(--lk-s4); display: flex; flex-direction: column; gap: 0.875rem; justify-content: center; }
.lk-feature__title { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; color: var(--lk-on-dark); }
.lk-feature__text  { font-size: var(--lk-fs-small); line-height: 1.65; color: var(--lk-on-dark-muted); }
.lk-feature__meta  { font: var(--lk-fs-data)/1 var(--lk-mono); letter-spacing: 0.08em; color: var(--lk-on-graphite-faint); }


/* ==========================================================================
   08 ADATTÁBLÁK
   ========================================================================== */
.lk-specs { display: flex; flex-direction: column; }
.lk-specs > * {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--lk-s2);
  padding: 0.8125rem 0;
  border-top: 1px solid var(--lk-line);
  font: var(--lk-fs-data)/1.5 var(--lk-mono);
}
.lk-specs > *:first-child { border-top: 2px solid var(--lk-ink); }
.lk-specs > *:last-child  { border-bottom: 1px solid var(--lk-line); }
.lk-specs dt, .lk-specs .lk-k { color: var(--lk-text-muted); text-transform: uppercase; letter-spacing: 0.1em; }
.lk-specs dd, .lk-specs .lk-v { color: var(--lk-ink); }
.lk-specs .lk-v--accent { color: var(--lk-brick); }

/* sötét blokkon */
.lk-specs--on-dark > *      { border-top-color: rgba(245,243,239,.22); }
.lk-specs--on-dark > *:first-child { border-top-color: var(--lk-brick-light); }
.lk-specs--on-dark dt, .lk-specs--on-dark .lk-k { color: var(--lk-on-dark-faint); }
.lk-specs--on-dark dd, .lk-specs--on-dark .lk-v { color: var(--lk-on-dark); }

/* nagy adatpár (kapcsolat) */
.lk-datapair {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--lk-s2);
  padding-bottom: 0.75rem; border-bottom: 1px solid var(--lk-line);
}
.lk-datapair__k { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: var(--lk-ls-label); text-transform: uppercase; color: var(--lk-text-muted); }
.lk-datapair__v { font-size: 1.25rem; color: var(--lk-ink); }


/* ==========================================================================
   09 GOMBOK
   ========================================================================== */
.lk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.625rem;
  min-height: 50px; padding: 0 1.75rem;
  font: 500 var(--lk-fs-small)/1 var(--lk-font);
  border: 1px solid transparent; border-radius: var(--lk-radius);
  cursor: pointer; text-align: center;
  transition: background var(--lk-dur) var(--lk-ease), color var(--lk-dur) var(--lk-ease), border-color var(--lk-dur) var(--lk-ease);
}
.lk-btn--primary { background: var(--lk-brick); color: var(--lk-base); }
.lk-btn--primary:hover { background: var(--lk-brick-hover); color: var(--lk-base); }

.lk-btn--ink { background: var(--lk-ink); color: var(--lk-base); }
.lk-btn--ink:hover { background: var(--lk-graphite); color: var(--lk-base); }

.lk-btn--oak { background: var(--lk-brick-light); color: var(--lk-graphite-deep); font-weight: 600; }
.lk-btn--oak:hover { background: #E0A075; color: var(--lk-graphite-deep); }

.lk-btn--ghost { background: transparent; color: var(--lk-ink); border-color: var(--lk-ink); }
.lk-btn--ghost:hover { background: var(--lk-ink); color: var(--lk-base); }

.lk-btn--ghost-dark { background: transparent; color: var(--lk-on-dark); border-color: var(--lk-line-dark); }
.lk-btn--ghost-dark:hover { border-color: var(--lk-brick-light); color: var(--lk-brick-light); }

.lk-btn--mono { font-family: var(--lk-mono); font-size: var(--lk-fs-data); letter-spacing: 0.08em; text-transform: uppercase; }
.lk-btn--block { width: 100%; }

/* szöveglink nyíllal */
.lk-arrow { font: var(--lk-fs-data)/1 var(--lk-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--lk-brick); display: inline-flex; align-items: center; gap: 0.5rem; }
.lk-arrow::after { content: "→"; transition: transform var(--lk-dur) var(--lk-ease); }
.lk-arrow:hover::after { transform: translateX(3px); }


/* ==========================================================================
   10 ÁLLAPOTJELZŐK
   ========================================================================== */
.lk-badge {
  display: inline-flex; align-items: center; gap: 0.5625rem;
  font: var(--lk-fs-label)/1 var(--lk-mono);
  letter-spacing: var(--lk-ls-label); text-transform: uppercase;
  color: var(--lk-brick);
}
.lk-badge::before { content: ""; width: 5px; height: 5px; background: currentColor; flex: 0 0 auto; }
.lk-badge--boxed { border: 1px solid currentColor; padding: 0.375rem 0.625rem; }
.lk-badge--on-dark { color: var(--lk-brick-light); }
.lk-badge--reserved { color: var(--lk-oak-text); }
.lk-badge--sold { color: var(--lk-sold); }

/* kitöltött állapotcímke képhely sarkára */
.lk-tag {
  font: var(--lk-fs-label)/1 var(--lk-mono);
  letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--lk-brick); color: var(--lk-base);
  padding: 0.3125rem 0.5rem;
}
.lk-tag--oak { background: var(--lk-oak); color: var(--lk-on-oak); }
.lk-tag--light { background: var(--lk-base); color: var(--lk-text-muted); }


/* ==========================================================================
   11 KÉPHELYEK ÉS GALÉRIA
   ========================================================================== */
/* csíkos placeholder — amíg nincs valódi fotó */
.lk-slot {
  position: relative;
  background: repeating-linear-gradient(112deg, var(--lk-sunken) 0 20px, #DDD8CF 20px 40px);
  display: flex; align-items: flex-end;
  padding: var(--lk-s2);
  min-height: 13rem;
}
.lk-slot--dark { background: repeating-linear-gradient(112deg, #2A2925 0 20px, #302E29 20px 40px); border: 1px solid var(--lk-line-dark); }
.lk-slot--dark .lk-slot__note { background: none; color: var(--lk-on-graphite-faint); padding: 0; }
/* világosabb grafiton (.lk-feature, #33322F) a csíkozás is világosabb */
.lk-slot--graphite { background: repeating-linear-gradient(112deg, #3A3934 0 20px, #403F39 20px 40px); border: 0; }
.lk-slot--graphite .lk-slot__note { background: none; color: var(--lk-on-graphite-faint); padding: 0; }
.lk-slot--tall { min-height: 27rem; }
.lk-slot__note { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.12em; text-transform: uppercase; background: var(--lk-base); color: var(--lk-text-muted); padding: 0.5625rem 0.75rem; }

.lk-figure { display: flex; flex-direction: column; gap: 0.625rem; }
.lk-figure figcaption { font: var(--lk-fs-label)/1.5 var(--lk-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--lk-text-muted); }

/* vízszintesen csúsztatható galéria — mobilon natív snap */
.lk-gallery {
  display: flex; gap: var(--lk-s1);
  overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.lk-gallery::-webkit-scrollbar { display: none; }
.lk-gallery > * { flex: 0 0 min(85%, 34rem); scroll-snap-align: start; }


/* ==========================================================================
   12 TERVNÉZEGETŐ  (mobil pinch-zoom + pan + fullscreen)
   --------------------------------------------------------------------------
   Szerkezet:
     .lk-plan
       .lk-plan__tabs   > button.lk-plan__tab[aria-selected]
       .lk-plan__view   > .lk-plan__stage > canvas|img
         .lk-plan__zoom > button ×3
         .lk-plan__level
       .lk-plan__bar    > .lk-plan__name + a.lk-btn
   A JS csak a --lk-scale/--lk-x/--lk-y változókat írja.
   ========================================================================== */
.lk-plan { display: flex; flex-direction: column; background: var(--lk-graphite-soft); border: 1px solid var(--lk-line-dark); }

.lk-plan__tabs {
  display: flex; gap: var(--lk-s1);
  padding: var(--lk-s1);
  overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
  background: var(--lk-graphite-deep);
}
.lk-plan__tabs::-webkit-scrollbar { display: none; }
.lk-plan__tab {
  flex: 0 0 auto; scroll-snap-align: start;
  min-height: var(--lk-tap); padding: 0 1.125rem;
  display: inline-flex; align-items: center;
  font: var(--lk-fs-data)/1 var(--lk-mono); letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--lk-on-dark-muted);
  background: var(--lk-graphite-soft);
  border: 1px solid var(--lk-line-dark); border-radius: var(--lk-radius);
  cursor: pointer; white-space: nowrap;
}
.lk-plan__tab:hover { color: var(--lk-on-dark); border-color: var(--lk-brick-light); }
.lk-plan__tab[aria-selected="true"] {
  background: var(--lk-oak); color: var(--lk-on-oak);
  border-color: var(--lk-oak); font-weight: 700;
}

.lk-plan__view {
  position: relative; overflow: hidden;
  height: clamp(20rem, 62vh, 34rem);
  background: repeating-linear-gradient(112deg, #2A2925 0 20px, #302E29 20px 40px);
  touch-action: none;             /* saját gesztuskezelés — natív zoom kikapcsolva */
  cursor: grab;
  display: grid; place-items: center;
}
.lk-plan__view:active { cursor: grabbing; }
.lk-plan__stage {
  --lk-scale: 1; --lk-x: 0px; --lk-y: 0px;
  transform: translate3d(var(--lk-x), var(--lk-y), 0) scale(var(--lk-scale));
  transform-origin: center center;
  will-change: transform;
  transition: transform 120ms linear;
}
.lk-plan__stage[data-gesture="active"] { transition: none; }
.lk-plan__stage > * { max-width: none; }

.lk-plan__zoom { position: absolute; right: 0.875rem; bottom: 0.875rem; display: grid; gap: 1px; background: var(--lk-line-dark); }
.lk-plan__zoom button {
  width: 48px; height: 48px;
  display: grid; place-items: center;
  background: var(--lk-graphite-soft); color: var(--lk-on-dark);
  border: 0; cursor: pointer; font-size: 1.25rem; line-height: 1;
}
.lk-plan__zoom button:hover { background: var(--lk-brick-light); color: var(--lk-graphite-deep); }

.lk-plan__level {
  position: absolute; left: 0.875rem; bottom: 0.875rem;
  font: var(--lk-fs-data)/1 var(--lk-mono);
  background: var(--lk-brick-light); color: var(--lk-graphite-deep);
  padding: 0.4375rem 0.625rem;
}
.lk-plan__hint {
  position: absolute; inset-inline: 0; top: 50%; transform: translateY(-50%);
  text-align: center; pointer-events: none;
  font: var(--lk-fs-data)/2 var(--lk-mono); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--lk-on-graphite-faint);
}

.lk-plan__bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--lk-s2); flex-wrap: wrap;
  padding: 1.125rem 1.25rem;
  background: var(--lk-graphite-soft);
  border-top: 1px solid var(--lk-line-dark);
}
.lk-plan__name { font-size: var(--lk-fs-small); color: var(--lk-on-dark); }
.lk-plan__tabs .lk-plan__tab { color: var(--lk-on-dark-muted); }

/* fullscreen: a nézet kitölti a képernyőt, a fejek megmaradnak */
.lk-plan:fullscreen { background: var(--lk-graphite-deep); border: 0; }
.lk-plan:fullscreen .lk-plan__view { height: calc(100vh - 2 * var(--lk-tap) - 3.5rem); }


/* ==========================================================================
   13 ŰRLAPOK
   ========================================================================== */
.lk-form { display: flex; flex-direction: column; gap: var(--lk-s2); }
.lk-form__grid { display: grid; gap: var(--lk-s2); grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }

.lk-field { display: flex; flex-direction: column; gap: 0.4375rem; }
.lk-label-form {
  font: var(--lk-fs-label)/1 var(--lk-mono);
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--lk-text-muted);
}
.lk-input, .lk-select, .lk-textarea {
  width: 100%; min-height: 48px;
  padding: 0.8125rem 0.9375rem;
  font: 400 var(--lk-fs-small)/1.5 var(--lk-font);
  color: var(--lk-ink); background: var(--lk-surface);
  border: 1px solid var(--lk-line-strong); border-radius: var(--lk-radius);
  appearance: none;
}
.lk-textarea { min-height: 6rem; resize: vertical; }
.lk-select { background-image: linear-gradient(45deg, transparent 50%, var(--lk-text-muted) 50%), linear-gradient(135deg, var(--lk-text-muted) 50%, transparent 50%); background-position: calc(100% - 18px) 21px, calc(100% - 13px) 21px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.5rem; }
.lk-input::placeholder, .lk-textarea::placeholder { color: #726C64; }
.lk-input:focus, .lk-select:focus, .lk-textarea:focus {
  outline: none; border-color: var(--lk-brick);
  box-shadow: inset 0 0 0 1px var(--lk-brick);
}
.lk-input[aria-invalid="true"] { border-color: var(--lk-brick); background: #FCF3F1; }

/* űrlap sötét blokkon */
.lk-form--on-dark .lk-label-form { color: var(--lk-on-dark-faint); }
.lk-form--on-dark .lk-input,
.lk-form--on-dark .lk-select,
.lk-form--on-dark .lk-textarea {
  background: var(--lk-graphite-soft); color: var(--lk-on-dark);
  border-color: var(--lk-line-dark);
}
.lk-form--on-dark .lk-input::placeholder,
.lk-form--on-dark .lk-textarea::placeholder { color: #7D786F; }
.lk-form--on-dark .lk-input:focus,
.lk-form--on-dark .lk-select:focus,
.lk-form--on-dark .lk-textarea:focus { border-color: var(--lk-brick-light); box-shadow: inset 0 0 0 1px var(--lk-brick-light); }

.lk-form__note { font-size: var(--lk-fs-data); line-height: 1.65; color: var(--lk-text-muted); }
.lk-form--on-dark .lk-form__note { color: var(--lk-on-dark-faint); }

/* spam-védelem: honeypot — soha ne display:none, a botok azt kiszűrik */
.lk-honeypot {
  position: absolute !important; left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}

/* visszajelzés */
.lk-alert { padding: var(--lk-s2) var(--lk-s3); border-left: 4px solid var(--lk-brick); background: var(--lk-surface-warm); font-size: var(--lk-fs-small); }
.lk-alert--ok { border-left-color: var(--lk-oak); }


/* ==========================================================================
   14 LÁBLÉC
   ========================================================================== */
.lk-footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--lk-s2); flex-wrap: wrap;
  padding: var(--lk-s3) var(--lk-gutter);
  border-top: 1px solid var(--lk-line);
  font: var(--lk-fs-label)/1.6 var(--lk-mono);
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--lk-text-muted);
}
.lk-footer a { color: var(--lk-text-muted); }
.lk-footer a:hover { color: var(--lk-brick); }
.lk-footer--dark { background: var(--lk-graphite-deep); border-top: 0; color: var(--lk-on-dark-faint); }
.lk-footer--dark a { color: var(--lk-on-dark-faint); }
.lk-footer--dark a:hover { color: var(--lk-brick-light); }


/* ==========================================================================
   15 LEAD-ADMIN  (/admin/leads.php)
   ========================================================================== */
.lk-table { width: 100%; border-collapse: collapse; font-size: var(--lk-fs-small); }
.lk-table th {
  text-align: left; font: var(--lk-fs-label)/1 var(--lk-mono);
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--lk-text-muted);
  padding: 0.75rem 0.875rem; border-bottom: 2px solid var(--lk-ink); white-space: nowrap;
}
.lk-table td { padding: 0.875rem; border-bottom: 1px solid var(--lk-line); vertical-align: top; }
.lk-table tbody tr:hover { background: var(--lk-surface-2); }
.lk-table td.lk-num { font-family: var(--lk-mono); font-size: var(--lk-fs-data); white-space: nowrap; }

.lk-status { display: inline-flex; align-items: center; gap: 0.4375rem; font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.1em; text-transform: uppercase; }
.lk-status::before { content: ""; width: 6px; height: 6px; }
.lk-status--new   { color: var(--lk-brick); }
.lk-status--new::before   { background: var(--lk-brick); }
.lk-status--open  { color: var(--lk-oak-text); }
.lk-status--open::before  { background: var(--lk-oak); }
.lk-status--closed { color: var(--lk-text-muted); }
.lk-status--closed::before { background: var(--lk-text-muted); }

/* mobilon a tábla kártyákká esik szét */
@media (max-width: 47.9375rem) {
  .lk-table thead { display: none; }
  .lk-table tr { display: block; border: 1px solid var(--lk-line-strong); margin-bottom: var(--lk-s2); padding: var(--lk-s2); }
  .lk-table td { display: flex; justify-content: space-between; gap: var(--lk-s2); border: 0; padding: 0.375rem 0; }
  .lk-table td::before { content: attr(data-label); font: var(--lk-fs-label)/1.4 var(--lk-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--lk-text-muted); }
}


/* ==========================================================================
   16 SEGÉDOSZTÁLYOK
   ========================================================================== */
.lk-bg-warm   { background: var(--lk-surface-warm); }
.lk-bg-2      { background: var(--lk-surface-2); }
.lk-bg-dark   { background: var(--lk-graphite-deep); color: var(--lk-on-dark); }
.lk-bg-dark .lk-h1, .lk-bg-dark .lk-h2, .lk-bg-dark .lk-h3 { color: var(--lk-on-dark); }
.lk-bg-dark .lk-lead { color: var(--lk-on-dark-muted); }
.lk-bg-dark .lk-label { color: var(--lk-brick-light); }

.lk-rule      { height: 1px; background: var(--lk-line); border: 0; }
.lk-rule--ink { height: 2px; background: var(--lk-ink); }
.lk-rule--oak { height: 3px; background: var(--lk-oak); }

.lk-measure { max-width: var(--lk-measure); }
.lk-nowrap  { white-space: nowrap; }
.lk-sr {
  position: absolute; width: 1px; height: 1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* ==========================================================================
   18 EGYSÉG-ADATLAP SABLON
   --------------------------------------------------------------------------
   Az /[projekt]/[egyseg]/ oldalak teljes komponenskészlete. Új egység
   felvétele adatbevitel, nem kódolás: a sablon ezeket az osztályokat
   tölti ki egy JSON/PHP tömbből.
   ========================================================================== */

/* morzsasáv — a fejléc alatt, oldalspecifikus */
.lk-crumbbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--lk-s3); flex-wrap: wrap;
  min-height: 48px; padding: 0 var(--lk-gutter);
  background: var(--lk-surface-warm);
  border-bottom: 1px solid var(--lk-line);
}
.lk-crumbbar__path { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--lk-text-muted); }
.lk-crumbbar__links { display: flex; gap: var(--lk-s1); align-items: center; }
.lk-crumbbar__links a {
  min-height: 34px; padding: 0 0.8125rem;
  display: inline-flex; align-items: center;
  font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--lk-text-muted); border: 1px solid var(--lk-line-strong);
}
.lk-crumbbar__links a[aria-current="page"] { background: var(--lk-ink); color: var(--lk-base); border-color: var(--lk-ink); }

/* kulcsadat-sáv — a döntési adatok a cím alatt, 4 cella */
.lk-keyspecs {
  display: grid; gap: 1px;
  grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
  background: var(--lk-ink); border: 1px solid var(--lk-ink);
}
.lk-keyspecs__cell { background: var(--lk-base); padding: 1.125rem 1.25rem; display: flex; flex-direction: column; gap: 0.4375rem; }
.lk-keyspecs__k { font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: var(--lk-ls-label); text-transform: uppercase; color: var(--lk-text-muted); }
.lk-keyspecs__v { font-size: 1.25rem; font-weight: 700; letter-spacing: var(--lk-ls-title); color: var(--lk-ink); }
/* az utolsó cella az állapotot mutatja, tölgy felületen */
.lk-keyspecs__cell--status { background: var(--lk-oak); }
.lk-keyspecs__cell--status .lk-keyspecs__k { color: var(--lk-on-oak); }
.lk-keyspecs__cell--status .lk-keyspecs__v { color: var(--lk-on-oak); }

/* helyiségtáblázat — helyiség / burkolat / mért terület */
.lk-rooms { display: flex; flex-direction: column; }
.lk-rooms__row {
  display: grid; gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) 8.75rem 8.75rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--lk-line);
  font-size: var(--lk-fs-small); color: var(--lk-text);
}
.lk-rooms__row--head {
  background: var(--lk-ink); border-bottom: 0;
  font: var(--lk-fs-label)/1 var(--lk-mono); letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--lk-brick-light); padding: 0.75rem 1rem;
}
.lk-rooms__row--alt { background: var(--lk-surface-2); }
.lk-rooms__row--total { border-top: 2px solid var(--lk-ink); border-bottom: 0; font-weight: 700; color: var(--lk-ink); }
.lk-rooms__num { font-family: var(--lk-mono); font-size: var(--lk-fs-data); text-align: right; color: var(--lk-ink); }
@media (max-width: 47.9375rem) {
  .lk-rooms__row { grid-template-columns: minmax(0, 1fr) auto; }
  .lk-rooms__row > *:nth-child(2) { display: none; }   /* burkolat mobilon elrejtve */
  .lk-rooms__row--head { display: none; }
}

/* egységlista — a lap alján, testvér-egységek */
.lk-unitlist { display: flex; flex-direction: column; }
.lk-unitlist a {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  min-height: 52px; padding: 0 0.25rem;
  border-top: 1px solid var(--lk-line);
  font-size: var(--lk-fs-small); color: var(--lk-text);
}
.lk-unitlist a:first-child { border-top: 3px solid var(--lk-oak); }
.lk-unitlist a:last-child  { border-bottom: 1px solid var(--lk-line); }
.lk-unitlist a:hover { color: var(--lk-brick); }
.lk-unitlist a[aria-current="page"] {
  background: var(--lk-ink); color: var(--lk-base);
  padding: 0 0.75rem; font-weight: 700;
}
.lk-unitlist__area { font-family: var(--lk-mono); font-size: var(--lk-fs-data); color: var(--lk-text-muted); }
.lk-unitlist a[aria-current="page"] .lk-unitlist__area { color: var(--lk-brick-light); }

/* tapadó mobil CTA — egy érdeklődési pont, mindig kézre esik */
.lk-stickycta { display: none; }
@media (max-width: 47.9375rem) {
  .lk-stickycta {
    position: sticky; bottom: 0; z-index: 90;
    display: flex; gap: 1px;
    background: var(--lk-line-strong);
    box-shadow: 0 -8px 24px rgba(30, 29, 26, 0.12);
  }
  .lk-stickycta > * { flex: 1; min-height: 54px; }
}

/* ==========================================================================
   17 NYOMTATÁS  (egység-adatlap, tervlap)
   ========================================================================== */
@media print {
  :root { --lk-base: #FFF; --lk-ink: #000; --lk-text: #1a1a1a; }
  body { background: #FFF; }
  .lk-header, .lk-nav, .lk-btn, .lk-plan__tabs, .lk-plan__zoom, .lk-form, .lk-footer a { display: none !important; }
  .lk-bg-dark, .lk-card--graphite, .lk-card--brick, .lk-highlight, .lk-plan { background: #FFF !important; color: #000 !important; border: 1px solid #999; }
  .lk-bg-dark *, .lk-card--graphite *, .lk-card--brick *, .lk-highlight * { color: #000 !important; }
  .lk-slot { display: none; }
  .lk-section { padding-block: 1.5rem; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.75rem; color: #555; }
}


/* ==========================================================================
   19 KÉPEK
   --------------------------------------------------------------------------
   A lk_img() ugyanarra a helyre vagy csíkos placeholdert (.lk-slot), vagy —
   ha a fájl már fent van — valódi képet tesz. Az arányok azonosak, hogy a
   látványtervek megérkezésekor ne mozduljon el a tördelés.
   ========================================================================== */
.lk-media { width: 100%; object-fit: cover; background: var(--lk-sunken); }
.lk-media--band { aspect-ratio: 21 / 9; }
.lk-media--tall { aspect-ratio: 4 / 3; }
.lk-media--card { aspect-ratio: 3 / 2; }
.lk-media--fill { height: 100%; aspect-ratio: auto; min-height: 13rem; }
@media (max-width: 47.9375rem) { .lk-media--band { aspect-ratio: 16 / 10; } }

/* a fejléc telefonszáma mono, hogy adatként olvasódjon */
.lk-nav__tel { font: var(--lk-fs-data)/1 var(--lk-mono); letter-spacing: 0.06em; }
.lk-feature__meta { text-transform: uppercase; }
.lk-feature .lk-arrow { color: var(--lk-brick-light); }
.lk-feature:hover .lk-arrow::after { transform: translateX(3px); }


/* két sticky sáv helyett egy: a horgonyugrás a fejléccel számol */
html { scroll-padding-top: calc(var(--lk-header-h) + 1.5rem); }


/* ==========================================================================
   21 SZÖVEG ÉS TERVNÉZEGETŐ EGYMÁS MELLETT
   --------------------------------------------------------------------------
   Bal hasáb: leírás, adatok. Jobb hasáb: a tervlap, ami olvasás közben
   a helyén marad. Mobilon egymás alá kerül, előbb a szöveg.
   ========================================================================== */
.lk-duo { display: grid; gap: var(--lk-s3); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 62rem) {
  .lk-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: var(--lk-s4); }
  .lk-duo__plan { position: sticky; top: calc(var(--lk-header-h) + 5.5rem); }
}
.lk-duo__text { display: flex; flex-direction: column; gap: var(--lk-s2); min-width: 0; }
.lk-duo__plan { display: flex; flex-direction: column; gap: 0.625rem; min-width: 0; }

/* a szűkebb hasábban a nézet is arányos marad */
@media (min-width: 62rem) {
  .lk-duo .lk-plan__view { height: clamp(22rem, 56vh, 30rem); }
}


/* ==========================================================================
   22 FINOMHANGOLÁS
   ========================================================================== */
/* tömör hero: nincs üresen hagyott sötét mező a tartalom alatt */
.lk-hero--compact { min-height: 0; padding-block: clamp(2.5rem, 6vw, 4.25rem) clamp(1.75rem, 3.5vw, 2.75rem); }

/* a téglaszín olvashatatlan a grafit kártyán — világos téglára cserélve */
.lk-feature .lk-label { color: var(--lk-brick-light); }
.lk-feature__body { gap: 1rem; }
.lk-feature .lk-btn, .lk-feature .lk-tag { align-self: flex-start; }

/* kattintható morzsa a crumbbarban */
.lk-crumbbar__path a { color: var(--lk-text-muted); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--lk-line-strong); }
.lk-crumbbar__path a:hover { color: var(--lk-brick); text-decoration-color: currentColor; }
.lk-crumbbar__path [aria-current="page"] { color: var(--lk-ink); font-weight: 700; }

/* tervlapfülek: a hosszabb, beszédes név is elférjen */
.lk-plan__tab { gap: 0.5rem; }
.lk-plan__tabcode { font-weight: 700; }
.lk-plan__tabname { text-transform: none; letter-spacing: 0.02em; }

/* szakaszok az egységsáv alatt: tömörebb ritmus */
.lk-section--compact { padding-block: clamp(1.75rem, 4vw, 3rem); }

/* az egység fejrésze a két hasáb fölött teljes szélességben */
.lk-unithead { display: flex; flex-direction: column; gap: var(--lk-s1); margin-bottom: var(--lk-s2); }

/* mobilon a tervlap a cím és a kulcsadatok után jöjjön, ne a hosszú szöveg után */
@media (max-width: 61.9375rem) {
  .lk-duo__plan { order: -1; }
}


/* ==========================================================================
   23 KORREKCIÓK
   ========================================================================== */
/* hármas kártyarács: 6 egység 3+3-ban áll, nem 4+2-ben */
@media (min-width: 48rem) { .lk-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .lk-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* a tölgy gomb legyen valóban tölgy — a világos tégla (#D08A5E) kikerül a
   kitöltött felületekről, szövegszínként marad csak, ahol a kontraszt kell */
.lk-btn--oak { background: var(--lk-oak); color: var(--lk-on-oak); font-weight: 700; }
.lk-btn--oak:hover { background: #BC8D55; color: var(--lk-on-oak); }
.lk-plan__level { background: var(--lk-oak); color: var(--lk-on-oak); }
.lk-plan__zoom button:hover { background: var(--lk-oak); color: var(--lk-on-oak); }

/* a sötét kártya felső vonala is tölgy legyen, mint a világosaké */
.lk-card--graphite { border-top-color: var(--lk-oak); }


/* ==========================================================================
   24 KÁRTYÁK — egyetlen bal oldali csík
   --------------------------------------------------------------------------
   Felül nincs vonal. Minden kártyát bal oldalon klinkertégla csík jelöl;
   ráhúzva a kártya téglaszínű lesz, a csík pedig antracitra vált — a két
   szín helyet cserél. Ahol épp állunk: kitöltött antracit, tégla csíkkal.
   Ami nem link (főoldali ismertetők), az nem is viselkedik gombként.
   ========================================================================== */
.lk-grid--units { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
@media (min-width: 48rem) { .lk-grid--units { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 62rem) { .lk-grid--units { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.lk-card {
  border-top: 0;
  border-left: 4px solid var(--lk-brick);
  transition: background var(--lk-dur) var(--lk-ease), border-color var(--lk-dur) var(--lk-ease);
}
.lk-card--plain { border: 1px solid var(--lk-line-strong); border-left: 4px solid var(--lk-brick); }

a.lk-card:hover { background: var(--lk-brick); border-left-color: var(--lk-ink); transform: none; }
a.lk-card:hover .lk-card__eyebrow,
a.lk-card:hover .lk-card__title,
a.lk-card:hover .lk-card__text,
a.lk-card:hover .lk-card__more { color: var(--lk-base); }

/* ahol épp állunk — fordított párja a ráhúzott állapotnak */
.lk-card--current { background: var(--lk-ink); border-left-color: var(--lk-brick); }
.lk-card--current .lk-card__title { color: var(--lk-base); }
.lk-card--current .lk-card__text  { color: var(--lk-on-dark-muted); }
.lk-card--current .lk-card__eyebrow,
.lk-card--current .lk-card__more  { color: var(--lk-brick-light); }

/* nem kattintható kártya: se elmozdulás, se színváltás, se kézkurzor */
.lk-card:not(a):hover { background: var(--lk-surface-2); transform: none; }
.lk-card--plain:not(a):hover { background: transparent; }

/* a kártyacím <p>-ként is ugyanúgy nézzen ki */
p.lk-card__title { font-size: var(--lk-fs-h3); font-weight: 700; letter-spacing: var(--lk-ls-title); color: var(--lk-ink); }


/* ==========================================================================
   25 TERVLAPFÜLEK — mind látszódjon, tördelve
   ========================================================================== */
@media (min-width: 48rem) {
  .lk-plan__tabs { flex-wrap: wrap; overflow-x: visible; scroll-snap-type: none; }
  .lk-plan__tab  { flex: 0 1 auto; }
}

/* a fogó kéz csak akkor jelenjen meg, ha van mit mozgatni */
.lk-plan__view { cursor: default; }
.lk-plan__view[data-zoomed="true"] { cursor: grab; }
.lk-plan__view[data-zoomed="true"]:active { cursor: grabbing; }
.lk-plan__zoom button { cursor: pointer; }
