/* ==========================================================================
   Egyedi megjelenés – page styles (loaded after subpage.css)
   ========================================================================== */

/* ---------- Hero (560×400 illustration) ---------- */
.em-hero { padding-bottom: 96px; }
@media (min-width: 1200px) { .em-hero .sp-hero__text { width: 520px; } }
.em-hero .sp-hero__art { width: 560px; }
/* raster crop of the Figma illustration incl. 20px bleed (40px at the bottom for the shadow) */
.em-hero .sp-hero__art img { width: 107.143%; max-width: none; margin: -3.571% -3.571% -7.143%; }

/* ---------- "Miért fontos?" ---------- */
.em-why__grid { display: flex; align-items: center; justify-content: space-between; gap: 0; }
.em-why__text { width: 520px; flex: none; }
.em-why__text .sp-head .h2 { max-width: 480px; }
.em-why__text > .lead { margin-top: 32px; color: rgba(255, 255, 255, .75); }
.em-why__quote {
  margin-top: 20px;
  padding-left: 21px;
  border-left: 3px solid var(--green);
  font: 400 20px/31px var(--font-text);
  color: var(--white);
}
.em-why { overflow: hidden; }
.em-why__art { width: 697px; flex: none; margin-right: -73px; }
.em-why__art img { width: 100%; height: auto; display: block; }

/* ---------- Szolgáltatásaink (6 image cards) ---------- */
.em-services { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; row-gap: 40px; }
.em-service { display: flex; flex-direction: column; align-items: center; text-align: center; }
.em-service__img { width: 100%; height: 300px; border-radius: 24px; overflow: hidden; background: var(--bg-2); }
.em-service__img img { width: 100%; height: 100%; object-fit: contain; display: block; transition: transform .4s var(--ease-out); }
.em-service:hover .em-service__img img { transform: scale(1.03); }
.em-service__title { margin-top: 20px; font: 600 20px/27px var(--font-head); color: var(--navy); }
.em-service p { margin-top: 6px; padding: 0 24px; color: var(--muted); font-size: 17px; line-height: 27.2px; }

/* ---------- Steps (4-up, Hover/Egyedi megjelenés – Step) ---------- */
.em-steps { gap: 13px; align-items: stretch; }
.em-steps .step-card {
  gap: 18px;
  padding: 24px;
  border-radius: 20px;
  background: var(--bg);
  --accent: var(--line);
}
.em-steps .step-card[data-accent="pink"] { --accent: var(--pink); }
.em-steps .step-card[data-accent="orange"] { --accent: var(--orange); }
.em-steps .step-card[data-accent="green"] { --accent: var(--green); }
.em-steps .step-card[data-accent="blue"] { --accent: var(--blue); }
.em-steps .step-card__icon { width: 52px; height: 52px; }
.em-steps .step-card__txt { display: flex; flex-direction: column; gap: 6px; }
.em-steps .step-card__no { margin: 0; font: 600 14px/16.8px var(--font-text); letter-spacing: .04em; }
.em-steps .h3 { font-size: 24px; line-height: 31.2px; letter-spacing: -.005em; }
.em-steps .step-card p { font-size: 17px; line-height: 27.2px; }
.em-steps .step-card:hover {
  background: var(--bg);
  padding-top: 18px; padding-bottom: 30px;
  border-color: var(--accent);
  box-shadow: 0 18px 40px rgba(23, 26, 51, .15), inset 0 0 0 .5px var(--accent);
}
.em-steps > .flow__arrow { width: 24px; }

/* ---------- Előtte és utána ---------- */
.em-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.em-ba__item { margin: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 17px; }
.em-ba__label {
  display: inline-flex; align-items: center; gap: 6px;
  height: 33px; padding: 0 14px;
  border-radius: 999px;
  background: var(--white); color: var(--navy);
  font: 600 16px/1 var(--font-text);
}
.em-ba__label span { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); }
.em-ba__label--after { background: var(--green); color: var(--white); }
.em-ba__label--after span { background: var(--white); }
.em-ba__frame { width: 100%; border-radius: 16px 16px 0 0; overflow: hidden; background: var(--white); }
.em-ba__bar { display: flex; align-items: center; gap: 6px; height: 32px; padding: 0 16px; background: var(--bg-2); }
.em-ba__bar span { width: 8px; height: 8px; border-radius: 50%; background: var(--line); }
.em-ba__frame img { display: block; width: 100%; height: auto; }

/* ---------- Tablet ---------- */
@media (max-width: 1199px) {
  .em-hero { padding-bottom: 80px; }
  .em-why__grid { flex-direction: column; align-items: stretch; gap: 32px; }
  .em-why__text { width: auto; }
  .em-why__text .sp-head .h2 { max-width: none; }
  .em-why__text > .lead { margin-top: 24px; }
  .em-why__text > .lead { max-width: 560px; }
  .em-why__grid { gap: 20px; }
  .em-why__art { width: min(660px, 100%); margin: 0 auto; }

  .em-services { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .em-service__title { margin-top: 16px; }
  .em-service p { padding: 0; }
  .em-steps { gap: 20px; }
  .em-steps .step-card:hover { padding-top: 18px; padding-bottom: 30px; }

  .em-ba { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .em-hero { padding-bottom: 56px; }
  .em-hero .sp-hero__art { width: 350px; }
  .em-hero .sp-hero__actions { align-self: stretch; }
  .em-services { grid-template-columns: 1fr; row-gap: 32px; }
  .em-steps .h3 { font-size: 20px; line-height: 1.3; }
  .em-ba { gap: 24px; }
}
