/* ═══════════════════════════════════════════════════════════════
   Lízing és tartós bérlet aloldal – oldal-specifikus stílusok
   Csak az ehhez az oldalhoz szükséges ÚJ osztályok.
   A design rendszer (style.css) változóit és komponenseit használja.
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero: négy üveg-csempe a hero alján ── */
.lz-hero-quick { padding-bottom: 4.2rem; }
.lz-hero-quick .quick-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.lz-hero-quick .quick-card { cursor: default; }
.lz-hero-quick .quick-card { cursor: default; transition: none; }
.lz-hero-quick .quick-card:hover {
  transform: none; box-shadow: none;
  background: rgba(26, 32, 43, .48); border-color: rgba(255, 255, 255, .18);
}
.lz-hero-quick .quick-card .q-body { align-items: flex-start; }

/* ── Két konstrukció: egymás alatti, levegős kártyák ── */
.lz-plans { display: grid; gap: 1.6rem; }
.lz-plan {
  display: grid; grid-template-columns: 1.02fr .98fr; align-items: stretch;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-sm); overflow: hidden;
}
.lz-plan-body { padding: 2.6rem 2.6rem 2.4rem; display: flex; flex-direction: column; min-width: 0; }
.lz-badge {
  align-self: flex-start; background: var(--red-soft); color: var(--red);
  border: 1px solid var(--red-line); border-radius: 999px;
  font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: .45em 1em; margin-bottom: 1.1rem;
}
.lz-plan-body h3 {
  font-size: clamp(1.25rem, 1.9vw, 1.55rem); font-weight: 800;
  letter-spacing: -.02em; line-height: 1.2; margin-bottom: .7rem;
}
.lz-plan-text { color: var(--gray); font-size: .96rem; line-height: 1.65; margin-bottom: 1.6rem; }

/* Piros körös pipás lista */
.lz-checks { display: grid; gap: .75rem; margin-bottom: 1.9rem; }
.lz-checks li { display: flex; align-items: flex-start; gap: .75rem; font-size: .94rem; line-height: 1.45; }
.lz-checks .lzc {
  flex: none; width: 22px; height: 22px; border-radius: 50%; margin-top: .05em;
  display: grid; place-items: center; background: var(--red-soft); color: var(--red);
}
.lz-checks .lzc .li { width: 13px; height: 13px; stroke-width: 3; }
.lz-plan-body .btn { align-self: flex-start; margin-top: auto; }

.lz-plan-media { position: relative; min-height: 340px; background: var(--bg); }
.lz-plan-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ── Gyors összehasonlítás: szöveg + táblázat ── */
.lz-cmp { display: grid; grid-template-columns: .82fr 1.18fr; gap: 3.2rem; align-items: start; }
.lz-cmp > * { min-width: 0; }
.lz-table-wrap {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-xs); overflow: hidden;
}
.lz-table { width: 100%; border-collapse: collapse; }
.lz-table thead th {
  background: var(--dark); color: #fff; text-align: left;
  font-size: .82rem; font-weight: 700; letter-spacing: .04em;
  padding: 1.05rem 1.3rem; line-height: 1.35; vertical-align: middle;
}
.lz-table tbody th {
  text-align: left; font-weight: 700; font-size: .92rem; color: var(--ink);
  padding: 1.1rem 1.3rem; vertical-align: top; width: 23%;
}
.lz-table tbody td {
  font-size: .92rem; color: var(--gray); line-height: 1.55;
  padding: 1.1rem 1.3rem; vertical-align: top;
}
.lz-table tbody tr + tr th, .lz-table tbody tr + tr td { border-top: 1px solid var(--line); }
.lz-table tbody tr:nth-child(even) { background: #fbfbfc; }

/* ── Folyamat: négy lépés piros sorszámmal, halvány nyilakkal ── */
.lz-flow {
  display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 1.8rem; align-items: start;
}
.lz-step { text-align: center; min-width: 0; }
/* A lépésszám nem buborékban ül, hanem nagy, letisztult számként,
   alatta egy rövid piros vonallal – így nem versenyez a címmel. */
.lz-num {
  display: block; margin: 0 auto .9rem; padding-bottom: .5rem;
  width: max-content;
  font-family: var(--font-cond); font-weight: 800; font-size: 2.6rem; line-height: 1;
  color: var(--red); letter-spacing: -.03em;
  border-bottom: 3px solid var(--red);
}
.lz-step h3 { font-size: 1.05rem; font-weight: 700; letter-spacing: -.015em; line-height: 1.3; margin-bottom: .5rem; }
.lz-step p { font-size: .9rem; color: var(--gray); line-height: 1.6; max-width: 26em; margin-inline: auto; }
.lz-arrow { color: #d6dae1; display: grid; place-items: center; height: 52px; }
.lz-arrow .li { width: 24px; height: 24px; stroke-width: 1.6; }

/* ── Sötét sáv: miért velünk ── */
.lz-dark { background: var(--dark); color: #fff; padding: 4.2rem 0; }
.lz-split { display: grid; grid-template-columns: .88fr 1.12fr; gap: 3.4rem; align-items: center; }
.lz-split > * { min-width: 0; }
.lz-dark .eyebrow { color: #ff5560; }
.lz-dark .eyebrow::before { background: #ff5560; }
.lz-dark .section-title { color: #fff; }
.lz-dark .section-lead { color: #aab3c0; }
.lz-pillars { gap: 2.2rem 0; }
.lz-pillars .why-item { border-left-color: rgba(255, 255, 255, .13); }
.lz-pillars .why-item h4 { color: #fff; }
.lz-pillars .why-item p { color: #9aa3b0; font-size: .82rem; }

/* ── Záró CTA: fotós sötét sáv + lebegő kapcsolatkártya ── */
.lz-cta { position: relative; background: var(--dark); color: #fff; overflow: hidden; }
.lz-cta::before {
  content: ''; position: absolute; inset: 0;
  background: url('../img/fleet-yard.jpg') center / cover no-repeat;
  opacity: .5;
}
.lz-cta::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(13,16,23,.96) 0%, rgba(13,16,23,.86) 48%, rgba(13,16,23,.6) 100%);
}
.lz-cta-inner {
  position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr;
  gap: 3.4rem; align-items: center; padding: 4.6rem 0;
}
.lz-cta-inner > * { min-width: 0; }
.lz-cta .eyebrow { color: #ff5560; }
.lz-cta .eyebrow::before { background: #ff5560; }
.lz-cta .section-title { color: #fff; }
.lz-cta-lead { color: #aab3c0; font-size: 1.02rem; margin-top: .9rem; max-width: 34em; }
.lz-cta-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }

.lz-card {
  background: rgba(21, 26, 35, .92); border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px; padding: 2.1rem 2rem; box-shadow: var(--shadow-lg);
  backdrop-filter: blur(8px); display: flex; flex-direction: column; gap: 1.2rem;
}
.lz-card-head { display: flex; align-items: center; gap: 1.1rem; }
.lz-card-head img {
  width: 86px; height: 86px; border-radius: 50%; object-fit: cover; flex: none;
  border: 3px solid rgba(255, 255, 255, .14);
}
.lz-card-head strong { display: block; font-size: 1.3rem; font-weight: 800; letter-spacing: -.015em; line-height: 1.2; }
.lz-card-head span { display: block; font-size: .9rem; color: #9aa3b0; margin-top: .1rem; }
.lz-lines { display: grid; gap: .6rem; }
.lz-lines li { display: flex; align-items: center; gap: .6rem; font-size: .89rem; color: #c3cad4; }
.lz-lines .li { color: #ff5560; width: 1.05em; height: 1.05em; flex: none; }
.lz-phone {
  display: flex; align-items: center; gap: .85rem;
  padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .1);
}
.lz-phone-ic {
  width: 40px; height: 40px; border-radius: 50%; flex: none;
  display: grid; place-items: center; background: var(--red); color: #fff;
}
.lz-phone-ic .li { width: 18px; height: 18px; }
.lz-phone-num {
  font-family: var(--font-cond); font-weight: 700; font-size: 1.5rem;
  color: #fff; letter-spacing: .02em; line-height: 1;
}
.lz-phone-num:hover { color: #ff5560; }
.lz-card .btn { width: 100%; }

/* ── GYIK: szöveg bal, akkordion jobb ── */
.lz-faq { display: grid; grid-template-columns: .82fr 1.18fr; gap: 3.2rem; align-items: start; }
.lz-faq > * { min-width: 0; }
.lz-faq-list { display: grid; gap: .8rem; }
.lz-faq-list .faq-item {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-xs); overflow: hidden;
}
.lz-faq-list .faq-q { padding: 1.25rem 1.5rem; font-size: .96rem; font-weight: 600; }
.lz-faq-list .faq-q::after { font-size: 1.5rem; }
.lz-faq-list .faq-a p { padding: 0 1.5rem 1.3rem; font-size: .91rem; line-height: 1.65; }

/* ═══ Reszponzív ═══ */
@media (max-width: 1100px) {
  .lz-plan-body { padding: 2.2rem 2rem 2rem; }
  .lz-cmp, .lz-faq { gap: 2.4rem; }
  .lz-split, .lz-cta-inner { gap: 2.6rem; }
}

@media (max-width: 900px) {
  .lz-pillars { grid-template-columns: repeat(2, 1fr); }
  .lz-hero-quick { padding-bottom: 3rem; }
  .lz-hero-quick .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .lz-plan { grid-template-columns: minmax(0, 1fr); }
  .lz-plan-media { min-height: 0; aspect-ratio: 16 / 9; order: -1; }
  .lz-plan-media img { position: static; }

  .lz-cmp, .lz-faq, .lz-split, .lz-cta-inner { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .lz-cta-inner { padding: 3.4rem 0; }
  .lz-dark { padding: 3.2rem 0; }
  .lz-split .section-head { margin-bottom: 0; }

  .lz-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2rem 1.6rem; }
  .lz-arrow { display: none; }

  /* a style.css mobil hero-szabályai csak a főoldali csempékre kellenek */
  .lz-hero-quick .quick-card .q-body { display: flex; }
  .lz-hero-quick .quick-card:last-child { grid-column: auto; }

  /* Táblázat → kártyák, vízszintes csúszás nélkül */
  .lz-table-wrap { background: transparent; border: 0; box-shadow: none; overflow: visible; }
  .lz-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .lz-table, .lz-table tbody, .lz-table tr, .lz-table th, .lz-table td { display: block; width: auto; }
  .lz-table tbody tr {
    background: #fff !important; border: 1px solid var(--line); border-radius: var(--radius);
    box-shadow: var(--shadow-xs); margin-bottom: .8rem; overflow: hidden;
  }
  .lz-table tbody th {
    width: auto; background: var(--dark); color: #fff; font-size: .88rem;
    padding: .85rem 1.2rem;
  }
  .lz-table tbody td { padding: .95rem 1.2rem; }
  .lz-table tbody tr + tr th { border-top: 0; }
  .lz-table tbody td::before {
    content: attr(data-th); display: block; font-size: .7rem; font-weight: 700;
    letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-bottom: .3rem;
  }
  .lz-table tbody td + td { border-top: 1px solid var(--line); }
}

@media (max-width: 640px) {
  .lz-hero-quick .quick-grid { gap: .7rem; }
  .lz-hero-quick .quick-card { padding: 1.05rem 1rem 1rem; gap: .5rem; }
  .lz-hero-quick .quick-card .q-head { flex-direction: row; align-items: center; gap: .6rem; }

  .lz-plan-body { padding: 1.8rem 1.4rem 1.7rem; }
  .lz-plan-body .btn { align-self: stretch; justify-content: center; }
  .lz-flow { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .lz-card { padding: 1.6rem 1.3rem; }
  .lz-card-head { flex-direction: column; text-align: center; gap: .8rem; }
  .lz-card-head img { width: 96px; height: 96px; }
  .lz-phone-num { font-size: 1.3rem; }
  .lz-cta-actions .btn { width: 100%; justify-content: center; }
  .lz-faq-list .faq-q { padding: 1.05rem 1.15rem; font-size: .92rem; }
  .lz-faq-list .faq-a p { padding: 0 1.15rem 1.1rem; }
}

/* Kapcsolatkártya fotó nélkül */
.lz-card-head-noimg { padding-left: .2rem; }
