/* =====================================================================
   Imagine Health Center - fooldal design rendszer (2026)
   Csak a fooldal sajat szekcioihoz + a globalis sticky CTA-hoz.
   Blocksy globalis beallitasai adjak a szineket, tipografiat, gombokat;
   ez a fajl a szekcio-elrendezeseket es a reszponziv viselkedest kezeli.
   ===================================================================== */

:root {
  --ihc-bg:        #FFFFFF;
  --ihc-surface:   #F4F6F7;
  --ihc-tint:      #EAF1F2;
  --ihc-ink:       #0F2A33;
  --ihc-body:      #3B565F;
  --ihc-muted:     #48626B;
  --ihc-accent:    #07808F;
  --ihc-accent-2:  #065E6B;
  --ihc-bright:    #0790A0;
  --ihc-deep:      #023F55;
  --ihc-petrol:    #065E6B;
  --ihc-line:      #DDE5E7;
  --ihc-radius:    18px;
  --ihc-radius-lg: 28px;
  --ihc-shadow:    0 20px 50px rgba(2, 63, 85, .10);
  --ihc-mcta-h:    74px;
}

/* ---------- 1. Alap szerkezet: container es fuggoleges ritmus ---------- */

.ihc-section {
  padding-block: clamp(64px, 8vw, 112px);
  /* vizszintes tullogas kizarasa minden szekcion belul */
  overflow-x: clip;
}
.ihc-section--tint  { background: var(--ihc-surface); }
.ihc-section--tight { padding-block: clamp(48px, 5vw, 72px); }
.ihc-section--flush-top { padding-top: 0; }

.ihc-wrap {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

/* Szekciofej: cim + rovid alcim, olvasasi szelessegre fogva */
.ihc-head {
  max-width: 720px;
  margin-inline: auto;
  margin-bottom: clamp(40px, 5vw, 64px);
  text-align: center;
}
.ihc-head > :first-child { margin-top: 0; }
.ihc-head > :last-child  { margin-bottom: 0; }
.ihc-head p {
  color: var(--ihc-muted);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
  margin-top: 16px;
}

.ihc-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ihc-accent);
  margin: 0 0 14px;
}

.ihc-lead {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.6;
  color: var(--ihc-muted);
}

/* Chevron link: a szin mellett nyil es alahuzas is jelzi, hogy link */
.ihc-link {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  font-weight: 600;
  font-size: 15px;
  color: var(--ihc-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-block: 2px;
}
.ihc-link::after { content: "\2192"; transition: transform .18s ease; }
.ihc-link:hover, .ihc-link:focus-visible { color: var(--ihc-accent-2); border-bottom-color: currentColor; }
.ihc-link:hover::after { transform: translateX(3px); }

/* Latvanyos, konzisztens fokusz minden sajat interaktiv elemen */
.ihc-link:focus-visible,
.ihc-btn:focus-visible,
.ihc-mcta__btn:focus-visible,
.ihc-carousel .stk-block-carousel__button:focus-visible,
.ihc-carousel .stk-block-carousel__dot:focus-visible {
  outline: 2px solid var(--ihc-accent);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Gombok: a Blocksy globalis gombstilusara epul, csak a variansok itt */
.ihc-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.ihc-btn--ghost .wp-block-button__link,
.wp-block-button.ihc-btn--ghost > .wp-block-button__link {
  background: transparent;
  color: var(--ihc-accent);
  box-shadow: inset 0 0 0 1px var(--ihc-accent);
}
.ihc-btn--ghost .wp-block-button__link:hover {
  background: var(--ihc-accent);
  color: #fff;
}
/* Fenykepen allo gombok */
.ihc-on-photo .ihc-btn--ghost .wp-block-button__link,
.ihc-on-photo .wp-block-button.ihc-btn--ghost > .wp-block-button__link {
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
}
.ihc-on-photo .ihc-btn--ghost .wp-block-button__link:hover {
  background: #fff;
  color: var(--ihc-deep);
  box-shadow: inset 0 0 0 1px #fff;
}

/* ---------- 2. Hero carousel ---------- */

.ihc-hero { margin-block:0; margin-inline: calc(50% - 50vw); width:100vw; max-width:100vw; }
.ihc-hero .stk-block-carousel__content-wrapper { position: relative; }
.ihc-hero .stk-block-carousel__slider { margin: 0; }
.ihc-hero .wp-block-cover { border-radius:0; padding:0; align-items:center; }
.ihc-hero .wp-block-cover::after {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 28%, rgba(255,255,255,.38) 50%, rgba(255,255,255,0) 66%);
}
.ihc-hero__content { position:relative; z-index:2; width:100%; max-width:1320px; margin-inline:auto; padding-inline: clamp(20px,4vw,40px); }
.ihc-hero__inner { max-width: 560px; }
.ihc-hero__inner.ihc-hero__inner > * { margin-block-start: 0; }
.ihc-hero__inner h2 { color:var(--ihc-ink); font-size: clamp(23px,2.4vw,37px); line-height:1.12; letter-spacing:.005em; text-transform:uppercase; font-weight:700; margin:0 0 4px; }
.ihc-hero__inner > h2 + p, .ihc-hero__sub {
  color: var(--ihc-accent); font-size: clamp(23px,2.4vw,37px); line-height:1.12; letter-spacing:.005em;
  text-transform: uppercase; font-weight: 800; margin: 0 0 20px; max-width: none;
}
.ihc-hero__inner > h2 + p + p, .ihc-hero__inner > .ihc-hero__sub + p {
  color: var(--ihc-muted); font-size: clamp(15px,1.15vw,17px); line-height:1.6; margin:0 0 28px; max-width:44ch; text-transform:none; font-weight:400;
}
.ihc-hero .stk-block-carousel__buttons { inset: 0 clamp(10px,1.4vw,24px); }
.ihc-hero .stk-block-carousel__button { box-shadow: 0 8px 24px rgba(2,63,85,.16); }
.ihc-hero .stk-block-carousel__dots { position:absolute; left:0; right:0; bottom:20px; top:auto; margin:0; z-index:5; }
@media (max-width: 900px) {
  /* A Cover blokk inline min-height-jat csak itt irjuk felul: mobilon a 660px tul magas. */
  .ihc-hero .wp-block-cover { min-height: clamp(430px,76vw,560px) !important; align-items: flex-end; }
  .ihc-hero .wp-block-cover::after { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 36%, rgba(255,255,255,.95) 70%); }
  .ihc-hero__content { padding-bottom: 52px; }
  .ihc-hero__inner { max-width: none; }
}

/* A vilagos kepen a feher pontok lathatatlanok voltak -> sotet/teal pontok */
.ihc-hero { --dot-color: rgba(15,42,51,.22); --dot-color-hover: #065E6B; }
.ihc-hero .stk-block-carousel__dot:before { background: rgba(15,42,51,.22) !important; }
.ihc-hero .stk-block-carousel__dot[aria-current="true"]:before,
.ihc-hero .stk-block-carousel__dot.stk--is-active:before,
.ihc-hero .stk-block-carousel__dot.is-active:before { background: var(--ihc-accent) !important; }


/* ---------- 3. Terapiak ---------- */

/* Szekcio: kisebb fuggoleges terkoz a blokk elott es utan */
.ihc-section:has(> .ihc-wrap > .ihc-therapies) { padding-block: clamp(24px, 2.4vw, 38px) clamp(40px, 4.2vw, 66px); }
.ihc-section:has(> .ihc-wrap > .ihc-therapies) .ihc-head { margin-bottom: clamp(26px, 2.6vw, 40px); }

.ihc-therapies { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: clamp(14px, 1.3vw, 18px); align-items: stretch; }
.ihc-therapies.ihc-therapies > * { margin-block-start: 0; }

/* Feher kartya, mint a latvanyterven */
.ihc-therapy {
  display: flex; flex-direction: column;
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(2, 63, 85, .05);
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.ihc-therapy:hover, .ihc-therapy:focus-within {
  box-shadow: 0 20px 44px rgba(2, 63, 85, .18);
  transform: translateY(-5px);
  border-color: rgba(7, 128, 143, .35);
}
.ihc-therapy.ihc-therapy > * { margin-block-start: 0; }
.ihc-therapy .wp-block-image { margin: 0; }
.ihc-therapy .wp-block-image img { display:block; width:100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; }
/* A szoveges resz kap belso margot, a kep vegig kifut */
.ihc-therapy > :not(.wp-block-image) { padding-inline: clamp(14px, 1.2vw, 18px); }
.ihc-therapy > h3 { padding-top: clamp(14px, 1.2vw, 18px); margin: 0 0 7px; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.25; color: var(--ihc-ink); }
.ihc-therapy > p:not(.ihc-link-p) { margin: 0 0 14px; font-size: clamp(12px, .95vw, 13.5px); line-height: 1.5; color: var(--ihc-muted); }
.ihc-therapy > .ihc-link-p { margin-top: auto; padding-bottom: clamp(14px, 1.2vw, 18px); }
.ihc-therapy .ihc-link-p a { font-size: clamp(11px, .85vw, 12.5px); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }

@media (max-width: 1180px) { .ihc-therapies { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 860px)  { .ihc-therapies { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px)  { .ihc-therapies { grid-template-columns: 1fr; gap: 16px; } }


/* ---------- 4. Bizalomepito sav ---------- */
/* Nem full-width szines sav tobbe: a szekcio hattere atlatszo, es maga a racs
   lett a behuzott, lekerekitett panel. A :has() 0,2,0 specificitasa
   fuluti a .ihc-section--tint 0,1,0-jat, ezert nem kell !important. */
.ihc-section:has(> .ihc-wrap > .ihc-trust) {
  background: transparent;
  /* A felette/alatta levo terkoz felezve: a szomszed szekciok szomszedos
     paddingja is bele szamit, ezert azokat is itt hangoljuk. */
  padding-block: clamp(9px, 1vw, 15px) clamp(11px, 1.2vw, 18px);
}
/* felette: a terapiak szekcio also paddingja 66px -> 33px */
.ihc-section:has(> .ihc-wrap > .ihc-therapies) { padding-bottom: clamp(20px, 2.1vw, 33px); }
/* alatta: a kovetkezo szekcio felso paddingja 112px -> 56px */
.ihc-section:has(> .ihc-wrap > .ihc-trust) + .ihc-section { padding-top: clamp(32px, 4vw, 56px); }

.ihc-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  background: var(--ihc-surface);
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius-lg);
  padding-block: clamp(22px, 2.2vw, 32px);
  padding-inline: clamp(6px, .8vw, 12px);
}

.ihc-trust__item {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.1vw, 16px);
  padding-inline: clamp(14px, 1.7vw, 26px);
  min-width: 0;
}
.ihc-trust__item > .wp-block-group { min-width: 0; }

.ihc-trust__item .wp-block-image { margin: 0; flex: 0 0 auto; }
.ihc-trust__item .wp-block-image img {
  display: block;
  width: clamp(52px, 4.1vw, 62px);
  height: clamp(52px, 4.1vw, 62px);
  border-radius: 12px;
}

.ihc-trust__item h3 {
  margin: 0 0 5px;
  font-size: clamp(12.5px, 1vw, 14.5px);
  line-height: 1.2;
  font-weight: 700;
  color: var(--ihc-accent);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.ihc-trust__item p {
  margin: 0;
  font-size: clamp(12px, .95vw, 13.5px);
  line-height: 1.5;
  color: var(--ihc-muted);
}

/* Halvany szurke fuggoleges elvalaszto a blokkok kozott */
@media (min-width: 1081px) {
  .ihc-trust__item + .ihc-trust__item { border-inline-start: 1px solid var(--ihc-line); }
}

@media (max-width: 1080px) {
  .ihc-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 26px) 0;
    padding-inline: clamp(4px, 1vw, 10px);
  }
  .ihc-trust__item:nth-child(2n) { border-inline-start: 1px solid var(--ihc-line); }
}
@media (max-width: 520px) {
  .ihc-trust {
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: clamp(8px, 3vw, 14px);
    padding-inline: 0;
  }
  .ihc-trust__item {
    padding: 16px clamp(16px, 5vw, 22px);
    border-inline-start: 0 !important;
  }
  .ihc-trust__item + .ihc-trust__item { border-top: 1px solid var(--ihc-line); }
}


/* ---------- 5. Problema carousel ---------- */
/* A kartya maga a kep: a szoveg RAJTA ul, bal oldalon, egy lagy vilagos
   fatyolon, hogy barmilyen fotoval olvashato maradjon. */

.ihc-problem {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* A width:100% kotelezo: aspect-ratio + min-height egyutt kulonben a
     magassagbol szamolja vissza a szelesseget, es a kartya kilog a slotbol. */
  width: 100%;
  aspect-ratio: 1024 / 431;
  /* A kartya soha nem lehet olyan alacsony, hogy a szoveg kilogjon rola:
     keskeny kartyanal a min-height veszi at az aranyszam helyet. */
  min-height: 285px;
  border-radius: var(--ihc-radius-lg);
  padding-block: clamp(14px, 1.6vw, 22px);
  isolation: isolate;
}

.ihc-problem .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
}
.ihc-problem .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* Olvashatosagi fatyol balrol - visszafogott, hogy a kep pasztell
   szinei megmaradjanak. */
.ihc-problem::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, .82) 0%,
    rgba(255, 255, 255, .76) 30%,
    rgba(255, 255, 255, .46) 52%,
    rgba(255, 255, 255, 0)   72%);
}

.ihc-problem > :not(.wp-block-image) {
  position: relative;
  z-index: 2;
  /* A bal oldali lapozogomb savja (16px offset + 46px gomb) ala nem
     kerulhet szoveg, ezert a belso margo legalabb 74px. */
  width: min(44%, 250px);
  margin-inline-start: clamp(74px, 6.4vw, 88px);
}

.ihc-problem h3 {
  /* margin-block, nem shorthand: a shorthand nullazna a bal oldali
     belso margot, amit a .ihc-problem > :not(.wp-block-image) ad. */
  margin-block: 0 10px;
  font-size: clamp(17px, 1.7vw, 25px);
  line-height: 1.18;
  color: var(--ihc-deep);
}
.ihc-problem p:not(.ihc-link-p) {
  margin-block: 0 18px;
  font-size: clamp(11.5px, .9vw, 13px);
  line-height: 1.5;
  color: var(--ihc-muted);
  max-width: none;
}
.ihc-problem .ihc-link-p a {
  font-size: clamp(11px, .85vw, 12.5px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Mobil (<=767px): 1 kartya, a szoveg a kep also savjaban, teljes
   szelessegben. Ebben a savban a lapozogombok rejtve vannak, igy a
   szoveg nyugodtan kifuthat a kartya szeleig. */
@media (max-width: 767px) {
  .ihc-problem {
    aspect-ratio: 4 / 3;
    min-height: 0;
    justify-content: flex-end;
    border-radius: var(--ihc-radius);
  }
  .ihc-problem::after {
    background: linear-gradient(180deg,
      rgba(255, 255, 255, 0)   26%,
      rgba(255, 255, 255, .72) 48%,
      rgba(255, 255, 255, .94) 66%);
  }
  .ihc-problem > :not(.wp-block-image) {
    width: auto;
    margin-inline: 20px;
  }
  .ihc-problem > :last-child { margin-bottom: 14px; }
  .ihc-problem h3 { font-size: 21px; }
  .ihc-problem p:not(.ihc-link-p) { font-size: 13.5px; margin-block-end: 14px; }
  .ihc-problem .ihc-link-p a { font-size: 12.5px; }
}

/* Stackable carousel vezerlok a design rendszerhez igazitva */
.ihc-carousel .stk-block-carousel__button {
  box-shadow: 0 10px 30px rgba(2, 63, 85, .12);
}
.ihc-carousel .stk-block-carousel__dots { margin-top: clamp(28px, 3vw, 40px); }


/* ---------- 6. Rolunk ---------- */

.ihc-about {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.ihc-about__text > :first-child { margin-top: 0; }
.ihc-about__text h2 { margin: 0 0 20px; }
.ihc-about__text p  { color: var(--ihc-muted); line-height: 1.7; }

.ihc-about__media {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: auto auto;
  gap: clamp(12px, 1.4vw, 18px);
}
.ihc-about__media .wp-block-image { margin: 0; }
.ihc-about__media .wp-block-image img {
  display: block; width: 100%; height: 100%;
  object-fit: cover;
  border-radius: var(--ihc-radius);
}
.ihc-about__media .wp-block-image:first-child { grid-row: 1 / span 2; }
.ihc-about__media .wp-block-image:first-child img { aspect-ratio: 4 / 5; }
.ihc-about__media .wp-block-image:nth-child(2) img,
.ihc-about__media .wp-block-image:nth-child(3) img { aspect-ratio: 4 / 3; }

@media (max-width: 900px) {
  .ihc-about { grid-template-columns: 1fr; }
  .ihc-about__media { grid-template-columns: 1fr 1fr; }
  .ihc-about__media .wp-block-image:first-child { grid-row: auto; grid-column: 1 / -1; }
  .ihc-about__media .wp-block-image:first-child img { aspect-ratio: 16 / 10; }
}

/* ---------- 7. Lifestyle / performance sav ---------- */

.ihc-lifestyle.wp-block-cover {
  min-height: clamp(420px, 46vw, 560px);
  padding-block: clamp(56px, 7vw, 96px);
}
.ihc-lifestyle .ihc-lifestyle__inner {
  max-width: 680px;
  margin-inline: auto;
  text-align: center;
}
.ihc-lifestyle h2 {
  color: #fff;
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.1;
  margin: 0 0 18px;
}
.ihc-lifestyle p {
  color: rgba(255,255,255,.9);
  font-size: clamp(16px, 1.3vw, 19px);
  margin: 0 0 30px;
}
.ihc-lifestyle .ihc-btns { justify-content: center; }

/* ---------- 8. Vendegvelemenyek ---------- */
/* Kiemelt vendegidezetek (nem Google-ertekelesek): kisebb, tomorebb kartyak,
   vilagos petrol idezojel, nagyobb portre es csillagsor. */

.ihc-quotes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
  align-items: stretch;
}
.ihc-quote {
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  padding: clamp(18px, 1.8vw, 26px);
  box-shadow: 0 8px 24px rgba(2, 63, 85, .05);
  display: flex;
  flex-direction: column;
}

/* Az idezojel: a core/icon "99" glifjet 180 fokkal forgatva nyito idezojel
   lesz belole, vilagos petrol szinben. Az inline width miatt kell !important. */
.ihc-quote .wp-block-icon { margin: 0 0 12px; line-height: 0; }
.ihc-quote .wp-block-icon svg {
  width: 28px !important;
  height: auto;
  fill: #1B93A3;
  transform: rotate(180deg);
}

.ihc-quote > p {
  margin: 0 0 18px;
  color: var(--ihc-muted);
  font-style: italic;
  font-size: clamp(13px, 1.05vw, 14.5px);
  line-height: 1.62;
}

.ihc-quote__by.ihc-quote__by {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}
.ihc-quote__by .wp-block-image { margin: 0; flex: 0 0 auto; }
.ihc-quote__by .wp-block-image img {
  width: 52px; height: 52px;
  border-radius: 999px;
  object-fit: cover;
  display: block;
}
.ihc-quote__by p {
  margin: 0;
  font-weight: 600;
  font-size: clamp(13px, 1vw, 14.5px);
  color: var(--ihc-deep);
}
/* Csillagsor a sor jobb szelen */
.ihc-quote__by::after {
  content: "";
  margin-left: auto;
  flex: 0 0 auto;
  width: clamp(76px, 6.4vw, 92px);
  aspect-ratio: 126 / 24;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20126%2024%27%20fill%3D%27%23F2A81C%27%3E%3Cpath%20transform%3D%27translate%280%2C0%29%27%20d%3D%27M12%202.6l2.7%205.9%206.2.7-4.6%204.3%201.2%206.1L12%2016.6%206.5%2019.6l1.2-6.1L3.1%209.2l6.2-.7z%27%2F%3E%3Cpath%20transform%3D%27translate%2826%2C0%29%27%20d%3D%27M12%202.6l2.7%205.9%206.2.7-4.6%204.3%201.2%206.1L12%2016.6%206.5%2019.6l1.2-6.1L3.1%209.2l6.2-.7z%27%2F%3E%3Cpath%20transform%3D%27translate%2852%2C0%29%27%20d%3D%27M12%202.6l2.7%205.9%206.2.7-4.6%204.3%201.2%206.1L12%2016.6%206.5%2019.6l1.2-6.1L3.1%209.2l6.2-.7z%27%2F%3E%3Cpath%20transform%3D%27translate%2878%2C0%29%27%20d%3D%27M12%202.6l2.7%205.9%206.2.7-4.6%204.3%201.2%206.1L12%2016.6%206.5%2019.6l1.2-6.1L3.1%209.2l6.2-.7z%27%2F%3E%3Cpath%20transform%3D%27translate%28104%2C0%29%27%20d%3D%27M12%202.6l2.7%205.9%206.2.7-4.6%204.3%201.2%206.1L12%2016.6%206.5%2019.6l1.2-6.1L3.1%209.2l6.2-.7z%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}

@media (max-width: 900px) { .ihc-quotes { grid-template-columns: 1fr; } }
@media (max-width: 420px) {
  .ihc-quote__by { flex-wrap: wrap; }
  .ihc-quote__by::after { margin-left: 0; width: 84px; }
}

/* Google ertekelesek helye: keszen all a beagyazasra */
.ihc-reviews-slot {
  margin-top: clamp(32px, 4vw, 48px);
  border: 1px dashed var(--ihc-line);
  border-radius: var(--ihc-radius);
  padding: clamp(20px, 2.4vw, 32px);
  text-align: center;
  background: #fff;
}
.ihc-reviews-slot p { margin: 0 0 10px; color: var(--ihc-muted); font-size: 15px; }
.ihc-reviews-slot p:last-child { margin-bottom: 0; }


/* ---------- 9. Ajandekutalvany ---------- */

.ihc-cta-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-auto-rows: minmax(230px, auto); gap: clamp(16px, 1.8vw, 26px); align-items: stretch; }
.ihc-cta-row > * { margin-block: 0; }
.ihc-voucher { position: relative; display: grid; grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr); gap: 0; align-items: stretch; min-height: 230px; padding: 0; overflow: hidden; border-radius: var(--ihc-radius-lg); background: linear-gradient(118deg,#023F55 0%,#07808F 58%,#0BA394 100%); background-size: cover; background-position: center; color: #fff; }
.ihc-voucher > *, .ihc-voucher__text > * { margin-block: 0; }
.ihc-voucher .wp-block-image { margin: 0; position: relative; align-self: stretch; min-width: 0; min-height: 0; overflow: hidden; }
.ihc-voucher .wp-block-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none; padding: clamp(14px,1.4vw,22px); aspect-ratio: auto; object-fit: contain; object-position: center; border-radius: 0; filter: drop-shadow(0 14px 26px rgba(0,0,0,.22)); }
.ihc-voucher__text { display: flex; flex-direction: column; justify-content: center; padding: clamp(20px,2vw,30px) clamp(20px,2.2vw,34px); }
.ihc-voucher h2 { color:#fff; margin:0 0 10px; font-size: clamp(17px,1.5vw,23px); line-height:1.15; text-transform:uppercase; letter-spacing:.01em; overflow-wrap:normal; text-wrap:balance; }
.ihc-voucher p { color: rgba(255,255,255,.92); margin:0 0 18px; font-size: clamp(13px,.98vw,15px); line-height:1.5; max-width:46ch; }
.ihc-voucher .wp-block-button__link { background:#fff; color:var(--ihc-deep); min-height:42px; padding:10px 24px; font-size:13px; }
.ihc-contact-card { display: grid; grid-template-columns: minmax(0,0.56fr) minmax(0,0.44fr); align-items: stretch; min-height: 230px; background: var(--ihc-surface); border-radius: var(--ihc-radius-lg); overflow: hidden; }
.ihc-contact-card > *, .ihc-contact-card__info > * { margin-block: 0; }
.ihc-contact-card__info { display:flex; flex-direction:column; justify-content:center; padding: clamp(20px,2vw,30px) clamp(20px,2.2vw,32px); }
.ihc-contact-card__info h2 { margin:0 0 16px; color:var(--ihc-accent); font-size: clamp(16px,1.35vw,21px); line-height:1.2; text-transform:uppercase; letter-spacing:.05em; }
.ihc-contact-card .ihc-contact__list { list-style:none; margin:0; padding:0; }
.ihc-contact-card .ihc-contact__list li { position:relative; padding:0 0 0 28px; margin:0 0 11px; border:0; font-size: clamp(13px,.95vw,15px); line-height:1.45; color:var(--ihc-ink); }
.ihc-contact-card .ihc-contact__list li:last-child { margin-bottom:0; }
.ihc-contact-card .ihc-contact__list li::before { content:""; position:absolute; left:0; top:1px; width:17px; height:17px; background:#07808F; border-radius:3px; }
.ihc-contact-card .ihc-contact__list a { color:var(--ihc-ink); text-decoration:none; border-bottom:1px solid var(--ihc-line); }
.ihc-contact-card .ihc-map { position: relative; }
.ihc-contact-card .ihc-map .stk-block-map { position:absolute; inset:0; width:auto; height:auto; }
.ihc-contact-card .ihc-map iframe { width:100%; height:100%!important; min-height:0; border:0; border-radius:0; display:block; }
@media (max-width:1100px){ .ihc-cta-row{grid-template-columns:1fr;grid-auto-rows:minmax(240px,auto)} }
@media (max-width:680px){ .ihc-cta-row{grid-auto-rows:auto} }
@media (max-width:680px){ .ihc-voucher,.ihc-contact-card{grid-template-columns:1fr;min-height:0} .ihc-voucher .wp-block-image{padding:18px} .ihc-voucher .wp-block-image{height:200px} .ihc-contact-card .ihc-map{position:static} .ihc-contact-card .ihc-map .stk-block-map{position:static;width:100%;height:250px} .ihc-contact-card .ihc-map iframe{height:250px!important} }


/* ---------- 12. Lablec ---------- */
/* A lablec Blocksy footer-builderrel keszult: middle-row = 4 widgetterulet,
   bottom-row = copyright. Itt csak a widgetek belso megjelenese van. */

/* --- 1. oszlop: logo + rovid marka szoveg + kozossegi ikonok --- */
footer.ct-footer .ihc-flogo { margin: 0 0 16px; }
footer.ct-footer .ihc-flogo img {
  width: 100%;
  max-width: 210px;
  height: auto;
  display: block;
}
footer.ct-footer .ihc-fbrand {
  margin: 0 0 22px;
  max-width: 32ch;
  color: rgba(255, 255, 255, .78);
  font-size: 14px;
  line-height: 1.6;
}

/* Kozossegi ikonok: feher korok, sotet petrol jellel */
footer.ct-footer .ihc-fsocial { gap: 10px; margin: 0; padding: 0; }
footer.ct-footer .ihc-fsocial.ihc-fsocial .wp-block-social-link {
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  background-color: #fff;
  color: var(--ihc-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, background-color .18s ease;
}
footer.ct-footer .ihc-fsocial .wp-block-social-link-anchor {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer.ct-footer .ihc-fsocial .wp-block-social-link-anchor svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}
footer.ct-footer .ihc-fsocial.ihc-fsocial .wp-block-social-link:hover { transform: translateY(-2px); }
footer.ct-footer .ihc-fsocial .wp-block-social-link-anchor:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  border-radius: 999px;
}

/* --- 2-4. oszlop: cim + linklista --- */
footer.ct-footer .ihc-fcol__title {
  margin: 0 0 16px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #fff;
}
footer.ct-footer .ihc-flist {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Footer linklista: felere csokkentett sorkoz (2026-08-28).
   A li sajat font-size/line-height-ot kap, kulonben a temaból orokolt
   nagyobb sormagassag adja a terkoz nagy reszet. */
footer.ct-footer .ihc-flist li {
  margin: 0 0 10px;
  font-size: 14.5px;
  line-height: 1.45;
}
footer.ct-footer .ihc-flist li:last-child { margin-bottom: 0; }
footer.ct-footer .ihc-flist a {
  color: rgba(255, 255, 255, .82);
  text-decoration: none;
  font-size: 14.5px;
  line-height: 1.45;
  border-bottom: 1px solid transparent;
  transition: color .18s ease, border-color .18s ease;
}
footer.ct-footer .ihc-flist a:hover {
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, .55);
}
footer.ct-footer .ihc-flist a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-radius: 4px;
}

/* --- Also sav: jogi linkek, copyright, kisebb disclaimer --- */
footer.ct-footer .ihc-flegal {
  margin: 0 0 10px;
  font-size: 13.5px;
}
footer.ct-footer .ihc-flegal a {
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
}
footer.ct-footer .ihc-flegal a:hover { color: #fff; border-bottom-color: #fff; }
footer.ct-footer .ihc-flegal span { color: rgba(255, 255, 255, .45); padding: 0 8px; }

footer.ct-footer .ihc-fcopy {
  margin: 0 0 12px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, .78);
}
footer.ct-footer .ihc-fcopy a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
footer.ct-footer .ihc-fcopy a:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, .5); }

/* A jogi kizaro nyilatkozat: jol lathato, de vizualisan a legkisebb suly */
footer.ct-footer .ihc-fdisclaimer {
  margin: 0;
  max-width: 92ch;
  margin-inline: auto;
  font-size: 11.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .55);
}

@media (max-width: 999px) {
  footer.ct-footer .ihc-flogo img { max-width: 180px; }
  footer.ct-footer .ihc-fbrand { max-width: none; }
}
@media (max-width: 690px) {
  footer.ct-footer .ihc-fcol__title { margin-bottom: 12px; }
  footer.ct-footer .ihc-fdisclaimer { font-size: 11px; }
}


/* ---------- 13. Rogzitett mobil bejelentkezes gomb ---------- */

.ihc-mcta {
  display: none;
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 400;
  padding: 10px clamp(14px, 4vw, 20px);
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-top: 1px solid var(--ihc-line);
}
.ihc-mcta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 54px;
  border-radius: 999px;
  background: var(--ihc-accent);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: .03em;
  text-decoration: none;
  padding: 12px 24px;
}
.ihc-mcta__btn:hover, .ihc-mcta__btn:focus-visible { background: var(--ihc-accent-2); color: #fff; }

@media (max-width: 1000px) {
  .ihc-mcta { display: block; }
  /* A tartalom vege ne kerüljon a rogzitett gomb ala */
  body.ihc-has-mcta { padding-bottom: calc(var(--ihc-mcta-h) + env(safe-area-inset-bottom, 0px)); }
  /* A Blocksy "vissza a tetejere" gomb se csusszon a CTA ala */
  body.ihc-has-mcta .ct-back-to-top { bottom: calc(var(--ihc-mcta-h) + 16px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- 14. Altalanos vedelem a vizszintes gorgetes ellen ---------- */

.ihc-section img,
.ihc-section iframe { max-width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .ihc-link::after { transition: none; }
}


/* ---------- 16. Terapiak megamenu (Max Mega Menu) ---------- */
/* A panel a Max Mega Menu grid-jere epul: 1. sor ket fejlec, 2. sor ot terapia
   oszlop + a blog oszlop. Minden elem widget vagy menupont, tehat a
   Megjelenes > Menuk > Mega Menu feluleten szerkesztheto. */

/* A panel maga atlatszo, teljes szelessegu reteg marad (a pozicionalast a
   pluginre hagyjuk, igy a sticky fejlec es a tema szerkezete serulten marad).
   A lathato feher kartya a ket sor: oldalszelessegre (max 1320px) fogva es
   kozepre rendezve. Az arnyekot a panelre tett drop-shadow adja, mert az a
   ket sor tenyleges alakjat koveti, nem a lathatatlan reteget. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 > .mega-sub-menu {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px 0 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 16px 36px rgba(2, 63, 85, .14));
}

#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 > ul.mega-sub-menu > li.mega-menu-row {
  width: min(1320px, calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  float: none;
  background: #fff;
  border-left: 1px solid #E6ECEE;
  border-right: 1px solid #E6ECEE;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 > ul.mega-sub-menu > li.mega-menu-row:first-child {
  border-top: 1px solid #E6ECEE;
  border-radius: 18px 18px 0 0;
  padding: clamp(24px, 2.4vw, 36px) clamp(24px, 2.6vw, 40px) 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 > ul.mega-sub-menu > li.mega-menu-row:last-child {
  border-bottom: 1px solid #E6ECEE;
  border-radius: 0 0 18px 18px;
  padding: 0 clamp(24px, 2.6vw, 40px) clamp(24px, 2.4vw, 36px);
}

/* A Max Mega Menu sajat racsa float-tal dolgozik es minden oszlopon beluli
   elemre paddinget tesz; ezt itt oltjuk ki. Harom ID kell hozza, mert a
   plugin szabalyai ket ID-sek. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
  float: none;
  clear: none;
  width: 100%;
  padding: 0;
  vertical-align: baseline;
  text-align: inherit;
}

/* A ket sor azonos oszlopszerkezete: az utolso oszlop fix szelessegu,
   igy a "Legfrissebb cikkeink" fejlec pontosan a bloglista fole kerul. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-row > .mega-sub-menu {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(16px, 1.6vw, 24px);
  align-items: stretch;
  max-width: none;
  margin: 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-column {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-row > .mega-sub-menu > .mega-menu-column:last-child {
  flex: 0 0 clamp(280px, 24vw, 340px);
  border-left: 1px solid #E6ECEE;
  padding-left: clamp(20px, 2vw, 30px);
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-headrow > .mega-sub-menu > .mega-menu-column:last-child {
  border-left: 1px solid transparent;
}

/* --- Fejlecek --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(18px, 1.8vw, 26px);
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ihc-ink);
  line-height: 1.2;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-head img {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  display: block;
}
/* rovid turkiz vonal a bal oldali fejlec ikonja alatt */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-headrow > .mega-sub-menu > .mega-menu-column:first-child .ihc-mm-head {
  position: relative;
  padding-bottom: 14px;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-headrow > .mega-sub-menu > .mega-menu-column:first-child .ihc-mm-head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  background: var(--ihc-accent);
  border-radius: 2px;
}

/* --- Terapia oszlopok --- */
/* A "Reszletek" linkek egy vonalban alljanak, barmilyen hosszu is a szoveg:
   az oszlop tartalma flex oszlop, a link automatikus felso margoval az aljara ul. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-bodyrow .mega-menu-column:not(:last-child) > .mega-sub-menu { text-align: center; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-bodyrow .mega-menu-column:last-child > .mega-sub-menu { text-align: left; }

/* Nyitott allapotban a fomenupont is turkiz */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896.mega-toggle-on > .mega-menu-link { color: var(--ihc-accent); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .widget_media_image { margin: 0 0 16px; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .widget_media_image img {
  width: clamp(60px, 5vw, 74px);
  height: auto;
  margin: 0 auto;
  display: block;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-bodyrow .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
  display: block;
  padding: 0;
  margin: 0 0 10px;
  font-size: clamp(14px, 1.15vw, 16.5px);
  font-weight: 600;
  line-height: 1.25;
  color: var(--ihc-ink);
  text-decoration: none;
  background: none;
  text-transform: none;
  text-align: center;
  /* ket sornyi hely a cimnek es haromnyi a leirasnak, hogy a "Reszletek"
     linkek oszloponkent egy vonalba essenek */
  min-height: 2.5em;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-bodyrow .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover {
  color: var(--ihc-accent);
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-desc {
  margin: 0 0 14px;
  min-height: 4.5em;
  font-size: clamp(12px, .95vw, 13.5px);
  line-height: 1.5;
  color: var(--ihc-muted);
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-more { margin: 0; }

#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-more a {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  font-size: clamp(12px, .95vw, 13.5px);
  font-weight: 600;
  color: var(--ihc-accent);
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-more a::after { content: "\2192"; transition: transform .18s ease; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-more a:hover::after { transform: translateX(3px); }

/* --- Blog oszlop --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post-template {
  list-style: none;
  margin: 0;
  padding: 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post {
  position: relative;
  padding: 0 0 14px 34px;
  margin: 0 0 14px;
  border-bottom: 1px solid #EDF1F2;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post:last-child {
  border-bottom: 0;
  margin-bottom: 18px;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2028%2028%27%3E%3Ccircle%20cx%3D%2714%27%20cy%3D%2714%27%20r%3D%2714%27%20fill%3D%27%23EDF3F5%27%2F%3E%3Cpath%20d%3D%27M12%209l5%205-5%205%27%20fill%3D%27none%27%20stroke%3D%27%230F7B8A%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post-title {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post-title a {
  color: var(--ihc-ink);
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-post-title a:hover { color: var(--ihc-accent); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-read-more {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ihc-accent);
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-read-more::after { content: "\2192"; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-posts .wp-block-read-more .screen-reader-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
}

#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-allbtn { margin: 0; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-allbtn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: 12px 22px;
  border-radius: 999px;
  background: transparent;
  color: var(--ihc-accent);
  box-shadow: inset 0 0 0 1px var(--ihc-accent);
  border: 0;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .ihc-mm-allbtn .wp-block-button__link:hover {
  background: var(--ihc-accent);
  color: #fff;
}

/* Tablet / mobil: a plugin sajat mobil menuje veszi at, itt csak a tordelest
   engedjuk el, hogy semmi ne logjon ki. */
@media (max-width: 1100px) {
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-row > .mega-sub-menu { flex-wrap: wrap; }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-column { flex: 1 1 160px; }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-896 .mega-menu-row > .mega-sub-menu > .mega-menu-column:last-child {
    flex: 1 1 100%;
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid #E6ECEE;
    padding-top: 20px;
    margin-top: 8px;
  }
}


/* ---------- 17. Hatekonysag megamenu (Max Mega Menu) ---------- */
/* Ugyanaz a logika, mint a Terapiak menunel: a panel atlatszo teljes szelessegu
   reteg, a lathato feher kartya a ket sor (oldalszelessegre fogva, kozepen).
   Harom ID-s prefix kell, mert a plugin szabalyai ket ID-sek. */

#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 > .mega-sub-menu {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 10px 0 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 16px 36px rgba(2, 63, 85, .14));
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 > ul.mega-sub-menu > li.mega-menu-row {
  width: min(1320px, calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  float: none;
  background: #fff;
  border-left: 1px solid #E6ECEE;
  border-right: 1px solid #E6ECEE;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 > ul.mega-sub-menu > li.mega-menu-row:first-child {
  border-top: 1px solid #E6ECEE;
  border-radius: 18px 18px 0 0;
  padding: clamp(18px, 1.8vw, 26px) clamp(22px, 2.4vw, 32px) 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 > ul.mega-sub-menu > li.mega-menu-row:last-child {
  border-bottom: 1px solid #E6ECEE;
  border-radius: 0 0 18px 18px;
  padding: clamp(14px, 1.4vw, 20px) clamp(22px, 2.4vw, 32px) clamp(18px, 1.8vw, 26px);
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
  float: none;
  clear: none;
  width: 100%;
  padding: 0;
  vertical-align: baseline;
  text-align: inherit;
}

/* --- A fo racs: 4 problema-oszlop + az ajandekkartya sav --- */
/* A fejlec az elso sor bal oldalat, az ajandekkartya a jobb oldalt tolti ki
   mind a harom soron at; a 8 elem automatikusan a 2. es 3. sorba kerul. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu {
  --ihc-hm-giftw: clamp(300px, 25vw, 372px);
  --ihc-hm-giftgap: clamp(20px, 2vw, 32px);
  position: relative;                 /* az ajandekkartya befoglaloja */
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 0;
  row-gap: clamp(10px, 1.1vw, 16px);
  /* jobb oldalt helyet hagyunk az abszolut pozicionalt ajandekkartyanak, igy
     az soha nem tudja szetfesziteni az elemsorokat */
  padding: 0 calc(var(--ihc-hm-giftw) + var(--ihc-hm-giftgap)) clamp(12px, 1.4vw, 20px) 0;
  max-width: none;
  margin: 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column {
  width: auto !important;
  min-width: 0;
  float: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(1) {
  grid-column: 1 / -1;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(2) {
  /* kivesszuk a racsbol: abszolut, a mainrow ul-hez kepest. Igy a kartya
     magassaga sosem hat vissza az elemsorokra, viszont vegig kitolti a savot. */
  position: absolute !important;
  top: 0;
  right: 0;
  bottom: 0;
  width: var(--ihc-hm-giftw) !important;
  padding-left: var(--ihc-hm-giftgap);
  border-left: 1px solid #EDF1F2;
  display: flex;
  min-height: 0;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(2) > ul.mega-sub-menu,
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(2) > ul.mega-sub-menu > li.mega-menu-item {
  position: static !important;
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}
/* a 8 elem oszlopa */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(n+3),
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(n+3) > ul.mega-sub-menu {
  padding-inline: clamp(6px, .8vw, 12px);
  text-align: center;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(n+3) > ul.mega-sub-menu { padding-inline: 0; }
/* halvany elvalaszto a masodik elemsor felett (a nulla oszlopkoz miatt folytonos) */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(n+7) {
  border-top: 1px solid #EDF1F2;
  padding-top: clamp(14px, 1.5vw, 20px);
}

/* --- Fejlec --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-mm-head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding-bottom: 12px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ihc-accent);
  line-height: 1.2;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-mm-head img { width: 26px; height: 26px; flex: 0 0 auto; display: block; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-mm-head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  background: var(--ihc-accent);
  border-radius: 2px;
}

/* --- Elemek --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .widget_media_image { margin: 0 0 10px; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .widget_media_image img {
  width: clamp(56px, 4.6vw, 68px);
  height: auto;
  margin: 0 auto;
  display: block;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
  display: block;
  padding: 0;
  margin: 0 0 8px;
  font-size: clamp(11.5px, .95vw, 13.5px);
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--ihc-ink);
  text-decoration: none;
  background: none;
  text-align: center;
  min-height: 2.4em;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link:hover { color: var(--ihc-accent); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-more { margin: 0; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-more a {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  font-size: clamp(12px, .95vw, 13.5px);
  color: var(--ihc-accent);
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-more a::after { content: "\2192"; transition: transform .18s ease; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-more a:hover::after { transform: translateX(3px); }

/* --- Ajandekkartya --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  padding: clamp(20px, 2vw, 28px);
  color: #fff;
  background-color: #0B6E7F;
  background-image: linear-gradient(135deg, rgba(11,110,127,.35) 0%, rgba(2,63,85,.55) 100%);
  background-size: cover;
  background-position: center;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 clamp(12px, 1.4vw, 18px);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #fff;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__eyebrow img { width: 24px; height: 24px; flex: 0 0 auto; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__title {
  margin: 0 0 10px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.15;
  font-weight: 700;
  color: #fff;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__lead {
  margin: 0 0 clamp(8px, 1vw, 14px);
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.5;
  color: rgba(255, 255, 255, .92);
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card {
  margin: 0 clamp(-24px, -1.4vw, -8px);
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 16px 26px rgba(0, 0, 0, .28));
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns { margin-top: auto; padding-top: clamp(10px, 1.2vw, 16px); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns .wp-block-button { width: 100%; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  width: 100%;
  min-height: 48px;
  padding: 13px 24px;
  border-radius: 999px;
  background: #fff;
  color: var(--ihc-deep);
  border: 0;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns .wp-block-button__link::after { content: "\2192"; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns .wp-block-button__link:hover { background: rgba(255, 255, 255, .88); color: var(--ihc-deep); }

/* --- Also segito sav --- */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-footrow > ul.mega-sub-menu { display: block; max-width: none; margin: 0; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-footrow .mega-menu-column { width: 100% !important; float: none; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help {
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.2vw, 16px);
  margin: 0;
  background: #F5F8F9;
  border: 1px solid #EDF1F2;
  border-radius: 14px;
  padding: clamp(12px, 1.3vw, 18px) clamp(16px, 1.8vw, 26px);
  flex-wrap: wrap;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help img { width: 30px; height: 30px; flex: 0 0 auto; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help strong { font-size: clamp(14px, 1.15vw, 16px); color: var(--ihc-deep); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help span { font-size: clamp(13px, 1.05vw, 15px); color: var(--ihc-muted); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help a {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ihc-accent);
  text-decoration: none;
}
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help a::after { content: "\2192"; }

/* --- Kisebb kepernyo --- */
@media (max-width: 1100px) {
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 20px;
  }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(1) { grid-column: 1 / -1; grid-row: auto; }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu { padding-right: 0; }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(2) {
    position: static !important;
    width: auto;
    grid-column: 1 / -1;
    order: 9;
    border-left: 0;
    padding-left: 0;
    min-height: 320px;
  }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-mainrow > ul.mega-sub-menu > .mega-menu-column:nth-child(n+7) { border-top: 0; padding-top: 0; }
  #mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-help a { margin-left: 0; }
}


/* ---------- 18. Galeria oldal ---------- */
/* Egyszeru masonry: a kepek eredeti keparanyukkal, oszlopokba rendezve.
   A valtozatos keparanyok adjak a "random" hatast. Kattintasra a sajat,
   fuggosegmentes lightbox nyilik (imagine-2026.js), amiben lapozni lehet. */

.ihc-gallery.wp-block-gallery {
  display: block;
  columns: 4;
  column-gap: clamp(10px, 1.1vw, 16px);
  margin: 0;
  gap: 0;
}
.ihc-gallery.wp-block-gallery > figure.wp-block-image {
  display: block;
  width: auto !important;
  max-width: none;
  margin: 0 0 clamp(10px, 1.1vw, 16px);
  break-inside: avoid;
  page-break-inside: avoid;
}
.ihc-gallery.wp-block-gallery figure.wp-block-image > a {
  display: block;
  cursor: zoom-in;
  border-radius: 14px;
  overflow: hidden;
}
.ihc-gallery.wp-block-gallery figure.wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  border-radius: 14px;
  transition: transform .35s ease;
}
.ihc-gallery.wp-block-gallery figure.wp-block-image a:hover img { transform: scale(1.03); }
.ihc-gallery.wp-block-gallery figure.wp-block-image a:focus-visible {
  outline: 3px solid var(--ihc-accent);
  outline-offset: 3px;
}
.ihc-gallery.wp-block-gallery figure.wp-block-image figcaption {
  margin: 8px 2px 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ihc-muted);
  background: none;
  position: static;
  padding: 0;
}

@media (max-width: 1100px) { .ihc-gallery.wp-block-gallery { columns: 3; } }
@media (max-width: 760px)  { .ihc-gallery.wp-block-gallery { columns: 2; } }
@media (max-width: 480px)  { .ihc-gallery.wp-block-gallery { columns: 1; } }

/* ---------- Lightbox ---------- */
html.ihc-lb-open { overflow: hidden; }
.ihc-lb {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(2, 20, 26, .93);
  padding: clamp(16px, 4vw, 56px);
}
.ihc-lb.is-open { display: flex; }
.ihc-lb__fig {
  margin: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.ihc-lb__img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100vh - clamp(110px, 16vh, 180px));
  border-radius: 10px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
}
.ihc-lb__cap { margin: 0; color: rgba(255, 255, 255, .85); font-size: 14px; text-align: center; }
.ihc-lb__count {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(12px, 2vw, 22px);
  margin: 0;
  text-align: center;
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
  letter-spacing: .06em;
}
.ihc-lb__close,
.ihc-lb__nav {
  position: absolute;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background-color .18s ease;
}
.ihc-lb__close:hover,
.ihc-lb__nav:hover { background: rgba(255, 255, 255, .28); }
.ihc-lb__close:focus-visible,
.ihc-lb__nav:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ihc-lb__close {
  top: clamp(10px, 2vw, 20px);
  right: clamp(10px, 2vw, 20px);
  width: 46px;
  height: 46px;
  font-size: 28px;
}
.ihc-lb__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  font-size: 20px;
}
.ihc-lb__nav--prev { left: clamp(8px, 2vw, 24px); }
.ihc-lb__nav--next { right: clamp(8px, 2vw, 24px); }
.ihc-lb__nav[hidden] { display: none; }

@media (max-width: 640px) {
  .ihc-lb__nav { width: 42px; height: 42px; font-size: 17px; }
  .ihc-lb__close { width: 40px; height: 40px; font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .ihc-gallery.wp-block-gallery figure.wp-block-image img { transition: none; }
  .ihc-gallery.wp-block-gallery figure.wp-block-image a:hover img { transform: none; }
}


/* ---------- 19. Terapia aloldal sablon (.ihc-tp-*) ---------- */
/* Ujrahasznalhato: barmelyik terapia-aloldalon ugyanezek az osztalyok
   mukodnek, csak a szoveg es a kepek cserelodnek a szerkesztoben. */

.ihc-tp-hero,
.ihc-tp-cta,
.ihc-tp-book { overflow-x: clip; }

/* --- 1. Hero --- */
.ihc-tp-hero {
  background: linear-gradient(180deg, #F8FAFB 0%, #EDF3F5 100%);
  padding-block: clamp(32px, 3.6vw, 60px) 0;
}
.ihc-tp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
}
.ihc-tp-hero__text.ihc-tp-hero__text > * { margin-block-start: 0; }
.ihc-tp-hero__text h1 {
  margin: 0 0 16px;
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.08;
  color: var(--ihc-deep);
}
.ihc-tp-hero__text .ihc-lead { margin: 0 0 26px; }
.ihc-tp-hero__text .ihc-btns { margin: 0 0 clamp(28px, 3.4vw, 44px); }
.ihc-tp-hero__text .wp-block-button__link { text-transform: uppercase; letter-spacing: .04em; }

/* A hero kep jobbra kifut a kepernyo szeleig. A szekcio overflow-x: clip-je
   fogja meg, igy nem keletkezik vizszintes gorgetes. */
.ihc-tp-hero__media {
  min-width: 0;
  justify-self: start;
  width: calc(100% + max(0px, (100vw - 1320px) / 2) + clamp(20px, 4vw, 40px));
}
.ihc-tp-hero__media .wp-block-image { margin: 0; }
.ihc-tp-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0;
}

/* Kiemelt mini kartyak a hero also savjaban */
.ihc-tp-mini {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.1vw, 16px);
  position: relative;
  z-index: 2;
  padding-bottom: clamp(28px, 3.4vw, 48px);
}
.ihc-tp-mini__item {
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  padding: clamp(14px, 1.4vw, 20px);
  box-shadow: 0 8px 24px rgba(2, 63, 85, .06);
}
.ihc-tp-mini__item.ihc-tp-mini__item > * { margin-block-start: 0; }
.ihc-tp-mini__item h3 { margin: 0 0 6px; font-size: clamp(13px, 1.05vw, 15px); color: var(--ihc-ink); }
.ihc-tp-mini__item p { margin: 0; font-size: clamp(11.5px, .9vw, 13px); line-height: 1.5; color: var(--ihc-muted); }

/* --- Ikon helyorzo (a vegleges ikonokat a szerkesztoben lehet cserelni) --- */
.ihc-tp-icon { margin: 0 0 12px; }
.ihc-tp-icon img {
  display: block;
  width: clamp(34px, 3vw, 44px);
  height: auto;
  border-radius: 0;
}
.ihc-tp-icon--sm img { width: clamp(26px, 2.2vw, 32px); }

/* --- 2. Bemutato sav (szoveg + kep) --- */
.ihc-tp-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.ihc-tp-split__text.ihc-tp-split__text > * { margin-block-start: 0; }
.ihc-tp-split__text h2 { margin: 0 0 18px; font-size: clamp(24px, 2.4vw, 34px); color: var(--ihc-deep); }
.ihc-tp-split__text p { margin: 0 0 16px; color: var(--ihc-muted); line-height: 1.7; }
.ihc-tp-split__text .ihc-btns { margin-top: 10px; }
.ihc-tp-split__text .wp-block-button__link { text-transform: uppercase; letter-spacing: .04em; }
.ihc-tp-split__media .wp-block-image { margin: 0; }
.ihc-tp-split__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: var(--ihc-radius-lg);
}

/* --- Kartyaracsok (elonyok, kinek ajanlott) --- */
.ihc-tp-cards { display: grid; gap: clamp(12px, 1.3vw, 18px); align-items: stretch; }
.ihc-tp-cards--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ihc-tp-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ihc-tp-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  padding: clamp(18px, 1.8vw, 26px);
  box-shadow: 0 8px 24px rgba(2, 63, 85, .05);
}
.ihc-tp-card.ihc-tp-card > * { margin-block-start: 0; }
.ihc-tp-card h3 { margin: 0 0 8px; font-size: clamp(13px, 1.1vw, 15.5px); color: var(--ihc-ink); }
.ihc-tp-card p { margin: 0; font-size: clamp(12px, .95vw, 13.5px); line-height: 1.55; color: var(--ihc-muted); }
/* A fo elonyoknel balra zart, a "kinek ajanlott" savban kozepre zart kartyak. */
.ihc-tp-who .ihc-tp-card { align-items: center; text-align: center; }

/* --- 4. Vilagos petrol CTA sav --- */
.ihc-tp-cta {
  background: linear-gradient(135deg, #0B6E7F 0%, #1191A8 100%);
  padding-block: clamp(28px, 3.2vw, 44px);
}
.ihc-tp-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 2.4vw, 36px);
  flex-wrap: wrap;
}
.ihc-tp-cta h2 { margin: 0; color: #fff; font-size: clamp(20px, 2vw, 30px); line-height: 1.28; }
.ihc-tp-cta__btn { margin: 0; }

/* Feher pirula gomb a szines savokon */
.ihc-tp-cta .wp-block-button__link,
.ihc-tp-book .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  background: #fff;
  color: var(--ihc-deep);
  border: 0;
  border-radius: 999px;
  padding: 14px 28px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
}
.ihc-tp-cta .wp-block-button__link::after,
.ihc-tp-book .wp-block-button__link::after { content: "\2192"; }
.ihc-tp-cta .wp-block-button__link:hover,
.ihc-tp-book .wp-block-button__link:hover { background: rgba(255, 255, 255, .88); color: var(--ihc-deep); }

/* --- 6. Lepesek --- */
.ihc-tp-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius-lg);
  padding: clamp(24px, 3vw, 44px) clamp(20px, 2.6vw, 40px);
}
/* Osszekoto vonal a sorszamok magassagaban, a szamok mogott. */
.ihc-tp-steps::before {
  content: "";
  position: absolute;
  left: 17%;
  right: 17%;
  top: calc(clamp(24px, 3vw, 44px) + 17px);
  height: 1px;
  background: var(--ihc-line);
}
.ihc-tp-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ihc-tp-step.ihc-tp-step > * { margin-block-start: 0; }
.ihc-tp-step__num {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: var(--ihc-accent);
  box-shadow: 0 0 0 8px #fff;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.ihc-tp-step .ihc-tp-icon img { width: clamp(38px, 3.4vw, 50px); margin-inline: auto; }
.ihc-tp-step h3 { margin: 0 0 8px; font-size: clamp(14px, 1.2vw, 17px); color: var(--ihc-ink); }
.ihc-tp-step p { margin: 0; max-width: 34ch; font-size: clamp(12px, 1vw, 14px); line-height: 1.6; color: var(--ihc-muted); }

/* --- 7. Ellenjavallatok + GYIK --- */
.ihc-tp-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 32px);
  align-items: start;
}
.ihc-tp-panel {
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius-lg);
  padding: clamp(22px, 2.6vw, 36px);
}
.ihc-tp-panel.ihc-tp-panel > * { margin-block-start: 0; }
.ihc-tp-panel h2 { margin: 0 0 20px; font-size: clamp(20px, 1.9vw, 27px); color: var(--ihc-deep); }

.ihc-tp-list { margin: 0; padding-left: 0; list-style: none; }
.ihc-tp-list li {
  position: relative;
  margin: 0 0 12px;
  padding-left: 26px;
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.55;
  color: var(--ihc-muted);
}
.ihc-tp-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--ihc-accent);
}
.ihc-tp-note { margin: 20px 0 0; font-size: clamp(12px, .95vw, 13.5px); line-height: 1.55; color: var(--ihc-muted); }

/* GYIK: core/details blokkok sajat nyilas kapcsoloval */
.ihc-tp-faq .wp-block-details {
  margin: 0 0 10px;
  background: var(--ihc-surface);
  border: 1px solid var(--ihc-line);
  border-radius: 12px;
}
.ihc-tp-faq .wp-block-details:last-child { margin-bottom: 0; }
.ihc-tp-faq .wp-block-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px clamp(14px, 1.4vw, 20px);
  list-style: none;
  cursor: pointer;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 600;
  color: var(--ihc-ink);
}
.ihc-tp-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ihc-tp-faq .wp-block-details summary::after {
  content: "";
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--ihc-accent);
  border-bottom: 2px solid var(--ihc-accent);
  transform: translateY(-3px) rotate(45deg);
  transition: transform .2s ease;
}
.ihc-tp-faq .wp-block-details[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.ihc-tp-faq .wp-block-details summary:focus-visible { outline: 2px solid var(--ihc-accent); outline-offset: 2px; border-radius: 12px; }
.ihc-tp-faq .wp-block-details p {
  margin: 0;
  padding: 0 clamp(14px, 1.4vw, 20px) 16px;
  font-size: clamp(12.5px, 1vw, 14px);
  line-height: 1.6;
  color: var(--ihc-muted);
}

/* --- 8. Idopontfoglalas sav --- */
.ihc-tp-book { padding-block: clamp(24px, 3vw, 44px); }
.ihc-tp-book__inner {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 32px);
  flex-wrap: wrap;
  background: linear-gradient(135deg, #06566A 0%, #0B7F94 100%);
  border-radius: var(--ihc-radius-lg);
  padding: clamp(24px, 2.8vw, 40px) clamp(22px, 2.6vw, 40px);
}
.ihc-tp-book__icon { margin: 0; flex: 0 0 auto; }
.ihc-tp-book__icon img { width: clamp(44px, 3.6vw, 56px); }
.ihc-tp-book__text { flex: 1 1 320px; min-width: 0; }
.ihc-tp-book__text.ihc-tp-book__text > * { margin-block-start: 0; }
.ihc-tp-book h2 { margin: 0 0 8px; color: #fff; font-size: clamp(19px, 1.9vw, 28px); line-height: 1.28; }
.ihc-tp-book p { margin: 0; color: rgba(255, 255, 255, .85); font-size: clamp(13px, 1.05vw, 15px); }
.ihc-tp-book__btn { margin: 0; flex: 0 0 auto; }

/* --- Reszponziv --- */
@media (max-width: 1180px) {
  .ihc-tp-cards--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .ihc-tp-hero__grid,
  .ihc-tp-split,
  .ihc-tp-two { grid-template-columns: 1fr; }
  .ihc-tp-hero__media { width: 100%; }
  .ihc-tp-hero__media img { aspect-ratio: 16 / 10; border-radius: var(--ihc-radius-lg); }
  .ihc-tp-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ihc-tp-steps { grid-template-columns: 1fr; gap: clamp(22px, 4vw, 32px); }
  .ihc-tp-steps::before { display: none; }
  .ihc-tp-step__num { box-shadow: none; }
}
@media (max-width: 720px) {
  .ihc-tp-cards--5,
  .ihc-tp-cards--4,
  .ihc-tp-mini { grid-template-columns: 1fr; }
  .ihc-tp-cta__inner,
  .ihc-tp-book__inner { flex-direction: column; align-items: flex-start; }
}


/* ==========================================================================
   20. MOBIL OFFCANVAS MENU
   ========================================================================== */
@media (max-width: 999px) {
  #mega-menu-wrap-primary .mega-menu-toggle { background: transparent; }
  /* A megamenu almenui a mobil paneleben ne csukjak be a teljes menut */
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item ul.mega-sub-menu { position: static; box-shadow: none; }
  /* A kozossegi ikonok ferjenek ki egy sorba az offcanvas aljan */
  #offcanvas .ct-header-socials .ct-social-box,
  .ct-panel .ct-header-socials .ct-social-box { gap: 6px; flex-wrap: nowrap; }
  #offcanvas .ct-header-socials [data-color] a,
  .ct-panel .ct-header-socials [data-color] a { width: 30px; height: 30px; }
  #offcanvas .ct-header-socials svg,
  .ct-panel .ct-header-socials svg { width: 14px; height: 14px; }
}


/* ==========================================================================
   21. KARTYA HOVER
   Feher hatteru, ikonos kartyak: minimalis extra arnyek es emelkedes.
   ========================================================================== */
.ihc-therapy:hover,
.ihc-therapy:focus-within,
.ihc-tp-card:hover,
.ihc-tp-card:focus-within,
.ihc-sb__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(2, 63, 85, .14);
  border-color: rgba(7, 128, 143, .32);
}
@media (prefers-reduced-motion: reduce) {
  .ihc-therapy, .ihc-tp-card, .ihc-sb__card { transition: none; }
  .ihc-therapy:hover, .ihc-tp-card:hover, .ihc-sb__card:hover { transform: none; }
}


/* ==========================================================================
   22. EYEBROW + CIMSOR TERKOZOK
   ========================================================================== */
.ihc-eyebrow + h1,
.ihc-eyebrow + h2,
.ihc-eyebrow + h3,
.ihc-eyebrow + .wp-block-heading { margin-top: 0; }
.ihc-head .ihc-eyebrow { margin-bottom: 8px; }


/* ==========================================================================
   23. HAMAROSAN OLDAL
   ========================================================================== */
.ihc-soon.ihc-soon { margin-block: 0; }
.ihc-soon {
  background: linear-gradient(180deg, #F8FAFB 0%, #E9F1F3 100%);
  padding-block: clamp(60px, 9vw, 140px);
}
.ihc-soon__box {
  max-width: 720px;
  margin-inline: auto;
  padding: clamp(28px, 4vw, 56px);
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius-lg);
  box-shadow: 0 18px 50px rgba(2, 63, 85, .08);
  text-align: center;
}
.ihc-soon__box h1,
.ihc-soon__box h2 {
  margin: 0 0 16px;
  color: var(--ihc-deep);
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.15;
}
.ihc-soon__box .ihc-lead { margin: 0 auto; max-width: 520px; }
.ihc-soon__social.ihc-soon__social { justify-content: center; gap: 10px; margin-top: clamp(24px, 3vw, 36px); }
.ihc-soon__social .wp-social-link {
  width: 44px;
  height: 44px;
  background: var(--ihc-surface);
  border-radius: 999px;
  transition: background .2s ease;
}
.ihc-soon__social .wp-social-link:hover { background: var(--ihc-accent); }
.ihc-soon__social .wp-social-link svg { fill: var(--ihc-deep); }
.ihc-soon__social .wp-social-link:hover svg { fill: #fff; }


/* ==========================================================================
   24. CIKKEK ARCHIVUM + OLDALSAV
   ========================================================================== */

/* --- Fejlec --- */
/* A page-title.min.css a sajat fajlunk UTAN toltodik be es a hero paddingot a
   --container-padding valtozoval allitja. Ezert egyreszt magat a valtozot
   allitjuk be, masreszt nagyobb sulyu szelektorral irjuk felul a paddingot. */
body[data-prefix="blog"] .hero-section[data-type="type-2"],
body[data-prefix="categories"] .hero-section[data-type="type-2"] {
  background-color: transparent;
  --container-padding: clamp(32px, 3.6vw, 58px) clamp(24px, 3vw, 48px);
}
body[data-prefix="blog"] .hero-section[data-type="type-2"] > .entry-header,
body[data-prefix="categories"] .hero-section[data-type="type-2"] > .entry-header {
  background: linear-gradient(180deg, #F8FAFB 0%, #E9F1F3 100%);
  border-radius: var(--ihc-radius-lg);
  padding: clamp(32px, 3.6vw, 58px) clamp(24px, 3vw, 48px);
  text-align: center;
}
.blog .page-title,
.archive .page-title {
  margin: 0 0 16px;
  color: var(--ihc-deep);
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.12;
}
.blog .page-description,
.archive .page-description { max-width: 720px; margin-inline: auto; }
.blog .page-description p,
.archive .page-description p {
  margin: 0;
  color: var(--ihc-muted);
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.7;
}
/* Levegosebb sav a fejlec es a kartyaracs kozott */
.blog .hero-section + .ct-container,
.archive .hero-section + .ct-container { padding-top: clamp(36px, 4.4vw, 68px); }

/* --- Kartyaracs --- */
/* Egy sorban egy cikk: bal oldalt kisebb kep, jobbra a szoveg.
   A keposzlop abszolut pozicioval fut a kartya teljes magassagaban: igy harom
   oldalon pontosan a kerethez fut, es sem a flex stretch, sem a Blocksy
   keparany-tarto ::before pszeudoeleme nem tudja elrontani.
   A helyet a kartya bal oldali paddingja tartja fenn. */
.entries[data-layout] {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14px, 1.6vw, 22px);
}
.entries[data-layout] .entry-card {
  --ihc-thumb: clamp(180px, 22vw, 300px);
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 0 var(--ihc-thumb);
  min-height: 200px;
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(2, 63, 85, .05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.entries[data-layout] .entry-card:hover,
.entries[data-layout] .entry-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(2, 63, 85, .14);
  border-color: rgba(7, 128, 143, .32);
}
@media (prefers-reduced-motion: reduce) {
  .entries[data-layout] .entry-card { transition: none; }
  .entries[data-layout] .entry-card:hover { transform: none; }
}
/* A Blocksy sajat szabalyai erosebbek (0,4,1):
   [data-archive=default][data-layout=simple] article > .ct-media-container
   { max-width: 40% } es :not(.boundless-image) { align-self: center }
   Ezeket csak !important-tal lehet felulirni - ezert indokolt. */
.entries[data-layout] .entry-card > .ct-media-container {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  align-self: stretch !important;
  display: block;
  width: var(--ihc-thumb);
  max-width: none !important;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
/* A Blocksy egy ::before pszeudoelem padding-bottom-javal tartja a keparanyt;
   itt a magassagot a kartya adja, ezert kiiktatjuk. */
.entries[data-layout] .entry-card > .ct-media-container::before { padding-bottom: 0; }
.entries[data-layout] .entry-card > .ct-media-container img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto !important;
  object-fit: cover;
  border-radius: 0;
}
.entries[data-layout] .entry-card .card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  gap: 0;
  padding: clamp(18px, 2vw, 30px);
}
.entries[data-layout] .entry-card .entry-title {
  margin: 0 0 10px;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.3;
}
.entries[data-layout] .entry-card .entry-title a { color: var(--ihc-deep); text-decoration: none; }
.entries[data-layout] .entry-card .entry-title a:hover { color: var(--ihc-accent); }
.entries[data-layout] .entry-card .entry-meta {
  margin: 0 0 12px;
  gap: 10px;
  font-size: 12px;
  color: var(--ihc-muted);
}
.entries[data-layout] .entry-card .entry-meta .meta-categories a {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--ihc-surface);
  color: var(--ihc-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
}
.entries[data-layout] .entry-card .entry-excerpt {
  margin: 0 0 16px;
  color: var(--ihc-muted);
  font-size: 14px;
  line-height: 1.6;
}
.entries[data-layout] .entry-card .ct-button,
.entries[data-layout] .entry-card .ct-button-ghost {
  margin-top: auto;
  align-self: flex-start;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (max-width: 680px) {
  .entries[data-layout] .entry-card { padding-left: 0; min-height: 0; }
  .entries[data-layout] .entry-card > .ct-media-container { position: relative; bottom: auto; width: 100%; max-width: 100% !important; aspect-ratio: 16 / 10; }
  .entries[data-layout] .entry-card > .ct-media-container img { position: absolute; inset: 0; height: 100%; }
}

/* --- Oldalsav (Cikkek oldalsav ujrafelhasznalhato blokk) --- */
.ct-sidebar .ihc-sb { display: grid; gap: clamp(14px, 1.4vw, 20px); }
.ihc-sb__card,
.ihc-sb__cta {
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  padding: clamp(16px, 1.8vw, 24px);
  transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.ihc-sb__title {
  margin: 0 0 14px;
  color: var(--ihc-deep);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ihc-sb__cats ul,
.ihc-sb__cats { margin: 0; padding-left: 0; list-style: none; }
.ihc-sb__cats li { margin: 0 0 9px; }
.ihc-sb__cats a { color: var(--ihc-muted); font-size: 14px; text-decoration: none; }
.ihc-sb__cats a:hover { color: var(--ihc-accent); }

.ihc-sb__posts ul { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 14px; }
.ihc-sb__posts li { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 12px; align-items: start; }
.ihc-sb__thumb img { display: block; width: 68px; height: 52px; object-fit: cover; border-radius: 10px; }
.ihc-sb__ptxt > * { margin-block-start: 0; }
.ihc-sb__ptitle { margin: 0 0 4px; font-size: 13.5px; line-height: 1.35; }
.ihc-sb__ptitle a { color: var(--ihc-deep); text-decoration: none; }
.ihc-sb__ptitle a:hover { color: var(--ihc-accent); }
.ihc-sb__pdate { margin: 0; color: var(--ihc-muted); font-size: 11.5px; }

.ihc-sb__cta { background: linear-gradient(140deg, var(--ihc-deep) 0%, var(--ihc-petrol) 100%); border: 0; }
.ihc-sb__cta h3,
.ihc-sb__cta .wp-block-heading { margin: 0 0 8px; color: #fff; font-size: 17px; line-height: 1.25; }
.ihc-sb__cta p { margin: 0 0 14px; color: rgba(255,255,255,.88); font-size: 13.5px; line-height: 1.55; }
.ihc-sb__cta .wp-block-button__link { background: #fff; color: var(--ihc-deep); font-size: 12px; padding: 11px 20px; }
.ihc-sb__cta .wp-block-button__link:hover { background: rgba(255,255,255,.86); }


/* ==========================================================================
   25. CIKK SABLON (.ihc-art-*)
   Egyseges kiemelesek: csak a hatterszin ter el, nincs oldalso csik,
   mind lekerekitett; a betumeret mindenhol azonos.
   ========================================================================== */
.single-post article .entry-content {
  --ihc-art-gap: clamp(30px, 3.4vw, 48px);
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.75;
}
.single-post article .entry-content > p { margin-block: 0 1.35em; color: var(--ihc-muted); }
.single-post article .entry-content h2 { margin: calc(var(--ihc-art-gap) * 1.45) 0 16px; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.25; color: var(--ihc-deep); }
.single-post article .entry-content h3 { margin: calc(var(--ihc-art-gap) * .75) 0 12px; font-size: clamp(17px, 1.5vw, 21px); color: var(--ihc-deep); }

.single-post article .entry-content a:not(.wp-block-button__link):not(.wp-element-button) {
  color: var(--ihc-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.single-post article .entry-content a:not(.wp-block-button__link):not(.wp-element-button):hover { color: var(--ihc-deep); }
/* A gombokon ne legyen alahuzas */
.single-post article .entry-content .wp-block-button__link { text-decoration: none; }

/* Bevezeto osszefoglalo: ugyanakkora betumeret, csak mas hatterszin */
.single-post article .entry-content > p.ihc-art__lead {
  padding: clamp(16px, 1.8vw, 24px) clamp(18px, 2vw, 28px);
  background: #E7F0F3;
  border-radius: var(--ihc-radius);
  color: var(--ihc-ink);
  font-size: inherit;
  line-height: 1.7;
}

/* Egyseges kiemelo dobozok */
.ihc-callout,
.ihc-art__note,
.ihc-art__box,
.ihc-art__related {
  padding: clamp(16px, 1.8vw, 24px) clamp(18px, 2vw, 28px);
  border-radius: var(--ihc-radius);
}
.ihc-callout { background: var(--ihc-tint); }
.ihc-art__note { background: #E7F0F3; }
.ihc-art__box { background: var(--ihc-surface); border: 1px solid var(--ihc-line); }
.ihc-art__related { background: #fff; border: 1px solid var(--ihc-line); }
.ihc-callout > *,
.ihc-art__note > *,
.ihc-art__box > *,
.ihc-art__related > * { margin-block-start: 0; }
.ihc-callout p,
.ihc-art__note p,
.ihc-art__box p { margin: 0; color: var(--ihc-ink); }
.ihc-art__note h3,
.ihc-art__box h3 { margin: 0 0 10px; font-size: clamp(16px, 1.35vw, 19px); }
.ihc-art__note p + ul,
.ihc-art__box p + ul { margin-top: 12px; }

/* Idezet */
.ihc-art__quote.wp-block-quote {
  padding: clamp(16px, 1.8vw, 24px) clamp(18px, 2vw, 28px);
  background: #EFF3F4;
  border: 0;
  border-radius: var(--ihc-radius);
}
.ihc-art__quote.wp-block-quote p { margin: 0 0 8px; color: var(--ihc-ink); font-style: normal; }
.ihc-art__quote.wp-block-quote cite { color: var(--ihc-muted); font-size: 13px; font-style: normal; }

/* Felsorolasok */
.single-post article .entry-content ul.ihc-art__list { margin: 0; padding-left: 0; list-style: none; }
.single-post article .entry-content ul.ihc-art__list li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 26px;
  color: var(--ihc-muted);
}
.single-post article .entry-content ul.ihc-art__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .6em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ihc-accent);
}
.single-post article .entry-content ul.ihc-art__list li:last-child { margin-bottom: 0; }
.ihc-art__list--links li::before { top: .62em; }

/* Kepek + kepalairas */
.single-post article .entry-content .ihc-art__img { margin-inline: 0; }
.single-post article .entry-content .ihc-art__img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ihc-radius-lg);
}
.single-post article .entry-content .ihc-art__img figcaption {
  margin-top: 10px;
  color: var(--ihc-muted);
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}

/* CTA doboz */
.ihc-art__cta {
  padding: clamp(20px, 2.2vw, 32px);
  background: linear-gradient(140deg, var(--ihc-deep) 0%, var(--ihc-petrol) 100%);
  border-radius: var(--ihc-radius-lg);
}
.ihc-art__cta > * { margin-block-start: 0; }
.single-post article .entry-content .ihc-art__cta h3,
.ihc-art__cta .wp-block-heading { margin: 0 0 8px; color: #fff; }
.ihc-art__cta p { margin: 0 0 16px; color: rgba(255,255,255,.9); }
.ihc-art__cta .wp-block-button__link { background: #fff; color: var(--ihc-deep); }
.ihc-art__cta .wp-block-button__link:hover { background: rgba(255,255,255,.86); }
.ihc-art__cta .ihc-btn--ghost .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.ihc-art__cta .ihc-btn--ghost .wp-block-button__link:hover { background: #fff; color: var(--ihc-deep); border-color: #fff; }

/* Ajanlo */
.ihc-art__related li { color: var(--ihc-muted); }
.ihc-art__related a { font-weight: 700; }

/* Cikk fejlec: legyen levego a menu es a cimsor kozott */
body.single-post .hero-section[data-type="type-1"] { padding-top: clamp(30px, 3.6vw, 60px); }
body.single-post .hero-section[data-type="type-1"] .page-title { color: var(--ihc-deep); line-height: 1.15; }

/* A WP inline globalis stilusa (:root :where(.is-layout-flow) > *) nullazza a
   blokkok also margojat, es a sajat fajlunk UTAN toltodik be. Ezert a
   fuggoleges ritmust nagyobb sulyu (0,3,0) szelektorral allitjuk be. */
.single-post article .entry-content > .ihc-callout,
.single-post article .entry-content > .ihc-art__note,
.single-post article .entry-content > .ihc-art__box,
.single-post article .entry-content > .ihc-art__related,
.single-post article .entry-content > .ihc-art__quote,
.single-post article .entry-content > .ihc-art__img,
.single-post article .entry-content > .ihc-art__table,
.single-post article .entry-content > .ihc-art__cta { margin-block: var(--ihc-art-gap); }
.single-post article .entry-content > p.ihc-art__lead { margin-block: 0 var(--ihc-art-gap); }
.single-post article .entry-content > h2 { margin-block: calc(var(--ihc-art-gap) * 1.45) 16px; }
.single-post article .entry-content > h3 { margin-block: calc(var(--ihc-art-gap) * .75) 12px; }
.single-post article .entry-content > p { margin-block: 0 1.35em; }
.single-post article .entry-content > ul.ihc-art__list { margin-block: 0 var(--ihc-art-gap); }


/* ==========================================================================
   26. GYIK OLDAL (Gyakran Ismetelt Kerdesek)
   Nincs hero hatterkep es sotet fedes: az aloldalak vilagos fejlecet kap,
   a kerdesek a terapia-oldalakrol mar ismert core/details harmonikaban.
   ========================================================================== */
.ihc-gy-hero.ihc-gy-hero,
.ihc-gy-sec.ihc-gy-sec { margin-block: 0; }

.ihc-gy-hero {
  background: linear-gradient(180deg, #F8FAFB 0%, #EDF3F5 100%);
  padding-block: clamp(34px, 4.2vw, 66px);
  text-align: center;
}
.ihc-gy-hero__in.ihc-gy-hero__in > * { margin-block-start: 0; }
.ihc-gy-hero .ihc-eyebrow { margin: 0 0 10px; }
.ihc-gy-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(30px, 3.6vw, 50px);
  line-height: 1.12;
  color: var(--ihc-deep);
}
.ihc-gy-hero .ihc-lead {
  max-width: 760px;
  margin: 0 auto;
  color: var(--ihc-muted);
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.7;
}

/* Ugrolinkek (pirula gombok) */
.ihc-gy-nav.ihc-gy-nav {
  margin-block: clamp(22px, 2.4vw, 34px) 0;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.ihc-gy-nav .wp-block-button__link {
  background: #fff;
  color: var(--ihc-deep);
  border: 1px solid var(--ihc-line);
  border-radius: 999px;
  padding: 11px 22px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ihc-gy-nav .wp-block-button__link:hover,
.ihc-gy-nav .wp-block-button__link:focus-visible {
  background: var(--ihc-accent);
  border-color: var(--ihc-accent);
  color: #fff;
}

/* Kerdes-szekciok */
.ihc-gy-sec {
  padding-block: clamp(34px, 3.8vw, 58px);
  scroll-margin-top: 110px;   /* a ragados fejlec ne takarja el a cimet */
}
.ihc-gy-sec .ihc-head { margin-bottom: clamp(18px, 2vw, 28px); text-align: center; }
.ihc-gy-sec .ihc-head.ihc-head > * { margin-block-start: 0; }
.ihc-gy-sec .ihc-head h2 { margin: 0; }
.ihc-gy-sec .ihc-tp-faq { max-width: 880px; margin-inline: auto; }
/* Szurke savon feher, feher savon halvany a doboz - mindig legyen kontraszt */
.ihc-gy-sec.ihc-section--tint .ihc-tp-faq .wp-block-details { background: #fff; }

/* Tobb bekezdes / felsorolas is fer egy valaszba */
.ihc-tp-faq .wp-block-details > p:not(:last-child) { padding-bottom: 9px; }
.ihc-tp-faq .wp-block-details > ul,
.ihc-tp-faq .wp-block-details > ol {
  margin: 0;
  padding: 0 clamp(14px, 1.4vw, 20px) 16px 36px;
  font-size: clamp(12.5px, 1vw, 14px);
  line-height: 1.6;
  color: var(--ihc-muted);
}
.ihc-tp-faq .wp-block-details > ul li,
.ihc-tp-faq .wp-block-details > ol li { margin-bottom: 7px; }
.ihc-tp-faq .wp-block-details > ul li:last-child,
.ihc-tp-faq .wp-block-details > ol li:last-child { margin-bottom: 0; }
.ihc-tp-faq .wp-block-details > p + ul,
.ihc-tp-faq .wp-block-details > p + ol { padding-top: 0; }

/* Szekciok alatti atvezeto gomb a terapia aloldalra */
.ihc-gy-more.ihc-gy-more { margin-block: clamp(20px, 2.2vw, 30px) 0; justify-content: center; }

@media (max-width: 600px) {
  .ihc-gy-nav .wp-block-button__link { padding: 9px 16px; font-size: 11px; }
}


/* ==========================================================================
   27. ARAINK - kartya aljan link jellegu gomb
   ========================================================================== */
/* A Stackable kartya tartalma oszlopiranyu flex legyen, hogy a link a
   tartalom utan, egyseges helyen alljon. */
.stk-block-column__content:has(> .stk-inner-blocks > .ihc-price-link) { height: 100%; }
.stk-block-column__content > .stk-inner-blocks:has(> .ihc-price-link) {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ihc-price-link {
  margin: 0;
  padding: 18px 0 15px;   /* a gomb alatt 15px terkoz */
  text-align: center;
}
.ihc-price-link a {
  display: inline-block;
  padding: 2px 0;
  background: none;
  border: 0;
  border-bottom: 1px solid transparent;
  color: var(--ihc-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.ihc-price-link a::after { content: " \2192"; }
.ihc-price-link a:hover,
.ihc-price-link a:focus-visible { color: var(--ihc-deep); border-bottom-color: currentColor; }


/* ==========================================================================
   28. CIKK TABLAZAT (.ihc-art__table)
   Asztali nezetben normal tablazat, 700px alatt a sorok kartyakka bomlanak,
   igy nincs vizszintes gorgetes es telefonon is olvashato marad.
   ========================================================================== */
.ihc-art__table {
  margin: 0;
  overflow-x: auto;               /* vegso menedek nagyon szeles tablaknal */
  -webkit-overflow-scrolling: touch;
}
.ihc-art__table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: var(--ihc-radius);
  overflow: hidden;
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.55;
}
.ihc-art__table thead th {
  padding: 12px clamp(10px, 1.1vw, 16px);
  background: var(--ihc-deep);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left;
  border: 0;
}
.ihc-art__table tbody td {
  padding: 12px clamp(10px, 1.1vw, 16px);
  border: 0;
  border-top: 1px solid var(--ihc-line);
  color: var(--ihc-muted);
  vertical-align: top;
}
.ihc-art__table tbody tr:nth-child(odd) td { background: var(--ihc-surface); }
.ihc-art__table tbody td:first-child { color: var(--ihc-deep); font-weight: 700; }
.ihc-art__table figcaption { margin-top: 10px; color: var(--ihc-muted); font-size: 12.5px; }

/* --- Telefon: minden sor onallo kartya --- */
@media (max-width: 700px) {
  .ihc-art__table table { border: 0; background: none; }
  .ihc-art__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .ihc-art__table tbody,
  .ihc-art__table tr,
  .ihc-art__table td { display: block; width: 100%; }
  .ihc-art__table tbody tr {
    margin-bottom: 12px;
    background: #fff;
    border: 1px solid var(--ihc-line);
    border-radius: var(--ihc-radius);
    overflow: hidden;
  }
  .ihc-art__table tbody tr:last-child { margin-bottom: 0; }
  .ihc-art__table tbody tr:nth-child(odd) td { background: none; }
  .ihc-art__table tbody td { border-top: 1px solid var(--ihc-line); padding: 11px 16px; }
  .ihc-art__table tbody td:first-child {
    border-top: 0;
    background: var(--ihc-surface);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  /* Az oszlopcimkeket a fejlec helyett a cellak ele irjuk ki.
     A ket cimke felulirhato a tablazatra tett modositó osztallyal. */
  .ihc-art__table--compare { --ihc-col2: "mHBOT"; --ihc-col3: "Klasszikus HBOT"; }
  .ihc-art__table--light { --ihc-col2: "Hullamhossz"; --ihc-col3: "Mire vizsgaljak"; }
  .ihc-art__table--comp2 { --ihc-col2: "Kompresszios harisnya"; --ihc-col3: "Gepi kompresszio"; }
  .ihc-art__table--robot { --ihc-col2: "Robotmasszazs"; --ihc-col3: "Kezi masszazs"; }
  .ihc-art__table--compare tbody td:nth-child(2)::before { content: var(--ihc-col2) ": "; }
  .ihc-art__table--compare tbody td:nth-child(3)::before { content: var(--ihc-col3) ": "; }
  .ihc-art__table--compare tbody td:nth-child(2)::before,
  .ihc-art__table--compare tbody td:nth-child(3)::before {
    display: block;
    margin-bottom: 2px;
    color: var(--ihc-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
}


/* ==========================================================================
   Zaras: kisebb altalanos finomitasok
   ========================================================================== */
/* Blocksy morzsamenu a cikkeken */
.ct-breadcrumbs { font-size: 12px; letter-spacing: .04em; }
.ct-breadcrumbs a { color: var(--ihc-muted); text-decoration: none; }
.ct-breadcrumbs a:hover { color: var(--ihc-accent); }

/* Kepek sose logjanak ki */
img { max-width: 100%; height: auto; }



/* ==========================================================================
   29. KESOBBI FINOMITASOK
   Azok a reszek, amelyek a szekciok elkeszulte utan, kozos csiszolas soran
   kerultek a fajlba.
   ========================================================================== */

/* --- Hero: teljes kepernyoszelesseg --- */
.ihc-hero.ihc-hero {
  margin-block: 0;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}
.ihc-hero__slide { width: 100%; }

/* --- Mobil hero: allo hatterkep a Gutenbergbol szerkesztheto kepbol --- */
.ihc-hero .ihc-hero__mobile-img { display: none; }
@media (max-width: 900px) {
  .ihc-hero .wp-block-cover { min-height: clamp(620px, 155vw, 820px) !important; align-items: flex-end; }
  .ihc-hero__content { padding-top: 150px; padding-bottom: 48px; }
  /* A core hatterkepet elrejtjuk, helyette a .ihc-hero__mobile-img all a slide mogott */
  .ihc-hero .wp-block-cover { isolation: isolate; }
  .ihc-hero .wp-block-cover__image-background { display: none; }
  .ihc-hero .wp-block-cover__inner-container { position: static; }
  .ihc-hero .wp-block-cover__background { z-index: -1; }
  .ihc-hero .ihc-hero__mobile-img { display: block; position: absolute; inset: 0; margin: 0; z-index: -2; }
  .ihc-hero .ihc-hero__mobile-img img { width: 100%; height: 100%; object-fit: cover; }
  /* A bekezdes has-medium-font-size osztalyt kap, amit a WP !important-tal allit */
  .ihc-hero__inner > h2 + p + p { font-size: 12px !important; line-height: 1.45; }
  .ihc-hero__inner .wp-block-buttons { flex-wrap: nowrap; gap: 10px; }
  .ihc-hero__inner .wp-block-button__link { padding-inline: 16px; font-size: 12px; white-space: nowrap; }
}

/* --- Vendegvelemenyek: racsbol forgo elem lett --- */
.ihc-quotes-carousel { max-width: 90%; margin-inline: auto; }
/* Egyforma magassagu kartyak */
.ihc-quotes-carousel .stk-block-carousel__slider { align-items: stretch; }
.ihc-quotes-carousel .stk-block-carousel__slide,
.ihc-quotes-carousel .stk-block-column,
.ihc-quotes-carousel .stk-block-column > .stk-column-wrapper,
.ihc-quotes-carousel .stk-block-column .stk-block-content { height: 100%; }
.ihc-quotes-carousel .ihc-quote { height: 100%; }
/* A lapozo a kartyakon KIVUL, a 90%-os sav ket oldalan */
.ihc-quotes-carousel .stk-block-carousel__buttons {
  inset: 0 calc(-1 * clamp(30px, 3vw, 52px));
}

/* --- Ajandekutalvany + kapcsolat: egyforma magassag --- */
.ihc-cta-row { align-items: stretch; }
.ihc-cta-row > * { height: 100%; }
.ihc-voucher,
.ihc-contact-card { height: 100%; }

/* --- Lablec: bejelentkezes gomb es kozossegi ikonok --- */
footer.ct-footer .ihc-fbtns { margin: 0 0 20px; }
footer.ct-footer .ihc-fbtns .wp-block-button__link {
  background: #fff;
  color: var(--ihc-deep);
  border-radius: 999px;
  padding: 12px 26px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
footer.ct-footer .ihc-fbtns .wp-block-button__link:hover { background: rgba(255, 255, 255, .86); color: var(--ihc-deep); }
/* Az ikon toltse ki jobban a feher kort */
footer.ct-footer .ihc-fsocial .wp-block-social-link-anchor svg { width: 20px; height: 20px; }

/* --- Hirlevel urlap --- */
.ihc-newsletter__form input[type="text"],
.ihc-newsletter__form input[type="email"] {
  width: 100%;
  padding: 13px 16px;
  background: #fff;
  border: 1px solid var(--ihc-line);
  border-radius: 999px;
  font-size: 15px;
  color: var(--ihc-ink);
}
.ihc-newsletter__form input[type="submit"],
.ihc-newsletter__form button[type="submit"] {
  padding: 13px 28px;
  background: var(--ihc-accent);
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
}
.ihc-newsletter__form input[type="submit"]:hover,
.ihc-newsletter__form button[type="submit"]:hover { background: var(--ihc-deep); }
/* A cikkek alatti hirlevel-sav (a modul illeszti be) */
.ihc-blog-newsletter { background: var(--ihc-surface); padding-block: clamp(34px, 4vw, 64px); }
.ihc-blog-newsletter .ihc-wrap > * { margin-block-start: 0; }

/* --- Galeria: fuggoleges ES vizszintes terkoz a kepek kozott --- */
/* A core a figure margojat nullazza, ezert a fuggoleges rest paddinggal adjuk. */
.ihc-gallery.ihc-gallery.wp-block-gallery {
  display: block;
  columns: 4;
  gap: normal;
  column-gap: clamp(14px, 1.4vw, 20px);
}
.ihc-gallery.ihc-gallery.wp-block-gallery > figure.wp-block-image {
  margin: 0;
  padding-bottom: clamp(14px, 1.4vw, 20px);
  break-inside: avoid;
  width: 100%;
}
@media (max-width: 1000px) { .ihc-gallery.ihc-gallery.wp-block-gallery { columns: 3; } }
@media (max-width: 700px)  { .ihc-gallery.ihc-gallery.wp-block-gallery { columns: 2; } }
@media (max-width: 460px)  { .ihc-gallery.ihc-gallery.wp-block-gallery { columns: 1; } }

.ihc-lightbox img { cursor: zoom-in; }


/* ==========================================================================
   30. BLOKK-KOZ (block gap) SEMLEGESITESE A SAJAT RACSAINKON
   A WordPress a blokkok kozti fuggoleges tavolsagot margin-block-start-tal
   adja:  :root :where(.is-layout-flow) > * { margin-block-start: 24px; }
   Egy grid/flex kontenerben ez a MASODIK elemtol kezdve lejjebb tolja es
   ennyivel alacsonyabbra vagja a kartyakat -- emiatt latszott minden
   racsban a bal szelso kartya nagyobbnak. Sajat kontenereinkben nullazzuk.
   A ketszerezett osztalynev adja a (0,2,0) specificitast, hogy a core
   :where()-es szabalya fole kerulhessen -- !important nelkul.
   ========================================================================== */
.ihc-therapies.ihc-therapies       > *,
.ihc-trust.ihc-trust               > *,
.ihc-about.ihc-about               > *,
.ihc-quotes.ihc-quotes             > *,
.ihc-cta-row.ihc-cta-row           > *,
.ihc-tp-hero__grid.ihc-tp-hero__grid > *,
.ihc-tp-mini.ihc-tp-mini           > *,
.ihc-tp-split.ihc-tp-split         > *,
.ihc-tp-cards.ihc-tp-cards         > *,
.ihc-tp-cta__inner.ihc-tp-cta__inner > *,
.ihc-tp-steps.ihc-tp-steps         > *,
.ihc-tp-two.ihc-tp-two             > *,
.ihc-tp-book__inner.ihc-tp-book__inner > * { margin-block-start: 0; }

/* Egyforma magas kartyak / panelek minden racsban */
.ihc-tp-mini,
.ihc-tp-cards,
.ihc-tp-two { align-items: stretch; }


/* ==========================================================================
   31. TERAPIA ALOLDAL HERO: kulon asztali es mobil hatterkep
   Asztali nezet : a szekcio sajat hatterkepe (Gutenberg -> Csoport hatterkep).
   Mobil nezet   : a .ihc-tp-hero__mobile-img kepblokk (allo kep) feszul ki.
   Igy a szerkesztoben mindket kep kulon cserelheto, plugin nelkul.
   ========================================================================== */
.ihc-tp-hero.ihc-tp-hero {
  position: relative;
  isolation: isolate;
  padding-block: 0;
  background-color: var(--ihc-tint);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
/* Vilagos fatyol a szoveg alatt, hogy barmilyen fotoval olvashato maradjon */
.ihc-tp-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, .94)   0%,
    rgba(255, 255, 255, .86)  30%,
    rgba(255, 255, 255, .45)  52%,
    rgba(255, 255, 255, 0)    72%);
}
/* A .ihc-wrap NEM lehet pozicionalt: kulonben a mobil hatterkep (z-index:-1)
   nem tudna a ::before fatyol ala kerulni, es a kep takarna a szoveget. */
.ihc-tp-hero > .ihc-wrap { position: static; }

/* A hero szovege egy hasabban, a bal oldalon */
.ihc-tp-hero__grid.ihc-tp-hero__grid {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 620px;
  padding-top: clamp(40px, 5vw, 76px);
}
/* Asztali nezetben a mobil hatterkep rejtve */
.ihc-tp-hero__media { display: none; }

@media (max-width: 900px) {
  /* Mobilon az asztali hatterkep helyett a feltoltott allo kep feszul ki */
  .ihc-tp-hero.ihc-tp-hero { background-image: none; }
  .ihc-tp-hero::before {
    background: linear-gradient(180deg,
      rgba(255, 255, 255, .93)   0%,
      rgba(255, 255, 255, .80)  40%,
      rgba(255, 255, 255, .34)  76%,
      rgba(255, 255, 255, .14) 100%);
  }
  .ihc-tp-hero__media {
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    width: auto;
    margin: 0;
  }
  .ihc-tp-hero__media .wp-block-image { margin: 0; height: 100%; }
  .ihc-tp-hero__media img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: 0;
  }
  .ihc-tp-hero__grid.ihc-tp-hero__grid { max-width: none; }
}


/* ==========================================================================
   32. TERAPIA ALOLDAL: petrol CTA sav
   ========================================================================== */
/* A sav folott/alatt ne maradjon feher csik (a WP blokk-koz margoja) */
.ihc-tp-cta.ihc-tp-cta     { margin-block: 0; }
.ihc-tp-cta.ihc-tp-cta + * { margin-block-start: 0; }

/* A cimsor es a gomb a tartalmi savon belul, kicsit beljebb */
.ihc-tp-cta__inner { padding-inline: clamp(0px, 1.4vw, 22px); }
.ihc-tp-cta h2     { font-size: clamp(22px, 2.5vw, 36px); }


/* ==========================================================================
   33. ARAINK: az "Ismerd meg a terapiat" link minden kartyan egy vonalban
   ========================================================================== */
/* Az oszlop tartalma oszlopiranyu flex (27. szekcio), a linket a
   szabad hely felemesztesevel toljuk a kartya aljara. */
.ihc-price-link { margin-top: auto; }


/* ==========================================================================
   34. FOOLDAL: levegosebb szekciofej a problema-carousel felett
   ========================================================================== */
.ihc-head:has(+ .ihc-problems) { margin-bottom: clamp(52px, 6vw, 84px); }


/* ==========================================================================
   35. FINOMITASOK: hero savok, CTA sav, gombok, galeria terkoz
   ========================================================================== */

/* --- Fooldali hero: teljes kepernyoszelesseg ---
   A tema/Stackable sajat szabalyai a puszta osztalyt felulirjak, ezert kell
   a szulo + ketszerezett osztaly es az !important. */
.entry-content > .ihc-hero.ihc-hero {
  margin-left:  calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}

/* A feher fatyol ne fuggoleges vonalban vagjon: lent nyuljon tovabb jobbra. */
.ihc-hero .wp-block-cover::after {
  background: linear-gradient(74deg,
    rgba(255, 255, 255, .96)  0%,
    rgba(255, 255, 255, .90) 24%,
    rgba(255, 255, 255, .62) 40%,
    rgba(255, 255, 255, .22) 55%,
    rgba(255, 255, 255, 0)   68%);
}

/* --- Terapia aloldal hero: kiegyensulyozott savmagassag --- */
.ihc-tp-hero.ihc-tp-hero {
  display: flex;
  align-items: center;
  min-height: clamp(460px, 38vw, 620px);
}
.ihc-tp-hero > .ihc-wrap { flex: 1 1 auto; }
/* a blokk sajat also belso margoja 50px, ugyanennyit felulre is */
.ihc-tp-hero__grid.ihc-tp-hero__grid { padding-top: 50px; }
/* ugyanaz a ferde fatyol, mint a fooldalon */
.ihc-tp-hero::before {
  background: linear-gradient(74deg,
    rgba(255, 255, 255, .96)  0%,
    rgba(255, 255, 255, .90) 26%,
    rgba(255, 255, 255, .60) 44%,
    rgba(255, 255, 255, .20) 58%,
    rgba(255, 255, 255, 0)   72%);
}
@media (max-width: 900px) {
  .ihc-tp-hero.ihc-tp-hero { min-height: 0; display: block; }
  .ihc-tp-hero::before {
    background: linear-gradient(180deg,
      rgba(255, 255, 255, .93)   0%,
      rgba(255, 255, 255, .80)  40%,
      rgba(255, 255, 255, .34)  76%,
      rgba(255, 255, 255, .14) 100%);
  }
}

/* --- Petrol CTA sav: cimsor balrol, gomb jobbrol 100px-re --- */
.ihc-tp-cta__inner { padding-inline: min(100px, 7vw); }

/* --- Sotet savokon a "szellos" gomb feher keretes legyen --- */
.ihc-tp-cta  .wp-block-button.ihc-btn--ghost > .wp-block-button__link,
.ihc-tp-book .wp-block-button.ihc-btn--ghost > .wp-block-button__link,
.ihc-tp-cta  .ihc-btn--ghost .wp-block-button__link,
.ihc-tp-book .ihc-btn--ghost .wp-block-button__link {
  background: transparent;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .85);
}
.ihc-tp-cta  .wp-block-button.ihc-btn--ghost > .wp-block-button__link:hover,
.ihc-tp-book .wp-block-button.ihc-btn--ghost > .wp-block-button__link:hover,
.ihc-tp-cta  .ihc-btn--ghost .wp-block-button__link:hover,
.ihc-tp-book .ihc-btn--ghost .wp-block-button__link:hover {
  background: #fff;
  color: var(--ihc-deep);
  box-shadow: inset 0 0 0 1px #fff;
}

/* --- Galeria: 30px terkoz a szekciofej es a kepek kozott --- */
.ihc-head:has(+ .ihc-gallery),
.ihc-head:has(+ .ihc-gal),
.ihc-head:has(+ .wp-block-gallery) { margin-bottom: 30px; }

/* ==========================================================================
   36. JAVITASOK: hamarosan-oldal ikonjai, hirlevel sav hattere
   ========================================================================== */
/* A core .has-icon-color szabalya (fill: currentColor) a sajat lapunk UTAN
   toltodik be, ezert kell a magasabb specificitas -- !important nelkul. */
.ihc-soon__social.ihc-soon__social .wp-social-link .wp-block-social-link-anchor,
.ihc-soon__social.ihc-soon__social .wp-social-link .wp-block-social-link-anchor svg { color: var(--ihc-deep); fill: var(--ihc-deep); }
.ihc-soon__social.ihc-soon__social .wp-social-link:hover .wp-block-social-link-anchor,
.ihc-soon__social.ihc-soon__social .wp-social-link:hover .wp-block-social-link-anchor svg { color: #fff; fill: #fff; }

/* A cikkek alatti hirlevel-sav hattere feher (a kartya marad halvany) */
.ihc-blog-newsletter { background: #fff; }

/* ==========================================================================
   37. HATEKONYSAG MEGAMENU: nagyobb ajandekkartya-kep
   A kep a kartya teljes szelessegeben all (a belso margot negativ margoval
   vissza is vesszuk), a cimsor/bevezeto tomorebb, igy tobb fuggoleges hely
   marad a kepnek.
   ========================================================================== */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift { padding: clamp(18px, 1.8vw, 24px); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__eyebrow { margin: 0 0 12px; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__title { margin: 0 0 8px; font-size: clamp(20px, 1.7vw, 26px); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__lead { margin: 0 0 8px; font-size: clamp(12.5px, 1vw, 14px); }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card { margin: 4px calc(-1 * clamp(18px, 1.8vw, 24px)) 0; flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; object-position: center; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__btns { padding-top: 12px; }


/* ==========================================================================
   38. HERO SAVOK VEGLEGES JAVITASA
   ========================================================================== */
/* A Stackable a teljes szelessegu blokk BELSO savjat visszafogja a tema
   blokkszelessegere (.stk-content-align max-width), ezert latszott a hero
   csak kontenerszelesnek, hiaba volt a kulso blokk 100vw. */
.ihc-hero .stk-block-carousel__content-wrapper,
.ihc-hero .stk-content-align,
.ihc-hero .stk-block-carousel__slider-wrapper {
  max-width: none !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

/* Terapia hero: jobb oldali kepfokusz, keskenyebb feher fatyol. */
.ihc-tp-hero.ihc-tp-hero { background-position: right center; }
.ihc-tp-hero::before {
  background: linear-gradient(74deg,
    rgba(255, 255, 255, .94)  0%,
    rgba(255, 255, 255, .80) 22%,
    rgba(255, 255, 255, .36) 38%,
    rgba(255, 255, 255, 0)   55%);
}


/* ==========================================================================
   39. TERAPIA HERO: mobil hatterkep kezelese mindket blokkszerkezetnel
   Van, ahol a .ihc-tp-hero__mobile-img a .ihc-tp-hero__media csoporton belul
   all (Krioterapia), van, ahol a hero kozvetlen gyereke (Oxigenterapia).
   Ezert magat a kepet cimezzuk, barhol is legyen a blokkfaban.
   ========================================================================== */
/* Asztali nezet: csak a szekcio sajat hatterkepe latszik */
.ihc-tp-hero .ihc-tp-hero__media,
.ihc-tp-hero .ihc-tp-hero__mobile-img { display: none; }

@media (max-width: 900px) {
  /* a csoport csak burok: engedjuk at a kepet a hero kozvetlen gyerekekent */
  .ihc-tp-hero .ihc-tp-hero__media { display: contents; }
  .ihc-tp-hero .ihc-tp-hero__mobile-img {
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    margin: 0;
    width: auto;
  }
  .ihc-tp-hero .ihc-tp-hero__mobile-img img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    border-radius: 0;
  }
}


/* ==========================================================================
   40. FINOMHANGOLAS
   ========================================================================== */
/* Megamenu ajandekkartya: a kep kb. 30%-kal nagyobb es jobbra rendezve.
   A transform nem valtoztat a helyfoglalason, igy a gomb es a szoveg helye
   valtozatlan marad. */
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card { justify-content: flex-end; }
#mega-menu-wrap-menu_1 #mega-menu-menu_1 #mega-menu-item-2147 .ihc-hm-gift__card img {
  object-position: right center;
  transform: scale(1.3);
  transform-origin: right center;
}

/* Fooldal: fele akkora terkoz a szekciofej es a problema-kartyak kozott */
.ihc-head:has(+ .ihc-problems) { margin-bottom: clamp(26px, 3vw, 42px); }


/* ==========================================================================
   41. FOOLDALI HERO: halványabb feher fatyol
   Bal szelen 70% fedettseg, az oldal kozepere teljesen atlatszo.
   A 74 fokos szog miatt lent tovabb tart a feher, mint fent.
   ========================================================================== */
.ihc-hero .wp-block-cover::after {
  background: linear-gradient(74deg,
    rgba(255, 255, 255, .85)  0%,
    rgba(255, 255, 255, .68) 20%,
    rgba(255, 255, 255, .38) 35%,
    rgba(255, 255, 255, 0)   50%);
}


/* ==========================================================================
   42. TERAPIA ALOLDALAK: tomorebb fuggoleges ritmus
   Ket egymas alatti szekcio also+felso belso margoja osszeadodott (2x112px),
   plusz a WP blokk-koz. Itt feleannyi eleg.
   ========================================================================== */
.ihc-tp-intro,
.ihc-tp-benefits,
.ihc-tp-who,
.ihc-tp-how,
.ihc-tp-info { padding-block: clamp(36px, 4.4vw, 62px); }

/* a szekciok kozott ne maradjon meg a blokk-koz margo is */
.ihc-tp-intro.ihc-tp-intro,
.ihc-tp-benefits.ihc-tp-benefits,
.ihc-tp-who.ihc-tp-who,
.ihc-tp-how.ihc-tp-how,
.ihc-tp-info.ihc-tp-info,
.ihc-tp-book.ihc-tp-book { margin-block: 0; }


/* ==========================================================================
   43. FOOLDALI HERO: kapitalis gombok, levegosebb cimsor
   ========================================================================== */
.ihc-hero__inner .wp-block-button__link {
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Sorkoz 1.12 -> 1.29 (+15%) a hero cimsoraiban */
.ihc-hero__inner h2,
.ihc-hero__inner > h2 + p,
.ihc-hero__sub { line-height: 1.29; }


/* ==========================================================================
   44. CIKK-KATEGORIA ARCHIVUM: teljes szelessegu hero sav
   ========================================================================== */
body[data-prefix="categories"] .hero-section[data-type="type-2"] { --container-padding: 0; padding-inline: 0; }
body[data-prefix="categories"] .hero-section[data-type="type-2"] > .entry-header {
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  border-radius: 0;
  padding-inline: clamp(20px, 4vw, 40px);
}
/* a sav belso tartalma maradjon olvasasi szelessegen, kozepen */
body[data-prefix="categories"] .hero-section[data-type="type-2"] > .entry-header > * { max-width: 860px; margin-inline: auto; }


/* ==========================================================================
   45. HATEKONYSAG ALOLDALAK (wellness es tarsai)
   A terapia-sablon (.ihc-tp-*) osztalyaira epul, csak a nehany uj
   valtozat kerul ide.
   ========================================================================== */
/* ket hasabos kartyaracs */
.ihc-tp-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 860px) { .ihc-tp-cards--2 { grid-template-columns: 1fr; } }

/* Terapia-ajanlo kartya: ikon balra, szoveg es gomb jobbra */
.ihc-tp-card--wide {
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(14px, 1.6vw, 22px);
  text-align: left;
}
.ihc-tp-card--wide > .ihc-tp-icon { flex: 0 0 auto; margin: 0; }
.ihc-tp-card--wide > .ihc-tp-icon img {
  width: clamp(44px, 3.4vw, 52px);
  padding: clamp(10px, 1vw, 14px);
  box-sizing: content-box;
  background: var(--ihc-tint);
  border-radius: 999px;
}
.ihc-tp-card--wide .ihc-tp-card__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.ihc-tp-card--wide .ihc-tp-card__body.ihc-tp-card__body > * { margin-block-start: 0; }
.ihc-tp-card--wide h3 { margin: 0 0 8px; font-size: clamp(16px, 1.4vw, 20px); color: var(--ihc-deep); }
.ihc-tp-card--wide p  { margin: 0; font-size: clamp(13px, 1.05vw, 15px); line-height: 1.6; }
.ihc-tp-card--wide .ihc-btns { margin-top: auto; padding-top: 16px; }
.ihc-tp-card--wide .wp-block-button__link { padding: 9px 20px; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }

/* Pipas felsorolas (a pontos valtozat felulirasa) */
.ihc-tp-list--check li { padding-left: 34px; }
.ihc-tp-list--check li::before { width: 22px; height: 22px; top: .05em; }
.ihc-tp-list--check li::after {
  content: "";
  position: absolute;
  left: 8px;
  top: .35em;
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

/* Szeles GYIK sav */
.ihc-tp-faq--wide { max-width: 900px; margin-inline: auto; }

/* Kep balra, szoveg jobbra */
.ihc-tp-split--media-first { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
@media (max-width: 1023px) { .ihc-tp-split--media-first { grid-template-columns: 1fr; } }

/* ugyanaz a tomorebb fuggoleges ritmus, mint a terapia oldalakon */
.ihc-tp-therapies,
.ihc-tp-renew { padding-block: clamp(36px, 4.4vw, 62px); }
.ihc-tp-therapies.ihc-tp-therapies,
.ihc-tp-renew.ihc-tp-renew { margin-block: 0; }

/* --- Bevezeto szekcio: szelesebb sav, kisebb es sotet petrol cimsor --- */
.ihc-tp-intro .ihc-head { max-width: 980px; }
.ihc-tp-intro .ihc-head h2 {
  max-width: none;
  font-size: clamp(26px, 2.6vw, 38px);
  line-height: 1.2;
  color: var(--ihc-deep);
}
.ihc-tp-intro .ihc-head p { max-width: none; }

/* --- Elonyok szekcio: hatter nelkul, petrol fejlec --- */
.ihc-tp-benefits.ihc-section--tint { background: transparent; }
.ihc-tp-benefits .ihc-head .ihc-eyebrow { color: var(--ihc-bright); }
.ihc-tp-benefits .ihc-head h2 { color: var(--ihc-deep); }

/* --- Hatekonysag aloldalak: szelesebb, kisebb, sotet petrol szekciofej --- */
.ihc-topic .ihc-head { max-width: 1040px; }
.ihc-topic .ihc-head h2 {
  max-width: none;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.22;
  color: var(--ihc-deep);
}
.ihc-topic .ihc-head p { max-width: none; }

/* --- Hatekonysag aloldalak: fejlec szinek, kozepre igazitott kartya-ikon --- */
.ihc-topic .ihc-head .ihc-eyebrow { color: var(--ihc-bright); }
.ihc-topic .ihc-head h2 { color: var(--ihc-deep); }
/* az ikon fuggolegesen a kartya kozepen alljon */
.ihc-tp-card--wide { align-items: center; }
.ihc-tp-card--wide .wp-block-button__link { white-space: nowrap; }

/* --- Hatekonysag aloldalak: meg kisebb cimsor, levegosebb sorkoz --- */
.ihc-topic .ihc-head h2 {
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.35;
  color: var(--ihc-deep);
}
.ihc-topic .ihc-head .ihc-eyebrow { color: var(--ihc-bright); }

/* --- Hatekonysag aloldalak: GYIK szekcio hatter nelkul --- */
.ihc-topic .ihc-tp-info.ihc-section--tint { background: transparent; }

/* --- Terapia-ajanlo racs (fekvo, bal oldali ikonos kartyak).
       FIGYELEM: ezt az erteket az 50. szekcio 95%-ra irja felul. --- */
.ihc-topic .ihc-tp-cards--2 { max-width: 75%; margin-inline: auto; }

/* ==========================================================================
   46. Mobil off-canvas menu (Blocksy #offcanvas)
   A menu tartalma: Megjelenes > Menuk > "Mobil menu" (Mobile Menu hely).
   Az almenu-ikonok a Max Mega Menu kep-widgetjeibol jonnek, a PHP modul
   generalja hozzajuk a background-image szabalyokat.
   ========================================================================== */

#offcanvas.ct-panel {
  --panel-background: var(--ihc-bg);
  --panel-content-max-width: 400px;
}
#offcanvas .ct-panel-inner { background: var(--ihc-bg); }
#offcanvas .ct-panel-content[data-device="mobile"] .ct-panel-content-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-inline: 22px;
  padding-bottom: 28px;
}

/* A tema sajat, ures offcanvas-logo linkje helyett a sajatunkat hasznaljuk. */
#offcanvas [data-id="offcanvas-logo"] { display: none; }

/* --- Logo --- */
.ihc-mnav__brand {
  padding: 4px 0 20px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--ihc-line);
}
.ihc-mnav__brand a { display: inline-block; }
.ihc-mnav__brand img {
  display: block;
  width: auto;
  max-width: 190px;
  height: auto;
  max-height: 46px;
}

/* --- Menu tortzs --- */
#offcanvas .mobile-menu ul { list-style: none; margin: 0; padding: 0; }
#offcanvas .mobile-menu > ul > li { border-bottom: 1px solid var(--ihc-line); }
#offcanvas .mobile-menu > ul > li:last-child { border-bottom: 0; }

/* Elso szint: nagyobb, feltuno cimke, legalabb 48px erintesi felulet */
#offcanvas .mobile-menu > ul > li > a,
#offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 6px 0;
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--ihc-ink);
  text-decoration: none;
}
#offcanvas .mobile-menu .ct-sub-menu-parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
#offcanvas .mobile-menu .ct-sub-menu-parent > a { flex: 1 1 auto; }

/* Nyito gomb: kor alaku, jol celozhato */
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: var(--ihc-tint);
  color: var(--ihc-accent);
  transition: transform .2s ease, background-color .2s ease;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile[aria-expanded="true"] {
  transform: rotate(180deg);
  background: var(--ihc-accent);
  color: #fff;
}
#offcanvas .mobile-menu .ct-toggle-dropdown-mobile svg { width: 14px; height: 14px; fill: currentColor; }

/* --- Almenu: ikon + cimke --- */
#offcanvas .mobile-menu .sub-menu {
  margin: 2px 0 14px;
  padding: 6px;
  background: var(--ihc-tint);
  border-radius: 14px;
}
#offcanvas .mobile-menu .sub-menu li { border: 0; }
#offcanvas .mobile-menu .sub-menu li > a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 10px 8px 52px;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--ihc-body);
  text-decoration: none;
  border-radius: 10px;
}
/* Az ikon dekorativ: a link szovege hordozza a jelentest. */
#offcanvas .mobile-menu .sub-menu li > a::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  box-shadow: 0 1px 3px rgba(2, 63, 85, .08);
}
#offcanvas .mobile-menu .sub-menu li > a:hover,
#offcanvas .mobile-menu .sub-menu li > a:focus-visible { background: #fff; color: var(--ihc-ink); }

/* Aktualis oldal jelolese */
#offcanvas .mobile-menu .current-menu-item > a,
#offcanvas .mobile-menu .current_page_item > a { color: var(--ihc-accent); }

#offcanvas .mobile-menu a:focus-visible {
  outline: 2px solid var(--ihc-accent);
  outline-offset: 2px;
}

/* A megamenu mobil valtozatara nincs szukseg: az off-canvas veszi at. */
@media (max-width: 999px) {
  #mega-menu-wrap-menu_1 { display: none; }
}

/* ==========================================================================
   47. Terapia oldalak finomhangolas
   ========================================================================== */

/* --- Idopontfoglalas savja: kisebb terkoz a szoveg es a gomb kozott --- */
.ihc-tp-book__inner.ihc-tp-book__inner { gap: clamp(10px, 1.1vw, 16px); }
.ihc-tp-book__text.ihc-tp-book__text { margin-bottom: 0; }
.ihc-tp-book__btn.ihc-tp-book__btn { margin-top: 4px; }

/* --- Ikonos feher kartyak: kozepre rendezve --- */
/* Terapia- es Hatekonysag-aloldalakon egyarant. A szelesseg-korlatozas
   CSAK mobilon (<=720px) el, ahol a racs egy oszlopra all ossze; asztali
   es tablet nezetben a racs a teljes tartalomszelesseget kitolti. */
@media (max-width: 720px) {
  .ihc-tp-cards--5,
  .ihc-tp-cards--4 {
    max-width: 75%;
    margin-inline: auto;
  }
}
.ihc-tp-cards--5 > .ihc-tp-card,
.ihc-tp-cards--4 > .ihc-tp-card {
  align-items: center;
  text-align: center;
}
.ihc-tp-cards--5 > .ihc-tp-card > .ihc-tp-icon,
.ihc-tp-cards--4 > .ihc-tp-card > .ihc-tp-icon {
  margin-inline: auto;
}

/* Asztali nezetben nincs szelesseg-korlat; lasd a fenti media query-t. */

/* --- A fiok also blokkja: a Blocksy sajat fejlec-elemei (szoveg, CTA gomb,
       kozossegi ikonok). Tartalmuk a Testreszabo > Fejlec > Offcanvas alatt
       szerkesztheto, itt csak az elrendezesuket es a stilusukat adjuk meg. --- */
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-text {
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid var(--ihc-line);
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-text p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ihc-muted);
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-cta {
  margin-top: 16px;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-cta .ct-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--ihc-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-cta .ct-button:hover {
  background: var(--ihc-accent-2);
  color: #fff;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-header-socials {
  margin-top: 18px;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-social-box {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-social-box a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--ihc-tint);
  color: var(--ihc-deep);
}
#offcanvas .ct-panel-content[data-device="mobile"] .ct-social-box a svg { width: 17px; height: 17px; fill: currentColor; }
#offcanvas .ct-panel-content[data-device="mobile"] .ct-social-box a:hover { background: var(--ihc-accent); color: #fff; }

/* ==========================================================================
   48. Terapia- es Hatekonysag-aloldalak: tovabbi finomhangolas
   ========================================================================== */

/* --- 48.1 Feher, felul ikonos kartyak: kozepre rendezve ---
   A hero alatti mini kartyak es a lepes-panel is ide tartozik.
   A 75%-os sav csak mobilon (<=720px) ervenyes, asztali nezetben
   a blokkok teljes szelessegben allnak. */
@media (max-width: 720px) {
  .ihc-tp-mini,
  .ihc-tp-steps {
    max-width: 75%;
    margin-inline: auto;
  }
}
.ihc-tp-mini__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ihc-tp-mini__item > .ihc-tp-icon { margin-inline: auto; }

/* Asztali nezetben nincs szelesseg-korlat; lasd a fenti media query-t. */

/* --- 48.2 Idopontfoglalas savja mobilon: szoros, kozepre rendezett blokk,
       teljes szelessegu gombbal. --- */
@media (max-width: 720px) {
  .ihc-tp-book__inner.ihc-tp-book__inner {
    gap: 12px;
    align-items: center;
    text-align: center;
  }
  .ihc-tp-book__icon.ihc-tp-book__icon { margin-inline: auto; }
  .ihc-tp-book__text.ihc-tp-book__text { flex: 0 1 auto; width: 100%; }
  .ihc-tp-book h2 { margin-bottom: 6px; }
  .ihc-tp-book p  { margin-bottom: 0; }
  .ihc-tp-book__btn.ihc-tp-book__btn { margin-top: 2px; width: 100%; }
  .ihc-tp-book__btn .wp-block-button { width: 100%; }
  .ihc-tp-book__btn .wp-block-button__link { width: 100%; justify-content: center; }
}

/* --- 48.3 HATALYON KIVUL --- A Hatekonysag-aloldalak hero-ja mobilon
       ismet a kulon feltoltott mobil hatterkepet hasznalja (nem a fekvo
       asztali hatterkep jobb szelet). Lasd az 57. szekciot. --- */

/* ==========================================================================
   49. Hatekonysag-aloldalak hero: feher fatyol
   ASZTALI nezet: a fedes legfeljebb a kep szelessegenek 50%-aig tart, hogy
   a hatterkep nagyobb resze szabadon lathato maradjon. A bal szelen 96%-rol
   indul, es pontosan 50%-nal er 0%-ra.
   MOBIL nezet: lentebb, kulon media query - ott tovabb tart a fedes.
   ========================================================================== */
.ihc-topic .ihc-tp-hero::before {
  background: linear-gradient(
    74deg,
    rgba(255, 255, 255, .96) 0%,
    rgba(255, 255, 255, .90) 14%,
    rgba(255, 255, 255, .78) 26%,
    rgba(255, 255, 255, .56) 36%,
    rgba(255, 255, 255, .30) 44%,
    rgba(255, 255, 255, 0) 50%
  );
}

/* Mobilon a fekvo kep erosen ranagyitva jelenik meg, ezert a fatyol
   kicsit tovabb tart es a szog is meredekebb. */
@media (max-width: 900px) {
  .ihc-topic .ihc-tp-hero::before {
    background: linear-gradient(
      82deg,
      rgba(255, 255, 255, .97) 0%,
      rgba(255, 255, 255, .94) 30%,
      rgba(255, 255, 255, .82) 50%,
      rgba(255, 255, 255, .55) 62%,
      rgba(255, 255, 255, .26) 72%,
      rgba(255, 255, 255, 0) 82%
    );
  }
}

/* ==========================================================================
   50. Hatekonysag-aloldalak: fekvo, bal oldali ikonos kartyak (ihc-tp-cards--2)
   95% szeles sav. Ezen a racson a gomb nem torhet, ezert keskeny kartyanal
   kilogott a keretbol - kis kepernyon ezert a gomb a kartya teljes
   szelesseget kitolti es tordelhetove valik.
   ========================================================================== */
.ihc-topic .ihc-tp-cards--2 { max-width: 95%; margin-inline: auto; }

/* A gomb soha ne lepje tul a kartya kereteit. */
.ihc-tp-card--wide .ihc-tp-card__body { min-width: 0; }
.ihc-tp-card--wide .ihc-btns { max-width: 100%; }
.ihc-tp-card--wide .wp-block-button { max-width: 100%; }

@media (max-width: 780px) {
  .ihc-tp-card--wide .ihc-btns,
  .ihc-tp-card--wide .ihc-btns .wp-block-button { width: 100%; }
  .ihc-tp-card--wide .wp-block-button__link {
    width: 100%;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
}

/* ==========================================================================
   51. Nyelvvalaszto a mobil fejlecben, a menu-nyito gomb mellett
   ========================================================================== */
.ihc-langswitch {
  display: none;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-right: 4px;
  border-radius: 50%;
  background: var(--ihc-tint);
  line-height: 0;
  text-decoration: none;
}
.ihc-langswitch img {
  display: block;
  width: 20px;
  height: auto;
  border-radius: 2px;
}
.ihc-langswitch:hover { background: #dbe7e9; }
.ihc-langswitch:focus-visible {
  outline: 2px solid var(--ihc-accent);
  outline-offset: 2px;
}

/* Csak ott jelenjen meg, ahol a hamburger gomb is lathato (mobil nezet).
   Ugyanaz a torespont, mint amivel a megamenut elrejtjuk. */
@media (max-width: 999px) {
  .ihc-langswitch { display: inline-flex; }
  .ct-header [data-column="end"] [data-items="primary"] {
    display: flex;
    align-items: center;
    gap: 6px;
  }
}

/* ==========================================================================
   52. Javitasok
   ========================================================================== */

/* --- 52.1 /hamarosan/ kozossegi ikonok: pontosan a kor kozepen ---
   A WordPress core social-link blokk a linkre tesz belso margot, ezert a
   fix meretu korben az ikon elcsuszott. Duplazott osztaly kell, mert a
   core stiluslapja a sajatunk utan tolt be. */
.ihc-soon__social.ihc-soon__social .wp-social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.ihc-soon__social.ihc-soon__social .wp-social-link .wp-block-social-link-anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  line-height: 0;
}
.ihc-soon__social.ihc-soon__social .wp-social-link svg {
  display: block;
  width: 22px;
  height: 22px;
}

/* --- 52.2 Kapcsolat es Araink hero mobilon: a fatyol a kep 70%-an ---
   A Stackable atlatszo rateget (:before) irjuk felul; a plugin !important
   ertekeket ad ki, ezert itt is szukseges. */
@media (max-width: 900px) {
  body.page-id-16 .stk-block-columns.stk--has-background-overlay::before,
  body.page-id-6968 .stk-block-columns.stk--has-background-overlay::before {
    opacity: 1 !important;
    background-image: linear-gradient(
      82deg,
      rgba(255, 255, 255, .95) 0%,
      rgba(255, 255, 255, .90) 28%,
      rgba(255, 255, 255, .74) 46%,
      rgba(255, 255, 255, .46) 58%,
      rgba(255, 255, 255, .20) 66%,
      rgba(255, 255, 255, 0) 72%
    ) !important;
  }
}


/* ==========================================================================
   53. FOOLDALI HERO MOBILON: fuggoleges feher fatyol
   Mobilon a hero szovege a kep aljan all, ezert a fatyol is alulrol epul fel:
   a felso 40% teljesen tiszta marad, az also 60%-on van valamennyi fedes,
   legalul csaknem teljes. Ez a szabaly a 41. szekcio atlos (74 fokos)
   asztali fatyolat irja felul kis kepernyon.
   ========================================================================== */
@media (max-width: 900px) {
  .ihc-hero .wp-block-cover::after {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0)   40%,
      rgba(255, 255, 255, .26) 52%,
      rgba(255, 255, 255, .60) 66%,
      rgba(255, 255, 255, .86) 80%,
      rgba(255, 255, 255, .96) 100%
    );
  }
}


/* ==========================================================================
   54. ARAINK OLDAL (page-id-6968) MOBIL NEZETBEN
   54.1 A "Nyitva tartas" + "Berleteink 6 honapig ervenyesek" feher kartya:
        minden elem egymas ala kerul es kozepre rendezodik. A szerkesztobol
        jovo nagy oldalmargok (100px / 50px) es a jobbra igazitott ikonok
        semlegesitese. A hatar 767px, mert a Stackable sajat oszlop-
        szabalyai (flex-basis) csak 768px felett elnek - igy nincs utkozes.
   54.2 A "KOMBINALT BERLETEK" racs sajat 80%-os szelesseg-korlatja helyett
        mobilon teljes szelesseg, ketoldali behuzas nelkul.
   ========================================================================== */

/* --- 54.1 Nyitva tartas / berletek kartya --- */
@media (max-width: 767px) {
  body.page-id-6968 .stk-cbfa745.stk-cbfa745 {
    padding: 22px 16px !important;
  }

  /* A szerkesztoi oldalmargok es belso behuzasok kikapcsolasa */
  body.page-id-6968 .stk-cbfa745 .stk-6b39255,
  body.page-id-6968 .stk-cbfa745 .stk-2577fbf,
  body.page-id-6968 .stk-cbfa745 .stk-c29a37c,
  body.page-id-6968 .stk-cbfa745 .stk-7adb3d0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Minden oszlopsor egy oszlopba, kozepre rendezve */
  body.page-id-6968 .stk-cbfa745 .stk-row {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    row-gap: 8px;
  }
  body.page-id-6968 .stk-cbfa745 .stk-column {
    flex: 0 0 auto !important;
    width: 100% !important;
  }

  /* Ikon es szoveg egyarant kozepre (a blokkok sajat jobbra igazitasa helyett) */
  body.page-id-6968 .stk-cbfa745 .stk-inner-blocks {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.page-id-6968 .stk-cbfa745 .stk-block-image,
  body.page-id-6968 .stk-cbfa745 .stk-block-heading,
  body.page-id-6968 .stk-cbfa745 .stk-block-heading__text,
  body.page-id-6968 .stk-cbfa745 p {
    text-align: center !important;
  }
  body.page-id-6968 .stk-cbfa745 figure {
    display: flex;
    justify-content: center;
    margin-inline: auto;
  }

  /* Lathato terkoz a nyitva tartas es a berletek blokk kozott */
  body.page-id-6968 .stk-cbfa745 .stk-2577fbf {
    margin-top: 18px !important;
  }
}

/* --- 54.2 Kombinalt berletek racs: teljes szelesseg mobilon --- */
@media (max-width: 900px) {
  body.page-id-6968 .stk-b0d99ba.stk-b0d99ba {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ==========================================================================
   55. TERAPIA-ALOLDALAK HERO: teljes szelessegben folyamatos feher fatyol
   Erinti: Oxigenterapia, Krioterapia, Vorosfeny-terapia, Venamasszazs,
   AI masszazs terapia (.ihc-tp-hero, .ihc-topic osztaly nelkul).
   A fatyol a bal szelen 90%-os fedessel indul, a kep teljes szelessegen
   folyamatosan halvanyul, es pontosan a jobb szelen er 0%-ra - igy nincs
   lathato torespont, sem maradek fatyol a kep jobb oldalan.
   A Hatekonysag-aloldalakat (.ihc-topic .ihc-tp-hero::before, 49. szekcio)
   ez NEM erinti: az a szabaly specifikusabb, ezert ott sajat, 50%-ig tarto
   fatyol ervenyes.
   ========================================================================== */
.ihc-tp-hero::before {
  background: linear-gradient(
    74deg,
    rgba(255, 255, 255, .90) 0%,
    rgba(255, 255, 255, .80) 20%,
    rgba(255, 255, 255, .66) 40%,
    rgba(255, 255, 255, .48) 58%,
    rgba(255, 255, 255, .28) 76%,
    rgba(255, 255, 255, .12) 90%,
    rgba(255, 255, 255, 0) 100%
  );
}

/* Mobilon az allo hatterkep erosebben ranagyitva latszik, ezert meredekebb
   szog, de ugyanaz a logika: 90%-rol indul es a jobb szelen er 0%-ra. */
@media (max-width: 900px) {
  .ihc-tp-hero::before {
    background: linear-gradient(
      82deg,
      rgba(255, 255, 255, .92) 0%,
      rgba(255, 255, 255, .84) 24%,
      rgba(255, 255, 255, .70) 45%,
      rgba(255, 255, 255, .50) 62%,
      rgba(255, 255, 255, .28) 80%,
      rgba(255, 255, 255, .10) 92%,
      rgba(255, 255, 255, 0) 100%
    );
  }
}


/* ==========================================================================
   56. BLOG LISTAOLDAL MOBILON: az "ELOLVASOM" gomb kozepre
   A kartya tartalma egy fuggoleges flex oszlop, a gomb alapertelmezetten
   balra igazodik (align-self: flex-start, 1920. sor korul). 680px alatt a
   kartya amugy is egymas ala rendezodik (kep felul, szoveg alatta), ott a
   gomb kozepre igazitva mutat jobban.
   Erinti a blog listaoldalt es a kategoria-archivumokat is.
   ========================================================================== */
@media (max-width: 680px) {
  .entries[data-layout] .entry-card .ct-button,
  .entries[data-layout] .entry-card .ct-button-ghost {
    align-self: center;
  }
}


/* ==========================================================================
   57. HATEKONYSAG-ALOLDALAK HERO MOBILON: kulon feltoltott mobil hatterkep
   A hero csoport sajat (fekvo) hatterkepe helyett mobilon a blokkba
   feltoltott allo kep feszul ki - ugyanaz a mechanizmus, mint a terapia
   aloldalakon (39. szekcio). A kepet a Gutenbergben lehet cserelni: a hero
   szekcio "ihc-tp-hero__mobile-img" osztalyu kepblokkja.
   Ez a szabaly valtja fel a korabbi 48.3 pontot.
   ========================================================================== */
@media (max-width: 900px) {
  /* a csoport csak burok: engedjuk at a kepet a hero kozvetlen gyerekekent */
  .ihc-topic .ihc-tp-hero .ihc-tp-hero__media { display: contents; }

  .ihc-topic .ihc-tp-hero .ihc-tp-hero__mobile-img {
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    margin: 0;
    width: auto;
  }
  .ihc-topic .ihc-tp-hero .ihc-tp-hero__mobile-img img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
  }
}


/* ==========================================================================
   58. ARAINK OLDAL HERO MOBILON: kisebb bevezeto szoveg
   A Stackable a blokk sajat stilusaban 20px-et ad ki !important-tal
   (asztali es tablet nezetben egyarant), ezert kell ide is az !important.
   ========================================================================== */
@media (max-width: 767px) {
  body.page-id-6968 .stk-ba40944 .stk-block-text__text {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}


/* ==========================================================================
   59. FOOLDALI HERO MOBILON: nagyobb bevezeto szoveg
   A cimsor alatti leiro bekezdes 12px-rol 14px-re nő (a WP a bekezdesre
   has-medium-font-size osztalyt tesz, amit !important-tal allit, ezert
   itt is szukseges).
   ========================================================================== */
@media (max-width: 900px) {
  .ihc-hero__inner.ihc-hero__inner > h2 + p + p,
  .ihc-hero__inner.ihc-hero__inner > .ihc-hero__sub + p {
    font-size: 14px !important;
    line-height: 1.5;
  }
}


/* ================================================================
   60. H1 konverzio - megjelenes megorzese (Kapcsolat, Araink)
   Az oldal fo cimsora h2-rol h1-re valtozott SEO okbol.
   A Blocksy h1 stilus (52/42/32px, 800) helyett a korabbi
   h2 megjelenest tartjuk meg, hogy vizualisan semmi ne valtozzon.
   ================================================================ */
body.page-id-16 .stk-67f5bac .stk-block-heading__text,
body.page-id-6968 .stk-67f5bac .stk-block-heading__text {
  font-weight: 700;
}
body.page-id-6968 .stk-67f5bac .stk-block-heading__text {
  font-size: 40px;
  line-height: 1.15;
  letter-spacing: -0.015em;
}
@media (max-width: 1023px) {
  body.page-id-6968 .stk-67f5bac .stk-block-heading__text { font-size: 34px; }
}
@media (max-width: 767px) {
  body.page-id-6968 .stk-67f5bac .stk-block-heading__text { font-size: 26px; }
}

/* ===== Hírlevél: az adatkezelési jelölőnégyzet és a szöveg egy sorban ===== */
.ihc-blog-newsletter .wpforms-field-checkbox ul,
.ihc-blog-newsletter .wpforms-field-checkbox li { margin: 0; padding: 0; list-style: none; }
.ihc-blog-newsletter .wpforms-field-checkbox li { display: flex; align-items: center; gap: 10px; }
.ihc-blog-newsletter .wpforms-field-checkbox li input[type="checkbox"] { flex: 0 0 auto; margin: 0; }
.ihc-blog-newsletter .wpforms-field-checkbox li label { margin: 0; line-height: 1.35; }
