/* ============================================================
   EDUS · amit a theme.json nem tud
   A design/mockup/index.html CSS-e, a WordPress blokkjaira igazítva.
   A tokenek a theme.json-ből jönnek; itt rövid álnevet kapnak,
   hogy a mockup szabályai változtatás nélkül olvashatók maradjanak.
   ============================================================ */
:root{
  color-scheme:light;
  --canvas:var(--wp--preset--color--canvas);
  --surface-1:var(--wp--preset--color--surface-1);
  --surface-2:var(--wp--preset--color--surface-2);
  --ink:var(--wp--preset--color--ink);
  --ink-mute:var(--wp--preset--color--ink-mute);
  --ink-subtle:var(--wp--preset--color--ink-subtle);
  --hairline:var(--wp--preset--color--hairline);
  --primary:var(--wp--preset--color--primary);
  --primary-hover:var(--wp--preset--color--primary-hover);
  --rose:var(--wp--preset--color--rose);
  --rose-ink:var(--wp--preset--color--rose-ink);
  --scrim:var(--wp--preset--color--scrim);
  --r-sm:3px; --r-md:4px; --r-lg:6px; --r-xl:10px;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-rev:cubic-bezier(.16,1,.3,1);
  --d-press:140ms; --d-panel:260ms; --d-rev:800ms; --stg:90ms;
  --fd:var(--wp--preset--font-family--display);
  --fb:var(--wp--preset--font-family--body);
  --sp-sec:88px; --sp-piv:136px;
  --gutter:clamp(18px,5vw,44px);
}
body{overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%}
h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere}
.wp-site-blocks > * + *{margin-block-start:0}
:where(.wp-site-blocks) p{margin-block:0}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--r-sm)}

/* közös elemek */
.wrap{max-width:1180px;margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}
.sec{padding-block:var(--sp-sec)}
.eyebrow{font:500 11px/1 var(--fb);letter-spacing:.17em;text-transform:uppercase;color:var(--primary)}
.lead{margin-top:13px;max-width:52ch}
.meta-s{font:400 13px/1.45 var(--fb);color:var(--ink-subtle)}

/* gomb: a theme.json adja a színt, itt a mozgás és a fókusz */
.wp-element-button,.wp-block-button__link{white-space:nowrap;cursor:pointer;
  transition:background-color var(--d-press) var(--ease-out),transform var(--d-press) var(--ease-out)}
.wp-element-button:active,.wp-block-button__link:active{transform:translateY(1px)}
.wp-block-button__link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.wp-block-button.is-style-kicsi .wp-block-button__link{padding:11px 20px;font-size:14px}
/* szöveges link-gomb (pl. a hero „Rólam”) */
.link a,a.link{font:500 14px/1 var(--fb);white-space:nowrap;text-decoration:none;color:inherit;
  border-bottom:1px solid currentColor;padding-bottom:3px;transition:color var(--d-press) var(--ease-out)}

/* ---------- beúszás ----------
   A kiindulás látható. Az opacity:0 csak akkor kapcsol be, ha a <head> szinkron szkriptje
   lefutott (html.js); ha a JS késik vagy elhasal, az oldal teljes értékűen látszik.
   Az első képernyőn lévő elemek (hero, a kanyargós szekció feje, az első állomás) soha nem
   indulnak 0-ról, csak a hajtás alattiak úsznak be. A szerkesztőben nincs .js, ott minden látszik. */
.js .rev:not(.hero .rev,.nap-fej .rev,.utvonal > .allomas:first-of-type){opacity:0;transform:translateY(24px);
  transition:opacity var(--d-rev) var(--ease-rev),transform var(--d-rev) var(--ease-rev);
  transition-delay:calc(var(--i,0) * var(--stg))}
.js .rev.is-in:not(#_),.rev-kesz .rev:not(#_){opacity:1;transform:none} /* a :not(#_) csak a fenti kivétellista fajlagosságát üti */
.rev-kesz .rev:not(.is-in):not(#_){transition-duration:.4s;transition-delay:0s} /* biztonsági háló (html.rev-kesz, 1200 ms): lépcsőzés nélkül */
.rev-1{--i:1}.rev-2{--i:2}.rev-3{--i:3}.rev-4{--i:4}.rev-5{--i:5}.rev-6{--i:6}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .rev{opacity:1!important;transform:none!important}
}

/* ============ FEJLÉC ============ */
.wp-site-blocks > header.wp-block-template-part{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:40;
  background:color-mix(in srgb,var(--canvas) 88%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color var(--d-panel) var(--ease-out)}
.wp-site-blocks > header.wp-block-template-part.tapad{border-bottom-color:var(--hairline)}
@media (max-width:600px){.wp-site-blocks > header.wp-block-template-part{top:0}}
.fej-in{max-width:1180px;margin:0 auto;padding:14px var(--gutter);gap:20px;box-sizing:border-box}
.fej-jobb{gap:clamp(14px,2vw,26px)}
.mark{font:400 23px/1 var(--fd);letter-spacing:.02em;color:var(--ink);margin:0;white-space:nowrap}
.mark a{color:inherit;text-decoration:none}
.fej-menu .wp-block-navigation__container{gap:clamp(14px,2vw,26px)}
.fej-menu .wp-block-navigation-item__content{font:500 14px/1 var(--fb);white-space:nowrap;
  text-decoration:none;color:var(--ink-mute);transition:color var(--d-press) var(--ease-out)}
.fej-menu .wp-block-navigation-item__content:hover{color:var(--ink)}
/* hamburger és kosár: legalább 44×44-es érintési felület (a megjelenítést a WP dönti el) */
.fej-menu .wp-block-navigation__responsive-container-open,
.fej-menu .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;
  align-items:center;justify-content:center;color:var(--ink)}
@media (max-width:599px){.fej-menu .wp-block-navigation__responsive-container-open{display:inline-flex}}
.fej-kosar .wc-block-mini-cart__button{min-width:44px;min-height:44px;padding:6px;color:var(--ink-mute)}
.fej-kosar .wc-block-mini-cart__button:hover{color:var(--ink)}
.fej-kosar .wc-block-mini-cart__badge{background:var(--primary);color:#fff;border-color:var(--canvas)}
/* mobil menü: lenyíló panel a fejléc alatt, nem teljes képernyős overlay */
@media (max-width:599px){
  .fej-menu .wp-block-navigation__responsive-container.is-menu-open{
    position:fixed;inset:var(--fej-h,62px) 0 auto 0;height:auto;max-height:calc(100dvh - var(--fej-h,62px));
    padding:6px var(--gutter) 18px;background:var(--canvas);border-bottom:1px solid var(--hairline);
    box-shadow:0 18px 30px rgba(8,30,38,.08);animation:panel var(--d-panel) var(--ease-out)}
  .fej-menu .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:0;align-items:stretch}
  .fej-menu .is-menu-open .wp-block-navigation__responsive-container-content,
  .fej-menu .is-menu-open .wp-block-navigation__container{gap:0;align-items:stretch!important;justify-content:flex-start!important;width:100%}
  .fej-menu .is-menu-open .wp-block-navigation-item{width:100%;align-items:flex-start!important}
  .fej-menu .is-menu-open .wp-block-navigation-item__content{justify-content:flex-start;text-align:left;width:100%}
  .fej-menu .is-menu-open .wp-block-navigation-item{border-bottom:1px solid var(--hairline)}
  .fej-menu .is-menu-open .wp-block-navigation-item__content{display:flex;align-items:center;
    min-height:48px;font-size:17px;color:var(--ink)}
  .fej-menu .is-menu-open .wp-block-navigation__responsive-container-close{top:4px;right:calc(var(--gutter) - 10px)}
  .fej-menu .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:0}
}
@keyframes panel{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.admin-bar .fej-menu .wp-block-navigation__responsive-container.is-menu-open{margin-top:0}

/* ============ LÁBLÉC ============ */
.lab{color:#C7DBE1;padding-block:clamp(38px,5vw,62px) 26px}
.lab a{color:#C7DBE1;text-decoration:none;white-space:nowrap}
.lab a:hover{color:#fff}
.lab .mark{font-size:27px;color:#fff}
.lab-mondat{margin-top:11px!important;font-size:14px;max-width:30ch}
.lab-oszl{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(auto-fit,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.lab-oszl > *{margin:0!important}
.lab h3{font:500 12px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#7FA3AE;margin:0 0 13px}
.lab ul{margin:0;padding:0}
.lab li{list-style:none;margin-bottom:9px;font-size:14px}
.lab-alj{margin-top:34px!important;padding-top:19px;border-top:1px solid #2A4351;font-size:13px;color:#7FA3AE;gap:16px}
@media (max-width:840px){.lab-oszl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ============================================================
   FŐOLDAL · a nyolc szekció (patterns/)
   ============================================================ */
.fooldal > *{margin-block:0}
.fooldal .wp-block-cover{padding:0}
.fooldal .wp-block-cover__inner-container > *,
.fooldal .wp-block-group > *{margin-block:0}

/* ============ 1. HERO ============ */
.hero.wp-block-cover{min-height:clamp(440px,74vh,640px)!important;overflow:hidden;align-items:flex-end;
  /* a szignatúra: a kép keretből nyílik teljes szélességre, egyszer, betöltéskor */
  clip-path:inset(0 0 round 0);animation:nyilas 1.5s var(--ease-rev) .1s both}
@keyframes nyilas{from{clip-path:inset(0 var(--gutter) round var(--r-xl))}to{clip-path:inset(0 0 round 0)}}
.hero .wp-block-cover__image-background{top:-8%;height:116%}
.hero .wp-block-cover__inner-container{position:static;width:100%;max-width:none}
.hero .tx{position:relative;z-index:2;width:min(560px,88%);padding:0 0 clamp(30px,5vh,56px) var(--gutter);box-sizing:content-box}
.hero .tx h1,.hero .tx p{color:#fff}
.hero .tx h1{margin-top:15px}
.hero .tx .eyebrow{color:#9FD8E4}
.hero .tx .sub{color:#D3E6EB;margin-top:13px;max-width:40ch}
.hero .gombsor{margin-top:26px;gap:22px;align-items:center}
.hero .gombsor .link a{color:#BCDCE4}
.hero .vaszon{position:absolute;right:var(--gutter);top:50%;width:min(300px,33%);margin:0;z-index:2;
  background:#fff;padding:9px;border-radius:2px;box-shadow:var(--wp--preset--shadow--vaszon);transform:translateY(-50%)}
.hero .vaszon img{display:block;width:100%;height:auto;object-fit:contain;animation:leng 9s ease-in-out infinite}
/* apró okosság: a vászon lassan sodródik, mint falon lógó kép huzatban */
@keyframes leng{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(0,-3px) rotate(.22deg)}}
@media (max-width:800px){.hero .vaszon{display:none}}
@media (max-width:760px){.hero.wp-block-cover{animation:none;clip-path:none}}
@media (prefers-reduced-motion:reduce){.hero.wp-block-cover{clip-path:none}}

/* ============ 2. EGY NAP A BALATONON ============ */
.nap{position:relative;overflow-x:clip;padding-block:clamp(72px,9vw,128px)}
/* a parakod szűrő kirenderelve (design/kod-generalas/): a zaj a bal felső sarokhoz rögzül, nagyítás nélkül */
.nap-hatter{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:url(../kod/parahatter.webp) left top/2560px 2700px no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 88%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 88%,transparent 100%)}
.nap-fej{position:relative;z-index:3;text-align:center;max-width:52ch;margin-inline:auto!important}
.nap-fej h2{margin-top:14px!important}
.nap-fej .lead{margin:13px auto 0!important;max-width:none}

.utvonal{position:relative;max-width:1180px;margin:clamp(26px,3.6vw,54px) auto 0!important;padding-inline:var(--gutter);box-sizing:border-box}
.vonal{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.vonal path{fill:none;stroke:#2B3A42;stroke-width:1;opacity:.9;shape-rendering:geometricPrecision;
  stroke-dasharray:var(--L);stroke-dashoffset:var(--L)}
.vonal circle{fill:var(--rose-ink);opacity:0}
.utvonal.be .vonal path{transition:stroke-dashoffset 2.8s cubic-bezier(.3,0,.18,1);stroke-dashoffset:0}
.utvonal.be .vonal circle{transition:opacity .5s ease 2.4s;opacity:1}

.allomas{position:relative;display:flex;align-items:center;min-height:clamp(330px,40vw,546px);z-index:1}
.utvonal > .allomas + .allomas{margin-top:clamp(-26px,-1.6vw,0px)}
.allomas .blob{position:absolute;top:50%;translate:0 -50%;z-index:0;pointer-events:none;margin:0}
.allomas .blob svg,.allomas .blob img{width:100%;height:auto;display:block}
.a-jobb .blob{left:-34%;width:88%}
.a-bal  .blob{right:-34%;width:88%}
.a3 .blob{width:50%;left:-15%}

.szov{position:relative;z-index:3;width:min(27ch,31%)}
.szov::before{content:"";position:absolute;inset:-70px -90px;z-index:-1;border-radius:50%;
  background:radial-gradient(52% 48% at 50% 50%,rgba(255,255,255,.55),rgba(255,255,255,.3) 55%,rgba(255,255,255,0) 100%)}
.a-jobb .szov{margin-left:58%}
.a-bal  .szov{margin-left:13%}
.a3 .szov{margin-left:53%}

.pont{position:absolute;top:.4em;left:-40px;width:9px;height:9px;border-radius:50%;
  background:var(--rose-ink);box-shadow:0 0 0 6px rgba(255,255,255,.68)}
.d-jobb .pont{left:auto;right:-40px}
.allomas:first-of-type .pont{top:-2.3em;left:-30px}

.szov h3{font:600 clamp(.92rem,1.45vw,1.1rem)/1.3 var(--fb);letter-spacing:.085em;text-transform:uppercase;margin:0;color:var(--ink)}
.szov .adat{margin-top:15px!important;display:grid;gap:8px;font-size:clamp(.78rem,1.02vw,.845rem);color:var(--ink-subtle)}
.szov .adat p{display:flex;gap:7px;margin:0}
.szov .adat strong{font-weight:500;color:var(--ink-mute);white-space:nowrap}
.tovabb{margin-top:19px!important}
.tovabb a{display:inline-block;font:500 11px/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);
  text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--primary) 36%,transparent);padding-bottom:5px}
.tovabb a:hover{border-bottom-color:var(--primary)}

@media (max-width:860px){
  .vonal{display:none}
  .allomas{display:block;min-height:0;margin-top:0!important}
  .utvonal > .allomas + .allomas{margin-top:clamp(14px,3.4vw,30px)}
  .allomas .blob{position:relative;top:auto;translate:none;width:116%!important;left:-8%!important;right:auto!important}
  .a3 .blob{width:78%!important;left:2%!important}
  .szov{width:auto;margin-left:0!important;margin-top:-7%!important}
  .szov::before{display:none}
  .pont{display:none}
}

/* ============ 3. MINDEN FESTMÉNY ============ */
.sor-fej{max-width:1180px;margin-inline:auto!important;padding-inline:var(--gutter);box-sizing:border-box;gap:20px;align-items:baseline!important}
.sor-fej .osszes a{color:var(--primary)}
.sor .wc-block-product-template{display:flex!important;flex-wrap:nowrap!important;gap:18px;overflow-x:auto;
  padding:26px var(--gutter) 14px!important;margin:0!important;scroll-snap-type:x mandatory;scrollbar-width:thin;list-style:none}
.sor .wc-block-product-template > li{flex:0 0 clamp(236px,27vw,300px)!important;width:auto!important;max-width:none!important;margin:0!important;scroll-snap-align:start}
.sor .wc-block-product-template::-webkit-scrollbar{height:6px}
.sor .wc-block-product-template::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}
.kep-k{position:relative;height:100%;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);
  overflow:hidden;transition:background var(--d-panel) var(--ease-out)}
.kep-k:hover{background:var(--surface-2)}
.kep-k .wc-block-components-product-image{margin:0!important;background:#fff;overflow:hidden}
/* a festményt nem vágjuk: contain, fehér alapon */
.kep-k .wc-block-components-product-image img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain!important;padding:13px;box-sizing:border-box;
  transition:transform var(--d-panel) var(--ease-out)}
.kep-k:hover .wc-block-components-product-image img{transform:scale(1.02)}
.kep-k .b{padding:14px 16px 18px;border-top:1px solid var(--hairline)}
.kep-k .b :is(h2,h3){margin:0;font:500 19px/1.3 var(--fd);letter-spacing:-.01em}
.kep-k .b :is(h2,h3) a{color:var(--ink);text-decoration:none}
.kep-k .b :is(h2,h3) a::after{content:"";position:absolute;inset:0}
.kep-k .b .meta-s{margin-top:4px!important}
.kep-k .b .meta-s:empty{display:none}
.kep-k .b .ar-s{margin-top:10px!important;font:500 16px/1 var(--fd);color:var(--ink);font-variant-numeric:tabular-nums;text-align:left}

/* ============ 4. MITŐL EDUS ============ */
.mitol.wp-block-cover{min-height:clamp(440px,60vh,600px)!important;overflow:hidden;align-items:center}
.mitol .wp-block-cover__image-background{height:112%}
.mitol .wp-block-cover__inner-container{position:static;max-width:1180px;margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}
.mitol .tart{position:relative;z-index:2;max-width:min(620px,92%);padding-block:clamp(48px,7vw,86px)}
.mitol h2{color:#fff;margin-top:10px!important}
.mitol p{color:#CDE2E8}
.mitol .eyebrow{color:#8FD2E0}
.mitol .lista{margin-top:clamp(24px,3.2vw,36px)!important;display:grid;gap:17px}
.mitol .lista > div{padding-left:15px;border-left:2px solid rgba(143,210,224,.5)}
.mitol .lista-cim{font:500 17px/1.3 var(--fd);color:#fff}
.mitol .lista p:not(.lista-cim){font-size:14px;margin-top:4px!important}
.mitol .lebeg{position:absolute;right:clamp(16px,4vw,54px);top:50%;transform:translateY(-26%);
  width:min(330px,33%);margin:0;z-index:2}
.mitol .lebeg img{display:block;width:100%;height:auto;object-fit:contain;border-radius:2px;
  box-shadow:0 26px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.22)}
.mitol .lebeg figcaption{margin-top:11px;font:400 12px/1.45 var(--fb);color:#BDD6DE;letter-spacing:.01em;text-align:left}
.mitol .hullam{position:absolute;inset:auto 0 -1px 0;width:100%;height:clamp(40px,6vw,86px);display:block;z-index:3}
.mitol .hullam path{fill:var(--canvas)}
@media (max-width:880px){.mitol .lebeg{display:none}.mitol .tart{max-width:100%}}

/* ============ 5. EDINA ============ */
.edina .sor2{gap:clamp(26px,4.5vw,64px)}
.edina .portre img{border-radius:999px;border:1px solid var(--hairline);width:100%;height:auto}
.edina .bemutat{margin-top:15px!important;max-width:46ch}
.edina .wp-block-buttons{margin-top:22px!important}
@media (max-width:781px){.edina .portre img{max-width:250px}}

/* ============ 6. KATEGÓRIÁK ============ */
.kategoriak .kat-racs{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))!important;gap:18px;margin-top:28px!important}
.kat{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hairline);background:var(--surface-1);
  transition:transform .35s var(--ease-out),border-color .35s var(--ease-out)}
.kat:hover{transform:translateY(-4px);border-color:#C2D6DC}
.kat .kep{aspect-ratio:4/3;background:var(--surface-2);overflow:hidden;margin:0}
.kat .kep a{display:block;height:100%}
.kat .kep img{width:100%;height:100%;object-fit:cover;display:block}
.kat:not(.termek) .kep img{object-position:50% 42%}
.kat.termek .kep img{object-fit:contain;padding:clamp(14px,2.4vw,26px);mix-blend-mode:multiply;box-sizing:border-box}
.kat .ra{padding:15px 18px 17px;border-top:1px solid var(--hairline)}
.kat .kat-cim{font:500 19px/1.2 var(--fd)}
.kat .kat-cim a{color:var(--ink);text-decoration:none}
.kat .kat-cim a::after{content:"";position:absolute;inset:0}
.kat .kat-al{font-size:13px;margin-top:4px!important;color:var(--ink-subtle)}

/* ============ 7. AJÁNDÉK ============ */
.ajandek .doboz{border-radius:var(--r-lg);overflow:hidden;position:relative;
  background:linear-gradient(135deg,#F7E3E8,#FBEFF2);border:1px solid #F0D2DA;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch}
.ajandek .sz{padding:clamp(30px,4.5vw,58px);position:relative;z-index:1}
.ajandek .sz h2{color:#5A1F2E;margin-top:10px!important}
.ajandek .sz .eyebrow{color:#A8415C}
.ajandek .sz .aj-szoveg{color:#7A3447;margin-top:14px!important;max-width:40ch}
.ajandek .sz .wp-block-buttons{margin-top:24px!important}
.ajandek .foto{position:relative;min-height:250px;overflow:hidden;margin:0}
.ajandek .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ajandek .foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#FBEFF2 0%,rgba(251,239,242,.45) 34%,rgba(251,239,242,0) 72%)}
.ajandek .mot{position:absolute;left:-6%;bottom:-30%;width:52%;opacity:.13;pointer-events:none;z-index:0;margin:0}
@media (max-width:740px){.ajandek .doboz{grid-template-columns:minmax(0,1fr)}
  .ajandek .foto{min-height:190px;order:-1}
  .ajandek .foto::after{background:linear-gradient(0deg,#FBEFF2 0%,rgba(251,239,242,0) 60%)}}

/* ============ 8. ZÁRÓ ============ */
.zaro.wp-block-cover{min-height:clamp(280px,40vh,400px)!important;overflow:hidden}
.zaro .wp-block-cover__inner-container{max-width:1180px;margin-inline:auto;padding-inline:var(--gutter);box-sizing:border-box}
.zaro h2,.zaro p{color:#fff}
.zaro p{margin-top:13px!important;max-width:40ch}
.zaro .wp-block-buttons{margin-top:24px!important}

/* ============ BOLT: KATEGÓRIALISTA ÉS TERMÉKLAP ============
   Még nincs külön terv (BUILD.md); a DESIGN.md komponenseiből: hajszálkeretes kártya,
   fehér alapon contain kép, rózsa nélkül (a termékrácson és a terméklapon a vásznak a színesek). */
.lista,.termeklap{padding-block:clamp(28px,4vw,56px) var(--sp-sec);padding-inline:var(--gutter)}
.lista > *,.termeklap > *{max-width:1180px!important;margin-inline:auto!important}
.woocommerce-breadcrumb,.wc-block-breadcrumbs{font:400 13px/1.4 var(--fb);color:var(--ink-subtle)}
.wc-block-breadcrumbs a{color:var(--ink-subtle)}
.lista .wp-block-query-title{margin-top:14px!important}
.lista-leiras{margin-top:12px!important;max-width:60ch;color:var(--ink-mute)}

/* rács: a festménysor kártyája, három oszlopban */
.racs{margin-top:clamp(24px,3.4vw,40px)!important}
.racs .wc-block-product-template{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px!important;margin:0!important;padding:0!important}
.racs .wc-block-product-template > li{width:auto!important;max-width:none!important;margin:0!important}
.racs .kep-k .wc-block-components-product-image img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain!important;padding:13px;box-sizing:border-box}

/* terméklap */
.tl-oszl{gap:clamp(24px,4.5vw,64px)!important;margin-top:clamp(16px,2.4vw,28px)!important}
.tl-kep .woocommerce-product-gallery{background:#fff;border:1px solid var(--hairline);border-radius:var(--r-lg);padding:clamp(12px,2vw,24px);box-sizing:border-box;margin:0;width:100%!important;float:none!important;opacity:1!important}
.tl-kep .woocommerce-product-gallery img{width:100%;height:auto;max-height:min(78vh,900px);object-fit:contain!important;display:block;margin-inline:auto}
.tl-kep .woocommerce-product-gallery__image a{pointer-events:none;cursor:default}
.tl-kep .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}
.tl-kep .flex-control-thumbs li{width:72px;cursor:pointer}
.tl-kep .flex-control-thumbs img{aspect-ratio:1;object-fit:contain!important;background:#fff;border:1px solid var(--hairline);border-radius:var(--r-sm);padding:4px;box-sizing:border-box;opacity:.6;max-height:none}
.tl-kep .flex-control-thumbs img.flex-active,.tl-kep .flex-control-thumbs img:hover{opacity:1;border-color:var(--ink-subtle)}
.tl-adat h1{font-size:var(--wp--preset--font-size--heading-xl)!important;margin:0}
.tl-ar{margin-top:14px!important;font:500 22px/1.2 var(--fd)!important;color:var(--ink);font-variant-numeric:tabular-nums}
.tl-rovid{margin-top:18px!important;color:var(--ink-mute)}
.tl-adat .wp-block-add-to-cart-form{margin-top:26px!important}
.tl-adat form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tl-adat .stock{font:400 13px/1.4 var(--fb);color:var(--ink-subtle);margin:0 0 12px}
.tl-adat .single_add_to_cart_button{background:var(--primary)!important;color:#fff!important;border:0;border-radius:var(--r-md);padding:14px 26px;font:600 15px/1 var(--fb)}
.tl-adat .single_add_to_cart_button:hover{background:var(--primary-hover)!important}
.tl-reszlet{margin-top:clamp(36px,5vw,64px)!important;border-top:1px solid var(--hairline);padding-top:24px}
.tl-reszlet .wc-tabs{display:flex;gap:22px;list-style:none;margin:0 0 18px;padding:0}
.tl-reszlet .wc-tabs a{font:500 13px/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-subtle);text-decoration:none}
.tl-reszlet .wc-tabs .active a{color:var(--ink)}
.tl-reszlet h2{font-size:var(--wp--preset--font-size--heading-md);margin:0 0 12px}
.tl-reszlet table{border-collapse:collapse;width:100%;max-width:560px}
.tl-reszlet th,.tl-reszlet td{text-align:left;padding:9px 0;border-bottom:1px solid var(--hairline);font-size:15px;vertical-align:top}
.tl-reszlet th{font-weight:500;color:var(--ink);width:40%;padding-right:16px}
.tl-reszlet td p{margin:0}
@media (max-width:781px){.tl-kep{flex-basis:100%!important}}
/* a WC blokkstílusa 512 px-re szorítja a galériát és dőlt, csíkos táblát ad; a terméklap ezt felülírja */
.tl-kep .wp-block-woocommerce-product-image-gallery{max-width:none!important}
.tl-adat form.cart .single_add_to_cart_button{margin:0!important}
.tl-adat form.cart .quantity:has(input[type=hidden]){display:none}
.tl-reszlet table.shop_attributes{border:0!important;margin:0}
.tl-reszlet table.shop_attributes :is(th,td){background:none!important;font-style:normal!important;border-top:0!important;border-bottom:1px solid var(--hairline)!important;padding:9px 16px 9px 0!important}
.tl-reszlet table.shop_attributes td{color:var(--ink-mute)}
.tl-reszlet .woocommerce-Tabs-panel > h2{display:none}
.tl-reszlet .wc-tabs{border:0!important}
.tl-reszlet .wc-tabs li{background:none!important;border:0!important;padding:0!important;margin:0!important}
.tl-reszlet .wc-tabs li a{padding:0 0 8px!important}
.tl-reszlet .wc-tabs li.active a{border-bottom:2px solid var(--ink)}
.tl-adat form.cart{padding:0!important}
.tl-adat form.cart::before,.tl-adat form.cart::after{display:none!important} /* a WC clearfix-e flex-elemként eltolná a gombot */
.tl-reszlet table.shop_attributes tr{display:table-row!important}
.tl-reszlet table.shop_attributes :is(th,td){display:table-cell!important}

/* ============ OLDALAK (Rólam, kosár, pénztár) ============ */
.lap{padding:clamp(28px,4vw,56px) var(--gutter) var(--sp-sec)}
.lap .wp-block-post-content > *{max-width:1180px}
.rolam-oszl{gap:clamp(28px,5vw,72px)!important;align-items:flex-start!important}
.rolam-kep .portre img{border-radius:50%;aspect-ratio:1;object-fit:cover;width:100%;max-width:420px;height:auto} /* portréfotó, nem festmény */
.rolam-szoveg{max-width:62ch}
.rolam-szoveg h1{font-size:var(--wp--preset--font-size--heading-xl)!important;margin-top:14px!important}
.rolam-szoveg p:not(.eyebrow){margin-top:16px!important;color:var(--ink-mute)}
.rolam-szoveg .alairas{font:400 21px/1.35 var(--fd);color:var(--ink)!important;margin-top:26px!important}
