/*
Theme Name: The JayJay Method
Theme URI: https://thejayjaymethod.com
Author: The JayJay Method
Description: Egyedi téma a The JayJay Method weboldalhoz — személyi edzés, FitBOX, KidBox és Body-Mind Coaching, Budapest XI.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: jayjay
*/

/* ============================================================
   DESIGN TOKENEK
   ============================================================ */
:root{
  --dark:#071F16;        /* fejléc, lábléc, hero */
  --dark-2:#092C20;      /* záró blokk */
  --em:#144E39;          /* zöld blokkok, kártyák */
  --em-hover:#1B6650;
  --cream-bg:#F5F2E9;    /* bézs szekciók */
  --off:#FFFDF8;         /* törtfehér szekciók */
  --cr:#F7F4EC;          /* krém szöveg zöldön */
  --cr-2:#DCE5DD;
  --cr-3:#BFCFC4;
  --gold:#C9A961;        /* arany sötét alapon */
  --gold-dark:#8C6F25;   /* arany világos alapon */
  --ink:#1A3A2C;         /* elsődleges szöveg világos alapon */
  --ink-2:#3E5047;
  --ink-3:#52655A;
  --light:#EFECE4;       /* szöveg sötét alapon */
  --light-2:#C9D4CC;
  --light-3:#A9B8AE;
  --serif:'Cormorant Infant',Georgia,serif;
  --sans:'Montserrat',system-ui,sans-serif;
  --mono:'Roboto Mono',monospace;
  --wrap:1240px;
  --pad:clamp(20px,4.5vw,44px);
  /* Világos / sötét változat — a fix színek tokenek, hogy egyetlen
     attribútum átírásával az egész oldal követni tudja. */
  --header-bg:rgba(7,31,22,.88);
  --header-line:rgba(239,236,228,.09);
  --hero-veil:linear-gradient(to top,rgba(7,31,22,.93) 2%,rgba(7,31,22,.62) 42%,rgba(7,31,22,.2) 100%);
  --hero-scrim:none;
  --hero-img-filter:saturate(.9) contrast(1.04);
  --img-filter:saturate(.88) contrast(1.02);
  --lang-ink:rgba(239,236,228,.7);
  --lang-line:rgba(239,236,228,.16);
  --on-em-fill:rgba(247,244,236,.07);
  --on-em-line:rgba(247,244,236,.3);
  --on-em-line-soft:rgba(247,244,236,.16);
  --on-em-mute:rgba(247,244,236,.4);
  --footer-line:rgba(239,236,228,.12);
  --footer-line-gold:rgba(201,169,97,.28);
  --footer-fine:rgba(239,236,228,.68);
  --ghost-light-line:rgba(239,236,228,.34);
  --sec-y:clamp(56px,8vw,120px);
}

/* ============================================================
   ALAP
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--off);color:var(--ink);
  font-family:var(--sans);font-weight:300;font-size:16.5px;line-height:1.75;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--gold-dark);text-decoration:none}
a:hover{color:var(--ink)}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
::selection{background:var(--gold);color:var(--em)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;text-wrap:pretty}
p{margin:0 0 20px;text-wrap:pretty}
p:last-child{margin-bottom:0}

.eyebrow{
  font-family:var(--mono);font-size:14px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold-dark);margin:0 0 18px;
}
.eyebrow--gold{color:var(--gold)}

/* gombok */
.btn{
  display:inline-block;padding:18px 34px;border-radius:999px;
  font-family:var(--sans);font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.btn--gold{background:var(--gold);color:var(--em)}
.btn--gold:hover{background:var(--cr);color:var(--em)}
.btn--em{background:var(--em);color:var(--cr)}
.btn--em:hover{background:var(--em-hover);color:var(--cr)}
.btn--ghost-light{border-color:var(--ghost-light-line);color:var(--light)}
.btn--ghost-light:hover{border-color:var(--gold);color:var(--gold)}
.btn--ghost-dark{border-color:rgba(26,58,44,.38);color:var(--ink)}
.btn--ghost-dark:hover{border-color:var(--gold-dark);color:var(--gold-dark)}
.btn--ghost-gold{border-color:rgba(201,169,97,.55);color:var(--gold)}
.btn--ghost-gold:hover{background:var(--gold);color:var(--em)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn-row .or{font-size:15px;color:var(--light-3)}
.btn-row--dark .or{color:var(--ink-3)}

/* ============================================================
   FEJLÉC
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:60;
  background:var(--header-bg);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--header-line);
}
.site-header .bar{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  height:clamp(64px,7vw,86px);display:flex;align-items:center;
  justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:clamp(19px,2vw,26px);width:auto}
.brand .txt{font-family:var(--serif);font-size:20px;color:var(--light);letter-spacing:.04em}
.nav-main{display:flex;align-items:center;gap:clamp(14px,1.9vw,30px)}
.nav-main ul{display:flex;align-items:center;gap:clamp(14px,1.9vw,30px);list-style:none;margin:0;padding:0}
.nav-main a{
  font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.13em;
  text-transform:uppercase;color:var(--light);
}
.nav-main a:hover,.nav-main .current-menu-item > a{color:var(--gold)}
.lang-switch{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--lang-line);border-radius:8px}
.lang-switch a{
  padding:7px 9px;border-radius:6px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.1em;color:var(--lang-ink);
}
.lang-switch a.is-active{background:var(--gold);color:var(--dark)}
.header-cta{padding:14px 26px;font-size:11px;letter-spacing:.15em;white-space:nowrap}
.burger{
  width:44px;height:44px;display:none;flex-direction:column;justify-content:center;
  gap:5px;background:none;border:none;padding:0 0 0 8px;
}
.burger span{display:block;width:24px;height:1px;background:var(--light)}
.burger span:last-child{width:16px;background:var(--gold-dark)}

/* mobil menü */
.mobile-menu{
  position:fixed;inset:0;z-index:80;background:var(--dark-2);
  display:none;flex-direction:column;padding:22px;
}
.mobile-menu.is-open{display:flex}
.mobile-menu .top{display:flex;align-items:center;justify-content:space-between;height:44px}
.mobile-menu .close{width:44px;height:44px;background:none;border:none;color:var(--light);font-size:26px;font-weight:200;line-height:1}
.mobile-menu ul{list-style:none;margin:34px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.mobile-menu ul a{
  display:block;font-family:var(--serif);font-size:32px;font-weight:300;
  color:var(--light);padding:12px 0;border-bottom:1px solid var(--footer-line);
}
.mobile-menu .foot{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--footer-fine);line-height:2}

/* ============================================================
   HERO (főoldal)
   ============================================================ */
.hero{position:relative;min-height:clamp(540px,84vh,880px);display:flex;align-items:flex-end;overflow:hidden}
.hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 28%;filter:var(--hero-img-filter)}
.hero .veil{position:absolute;inset:0;background:var(--hero-veil)}
.hero .inner{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:clamp(40px,7vw,88px) var(--pad) clamp(44px,6vw,72px)}
.hero .eyebrow{font-size:clamp(13px,1.15vw,14px);letter-spacing:.24em;color:var(--gold);margin-bottom:clamp(18px,2.4vw,26px)}
.hero h1{font-weight:300;font-size:clamp(34px,6.2vw,74px);line-height:1.03;letter-spacing:-.015em;max-width:17ch;color:var(--light)}
.hero .sub{font-size:clamp(16.5px,1.4vw,19.5px);line-height:1.7;color:var(--light-2);max-width:56ch;margin:clamp(20px,2.6vw,30px) 0 0}
.hero .btn-row{margin-top:clamp(26px,3.4vw,40px)}

/* ============================================================
   SZEKCIÓK
   ============================================================ */
.sec{padding:var(--sec-y) var(--pad)}
.sec--cream{background:var(--cream-bg)}
.sec--off{background:var(--off)}
.sec--em{background:var(--em)}
.sec--em h2,.sec--em h3{color:var(--cr)}
.sec--em p{color:var(--cr-2)}
.sec .inner{max-width:var(--wrap);margin:0 auto}
.sec h2{font-weight:300;font-size:clamp(30px,4.4vw,54px);line-height:1.08;color:var(--ink);margin-bottom:26px}
.sec--em h2{color:var(--cr)}
.sec .lead{font-size:clamp(16.5px,1.3vw,18px);line-height:1.8;color:var(--ink-2);max-width:52ch}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(32px,5vw,72px);align-items:center}
.two-col--top{align-items:start}
.two-col img{border-radius:22px}

/* szolgáltatás- és blogkártyák */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.4vw,28px)}
.card{
  display:flex;flex-direction:column;background:var(--em);border-radius:20px;
  overflow:hidden;color:var(--cr);transition:transform .2s ease;
}
.card:hover{transform:translateY(-3px);color:var(--cr)}
.card > img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 12%;filter:var(--img-filter)}
.card .body{padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;gap:12px;flex:1}
.card .tag{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--gold)}
.card h3{font-size:clamp(22px,2.2vw,27px);line-height:1.2;color:var(--cr)}
.card p{font-size:15.5px;line-height:1.75;color:var(--cr-2);margin:0;flex:1}
.card .more{font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-top:6px}

/* pillérek (A módszer) */
.pillars{display:flex;flex-direction:column}
.pillar{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2vw,26px);
  padding:clamp(18px,2vw,24px) 0;border-top:1px solid var(--on-em-line-soft);align-items:baseline;
}
.pillar .n{font-family:var(--mono);font-size:13px;color:var(--gold)}
.pillar h3{font-size:clamp(20px,2vw,25px);color:var(--cr);margin-bottom:6px}
.pillar p{font-size:15px;line-height:1.7;color:var(--cr-3);margin:0}

/* vélemények */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,2.6vw,32px)}
.quote{
  margin:0;padding:clamp(26px,2.8vw,36px);background:var(--off);
  border-top:3px solid var(--gold);border-radius:20px;
  display:flex;flex-direction:column;gap:18px;
}
.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);font-weight:300;font-style:italic;line-height:1.6;color:var(--ink)}
.quote figcaption{font-family:var(--mono);font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin-top:auto}

/* ============================================================
   ALOLDALAK
   ============================================================ */
.page-banner{background:var(--em);padding:clamp(40px,6vw,88px) var(--pad) clamp(44px,6vw,88px)}
.page-banner .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4.5vw,64px);align-items:start}
.page-banner.no-img .grid{grid-template-columns:1fr}
.page-banner h1{font-weight:300;font-size:clamp(31px,4.8vw,60px);line-height:1.05;letter-spacing:-.01em;max-width:22ch;color:var(--cr)}
.page-banner .lead{display:flex;flex-direction:column;gap:14px;margin:clamp(20px,2.4vw,28px) 0 0}
.page-banner .lead p{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.75;color:var(--cr-2);max-width:48ch;margin:0}
.page-banner img{width:100%;max-width:480px;aspect-ratio:3/4;object-fit:cover;object-position:50% 18%;justify-self:end;border-radius:20px;filter:var(--img-filter)}
.page-banner.is-arak img{max-width:360px;aspect-ratio:4/3;object-position:50% 24%}
.page-banner.is-arak .grid{grid-template-columns:1.45fr .55fr}

.page-body{background:var(--off);padding:clamp(44px,6vw,88px) var(--pad) var(--sec-y)}
.page-body.bg-cream{background:var(--cream-bg)}
.page-body.bg-photo{background-size:cover;background-position:50% 30%}
.page-body .inner{max-width:780px;margin:0 auto}
.page-body.wide .inner{max-width:860px}
.page-body h2{font-size:clamp(24px,3.1vw,38px);line-height:1.15;margin:clamp(38px,4.6vw,64px) 0 20px;color:var(--ink);scroll-margin-top:clamp(80px,9vw,110px)}
.page-body h2:first-child{margin-top:0}
.page-body p{font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--ink-2)}
.page-body ul{list-style:none;margin:0 0 24px;padding:0}
.page-body ul li{
  position:relative;padding:10px 0 10px 22px;
  border-bottom:1px solid rgba(26,58,44,.12);
  font-size:clamp(16px,1.25vw,17.5px);line-height:1.7;color:var(--ink-2);
}
.page-body ul li::before{
  content:"";position:absolute;left:4px;top:19px;width:5px;height:5px;
  border-radius:50%;background:var(--gold-dark);
}
.page-body.on-dark h2,.page-body.on-dark h3{color:var(--cr)}
.page-body.on-dark p,.page-body.on-dark ul li{color:var(--cr-2)}
.page-body.on-dark ul li::before{background:var(--gold)}

/* zöld szövegblokk (kártya) */
.block{margin:clamp(30px,4vw,56px) 0;padding:clamp(26px,3vw,40px);background:var(--em);border-radius:22px;scroll-margin-top:clamp(80px,9vw,110px)}
.block .tag{font-family:var(--mono);font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;display:block}
.block h2,.block h3{color:var(--cr);margin:0 0 clamp(20px,2.6vw,30px)}
.block h2{font-size:clamp(25px,3.2vw,40px);line-height:1.14}
.block p{color:var(--cr-2)}
.block .grid{display:grid;grid-template-columns:1fr 300px;gap:clamp(22px,3.4vw,44px);align-items:start}
.block figure{margin:0;display:flex;flex-direction:column;gap:11px;max-width:300px}
.block figure img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;filter:var(--img-filter)}
.block figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cr-3);line-height:1.7}
.block ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.block ul li{position:relative;padding-left:20px;border:0;font-size:clamp(15.5px,1.2vw,17px);line-height:1.7;color:var(--cr-2)}
.block ul li::before{content:"";position:absolute;left:2px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.block .for{margin:clamp(22px,2.8vw,34px) 0 0;padding:clamp(20px,2.4vw,28px);background:var(--on-em-fill);border-left:3px solid var(--gold);border-radius:16px}
.block .for .tag{margin-bottom:14px}
.block .notfor{font-size:clamp(15px,1.15vw,16.5px);line-height:1.75;color:var(--cr-3);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--on-em-line-soft)}
.block .meta{font-family:var(--mono);font-size:14px;letter-spacing:.16em;color:var(--gold)}
.block .cta-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:clamp(20px,2.6vw,30px)}

/* kutatási adat */
.stat{margin:clamp(26px,3.4vw,44px) 0;padding:clamp(24px,2.8vw,34px);background:var(--em);border-radius:22px}
.stat .tag{font-family:var(--mono);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 12px;display:block}
.stat p{font-size:clamp(16px,1.25vw,17.5px);line-height:1.8;color:var(--cr);margin:0}

/* idézet */
.pullquote{
  margin:clamp(30px,4vw,50px) 0;padding:clamp(26px,3vw,38px);background:var(--em);
  border-radius:22px;font-family:var(--serif);font-size:clamp(21px,2.5vw,31px);
  font-weight:300;font-style:italic;line-height:1.42;color:var(--cr);
}

/* árkártya */
.prices{margin:clamp(16px,2vw,24px) 0;background:var(--em);border-radius:22px;overflow:hidden}
.prices .head{padding:clamp(20px,2.2vw,26px) clamp(22px,2.6vw,34px);border-bottom:1px solid var(--on-em-line);display:flex;flex-direction:column;gap:7px}
.prices .note{font-family:var(--mono);font-size:13px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.prices .title{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:400;line-height:1.1;color:var(--cr)}
.prices .row{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:clamp(14px,1.5vw,18px) clamp(22px,2.6vw,34px);border-bottom:1px solid var(--on-em-line-soft);align-items:baseline}
.prices .label{display:flex;flex-direction:column;gap:5px}
.prices .label strong{font-size:clamp(16.5px,1.3vw,18.5px);font-weight:400;line-height:1.5;color:var(--cr)}
.prices .label span{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;color:var(--cr-3);text-transform:uppercase}
.prices .amount{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);font-weight:400;color:var(--gold);text-align:right;white-space:nowrap}

/* hamarosan */
.soon{margin:clamp(26px,3.4vw,44px) 0;padding:clamp(22px,2.6vw,32px);border:1px dashed rgba(26,58,44,.3);border-radius:20px}
.soon .tag{font-family:var(--mono);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 10px;display:block}
.soon p{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:400;color:var(--ink);margin:0}

/* CTA doboz */
.cta-box{
  margin:clamp(34px,4.5vw,60px) 0 0;padding:clamp(28px,3.2vw,42px);
  background:var(--em);border-radius:22px;display:flex;flex-direction:column;
  gap:16px;align-items:flex-start;
}
.cta-box h3{font-size:clamp(22px,2.6vw,32px);line-height:1.16;color:var(--cr)}
.cta-box p{font-size:clamp(16px,1.25vw,18px);line-height:1.85;color:var(--cr-2);margin:0}

/* források */
.sources{font-family:var(--mono);font-size:12px;line-height:1.9;color:var(--ink-3);margin:clamp(30px,4vw,50px) 0 0;padding-top:20px;border-top:1px solid rgba(26,58,44,.14)}

/* ============================================================
   BLOG
   ============================================================ */
.blog-head{background:var(--off);padding:clamp(48px,7vw,104px) var(--pad) 0}
.blog-head .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,4vw,64px);align-items:end;max-width:var(--wrap);margin:0 auto}
.blog-head h1{font-weight:300;font-size:clamp(31px,5.2vw,64px);line-height:1.05;max-width:22ch;color:var(--ink)}
.blog-head .lead{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.75;color:var(--ink-2);max-width:56ch;margin:24px 0 0}
.blog-head img{width:100%;max-width:360px;aspect-ratio:4/3;object-fit:cover;object-position:50% 22%;justify-self:end;border-radius:20px}
.blog-list{background:var(--off);padding:clamp(40px,5.5vw,72px) var(--pad) var(--sec-y)}
.blog-list .inner{max-width:var(--wrap);margin:0 auto;display:flex;flex-direction:column;gap:clamp(18px,2.2vw,26px)}
.post-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(18px,3vw,44px);padding:clamp(26px,3vw,40px);background:var(--em);
  border-radius:22px;color:var(--cr);align-items:start;transition:transform .2s ease;
}
.post-row:hover{transform:translateY(-3px);color:var(--cr)}
.post-row .read{font-family:var(--mono);font-size:13px;letter-spacing:.18em;color:var(--gold)}
.post-row h2{font-size:clamp(22px,2.6vw,33px);line-height:1.18;color:var(--cr);margin:0}
.post-row p{font-size:16px;line-height:1.8;color:var(--cr-2);margin:0}
.post-row .more{font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.post-row .col{display:flex;flex-direction:column;gap:12px}
.post-row .col + .col{gap:16px}
.pagination{display:flex;gap:10px;justify-content:center;margin-top:40px}
.pagination .page-numbers{
  padding:12px 18px;border-radius:999px;border:1px solid rgba(26,58,44,.2);
  font-family:var(--mono);font-size:13px;color:var(--ink);
}
.pagination .page-numbers.current{background:var(--em);color:var(--cr);border-color:var(--em)}

/* cikk */
.single-banner{background:var(--em);padding:clamp(40px,6vw,88px) var(--pad)}
.single-banner .inner{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4.5vw,64px);align-items:start}
.single-banner h1{font-weight:300;font-size:clamp(31px,4.8vw,60px);line-height:1.05;max-width:24ch;color:var(--cr)}
.single-banner .lead{font-size:clamp(16.5px,1.35vw,19.5px);line-height:1.75;color:var(--cr-2);max-width:48ch;margin:clamp(20px,2.4vw,28px) 0 0}
.single-banner img{width:100%;max-width:440px;aspect-ratio:3/4;object-fit:cover;justify-self:end;border-radius:20px}
.entry{background:var(--off);padding:clamp(44px,6vw,88px) var(--pad) var(--sec-y)}
.entry .inner{max-width:760px;margin:0 auto}
.entry h2{font-family:var(--serif);font-weight:400;font-size:clamp(24px,3.1vw,38px);line-height:1.15;margin:clamp(38px,4.6vw,64px) 0 20px;color:var(--ink)}
.entry h3{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.4vw,29px);margin:clamp(30px,3.6vw,48px) 0 16px;color:var(--ink)}
.entry p{font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--ink-2)}
.entry ul,.entry ol{margin:0 0 24px;padding-left:22px;color:var(--ink-2);font-size:clamp(16px,1.25vw,17.5px);line-height:1.8}
.entry ul li,.entry ol li{margin-bottom:8px}
.entry blockquote{
  margin:clamp(30px,4vw,50px) 0;padding:clamp(26px,3vw,38px);background:var(--em);
  border-radius:22px;font-family:var(--serif);font-size:clamp(21px,2.5vw,31px);
  font-weight:300;font-style:italic;line-height:1.42;color:var(--cr);
}
.entry blockquote p{color:var(--cr);font-size:inherit;line-height:inherit;margin:0}
.entry img,.entry figure img{border-radius:20px}
.entry figure{margin:clamp(30px,4vw,54px) 0}
.entry figcaption{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:12px}
.entry a{border-bottom:1px solid rgba(140,111,37,.45)}
.entry table{width:100%;border-collapse:collapse;margin:0 0 24px}
.entry th,.entry td{padding:10px 12px;border-bottom:1px solid rgba(26,58,44,.14);text-align:left;font-size:16px}
.entry th{font-weight:500;color:var(--ink)}

/* ============================================================
   KAPCSOLAT
   ============================================================ */
.contact{background:var(--cream-bg);padding:clamp(48px,7vw,104px) var(--pad) var(--sec-y)}
.contact .grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(36px,5vw,80px)}
.contact h1{font-weight:300;font-size:clamp(30px,4.6vw,58px);line-height:1.06;max-width:20ch;color:var(--ink)}
.contact .lead{font-size:clamp(16.5px,1.35vw,18.5px);line-height:1.8;color:var(--ink-2);max-width:50ch;margin:26px 0 0}
.contact .details{margin-top:clamp(30px,4vw,48px);display:flex;flex-direction:column;gap:18px}
.contact .details .item{display:flex;flex-direction:column;gap:5px}
.contact .details .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark)}
.contact .details a,.contact .details span.val{font-size:16px;color:var(--ink);border:0}
.form-card{background:var(--em);border-radius:22px;padding:clamp(26px,3.2vw,42px)}
.form-card label{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.form-card .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.form-card input[type=text],.form-card input[type=email],.form-card textarea{
  background:var(--on-em-fill);border:0;border-bottom:1px solid var(--on-em-line);
  border-radius:8px 8px 0 0;color:var(--cr);font-size:16px;font-weight:300;padding:12px;outline:none;
}
.form-card input::placeholder,.form-card textarea::placeholder{color:var(--on-em-mute)}
.form-card textarea{resize:vertical}
.form-card .consent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-bottom:20px}
.form-card .consent input{width:18px;height:18px;accent-color:var(--gold);margin:2px 0 0}
.form-card .consent span{font-size:14px;line-height:1.65;color:var(--cr-2)}
.form-card .consent a{color:var(--gold);text-decoration:underline;border:0}
.form-card button{width:auto;border:0}
/* Contact Form 7 / WPForms igazítás a témához */
.form-card .wpcf7 p{margin:0 0 20px;color:var(--cr-2)}
.form-card .wpcf7-form-control{
  width:100%;background:var(--on-em-fill);border:0;
  border-bottom:1px solid var(--on-em-line);border-radius:8px 8px 0 0;
  color:var(--cr);font-size:16px;padding:12px;
}
.form-card .wpcf7-submit{
  width:auto;background:var(--gold);color:var(--em);border-radius:999px;
  padding:18px 34px;font-size:11.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;border:0;cursor:pointer;
}
.form-card .wpcf7-not-valid-tip,.form-card .wpcf7-response-output{color:var(--gold);font-family:var(--mono);font-size:12px}

/* ============================================================
   ZÁRÓ BLOKK + INGYENES SÁV
   ============================================================ */
.closing{background:var(--dark-2);border-top:1px solid var(--footer-line);padding:clamp(50px,7vw,104px) var(--pad)}
.closing .grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(30px,4.5vw,72px);align-items:center}
.closing h2{font-weight:300;font-size:clamp(29px,4.4vw,55px);line-height:1.08;max-width:22ch;color:var(--light)}
.closing p{font-size:clamp(16.5px,1.35vw,19px);line-height:1.8;color:var(--light-2);max-width:50ch;margin:26px 0 0}
.closing .btn-row{margin-top:clamp(28px,3.6vw,42px)}
.closing img{width:100%;max-width:520px;aspect-ratio:950/1215;object-fit:cover;object-position:50% 22%;justify-self:end;border-radius:22px}
.freeband{background:var(--em);padding:clamp(36px,5vw,64px) var(--pad)}
.freeband .grid{max-width:var(--wrap);margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,44px);align-items:center;justify-content:space-between}
.freeband h2{font-size:clamp(22px,2.6vw,32px);line-height:1.16;margin:0 0 10px;color:var(--cr)}
.freeband p{font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.8;color:var(--cr-2);margin:0;max-width:52ch}

/* ============================================================
   LÁBLÉC
   ============================================================ */
.site-footer{background:var(--dark);border-top:1px solid var(--footer-line-gold);padding:clamp(44px,6vw,80px) var(--pad) clamp(26px,3vw,40px)}
.site-footer .inner{max-width:var(--wrap);margin:0 auto}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(30px,4vw,56px)}
.site-footer .col{display:flex;flex-direction:column;gap:11px}
.site-footer img{height:22px;width:auto;opacity:.9}
.site-footer .blurb{font-size:14.5px;line-height:1.85;color:#B6C6BC;max-width:36ch;margin:0}
.site-footer .lbl{font-family:var(--mono);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.site-footer a,.site-footer span.val{font-size:14.5px;color:var(--light-2);border:0}
.site-footer a:hover{color:var(--gold)}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.site-footer .social{display:flex;gap:16px;margin-top:8px}
.site-footer .social a{color:var(--gold)}
.site-footer .base{
  margin-top:clamp(34px,4.5vw,60px);padding-top:22px;
  border-top:1px solid var(--footer-line);display:flex;flex-wrap:wrap;
  gap:12px 28px;justify-content:space-between;
}
.site-footer .base span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--footer-fine)}

/* ============================================================
   RESZPONZÍV
   ============================================================ */
@media (max-width:1159px){
  .nav-main ul li.hide-narrow{display:none}
}
@media (max-width:1079px){
  .nav-main ul,.header-cta{display:none}
  .burger{display:flex}
  .page-banner .grid,.page-banner.is-arak .grid,.single-banner .inner,.blog-head .grid{grid-template-columns:1fr}
  .page-banner img,.single-banner img,.blog-head img{justify-self:start;max-width:330px}
  .block .grid{grid-template-columns:1fr}
  .block figure{max-width:320px}
  .prices .row{grid-template-columns:1fr}
  .prices .amount{text-align:left}
}
@media (max-width:640px){
  body{font-size:16px}
  .quotes,.cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none !important}
}


/* ============================================================
   JAVÍTÁS — zöld kártyák a WordPress-tartalomban
   Az .entry alapszínei (blogcikkekre szabva) felülírták a zöld
   blokkok krém szövegét. Ezek a szabályok visszaállítják.
   ============================================================ */
.entry .block h2,
.entry .block h3,
.entry .cta-box h3,
.entry .prices .title,
.entry .stat p,
.entry .prices .label strong,
.entry .pullquote,
.entry blockquote.pullquote,
.entry blockquote.pullquote p{color:var(--cr)}

.entry .block p,
.entry .cta-box p,
.entry .block ul li{color:var(--cr-2)}

.entry .block figcaption,
.entry .block .notfor,
.entry .prices .label span{color:var(--cr-3)}

.entry .block .tag,
.entry .stat .tag,
.entry .prices .note,
.entry .cta-box .tag,
.entry .prices .amount{color:var(--gold)}

.entry .block ul li::before{background:var(--gold)}
.entry .block ul{padding-left:0}
.entry .block ul li,
.entry .cta-box ul li{border-bottom:0;margin-bottom:0}

/* a gombokon ne legyen link-alávonás */
.entry a.btn{border-bottom:0}
.entry .block a,
.entry .cta-box a,
.entry .stat a{border-bottom-color:rgba(201,169,97,.5)}

/* „Hamarosan” doboz világos alapon marad */
.entry .soon .tag{color:var(--gold-dark)}
.entry .soon p{color:var(--ink)}

/* források kicsi szürke szöveg */
.entry .sources{color:var(--ink-3)}

/* a bekezdés-alapszín ne írja felül a zöld blokkot sötét háttéren */
.page-body.on-dark .entry p,
.page-body.on-dark p{color:var(--cr-2)}
.page-body.on-dark .entry h2,
.page-body.on-dark h2{color:var(--cr)}


/* listák térköze a zöld kártyákban */
.entry .block ul{gap:12px}
.entry .block ul li{line-height:1.7}

/* a WordPress-tartalom mindig tartsa a szövegszélességet */
.page-body > .inner{max-width:780px;margin-left:auto;margin-right:auto}
.page-body.wide > .inner{max-width:860px}
.entry > .inner{max-width:760px}


/* listaelemek belső margója ne kerüljön a zöld kártyákra */
.entry .block ul li,
.entry .cta-box ul li,
.entry .stat ul li,
.page-body .block ul li{padding-top:0;padding-bottom:0;border-bottom:0;margin-bottom:0}
.entry .block ul{gap:10px}
.entry .block .for ul{gap:10px}


/* ============================================================
   JAVÍTÁS — tömör arany gombok a márka olívaarany színére
   (#908248), ahogy az eredeti terven. A világosabb #C9A961
   továbbra is a szöveg- és keret-akcentus sötét alapon.
   ============================================================ */
:root{
  --gold-solid:#908248;        /* tömör gombok alapszíne */
  --gold-solid-hover:#C4AE6A;  /* hover */
  --on-gold:#071F16;           /* szöveg arany gombon */
}
.btn--gold,
.form-card .wpcf7-submit,
.form-card button.btn--gold{
  background:var(--gold-solid);
  color:var(--on-gold);
}
.btn--gold:hover,
.form-card .wpcf7-submit:hover{
  background:var(--gold-solid-hover);
  color:var(--on-gold);
}
.btn--ghost-gold:hover{background:var(--gold-solid);color:var(--on-gold)}
.lang-switch a.is-active{background:var(--gold-solid);color:var(--on-gold)}
.entry a.btn--gold{color:var(--on-gold)}


/* JAVÍTÁS — az arany gomb felirata hoverben is sötét maradjon */
a.btn--gold,
a.btn--gold:hover,
a.btn--gold:focus,
a.btn--gold:active,
a.btn--gold:visited,
.site-header a.btn--gold,
.site-header a.btn--gold:hover,
.header-cta.btn--gold,
.header-cta.btn--gold:hover,
.mobile-menu a.btn--gold,
.mobile-menu a.btn--gold:hover,
.entry a.btn--gold,
.entry a.btn--gold:hover,
.form-card .wpcf7-submit:hover{color:var(--on-gold) !important}

a.btn--gold:hover,
.site-header a.btn--gold:hover,
.header-cta.btn--gold:hover{background:var(--gold-solid-hover)}


/* JAVÍTÁS — gombfelirat mindig középen (két sorban is) */
.btn{text-align:center}


/* ============================================================
   JAVÍTÁS — Polylang nyelvváltó a fejlécben
   A bővítmény <ul><li> szerkezetben adja ki a nyelveket, és
   apró zászlóképeket is beszúr. Ezek a szabályok igazítják a
   témához, és kiemelik az aktív nyelvet.
   ============================================================ */
.lang-switch ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.lang-switch li{list-style:none;margin:0;padding:0;border:0}
.lang-switch li::before,.lang-switch li::marker{content:none;display:none}
.lang-switch img{display:none}
.lang-switch a{
  display:block;padding:7px 9px;border-radius:6px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lang-ink);border:0;
}
.lang-switch a:hover{color:var(--cr)}
.lang-switch li.current-lang > a,
.lang-switch .current-lang a,
.lang-switch a.is-active{background:var(--gold-solid);color:var(--on-gold)}

/* ============================================================
   VILÁGOS VÁLTOZAT
   Nem a sötét téma megfordítása: a fejléc, a hero, a panelek és a
   lábléc is világos alapra kerül, a szöveg tintazöldre. A smaragd
   megmarad, de akcentusként — keretekben, gombokban, tipográfiában.
   ============================================================ */
html[data-theme="airy"]{
  --dark:#F7F4EC; --dark-2:#EFECE2;
  --cream-bg:#FFFFFF; --off:#FAF8F2;

  /* a smaragd panelek világosak lesznek, a tartalmuk tinta */
  --em:#EFF3EC; --em-hover:#E6ECE3;
  --cr:#173A2B; --cr-2:#375046; --cr-3:#4C6257;

  --ink:#173A2B; --ink-2:#375046; --ink-3:#4C6257;
  --light:#173A2B; --light-2:#375046; --light-3:#4C6257;

  --gold:#7A6220; --gold-dark:#7A6220;
  --gold-solid:#12483A; --gold-solid-hover:#1B6650; --on-gold:#F7F4EC;

  --header-bg:rgba(247,244,236,.93);
  --header-line:rgba(23,58,43,.14);

  /* A hero szövege tintazöld, ezért bal oldali tömör alátétre ül —
     így a fotó jobb fele láthatóan megmarad. */
  --hero-veil:linear-gradient(to top,rgba(247,244,236,.9) 0%,rgba(247,244,236,.44) 52%,rgba(247,244,236,.14) 100%);
  --hero-scrim:linear-gradient(to right,rgba(247,244,236,.97) 0%,rgba(247,244,236,.95) 42%,rgba(247,244,236,.7) 62%,rgba(247,244,236,0) 82%);
  --hero-img-filter:saturate(.86) contrast(1) brightness(1.06);
  --img-filter:saturate(.92) contrast(1.01);

  --lang-ink:rgba(23,58,43,.72);
  --lang-line:rgba(23,58,43,.2);

  --on-em-fill:rgba(23,58,43,.04);
  --on-em-line:rgba(23,58,43,.34);
  --on-em-line-soft:rgba(23,58,43,.14);
  --on-em-mute:rgba(23,58,43,.45);

  --footer-line:rgba(23,58,43,.14);
  --footer-line-gold:rgba(23,58,43,.18);
  --footer-fine:rgba(23,58,43,.72);
  --ghost-light-line:rgba(23,58,43,.38);
}

/* A hero alátét külön réteg, mert a fátyol felülről lefelé dolgozik. */
.hero .scrim{position:absolute;inset:0;background:var(--hero-scrim)}

/* Logócsere: mindkét változat kint van, a mód dönt, melyik látszik. */
.brand .logo-dark,.site-footer .logo-dark{display:none}
html[data-theme="airy"] .brand .logo-light,
html[data-theme="airy"] .site-footer .logo-light{display:none}
html[data-theme="airy"] .brand .logo-dark,
html[data-theme="airy"] .site-footer .logo-dark{display:block}

/* Világos módban a záró blokk fotója nem sötétít, hanem világosít. */
html[data-theme="airy"] .closing > img{filter:saturate(.8) contrast(1) brightness(1.1)}

/* Az aloldali fejléc világos módban vonallal válik el az alatta lévő
   tartalomtól — a színbeli különbség ott már túl kicsi. */
html[data-theme="airy"] .page-banner{border-bottom:1px solid var(--header-line)}
html[data-theme="airy"] .freeband{border-top:1px solid var(--header-line);border-bottom:1px solid var(--header-line)}
html[data-theme="airy"] .stat,
html[data-theme="airy"] .pullquote,
html[data-theme="airy"] .cta-box,
html[data-theme="airy"] .prices,
html[data-theme="airy"] .form-card,
html[data-theme="airy"] .card{border:1px solid var(--on-em-line-soft)}

/* ---- A váltógomb ---- */
.theme-toggle{
  position:relative;width:60px;height:29px;flex:none;padding:0;
  border-radius:15px;border:1px solid var(--lang-line);
  background:var(--on-em-fill);cursor:pointer;
}
.theme-toggle .knob{
  position:absolute;top:3px;left:32px;width:21px;height:21px;border-radius:50%;
  background:var(--gold-solid);
  transition:left .3s cubic-bezier(.4,0,.2,1),background-color .35s ease;
}
html[data-theme="airy"] .theme-toggle .knob{left:3px}
.theme-toggle .ico{
  position:absolute;top:50%;transform:translateY(-50%);
  font-size:12.5px;line-height:1;z-index:1;transition:color .3s ease;
}
.theme-toggle .ico-sun{left:8px;color:var(--lang-ink)}
.theme-toggle .ico-moon{right:8px;color:var(--on-gold)}
html[data-theme="airy"] .theme-toggle .ico-sun{color:var(--on-gold)}
html[data-theme="airy"] .theme-toggle .ico-moon{color:var(--lang-ink)}

body,.site-header,.site-footer,.closing,.card,.prices,.form-card,.block .for{
  transition:background-color .35s ease,color .35s ease,border-color .35s ease;
}
@media (prefers-reduced-motion:reduce){
  body,.site-header,.site-footer,.closing,.card,.prices,.form-card,.block .for,
  .theme-toggle .knob{transition:none}
}
