/* ==========================================================
   Vállalkozásmester – EV Alapítás Workbook
   V7 DOM FIX – Elementor + WoodMart
   Csak a 15901-es oldalra.

   Miért ez a verzió?
   Az Elementor import után a widgetek vm-* CSS osztályai megmaradtak,
   a CONTAINER-ek vm-* osztályai viszont nem kerültek ki a frontend DOM-ba.
   Ezért a korábbi .vm-modules-grid, .vm-module-card stb. szelektorok
   nem tudtak mire illeszkedni.

   Ez a patch kizárólag olyan vm-* osztályokra támaszkodik, amelyek a
   tényleges frontend DOM-ban is ott vannak a widgeteken, és :has()
   segítségével azonosítja a körülöttük lévő Elementor containereket.
   ========================================================== */

/* ---- általános: grid/flex gyerekek ne tudjanak a cellájuknál keskenyebbek maradni ---- */
.elementor-15901 .e-con {
  min-width: 0;
}

/* ==========================================================
   1) PROBLÉMA BLOKK – 2 oszlop
   parent: közvetlen gyerekei olyan e-con-ok, amelyekben vm-problem-text van
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .vm-problem-text) {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-problem-text) {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: stretch !important;
}

/* ==========================================================
   2) MEGOLDÁS – bal kártya + jobb szöveg, 2 oszlop
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .vm-card-kicker):has(> .e-con .vm-point-text) {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 80px !important;
  align-items: center !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-card-kicker),
.elementor-15901 .e-con:has(> .vm-section-title):has(.vm-point-text) {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
/* sötét kártya modul sorai */
.elementor-15901 .e-con:has(> .vm-module-number):has(> .vm-module-title),
.elementor-15901 .e-con:has(> .vm-point-icon):has(> .vm-point-text) {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* ==========================================================
   3) RÉSZLETES MODULOK – valódi auto-fit grid
   A frontend screenshotban a container vm-modules-grid osztálya hiányzik,
   de minden kártyában ott van a vm-module-card-number widget.
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .vm-module-card-number) {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-module-card-number) {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  --flex-grow: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: stretch !important;
}

/* címkék a modulkártyák alján természetesen törjenek */
.elementor-15901 .e-con:has(> .vm-tag) {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
}

/* ==========================================================
   4) KINEK SZÓL – 4 kártya / auto-fit
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .vm-forwhom-title) {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 1px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-forwhom-title) {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: stretch !important;
}

/* "nem neked való" lista */
.elementor-15901 .e-con:has(> .e-con > .vm-notfor-x) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-notfor-x):has(> .vm-notfor-text) {
  --width: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

/* ==========================================================
   5) SZAKMAI HÁTTÉR – 1/3 + 2/3
   bal oszlopban két e-con mélység után vm-about-name,
   jobb oszlopban közvetlenül vm-about-paragraph.
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .e-con > .vm-about-name):has(> .e-con > .vm-about-paragraph) {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
  gap: 80px !important;
  align-items: start !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .e-con > .vm-about-name),
.elementor-15901 .e-con:has(> .vm-about-paragraph),
.elementor-15901 .e-con:has(> .vm-about-name) {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* szakmai háttér belső credential sorok */
.elementor-15901 .e-con:has(> .vm-credential-dash):has(> .vm-credential-text) {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* ==========================================================
   6) HERO STATISZTIKÁK – 30 / 5 / 60 egymás mellett
   ========================================================== */
.elementor-15901 .e-con:has(> .e-con > .vm-stat-number) {
  --display: flex !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 40px !important;
  width: 100% !important;
}
.elementor-15901 .e-con:has(> .vm-stat-number) {
  --width: auto !important;
  --container-widget-width: auto !important;
  width: auto !important;
  min-width: 120px !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

/* ==========================================================
   7) ÁRAZÁS – feature sorok teljes szélességűek
   ========================================================== */
.elementor-15901 .e-con:has(> .vm-feature-check):has(> .vm-feature-text) {
  --width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* ==========================================================
   TABLET
   ========================================================== */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-15901 .e-con:has(> .e-con > .vm-module-card-number),
  .elementor-15901 .e-con:has(> .e-con > .vm-forwhom-title) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================
   MOBIL – az eredeti HTML logikája szerint 1 oszlop
   ========================================================== */
@media (max-width: 767px) {
  .elementor-15901 .e-con:has(> .e-con > .vm-problem-text),
  .elementor-15901 .e-con:has(> .e-con > .vm-card-kicker):has(> .e-con .vm-point-text),
  .elementor-15901 .e-con:has(> .e-con > .vm-module-card-number),
  .elementor-15901 .e-con:has(> .e-con > .vm-forwhom-title),
  .elementor-15901 .e-con:has(> .e-con > .e-con > .vm-about-name):has(> .e-con > .vm-about-paragraph) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .elementor-15901 .e-con:has(> .e-con > .vm-card-kicker):has(> .e-con .vm-point-text),
  .elementor-15901 .e-con:has(> .e-con > .e-con > .vm-about-name):has(> .e-con > .vm-about-paragraph) {
    gap: 40px !important;
  }

  .elementor-15901 .e-con:has(> .e-con > .vm-stat-number) {
    gap: 24px !important;
  }

  .elementor-15901 .e-con:has(> .vm-stat-number) {
    min-width: 100px !important;
  }
}
