/* =========================================================================
   KAVIART CMS – front-end stílus  (v1.2.0)
   A jóváhagyott HTML-ből portolva. Az Elementor "Hello" alaptéma agresszív
   alapértelmezései (img height:auto, body színek, link-szín, betűtípus) ellen
   a vizuális tulajdonságokon !important. A reszponzív felülírások szintén
   !important-tal, hogy ne ütközzenek a fenti szabályokkal.
   ========================================================================= */

:root{
  --kv-ink:#161616;--kv-paper:#fff;--kv-muted:#5d5d5d;--kv-pink:#e0639a;
  --kv-maxw:1180px;--kv-pad:clamp(20px,5vw,60px);
  --kv-display:"Bricolage Grotesque",system-ui,-apple-system,sans-serif;
  --kv-body:"Inter",system-ui,-apple-system,sans-serif;
}

/* --- Szkópolt alap-reset (a téma alapértelmezéseinek semlegesítése) --- */
.kv-root,.kv-root *{box-sizing:border-box}
.kv-root{margin:0 !important;background:var(--kv-paper) !important;color:var(--kv-ink) !important;
  font-family:var(--kv-body) !important;line-height:1.6 !important;-webkit-font-smoothing:antialiased}
.kv-root img{max-width:100% !important;height:auto !important}
.kv-root a{color:var(--kv-ink)}
.kv-root h1,.kv-root h2,.kv-root h3,.kv-root h4{font-family:var(--kv-display) !important;line-height:1.1 !important;color:var(--kv-ink)}
.kv-root p{color:inherit}

/* =============================== FEJLÉC =============================== */
.kv-nav,.kv-nav *{box-sizing:border-box}
.kv-nav{font-family:var(--kv-body) !important;background:var(--kv-paper) !important;border-bottom:0 !important}
.kv-nav__inner{max-width:var(--kv-maxw);margin:0 auto;padding:22px var(--kv-pad);
  display:flex !important;align-items:center;justify-content:space-between;gap:24px}
.kv-nav__brand{display:inline-flex !important;align-items:center;color:var(--kv-ink) !important;text-decoration:none !important}
.kv-nav__brand .kv-k{width:30px;height:30px;fill:currentColor !important;display:block !important}
.kv-nav__menu{display:flex !important;align-items:center;gap:clamp(16px,2.3vw,40px);
  list-style:none !important;margin:0 !important;padding:0 !important}
.kv-nav__menu li{margin:0 !important;padding:0 !important;list-style:none !important;background:none !important}
.kv-nav__menu a{font-family:var(--kv-body) !important;font-weight:600 !important;font-size:.92rem !important;
  letter-spacing:.005em;color:var(--kv-ink) !important;text-decoration:none !important;padding:6px 0;
  border-bottom:2px solid transparent !important;transition:border-color .18s ease,opacity .18s ease}
.kv-nav__menu a:hover{border-bottom-color:var(--kv-ink) !important;opacity:1 !important}
.kv-nav__menu a:focus-visible{outline:2px solid var(--kv-ink);outline-offset:4px;border-radius:2px}
.kv-nav__toggle{display:none;background:none !important;border:0 !important;padding:8px;cursor:pointer;color:var(--kv-ink) !important}
.kv-nav__toggle svg{display:block;width:26px;height:26px}
@media (max-width:820px){
  .kv-nav__toggle{display:inline-flex !important}
  .kv-nav__menu{position:absolute;left:0;right:0;top:100%;flex-direction:column !important;align-items:flex-start;
    gap:0 !important;background:var(--kv-paper) !important;padding:8px var(--kv-pad) 20px;
    box-shadow:0 18px 30px -22px rgba(0,0,0,.4);
    max-height:0;overflow:hidden;transition:max-height .28s ease;z-index:30}
  .kv-nav__menu a{width:100%;padding:14px 0 !important;font-size:1.05rem !important;border-bottom:1px solid #eee !important}
  .kv-nav__inner{position:relative}
  .kv-nav[data-open="true"] .kv-nav__menu{max-height:480px}
}
@media (prefers-reduced-motion:reduce){.kv-nav__menu,.kv-nav__menu a{transition:none}}

/* ================================ HERO =============================== */
.kv-hero,.kv-hero *{box-sizing:border-box}
.kv-hero{position:relative;min-height:clamp(440px,72vh,720px);
  display:flex !important;align-items:center;justify-content:center;overflow:hidden;
  background-color:#231a3c !important;
  background-image:
    radial-gradient(42% 55% at 16% 22%, #ff5a3c 0, transparent 60%),
    radial-gradient(46% 52% at 82% 18%, #ffd23f 0, transparent 58%),
    radial-gradient(52% 60% at 74% 82%, #18b6a6 0, transparent 62%),
    radial-gradient(58% 66% at 22% 88%, #2f6bff 0, transparent 62%),
    linear-gradient(135deg,#7a25d6,#1f5fe0)}
.kv-hero::after{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.4) 0, rgba(255,255,255,0) 42%);
  pointer-events:none}
.kv-hero__logo{position:relative;z-index:1;display:flex !important;flex-direction:column;
  align-items:center;color:var(--kv-ink) !important}
.kv-hero__logo .kv-k{width:clamp(78px,11vw,120px);height:auto;fill:currentColor !important;display:block !important}
.kv-hero__word{margin-top:14px;font-family:var(--kv-body) !important;font-weight:600 !important;
  letter-spacing:.5em;text-indent:.5em;font-size:clamp(.8rem,1.5vw,1.05rem);
  text-transform:uppercase;color:var(--kv-ink) !important}

/* =============================== KÁRTYÁK ============================= */
.kv-cards,.kv-cards *{box-sizing:border-box}
.kv-cards{background:var(--kv-paper) !important;padding:clamp(36px,6vw,72px) 0}
.kv-cards__inner{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad);
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(16px,2.4vw,30px)}
.kv-cards__item{position:relative;display:flex !important;align-items:center;justify-content:center;
  aspect-ratio:1/1;overflow:hidden;text-decoration:none !important;color:#fff !important;isolation:isolate}
.kv-cards__item img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;z-index:0;max-width:none !important}
.kv-cards__item::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.34));transition:background .2s ease}
.kv-cards__item:hover::after{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42))}
.kv-cards__item:focus-visible{outline:3px solid var(--kv-ink);outline-offset:3px}
.kv-cards__label{position:relative;z-index:2;font-family:var(--kv-body) !important;font-weight:500 !important;
  font-size:clamp(1.1rem,2vw,1.5rem) !important;letter-spacing:.01em;text-align:center;color:#fff !important;
  text-shadow:0 1px 14px rgba(0,0,0,.4)}
@media (max-width:760px){.kv-cards__inner{grid-template-columns:1fr !important;gap:14px}}
@media (prefers-reduced-motion:reduce){.kv-cards__item::after{transition:none}}

/* ====================== PROGRAM CÍMKÉK (chips) ====================== */
.kv-root .kv-chips{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:8px !important;margin:0 0 18px !important;padding:0 !important;list-style:none !important}
.kv-root .kv-chip{display:inline-flex !important;align-items:center !important;gap:6px !important;font-family:var(--kv-body) !important;
  font-weight:600 !important;font-size:.72rem !important;line-height:1 !important;letter-spacing:.07em !important;
  text-transform:uppercase !important;padding:7px 13px !important;border-radius:999px !important;white-space:nowrap !important;border:0 !important}
.kv-root .kv-chip__ico{flex:none !important;width:13px !important;height:13px !important;display:block !important;opacity:.85}
.kv-root .kv-chip--cat{background:var(--kv-pink) !important;color:#fff !important;letter-spacing:.08em !important}
.kv-root .kv-chip--date{background:#f4f4f4 !important;color:#555 !important}
.kv-root .kv-chip--loc{background:#f4f4f4 !important;color:#555 !important}

/* ===================== CIKK BLOKKOK (kiemelt program) ================= */
.kv-article,.kv-article *,.kv-article2,.kv-article2 *{box-sizing:border-box}
.kv-article,.kv-article2{background:var(--kv-paper) !important;padding:clamp(40px,6vw,80px) 0;font-family:var(--kv-body) !important}
.kv-article__inner,.kv-article2__inner{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad);
  display:grid !important;grid-template-columns:0.92fr 1.08fr !important;gap:clamp(28px,5vw,64px);align-items:center}
.kv-article__media,.kv-article2__media{aspect-ratio:4/5;width:100% !important;overflow:hidden}
.kv-article__media img,.kv-article2__media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important}
.kv-article__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  text-align:center;background:#efefef !important;color:#9a9a9a !important;border:1px dashed #c9c9c9;font-size:.82rem;line-height:1.5;padding:16px}
.kv-article2__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  text-align:center;background:#0c1622 !important;color:#7d93ab !important;border:1px dashed #28415c;font-size:.82rem;line-height:1.5;padding:16px}
.kv-article__body,.kv-article2__body{max-width:560px;min-width:0}
.kv-article h2,.kv-article2 h2{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 18px !important;
  font-size:clamp(1.55rem,3.2vw,2.35rem) !important;line-height:1.1 !important;letter-spacing:-.01em;color:var(--kv-ink) !important}
.kv-article h2 a,.kv-article2 h2 a{color:inherit !important;text-decoration:none !important}
.kv-article p,.kv-article2 p{margin:0 0 18px !important;font-size:1.02rem !important;line-height:1.66 !important;color:#3a3a3a !important}
.kv-article__links,.kv-article2__links{display:flex !important;flex-wrap:wrap;gap:clamp(24px,4vw,52px);margin-top:28px}
.kv-link{font-family:var(--kv-body) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.13em !important;
  font-size:.82rem !important;color:var(--kv-ink) !important;text-decoration:none !important;border-bottom:2px solid var(--kv-ink) !important;
  padding-bottom:5px !important;transition:opacity .18s ease;display:inline-block !important;background:none !important}
.kv-link:hover{opacity:.55}
.kv-link:focus-visible{outline:2px solid var(--kv-ink);outline-offset:5px;border-radius:2px}
@media (max-width:780px){
  .kv-article__inner,.kv-article2__inner{grid-template-columns:1fr !important;gap:26px}
  .kv-article__media,.kv-article2__media{aspect-ratio:3/2;max-height:420px}
}

/* ================= PROGRAM SOROK (lista, egyesével) ================= */
.kv-list .kv-prows{display:flex !important;flex-direction:column !important;gap:0 !important;list-style:none !important;margin:0 !important;padding:0 !important}
.kv-prow{display:grid !important;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr) !important;
  gap:clamp(24px,4vw,56px) !important;align-items:center !important;
  padding:clamp(28px,4vw,52px) 0 !important;border-bottom:1px solid #ececec !important;background:none !important}
.kv-prow:first-child{padding-top:0 !important}
.kv-prow__media{display:block !important;aspect-ratio:16/11;width:100% !important;overflow:hidden !important;
  background:#eee !important;border-radius:14px !important;box-shadow:0 1px 0 rgba(0,0,0,0);transition:box-shadow .25s ease,transform .25s ease}
.kv-prow__media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important;transition:transform .5s ease}
.kv-prow__media:hover{box-shadow:0 26px 50px -28px rgba(0,0,0,.5) !important}
.kv-prow__media:hover img{transform:scale(1.05)}
.kv-prow__body{min-width:0 !important}
.kv-prow__title{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 16px !important;
  font-size:clamp(1.45rem,3vw,2.15rem) !important;line-height:1.1 !important;letter-spacing:-.012em;color:var(--kv-ink) !important}
.kv-prow__title a{color:inherit !important;text-decoration:none !important;transition:color .18s ease}
.kv-prow__title a:hover{color:var(--kv-pink) !important}
.kv-prow__excerpt{margin:0 0 24px !important;font-size:1.02rem !important;line-height:1.66 !important;color:#444 !important}
.kv-prow__actions{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:clamp(20px,3vw,40px) !important}
.kv-prow__actions a.kv-link::after{content:"\00A0\2192";display:inline-block !important;transition:transform .2s ease}
.kv-prow__actions a.kv-link:hover::after{transform:translateX(4px)}
@media (max-width:780px){
  .kv-prow{grid-template-columns:1fr !important;gap:18px !important;padding:26px 0 !important}
  .kv-prow__media{aspect-ratio:3/2;max-height:360px;border-radius:12px !important}
}

/* ===================== BLOG RÁCS (egységes képek) =================== */
.kv-bloggrid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(24px,3vw,44px) !important;list-style:none !important;margin:0 !important;padding:0 !important}
.kv-blogcard{display:flex !important;flex-direction:column !important;background:transparent !important;margin:0 !important}
.kv-blogcard__media{display:block !important;aspect-ratio:16/10;width:100% !important;overflow:hidden !important;
  background:#eee !important;border-radius:14px !important;margin:0 0 18px !important;transition:box-shadow .25s ease}
.kv-blogcard__media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important;transition:transform .5s ease}
.kv-blogcard__media:hover{box-shadow:0 24px 46px -28px rgba(0,0,0,.5) !important}
.kv-blogcard__media:hover img{transform:scale(1.05)}
.kv-blogcard__body{display:flex !important;flex-direction:column !important;align-items:flex-start !important}
.kv-blogcard__badge{display:inline-block !important;background:var(--kv-pink) !important;color:#fff !important;
  font-family:var(--kv-body) !important;font-weight:600 !important;font-size:.68rem !important;letter-spacing:.08em !important;
  text-transform:uppercase !important;padding:6px 11px !important;border-radius:999px !important;margin:0 0 13px !important;border:0 !important}
.kv-blogcard__title{font-family:var(--kv-display) !important;font-weight:700 !important;font-size:1.22rem !important;
  line-height:1.18 !important;margin:0 0 10px !important;color:var(--kv-ink) !important;letter-spacing:-.01em}
.kv-blogcard__title a{color:inherit !important;text-decoration:none !important;transition:color .18s ease}
.kv-blogcard__title a:hover{color:var(--kv-pink) !important}
.kv-blogcard__excerpt{margin:0 0 16px !important;font-size:.98rem !important;line-height:1.6 !important;color:#444 !important}
.kv-blogcard .kv-link::after{content:"\00A0\2192";display:inline-block !important;transition:transform .2s ease}
.kv-blogcard .kv-link:hover::after{transform:translateX(4px)}
@media (max-width:860px){.kv-bloggrid{grid-template-columns:1fr 1fr !important}}
@media (max-width:560px){.kv-bloggrid{grid-template-columns:1fr !important}}

/* =============================== MI EZ? ============================== */
.kv-about,.kv-about *{box-sizing:border-box}
.kv-about{background:var(--kv-paper) !important;padding:clamp(40px,6vw,80px) 0;font-family:var(--kv-body) !important}
.kv-about__inner{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad);
  display:grid !important;grid-template-columns:0.85fr 1.15fr !important;gap:clamp(28px,5vw,64px);align-items:start}
.kv-about__media{aspect-ratio:3/4;width:100% !important;position:sticky;top:24px;overflow:hidden}
.kv-about__media img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important}
.kv-about__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  text-align:center;background:#efefef !important;color:#9a9a9a !important;border:1px dashed #c9c9c9;font-size:.82rem;line-height:1.5;padding:16px}
.kv-about__body{max-width:620px;min-width:0}
.kv-about h2{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 22px !important;
  font-size:clamp(1.8rem,3.6vw,2.6rem) !important;line-height:1.05 !important;letter-spacing:-.015em;color:var(--kv-ink) !important}
.kv-about p{margin:0 0 16px !important;font-size:1.02rem !important;line-height:1.66 !important;color:#3a3a3a !important}
.kv-about p strong{font-weight:600 !important}
@media (max-width:780px){
  .kv-about__inner{grid-template-columns:1fr !important;gap:24px}
  .kv-about__media{position:static;aspect-ratio:3/2;max-height:440px}
}

/* ============================ KULTURSOKKK =========================== */
.kv-shock,.kv-shock *{box-sizing:border-box}
.kv-shock{background:var(--kv-paper) !important;padding:clamp(40px,6vw,80px) 0;font-family:var(--kv-body) !important}
.kv-shock__inner{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad);
  display:grid !important;grid-template-columns:0.78fr 1.22fr !important;gap:clamp(28px,5vw,60px);align-items:start}
.kv-shock__media{display:grid !important;gap:clamp(14px,2vw,22px)}
.kv-shock__img{aspect-ratio:4/3;width:100% !important;overflow:hidden}
.kv-shock__img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important}
.kv-shock__body{max-width:640px;min-width:0}
.kv-shock h2{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 22px !important;
  font-size:clamp(1.8rem,3.6vw,2.6rem) !important;line-height:1.05 !important;letter-spacing:-.015em;color:var(--kv-ink) !important}
.kv-shock p{margin:0 0 16px !important;font-size:1.02rem !important;line-height:1.66 !important;color:#3a3a3a !important}
.kv-shock__cta{margin-top:28px}
@media (max-width:780px){
  .kv-shock__inner{grid-template-columns:1fr !important;gap:24px}
  .kv-shock__media{grid-template-columns:1fr 1fr !important}
}

/* ===================== KIEMELT BLOG (Hockney panel) ================== */
.kv-hockney,.kv-hockney *{box-sizing:border-box}
.kv-hockney{font-family:var(--kv-body) !important;padding:clamp(20px,4vw,48px) 0}
.kv-hockney__inner{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad)}
.kv-hockney__grid{display:grid !important;grid-template-columns:1fr 1fr !important;align-items:stretch;min-height:clamp(360px,42vw,520px)}
.kv-hockney__media{position:relative;overflow:hidden;background:#2a1505 !important}
.kv-hockney__media img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover !important;max-width:none !important}
.kv-hockney__panel{background:var(--kv-pink) !important;color:#1a0d14 !important;display:flex !important;flex-direction:column;
  justify-content:center;padding:clamp(28px,4vw,56px)}
.kv-hockney__panel-in{max-width:520px}
.kv-hockney h2{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 20px !important;
  font-size:clamp(1.5rem,3vw,2.2rem) !important;line-height:1.1 !important;letter-spacing:-.01em;color:#1a0d14 !important;
  display:inline-block !important;border-bottom:2px solid #1a0d14 !important;padding-bottom:8px}
.kv-hockney h2 a{color:inherit !important;text-decoration:none !important}
.kv-hockney p{margin:0 !important;font-size:1.02rem !important;line-height:1.66 !important;color:#27121d !important}
.kv-hockney__cta{margin-top:28px}
.kv-hockney .kv-link{color:#1a0d14 !important;border-bottom-color:#1a0d14 !important}
.kv-hockney .kv-link:hover{opacity:.6}
.kv-hockney .kv-link:focus-visible{outline:2px solid #1a0d14}
@media (max-width:780px){
  .kv-hockney__grid{grid-template-columns:1fr !important}
  .kv-hockney__media{min-height:240px}
}

/* =============================== LÁBLÉC ============================== */
.kv-contact,.kv-contact *{box-sizing:border-box}
.kv-contact{position:relative;overflow:hidden;color:#fff !important;font-family:var(--kv-body) !important;
  background-color:#2a1605 !important;
  background-image:
    radial-gradient(45% 60% at 18% 30%,#ff7a1a 0,transparent 60%),
    radial-gradient(50% 55% at 80% 22%,#ffd23f 0,transparent 58%),
    radial-gradient(55% 60% at 70% 85%,#2f6bff 0,transparent 62%),
    radial-gradient(50% 55% at 30% 80%,#e23b2e 0,transparent 60%),
    linear-gradient(135deg,#b3370a,#5a1c06)}
.kv-contact::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.55))}
.kv-contact__inner{position:relative;z-index:1;max-width:var(--kv-maxw);margin:0 auto;
  padding:clamp(56px,9vw,120px) var(--kv-pad) clamp(32px,4vw,48px);
  min-height:clamp(360px,40vw,480px);display:flex !important;flex-direction:column;justify-content:flex-end}
.kv-contact h2{font-family:var(--kv-display) !important;font-weight:700 !important;margin:0 0 28px !important;
  font-size:clamp(2.2rem,6vw,4rem) !important;line-height:1 !important;letter-spacing:-.02em;color:#fff !important}
.kv-contact__rows{display:flex !important;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.kv-contact__info{display:grid !important;gap:18px}
.kv-contact__label{font-weight:600 !important;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;opacity:.85;margin-bottom:5px;color:#fff !important}
.kv-contact__info a{color:#fff !important;text-decoration:none !important;font-size:1.05rem !important;font-weight:500 !important;
  border-bottom:1px solid transparent !important;transition:border-color .18s ease}
.kv-contact__info a:hover{border-bottom-color:#fff !important}
.kv-contact__info a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:2px}
.kv-contact__logo{color:#fff !important}
.kv-contact__logo .kv-k{width:56px;height:56px;fill:currentColor !important;display:block !important;margin-left:auto}
.kv-contact__word{margin-top:6px;font-weight:600 !important;letter-spacing:.42em;text-indent:.42em;
  font-size:.62rem;text-transform:uppercase;text-align:right;opacity:.92;color:#fff !important}
@media (max-width:620px){
  .kv-contact__rows{flex-direction:column !important;align-items:flex-start}
  .kv-contact__logo .kv-k{margin-left:0}
  .kv-contact__word{text-align:left}
}

/* =============================== GALÉRIA ============================= */
.kv-gallery{background:var(--kv-paper) !important;padding:clamp(28px,5vw,64px) 0}
.kv-gallery__grid{max-width:var(--kv-maxw);margin:0 auto;padding:0 var(--kv-pad);
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:clamp(10px,1.6vw,18px)}
.kv-gallery__item{position:relative;display:block !important;aspect-ratio:1/1;overflow:hidden;background:#eee !important}
.kv-gallery__item img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover !important;max-width:none !important;
  transition:transform .4s ease}
.kv-gallery__item:hover img{transform:scale(1.04)}
.kv-gallery__item:focus-visible{outline:3px solid var(--kv-ink);outline-offset:3px}
.kv-gallery--empty{max-width:var(--kv-maxw);margin:0 auto;padding:clamp(40px,8vw,90px) var(--kv-pad);
  text-align:center;color:var(--kv-muted) !important;font-family:var(--kv-body) !important}
@media (max-width:760px){.kv-gallery__grid{grid-template-columns:1fr 1fr !important}}
@media (max-width:460px){.kv-gallery__grid{grid-template-columns:1fr !important}}

/* ====================== BELSŐ OLDALAK (program/blog) ================= */
.kv-page{font-family:var(--kv-body) !important;color:var(--kv-ink) !important;background:var(--kv-paper) !important}
.kv-page__inner{max-width:var(--kv-maxw);margin:0 auto;padding:clamp(36px,6vw,72px) var(--kv-pad)}
.kv-page__head{max-width:var(--kv-maxw);margin:0 0 clamp(28px,4vw,48px)}
.kv-page__eyebrow{font-family:var(--kv-body) !important;font-weight:600 !important;text-transform:uppercase !important;
  letter-spacing:.16em !important;font-size:.74rem !important;color:var(--kv-pink) !important;margin:0 0 14px !important}
.kv-page h1,.kv-page__head h1{font-family:var(--kv-display) !important;font-weight:800 !important;margin:0 0 18px !important;
  font-size:clamp(2rem,5vw,3.2rem) !important;line-height:1.04 !important;letter-spacing:-.02em;color:var(--kv-ink) !important}
.kv-page__meta{display:flex !important;flex-wrap:wrap;gap:18px 28px;color:var(--kv-muted) !important;font-size:.95rem;margin:0 0 8px}
.kv-page__meta span{display:inline-flex !important;align-items:center;gap:8px}
.kv-page__cover{max-width:var(--kv-maxw);margin:0 auto clamp(28px,4vw,48px);aspect-ratio:16/9;overflow:hidden}
.kv-page__cover img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;max-width:none !important}
.kv-empty{color:var(--kv-muted) !important;font-size:1.05rem;text-align:center;padding:clamp(36px,7vw,80px) 0;
  border-top:1px solid #ececec;border-bottom:1px solid #ececec}

/* prózastílus a the_content-hez */
.kv-prose{max-width:760px;margin:0 auto;font-size:1.06rem !important;line-height:1.75 !important;color:#262626 !important}
.kv-prose > *{margin:0 0 1.1em}
.kv-prose h2,.kv-prose h3{font-family:var(--kv-display) !important;color:var(--kv-ink) !important;line-height:1.15 !important;
  margin:1.6em 0 .6em;letter-spacing:-.01em}
.kv-prose h2{font-size:clamp(1.4rem,3vw,1.9rem) !important}
.kv-prose h3{font-size:clamp(1.15rem,2.4vw,1.45rem) !important}
.kv-prose a{color:var(--kv-ink) !important;text-decoration:underline !important;text-underline-offset:3px;text-decoration-thickness:1px}
.kv-prose a:hover{color:var(--kv-pink) !important}
.kv-prose img{height:auto !important;border-radius:2px}
.kv-prose blockquote{border-left:3px solid var(--kv-pink) !important;margin:1.6em 0;padding:.2em 0 .2em 22px;
  color:#3a3a3a !important;font-size:1.12rem;font-style:italic}
.kv-prose ul,.kv-prose ol{padding-left:1.3em}
.kv-prose li{margin:.4em 0}
.kv-page__actions{max-width:760px;margin:clamp(28px,4vw,44px) auto 0;display:flex !important;flex-wrap:wrap;gap:clamp(20px,4vw,40px)}

/* =========================== KAPCSOLAT OLDAL ======================== */
.kv-kapcsolat,.kv-kapcsolat *{box-sizing:border-box}
.kv-kapcsolat{font-family:var(--kv-body) !important;color:var(--kv-ink) !important;background:var(--kv-paper) !important}
.kv-kapcsolat__inner{max-width:var(--kv-maxw);margin:0 auto;padding:clamp(36px,6vw,72px) var(--kv-pad)}
.kv-kapcsolat__grid{display:grid !important;grid-template-columns:0.8fr 1.2fr !important;gap:clamp(32px,5vw,72px) !important;align-items:start}
.kv-kapcsolat__info{min-width:0}
.kv-kapcsolat__intro{margin:0 0 26px !important;font-size:1.05rem !important;line-height:1.7 !important;color:#3a3a3a !important}
.kv-kapcsolat__row{margin:0 0 20px !important}
.kv-kapcsolat__label{display:block !important;font-family:var(--kv-body) !important;font-weight:600 !important;text-transform:uppercase !important;
  letter-spacing:.14em !important;font-size:.72rem !important;color:var(--kv-pink) !important;margin:0 0 5px !important}
.kv-kapcsolat__row a{font-size:1.1rem !important;font-weight:500 !important;color:var(--kv-ink) !important;text-decoration:none !important;
  border-bottom:1px solid transparent !important;transition:border-color .18s ease}
.kv-kapcsolat__row a:hover{border-bottom-color:var(--kv-ink) !important}
.kv-form--contact{max-width:none;background:#fafafa !important;border:1px solid #ededed !important;border-radius:18px !important;
  padding:clamp(22px,3.5vw,36px) !important;box-shadow:0 30px 60px -42px rgba(0,0,0,.4)}
@media (max-width:820px){.kv-kapcsolat__grid{grid-template-columns:1fr !important;gap:32px !important}}

/* =========================== LIGHTBOX =============================== */
.kv-lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  background:rgba(16,16,16,.92);padding:24px}
.kv-lb.is-open{display:flex !important}
.kv-lb__img{max-width:92vw;max-height:86vh;object-fit:contain !important;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.kv-lb__btn{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;
  width:52px;height:52px;border-radius:999px;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .18s ease}
.kv-lb__btn:hover{background:rgba(255,255,255,.25)}
.kv-lb__close{top:20px;right:20px}
.kv-lb__prev{left:20px;top:50%;transform:translateY(-50%)}
.kv-lb__next{right:20px;top:50%;transform:translateY(-50%)}
@media (max-width:560px){.kv-lb__prev,.kv-lb__next{display:none}}

/* ====================== RAGADÓS MOBIL KAPCSOLAT ===================== */
.kv-mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  grid-template-columns:1fr 1fr;gap:1px;background:rgba(0,0,0,.08);
  box-shadow:0 -10px 30px -16px rgba(0,0,0,.5)}
.kv-mcta a{display:flex !important;align-items:center;justify-content:center;gap:8px;padding:15px 10px;
  font-family:var(--kv-body) !important;font-weight:600 !important;font-size:.92rem !important;text-decoration:none !important;
  background:var(--kv-ink) !important;color:#fff !important}
.kv-mcta a.kv-mcta--mail{background:var(--kv-pink) !important;color:#1a0d14 !important}
@media (max-width:820px){.kv-mcta.is-on{display:grid !important}}

/* ====================== OLVASÁSI FOLYAMATJELZŐ ===================== */
.kv-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:9998;background:var(--kv-pink) !important;transition:width .1s linear}

/* ============================= REVEAL ============================== */
.kv-reveal{opacity:0;transform:translateY(20px)}
.kv-reveal.is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
@media (prefers-reduced-motion:reduce){
  .kv-reveal{opacity:1 !important;transform:none !important}
}

/* =========================================================================
   JELENTKEZÉS / KAPCSOLAT – gombok, popup, űrlap, captcha (magenta)
   ========================================================================= */

/* gomb-variánsok */
.kv-root .kv-jelentkezem{font-family:var(--kv-body) !important;cursor:pointer;background:none !important;border:0 !important;
  font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.13em !important;font-size:.82rem !important;color:var(--kv-pink) !important;
  border-bottom:2px solid var(--kv-pink) !important;padding:0 0 5px !important;line-height:1.2 !important;transition:opacity .18s ease}
.kv-root .kv-jelentkezem:hover{opacity:.6}

.kv-btn{display:inline-flex !important;align-items:center;justify-content:center;cursor:pointer;
  font-family:var(--kv-body) !important;font-weight:600 !important;font-size:.92rem !important;letter-spacing:.02em;
  padding:13px 26px !important;border:0 !important;border-radius:999px !important;background:var(--kv-pink) !important;color:#fff !important;
  text-decoration:none !important;transition:transform .15s ease,filter .15s ease}
.kv-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.kv-btn.kv-jelentkezem{border-bottom:0 !important;text-transform:none !important;letter-spacing:.02em;color:#fff !important}

/* popup */
.kv-modal{position:fixed;inset:0;z-index:10000;display:none}
.kv-modal.is-open{display:block !important}
.kv-modal__overlay{position:absolute;inset:0;background:rgba(16,16,16,.6);backdrop-filter:blur(2px)}
.kv-modal__dialog{position:relative;z-index:1;max-width:560px;width:calc(100% - 32px);
  max-height:calc(100vh - 48px);overflow:auto;margin:24px auto;background:var(--kv-paper) !important;
  border-radius:14px;padding:clamp(24px,4vw,40px);box-shadow:0 40px 80px -24px rgba(0,0,0,.55);
  border-top:5px solid var(--kv-pink) !important;
  top:50%;transform:translateY(-50%)}
.kv-modal__close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:0;border-radius:999px;
  background:#f1f1f1 !important;color:#222 !important;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.kv-modal__close:hover{background:#e6e6e6 !important}
.kv-modal__eyebrow{font-family:var(--kv-body) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.14em !important;
  font-size:.72rem !important;color:var(--kv-pink) !important;margin:0 0 8px !important}
.kv-modal__title{font-family:var(--kv-display) !important;font-weight:700 !important;font-size:clamp(1.25rem,2.6vw,1.7rem) !important;
  line-height:1.15 !important;margin:0 0 22px !important;color:var(--kv-ink) !important}

/* űrlap */
.kv-form__row{display:flex !important;flex-direction:column !important;gap:6px !important;margin:0 0 16px !important}
.kv-form__row label{font-family:var(--kv-body) !important;font-weight:600 !important;font-size:.86rem !important;color:var(--kv-pink) !important;letter-spacing:.02em}
.kv-form__row input,.kv-form__row textarea{font-family:var(--kv-body) !important;font-size:1rem !important;color:var(--kv-ink) !important;
  background:#fff !important;border:1px solid #d9d9d9 !important;border-radius:10px !important;padding:12px 14px !important;width:100% !important;transition:border-color .15s ease,box-shadow .15s ease}
.kv-form__row input:focus,.kv-form__row textarea:focus{outline:none !important;border-color:var(--kv-pink) !important;
  box-shadow:0 0 0 3px rgba(224,99,154,.22) !important}
.kv-form__row textarea{resize:vertical;min-height:96px}
.kv-form__row--narrow input{max-width:120px}

.kv-captcha{display:flex !important;align-items:center;gap:12px;margin:2px 0 10px}
.kv-captcha__box{display:inline-flex !important;border:1px solid #e2e2e2;border-radius:8px;overflow:hidden;background:#f3f3f3}
.kv-captcha__box svg{display:block}
.kv-captcha__img{display:block}
.kv-captcha__refresh{width:40px;height:40px;border:1px solid #d9d9d9 !important;border-radius:8px;background:#fff !important;cursor:pointer;
  font-size:18px;line-height:1;color:#444 !important;transition:background .15s ease}
.kv-captcha__refresh:hover{background:#f3f3f3 !important}

.kv-form__msg{min-height:0;margin:0 0 6px;font-size:.92rem;line-height:1.4}
.kv-form__msg.is-ok{color:#1f7a4d !important;font-weight:600 !important}
.kv-form__msg.is-error{color:#c0392b !important;font-weight:600 !important}

.kv-form__submit{width:100% !important;margin-top:6px;cursor:pointer;font-family:var(--kv-body) !important;font-weight:700 !important;
  font-size:1rem !important;letter-spacing:.02em;padding:15px 20px !important;border:0 !important;border-radius:999px !important;
  background:var(--kv-pink) !important;color:#fff !important;transition:filter .15s ease,transform .15s ease}
.kv-form__submit:hover{filter:brightness(.96);transform:translateY(-1px)}
.kv-form__submit:disabled{opacity:.65;cursor:default;transform:none}

/* mézesbödön */
.kv-hp{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important}

@media (max-width:520px){
  .kv-modal__dialog{top:0;transform:none;margin:16px auto;max-height:calc(100vh - 32px)}
  .kv-btn{width:100% !important}
}
