/* ==========================================================================
   Elementor-lite
   Az Elementor konténer- és widget-rendszerének minimális, saját
   megvalósítása. Az oldalankénti stílusok (assets/css/pages/post-*.css)
   az eredeti Elementor beállításokat tartalmazzák, és az itt definiált
   CSS-változókon keresztül hatnak.
   ========================================================================== */

/* ---------- Globális (kit) változók ---------- */
:root {
  --e-global-color-primary: #000000;
  --e-global-color-secondary: #E0DBD5;
  --e-global-color-text: #C9C1B6;
  --e-global-color-accent: #444736;
  --e-global-color-f963b37: #303224;
  --e-global-color-f6d6895: #FFFFFF;
  --e-global-typography-primary-font-family: "Raleway";
  --e-global-typography-primary-font-size: 32px;
  --e-global-typography-primary-font-weight: 300;
  --e-global-typography-primary-text-transform: uppercase;
  --e-global-typography-primary-letter-spacing: 2.3px;
  --e-global-typography-secondary-font-family: "Raleway";
  --e-global-typography-secondary-font-size: 18px;
  --e-global-typography-secondary-font-weight: 300;
  --e-global-typography-secondary-text-transform: uppercase;
  --e-global-typography-secondary-letter-spacing: 1.7px;
  --e-global-typography-text-font-family: "Raleway";
  --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: "Raleway";
  --e-global-typography-accent-font-weight: 500;
  --e-global-typography-accent-text-transform: uppercase;
  --e-global-typography-accent-font-style: normal;
}

.elementor a { box-shadow: none; text-decoration: none; }
.elementor img { max-width: 100%; height: auto; border: none; border-radius: 0; box-shadow: none; }

/* ---------- Konténer (e-con) ---------- */
.elementor-element {
  --flex-direction: initial;
  --flex-wrap: initial;
  --justify-content: initial;
  --align-items: initial;
  --align-content: initial;
  --gap: initial;
  --flex-basis: initial;
  --flex-grow: initial;
  --flex-shrink: initial;
  --order: initial;
  --align-self: initial;
  flex-basis: var(--flex-basis);
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  order: var(--order);
  align-self: var(--align-self);
}

.e-con {
  --container-max-width: 1140px;
  --display: flex;
  --flex-direction: column;
  --flex-wrap: nowrap;
  --justify-content: normal;
  --align-items: normal;
  --align-content: normal;
  --flex-basis: auto;
  --flex-grow: 0;
  --flex-shrink: 1;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --content-width: min(100%, var(--container-max-width, 1140px));
  --width: 100%;
  --min-height: initial;
  --height: auto;
  --text-align: initial;
  --margin-top: 0px;
  --margin-right: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --padding-top: 10px;
  --padding-right: 10px;
  --padding-bottom: 10px;
  --padding-left: 10px;
  --row-gap: 20px;
  --column-gap: 20px;
  --flex-wrap-mobile: wrap;
  --overlay-opacity: 1;

  position: relative;
  display: var(--display);
  width: var(--width);
  min-width: 0;
  min-height: var(--min-height);
  height: var(--height);
  margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);
  padding-inline-start: var(--padding-left);
  padding-inline-end: var(--padding-right);
  flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
}

/* „Boxed” konténer: belső doboz max. 1140px */
.e-con-boxed {
  flex-direction: column;
  flex-wrap: nowrap;
  text-align: initial;
}
.e-con > .e-con-inner {
  display: var(--display);
  flex-direction: var(--flex-direction);
  flex-wrap: var(--flex-wrap);
  justify-content: var(--justify-content);
  align-items: var(--align-items);
  align-content: var(--align-content);
  gap: var(--row-gap) var(--column-gap);
  width: 100%;
  max-width: var(--content-width);
  height: 100%;
  margin: 0 auto;
  padding-block-start: var(--padding-top);
  padding-block-end: var(--padding-bottom);
  text-align: var(--text-align);
  flex: 1 1 auto;
}

/* „Full width” konténer */
.e-con-full {
  flex-direction: var(--flex-direction);
  flex-wrap: var(--flex-wrap);
  justify-content: var(--justify-content);
  align-items: var(--align-items);
  align-content: var(--align-content);
  gap: var(--row-gap) var(--column-gap);
  padding-block-start: var(--padding-top);
  padding-block-end: var(--padding-bottom);
  text-align: var(--text-align);
}

/* Rács konténer */
.e-con.e-grid > .e-con-inner,
.e-con-full.e-grid {
  display: grid;
  grid-template-columns: var(--e-con-grid-template-columns, repeat(3, 1fr));
  grid-template-rows: var(--e-con-grid-template-rows, repeat(2, 1fr));
  grid-auto-flow: var(--grid-auto-flow, row);
}

/* Widgetek a konténerben */
.e-con > .elementor-widget,
.e-con > .e-con-inner > .elementor-widget {
  width: var(--container-widget-width);
  max-width: 100%;
  height: var(--container-widget-height);
  flex-grow: var(--container-widget-flex-grow);
  align-self: var(--container-widget-align-self);
}
.e-con .elementor-widget.elementor-widget { margin-block-end: 0; }
.elementor-widget { position: relative; }
.elementor-widget-container { height: 100%; }

.elementor-widget__width-inherit { width: inherit; }
.elementor-widget__width-initial { max-width: 100%; }

/* ---------- Címsor ---------- */
.elementor-heading-title { margin: 0; padding: 0; line-height: 1; }
.elementor-heading-title > a { color: inherit; font-size: inherit; line-height: inherit; }

/* ---------- Szöveg ---------- */
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol { margin: 0 0 1.5em 3em; padding: 0; }
.elementor-widget-text-editor ul { list-style: disc; }
.elementor-widget-text-editor ol { list-style: decimal; }
.elementor-widget-text-editor li > ul,
.elementor-widget-text-editor li > ol { margin-bottom: 0; margin-left: 1.5em; }
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4,
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6 { margin: 0 0 20px; font-weight: 400; line-height: 1.2; }
.elementor-widget-text-editor h2 { font-size: 35px; }
.elementor-widget-text-editor h3 { font-size: 29px; }
.elementor-widget-text-editor h4 { font-size: 24px; }
.elementor-widget-text-editor h5 { font-size: 20px; }
.elementor-widget-text-editor hr {
  height: 1px;
  margin-bottom: 40px;
  border: 0;
  background-color: rgba(0, 0, 0, .1);
}
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b { font-weight: 700; }

/* ---------- Kép ---------- */
.elementor-widget-image { text-align: center; }
.elementor-widget-image a { display: inline-block; }
.elementor-widget-image img { display: inline-block; vertical-align: middle; }

/* ---------- Térköz ---------- */
.elementor-widget-spacer { --spacer-size: 50px; }
.e-con > .elementor-widget-spacer,
.e-con > .e-con-inner > .elementor-widget-spacer { flex-shrink: 0; }
.elementor-spacer-inner { height: var(--spacer-size); }

/* ---------- Elválasztó ---------- */
.elementor-widget-divider {
  --divider-border-style: none;
  --divider-border-width: 1px;
  --divider-color: #0c0d0e;
}
.elementor-divider { display: flex; }
.elementor-divider-separator { display: flex; margin: 0; direction: ltr; }
.elementor-widget-divider--view-line .elementor-divider-separator {
  border-block-start: var(--divider-border-width) var(--divider-border-style) var(--divider-color);
}

/* ---------- Gomb ---------- */
.elementor-button-wrapper { display: block; }
.elementor-align-center { text-align: center; }
.elementor-button {
  display: inline-block;
  padding: 12px 24px;
  font-size: 15px;
  line-height: 1;
  text-align: center;
  color: #fff;
  fill: #fff;
  background-color: #69727d;
  border-radius: 3px;
  transition: all .3s;
}
.elementor-button-content-wrapper { display: flex; justify-content: center; gap: 5px; }

/* ---------- Ikon ---------- */
.elementor-icon-wrapper { line-height: 1; }
.elementor-icon {
  display: inline-block;
  font-size: 50px;
  line-height: 1;
  text-align: center;
  color: #69727d;
  transition: all .3s;
}
.elementor-icon svg { position: relative; display: block; width: 1em; height: 1em; }

/* ---------- Galéria (masonry) ---------- */
.elementor-gallery__container {
  display: flex;
  align-items: flex-start;
  gap: var(--gallery-gap, 10px);
}
.e-gallery-col {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--gallery-gap, 10px);
  min-width: 0;
}
.e-gallery-item { position: relative; display: block; overflow: hidden; }
.e-gallery-item img { display: block; width: 100%; height: auto; transition: transform .8s; }
.elementor-gallery-item__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, .5);
  opacity: 0;
  transition: opacity .8s;
}
.e-gallery-item:hover .elementor-gallery-item__overlay { opacity: 1; }

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
  .e-con.e-flex {
    --width: 100%;
    --flex-wrap: var(--flex-wrap-mobile);
  }
  /* Hosszú egyszavas címek (pl. „RUHAVÁLASZTÁSHOZ”) ne lógjanak ki */
  .elementor-heading-title { overflow-wrap: break-word; hyphens: auto; }
}
