/* PIPU Farm – vintage tanyai stílus */

@font-face { font-family: "Alfa Slab One"; src: url(../fonts/alfa-slab-one-latin-400-normal.woff2) format("woff2"); font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alfa Slab One"; src: url(../fonts/alfa-slab-one-latin-ext-400-normal.woff2) format("woff2"); font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-ext-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-ext-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* A dőlt betűnek is kell a latin-ext készlet, különben dőlt szövegben az ő, ű és í
   más betűtípusra esik vissza, szemmel láthatóan kilógva a szóból. A fájl eddig is
   fent volt, csak nem hivatkozott rá semmi. */
@font-face { font-family: "Literata"; src: url(../fonts/literata-latin-ext-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* =========================================================
   MOBIL AZ ELSŐ: az alapszabályok telefonra készülnek,
   a nagyobb képernyők min-width lépcsőkben kapnak rá többet.
   Lépcsők: 600px (nagy telefon/kis tablet), 900px (tablet fekvő), 1200px (asztali)
   ========================================================= */

:root {
  --kraft: #E6D8BC;
  --paper: #F3EBD8;
  --ink: #2B2016;
  --ink-soft: #5A4A3A;
  --barn: #8A2F24;
  --barn-dark: #6E241B;
  --moss: #4C5A2B;
  --yolk: #D49A2A;
  --line: rgba(43, 32, 22, .3);

  --display: "Alfa Slab One", "Rockwell", "Georgia", serif;
  --text: "Literata", "Georgia", "Times New Roman", serif;

  --wrap: 1180px;
  --narrow: 720px;
  --gap: 1.125rem;
  --section: 3.25rem;
  --head-h: 60px;
  --tap: 48px;                 /* minimális érintési felület */
  --safe-l: env(safe-area-inset-left, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
}
@media (min-width: 600px)  { :root { --gap: 1.75rem; --section: 4.5rem; --head-h: 70px; } }
@media (min-width: 1200px) { :root { --gap: 2.5rem;  --section: 6.5rem; --head-h: 78px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--head-h) + 12px); }
body {
  margin: 0;
  font: 400 1.0625rem/1.65 var(--text);     /* 17px mobilon */
  color: var(--ink);
  background-color: var(--kraft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  overflow-x: hidden;
  -webkit-tap-highlight-color: rgba(212, 154, 42, .25);
}
@supports (overflow: clip) { body { overflow-x: clip; } }
@media (min-width: 600px) { body { font-size: 1.125rem; line-height: 1.72; } }

img, svg, video, iframe { max-width: 100%; }
img, svg { height: auto; display: block; }
a { color: var(--barn); text-decoration-thickness: 1px; text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--yolk); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.1; margin: 0 0 .5em; overflow-wrap: break-word; hyphens: manual; }
p { margin: 0 0 1em; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: .5rem; background: var(--ink); color: var(--paper); padding: .75rem 1rem; z-index: 99; }
.skip:focus { left: .5rem; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-left: calc(var(--gap) + var(--safe-l)); padding-right: calc(var(--gap) + var(--safe-r)); }
.wrap--narrow { max-width: calc(var(--narrow) + 2 * var(--gap)); }

/* Hover effektek csak egeres eszközön – érintésnél nem ragadnak be */
@media (hover: hover) {
  a:hover { color: var(--barn-dark); text-decoration-thickness: 2px; }
}

/* ---------- Gombok ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: var(--tap);
  font: 400 1.02rem/1.1 var(--display); letter-spacing: .02em; text-align: center;
  padding: .8rem 1.25rem .7rem; color: var(--paper); background: var(--barn);
  border: 2px solid var(--barn); text-decoration: none; cursor: pointer;
  box-shadow: 3px 3px 0 var(--ink); transition: transform .1s, box-shadow .1s;
  touch-action: manipulation;
}
.btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
@media (hover: hover) {
  .btn:hover { color: var(--paper); background: var(--barn-dark); border-color: var(--barn-dark); }
  .btn--ghost:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
}
@media (min-width: 600px) { .btn { box-shadow: 4px 4px 0 var(--ink); padding: .9rem 1.5rem .8rem; } }
.linkbtn { background: none; border: 0; padding: .5rem 0; min-height: 44px; font: inherit; color: var(--barn); text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.textlink { font-family: var(--display); text-decoration: none; border-bottom: 2px solid currentColor; padding: .5rem 0 .1rem; }

/* ---------- Fejléc: mobilon ragadós, kompakt ---------- */
.masthead {
  position: sticky; top: 0; z-index: 30; background: var(--kraft);
  border-bottom: 3px double var(--ink);
}
.masthead__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: var(--head-h); }
.brand { display: flex; align-items: center; gap: .5rem; color: var(--ink); text-decoration: none; min-height: var(--tap); }
.brand img { width: auto; height: 42px; }

.navtoggle {
  display: grid; place-items: center; width: var(--tap); height: var(--tap); margin-right: -6px;
  background: none; border: 2px solid var(--ink); cursor: pointer; touch-action: manipulation;
}
.navtoggle__bar, .navtoggle__bar::before, .navtoggle__bar::after { display: block; width: 22px; height: 2px; background: var(--ink); position: relative; transition: transform .2s, background .2s; }
.navtoggle__bar::before, .navtoggle__bar::after { content: ""; position: absolute; left: 0; }
.navtoggle__bar::before { top: -7px; } .navtoggle__bar::after { top: 7px; }
.navtoggle[aria-expanded="true"] .navtoggle__bar { background: transparent; }
.navtoggle[aria-expanded="true"] .navtoggle__bar::before { transform: translateY(7px) rotate(45deg); }
.navtoggle[aria-expanded="true"] .navtoggle__bar::after { transform: translateY(-7px) rotate(-45deg); }

.nav {
  display: none; position: absolute; left: 0; right: 0; top: 100%;
  flex-direction: column; background: var(--paper); border-bottom: 3px double var(--ink);
  padding: .25rem calc(var(--gap) + var(--safe-r)) 1rem calc(var(--gap) + var(--safe-l));
  box-shadow: 0 14px 24px -12px rgba(43, 32, 22, .35);
}
.nav.is-open { display: flex; }
.nav a {
  display: flex; align-items: center; min-height: 56px; color: var(--ink); text-decoration: none;
  font: 400 1.3rem/1 var(--display); border-bottom: 1px dashed var(--line);
}
.nav a:last-child { border-bottom: 0; }
.nav a[aria-current="page"] { color: var(--barn); }
.nav a[aria-current="page"]::before { content: ""; width: 10px; height: 13px; margin-right: .6rem; background: var(--barn); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; }

@media (min-width: 760px) {
  .masthead { position: relative; }
  .navtoggle { display: none; }
  .nav { display: flex; position: static; flex-direction: row; gap: clamp(1.25rem, 3vw, 2.25rem); background: none; border: 0; padding: 0; box-shadow: none; }
  .nav a { min-height: var(--tap); font: 400 1.05rem/1 var(--text); border-bottom: 2px solid transparent; }
  .nav a:last-child { border-bottom: 2px solid transparent; }
  .nav a[aria-current="page"] { border-bottom-color: var(--barn); }
  .nav a[aria-current="page"]::before { display: none; }
  .brand__egg { width: 32px; }
  .brand__name { font-size: 1.6rem; }
  .brand img { height: 54px; }
}
@media (min-width: 760px) and (hover: hover) { .nav a:hover { border-bottom-color: var(--ink-soft); } }

/* ---------- „Bolt” kiemelése a menüben: kis cégtábla ---------- */
.nav .nav__bolt {
  align-self: center; justify-content: center;
  font: 400 1.02rem/1 var(--display); letter-spacing: .03em;
  color: var(--paper); background: var(--barn);
  border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink);
  transition: transform .1s, box-shadow .1s, background-color .15s;
}
.nav .nav__bolt:hover, .nav .nav__bolt:focus-visible { color: var(--paper); }

/* telefonos legördülő menü: a sor helyett önálló táblaként áll */
.nav .nav__bolt {
  min-height: 0; margin: .7rem 0 .4rem; padding: .62rem 1.1rem .55rem;
  border-bottom: 2px solid var(--ink); align-self: flex-start;
}
.nav .nav__bolt[aria-current="page"] { color: var(--paper); background: var(--barn-dark); }
.nav .nav__bolt[aria-current="page"]::before { display: none; }

@media (min-width: 760px) {
  .nav .nav__bolt { min-height: 0; margin: 0; padding: .52rem 1.05rem .46rem; font-size: 1rem; border-bottom: 2px solid var(--ink); }
  /* az aláhúzásos aktív jelölés helyett itt a sötétebb tábla jelzi, hol vagyunk */
  .nav .nav__bolt[aria-current="page"] { border-bottom-color: var(--ink); background: var(--barn-dark); }
}
@media (min-width: 760px) and (hover: hover) {
  .nav .nav__bolt:hover { border-bottom-color: var(--ink); background: var(--barn-dark); transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--ink); }
}
.nav .nav__bolt:active { transform: translate(3px, 3px); box-shadow: 0 0 0 var(--ink); }
@media (prefers-reduced-motion: reduce) { .nav__bolt { transition: none; } }

/* ---------- Hero ---------- */
.hero { padding-block: 1.75rem var(--section); }
.hero__in { display: grid; gap: 2.25rem; }
.hero__place { font-style: italic; color: var(--moss); font-size: 1rem; margin-bottom: .5rem; }
.hero__title { font-size: clamp(2.1rem, 9.6vw, 4.6rem); line-height: 1.04; margin-bottom: 1rem; text-wrap: balance; }
.hero__lead { font-size: 1.08rem; color: var(--ink-soft); margin-bottom: 1.5rem; max-width: 34em; }
.hero__cta { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.hero__cta .btn { width: 100%; padding-inline: .5rem; }
.hero__cta--center { max-width: 420px; margin-inline: auto; }

.hero__pic { position: relative; margin: 0 auto; width: 100%; max-width: 440px; padding: 0 10px 34px 0; }
.hero__pic > .hero__photo {
  width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%;
  background: var(--paper); border: 8px solid var(--paper);
  outline: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--moss);
}
.stamp {
  position: absolute; display: block; width: 118px; aspect-ratio: 1; left: -6px; bottom: -4px; transform: rotate(-8deg);
}
.stamp__img { display: block; width: 100%; height: auto; aspect-ratio: 1; border: 0; outline: 0; object-fit: contain; border-radius: 50%; box-shadow: 3px 4px 0 rgba(43, 32, 22, .25); }
.home .stamp { animation: stamp .55s cubic-bezier(.3, 1.6, .5, 1) .35s both; }
@keyframes stamp { from { opacity: 0; transform: scale(1.8) rotate(-24deg); } to { opacity: 1; transform: scale(1) rotate(-8deg); } }

@media (min-width: 600px) {
  .hero { padding-top: 3rem; }
  .hero__place { font-size: 1.15rem; }
  .hero__lead { font-size: 1.22rem; margin-bottom: 2rem; }
  .hero__cta { display: flex; flex-wrap: wrap; gap: 1rem 1.25rem; }
  .hero__cta .btn { width: auto; padding-inline: 1.5rem; }
  .hero__cta--center { justify-content: center; }
  .hero__pic > .hero__photo { border-width: 12px; box-shadow: 10px 10px 0 var(--moss); }
  .stamp { width: 150px; left: -1.5rem; }
}
@media (min-width: 900px) {
  .hero { padding-block: 4.5rem var(--section); }
  .hero__in { grid-template-columns: 1.25fr .85fr; gap: clamp(2.5rem, 4.5vw, 4rem); align-items: center; }
  /* egyetlen szabály: a max-width: none-t a következő sor úgyis azonnal felülírta */
  .hero__pic { max-width: 440px; padding: 0; justify-self: center; }
  .hero__pic > .hero__photo { aspect-ratio: 2 / 3; object-position: center; }
  .stamp { width: clamp(150px, 14vw, 180px); left: -3rem; bottom: -2.5rem; }
}

/* ---------- Szakasz alapok ---------- */
.section-title { font-size: clamp(1.7rem, 6.8vw, 2.75rem); text-wrap: balance; }
.section-title--sm { font-size: clamp(1.4rem, 5vw, 1.8rem); }
.section-lead { color: var(--ink-soft); max-width: 36em; margin-bottom: 1.5rem; }
.about, .breeds, .feed, .latest, .follow { padding-block: var(--section); border-top: 2px dashed var(--line); }
@media (min-width: 600px) { .section-lead { margin-bottom: 2.25rem; } }

/* ---------- Rólunk ---------- */
.about__in { display: grid; gap: 1.75rem; }
.about__pic { margin: 0; width: 100%; padding: 0 6px; }
.about__pic img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 42%; border: 8px solid var(--paper); outline: 2px solid var(--ink); transform: rotate(-1.2deg); }
.about__text h2 { font-size: clamp(1.7rem, 6.8vw, 2.75rem); }
@media (min-width: 900px) {
  .about__in { grid-template-columns: .95fr 1.05fr; gap: clamp(2.5rem, 5vw, 4.5rem); align-items: center; }
  .about__pic { max-width: 440px; justify-self: center; }
  .about__pic img { border-width: 10px; aspect-ratio: 4 / 5; }
}

/* ---------- Kik laknak nálunk: lakók számlálóval ---------- */
.residents { list-style: none; margin: 0; padding: 0; }
.resident { position: relative; background: var(--paper); border: 2px solid var(--ink); }
.resident__pic { margin: 0; width: 100%; }
.resident__pic img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; outline: 1px solid var(--line); }
.resident__count { display: flex; align-items: baseline; gap: .35rem; margin: 0; line-height: 1; color: var(--barn); }
.resident__num { font: 400 3.4rem/1 var(--display); font-variant-numeric: tabular-nums; }
.resident__unit { font-style: italic; font-size: 1rem; color: var(--ink-soft); }
.resident__name { font-size: 1.35rem; margin: .35rem 0 .35rem; }
.resident__text { font-size: .98rem; line-height: 1.5; color: var(--ink-soft); margin: 0; }

/* mobil + tablet: vízszintesen lapozható kártyák, a következő kártya kilátszik */
@media (max-width: 899px) {
  .residents {
    display: flex; gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
    margin-inline: calc(-1 * var(--gap)); padding: .25rem var(--gap) 1.1rem; scroll-padding-inline: var(--gap);
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .residents::-webkit-scrollbar { display: none; }
  .resident {
    flex: 0 0 min(80%, 320px); scroll-snap-align: start; padding: 10px 10px 1.2rem;
    box-shadow: 5px 5px 0 var(--moss);
  }
  .resident__body { padding: .9rem .4rem 0; }
  .residents__nav { display: flex; justify-content: center; gap: .55rem; margin: .35rem 0 2.25rem; }
  .residents__dot {
    width: 30px; height: 30px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center;
  }
  .residents__dot::before {
    content: ""; width: 12px; height: 15px; border: 2px solid var(--ink); background: var(--paper);
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transition: background .2s, transform .2s;
  }
  .residents__dot[aria-current="true"]::before { background: var(--yolk); transform: scale(1.15); }
}
@media (min-width: 600px) and (max-width: 899px) { .resident { flex-basis: min(46%, 340px); } }
@media (min-width: 900px) {
  .residents { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 3.5rem; }
  .residents__nav { display: none; }
  .resident { padding: 12px 12px 1.4rem; box-shadow: 6px 6px 0 var(--moss); }
  .resident:nth-child(2) { transform: rotate(.8deg); }
  .resident:nth-child(3) { transform: rotate(-.6deg); }
  .resident__body { padding: .4rem .6rem 0; }
  .resident__num { font-size: 4.25rem; }
  .resident__name { font-size: 1.45rem; }
  .resident__text { font-size: 1rem; }
}
.breeds__title { font-size: clamp(1.35rem, 5vw, 1.7rem); margin-bottom: 1rem; }

@media (min-width: 600px) {
  .resident { grid-template-columns: 34% minmax(0, 1fr); gap: 1.25rem; padding: .9rem; }
  .resident__text { font-size: 1rem; }
}
@media (min-width: 900px) {
  .residents { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 3.5rem; }
  .resident { grid-template-columns: 1fr; align-items: start; padding: 12px 12px 1.4rem; box-shadow: 6px 6px 0 var(--moss); }
  .resident:nth-child(2) { transform: rotate(.8deg); }
  .resident:nth-child(3) { transform: rotate(-.6deg); }
  .resident__body { padding: .4rem .6rem 0; }
  .resident__num { font-size: 4.25rem; }
  .resident__name { font-size: 1.45rem; }
}

/* ---------- Fajták: kiállítási cédulák (mobilon 2 oszlop) ---------- */
.breeds__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.breed {
  position: relative; background: var(--paper); border: 2px solid var(--ink);
  padding: .7rem .7rem .7rem 1.85rem; min-height: 4.25rem;
  display: flex; flex-direction: column; justify-content: center;
}
.breed::before {
  content: ""; position: absolute; left: .6rem; top: 50%; width: .65rem; height: .65rem; margin-top: -.33rem;
  border-radius: 50%; border: 2px solid var(--ink); background: var(--kraft);
}
.breed__name { font: 400 1.02rem/1.15 var(--display); overflow-wrap: anywhere; }
.breed__note { font-size: .82rem; font-style: italic; color: var(--ink-soft); line-height: 1.3; margin-top: .2rem; }
@media (min-width: 600px) {
  .breeds__list { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.25rem; }
  .breed { padding: 1.1rem 1.25rem 1.1rem 2.9rem; min-height: 5.25rem; }
  .breed::before { left: 1rem; width: .85rem; height: .85rem; margin-top: -.43rem; }
  .breed__name { font-size: 1.3rem; }
  .breed__note { font-size: .95rem; }
}

/* ---------- Takarmány címke ---------- */
.feed { background: var(--moss); color: var(--paper); border-top: 0; }
.feed .section-title { color: var(--paper); }
.feed__in { display: grid; gap: 2rem; }
.feed__text p { font-size: 1.1rem; max-width: 28em; }
.label {
  background: var(--paper); color: var(--ink); padding: 8px; transform: rotate(1deg);
  box-shadow: 6px 6px 0 rgba(0, 0, 0, .25); width: calc(100% - 8px); max-width: 440px; justify-self: center;
}
.label > * { margin: 0; }
.label__top, .label__foot { text-align: center; font-style: italic; font-size: .92rem; padding: .5rem .75rem; }
.label__top { background: var(--barn); color: var(--paper); }
.label__title { font-size: clamp(1.9rem, 9vw, 3rem); text-align: center; padding: 1rem .75rem .5rem; border-inline: 3px double var(--ink); }
.label__list { list-style: none; padding: 0 1rem 1rem; border-inline: 3px double var(--ink); }
.label__list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0 1rem; padding: .5rem 0; border-bottom: 1px dashed var(--line); font-size: 1.05rem; }
.label__list li:last-child { border-bottom: 0; }
.label__list small { font-size: .85rem; font-style: italic; color: var(--ink-soft); }
.feedrow { row-gap: .3rem !important; }
.feedrow__val { font: 400 1.35rem/1 var(--display); color: var(--barn); font-variant-numeric: tabular-nums; white-space: nowrap; }
.feedrow__val span { display: inline-block; min-width: 2ch; text-align: right; }
.feedrow__bar { flex-basis: 100%; height: 6px; background: repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 6px); position: relative; }
.feedrow__bar i { position: absolute; inset: 0 auto 0 0; width: var(--p); background: var(--moss); transition: width 1.6s cubic-bezier(.2, .7, .2, 1); }
.feedrow.is-pending .feedrow__bar i { width: 0; }
.feedrow__note { font-size: .88rem; font-style: italic; color: var(--ink-soft); text-align: right; }
@media (min-width: 600px) { .feedrow__val { font-size: 1.55rem; } }
.label__foot { border: 3px double var(--ink); border-top: 2px solid var(--ink); }
@media (min-width: 600px) {
  .label { padding: 10px; transform: rotate(1.5deg); box-shadow: 8px 8px 0 rgba(0, 0, 0, .25); }
  .label__list { padding: 0 1.5rem 1.25rem; }
  .label__list li { font-size: 1.15rem; padding: .55rem 0; }
}
@media (min-width: 900px) {
  .feed__in { grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
  .feed__text p { font-size: 1.2rem; }
}

/* ---------- Blog kártyák: mobilon vízszintes, képpel balra ---------- */
.latest__head { display: flex; justify-content: space-between; align-items: baseline; gap: .25rem 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.latest__head .section-title { margin: 0; }
.postgrid { display: grid; gap: 1rem; }
.card { border-bottom: 1px dashed var(--line); padding-bottom: 1rem; }
.card:last-child { border-bottom: 0; }
.card__link { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: .9rem; align-items: start; color: var(--ink); text-decoration: none; }
.card__img { border: 2px solid var(--ink); background: var(--paper); aspect-ratio: 1; overflow: hidden; width: 100%; }
.card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.card__noimg { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, var(--paper) 0 10px, #E9DDC4 10px 20px); }
.card__body { min-width: 0; }
.card__date { font-size: .85rem; font-style: italic; color: var(--moss); }
.card__title { font-size: 1.15rem; margin: .15rem 0 .35rem; text-wrap: pretty; }
.card__excerpt { color: var(--ink-soft); font-size: .95rem; line-height: 1.5; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__link:active .card__title { color: var(--barn); }
@media (hover: hover) {
  .card__link:hover .card__img img { transform: scale(1.04); }
  .card__link:hover .card__title { color: var(--barn); }
}
@media (min-width: 600px) {
  .postgrid { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
  .card { border: 0; padding: 0; }
  .card__link { display: block; height: 100%; }
  .card__img { aspect-ratio: 3 / 2; }
  .card__body { padding-top: 1rem; }
  .card__date { font-size: .92rem; }
  .card__title { font-size: 1.45rem; margin: .3rem 0 .5rem; }
  .card__excerpt { font-size: 1.02rem; -webkit-line-clamp: 3; }
}

/* ---------- Közösségi sáv ---------- */
.follow__in { display: grid; gap: 1.5rem; }
.follow__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.follow__list a {
  display: flex; align-items: center; gap: .6rem; min-height: 56px; padding: .6rem .8rem;
  border: 2px solid var(--ink); color: var(--ink); text-decoration: none; background: var(--paper);
  font: 400 1rem/1 var(--display);
}
.follow__list a svg { flex: none; }
.follow__text p { max-width: 34em; }
.follow__list a:active { background: var(--ink); color: var(--paper); }
@media (hover: hover) { .follow__list a:hover { background: var(--ink); color: var(--paper); } }
@media (min-width: 600px) { .follow__list { gap: 1rem; } .follow__list a { padding: 1rem 1.25rem; font-size: 1.15rem; } }
@media (min-width: 900px) { .follow__in { grid-template-columns: 1fr 1fr; gap: 2rem 4rem; align-items: center; } }

/* ---------- Aloldal fejléc ---------- */
.pagehead { padding-block: 1.75rem 1.5rem; border-bottom: 2px dashed var(--line); }
.pagehead--center { text-align: center; border: 0; padding-bottom: var(--section); }
.pagehead__title { font-size: clamp(2rem, 9vw, 4rem); margin-bottom: .5rem; }
.pagehead__lead { color: var(--ink-soft); max-width: 36em; font-size: 1.05rem; margin: 0; }
.pagehead--center .pagehead__lead { margin: 0 auto 1.5rem; }
.blogwrap { padding-block: 1.5rem var(--section); }
.empty { font-size: 1.1rem; }
.pager { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; margin-top: 2rem; font-family: var(--display); font-size: .95rem; }
.pager a { display: flex; align-items: center; min-height: var(--tap); }
.pager a[rel="next"] { justify-content: flex-end; text-align: right; grid-column: 3; }
.pager span { grid-column: 2; }
@media (min-width: 600px) {
  .pagehead { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem); }
  .pagehead__lead { font-size: 1.2rem; }
  .blogwrap { padding-top: clamp(2.5rem, 5vw, 4rem); }
  .pager { margin-top: 3.5rem; font-size: 1rem; }
}

/* ---------- Blog lista: kiemelt bejegyzés + sorok ---------- */
.postmeta { font-size: .9rem; font-style: italic; color: var(--moss); margin: 0 0 .4rem; }
.tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.tag { display: inline-block; font-size: .8rem; line-height: 1; padding: .45rem .6rem .4rem; border: 1px solid var(--ink); background: var(--kraft); color: var(--ink); text-decoration: none; }
.tag--main { background: var(--moss); border-color: var(--moss); color: var(--paper); }
a.tag:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); }

.blogtools { padding-top: 1.25rem; display: grid; gap: .9rem; }
.search { display: flex; gap: .5rem; max-width: 560px; }
.search input { flex: 1; min-width: 0; min-height: 48px; font: inherit; font-size: 16px; padding: .6rem .8rem; border: 2px solid var(--ink); background: #FBF7EE; color: var(--ink); border-radius: 0; -webkit-appearance: none; appearance: none; }
.search input:focus { outline: 3px solid var(--yolk); outline-offset: 0; }
.search .btn { flex: none; padding-inline: 1rem; }
.tagfilter { list-style: none; margin: 0; padding: 0 0 .25rem; display: flex; gap: .45rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.tagfilter::-webkit-scrollbar { display: none; }
.tagchip { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: .35rem .75rem; white-space: nowrap; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); text-decoration: none; font-size: .9rem; }
.tagchip span { font-size: .75rem; color: var(--ink-soft); }
.tagchip.is-on { background: var(--moss); border-color: var(--moss); color: var(--paper); }
.tagchip.is-on span { color: var(--paper); opacity: .8; }
@media (hover: hover) { .tagchip:hover { background: var(--ink); border-color: var(--ink); color: var(--paper); } .tagchip:hover span { color: var(--paper); } }
@media (min-width: 700px) { .tagfilter { flex-wrap: wrap; overflow: visible; } .blogtools { padding-top: 2rem; } }
.filterinfo { margin: 0; font-size: .95rem; }
.filterinfo a { margin-left: .5rem; }
.empty--box { background: var(--paper); border: 2px dashed var(--line); padding: 1.5rem; }
.empty--box p:last-child { margin-bottom: 0; }
.blogtools + .blogwrap { padding-top: 1.5rem; }
.tags--article { margin-top: .9rem; }

.feat { display: grid; background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--moss); margin-bottom: 2.5rem; }
.feat__img { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 2px solid var(--ink); background: var(--kraft); }
.feat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.feat__badge { position: absolute; left: .75rem; top: .75rem; background: var(--barn); color: var(--paper); font: 400 .85rem/1 var(--display); padding: .45rem .65rem .4rem; }
.feat__body { padding: 1.1rem 1.1rem 1.35rem; display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.feat__title { font-size: clamp(1.55rem, 6.5vw, 2.6rem); margin: 0; text-wrap: balance; }
.feat__title a, .row__title a { color: var(--ink); text-decoration: none; }
.feat__excerpt { margin: 0; color: var(--ink-soft); font-size: 1.05rem; }
.feat .btn { margin-top: .25rem; }
@media (hover: hover) {
  .feat:hover .feat__img img { transform: scale(1.03); }
  .feat__title a:hover, .row__title a:hover { color: var(--barn); }
}
@media (min-width: 900px) {
  .feat { grid-template-columns: 1.15fr 1fr; margin-bottom: 3.5rem; }
  .feat__img { aspect-ratio: auto; min-height: 380px; border-bottom: 0; border-right: 2px solid var(--ink); }
  .feat__body { padding: 2rem 2.25rem; justify-content: center; }
  .feat__excerpt { font-size: 1.12rem; }
}

.bloglist__title { font-size: clamp(1.35rem, 5vw, 1.8rem); margin: 0 0 1rem; }
.rows { display: grid; gap: .9rem; }
.row {
  position: relative; display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: .85rem;
  background: var(--paper); border: 2px solid var(--ink); padding: .65rem;
}
.row__img { display: block; aspect-ratio: 1; overflow: hidden; background: var(--kraft); outline: 1px solid var(--line); }
.row__img img { width: 100%; height: 100%; object-fit: cover; }
.row__body { min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.row__title { font-size: 1.08rem; line-height: 1.2; margin: 0; text-wrap: pretty; }
.row__title a::after { content: ""; position: absolute; inset: 0; }   /* az egész kártya kattintható */
.row__excerpt { display: none; margin: 0; color: var(--ink-soft); }
.row .tags { position: relative; z-index: 1; }
.row__side { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0 .75rem; font-size: .82rem; color: var(--moss); font-style: italic; }
.row__side p { margin: 0; }
.row__date span { display: none; }
.row__btn { display: none; }
@media (min-width: 600px) {
  .row { grid-template-columns: 180px minmax(0, 1fr); gap: 1.25rem; padding: .9rem; }
  .row__img { aspect-ratio: 4 / 3; }
  .row__title { font-size: 1.3rem; }
  .row__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .98rem; line-height: 1.55; }
}
@media (min-width: 900px) {
  .rows { gap: 1.1rem; }
  .row { grid-template-columns: 240px minmax(0, 1fr) 190px; align-items: stretch; padding: 1rem; }
  .row__img { aspect-ratio: 4 / 3; align-self: start; }
  .row__body { padding: .25rem 0; gap: .5rem; }
  .row__title { font-size: 1.45rem; }
  .row .tags { margin-top: auto; }
  .row__side {
    grid-column: 3; flex-direction: column; flex-wrap: nowrap; gap: .5rem; font-style: normal;
    border-left: 1px dashed var(--line); padding-left: 1.1rem; color: var(--ink);
  }
  .row__date span { display: block; font-size: .78rem; color: var(--ink-soft); }
  .row__date time { font-family: var(--display); font-size: 1.1rem; color: var(--moss); white-space: nowrap; }
  .row__read { font-size: .85rem; color: var(--ink-soft); }
  .row__btn {
    position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; margin-top: auto; min-height: 46px;
    border: 2px solid var(--ink); color: var(--ink); text-decoration: none; font: 400 .95rem/1 var(--display); background: var(--kraft);
  }
  .row__btn::after { content: ""; width: 8px; height: 8px; margin-left: .55rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
}
@media (min-width: 900px) and (hover: hover) {
  .row:hover { box-shadow: 5px 5px 0 var(--moss); }
  .row__btn:hover { background: var(--ink); color: var(--paper); }
}

/* ---------- Cikk ---------- */
.previewbar { background: var(--yolk); color: var(--ink); text-align: center; padding: .6rem 1rem; margin: 0; font-size: .95rem; }
.previewbar a { color: var(--ink); font-weight: 700; }
.article__head { padding-block: 1.25rem 1.25rem; }
.crumbs { font-size: .9rem; margin-bottom: .75rem; color: var(--ink-soft); }
.crumbs a { color: var(--ink-soft); display: inline-block; padding: .35rem 0; }
.article__title { font-size: clamp(1.85rem, 8vw, 3.6rem); text-wrap: balance; }
.article__meta { font-style: italic; color: var(--moss); margin: 0; font-size: .95rem; }
.article__cover { margin: 0 auto 1.75rem; max-width: 1000px; padding-inline: 0; }
.article__cover img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-block: 2px solid var(--ink); }
.article__body { padding-bottom: 1.5rem; }
.article__foot { padding-bottom: var(--section); }
.share { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; border-top: 2px dashed var(--line); padding-top: 1.25rem; }
.share__label { grid-column: 1 / -1; font-family: var(--display); }
.share a, .share button {
  display: flex; align-items: center; justify-content: center; min-height: var(--tap);
  border: 2px solid var(--ink); background: var(--paper); color: var(--ink); text-decoration: none; font: inherit; font-size: .98rem; cursor: pointer; padding: .4rem;
}
.share .share__native { grid-column: 1 / -1; background: var(--barn); color: var(--paper); border-color: var(--barn); font-family: var(--display); }
.latest--post { padding-top: var(--section); }
@media (min-width: 600px) {
  .article__head { padding-block: clamp(2rem, 5vw, 3.5rem) 2rem; }
  .article__meta { font-size: 1.05rem; }
  .article__cover { padding-inline: var(--gap); margin-bottom: clamp(2rem, 4vw, 3rem); }
  .article__cover img { aspect-ratio: 16 / 9; border: 10px solid var(--paper); outline: 2px solid var(--ink); }
  .share { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; }
  .share__label { margin-right: .25rem; }
  .share a, .share button { padding: .4rem 1rem; }
  .share .share__native { display: none; }
}

/* ---------- Cikk tartalom ---------- */
.prose { font-size: 1.08rem; line-height: 1.75; overflow-wrap: break-word; }
.prose > * { margin-top: 0; margin-bottom: 0; }
.prose > * + * { margin-top: 1.1em; }
.prose > h2 { font-size: clamp(1.45rem, 6vw, 2.1rem); margin-top: 1.9em; }
.prose > h3 { font-size: clamp(1.2rem, 4.8vw, 1.55rem); margin-top: 1.6em; }
.prose > h2 + *, .prose > h3 + * { margin-top: .55em; }
.prose > :first-child { margin-top: 0; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: .35em; }
.prose li::marker { color: var(--barn); }
.prose blockquote { padding: .15em 0 .15em 1rem; border-left: 5px solid var(--yolk); font-style: italic; font-size: 1.12rem; color: var(--ink-soft); margin-inline: 0; }
.prose > blockquote { margin-top: 1.6em; margin-bottom: 1.6em; }
.prose hr { border: 0; height: 18px; margin-inline: auto; background: radial-gradient(circle, var(--ink) 2px, transparent 3px) center / 22px 18px repeat-x; width: 90px; }
.prose > hr { margin-top: 2.2em; margin-bottom: 2.2em; }
.prose > figure { margin: 1.75em calc(-1 * var(--gap)); }       /* mobilon a kép kilóg a margóig */
.prose figure img, .prose > img { width: 100%; }
.prose figcaption { font-size: .9rem; font-style: italic; color: var(--ink-soft); margin-top: .5rem; padding-inline: var(--gap); text-align: center; }
.prose .video { position: relative; aspect-ratio: 16 / 9; width: 100%; background: var(--ink); }
.prose > .video { margin-inline: calc(-1 * var(--gap)); width: calc(100% + 2 * var(--gap)); }
.prose .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.prose table { display: block; overflow-x: auto; border-collapse: collapse; width: 100%; font-size: .95rem; -webkit-overflow-scrolling: touch; }
.prose th, .prose td { border: 1px solid var(--line); padding: .5rem .75rem; text-align: left; }
.prose a { overflow-wrap: anywhere; }
@media (min-width: 600px) {
  .prose { font-size: 1.16rem; line-height: 1.78; }
  .prose blockquote { padding-left: 1.4em; font-size: 1.22rem; }
  .prose > figure { margin-inline: 0; }
  .prose figure img, .prose > img, .prose .video { border: 8px solid var(--paper); outline: 1px solid var(--line); }
  .prose > .video { margin-inline: 0; width: 100%; }
  .prose figcaption { padding-inline: 0; }
}

/* ---------- Kapcsolat: mobilon előbb az elérhetőségek ---------- */
.contact__in { display: grid; gap: 2rem; padding-block: 1.5rem var(--section); }
.contact__side { order: -1; background: var(--paper); border: 2px solid var(--ink); padding: 1.1rem; box-shadow: 5px 5px 0 var(--moss); }
.contact__block + .contact__block { border-top: 2px dashed var(--line); margin-top: 1rem; padding-top: .75rem; }
.contact__h { font-size: 1.05rem; margin: .75rem 0 .25rem; color: var(--moss); }
.contact__list, .contact__social { list-style: none; margin: 0; padding: 0; }
.contact__list a { display: flex; align-items: center; min-height: var(--tap); font-size: 1.08rem; word-break: break-word; }
/* a sorok közt .25rem volt: a két sor érintési felülete 4 pixerre került egymástól,
   és telefonon könnyen a rossz oldal nyílt meg */
.contact__social { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem .75rem; }
.contact__social a { display: flex; align-items: center; gap: .55rem; min-height: var(--tap); color: var(--ink); text-decoration: none; }
.contact__side .section-title--sm { margin-bottom: 0; }
@media (hover: hover) { .contact__social a:hover { color: var(--barn); } }
@media (min-width: 600px) { .contact__side { padding: 1.5rem 2rem; box-shadow: 8px 8px 0 var(--moss); } }
@media (min-width: 900px) {
  .contact__in { grid-template-columns: 1.4fr .9fr; gap: clamp(2.5rem, 6vw, 5rem); padding-top: clamp(2.5rem, 5vw, 4rem); align-items: start; }
  .contact__side { order: 0; position: sticky; top: 2rem; }
  .contact__social { grid-template-columns: 1fr; }
}

/* ---------- Űrlap ---------- */
.form__row--2 { display: grid; gap: 0 1.25rem; }
@media (min-width: 600px) { .form__row--2 { grid-template-columns: 1fr 1fr; } }
.field { margin: 0 0 1.1rem; }
.field label { display: block; font-weight: 700; font-size: 1rem; margin-bottom: .35rem; }
.opt { font-weight: 400; font-style: italic; color: var(--ink-soft); }
.field input, .field textarea {
  width: 100%; min-height: 52px; font: inherit; font-size: 16px; /* 16px alatt az iPhone ráközelít */
  color: var(--ink); background: #FBF7EE; border: 2px solid var(--ink); padding: .75rem .85rem;
  border-radius: 0; -webkit-appearance: none; appearance: none;
}
.field textarea { resize: vertical; min-height: 9rem; line-height: 1.5; }
.field input:focus, .field textarea:focus { outline: 3px solid var(--yolk); outline-offset: 0; }
.check { display: flex; gap: .75rem; align-items: flex-start; margin: 0 0 1.5rem; font-size: 1rem; }
.check input { width: 26px; height: 26px; margin: .1rem 0 0; accent-color: var(--barn); flex: none; }
.check label { padding-top: .1rem; }
.check--optional { margin-top: -.75rem; font-size: .95rem; }
.form .btn[type="submit"] { width: 100%; font-size: 1.1rem; min-height: 56px; }
@media (min-width: 600px) { .form .btn[type="submit"] { width: auto; } .field input, .field textarea { font-size: 1.05rem; } }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.notice { border: 2px solid var(--ink); padding: .9rem 1rem; margin-bottom: 1.25rem; background: var(--paper); }
.notice p:last-child, .notice ul { margin-bottom: 0; }
.notice ul { padding-left: 1.2em; }
.notice--ok { border-left: 10px solid var(--moss); }
.notice--err { border-left: 10px solid var(--barn); }

.legaltext { padding-block: 1.5rem var(--section); }
.legaltext h2 { scroll-margin-top: calc(var(--head-h) + 1rem); }
.legaltext h3 { font-size: 1.15rem; }
.toc { background: var(--paper); border: 2px solid var(--ink); padding: 1rem 1.25rem; }
.toc__title { font-family: var(--display); margin: 0 0 .5rem !important; }
.toc ol { margin: 0; padding-left: 1.4em; columns: 1; }
.toc li + li { margin-top: .15em; }
.toc a { display: inline-block; padding: .2rem 0; }
@media (min-width: 700px) { .toc ol { columns: 2; column-gap: 2rem; } }
.tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); background: var(--paper); }
.prose .tablewrap table { display: table; margin: 0; font-size: .92rem; min-width: 100%; }
.prose .tablewrap th { background: rgba(76, 90, 43, .1); font-weight: 700; vertical-align: top; }
.prose .tablewrap tbody th { width: 30%; min-width: 8rem; }
.prose .tablewrap thead + tbody td { min-width: 7rem; }

/* ---------- Lábléc ---------- */
.footer { background: var(--ink); color: var(--kraft); padding-top: 2.5rem; }
.footer a { color: var(--paper); }
.footer__in { display: grid; gap: 1.75rem; padding-bottom: 1.5rem; }
.footer__logo { width: 180px; height: auto; margin: 0 0 .75rem -6px; }
.footer__slogan { font-style: italic; font-size: 1.08rem; max-width: 22em; margin-bottom: .5rem; }
.footer__meta { font-size: .92rem; opacity: .75; margin: 0; }
.footer__h { font-size: 1.1rem; color: var(--yolk); margin-bottom: .35rem; }
.footer__list { list-style: none; margin: 0; padding: 0; }
.footer__list a { display: flex; align-items: center; min-height: 44px; }
.footer__social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .65rem; }
.footer__social a { display: grid; place-items: center; width: var(--tap); height: var(--tap); border: 2px solid rgba(243, 235, 216, .45); }
.footer__legal {
  display: flex; flex-direction: column; gap: .25rem; border-top: 1px solid rgba(243, 235, 216, .2);
  padding-top: .75rem; padding-bottom: calc(1rem + var(--safe-b)); font-size: .9rem;
}
.footer__legal p { margin: 0; display: flex; gap: 0 1.25rem; flex-wrap: wrap; align-items: center; }
.footer__legal a { display: inline-flex; align-items: center; min-height: 44px; }
.footer .linkbtn { color: var(--paper); }
@media (hover: hover) {
  .footer a:hover { color: var(--yolk); }
  .footer__social a:hover { border-color: var(--yolk); }
}
@media (min-width: 760px) {
  .footer { padding-top: clamp(3rem, 6vw, 4.5rem); }
  .footer__in { grid-template-columns: 1.5fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2.5rem; }
  .footer__logo { width: 210px; }
  .footer__list a { min-height: 36px; }
  .footer__legal { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; }
}

/* ---------- Partnersáv a lábléc fölött ----------
   Világos sávban, középre rendezve: a logók a saját színükben látszanak (nem kell
   köréjük tábla), és egyetlen partnerrel is szándékosnak hat, nem árvának. */
.partnersav {
  background: var(--paper); border-top: 2px dashed var(--line);
  padding-block: clamp(1.75rem, 4vw, 2.75rem); text-align: center;
  background-image: repeating-linear-gradient(0deg, transparent 0 27px, rgba(43, 32, 22, .045) 27px 28px);
}
.partnersav__cim {
  display: flex; align-items: center; justify-content: center; gap: .9rem;
  margin: 0 0 1.1rem;
  font: 700 .8rem/1 var(--text); letter-spacing: .18em; text-transform: uppercase; color: var(--moss);
}
.partnersav__cim::before, .partnersav__cim::after {
  content: ""; width: clamp(1.5rem, 7vw, 4.5rem); height: 2px; background: var(--line);
}
.partnersav__lista {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  /* a sorok közti rés legyen kisebb, mint az elemek közti – tördeléskor különben szétesik */
  gap: 1.1rem clamp(1.5rem, 5vw, 3.5rem);
}
.partner {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--tap); color: var(--ink); text-decoration: none;
}
.partner__logo {
  display: block; max-height: 96px; max-width: 240px; width: auto; height: auto;
  object-fit: contain; transition: transform .14s ease;
}
.partner__nev {
  font: 400 1.55rem/1.2 var(--display); color: var(--ink);
  border-bottom: 2px solid transparent; padding-bottom: .12rem; transition: color .12s ease, border-color .12s ease;
}
.partner:focus-visible { outline: 3px solid var(--yolk); outline-offset: 4px; }
@media (hover: hover) {
  a.partner:hover .partner__logo { transform: translateY(-3px); }
  a.partner:hover .partner__nev { color: var(--barn); border-bottom-color: currentColor; }
}
@media (prefers-reduced-motion: reduce) { .partner__logo { transition: none; } a.partner:hover .partner__logo { transform: none; } }
@media (max-width: 560px) { .partner__logo { max-height: 68px; max-width: 170px; } .partner__nev { font-size: 1.2rem; } .partnersav__lista { gap: 1rem 1.6rem; } }
@media print { .partnersav { display: none; } }

/* ---------- Partneroldal ----------
   A kártyák zománctáblák a műhelyfalon: felül a szög, amivel fel vannak akasztva,
   alatta a logó vagy a név. A váltakozó mohazöld és pajtavörös vetett árnyék adja
   a kézzel kirakott hatást – elforgatás nélkül, hogy olvasható maradjon. */
.partnerhead__kicker { font-style: italic; color: var(--moss); margin: 0 0 .35rem; }

.partnermiert { background: rgba(212, 154, 42, .16); border-block: 2px dashed var(--line); margin-bottom: 2rem; }
.partnermiert__in { display: flex; align-items: flex-start; gap: .9rem; padding-block: 1.1rem; }
.partnermiert__ikon { flex: none; font-size: 1.7rem; line-height: 1.2; }
.partnermiert__szoveg { margin: 0; max-width: 52em; }

.partnerracs {
  list-style: none; margin: 0 0 var(--section); padding: .9rem 0 0;
  display: grid; gap: 2rem 1.25rem; grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 620px)  { .partnerracs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .partnerracs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem 1.5rem; } }

.partnerkartya {
  position: relative; display: flex; flex-direction: column; gap: .8rem;
  padding: 1.5rem 1.25rem 1.25rem;
  background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--moss);
  transition: transform .14s ease, box-shadow .14s ease;
}
.partnerkartya--valt { box-shadow: 6px 6px 0 var(--barn); }
/* a szög, amivel a tábla a falra van akasztva */
.partnerkartya__szog {
  position: absolute; top: -9px; left: 50%; transform: translateX(-50%);
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--kraft); border: 2px solid var(--ink);
  box-shadow: inset 0 -3px 0 rgba(43, 32, 22, .22);
}
.partnerkartya__fej {
  display: grid; place-items: center; min-height: 118px; padding: .6rem;
  background: #FBF7EE; border: 2px dashed var(--line);
}
.partnerkartya__logo { display: block; max-width: 100%; max-height: 92px; width: auto; height: auto; object-fit: contain; }
.partnerkartya__nev { font: 400 1.45rem/1.2 var(--display); color: var(--ink); text-align: center; text-wrap: balance; }
.partnerkartya__test { display: grid; gap: .35rem; flex: 1; }
.partnerkartya__cimke { margin: 0; font: 700 .76rem/1.3 var(--text); letter-spacing: .12em; text-transform: uppercase; color: var(--moss); }
.partnerkartya__cim { margin: 0; font-size: 1.3rem; }
.partnerkartya__leiras { margin: 0; font-size: .96rem; line-height: 1.55; color: var(--ink-soft); }
.partnerkartya__link {
  align-self: flex-start; display: inline-flex; align-items: center; gap: .25rem;
  min-height: var(--tap); font-family: var(--display); color: var(--barn);
  text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: .1rem;
  overflow-wrap: anywhere;
}
/* az egész tábla kattintható legyen, de csak egy valódi link maradjon a lapon */
.partnerkartya__link::after { content: ""; position: absolute; inset: 0; }
.partnerkartya:focus-within { outline: 3px solid var(--yolk); outline-offset: 3px; }
.partnerkartya__link:focus-visible { outline: none; }
@media (hover: hover) {
  .partnerkartya:hover { transform: translate(-2px, -2px); box-shadow: 9px 9px 0 var(--moss); }
  .partnerkartya--valt:hover { box-shadow: 9px 9px 0 var(--barn); }
  .partnerkartya:hover .partnerkartya__cim { color: var(--barn); }
}
@media (prefers-reduced-motion: reduce) { .partnerkartya, .partnerkartya:hover { transition: none; transform: none; } }

.partnercta {
  margin: 0 0 var(--section); padding: 1.5rem 1.3rem 1.6rem; text-align: center;
  background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--yolk);
}
.partnercta__cim { margin: 0 0 .45rem; font-size: clamp(1.35rem, 4vw, 1.9rem); }
.partnercta__szoveg { margin: 0 auto 1.1rem; max-width: 44em; color: var(--ink-soft); }

/* ---------- Süti sáv és beállítások ---------- */
.cookie.is-beuszik { animation: sutiBe .35s ease-out both; }
@keyframes sutiBe { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .cookie.is-beuszik { animation: none; } }
.cookie {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: var(--paper); border-top: 3px double var(--ink); box-shadow: 0 -10px 24px -10px rgba(43, 32, 22, .35);
  padding: 1rem calc(var(--gap) + var(--safe-r)) calc(1rem + var(--safe-b)) calc(var(--gap) + var(--safe-l));
  font-size: .95rem; line-height: 1.5; max-height: 92vh; max-height: 92dvh; overflow-y: auto; overscroll-behavior: contain;
}
.cookie p { margin: 0 0 .75rem; }
.cookie__cim { font: 400 1.15rem/1.25 var(--display); margin-bottom: .4rem !important; }
.cookie__btns { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.cookie__btns [data-cookie="beallitas"] { grid-column: 1 / -1; order: 3; }
.cookie__btns--beallitas { grid-template-columns: 1fr; }
.cookie .btn { font-size: .92rem; padding: .65rem .5rem .55rem; box-shadow: 2px 2px 0 var(--ink); white-space: normal; line-height: 1.2; }
.cookie__kategoriak { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; }
.sutikat { border: 2px solid var(--ink); background: #FBF7EE; padding: .7rem .8rem; }
.sutikat__fej { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.sutikat__nev { font: 400 1rem/1.2 var(--display); cursor: pointer; }
.sutikat__leiras { font-size: .88rem; color: var(--ink-soft); margin: .35rem 0 .3rem !important; }
.sutikat__reszletek summary { cursor: pointer; font-size: .82rem; color: var(--barn); width: fit-content; }
.sutikat__reszletek p { font-size: .8rem; margin: .35rem 0 0 !important; color: var(--ink-soft); }
.kapcsolo { position: relative; display: inline-flex; align-items: center; gap: .45rem; flex: none; }
.kapcsolo input { position: absolute; inset: 0; width: 52px; height: 30px; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.kapcsolo__csuszka { position: relative; width: 52px; height: 30px; border-radius: 30px; background: #D8CFBE; border: 2px solid var(--ink); transition: background .2s; }
.kapcsolo__csuszka::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--paper); border: 2px solid var(--ink); transition: transform .2s; }
.kapcsolo input:checked + .kapcsolo__csuszka { background: var(--moss); }
.kapcsolo input:checked + .kapcsolo__csuszka::after { transform: translateX(22px); }
.kapcsolo input:focus-visible + .kapcsolo__csuszka { outline: 3px solid var(--yolk); outline-offset: 2px; }
.kapcsolo.is-mindig .kapcsolo__csuszka { opacity: .7; }
.kapcsolo.is-mindig input { cursor: not-allowed; }
.kapcsolo__felirat { font-size: .75rem; font-style: italic; color: var(--moss); }
.cookie__azonosito { margin: .8rem 0 0 !important; word-break: break-all; }
@media (min-width: 700px) {
  .cookie { left: 1rem; right: 1rem; bottom: 1rem; max-width: 660px; margin-inline: auto; border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); padding: 1.1rem 1.25rem; }
  .cookie__btns { display: flex; justify-content: flex-end; flex-wrap: wrap; }
  .cookie__btns [data-cookie="beallitas"] { order: 0; margin-right: auto; }
  .cookie .btn { padding-inline: 1.1rem; white-space: nowrap; }
  .cookie--beallitas { max-width: 720px; }
}

/* ---------- QR kód: oldalfül + felugró ablak ---------- */
/* Oldalfülek a jobb szélen, egymás alatt: kosár (csak ha van tétel), majd QR kód */
.oldalfulek { position: fixed; right: 0; top: 50%; z-index: 45; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.qrtab {
  display: flex; flex-direction: column; align-items: center; gap: .45rem;
  padding: .6rem .4rem .7rem; text-decoration: none; cursor: pointer;
  background: var(--barn); color: var(--paper); border: 2px solid var(--ink); border-right: 0;
  box-shadow: -3px 3px 0 var(--ink); touch-action: manipulation;
}
.qrtab:hover, .qrtab:focus { color: var(--paper); }
.qrtab__icon { display: block; width: 26px; height: 26px; background: #fff; }
.qrtab__icon svg, .qrmodal__code svg { display: block; width: 100%; height: 100%; }
.qrtab__label { writing-mode: vertical-rl; transform: rotate(180deg); font: 400 .85rem/1 var(--display); letter-spacing: .03em; }
@media (hover: hover) { .qrtab:hover { background: var(--barn-dark); padding-right: .7rem; } }
@media (max-width: 599px) { .qrtab { padding: .5rem .3rem .6rem; gap: .35rem; } .qrtab__icon { width: 22px; height: 22px; } .qrtab__label { font-size: .75rem; } }

.oldalful {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: .45rem;
  padding: .6rem .4rem .7rem; text-decoration: none; cursor: pointer;
  background: var(--barn); color: var(--paper); border: 2px solid var(--ink); border-right: 0;
  box-shadow: -3px 3px 0 var(--ink); touch-action: manipulation;
}
.oldalful:hover, .oldalful:focus { color: var(--paper); }
@media (hover: hover) { .oldalful:hover { background: var(--barn-dark); padding-right: .7rem; } }
.oldalful[hidden] { display: none; }
.oldalful__ikon { display: block; width: 26px; height: 26px; }
.oldalful__ikon svg { display: block; width: 100%; height: 100%; }
.oldalful__cimke { writing-mode: vertical-rl; transform: rotate(180deg); font: 400 .85rem/1 var(--display); letter-spacing: .03em; }
/* a darabszám a fül bal felső sarkán ül, hogy kifelé is látszódjon */
.kosarful__db {
  position: absolute; top: -.45rem; left: -.45rem; display: grid; place-items: center;
  min-width: 1.4rem; height: 1.4rem; padding: 0 .3rem; border-radius: 1rem;
  background: var(--yolk, #E8B22A); color: var(--ink); border: 2px solid var(--ink);
  font: 700 .78rem/1 var(--text);
}
.kosarful__db[hidden] { display: none; }
.kosarful.is-pattan .kosarful__db { animation: kosarPattan .45s ease; }
/* telefonon a kosárhoz a lenti sáv vezet, oldalfül nincs */
@media (max-width: 760px) { .kosarful { display: none; } }
@media (max-width: 599px) { .oldalful { padding: .5rem .3rem .6rem; gap: .35rem; } .oldalful__ikon { width: 22px; height: 22px; } .oldalful__cimke { font-size: .75rem; } }

.qrmodal { display: none; position: fixed; inset: 0; z-index: 100; place-items: center; padding: 1rem; overflow-y: auto; }
.qrmodal:target, .qrmodal.is-open { display: grid; }
.qrmodal__backdrop { position: fixed; inset: 0; background: rgba(43, 32, 22, .62); cursor: default; }
.qrmodal__box {
  position: relative; width: 100%; max-width: 400px; margin: auto; overflow: hidden;
  background: var(--paper); color: var(--ink); border: 2px solid var(--ink);
  box-shadow: 8px 8px 0 var(--moss); padding: 1.25rem 1.25rem 0; text-align: center;
  background-image: repeating-linear-gradient(0deg, transparent 0 27px, rgba(43, 32, 22, .05) 27px 28px);
  animation: qrIn .28s cubic-bezier(.2, .9, .3, 1.2) both;
}
.qrmodal__title { font-size: 1.35rem; margin: 0 2rem .9rem; }
.qrmodal__close {
  position: absolute; top: .35rem; right: .35rem; width: 44px; height: 44px; display: grid; place-items: center;
  font-size: 2rem; line-height: 1; color: var(--ink); text-decoration: none;
}
.qrmodal__code { width: min(100%, 260px); aspect-ratio: 1; margin: 0 auto; border: 2px solid var(--ink); background: #fff; }
.qrmodal__hint { font-size: .9rem; line-height: 1.45; color: var(--ink-soft); margin: .75rem 0 0; }
.qrmodal__say { display: flex; align-items: flex-start; margin: .5rem -1.25rem 0; padding-left: .5rem; min-height: 60px; }
.qrmodal__say--nohen { justify-content: center; padding: 0 0 1.1rem; }
.qrmodal__say--nohen .qrmodal__bubble { margin: .5rem 0 0; }
.qrmodal__hen { display: block; width: auto; height: 150px; flex: none; transform-origin: 40% 100%; animation: henPeck 1.8s ease-in-out .35s 2; }
.qrmodal__bubble {
  position: relative; margin: 1.6rem 0 0 -.9rem; padding: .6rem 1rem .55rem; background: #fff; border: 2px solid var(--ink);
  border-radius: 18px; font: 400 1.35rem/1 var(--display); color: var(--barn); white-space: nowrap;
  animation: bubblePop .35s cubic-bezier(.3, 1.6, .5, 1) .25s both;
}
.qrmodal__bubble::before, .qrmodal__bubble::after { content: ""; position: absolute; left: -13px; bottom: 8px; border-style: solid; }
.qrmodal__bubble::before { border-width: 9px 14px 9px 0; border-color: transparent var(--ink) transparent transparent; }
.qrmodal__bubble::after { left: -9px; bottom: 10px; border-width: 7px 11px 7px 0; border-color: transparent #fff transparent transparent; }
.qrmodal__say--nohen .qrmodal__bubble::before, .qrmodal__say--nohen .qrmodal__bubble::after { display: none; }
@keyframes qrIn { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes bubblePop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
@keyframes henPeck { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-4deg); } 55% { transform: rotate(3deg); } 75% { transform: rotate(-1.5deg); } }
html.qr-open { overflow: hidden; }
@media print { .oldalfulek, .qrtab, .qrmodal { display: none !important; } }



/* ---------- A PIPU Farm számokban ---------- */
.stats { padding-block: var(--section); border-top: 2px dashed var(--line); }
.stats__list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.stats__list--1 { grid-template-columns: minmax(0, 1fr); max-width: 360px; }
@media (max-width: 899px) { .stats__list--3 .stat:nth-child(3) { grid-column: 1 / -1; } }
.stat {
  position: relative; background: var(--paper); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--moss);
  padding: 1.1rem .8rem 1rem; text-align: center; display: flex; flex-direction: column; justify-content: center;
}
.stat::before { content: ""; position: absolute; inset: 5px; border: 1px dashed var(--line); pointer-events: none; }
.stat > p { margin: 0; }
.stat__num { color: var(--barn); line-height: 1; white-space: nowrap; }
.stat__num [data-count] { font: 400 clamp(1.9rem, 9vw, 2.6rem)/1 var(--display); font-variant-numeric: tabular-nums; }
.stat__unit { font-style: italic; font-size: .95rem; color: var(--ink-soft); }
.stat__label { margin-top: .45rem !important; font-size: .92rem; line-height: 1.3; color: var(--ink); text-wrap: balance; }
@media (min-width: 900px) {
  .stats__list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
  .stats__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
  .stat { padding: 1.5rem 1rem 1.3rem; }
  .stat__num [data-count] { font-size: 3rem; }
  .stat:nth-child(2) { transform: rotate(.6deg); } .stat:nth-child(3) { transform: rotate(-.5deg); }
}


/* ---------- Reakciók ---------- */
.reactions { margin-top: 2.25rem; text-align: center; }
.reactions:not(.is-ready) { visibility: hidden; }   /* a hely előre foglalt, így megjelenéskor nem ugrik az oldal */
.reactions__title { font-size: clamp(1.25rem, 5vw, 1.6rem); margin: 0 0 .9rem; }
.reactions__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; max-width: 520px; margin: 0 auto; }
.reaction {
  display: flex; flex-direction: column; align-items: center; gap: .15rem; min-height: 84px; padding: .6rem .3rem .5rem;
  background: var(--paper); border: 2px solid var(--ink); color: var(--ink); cursor: pointer; font: inherit;
  box-shadow: 3px 3px 0 var(--line); transition: transform .15s, box-shadow .15s, background .15s;
  touch-action: manipulation; -webkit-tap-highlight-color: transparent;
}
.reaction__emoji { font-size: 1.7rem; line-height: 1.1; }
.reaction__label { font-size: .78rem; line-height: 1.2; }
.reaction__count { font: 400 1rem/1 var(--display); color: var(--barn); font-variant-numeric: tabular-nums; }
.reaction[aria-pressed="true"] { background: #F7E3B0; border-color: var(--barn); box-shadow: 3px 3px 0 var(--barn); }
.reaction:disabled { cursor: progress; }
.reaction:focus-visible { outline: 3px solid var(--yolk); outline-offset: 2px; }
@media (hover: hover) { .reaction:hover { transform: translateY(-2px); box-shadow: 4px 5px 0 var(--moss); } }
.reaction.is-pop .reaction__emoji { animation: reactPop .45s cubic-bezier(.3, 1.8, .5, 1); }
@keyframes reactPop { 0% { transform: scale(1); } 40% { transform: scale(1.45) rotate(-8deg); } 100% { transform: scale(1); } }
.reactions__msg { min-height: 1.5em; margin: .6rem 0 0; color: var(--moss); font-style: italic; }
@media (min-width: 600px) { .reaction { min-height: 92px; } .reaction__label { font-size: .85rem; } }

/* ---------- Legolvasottabb bejegyzések ---------- */
.popular { margin-bottom: 2.25rem; }
.popular__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; counter-reset: none; }
.popular__item a { display: grid; grid-template-columns: 2.1rem 64px minmax(0, 1fr); align-items: center; gap: .7rem; padding: .5rem .65rem .5rem .5rem; background: var(--paper); border: 2px solid var(--ink); color: var(--ink); text-decoration: none; height: 100%; }
.popular__rank { font: 400 1.7rem/1 var(--display); color: var(--barn); text-align: center; }
.popular__img { display: block; width: 64px; aspect-ratio: 1; overflow: hidden; background: var(--kraft); outline: 1px solid var(--line); }
.popular__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.popular__title { font: 400 1rem/1.25 var(--display); text-wrap: balance; }
@media (hover: hover) { .popular__item a:hover { box-shadow: 4px 4px 0 var(--moss); } .popular__item a:hover .popular__title { color: var(--barn); } }
@media (min-width: 700px) { .popular__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .popular__title { font-size: 1.05rem; } }


/* ---------- Képgaléria a cikkekben ---------- */
/* a képek száma szerint úgy rendeződnek, hogy ne maradjon üres hely a rácsban */
.prose .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 1.75rem 0; }
.prose .gallery figure { margin: 0; }
.prose .gallery img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border: 0; outline: 0; margin: 0; background: var(--kraft); }
.prose .gallery[data-m2="1"] figure:first-child { grid-column: 1 / -1; }
.prose .gallery[data-m2="1"] figure:first-child img { aspect-ratio: 16 / 10; }
.prose .gallery[data-images="1"] img { aspect-ratio: auto; }
@media (min-width: 600px) {
  .prose .gallery { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; border: 8px solid var(--paper); outline: 1px solid var(--line); background: var(--paper); }
  .prose .gallery figure, .prose .gallery[data-m2="1"] figure:first-child { grid-column: span 2; }
  .prose .gallery[data-m2="1"] figure:first-child img { aspect-ratio: 1; }
  .prose .gallery[data-m3="1"] figure:first-child { grid-column: 1 / -1; }
  .prose .gallery[data-m3="1"] figure:first-child img { aspect-ratio: 16 / 9; }
  .prose .gallery[data-m3="2"] figure:nth-child(-n+2) { grid-column: span 3; }
  .prose .gallery[data-m3="2"] figure:nth-child(-n+2) img { aspect-ratio: 4 / 3; }
  .prose .gallery[data-images="1"] figure:first-child img { aspect-ratio: auto; }
  .prose .gallery[data-images="4"] figure { grid-column: span 3; }
  .prose .gallery[data-images="4"] figure img, .prose .gallery[data-images="4"] figure:first-child img { aspect-ratio: 4 / 3; }
  .prose .gallery[data-images="4"] figure:first-child { grid-column: span 3; }
}
.is-zoomable { cursor: zoom-in; }
.is-zoomable:focus-visible { outline: 3px solid var(--yolk) !important; outline-offset: 2px; }
@media (hover: hover) { .prose .gallery img.is-zoomable { transition: opacity .2s; } .prose .gallery img.is-zoomable:hover { opacity: .88; } }

/* ---------- Képnagyító ---------- */
.lightbox { position: fixed; inset: 0; z-index: 120; display: none; align-items: center; justify-content: center; background: rgba(20, 15, 10, .94); padding: 3.5rem .5rem 3rem; }
.lightbox.is-open { display: flex; }
.lightbox__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.lightbox__img { display: block; max-width: min(100%, 1400px); max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem); width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.lightbox__cap { color: var(--paper); font-style: italic; text-align: center; max-width: 60ch; padding: 0 1rem; }
.lightbox__close { position: absolute; top: .5rem; right: .5rem; width: 48px; height: 48px; font-size: 2.2rem; line-height: 1; color: var(--paper); background: none; border: 0; cursor: pointer; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 64px; font-size: 2.6rem; line-height: 1; color: var(--paper); background: rgba(43, 32, 22, .55); border: 0; cursor: pointer; }
.lightbox__nav--prev { left: .25rem; } .lightbox__nav--next { right: .25rem; }
.lightbox.is-single .lightbox__nav { display: none; }
.lightbox__count { position: absolute; bottom: .75rem; left: 0; right: 0; margin: 0; text-align: center; color: var(--paper); font: 400 .9rem/1 var(--display); letter-spacing: .05em; }
.lightbox button:focus-visible { outline: 3px solid var(--yolk); }
html.lightbox-open { overflow: hidden; }
@media (min-width: 900px) { .lightbox__nav { width: 60px; height: 80px; } .lightbox__nav--prev { left: 1rem; } .lightbox__nav--next { right: 1rem; } }


/* =========================================================
   Évszakos és ünnepi díszítés
   ========================================================= */
.unnep-kalap { position: absolute; pointer-events: none; user-select: none; height: auto; z-index: 2; filter: drop-shadow(2px 3px 0 rgba(43, 32, 22, .18)); }
/* a hero jelvényen */
.unnep-kalap--stamp { width: 78%; left: 30%; bottom: 72%; transform: rotate(14deg); }
.unnep-kalap--stamp.unnep-kalap--nyuszifulek { width: 74%; left: 13%; bottom: 76%; transform: rotate(4deg); }
.unnep-kalap--stamp.unnep-kalap--viragkoszoru { width: 96%; left: 2%; bottom: 66%; transform: rotate(0); }
.unnep-kalap--stamp.unnep-kalap--kokarda, .unnep-kalap--stamp.unnep-kalap--sziv { width: 52%; left: 62%; bottom: 58%; transform: rotate(10deg); }
.unnep-kalap--stamp.unnep-kalap--oszi-level { width: 70%; left: 44%; bottom: 62%; }
.unnep-kalap--stamp.unnep-kalap--szalmakalap { width: 92%; left: 12%; bottom: 70%; transform: rotate(8deg); }
/* a kerítés tábláján */
.fence-sign .unnep-kalap--tabla { width: 80%; left: 28%; bottom: 70%; transform: rotate(16deg); }
.fence-sign .unnep-kalap--tabla.unnep-kalap--nyuszifulek { width: 76%; left: 12%; bottom: 76%; transform: rotate(4deg); }
.fence-sign .unnep-kalap--tabla.unnep-kalap--viragkoszoru { width: 100%; left: 0; bottom: 64%; transform: none; }
.fence-sign .unnep-kalap--tabla.unnep-kalap--kokarda, .fence-sign .unnep-kalap--tabla.unnep-kalap--sziv { width: 50%; left: 64%; bottom: 58%; }
.fence-sign .unnep-kalap--tabla.unnep-kalap--szalmakalap { width: 94%; left: 10%; bottom: 68%; transform: rotate(8deg); }
.home .stamp .unnep-kalap { animation: kalapBe .6s cubic-bezier(.3, 1.6, .5, 1) .95s both; }
@keyframes kalapBe { from { opacity: 0; translate: 0 -30px; } to { opacity: 1; translate: 0 0; } }

/* díszsáv a lábléc kerítésén */
.unnep-sav { position: absolute; left: 0; right: 0; bottom: 100%; height: 56px; margin-bottom: -3px; pointer-events: none; z-index: 1; background-repeat: repeat-x; background-position: left bottom; background-size: auto 56px; }
@media (min-width: 600px) { .unnep-sav { height: 80px; background-size: auto 80px; } }

/* hulló elemek */
.unnep-eso { position: fixed; inset: 0; pointer-events: none; z-index: 35; overflow: hidden; }
.unnep-eso i { position: absolute; top: -48px; display: block; width: var(--s, 22px); height: var(--s, 22px); background: var(--img) center / contain no-repeat; opacity: 0; will-change: transform;
  animation: unnepEs var(--d, 14s) linear var(--k, 0s) infinite; }
.unnep-eso i.konf { background: var(--c); width: 8px; height: 5px; border: 1px solid rgba(43, 32, 22, .4); }
.unnep-eso i.lebeg { animation-name: unnepLebeg; top: auto; bottom: -48px; }
@keyframes unnepEs {
  0% { transform: translate3d(0, 0, 0) rotate(0); opacity: 0; }
  8% { opacity: var(--o, .85); }
  50% { transform: translate3d(var(--x, 30px), 50vh, 0) rotate(180deg); }
  92% { opacity: var(--o, .85); }
  100% { transform: translate3d(calc(var(--x, 30px) * -1), 105vh, 0) rotate(360deg); opacity: 0; }
}
@keyframes unnepLebeg {
  0% { transform: translate3d(0, 0, 0) scale(.8); opacity: 0; }
  10% { opacity: var(--o, .85); }
  50% { transform: translate3d(var(--x, 40px), -50vh, 0) scale(1); }
  90% { opacity: var(--o, .85); }
  100% { transform: translate3d(calc(var(--x, 40px) * -1), -110vh, 0) scale(.9); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .unnep-eso { display: none; } .home .stamp .unnep-kalap { animation: none; } }
@media print { .unnep-eso, .unnep-sav, .unnep-kalap { display: none !important; } }


/* =========================================================
   „Milyen baromfi illik hozzád?” kvíz
   ========================================================= */
.kvizhead__kicker { font-style: italic; color: var(--moss); margin: 0 0 .35rem; }
.kvizwrap { padding-block: 1.75rem var(--section); }
.kvizeredmeny + .kvizwrap { padding-top: 0; }
.kviz { background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--moss); padding: 1.25rem 1rem 1.1rem; }
.kviz__intro { text-align: center; padding: .5rem .25rem; }
.kviz__intro-kep { width: 150px; height: auto; margin: 0 auto .5rem; display: block; }
.kviz__intro-cim { font: 400 clamp(1.35rem, 5.5vw, 1.8rem)/1.2 var(--display); margin: 0 0 .5rem; }
.kviz__intro p { max-width: 34em; margin-inline: auto; }
.kviz__intro .btn { margin-top: .5rem; }
.kviz.is-js .kviz__lab { justify-content: space-between; }
.kviz__halad { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.kviz__halad[hidden] { display: none; }
.kviz__szamlalo { font-size: .9rem; color: var(--ink-soft); font-style: italic; white-space: nowrap; }
.kviz__tojasok { display: flex; gap: 5px; }
.tojasjel { display: inline-block; width: 13px; height: 17px; border: 2px solid var(--ink); background: var(--paper); border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; transition: background .25s, transform .25s; }
.tojasjel.is-on { background: var(--yolk); }
.tojasjel.is-akt { transform: translateY(-3px); }
.kerdes { border: 0; margin: 0; padding: 0; min-width: 0; }
.kviz:not(.is-js) .kerdes { margin-bottom: 2rem; }
.kerdes.is-be { animation: kerdesBe .35s ease both; }
@keyframes kerdesBe { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.kerdes__cim { font: 400 clamp(1.3rem, 5.2vw, 1.75rem)/1.2 var(--display); margin: 0 0 1rem; padding: 0; text-wrap: balance; }
.kerdes__valaszok { display: grid; gap: .6rem; }
.valasz { position: relative; display: flex; align-items: center; gap: .8rem; min-height: 56px; padding: .65rem .9rem; background: #FBF7EE; border: 2px solid var(--ink); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; -webkit-tap-highlight-color: transparent; }
.valasz input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.valasz__ikon { flex: none; width: 2.2rem; text-align: center; font-size: 1.5rem; line-height: 1; }
.valasz__szoveg { font-size: 1.02rem; line-height: 1.3; }
.valasz:has(input:checked) { background: #F7E3B0; border-color: var(--barn); box-shadow: 4px 4px 0 var(--barn); }
.valasz:has(input:focus-visible) { outline: 3px solid var(--yolk); outline-offset: 2px; }
@media (hover: hover) { .valasz:hover { transform: translateY(-2px); box-shadow: 4px 4px 0 var(--moss); } }
.kerdes--kepes .kerdes__valaszok { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kerdes--kepes .valasz { flex-direction: column; align-items: stretch; padding: .45rem; gap: .45rem; text-align: center; }
.kerdes--kepes .valasz__szoveg { font: 400 .95rem/1.2 var(--display); padding-bottom: .2rem; }
.valasz__kep { display: block; aspect-ratio: 1; overflow: hidden; background: var(--fajta, #8a6); }
.valasz__kep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fajtakep { display: grid; place-items: center; width: 100%; height: 100%; min-height: 100%;
  background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, .25), transparent 55%), repeating-linear-gradient(135deg, rgba(255, 255, 255, .08) 0 10px, transparent 10px 20px), var(--fajta, #8a6); position: relative; }
.fajtakep::before { content: ""; width: 42%; aspect-ratio: 1; background: url("../img/unnep/hullo-level3.svg") center / contain no-repeat; filter: brightness(0) invert(1); opacity: .35; }
.fajtakep__nev { position: absolute; inset: auto 0 12% 0; text-align: center; color: #fff; font: 400 clamp(1.4rem, 6vw, 2rem)/1.1 var(--display); text-shadow: 2px 2px 0 rgba(0, 0, 0, .35); padding: 0 .5rem; }
.kviz__lab { display: flex; gap: .75rem; justify-content: flex-end; margin-top: 1.25rem; }
.kviz__lab .btn[hidden] { display: none; }
.kviz__lab .btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; transform: none; }
@media (min-width: 600px) {
  .kviz { padding: 2rem 2rem 1.5rem; }
  .kerdes__valaszok { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kerdes--kepes .kerdes__valaszok { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* eredmény */
.kvizeredmeny { padding-block: 1.75rem 1rem; scroll-margin-top: calc(var(--head-h) + .5rem); }
.eredmeny { background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--barn); padding: 1.25rem 1rem; animation: kerdesBe .5s ease both; }
.eredmeny__kicker { margin: 0; font-style: italic; color: var(--moss); }
.eredmeny__cim { font-size: clamp(1.5rem, 6.4vw, 2.3rem); margin: .2rem 0 .4rem; text-wrap: balance; }
.eredmeny__ajanlott { margin: 0 0 1.1rem; font-size: 1.1rem; }
.eredmeny__ajanlott strong { font-family: var(--display); font-weight: 400; color: var(--barn); font-size: 1.35rem; }
.eredmeny__test { display: grid; gap: 1rem; }
.eredmeny__kep { margin: 0; aspect-ratio: 1; overflow: hidden; border: 2px solid var(--ink); background: var(--fajta); }
.eredmeny__kep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.eredmeny__leiras { margin-top: 0; }
.jellemzok { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.jellemzok li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .3rem 0; border-bottom: 1px dashed var(--line); }
.jellemzok__nev { font-size: .95rem; }
.jellemzok__tojasok { display: flex; gap: 5px; }
.eredmeny__listak { display: grid; gap: 1rem; margin-top: 1.5rem; }
.eredmeny__lista { padding: .9rem 1rem; border: 2px solid var(--ink); }
.eredmeny__lista h3 { font-size: 1.1rem; margin: 0 0 .5rem; }
.eredmeny__lista ul { margin: 0; padding-left: 1.3em; }
.eredmeny__lista li { margin: .25rem 0; }
.eredmeny__lista--ok { background: rgba(76, 90, 43, .09); }
.eredmeny__lista--ok li::marker { content: "✓  "; color: var(--moss); font-weight: 700; }
.eredmeny__lista--figyelj { background: rgba(212, 154, 42, .12); }
.eredmeny__lista--figyelj li::marker { content: "!  "; color: var(--barn); font-weight: 700; }
.tovabbi { margin-top: 1.5rem; }
.tovabbi h3 { font-size: 1.1rem; margin: 0 0 .6rem; }
.tovabbi__lista { display: grid; gap: .6rem; }
.tovabbi__elem { display: grid; gap: .15rem; padding: .7rem .9rem .7rem 1.1rem; border: 2px solid var(--ink); border-left: 10px solid var(--fajta); background: #FBF7EE; }
.tovabbi__elem strong { font-family: var(--display); font-weight: 400; font-size: 1.1rem; }
.tovabbi__elem span { font-size: .92rem; color: var(--ink-soft); }
.eredmeny__megjegyzes { margin: 1.5rem 0 0; padding: .8rem 1rem; border-left: 4px solid var(--moss); background: rgba(76, 90, 43, .06); font-style: italic; }
.eredmeny__gombok { display: grid; gap: .6rem; margin-top: 1.25rem; }
.kvizkozosseg, .kvizajanlo { margin-top: 1.75rem; padding: 1.1rem 1rem; background: var(--paper); border: 2px solid var(--ink); }
.kvizkozosseg h2, .kvizajanlo h2 { font-size: clamp(1.25rem, 5vw, 1.6rem); margin: 0 0 .4rem; }

/* Kvíz végi termékajánló: a legújabb kiemelt termék */
.kvizajanlo__lead { margin: 0 0 .9rem; }
.kvizajanlo__kupon { margin: 0 0 .9rem; padding: .6rem .8rem; background: var(--kraft);
  border: 2px dashed var(--barn); font-size: .95rem; }
.kvizajanlo__kupon strong { font-family: var(--display); letter-spacing: .04em; color: var(--barn-dark); }
.kvizajanlo__kupon[hidden] { display: none; }
/* egy-két kártya áll benne, ezért felülírjuk a bolt három oszlopos rácsát (a szélesebb
   képernyős .termekracs szabálynál magasabb fajsúly kell, ezért a kétszintű választó) */
.kvizajanlo .kvizajanlo__racs { margin: 0; max-width: 340px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) {
  .kvizajanlo .kvizajanlo__racs--ketto { max-width: 700px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.kvizajanlo__tovabb { margin: 1rem 0 0; }
.kvizkozosseg__gombok { display: grid; gap: .6rem; margin: .8rem 0 1rem; }
.kvizkozosseg__gombok .btn[hidden] { display: none; }
.kvizkozosseg__social { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
@media (min-width: 700px) {
  .eredmeny { padding: 2rem; }
  .eredmeny__test { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 1.5rem; }
  .eredmeny__kep { aspect-ratio: 1; }
  .eredmeny__listak, .tovabbi__lista { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .eredmeny__gombok, .kvizkozosseg__gombok { display: flex; flex-wrap: wrap; }
  .kvizkozosseg, .kvizajanlo { padding: 1.5rem 2rem; }
}


/* oklevél blokk a kvíz eredményénél */
.oklevel { display: grid; gap: 1.1rem; align-items: start; margin: .9rem 0 1rem; padding: 1rem; background: #FBF7EE; border: 2px dashed var(--ink); }
.oklevel__elonezet { margin: 0; }
.oklevel__elonezet a { display: block; line-height: 0; }
.oklevel__elonezet img { width: 100%; height: auto; aspect-ratio: 1754 / 1240; background: #F6EFDD; box-shadow: 5px 5px 0 var(--moss); transform: rotate(-1.2deg); transition: opacity .25s, transform .2s; }
.oklevel__elonezet img.is-tolt { opacity: .55; }
@media (hover: hover) { .oklevel__elonezet a:hover img { transform: rotate(0) scale(1.01); } }
.oklevel__elonezet figcaption { margin-top: .75rem; text-align: center; }
.oklevel__cim { font: 400 1.15rem/1.25 var(--display); margin: 0 0 .3rem; }
.oklevel__urlap .field { margin: .6rem 0 .2rem; }
.oklevel__urlap input { width: 100%; }
.oklevel .kvizkozosseg__gombok { margin: .9rem 0 0; }
.oklevel .kvizkozosseg__gombok [hidden] { display: none; }
@media (min-width: 700px) { .oklevel { padding: 1.5rem; gap: 1.25rem; } .oklevel__elonezet { max-width: 560px; margin: 0 auto; } }
/* kvíz ajánló a főoldalon */
.kvizcta { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; padding: 1rem 1.1rem; background: var(--paper); border: 2px dashed var(--ink); }
.kvizcta p { margin: 0; font: 400 1.1rem/1.3 var(--display); }


/* ---------- Okos kereső: javaslatok és kiemelés ---------- */
.search.has-javaslat { position: relative; }
mark.talalat { background: #F7DD8E; color: inherit; padding: 0 .08em; border-radius: 2px; box-shadow: 0 0 0 1px rgba(212, 154, 42, .45); }
.javaslat { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; right: 0; max-height: min(70vh, 520px); overflow-y: auto; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); text-align: left; }
.javaslat[hidden] { display: none; }
.javaslat__elem { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: .7rem; align-items: center; padding: .6rem .75rem; color: var(--ink); text-decoration: none; border-bottom: 1px dashed var(--line); }
.javaslat__elem img, .javaslat__nokep { width: 56px; height: 56px; object-fit: cover; display: block; background: var(--kraft); outline: 1px solid var(--line); }
.javaslat__szoveg { display: grid; gap: .1rem; min-width: 0; }
.javaslat__cim { font: 400 1rem/1.25 var(--display); }
.javaslat__reszlet { font-size: .85rem; line-height: 1.35; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.javaslat__datum { font-size: .75rem; font-style: italic; color: var(--moss); }
.javaslat__cimkek { display: flex; flex-wrap: wrap; gap: .35rem; padding: .6rem .75rem; border-bottom: 1px dashed var(--line); }
.javaslat__cimke { font-size: .85rem; padding: .25rem .55rem; border: 1.5px solid var(--ink); color: var(--ink); text-decoration: none; background: #FBF7EE; }
.javaslat__mind { display: block; width: 100%; padding: .7rem .75rem; background: none; border: 0; font: 400 .95rem/1.2 var(--display); color: var(--barn); text-align: left; cursor: pointer; }
.javaslat__ures { margin: 0; padding: .9rem .75rem; font-style: italic; color: var(--ink-soft); }
/* csoportcímkék a javaslatok között: „A boltból” / „A naplóból” */
.javaslat__csoport { margin: 0; padding: .5rem .75rem .3rem; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--moss); background: #FBF7EE; border-bottom: 1px dashed var(--line); }
.javaslat__ar { font-size: .9rem; color: var(--ink); }
.javaslat__ar s { color: var(--ink-soft); font-size: .82rem; }
.javaslat__jelzes { font-size: .75rem; font-style: italic; color: var(--barn); }
.javaslat__elem--termek img, .javaslat__elem--termek .javaslat__nokep { background: #FBF7EE; }
.javaslat .is-aktiv, .javaslat__elem:hover, .javaslat__cimke:hover, .javaslat__mind:hover { background: #F7E3B0; }
.search--center .javaslat { text-align: left; }


/* =========================================================
   Rólunk – idővonal
   ========================================================= */
.rolunkhead__kicker { font-style: italic; color: var(--moss); margin: 0 0 .35rem; }
.rolunkhead .pagehead__title { font-size: clamp(1.55rem, 7.6vw, 3.1rem); overflow-wrap: normal; }
.rolunkhead__idezet { margin: .9rem 0 .6rem; padding: 0; border: 0; }
.rolunkhead__idezet p { margin: 0; font: italic 400 clamp(1.15rem, 4.6vw, 1.45rem)/1.4 var(--text); color: var(--barn); }
.idovonalwrap { padding-block: 2rem var(--section); }
.idovonal { list-style: none; margin: 0 auto; padding: 0; position: relative; max-width: 1000px; }
.idovonal::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 21px; width: 4px; background: repeating-linear-gradient(to bottom, var(--ink) 0 14px, transparent 14px 22px); opacity: .55; }
.idovonal__elem { position: relative; padding-left: 62px; margin-bottom: 1.75rem; }
.idovonal__jel { position: absolute; left: 0; top: .9rem; width: 46px; height: 46px; display: grid; place-items: center; font-size: 1.35rem; line-height: 1; background: var(--paper); border: 3px solid var(--ink); border-radius: 50%; box-shadow: 3px 3px 0 var(--moss); z-index: 1; }
.idovonal__kartya { position: relative; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); padding: 1rem 1.1rem 1.1rem; }
.idovonal__kartya::before { content: ""; position: absolute; top: 1.9rem; left: -11px; width: 18px; height: 18px; background: var(--paper); border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg); }
.idovonal__mikor { display: inline-block; margin: 0 0 .45rem; padding: .3rem .6rem .25rem; font: 400 .8rem/1 var(--display); letter-spacing: .04em; color: var(--paper); background: var(--barn); }
.idovonal__cim { font-size: clamp(1.25rem, 5vw, 1.55rem); margin: 0 0 .6rem; text-wrap: balance; }
.idovonal__kartya > p:not(.idovonal__mikor):not(.idovonal__szam) { margin: 0 0 .7rem; }
.idovonal__kartya > p:last-child { margin-bottom: 0; }
.idovonal__idezet { margin: .2rem 0 .4rem; padding: .8rem 1rem; background: #F7E3B0; border-left: 5px solid var(--yolk); }
.idovonal__idezet p { margin: 0; font: 400 clamp(1.2rem, 5vw, 1.55rem)/1.3 var(--display); color: var(--ink); }
.idovonal__szam { margin: 0 0 .5rem; color: var(--barn); font: 400 clamp(2.6rem, 11vw, 3.6rem)/1 var(--display); }
.idovonal__szam span:last-child { font: italic 400 1.1rem/1 var(--text); color: var(--ink-soft); }
.idovonal__kepek { display: grid; gap: .6rem; margin-top: .9rem; }
.idovonal__kepek--2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.idovonal__kepek figure { margin: 0; }
.idovonal__kepek img { display: block; width: 100%; height: auto; border: 6px solid #fff; outline: 1px solid var(--line); box-shadow: 0 2px 6px rgba(43, 32, 22, .12); }
.idovonal__kepek--2 img { aspect-ratio: 1; object-fit: cover; }
.idovonal__kepek figcaption { margin-top: .35rem; font-size: .82rem; font-style: italic; color: var(--ink-soft); text-align: center; }
/* görgetéskor beúszás (csak JavaScripttel, animációt engedő beállításnál) */
.idovonal.is-anim .idovonal__elem { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s ease; }
.idovonal.is-anim .idovonal__elem.is-lathato { opacity: 1; transform: none; }
@media (min-width: 900px) {
  .idovonal::before { left: 50%; margin-left: -2px; }
  .idovonal__elem { width: 50%; padding: 0 3.25rem 0 0; margin-bottom: -1.5rem; }
  .idovonal__elem--jobb { margin-left: 50%; padding: 0 0 0 3.25rem; }
  .idovonal__elem:last-child { margin-bottom: 0; }
  .idovonal__jel { left: auto; right: -25px; width: 50px; height: 50px; font-size: 1.5rem; }
  .idovonal__elem--jobb .idovonal__jel { right: auto; left: -25px; }
  .idovonal__kartya::before { left: auto; right: -11px; border-left: 0; border-bottom: 0; border-right: 2px solid var(--ink); border-top: 2px solid var(--ink); }
  .idovonal__elem--jobb .idovonal__kartya::before { right: auto; left: -11px; border-right: 0; border-top: 0; border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
  .idovonal__kartya { padding: 1.25rem 1.4rem 1.35rem; }
  .idovonal.is-anim .idovonal__elem { transform: translateX(-30px); }
  .idovonal.is-anim .idovonal__elem--jobb { transform: translateX(30px); }
  .idovonal.is-anim .idovonal__elem.is-lathato { transform: none; }
}
.rolunkzaro { text-align: center; margin: 3rem auto 0; max-width: 640px; }
.rolunkzaro__alairas { font: 400 clamp(1.5rem, 6vw, 2.2rem)/1.2 var(--display); margin: 0; }
.rolunkzaro__nevek { font-style: italic; color: var(--moss); margin: .3rem 0 1.25rem; }
.rolunkzaro__gombok { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }
@media (max-width: 479px) { .rolunkzaro__gombok .btn { width: 100%; } }


/* ---------- Böngészőértesítés sáv ---------- */
.ertesitessav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin-top: 1.25rem; padding: .8rem 1rem; background: var(--paper); border: 2px dashed var(--ink); }
.ertesitessav[hidden] { display: none; }
.ertesitessav__szoveg { margin: 0; flex: 1 1 16rem; font-size: .95rem; line-height: 1.45; }
.ertesitessav.is-feliratkozva { border-style: solid; border-color: var(--moss); }
.ertesitessav--cikk { margin-top: 2rem; }
.ertesitessav .btn[hidden] { display: none; }


/* =========================================================
   Bolt
   ========================================================= */
.bolthead__kicker { font-style: italic; color: var(--moss); margin: 0 0 .35rem; }
.boltwrap { padding-block: 1.5rem var(--section); }
.boltwrap--tovabbi { padding-top: 0; }
.termekracs { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; grid-template-columns: minmax(0, 1fr); }
/* Telefonon is két hasáb: egy hasábbal a tizenkét termék tíz képernyőnyi görgetés volt,
   és a vevő a felénél feladta. Kisebb kártya, de kétszer annyi látszik egyszerre. */
@media (min-width: 340px) { .termekracs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; } }
@media (min-width: 560px) { .termekracs { gap: 1.1rem; } }
@media (min-width: 1000px) { .termekracs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }

/* Termékkártyák a cikk szövegében: a hasábnál kicsit szélesebben, hogy három kártya
   se legyen zsúfolt, és egyértelműen elváljon a körülötte lévő szövegtől. */
.termekracs--cikkben { margin: 2rem 0; }
.termekracs--cikkben .termekkartya__nev { font-size: .98rem; }
@media (min-width: 900px) {
  .termekracs--cikkben { width: min(100vw - 2 * var(--gap), 56rem); margin-left: 50%; transform: translateX(-50%); }
}
@media (min-width: 1000px) {
  .termekracs--cikkben.termekracs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .termekracs--cikkben.termekracs--1 { grid-template-columns: minmax(0, 24rem); justify-content: center; }
}
.termekkartya__link { display: flex; flex-direction: column; height: 100%; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); color: var(--ink); text-decoration: none; transition: transform .15s, box-shadow .15s; }
@media (hover: hover) { .termekkartya__link:hover { transform: translateY(-3px); box-shadow: 7px 8px 0 var(--moss); } .termekkartya__link:hover .termekkartya__nev { color: var(--barn); } }
.termekkartya__kep { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--kraft); border-bottom: 2px solid var(--ink); }
.termekkartya__kep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.termekkartya__nokep { display: grid; place-items: center; width: 100%; height: 100%; font-size: 3rem; min-height: 180px; }
.is-elfogyott .termekkartya__kep img { filter: grayscale(.6); opacity: .8; }
.termekcimke { position: absolute; top: .7rem; left: .7rem; padding: .3rem .6rem .25rem; font: 400 .8rem/1 var(--display); color: var(--paper); background: var(--moss); border: 2px solid var(--ink); }
.termekcimke--akcio { background: var(--barn); }
.termekkartya__test { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem 1rem; flex: 1; }
.termekkartya__nev { font: 400 1.15rem/1.25 var(--display); text-wrap: balance; }
.termekkartya__rovid { font-size: .92rem; line-height: 1.45; color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.termekkartya__lab { margin-top: auto; padding-top: .5rem; display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.ar strong { font: 400 1.25rem/1 var(--display); color: var(--barn); white-space: nowrap; }
.ar del { color: var(--ink-soft); font-size: .9rem; white-space: nowrap; }
.keszlet { font-size: .82rem; font-weight: 700; white-space: nowrap; margin: 0; }
.keszlet--van { color: #3E6B2F; } .keszlet--keves { color: #7A5410; } .keszlet--elfogyott { color: var(--barn); }
.boltures { text-align: center; padding: 2.5rem 1rem; background: var(--paper); border: 2px dashed var(--ink); }
.boltures__cim { font: 400 clamp(1.4rem, 5vw, 1.9rem)/1.2 var(--display); margin: 0 0 .5rem; }
.morzsa { padding-top: 1.25rem; font-size: .9rem; color: var(--ink-soft); }
.morzsa a { color: var(--barn); }
.termek { display: grid; gap: 1.5rem; padding-block: 1rem var(--section); grid-template-columns: minmax(0, 1fr); }
.termek__felso { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); align-items: start; }
.termek__fokep { position: relative; margin: 0; background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--moss); aspect-ratio: 1; overflow: hidden; }
.termek__fokep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.termek__nagyit { position: absolute; right: .6rem; bottom: .6rem; width: 44px; height: 44px; font-size: 1.3rem; background: var(--paper); border: 2px solid var(--ink); cursor: pointer; }
.termek__belyegek { list-style: none; margin: .9rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.termek__belyeg { display: block; width: 72px; height: 72px; padding: 0; border: 2px solid var(--line); background: var(--paper); cursor: pointer; overflow: hidden; }
.termek__belyeg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.termek__belyeg.is-aktiv { border-color: var(--barn); box-shadow: 3px 3px 0 var(--barn); }
.termek__belyeg:focus-visible, .termek__nagyit:focus-visible { outline: 3px solid var(--yolk); outline-offset: 2px; }
.termek__nev { font-size: clamp(1.7rem, 6.5vw, 2.6rem); margin: 0 0 .6rem; text-wrap: balance; }
.termek__ar { margin: 0 0 .3rem; }
.termek__ar strong { font-size: 2rem; }
.termek__rovid { font-size: 1.08rem; line-height: 1.6; margin: 1rem 0; }
.termek__vasarlas { margin: 1.25rem 0; padding: 1.1rem 1.1rem 1rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 rgba(43, 32, 22, .12); }
.termek__vasarlas .btn { width: 100%; justify-content: center; }
.termek__vasarlas p { margin: .6rem 0 0; }
.termek__leiras h2 { font-size: clamp(1.3rem, 5vw, 1.7rem); margin: 0 0 .75rem; }
@media (min-width: 900px) {
  .termek { gap: 2.5rem; }
  .termek__felso { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem 3rem; }
  .termek__galeria { position: sticky; top: calc(var(--head-h) + 1rem); }
  .termek__leiras { max-width: 760px; }
  .termek__vasarlas .btn { width: auto; }
}


/* ---------- Kosár, pénztár, rendelés ---------- */
/* a darabszám az ikon sarkán ül, nem a felirat mellett */
@keyframes kosarPattan { 40% { transform: scale(1.5); } }
.kosarba { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
.kosarba__db { display: inline-flex; border: 2px solid var(--ink); background: #fff; }
.kosarba__db button { width: 44px; border: 0; background: var(--paper); font-size: 1.3rem; cursor: pointer; color: var(--ink); }
.kosarba__db input { width: 3.2rem; border: 0; border-inline: 2px solid var(--ink); text-align: center; font: inherit; font-size: 1.05rem; -moz-appearance: textfield; }
.kosarba__db input::-webkit-inner-spin-button, .kosarba__db input::-webkit-outer-spin-button { -webkit-appearance: none; }
.kosarba__gomb { flex: 1; justify-content: center; min-width: 12rem; }
.kosarba__uzenet { margin: .7rem 0 0; padding: .5rem .7rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.kosarwrap, .rendeleswrap { padding-block: 1.25rem var(--section); }
.kosarlista { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .75rem; }
.kosartetel { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; grid-template-areas: "kep adat torol" "kep db osszeg"; gap: .4rem .9rem; align-items: center; padding: .75rem; background: var(--paper); border: 2px solid var(--ink); }
.kosartetel.is-hiba { border-color: var(--barn); }
.kosartetel__kep { grid-area: kep; display: block; width: 72px; aspect-ratio: 1; overflow: hidden; background: var(--kraft); }
.kosartetel__kep img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kosartetel__adat { grid-area: adat; display: grid; gap: .1rem; min-width: 0; }
.kosartetel__nev { font: 400 1.05rem/1.25 var(--display); color: var(--ink); text-decoration: none; }
.kosartetel__hiba { font-size: .85rem; color: var(--barn); font-weight: 700; }
.kosartetel__db { grid-area: db; display: flex; align-items: center; gap: .4rem; }
.kosartetel__db input { width: 4.2rem; padding: .35rem .4rem; border: 2px solid var(--ink); font: inherit; }
.kosartetel__osszeg { grid-area: osszeg; font: 400 1.1rem/1 var(--display); color: var(--barn); white-space: nowrap; }
.kosartetel__torol { grid-area: torol; justify-self: end; }
.kosartetel__torol button { font-size: 1.1rem; min-width: 40px; min-height: 40px; }
@media (min-width: 700px) { .kosartetel { grid-template-columns: 96px minmax(0, 1fr) auto auto 40px; grid-template-areas: "kep adat db osszeg torol"; } .kosartetel__kep { width: 96px; } }
.kosarosszeg { padding: 1rem 1.1rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); }
.kosarosszeg__sor { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 .5rem; font-size: 1.1rem; }
.kosarosszeg__sor strong { font: 400 1.5rem/1 var(--display); color: var(--barn); }
.kosarosszeg__gombok { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; margin-top: .75rem; }
.penztar { display: grid; gap: 1.5rem; padding-block: 1.25rem var(--section); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 960px) { .penztar { grid-template-columns: minmax(0, 1fr) 380px; } .penztar__oldal { position: sticky; top: calc(var(--head-h) + 1rem); } }
.penztarblokk { margin: 0 0 1.25rem; padding: 1rem 1.1rem .4rem; border: 2px solid var(--ink); background: var(--paper); min-width: 0; }
.penztarblokk legend { padding: 0 .4rem; font: 400 1.2rem/1 var(--display); }
.mezosor { display: grid; gap: 0 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .mezosor { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .mezosor--cim { grid-template-columns: 9rem minmax(0, 1fr); } }
.valasztok { display: grid; gap: .5rem; margin-bottom: .9rem; }
.valaszto { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .7rem; align-items: center; padding: .7rem .8rem; border: 2px solid var(--line); background: #FBF7EE; cursor: pointer; }
.valaszto[hidden] { display: none; }
.valaszto:has(input:checked) { border-color: var(--barn); background: #F7E3B0; }
.valaszto input { width: 20px; height: 20px; accent-color: var(--barn); margin: 0; }
.valaszto__test { display: grid; gap: .1rem; }
.valaszto__nev { font-weight: 700; }
.valaszto__leiras { color: var(--ink-soft); }
.valaszto__ar { white-space: nowrap; }
.cimblokk[hidden] { display: none; }
.check[hidden] { display: none; }
.rejtett-mezo { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.osszesito { padding: 1rem 1.1rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); }
.osszesito h2 { font-size: 1.3rem; margin: 0 0 .7rem; }
.osszesito__tetelek { list-style: none; margin: 0 0 .7rem; padding: 0 0 .5rem; border-bottom: 1px dashed var(--line); display: grid; gap: .4rem; }
.osszesito__tetelek li, .osszesito__sor { display: flex; justify-content: space-between; gap: 1rem; margin: 0 0 .35rem; }
.osszesito__tetelek li[hidden], .osszesito__sor[hidden] { display: none; }
.osszesito__vegosszeg { margin-top: .6rem; padding-top: .6rem; border-top: 2px solid var(--ink); font-size: 1.15rem; }
.osszesito__vegosszeg strong { font: 400 1.5rem/1 var(--display); color: var(--barn); }
.osszesito__aszf { margin: .9rem 0; font-size: .9rem; }
.osszesito__gomb { width: 100%; justify-content: center; min-height: 3.6rem; font-size: 1.12rem; text-align: center; line-height: 1.25; white-space: normal; background: var(--barn); border-color: var(--ink); color: #fff; box-shadow: 4px 4px 0 var(--ink); }
.osszesito__gomb:hover, .osszesito__gomb:focus-visible { box-shadow: 2px 2px 0 var(--ink); transform: translate(2px, 2px); }
.fizkotelezettseg { margin: .9rem 0 .8rem; padding: .75rem .9rem; background: #FDE8C8; border: 3px solid var(--barn); border-left-width: 10px; }
.fizkotelezettseg__cim { margin: 0 0 .3rem; font-weight: 800; font-size: 1.08rem; color: var(--barn); text-transform: uppercase; letter-spacing: .02em; line-height: 1.3; }
.fizkotelezettseg__szoveg { margin: 0; font-size: .98rem; line-height: 1.5; }
.osszesito__gomb:disabled { opacity: .6; }
.rendeleskoszono { font-size: 3rem; margin: 0; line-height: 1; }
.rendelesallapot { margin-bottom: 1.25rem; padding: 1rem; background: var(--paper); border: 2px solid var(--ink); }
.rendelesallapot__cimke { margin: 0 0 .8rem; }
.lepesjelzo { list-style: none; margin: 0 0 .5rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .3rem; text-align: center; font-size: clamp(.68rem, 2.6vw, .82rem); line-height: 1.2; }
.lepesjelzo li { overflow-wrap: anywhere; hyphens: auto; }
.lepesjelzo li { display: grid; justify-items: center; gap: .3rem; color: var(--ink-soft); }
.lepesjelzo span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; border: 2px solid var(--line); background: #fff; font-weight: 700; }
.lepesjelzo .is-kesz { color: var(--ink); font-weight: 700; }
.lepesjelzo .is-kesz span { background: var(--moss); border-color: var(--moss); color: #fff; }
.utalasi-adatok { margin-bottom: 1.25rem; padding: 1rem 1.1rem; background: #F7E3B0; border: 2px dashed var(--ink); }
.utalasi-adatok h2 { font-size: 1.25rem; margin: 0 0 .6rem; }
.utalasi-adatok dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .3rem 1rem; margin: 0 0 .6rem; }
.utalasi-adatok dt { color: var(--ink-soft); }
.utalasi-adatok dd { margin: 0; word-break: break-word; }
.osszesito--rendeles { margin-bottom: 1rem; }
.jogi h2 { font-size: 1.35rem; margin-top: 2rem; }


.szallitasiido { margin: .2rem 0 0; font-size: .95rem; }
.szallitasiido--kicsi { font-size: .82rem; color: var(--ink-soft); }
.osszesito__ido { display: block; font-size: .8rem; color: var(--ink-soft); }


/* ---------- Értékelések, kupon, készletértesítő ---------- */
.csillagok { display: inline-flex; gap: 1px; color: #D8CCB4; font-size: 1.1rem; line-height: 1; vertical-align: -.1em; }
.csillag.is-teli { color: #D49A2A; }
.csillag.is-fel { background: linear-gradient(90deg, #D49A2A 50%, #D8CCB4 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.csillagok--kicsi { font-size: .9rem; }
.csillagok--nagy { font-size: 1.6rem; }
.termek__ertekeles { margin: -.3rem 0 .6rem; }
.termek__ertekeles a { color: var(--ink); text-decoration: none; display: inline-flex; gap: .45rem; align-items: center; }
.termek__ertekeles a span:last-child { text-decoration: underline; font-size: .92rem; }
.termekkartya__csillag { display: flex; align-items: center; gap: .3rem; }
.termek__ertekelesek { max-width: 760px; }
.termek__ertekelesek h2 { font-size: clamp(1.3rem, 5vw, 1.7rem); margin: 0 0 .8rem; }
.ertekelesosszeg { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; margin-bottom: 1rem; }
.ertekelesosszeg__szam { font: 400 2.4rem/1 var(--display); color: var(--barn); }
.ertekeleslista { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .8rem; }
.ertekeles { padding: .9rem 1rem; background: var(--paper); border: 2px solid var(--ink); }
.ertekeles p { margin: 0 0 .4rem; }
.ertekeles__fej { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ertekeles__lab { color: var(--ink-soft); margin: 0 !important; }
.ellenorzott { color: #3E6B2F; font-weight: 700; white-space: nowrap; }
.ertekeles__valasz { margin: .6rem 0 0 !important; padding: .5rem .7rem; border-left: 4px solid var(--moss); background: rgba(76, 90, 43, .08); }
.ertekeleswrap { padding-block: 1.25rem var(--section); }
.ertekelesurlap { margin-bottom: 1.5rem; padding: 1rem 1.1rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); }
.ertekelesurlap__fej { display: flex; align-items: center; gap: .8rem; margin-bottom: .6rem; }
.ertekelesurlap__fej img { width: 72px; height: 72px; object-fit: cover; }
.ertekelesurlap__fej h2 { font-size: 1.25rem; margin: 0; }
.csillagvalaszto { border: 0; padding: 0; margin: 0 0 .8rem; display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: .15rem; }
.csillagvalaszto legend { width: 100%; font-weight: 700; margin-bottom: .2rem; float: left; }
.csillagvalaszto input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.csillagvalaszto label { font-size: 2.3rem; line-height: 1; color: #D8CCB4; cursor: pointer; padding: 0 .08rem; }
.csillagvalaszto input:checked ~ label, .csillagvalaszto label:hover, .csillagvalaszto label:hover ~ label { color: #D49A2A; }
.csillagvalaszto input:focus-visible + label { outline: 3px solid var(--yolk); outline-offset: 2px; }
.kosarosszeg__kupon { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .3rem 1rem; margin: 0 0 .5rem; color: var(--moss); }
.kosarosszeg__kupon form.inline { display: inline; }
.kuponmezo { margin: 0 0 .6rem; }
.kuponmezo summary { cursor: pointer; color: var(--barn); font-weight: 700; width: fit-content; }
.kuponmezo__urlap { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.kuponmezo__urlap input { flex: 1 1 10rem; padding: .5rem .6rem; border: 2px solid var(--ink); font: inherit; text-transform: uppercase; }
.kuponmezo__cim { margin: 0; font-weight: 700; color: var(--barn); }

/* Kuponlinkkel érkezőknek: aktiválást visszaigazoló sáv a fejléc alatt */
.kuponsav { background: var(--moss); color: var(--paper); border-bottom: 3px double var(--ink); }
.kuponsav--hiba { background: var(--barn); }
.kuponsav__in { display: flex; gap: .7rem; align-items: flex-start; padding: .75rem var(--gap); }
.kuponsav__ikon { font-size: 1.3rem; line-height: 1.3; flex: none; }
.kuponsav__szoveg { margin: 0; font-size: 1rem; line-height: 1.5; }
.kuponsav strong { color: var(--paper); }
.boltures__kupon { margin: .6rem 0; padding: .6rem .8rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.kuponmezo__var { margin: 0 0 .5rem; padding: .5rem .6rem; background: rgba(212, 154, 42, .18); border-left: 4px solid var(--yolk); }
@media (min-width: 700px) { .kuponsav__szoveg { font-size: 1.05rem; } }
.kuponmezo--penztar { margin: .6rem 0 .8rem; padding: .7rem .8rem; background: #FBF7EE; border: 2px dashed var(--ink); }
.kuponmezo__valasz { margin: .35rem 0 0; color: var(--ink); }
.kuponmezo__allapot { margin: -.2rem 0 .6rem; display: flex; gap: .5rem; align-items: baseline; }
.kuponmezo__allapot button { font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
/* ha a kosárban csak kedvezményből kizárt termék van, a mező helyén egy halk mondat áll */
.kuponmezo__tiltva, .kosarfiok__kupontiltva { margin: .2rem 0 .7rem; }

/* kuponkód a kosárfiókban */
.kosarfiok__kupon { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .5rem 0 .6rem; }
.kosarfiok__kupon input { flex: 1 1 8rem; min-width: 0; padding: .45rem .55rem; border: 2px solid var(--ink); font: inherit; font-size: .95rem; text-transform: uppercase; background: #FBF7EE; color: var(--ink); }
.kosarfiok__kupon.is-ok { justify-content: space-between; padding: .45rem .6rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.kosarfiok__kedvezmeny { color: var(--barn); font-weight: 700; }
.kosarfiok__kupon form { margin: 0; }
.osszesito__kedvezmeny { color: var(--moss); font-weight: 700; }
.ertesitourlap__cim { margin: 0 0 .2rem; }
.ertesitourlap p { margin: 0 0 .5rem; }
.ertesitourlap__sor { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .5rem; }
.ertesitourlap__sor[hidden], .ertesitourlap .check[hidden] { display: none; }
.ertesitourlap__sor input { flex: 1 1 12rem; padding: .6rem .7rem; border: 2px solid var(--ink); font: inherit; }
.ertesitourlap__uzenet { padding: .5rem .7rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.ertesitourlap__uzenet.is-hiba { background: rgba(138, 47, 36, .08); border-left-color: var(--barn); }

/* Kvíz: az oklevél e-mailben + kedvezménykupon */
.kvizlead__urlap { margin-top: .6rem; padding-top: .8rem; border-top: 2px dashed var(--line); }
.kvizlead__sor { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0; }
.kvizlead__sor input { flex: 1 1 11rem; padding: .6rem .7rem; border: 2px solid var(--ink); font: inherit; background: #FBF7EE; color: var(--ink); }
.kvizlead__urlap .check { margin-bottom: .5rem; }
/* az oklevél űrlapján a szövegmezők teljes szélesek, a jelölőnégyzetek nem */
.oklevel__urlap .check input { width: 26px; }
.kvizlead__valasz { margin: .6rem 0 .4rem; }
.kvizlead__valasz:empty { display: none; }
.kvizlead__valasz.is-ok { padding: .5rem .7rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.kvizlead__valasz.is-hiba { padding: .5rem .7rem; background: rgba(138, 47, 36, .08); border-left: 4px solid var(--barn); }
.kvizlead__urlap.is-kesz .kvizlead__sor,
.kvizlead__urlap.is-kesz .check,
.kvizlead__urlap.is-kesz .field { display: none; }


.mezovisszajelzes { display: block; min-height: 1.1rem; margin-top: .25rem; font-size: .85rem; line-height: 1.35; }
.mezovisszajelzes.is-jo { color: #3E6B2F; font-weight: 700; }
.mezovisszajelzes.is-hiba { color: var(--barn); font-weight: 700; }
.mezovisszajelzes.is-figyelem { color: #7A5410; }
.mezovisszajelzes .linkbtn { font-weight: 700; color: var(--barn); text-decoration: underline; padding: 0; background: none; border: 0; font: inherit; cursor: pointer; }
input.is-hibas { border-color: var(--barn) !important; box-shadow: 0 0 0 2px rgba(138, 47, 36, .15); }
input.is-jo { border-color: #4C7A34 !important; }


/* ---------- Csomagautomata-választó ---------- */
.automatablokk { margin: 0 0 1rem; padding: .8rem .9rem; background: #FBF7EE; border: 2px dashed var(--ink); }
.automatablokk[hidden] { display: none; }
.automatablokk__valasztott { margin: 0 0 .6rem; line-height: 1.45; }
.automatablokk__valasztott.is-kesz { color: #2F5A22; }
.automatablokk__valasztott.is-hiba { color: var(--barn); font-weight: 700; }
.automataablak { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: .5rem; background: rgba(43, 32, 22, .6); }
.automataablak.is-nyitva { display: flex; }
.automataablak__doboz { width: min(1000px, 100%); height: min(760px, calc(100dvh - 1rem)); display: flex; flex-direction: column; background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }
.automataablak__fej { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem .9rem; border-bottom: 2px solid var(--ink); }
.automataablak__cim { font-size: 1.15rem; margin: 0; }
.automataablak__bezar { width: 44px; height: 44px; font-size: 1.8rem; line-height: 1; background: none; border: 2px solid var(--ink); cursor: pointer; }
.automataablak__test { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.automataablak__iframe { flex: 1; width: 100%; border: 0; }
.mplvalaszto { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.mplvalaszto__kereso { display: flex; gap: .5rem; padding: .6rem .9rem; flex-wrap: wrap; }
.mplvalaszto__kereso input { flex: 1 1 14rem; padding: .55rem .7rem; border: 2px solid var(--ink); font: inherit; }
.mplvalaszto__tartalom { flex: 1; min-height: 0; display: grid; grid-template-rows: minmax(220px, 1fr) minmax(0, 40%); }
@media (min-width: 800px) { .mplvalaszto__tartalom { grid-template-columns: minmax(0, 1fr) 320px; grid-template-rows: minmax(0, 1fr); } }
.mplvalaszto__terkep { min-height: 220px; }
.mplvalaszto__lista { list-style: none; margin: 0; padding: 0; overflow-y: auto; border-top: 2px solid var(--ink); }
@media (min-width: 800px) { .mplvalaszto__lista { border-top: 0; border-left: 2px solid var(--ink); } }
.mplvalaszto__lista li { border-bottom: 1px dashed var(--line); }
.mplvalaszto__lista > li.muted, .mplvalaszto__lista > li:not(:has(button)) { padding: .8rem; }
.mplvalaszto__elem { display: grid; gap: .15rem; width: 100%; padding: .6rem .8rem; text-align: left; background: none; border: 0; font: inherit; cursor: pointer; color: var(--ink); }
.mplvalaszto__elem span { font-size: .85rem; color: var(--ink-soft); }
.mplvalaszto__elem:hover, .mplvalaszto__elem:focus-visible { background: #F7E3B0; }
.mplbuborek { font: .9rem/1.4 var(--text); }
.mplbuborek .btn { margin-top: .4rem; }

/* ---------- Tanyai díszítőelemek (szalmabálák, fészek, kerítés) ---------- */
.deco { display: block; height: auto; pointer-events: none; user-select: none; }
.feedicons { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; max-width: 440px; }
.feedicons li { display: flex; flex-direction: column; align-items: center; gap: .4rem; text-align: center; }
.feedicons img { width: 100%; max-width: 88px; height: auto; filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, .22)); }
.feedicons span { font-size: .85rem; font-style: italic; color: var(--paper); line-height: 1.2; }
.deco--nest { width: 118px; flex: none; margin-bottom: -.35rem; }
.deco--nest-sm { width: 120px; margin: 0 auto .5rem; }
.follow__cta { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 1.5rem 0 0; }
@media (max-width: 599px) { .follow__cta .btn { width: auto; flex: 1; } }
@media (min-width: 600px) { .feedicons { gap: 1rem; } .feedicons img { max-width: 100px; } .feedicons span { font-size: .95rem; } .deco--nest { width: 150px; } .follow__cta { justify-content: flex-start; gap: 2rem; } }
@media (min-width: 900px) { .feedicons { margin-top: 2.25rem; } }

/* kerítés a lábléc tetején – minden oldalon; mindkét végén oszloppal zárul */
.footer { position: relative; margin-top: 3rem; }
.footer::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 56px; margin-bottom: -3px; pointer-events: none;
  background:
    url("../img/deko-kerites-zaro.svg") right bottom / 19px 56px no-repeat,
    url("../img/deko-kerites-szakasz.svg") left bottom / 149px 56px round;
}
@media (min-width: 600px) {
  .footer { margin-top: 4.5rem; }
  .footer::before {
    height: 80px;
    background:
      url("../img/deko-kerites-zaro.svg") right bottom / 27px 80px no-repeat,
      url("../img/deko-kerites-szakasz.svg") left bottom / 213px 80px round;
  }
}
/* kerek PIPU Farm tábla a kerítésen (mint a valódi kapun) */
.fence-sign { display: none; }
@media (min-width: 600px) {
  .fence-sign {
    display: grid; place-items: center; position: absolute; z-index: 1; bottom: 100%; left: max(1rem, 7vw); margin-bottom: 14px;
    width: 92px; height: 92px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle at 34% 28%, #EACD55, #C9A22A 72%); border: 2px solid var(--ink);
    box-shadow: 3px 4px 0 rgba(43, 32, 22, .28); transform: rotate(-4deg);
  }
  .fence-sign img { width: 76%; height: auto; }
}
@media (min-width: 1100px) { .fence-sign { width: 104px; height: 104px; left: 9vw; } }



/* ---------- Jogi oldalak felugró ablakban ---------- */
.legalmodal { display: none; position: fixed; inset: 0; z-index: 110; padding: .75rem; }
.legalmodal.is-open { display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; }
.legalmodal__backdrop { position: fixed; inset: 0; background: rgba(43, 32, 22, .62); }
.legalmodal__box {
  position: relative; display: flex; flex-direction: column; width: 100%; min-width: 0; max-width: 820px; max-height: calc(100vh - 1.5rem); max-height: calc(100dvh - 1.5rem);
  background: var(--paper); border: 2px solid var(--ink); box-shadow: 8px 8px 0 var(--moss);
  animation: qrIn .25s cubic-bezier(.2, .9, .3, 1.2) both;
}
.legalmodal__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .75rem .75rem 1.25rem; border-bottom: 3px double var(--ink); background: var(--kraft); }
.legalmodal__title { font-size: clamp(1.25rem, 5vw, 1.8rem); margin: 0; }
.legalmodal__close { flex: none; width: 44px; height: 44px; display: grid; place-items: center; background: none; border: 2px solid var(--ink); font-size: 1.8rem; line-height: 1; color: var(--ink); cursor: pointer; }
.legalmodal__close:hover { background: var(--ink); color: var(--paper); }
.legalmodal__body { position: relative; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 1.25rem 1.25rem 2rem; font-size: 1rem; outline: none; }
.legalmodal__body > * { max-width: 72ch; }
.legalmodal__body .toc ol { columns: 1; }
@media (min-width: 700px) { .legalmodal__body .toc ol { columns: 2; } }
.legalmodal__body a { overflow-wrap: anywhere; }
.legalmodal__lead { font-style: italic; color: var(--ink-soft); }
.legalmodal__loading { color: var(--ink-soft); font-style: italic; }
.legalmodal__body .toc { margin-bottom: 1.5rem; }
.legalmodal__body h2 { font-size: clamp(1.2rem, 4.5vw, 1.55rem); }
.legalmodal__body .tablewrap { max-width: 100%; }
@media (min-width: 600px) { .legalmodal { padding: 2rem; } .legalmodal__box { max-height: calc(100vh - 4rem); } .legalmodal__body { padding: 1.5rem 2rem 2.5rem; font-size: 1.05rem; } }
html.legal-open { overflow: hidden; }
@media print { .legalmodal { display: none !important; } }


/* =========================================================
   Mobil tipográfia finomhangolás: nincs csonka sor, árva szó, kilógó elem
   ========================================================= */
/* címsorok kiegyensúlyozott tördelése, bekezdéseknél nincs egyedül maradt utolsó szó */
h1, h2, h3, .section-title, .card__title, .row__title, .resident__name,
.feat__title, .article__title, .pagehead__title, .legalmodal__title, .qrmodal__title, .footer__slogan, .hero__place { text-wrap: balance; }
p, li, .feat__excerpt, .row__excerpt, .card__excerpt, .resident__text, figcaption { text-wrap: pretty; }
/* hosszú szavak (pl. e-mail-címek, linkek) sosem lógnak ki */
body { overflow-wrap: break-word; }

/* rácsok: a tartalom ne tudja a képernyőnél szélesebbre nyújtani az oszlopot */
.hero__in, .about__in, .feed__in, .follow__in, .contact__in, .blogtools, .footer__in, .postgrid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
  .hero__in { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); }
  .about__in { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .feed__in, .follow__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .contact__in { grid-template-columns: minmax(0, 1.4fr) minmax(0, .9fr); }
}
@media (min-width: 760px) { .footer__in { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); } }
@media (min-width: 600px) { .postgrid { grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); } }

@media (max-width: 379px) { .card__title { font-size: 1.05rem; } .row__title { font-size: 1rem; } }

/* egysoros elemek: gombok, címkék, dátumok nem törnek */
.btn, .tag, .tagchip, .nav a, .row__btn, .pager a, .feedrow__val, .resident__count, .filterinfo a, .textlink, .share a, .share button { white-space: nowrap; }
/* egyetlen gomb se lóghasson ki a képernyőből; a hosszú feliratúak törjenek */
.btn { max-width: 100%; }
.btn--tordel { white-space: normal; }
.search .btn { padding-inline: .85rem; }

/* nyitó rész gombjai: nagyon keskeny kijelzőn egymás alá */
@media (max-width: 379px) {
  .hero__cta { grid-template-columns: minmax(0, 1fr); }
  .hero__title { font-size: clamp(1.85rem, 9.2vw, 2.1rem); }
}

/* fajták: hosszabb nevek (pl. Kendermagos) is egy sorban */
@media (max-width: 599px) {
  .breed { padding-left: 1.6rem; padding-right: .5rem; }
  .breed::before { left: .5rem; }
  .breed__name { font-size: clamp(.86rem, 4.3vw, 1.02rem); overflow-wrap: normal; }
}

/* takarmánycímke: a kiegészítő megjegyzése saját sorba, balra zárva */
.feedrow--extra { flex-direction: column; align-items: flex-start !important; }
.feedrow__note { text-align: left; }

/* közösségi gombok keskeny kijelzőn */
.follow__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 359px) {
  .follow__list a { gap: .4rem; padding: .55rem .6rem; font-size: .9rem; }
  .follow__list a svg { width: 20px; height: 20px; }
  .contact__social { grid-template-columns: minmax(0, 1fr); }
}

/* szűrősáv: a találatszám és a „Szűrők törlése” link ne törjön csúnyán */
.filterinfo { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; }
.filterinfo a { margin-left: 0; }

/* blogsorok mobilon: dátum és olvasási idő egy sorban */
@media (max-width: 599px) { .row__side { white-space: nowrap; } }

/* lábléc szlogen és cikk-meta */
.footer__slogan { max-width: 20em; }
.article__meta, .postmeta, .card__date { text-wrap: balance; }




/* ---------- Blog extrák: tartalomjegyzék, sorozat, álló videó, kiemelt cikk a főoldalon ---------- */
.toc--article { margin-top: 1.5rem; }
.toc--article details { background: var(--paper); border: 2px solid var(--ink); padding: .85rem 1.1rem; }
.toc--article summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; font-family: var(--display); font-size: 1.1rem; }
.toc--article summary::-webkit-details-marker { display: none; }
.toc--article summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: rotate(45deg); margin: -4px .2rem 0 1rem; transition: transform .2s; }
.toc--article details[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.toc--article ol { margin: .6rem 0 0; padding-left: 1.3em; columns: 1; }
.toc--article li { margin: .15rem 0; }
.toc--article .toc__l3 { list-style: circle; margin-left: 1rem; font-size: .95em; }
.toc--article a { display: inline-block; padding: .2rem 0; }
.prose h2[id], .prose h3[id] { scroll-margin-top: calc(var(--head-h) + 1rem); }

.series { margin-top: 1.5rem; }
.series > * { margin: 0; }
.series { background: rgba(76, 90, 43, .08); border-left: 4px solid var(--moss); padding: .9rem 1.1rem; }
.series__kicker { font-size: .85rem; font-style: italic; color: var(--moss); }
.series__name { font-family: var(--display); font-size: 1.15rem; margin: .1rem 0 .5rem !important; }
.series__list { padding-left: 1.3em; }
.series__list li { margin: .15rem 0; }
.series__list li[aria-current] { color: var(--ink); }

.seriesnav { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-top: 2rem; }
.seriesnav__link { display: block; padding: .9rem 1rem; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); text-decoration: none; font-family: var(--display); line-height: 1.25; }
.seriesnav__link span { display: block; font: italic 400 .85rem/1.3 var(--text); color: var(--moss); margin-bottom: .2rem; }
.seriesnav__link--next { text-align: right; }
@media (hover: hover) { .seriesnav__link:hover { box-shadow: 4px 4px 0 var(--moss); } }
@media (min-width: 600px) { .seriesnav { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

.prose .video--portrait { aspect-ratio: 9 / 16; max-width: 340px; margin-inline: auto !important; width: 100% !important; }
.video--facade { display: grid; place-items: center; background: linear-gradient(160deg, #2B2016, #4C5A2B); }
.video__play { display: grid; justify-items: center; gap: .6rem; padding: 1.5rem; background: none; border: 0; color: var(--paper); cursor: pointer; text-align: center; font: inherit; }
.video__icon { width: 72px; height: 72px; border-radius: 50%; background: var(--barn); border: 3px solid var(--paper); position: relative; }
.video__icon::after { content: ""; position: absolute; left: 28px; top: 20px; border-style: solid; border-width: 16px 0 16px 24px; border-color: transparent transparent transparent var(--paper); }
.video__label { font-family: var(--display); font-size: 1.1rem; }
.video__note { font-size: .8rem; opacity: .8; max-width: 22ch; }
.video--yt { position: relative; overflow: hidden; }
.video--yt .video__kep { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; }
.video--yt .video__play { position: relative; z-index: 1; text-shadow: 0 1px 3px rgba(0,0,0,.7); }

.feat--home { margin-bottom: 1.75rem; }
.feat--home .feat__title { font-size: clamp(1.4rem, 5.5vw, 2.2rem); }


/* ---------- 404 oldal ---------- */
.errorpage__nest { display: block; width: 140px; height: auto; margin: 0 auto .75rem; }
.errorpage__code { display: inline-block; font: 400 .85rem/1 var(--display); letter-spacing: .08em; color: var(--paper); background: var(--barn); padding: .45rem .7rem .4rem; margin-bottom: 1rem; }
.search--center { margin: 1.75rem auto 0; justify-content: center; }
.errorpage__help { margin-top: 1.25rem; }

@media (max-width: 359px) { .pagehead__title { font-size: 1.9rem; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .masthead, .footer, .share, .cookie, .latest { display: none; }
  body { background: #fff; }
}
@media (min-width: 600px) { .share .share__messenger { display: none; } }

.testbar { background: var(--yolk); color: var(--ink); text-align: center; font-size: .85rem; padding: .35rem 1rem; }
.tablewrap:focus-visible, .residents:focus-visible { outline: 3px solid var(--barn); outline-offset: 3px; border-radius: 6px; }

/* ---- Elállás ---- */
.elallaswrap { padding-block: 1rem var(--section); }
.elallasdoboz { margin: 0 0 2rem; padding: 1.1rem 1.2rem .6rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--barn); }
.elallasdoboz__cim { margin: 0 0 .6rem; font: 400 clamp(1.4rem, 4vw, 1.9rem)/1.15 var(--display); }
.elallasurlap .btn { margin-bottom: 1rem; }
.elallasurlap__gomb { font-size: 1.1rem; }
.elallas__rendeles { margin-bottom: .6rem; }
.elallastetel { display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: flex-start; justify-content: space-between; padding: .5rem 0; border-bottom: 1px dashed rgba(43,32,22,.3); }
.elallastetel:last-child { border-bottom: 0; }
.elallastetel .check { margin: 0; flex: 1 1 16rem; }
.elallastetel__db { display: flex; align-items: center; gap: .5rem; font-size: .95rem; }
.elallastetel__db input { width: 5rem; padding: .45rem .5rem; border: 2px solid var(--ink); font: inherit; background: #fff; }
.nyilatkozatminta { margin: 1.5rem 0 1rem; padding: 1rem 1.2rem; border: 2px dashed var(--ink); background: #fff; }
.nyilatkozatminta__sor { margin: 0 0 .9rem; padding-bottom: .9rem; border-bottom: 1px solid rgba(43,32,22,.35); }
@media print {
  html.minta-nyomtatas body * { visibility: hidden !important; }
  html.minta-nyomtatas .nyilatkozatminta, html.minta-nyomtatas .nyilatkozatminta * { visibility: visible !important; }
  html.minta-nyomtatas .nyilatkozatminta { position: absolute; left: 0; top: 0; width: 100%; border: 0; }
  html.minta-nyomtatas .nyilatkozatminta__sor { padding-bottom: 1.6rem; }
}

.elallaskartya { margin: 1.25rem 0; padding: .9rem 1rem; border: 2px dashed var(--ink); background: var(--paper); }
.elallaskartya p { margin-bottom: .6rem; }
.osszesito__gomb { white-space: normal !important; height: auto; padding: .8rem 1rem; }
.osszesito__gomb-fo { display: block; white-space: normal; overflow-wrap: anywhere; }

/* ---- Előrendelés / hamarosan ---- */
.elorendelesdoboz { margin: .6rem 0 1rem; padding: .7rem .9rem; background: #FDE8C8; border: 2px solid var(--ink); border-left: 8px solid var(--barn); }
.elorendelesdoboz p { margin: 0 0 .3rem; }
.elorendelesdoboz p:last-child { margin-bottom: 0; }
.elorendelesdoboz--hamarosan { background: #EEF0DF; border-left-color: var(--moss); }
.termekcimke--elorendeles { background: var(--barn); color: #fff; }
.termekcimke--hamarosan { background: var(--moss); color: #fff; }
.termekkartya.is-hamarosan .termekkartya__kep img { filter: saturate(.75); }
.keszlet--elorendeles { color: var(--barn); font-weight: 700; }
.keszlet--hamarosan { color: var(--moss); font-weight: 700; }
.szallitasiido--elorendeles, .osszesito__ido--elorendeles { color: var(--barn); font-weight: 700; }
.osszesito__elorendeles { margin: .5rem 0; padding: .45rem .6rem; background: #FDE8C8; border-left: 5px solid var(--barn); }
.elorendelesjelzes { border-left: 10px solid var(--barn); background: #FDE8C8; }

/* ---- Lábléc (átrendezve: oldalak · vásárlói információk · kapcsolat) ---- */
.footer__in { grid-template-columns: minmax(0, 1fr); gap: 1.75rem 2rem; }
.footer__brand .footer__social { margin-top: .9rem; }
.footer__col { min-width: 0; }
.footer__list li { line-height: 1.3; }
.footer__list a, .footer__list .linkbtn { display: flex; align-items: center; min-height: 44px; text-align: left; font: inherit; padding: 0; }
.footer__cim { margin: .4rem 0 0; font-size: .95rem; opacity: .8; }
.footer__legal { display: block; padding: 0; border-top: 1px solid rgba(243, 235, 216, .2); background: rgba(0, 0, 0, .18); }
.footer__legal-in { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; justify-content: space-between; align-items: center; padding-block: .9rem calc(1.1rem + var(--safe-b, 0px)); font-size: .88rem; opacity: .85; }
.footer__legal-in p { margin: 0; display: block; }
@media (min-width: 560px) { .footer__in { grid-template-columns: repeat(2, minmax(0, 1fr)); } .footer__brand { grid-column: 1 / -1; } }
@media (min-width: 980px) {
  .footer__in { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr); gap: 2.5rem; }
  .footer__brand { grid-column: auto; }
  .footer__list a, .footer__list .linkbtn { min-height: 36px; }
}
@media (min-width: 980px) { .footer__list a, .footer__list .linkbtn { padding-block: .3rem; } }
.footer__legal-in { justify-content: center; text-align: center; }

/* Szolgáltatóink a lábléc alján: fizetés, számlázás, tárhely.
   A logók alapból halványak és szürkék, hogy ne vonják el a figyelmet a tartalomról;
   rájuk mutatva kiszíneződnek. Logófájl nélkül a szolgáltató neve látszik. */
.szolgaltatok { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: .9rem clamp(1.1rem, 4vw, 2rem) 1.5rem; }
.szolgaltatok__lista {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: .4rem 1.75rem;
}
.szolgaltatok__elem a {
  display: inline-flex; flex-direction: column; align-items: center; gap: .15rem;
  min-height: 44px; justify-content: center; padding: .2rem .25rem;
  color: inherit; text-decoration: none;
  opacity: .62; filter: grayscale(1);
  transition: opacity .2s ease, filter .2s ease;
}
.szolgaltatok__elem a:hover, .szolgaltatok__elem a:focus-visible { opacity: 1; filter: none; }
.szolgaltatok__szerep { font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.szolgaltatok__elem img { display: block; height: 20px; width: auto; max-width: 118px; }
.szolgaltatok__nev { font-weight: 700; font-size: .95rem; line-height: 1.2; }
@media (min-width: 700px) {
  .szolgaltatok__elem img { height: 22px; }
}
@media (prefers-reduced-motion: reduce) { .szolgaltatok__elem a { transition: none; } }

/* ---- Szállítás és fizetés (GYIK) ---- */
.gyikwrap { padding-block: 1rem var(--section); }
.gyiknav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.gyiknav a { padding: .45rem .85rem; border: 2px solid var(--ink); background: var(--paper); text-decoration: none; font-size: .95rem; }
.gyiknav a:hover, .gyiknav a:focus-visible { background: var(--ink); color: var(--paper); }
.gyikcsoport { margin: 2rem 0 .75rem; font: 400 clamp(1.3rem, 3.5vw, 1.7rem)/1.2 var(--display); }
.gyikcsoport:first-of-type { margin-top: 0; }
.gyik { border: 2px solid var(--ink); background: var(--paper); margin: 0 0 .6rem; transition: box-shadow .12s ease; }
.gyik summary { display: flex; gap: .75rem; align-items: center; justify-content: space-between; padding: .85rem 1rem; font-weight: 700; cursor: pointer; min-height: var(--tap); list-style: none; }
.gyik summary::-webkit-details-marker { display: none; }
/* A jelölő körbe zárva, hogy ránézésre is gombnak látsszon – enélkül sokan nem veszik észre,
   hogy a kérdésre kattintva nyílik a válasz. */
.gyik summary::after {
  content: "+"; flex: none; display: grid; place-items: center;
  width: 1.75rem; height: 1.75rem; margin-top: -.1rem;
  font: 400 1.25rem/1 var(--display); color: var(--paper); background: var(--barn);
  border-radius: 50%; transition: background-color .12s ease, transform .12s ease;
}
.gyik[open] summary::after { content: "–"; background: var(--ink); }
.gyik[open] summary { border-bottom: 2px dashed rgba(43, 32, 22, .3); }
.gyik[open] { box-shadow: inset 5px 0 0 var(--yolk); }
@media (hover: hover) {
  .gyik summary:hover { background: rgba(212, 154, 42, .18); }
  .gyik summary:hover::after { transform: scale(1.08); }
}
.gyik summary:focus-visible { outline: 3px solid var(--yolk); outline-offset: -3px; }
/* Rövid eligazítás a kérdéslista fölött */
.gyiksugo { margin: 0 0 .8rem; font-size: .92rem; color: var(--ink-soft); display: flex; align-items: center; gap: .4rem; }
.gyik__valasz { padding: .85rem 1rem 1rem; }
.gyik__valasz > :last-child { margin-bottom: 0; }
.gyik-tabla { width: 100%; border-collapse: collapse; margin: .5rem 0; }
.gyik-tabla th, .gyik-tabla td { text-align: left; padding: .5rem .4rem; border-bottom: 1px dashed rgba(43, 32, 22, .3); vertical-align: top; }
.gyik-tabla td { text-align: right; white-space: nowrap; }
.gyik-kiemelt { display: block; color: var(--moss); font-weight: 700; font-size: .9rem; }
.gyikdoboz { margin: 2rem 0 0; padding: 1.1rem 1.2rem; border: 3px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--barn); }
.gyikdoboz h2 { margin-top: 0; }
.gyikdoboz__gombok { display: flex; flex-wrap: wrap; gap: .6rem; }
.kosar__gyiklink, .osszesito__gyik, .termek__gyik { margin: .3rem 0 .8rem; }
@media (max-width: 560px) {
  .gyik-tabla tr { display: block; padding: .5rem 0; border-bottom: 1px dashed rgba(43, 32, 22, .3); }
  .gyik-tabla th, .gyik-tabla td { display: block; border: 0; padding: 0; text-align: left; white-space: normal; }
  .gyik-tabla td { margin-top: .25rem; font-weight: 700; }
  .gyik-kiemelt { display: inline; margin-left: .4rem; }
}
.gyik-tabla th .small { font-weight: 400; }
/* Információs oldalak felugró ablakban: a saját navigációjuk ott nem kell */
.legalmodal__body .gyiknav { display: none; }
.legalmodal__body .gyikdoboz { box-shadow: none; }
.legalmodal__body .elallas__urlaplink { margin: 0 0 1.2rem; }
.elallasoldal .elallas__urlaplink { display: none; }

/* Termékoldal: tájékoztató linkek a kosárba tevő gomb alatt */
.termek__vasarlas .kosarba__uzenet { margin-top: .7rem; }

/* ---- Kosár mentése / emlékeztető ---- */
.kosarmentes { margin: 1rem 0; border: 2px dashed var(--ink); background: var(--paper); }
.kosarmentes summary { padding: .7rem .9rem; font-weight: 700; cursor: pointer; min-height: var(--tap); display: flex; align-items: center; }
.kosarmentes__urlap { padding: 0 .9rem .9rem; }
.kosarmentes__sor { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.kosarmentes__sor input { flex: 1 1 12rem; min-width: 0; padding: .6rem .7rem; border: 2px solid var(--ink); font: inherit; background: #fff; }
.kosarmentes__uzenet { margin: .5rem 0 0; padding: .45rem .6rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.kosarmentes__sor[hidden] { display: none; }
.kosarmentes__urlap.is-kesz .kosarmentes__sor, .kosarmentes__urlap.is-kesz .check, .kosarmentes__urlap.is-kesz > .small:first-of-type { display: none; }

/* Pénztár: „ha félbeszakadna, emlékeztessetek” */
.penztarmentes { margin: .8rem 0 0; padding: .7rem .8rem; border: 2px dashed var(--ink); background: var(--paper); }
.penztarmentes .check { margin: 0; }
.penztarmentes .muted { display: block; margin-top: .15rem; }
.penztarmentes__uzenet { margin: .5rem 0 0; padding: .45rem .6rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.penztarmentes__uzenet.is-hiba { background: rgba(138, 47, 36, .1); border-left-color: var(--barn); }

/* ---- Termékkártya gombsáv ---- */
.termekkartya { display: flex; flex-direction: column; }
.termekkartya .termekkartya__link { flex: 1; }
.kartyagombok { display: flex; gap: .5rem; margin: .85rem 0 0; }
.kartyagombok .btn { flex: 1; justify-content: center; padding: .65rem .6rem .55rem; font-size: .98rem; min-height: var(--tap); }
.kartyagombok form { display: flex; flex: 1.2; }
.kartyagombok .kartyakosar__gomb { width: 100%; }
.kartyakosar__uzenet { margin: .45rem 0 0; padding: .4rem .55rem; background: rgba(76, 90, 43, .14); border-left: 4px solid var(--moss); }
@media (max-width: 420px) { .kartyagombok { flex-wrap: wrap; } .kartyagombok .btn, .kartyagombok form { flex: 1 1 100%; } }
/* Címsorokban ne maradjon árva szó a sor végén (ahol a böngésző támogatja) */
.prose h2, .prose h3, .prose h4, .gyikcsoport, .gyik summary, .bolthead__kicker + .pagehead__title { text-wrap: pretty; }

/* ---- Termékváltozat jelzés ---- */
.kosartetel__valtozat, .osszesito__valtozat { display: inline-block; padding: .1rem .45rem; background: var(--kraft); border: 1px solid var(--ink); border-radius: 3px; font-size: .85rem; }
.kosartetel__valtozat { margin: .1rem 0; }

/* ---- Termékváltozat választó ---- */
.valtozatvalaszto { border: 0; padding: 0; margin: 0 0 .8rem; }
.valtozatvalaszto legend { padding: 0; font-weight: 700; font-size: .98rem; margin-bottom: .35rem; }
.valtozatvalaszto__ertek { font-weight: 400; color: var(--ink-soft); }
.valtozatvalaszto__gombok { display: flex; flex-wrap: wrap; gap: .45rem; }
.valtozatgomb {
  min-height: 44px; min-width: 44px; padding: .5rem .85rem; font: inherit; font-size: .98rem; cursor: pointer;
  background: #fff; color: var(--ink); border: 2px solid var(--ink); border-radius: 4px;
}
.valtozatgomb:hover { background: var(--kraft); }
.valtozatgomb.is-valasztott { background: var(--ink); color: var(--paper); }
.valtozatgomb.is-nincs { opacity: .45; text-decoration: line-through; }
.kosarba--valtozatos { flex-wrap: wrap; }
.kosarba--valtozatos .valtozatvalaszto { flex: 1 1 100%; }
.termek__artol { color: var(--ink-soft); }

.zipjelzes { display: block; color: var(--moss); font-size: .82rem; margin-top: -.15rem; }
.zipjelzes[hidden] { display: none; }

/* ---- Mérettáblázat ---- */
.meretsegeod__gomb {
  display: inline-flex; align-items: center; gap: .3rem; margin-left: .5rem; padding: .2rem .55rem;
  font: inherit; font-size: .85rem; font-weight: 400; cursor: pointer; color: var(--barn);
  background: #fff; border: 1.5px solid var(--barn); border-radius: 999px;
}
.meretsegeod__gomb:hover, .meretsegeod__gomb:focus-visible { background: var(--barn); color: #fff; }
html.meret-open { overflow: hidden; }
.meretmodal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: clamp(.5rem, 3vw, 2rem); }
.meretmodal[hidden] { display: none; }
.meretmodal__hatter { position: absolute; inset: 0; background: rgba(43, 32, 22, .7); }
.meretmodal__ablak { position: relative; width: min(760px, 100%); max-height: 92vh; display: flex; flex-direction: column; background: var(--paper); border: 3px solid var(--ink); box-shadow: 8px 8px 0 var(--barn); }
.meretmodal__fej { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 2px solid var(--ink); }
.meretmodal__cim { margin: 0; font: 400 clamp(1.2rem, 4vw, 1.6rem)/1.2 var(--display); }
.meretmodal__x { background: #fff; border: 2px solid var(--ink); font: inherit; cursor: pointer; padding: .2rem .6rem; }
.meretmodal__test { overflow: auto; padding: 1rem; }
.meretsegeod__kep { display: block; width: 100%; height: auto; border: 2px solid var(--ink); background: #fff; }
.meretsegeod__tabla { margin-top: 1rem; }
.meretsegeod__tabla table { width: 100%; border-collapse: collapse; }
.meretsegeod__tabla th, .meretsegeod__tabla td { padding: .45rem .5rem; border-bottom: 1px dashed rgba(43, 32, 22, .35); text-align: left; }
.meretsegeod__tabla th { background: var(--kraft); }

/* ---- Ingyenes szállítás sáv (tojásból csibe) ---- */
.ingysav { margin: .9rem 0; padding: .7rem .85rem .6rem; background: var(--kraft); border: 2px solid var(--ink); border-radius: 4px; }
.ingysav__szoveg { margin: 0 0 .5rem; font-size: 1rem; line-height: 1.35; }
.ingysav__szoveg strong { color: var(--barn); }
.ingysav__sin { position: relative; height: 16px; background: #fff; border: 2px solid var(--ink); border-radius: 999px; }
.ingysav__telt { position: absolute; inset: 0 auto 0 0; background: repeating-linear-gradient(135deg, var(--moss) 0 8px, #5b6c34 8px 16px); border-radius: 999px; transition: width .5s ease; }
.ingysav__ikon { position: absolute; top: 50%; right: -2px; transform: translate(0, -50%); font-size: 1.5rem; line-height: 1; filter: drop-shadow(0 1px 0 rgba(0,0,0,.25)); }
.ingysav__hatar { margin: .3rem 0 0; text-align: right; color: var(--ink-soft); }
.ingysav.is-kesz { background: #E6EFD8; border-color: var(--moss); }
.ingysav.is-kesz .ingysav__szoveg strong { color: var(--moss); }
.ingysav.is-kesz .ingysav__telt { background: repeating-linear-gradient(135deg, var(--moss) 0 10px, #6d7f42 10px 20px); }
.ingysav.is-kesz .ingysav__ikon { animation: csibeKikel .7s ease; }
@keyframes csibeKikel {
  0% { transform: translate(0, -50%) scale(.6) rotate(-12deg); }
  55% { transform: translate(0, -50%) scale(1.35) rotate(8deg); }
  100% { transform: translate(0, -50%) scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ingysav__telt { transition: none; }
  .ingysav.is-kesz .ingysav__ikon { animation: none; }
}

/* ---- Kapcsolódó termékek a cikk alján ---- */
.boltwrap--cikk { padding-top: 1.5rem; }
.cikktermekek__lead { margin: -.4rem 0 1rem; color: var(--ink-soft); }
.nyilatkozatminta__pdf { display: flex; flex-wrap: wrap; gap: .5rem .8rem; align-items: center; margin: 0 0 1rem; }

/* ---- Mobilos érintőfelületek: minden fontos gomb legalább 44 px ---- */
@media (max-width: 760px) {
  .kosarba__db button { min-height: 44px; min-width: 46px; }
  .kosarba__db input { min-height: 44px; }
  .termeklinkek a { min-height: 44px; padding-block: .5rem; }
  .morzsa a, .morzsa span { display: inline-block; padding-block: .55rem; }
  .cookie__nezet .textlink, .cookie__nezet a { display: inline-block; padding-block: .45rem; }
  .tag { min-height: 40px; display: inline-flex; align-items: center; }
  .idovonal__mikor { font-size: .9rem; }
}

/* A termékoldal vásárlási jelzései (készlet, átfutás, szállítási idő) telefonon ne
   legyenek apróbetűsek – ezek döntik el, hogy a vevő megnyomja-e a Kosárba gombot. */
@media (max-width: 760px) {
  .termek__info .keszlet { font-size: .95rem; }
  .termek__info .atfutas { font-size: .95rem; }
  .termek__info .szallitasiido { font-size: 1rem; }
  .termek__info .szallitasiido--kicsi { font-size: .88rem; }
}

/* ---- Telefonos gyorssáv a képernyő alján ----
   Mobilon minden útvonal a fejléc hamburgere mögött volt: két koppintás bármihez, és a
   hamburger a képernyő tetején van, messze a hüvelykujjtól. Az öt legfontosabb útvonal
   ezért lekerül a sáv aljára. 760px fölött nem jelenik meg (ott ott van a főmenü). */
.gyorssav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
  display: none; align-items: stretch;
  background: var(--paper); border-top: 3px solid var(--ink);
  box-shadow: 0 -4px 14px rgba(43, 32, 22, .16);
  padding: 0 var(--safe-r, 0px) var(--safe-b, 0px) var(--safe-l, 0px);
}
.gyorssav__elem {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem;
  min-height: 58px; padding: .4rem .15rem .45rem;
  color: var(--ink); text-decoration: none; text-align: center;
  border-right: 1px dashed var(--line); touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(138, 47, 36, .18);
}
.gyorssav__elem:last-child { border-right: 0; }
.gyorssav__elem:active { background: rgba(43, 32, 22, .08); }
.gyorssav__elem[aria-current="page"] { color: var(--barn); background: rgba(212, 154, 42, .16); box-shadow: inset 0 3px 0 var(--barn); }
.gyorssav__ikon { position: relative; display: block; line-height: 0; }
.gyorssav__ikon svg { display: block; }
.gyorssav__cimke { max-width: 100%; font: 400 .7rem/1.1 var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gyorssav__db {
  position: absolute; top: -.4rem; right: -.6rem; display: grid; place-items: center;
  min-width: 1.15rem; height: 1.15rem; padding: 0 .22rem; border-radius: 1rem;
  background: var(--barn); color: var(--paper); border: 2px solid var(--ink);
  font: 700 .66rem/1 var(--text);
}
.gyorssav__db[hidden] { display: none; }
@media print { .gyorssav { display: none !important; } }
@media (max-width: 760px) {
  .gyorssav { display: flex; }
  /* A sáv ne takarja az oldal alját. A body vízszintesen „clip”, ezért az alsó belső
     margója nem növeli a görgethető területet – a helyet a lábléc végén kell kihagyni. */
  body { padding-bottom: calc(62px + var(--safe-b, 0px)); }
  .footer__legal { padding-bottom: calc(62px + var(--safe-b, 0px)); }
  /* nyitott hamburgermenü alatt a sáv ne legyen útban (a fejléc őrzi az állapotot) */
  .masthead:has(.navtoggle[aria-expanded="true"]) ~ .gyorssav { display: none; }
  /* a süti sáv a gyorssáv fölé üljön, ne egymásra */
  .cookie { bottom: calc(62px + var(--safe-b, 0px)); padding-bottom: 1rem; }
  /* a QR kód asztali gépre szól (ott olvassa be a telefonjával) – telefonon csak útban van */
  .qrtab { display: none; }
}
@media (max-width: 760px) {
  /* önállóan álló (nem mondatba ágyazott) vezérlők nagyítása telefonon */
  .residents__dot { min-width: 44px; min-height: 44px; }
  .kosartetel__nev, .kosar__gyiklink a, .osszesito__gyik a, .vissza a { display: inline-block; padding-block: .55rem; }
}
@media (max-width: 760px) {
  .textlink, .tagchip, .tag { min-height: 44px; display: inline-flex; align-items: center; }
  .crumbs a, .crumbs span { display: inline-block; padding-block: .5rem; }
  .meretsegeod__gomb { min-height: 40px; }
}
@media (max-width: 760px) {
  .row__title a { display: inline-block; padding-block: .45rem; }          /* bejegyzéslista címei */
  .toc a { display: inline-block; padding-block: .5rem; }                   /* tartalomjegyzék linkjei */
  .crumbs a { padding-block: .6rem; }
}
@media (max-width: 760px) {
  .row__title a { padding-block: .7rem; }        /* a lista címe könnyen eltalálható legyen */
  .kosartetel__nev { padding-block: .7rem; }
}

/* Két hasábos telefonos rácsban a kártya feleannyi helyen áll: szűkebb belső margó,
   kisebb cím, és a két gomb egymás alatt – egy 165 pixeles hasábban egymás mellett
   egyik felirat sem férne ki. A „Kosárba” kerül felülre, az a fontosabb. */
@media (max-width: 559px) {
  .termekkartya__test { gap: .25rem; padding: .6rem .65rem .7rem; }
  .termekkartya__nev { font-size: 1rem; line-height: 1.2; }
  .termekkartya__lab { padding-top: .35rem; gap: .1rem .45rem; }
  .termekkartya .ar strong { font-size: 1.1rem; }
  /* a hosszabb készletüzenet („A szett egyik tagja elfogyott”) a keskeny kártyán
     nowrap mellett kilógott a képernyőből – itt tördelhet */
  .termekkartya .keszlet { font-size: .8rem; white-space: normal; }
  .termekkartya .termekcimke { top: .4rem; left: .4rem; padding: .22rem .4rem .18rem; font-size: .72rem; }
}
/* A két gomb egymás alatt marad, amíg a kéthasábos rácsban keskeny a kártya:
   a hosszabb feliratok („Értesítést kérek”) egymás mellett kilógtak a képernyőből. */
@media (max-width: 699px) {
  .kartyagombok { flex-direction: column; gap: .4rem; margin-top: .6rem; flex-wrap: wrap; }
  .kartyagombok .btn, .kartyagombok form { flex: 1 1 auto; min-width: 0; }
  .kartyagombok .btn { font-size: .92rem; padding: .55rem .4rem .45rem; min-height: 42px; box-shadow: 3px 3px 0 var(--ink); white-space: normal; }
  .kartyagombok .kartyagombok__reszlet { order: 2; }
  .kartyagombok form { order: 1; }
}
/* Nagyon keskeny képernyőn (340px alatt) marad az egy hasáb, ott a gombok egymás mellé is kiférnek */
@media (max-width: 339px) {
  .kartyagombok { flex-direction: row; }
  .kartyagombok .btn, .kartyagombok form { flex: 1 1 0; }
}

/* ---- Kvíz: az oklevél közvetlenül az eredmény alatt ---- */
.kvizoklevel { margin: 1.5rem 0 0; padding: 1.1rem 1.2rem 1.3rem; background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--barn); }
.kvizoklevel > h2 { margin-top: 0; }


/* ---------------- Kosárfiók ----------------
   Asztali gépen jobbról csúszik be, telefonon alulról nyílik fel.
   A fejléc kosárikonja és a telefonos ragadós sáv is ezt nyitja. */
.kosarfiok-hatter { position: fixed; inset: 0; z-index: 90; background: rgba(43, 32, 22, .45); opacity: 0; transition: opacity .25s ease; }
.kosarfiok-hatter.is-nyitva { opacity: 1; }
.kosarfiok-hatter[hidden] { display: none; }
html.kosarfiok-nyitva { overflow: hidden; }

.kosarfiok {
  position: fixed; z-index: 91; display: flex; flex-direction: column;
  background: var(--paper); color: var(--ink);
  box-shadow: 0 0 40px rgba(43, 32, 22, .3);
  transition: transform .26s ease;
}
.kosarfiok[hidden] { display: none; }

/* telefon: alulról felnyíló lap */
.kosarfiok { left: 0; right: 0; bottom: 0; max-height: 86vh; border-top: 3px solid var(--ink); transform: translateY(100%); }
.kosarfiok.is-nyitva { transform: translateY(0); }

/* asztali gép: jobbról becsúszó fiók */
@media (min-width: 761px) {
  .kosarfiok { left: auto; top: 0; bottom: 0; width: min(420px, 92vw); max-height: none; border-top: 0; border-left: 3px solid var(--ink); transform: translateX(100%); }
  .kosarfiok.is-nyitva { transform: translateX(0); }
}

.kosarfiok__fej { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 2px dashed var(--line); }
.kosarfiok__cim { margin: 0; font: 400 1.35rem/1.1 var(--display); }
.kosarfiok__zar { border: 0; background: none; color: var(--ink); font-size: 1.3rem; line-height: 1; padding: .35rem .5rem; cursor: pointer; }
.kosarfiok__zar:hover { color: var(--barn); }
.kosarfiok__test { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 1rem 1.1rem calc(1.1rem + var(--safe-b, 0px)); }

.kosarfiok__lista { list-style: none; margin: 0 0 1rem; padding: 0; }
.kosarfiok__tetel { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto auto; gap: .2rem .7rem; align-items: start; padding: .75rem 0; border-bottom: 1px dashed var(--line); }
.kosarfiok__tetel.is-hiba { background: #FBEFE6; }
.kosarfiok__kep { grid-row: span 2; }
.kosarfiok__kep img { width: 64px; height: 64px; object-fit: cover; display: block; outline: 1px solid var(--line); }
.kosarfiok__kep span { display: grid; place-items: center; width: 64px; height: 64px; background: var(--kraft); font-size: 1.5rem; }
.kosarfiok__adat { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.kosarfiok__nev { font: 400 1rem/1.25 var(--display); color: var(--ink); text-decoration: none; }
.kosarfiok__nev:hover { color: var(--barn); text-decoration: underline; }
.kosarfiok__valtozat { font-size: .82rem; color: var(--moss); }
.kosarfiok__hiba { font-size: .8rem; color: var(--barn); }
.kosarfiok__osszeg { white-space: nowrap; font-size: .95rem; }
.kosarfiok__torol { margin: 0; }
.kosarfiok__torol button { background: none; border: 0; cursor: pointer; padding: .1rem .3rem; }

.kosarfiok__lab { padding-top: .9rem; }
.kosarfiok__osszesen { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 .3rem; font-family: var(--display); font-size: 1.1rem; }
.kosarfiok__gombok { display: grid; gap: .5rem; margin-top: .9rem; }
.kosarfiok__gombok .btn { width: 100%; text-align: center; }
.kosarfiok__ures { text-align: center; padding: 1.5rem 0; }
.kosarfiok__uresCim { font: 400 1.2rem/1.2 var(--display); margin: 0 0 .4rem; }
.kosarfiok .ingysav { margin: 0 0 .5rem; }

@media (prefers-reduced-motion: reduce) {
  .kosarfiok, .kosarfiok-hatter { transition: none; }
}

/* ===================================================================
   Webshop bővítés: kategóriák, szűrők, lapozás, szett, videó, farmer-vélemény
   =================================================================== */

/* --- Kategóriasáv --------------------------------------------------- */
.katsav { padding-top: .75rem; }
.katsav__lista { list-style: none; margin: 0; padding: 0 0 .35rem; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.katsav__elem { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; padding: .45rem .8rem .4rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--moss); color: var(--ink); text-decoration: none; font-size: .95rem; transition: transform .12s, box-shadow .12s; }
.katsav__elem:hover { color: var(--barn); }
@media (hover: hover) { .katsav__elem:hover { transform: translateY(-2px); box-shadow: 4px 5px 0 var(--moss); } }
.katsav__elem.is-aktiv { background: var(--ink); color: var(--paper); box-shadow: 3px 3px 0 var(--yolk); }
.katsav__elem.is-aktiv:hover { color: var(--paper); }
.katsav__elem--al { font-size: .88rem; padding-left: 1.2rem; }
.katsav__ikon { font-size: 1.05em; line-height: 1; }
.katsav__db { font-size: .78rem; opacity: .7; font-variant-numeric: tabular-nums; }
@media (min-width: 900px) { .katsav__lista { flex-wrap: wrap; overflow: visible; } }

/* --- Szűrősáv ------------------------------------------------------- */
.boltszuro { margin: 0 0 1.5rem; padding: .85rem 1rem 1rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--moss); }
.boltszuro__sor { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.boltszuro__kereso { flex: 1 1 14rem; min-width: 0; }
.boltszuro__kereso input { width: 100%; }
.boltszuro input[type="search"], .boltszuro input[type="number"], .boltszuro select { font: inherit; font-size: .95rem; padding: .5rem .6rem; border: 2px solid var(--ink); background: #fff; color: var(--ink); border-radius: 0; }
.boltszuro__rend select { max-width: 100%; }
.boltszuro__nyit { flex: 0 0 auto; }
.boltszuro__nyit .badge { display: inline-block; width: .55rem; height: .55rem; min-width: 0; padding: 0; margin-left: .15rem; vertical-align: .1em; background: var(--barn); border-radius: 50%; font-size: 0; line-height: 0; color: transparent; }
.boltszuro__reszlet { margin-top: .85rem; padding-top: .85rem; border-top: 2px dashed var(--line); display: grid; gap: .7rem; }
.boltszuro__reszlet[hidden] { display: none; }
.boltszuro__ar { border: 0; margin: 0; padding: 0; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.boltszuro__ar legend { font-weight: 700; font-size: .92rem; padding: 0; margin-bottom: .3rem; float: left; width: 100%; }
.boltszuro__ar input { width: 7rem; max-width: 40vw; }
.boltszuro__jelolo { margin: 0; }
.boltszuro__gombok { display: flex; gap: .5rem; flex-wrap: wrap; }
.boltszuro__talalat { margin: .7rem 0 0; color: var(--ink-soft); }
@media (min-width: 760px) {
  .boltszuro__reszlet { grid-template-columns: auto auto auto 1fr; align-items: center; gap: 1.2rem; }
  .boltszuro__ar legend { float: none; width: auto; margin: 0 .4rem 0 0; }
  .boltszuro__gombok { justify-content: flex-end; }
}

/* --- Lapozó --------------------------------------------------------- */
.lapozo { margin-top: 2rem; display: flex; align-items: center; justify-content: center; gap: .6rem; flex-wrap: wrap; }
.lapozo__szamok { list-style: none; display: flex; gap: .35rem; margin: 0; padding: 0; flex-wrap: wrap; justify-content: center; }
.lapozo__szam { display: grid; place-items: center; min-width: var(--tap); min-height: var(--tap); padding: 0 .5rem; background: var(--paper); border: 2px solid var(--ink); color: var(--ink); text-decoration: none; font-variant-numeric: tabular-nums; }
.lapozo__szam.is-aktiv { background: var(--ink); color: var(--paper); }
.lapozo__tores { display: grid; place-items: center; min-width: 1.4rem; min-height: var(--tap); color: var(--ink-soft); }
.katleiras { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 2px solid var(--line); }

/* --- Szett (termékcsomag) ------------------------------------------- */
.termekcimke--szett { background: var(--yolk); color: var(--ink); }
.szettdoboz { margin: 1.1rem 0; border: 2px solid var(--ink); background: var(--paper); box-shadow: 4px 4px 0 var(--yolk); }
.szettdoboz__fej { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; flex-wrap: wrap; padding: .75rem 1rem; border-bottom: 2px solid var(--ink); background: rgba(212, 154, 42, .18); }
.szettdoboz__cim { font: 400 1.1rem/1.2 var(--display); margin: 0; }
.szettdoboz__megtakaritas { font-weight: 700; color: var(--barn); white-space: nowrap; }
.szettlista { list-style: none; margin: 0; padding: .5rem 1rem 1rem; display: grid; gap: .5rem; }
.szettlista li { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: .7rem; }
.szettlista img { width: 44px; height: 44px; object-fit: cover; border: 2px solid var(--ink); display: block; }
.szettlista__nokep { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--line); }
.szettlista__nev { min-width: 0; }
.szettlista__nev a { color: var(--ink); }
.szettlista__db { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* --- „Ezt mi is használjuk a farmon” -------------------------------- */
.farmerdoboz { margin: 1.5rem 0 0; border: 2px solid var(--ink); background: var(--paper); box-shadow: 6px 6px 0 var(--moss); overflow: hidden; }
.farmerdoboz__fej { display: flex; align-items: center; gap: .6rem; padding: .7rem 1rem; background: var(--moss); color: var(--paper); }
.farmerdoboz__jelveny { font: 400 1rem/1.15 var(--display); margin: 0; }
.farmerdoboz__ota { margin-left: auto; font-size: .85rem; opacity: .9; white-space: nowrap; }
.farmerdoboz__test { display: grid; gap: 1rem; padding: 1rem; }
.farmerdoboz__kep { margin: 0; }
.farmerdoboz__kep img { width: 100%; height: auto; display: block; border: 2px solid var(--ink); }
.farmerdoboz__szoveg { margin: 0 0 .85rem; }
.farmerdoboz__szoveg:last-child { margin-bottom: 0; }
.farmerlistak { display: grid; gap: .85rem; }
.farmerlista { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.farmerlista__cim { font-weight: 700; font-size: .92rem; margin: 0 0 .25rem; }
.farmerlista li { display: grid; grid-template-columns: 1.3em minmax(0, 1fr); gap: .25rem; font-size: .95rem; line-height: 1.45; }
.farmerlista--jo li::before { content: "✓"; color: #3E6B2F; font-weight: 700; }
.farmerlista--nem li::before { content: "✗"; color: var(--barn); font-weight: 700; }
@media (min-width: 700px) {
  .farmerdoboz__test { grid-template-columns: 200px minmax(0, 1fr); align-items: start; }
  .farmerdoboz__test--kep_nelkul { grid-template-columns: minmax(0, 1fr); }
  .farmerlistak { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Termékvideó ---------------------------------------------------- */
.termekvideo { margin: 1.5rem 0 0; }
/* a .prose-on kívül is kell az arány, különben a lejátszódoboz összelapul */
.termekvideo .video { position: relative; width: 100%; aspect-ratio: 16 / 9; background: var(--ink); border: 2px solid var(--ink); box-shadow: 5px 5px 0 var(--moss); }
.termekvideo .video--portrait { aspect-ratio: 9 / 16; }
.termekvideo .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.termekvideo__alair { margin: .5rem 0 0; color: var(--ink-soft); }
.termekvideo--allo { max-width: 340px; }
.termekvideo--allo .video { margin-inline: 0; }
@media (min-width: 700px) { .termekvideo--allo { max-width: 300px; } }

/* --- Ajánló („ehhez szokták venni”) --------------------------------- */
.ajanlo { margin: 1.75rem 0 0; }
.ajanlo__cim { font: 400 1.2rem/1.2 var(--display); margin: 0 0 .8rem; }
.ajanlosor { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
/* kép + szöveg egy sorban, a gomb alattuk teljes szélességben: így szűk oszlopban sem csúszik egymásra,
   és telefonon nagy, biztosan eltalálható gombfelület lesz belőle */
.ajanlosor li { display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "kep test" "gomb gomb"; align-items: center; gap: .6rem .8rem; padding: .6rem; background: var(--paper); border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--moss); }
.ajanlosor img, .ajanlosor__nokep { grid-area: kep; }
.ajanlosor__test { grid-area: test; }
.ajanlosor li > form, .ajanlosor li > .btn { grid-area: gomb; }
.ajanlosor img { width: 64px; height: 64px; object-fit: cover; border: 2px solid var(--ink); display: block; }
.ajanlosor__nokep { display: grid; place-items: center; width: 64px; height: 64px; border: 2px solid var(--line); font-size: 1.4rem; }
.ajanlosor__test { min-width: 0; display: grid; gap: .15rem; }
.ajanlosor__nev { font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
/* A terméknév a sor fő hivatkozása – telefonon ujjal is el kell találni */
.ajanlosor__nev a { color: var(--ink); text-decoration: none; display: inline-block; min-height: var(--tap); padding: .55rem 0; }
@media (min-width: 620px) { .ajanlosor__nev a { min-height: 0; padding: 0; } }
.ajanlosor__nev a:hover { color: var(--barn); text-decoration: underline; }
.ajanlosor__ar { font: 400 1.05rem/1 var(--display); color: var(--barn); }
/* szállítási figyelmeztetés és visszajelzés az ajánlott termék alatt */
.ajanlosor__szallitas { display: block; color: var(--barn); line-height: 1.3; margin-top: .15rem; }
.ajanlosor__uzenet { display: block; line-height: 1.3; margin-top: .15rem; color: var(--muted); }
.ajanlosor form { margin: 0; display: flex; }
.ajanlosor .btn { flex: 1; width: 100%; font-size: .92rem; padding: .6rem .8rem .5rem; }
/* a lap alján, teljes szélességben kettesével fér el – a termékoldal szűk oszlopában viszont nem */
@media (min-width: 620px) { .ajanlo--also .ajanlosor { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .ajanlo--also .ajanlosor { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ajanlo--also { margin-top: 2.25rem; padding-top: 1.5rem; border-top: 2px solid var(--line); }

/* --- Beszerzési átfutás és csomagjelzések --------------------------- */
.atfutas { display: inline-flex; align-items: center; gap: .4rem; margin: .35rem 0 0; padding: .3rem .6rem .25rem; font-size: .88rem; font-weight: 700; border: 2px solid var(--ink); background: var(--paper); }
.atfutas--raktaron { background: rgba(62, 107, 47, .15); }
.atfutas--beszerzes { background: rgba(212, 154, 42, .2); }
.csomagjelzes { margin: .6rem 0 0; padding: .55rem .8rem; font-size: .9rem; background: rgba(212, 154, 42, .16); border-left: 4px solid var(--yolk); }
.osszesito__atfutas { margin: .6rem 0; padding: .55rem .7rem; font-size: .88rem; background: rgba(76, 90, 43, .12); border-left: 4px solid var(--moss); }
.penztar .valaszto.is-tiltott { opacity: .55; }
.valaszto__tiltas { display: block; font-size: .85rem; color: var(--barn); font-weight: 700; margin-top: .2rem; }

/* =========== Szállítási díj becslése a termékoldalon =========== */
.szallbecsles { margin: .9rem 0; border: 2px solid var(--line); background: #fff; }
.szallbecsles > summary {
  display: flex; align-items: center; gap: .5rem; min-height: var(--tap);
  padding: .5rem .8rem; cursor: pointer; font-weight: 700; list-style: none;
}
.szallbecsles > summary::-webkit-details-marker { display: none; }
.szallbecsles > summary::after {
  content: '▾'; margin-left: auto; flex: none; display: grid; place-items: center;
  width: 1.6rem; height: 1.6rem; font-size: .9rem; color: var(--paper); background: var(--barn);
  border-radius: 50%; transition: transform .15s ease;
}
.szallbecsles[open] > summary::after { transform: rotate(180deg); }
@media (hover: hover) { .szallbecsles > summary:hover { background: rgba(212, 154, 42, .18); } }
.szallbecsles > summary:focus-visible { outline: 2px solid var(--yolk); outline-offset: -2px; }
.szallbecsles__lista { list-style: none; margin: 0; padding: 0 .8rem; }
.szallbecsles__lista li {
  display: flex; align-items: baseline; justify-content: space-between; gap: .75rem;
  padding: .4rem 0; border-top: 1px dashed var(--line);
}
.szallbecsles__nev { min-width: 0; overflow-wrap: anywhere; }
.szallbecsles__ar { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.szallbecsles__lab { margin: .5rem 0 0; padding: .6rem .8rem; font-size: .88rem; color: var(--ink-soft); background: var(--paper); }

/* =========== Baromfitartó kalkulátor =========== */
.kalkhead__kicker { font-size: .82rem; letter-spacing: .2em; text-transform: uppercase; color: var(--barn); margin: 0 0 .3rem; }
.kalkhead__bizalom {
  display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; list-style: none;
  margin: 1rem 0 0; padding: 0; font-size: .92rem; color: var(--ink-soft);
}
.kalkhead__bizalom li { display: flex; align-items: center; gap: .35rem; }

/* --- az űrlap --- */
.kalkwrap { margin: 2rem auto; }
.kalk { background: var(--paper); border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); padding: 1.1rem; }
@media (min-width: 620px) { .kalk { padding: 1.6rem 1.8rem; } }
.kalk__cim { margin: 0 0 1rem; font-size: clamp(1.3rem, 4vw, 1.7rem); }
.kalk__mezo { border: 0; margin: 0 0 1.2rem; padding: 0; }
.kalk__mezo legend { font-weight: 700; margin-bottom: .5rem; padding: 0; }
.kalk__sugo { margin: -.3rem 0 .5rem; color: var(--ink-soft); }
.kalk__valaszok { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); }
.kalkvalasz {
  display: flex; flex-direction: column; align-items: center; gap: .3rem; text-align: center;
  min-height: 5.5rem; padding: .7rem .5rem; cursor: pointer;
  background: #fff; border: 2px solid var(--line); transition: border-color .12s ease, transform .12s ease;
}
.kalkvalasz:hover { border-color: var(--ink); }
.kalkvalasz input { position: absolute; opacity: 0; width: 0; height: 0; }
.kalkvalasz__ikon { font-size: 1.8rem; line-height: 1; }
.kalkvalasz__szoveg { font-size: .92rem; line-height: 1.25; }
.kalkvalasz:has(input:checked) { border-color: var(--barn); background: rgba(138, 47, 36, .08); box-shadow: inset 0 -4px 0 var(--barn); }
.kalkvalasz:has(input:focus-visible) { outline: 3px solid var(--yolk); outline-offset: 2px; }

.kalk__sorok { display: grid; gap: .75rem; margin-bottom: 1.2rem; }
@media (min-width: 560px) { .kalk__sorok { grid-template-columns: 1fr 1.4fr; align-items: end; } }
.kalk__sorok .field span { display: block; font-weight: 700; margin-bottom: .3rem; }
.kalk__sorok input, .kalk__sorok select { width: 100%; min-height: var(--tap); font: inherit; padding: .5rem .6rem; border: 2px solid var(--ink); background: #fff; color: var(--ink); border-radius: 0; -webkit-appearance: none; appearance: none; }
.kalk__sorok select { background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 1.05rem) 55%, calc(100% - .65rem) 55%; background-size: .4rem .4rem, .4rem .4rem; background-repeat: no-repeat; padding-right: 2rem; }
.kalk__darab input { font-size: 1.3rem; font-weight: 700; text-align: center; }

.kalk__jelolok { display: grid; gap: .25rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.kalkjelolo { display: flex; align-items: center; gap: .5rem; min-height: var(--tap); cursor: pointer; }
.kalkjelolo input { flex: none; width: 1.1rem; height: 1.1rem; }
.kalkjelolo--kiemelt { margin-top: .5rem; padding: .5rem .7rem; background: rgba(212, 154, 42, .18); border-left: 4px solid var(--yolk); }
.kalk__lab { margin-top: 1.2rem; text-align: center; }
.kalk__lab .small { margin: .6rem 0 0; }
.btn--nagy { font-size: 1.05rem; padding: .95rem 1.8rem .88rem; }
@media (max-width: 460px) { .btn--nagy { width: 100%; } }

/* --- eredmény --- */
.kalkeredmeny { margin: 2rem auto 0; scroll-margin-top: 1rem; }
.kalkeredmeny__fej { text-align: center; margin-bottom: 1.4rem; }
.kalkeredmeny__kicker { font-size: .82rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 .3rem; }
.kalkeredmeny__cim { font-size: clamp(1.4rem, 5vw, 2.1rem); margin: 0 0 .4rem; }
.kalkeredmeny__al { color: var(--ink-soft); margin: 0; }

.kalkracs { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); list-style: none; margin: 0 0 2rem; padding: 0; }
.kalkkartya { background: #fff; border: 2px solid var(--ink); padding: .8rem .9rem; }
.kalkkartya__cim { margin: 0; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.kalkkartya__szam { margin: .15rem 0 .1rem; font-family: var(--display); font-size: 1.75rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kalkkartya__szam span { font-family: var(--text); font-size: .92rem; font-weight: 400; color: var(--ink-soft); }
.kalkkartya__al { margin: 0; font-size: .85rem; color: var(--ink-soft); }
.kalkkartya__al--figyelem { color: var(--barn); font-weight: 700; }

/* --- termékajánlás --- */
.kalkajanlo { background: var(--paper); border: 3px solid var(--ink); padding: 1.1rem; margin-bottom: 2rem; }
@media (min-width: 620px) { .kalkajanlo { padding: 1.6rem 1.8rem; } }
.kalkajanlo__fej h2 { margin: 0 0 .3rem; font-size: clamp(1.25rem, 4vw, 1.6rem); }
.kalkajanlo__lead { margin: 0 0 1rem; color: var(--ink-soft); }
.kalklista { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.kalksor { background: #fff; border: 2px solid var(--line); padding: .8rem .9rem; }
.kalksor__fej { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; margin-bottom: .6rem; padding-bottom: .5rem; border-bottom: 1px dashed var(--line); }
.kalksor__szerep { margin: 0; font-weight: 700; }
.kalksor__kell { margin: 0; font-size: .9rem; color: var(--barn); }
.kalksor__termek { display: grid; grid-template-columns: auto 1fr; gap: .6rem .8rem; align-items: start; }
.kalksor__kep { grid-row: span 2; line-height: 0; }
.kalksor__kep img { width: 72px; height: 72px; object-fit: cover; border: 1px solid var(--line); }
.kalksor__test { min-width: 0; }
.kalksor__nev { margin: 0 0 .15rem; font-weight: 700; overflow-wrap: anywhere; }
.kalksor__ar { margin: 0 0 .25rem; font-variant-numeric: tabular-nums; }
.kalksor__osszesen { color: var(--ink-soft); }
.kalksor__miert { margin: 0; color: var(--ink-soft); }
/* darabszám + „csak ezt kérem” gomb egy blokkban: a látogató soronként is vásárolhat */
.kalksor__akcio { grid-column: 2; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.kalksor__db { display: flex; align-items: center; gap: .5rem; }
.kalksor__db input { width: 4.5rem; min-height: var(--tap); text-align: center; font-weight: 700; }
.kalksor__gomb { white-space: nowrap; }
.kalksor__uzenet { margin: .5rem 0 0; color: var(--moss); font-weight: 700; }
.kalksor__uzenet a { color: var(--barn); }
.kalksor__uzenet--hiba { color: var(--barn); }
.kalksor__tovabbi { margin: .5rem 0 0; color: var(--ink-soft); }
@media (min-width: 620px) {
  .kalksor__termek { grid-template-columns: auto 1fr auto; align-items: center; }
  .kalksor__kep { grid-row: auto; }
  .kalksor__akcio { grid-column: auto; flex-direction: column; align-items: stretch; gap: .45rem; }
  .kalksor__db { flex-direction: column; gap: .15rem; }
}
/* Telefonon tömörebb sorok, hogy a vásárlási gomb közelebb maradjon */
@media (max-width: 619px) {
  .kalksor { padding: .65rem .7rem; }
  .kalksor__kep img { width: 56px; height: 56px; }
  .kalksor__fej { margin-bottom: .45rem; padding-bottom: .4rem; }
  .kalksor__miert { font-size: .85rem; }
  .kalklista { gap: .55rem; }
}

.kalkcta { margin-top: 1.2rem; padding-top: 1rem; border-top: 3px double var(--ink); text-align: center; }
/* A felső gombsor azért kell, hogy telefonon ne kelljen a teljes listát végiggörgetni a vásárláshoz */
.kalkcta--felso { margin-top: 0; margin-bottom: 1rem; padding: .9rem; border-top: 0; background: rgba(212, 154, 42, .16); border: 2px solid var(--yolk); }
.kalkcta--felso .kalkcta__biztositek { margin-top: .5rem; }
.kalkcta__osszeg { margin: 0 0 .7rem; font-size: 1.05rem; }
.kalkcta__osszeg strong { font-size: 1.3rem; }
.kalkcta__biztositek { margin: .7rem 0 0; color: var(--ink-soft); }

.kalkures { background: var(--paper); border: 2px dashed var(--ink); padding: 1.2rem; text-align: center; margin-bottom: 2rem; }
.kalkures__gombok { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin: 1rem 0 0; }

/* --- szakmai magyarázat --- */
.kalktanacs { margin-bottom: 2rem; }
.kalktanacs h2 { font-size: clamp(1.25rem, 4vw, 1.6rem); margin: 0 0 .9rem; }
.kalktanacs__racs { display: grid; gap: .8rem; }
@media (min-width: 700px) { .kalktanacs__racs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kalktanacs__elem { background: #fff; border-left: 4px solid var(--moss); padding: .8rem 1rem; }
.kalktanacs__elem h3 { margin: 0 0 .3rem; font-size: 1.02rem; }
.kalktanacs__elem p { margin: 0; font-size: .95rem; }
.kalktanacs__jegyzet { margin: .9rem 0 0; color: var(--ink-soft); font-style: italic; }

/* „Tedd el a terved”: az eredmény az ablak bezárásával elveszne, ezért itt kínáljuk
   a letöltést és a kiküldést. Két hasáb, telefonon egymás alatt. */
.tervdoboz {
  background: var(--paper); border: 2px solid var(--ink); padding: 1.3rem 1.1rem 1.1rem;
  margin-bottom: 1rem; box-shadow: 5px 5px 0 rgba(43, 32, 22, .13);
}
.tervdoboz__fej { margin: 0 0 .25rem; font-size: .9rem; font-weight: 700; color: var(--barn); letter-spacing: .02em; }
.tervdoboz__cim { margin: 0 0 .4rem; font-size: 1.35rem; }
.tervdoboz__lead { margin: 0 0 1.1rem; max-width: 60ch; }
.tervdoboz__kesz { background: #FFFDF8; border: 2px solid var(--moss); padding: 1rem 1.05rem 1.1rem; }
.tervdoboz__keszlead { margin: .2rem 0 .9rem; font-size: .95rem; color: var(--ink-soft); }
.tervdoboz__fel { background: #FFFDF8; border: 2px solid var(--line); padding: .95rem 1rem 1.05rem; }
.tervdoboz__fel h3 { margin: 0 0 .2rem; font-size: 1.08rem; }
.tervdoboz__fel .small { margin: 0 0 .8rem; font-size: .92rem; color: var(--ink-soft); }
.tervdoboz__fel .btn { margin: 0; }
.tervurlap__sor { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem; margin-bottom: .7rem; }
.tervurlap .field span { display: block; font-size: .9rem; font-weight: 700; margin-bottom: .2rem; }
.tervurlap .field input { width: 100%; padding: .55rem .6rem; border: 2px solid var(--ink); font: inherit; background: #fff; }
.tervurlap .check { margin: .2rem 0 .8rem; font-size: .92rem; }
.tervurlap__jog { margin: .6rem 0 0; font-size: .88rem; color: var(--ink-soft); }
.tervurlap .check span { font-size: .92rem; }
.tervurlap .muted { font-weight: 400; color: var(--ink-soft); }
.tervdoboz__valasz { margin: 0 0 .6rem; padding: .6rem .7rem; border: 2px solid var(--ink); background: #FBF7EE; font-weight: 700; }
.tervdoboz__valasz--ok { border-color: var(--moss); }
.tervdoboz__valasz--hiba { border-color: var(--barn); color: var(--barn); }
@media (min-width: 720px) {
  .tervdoboz { padding: 1.5rem 1.4rem 1.2rem; }
  .tervurlap__sor { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
}

/* --- üres állapot: bizalom és SEO --- */
.kalkinfo { margin: 2.5rem auto; }
.kalkinfo h2 { font-size: clamp(1.3rem, 4vw, 1.7rem); margin: 2rem 0 .7rem; }
.kalkinfo h2:first-child { margin-top: 0; }
.kalknormak { margin: 1.2rem 0; }
.kalknormak h3 { font-size: 1.05rem; margin: 0 0 .5rem; }
.kalknormak table { width: 100%; border-collapse: collapse; background: #fff; }
.kalknormak th, .kalknormak td { padding: .5rem .6rem; border-bottom: 1px solid var(--line); text-align: left; font-size: .95rem; }
.kalknormak thead th { background: var(--paper); font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.kalkgyik { display: grid; gap: .5rem; }
.kalkbizalom { margin-top: 2rem; padding: 1.2rem; background: var(--paper); border: 2px solid var(--ink); }
.kalkbizalom h2 { margin-top: 0; }
.kalkbizalom p:last-child { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 0; }

/* --- a boltban megjelenő beterelő sáv --- */
.kalksav {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem 1rem;
  margin-top: 1rem; padding: .8rem 1rem; background: rgba(212, 154, 42, .18); border-left: 5px solid var(--yolk);
}
.kalksav__szoveg { margin: 0; min-width: 0; }
.termekkartya__tol { font-size: .82rem; font-weight: 400; color: var(--ink-soft); margin-left: .15rem; }

/* ---- iOS nagyítási csapda ----
   A Safari ránagyít az oldalra, ha 16px-nél kisebb betűs mezőbe kattintanak, és utána
   nem nagyít vissza: a vevő egy félig kilógó oldalon próbál tovább gépelni. Ezért
   telefonon minden beviteli mező legalább 16px. A csapdamező (.hp) marad észrevétlen. */
@media (max-width: 760px) {
  /* az osztállyal megcímzett mezőket külön is fel kell sorolni, különben a komponens
     szabálya (nagyobb fajsúly) visszahozza a 16px alatti méretet */
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  select,
  textarea,
  .boltszuro input[type="search"], .boltszuro input[type="number"], .boltszuro select,
  .kosarfiok__kupon input,
  .kalk__sorok input, .kalk__sorok select { font-size: 16px; }
  .hp input { font-size: 13px; }
  /* a szándékosan nagyobb mezők maradjanak nagyok */
  .kalk__darab input { font-size: 1.3rem; }
  .kosarba__db input { font-size: 1.05rem; }
}
@media (min-width: 600px) and (max-width: 760px) {
  .field input, .field textarea { font-size: 1.05rem; }
}

/* Kedvezményből kizárt termék jelzése (termékoldal és kosársor) */
.kuponjelzes {
  display: inline-flex; align-items: center; gap: .4rem; margin: .35rem 0 0;
  padding: .3rem .6rem .25rem; font-size: .88rem; font-weight: 700;
  color: var(--ink); background: rgba(212, 154, 42, .22); border: 2px solid var(--ink);
}
.kuponjelzes--sor { font-weight: 400; font-size: .82rem; padding: .2rem .45rem .15rem; border-width: 1px; }
/* fizetési korlát: ugyanaz a tábla, csak hűvösebb színnel – nem kedvezmény, hanem feltétel */
.fizetesjelzes { background: rgba(43, 32, 22, .08); }
.fiztiltas { margin: .5rem 0 0; }

/* =========================================================
   HIRDETÉSI CÉLOLDAL (ajanlat-keltetogep.php)
   Egy oldal – egy cél. A menü és a gyorssáv a „csupasz” módban
   elmarad (lásd inc/header.php, inc/footer.php), helyettük
   telefonon egy ragadós sáv viszi a fő gombot a hüvelykujj alá.
   ========================================================= */

.masthead--csupasz .masthead__in { justify-content: space-between; }
.masthead__bizalom { margin: 0; font-size: .82rem; color: var(--ink-soft); text-align: right; }
@media (max-width: 479px) { .masthead__bizalom { display: none; } }

/* A rendes lábléc sötét, kerítésdísszel – a céloldalon világos és dísztelen,
   ezért a .footer örökölt színeit és a ::before kerítést is felül kell írni. */
.footer--csupasz { background: var(--kraft); color: var(--ink); border-top: 3px solid var(--ink); padding-top: 2rem; }
.footer--csupasz::before { content: none; }
.footer--csupasz a { color: var(--barn); }
.footer--csupasz .footer__legal { border-top-color: var(--line); }
@media (hover: hover) { .footer--csupasz a:hover { color: var(--ink); } }
.footer__csupasz-in { display: grid; gap: 1.25rem 2rem; grid-template-columns: 1fr; padding-bottom: 1.5rem; }
@media (min-width: 700px) { .footer__csupasz-in { grid-template-columns: 1.4fr 1fr 1.2fr; } }
.footer__csupasz-ceg, .footer__csupasz-kapcsolat { margin: 0; font-size: .9rem; line-height: 1.6; }
.footer__csupasz-jog { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: .9rem; }
.footer__csupasz-jog a { min-height: 44px; display: inline-flex; align-items: center; }

/* a ragadós sáv ne takarja el a lábléc alját telefonon */
@media (max-width: 699px) { body.ajanlatoldal .footer--csupasz { padding-bottom: 5.5rem; } }

/* ---------- Nyitó szakasz ---------- */
.aj-hero { background: var(--paper); border-bottom: 3px solid var(--ink); padding: 1.75rem 0 2.25rem; }
/* Tömör főcímsáv, alatta BALRA a termékfotó, JOBBRA a vásárlódoboz (ár, gomb,
   készlet, előnyök). A kép és az ár is görgetés nélkül látszik – ez a legnagyobb
   konverziós tényező. Telefonon egymás alá csúszik: főcím → kép → vásárlódoboz. */
.aj-hero__fej { max-width: 46rem; margin-bottom: 1.5rem; }
.aj-hero__in { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 900px) {
  .aj-hero { padding: 2.5rem 0 3rem; }
  .aj-hero__in { grid-template-columns: 1.1fr .9fr; gap: 2.5rem; }
}
.aj-hero__kep { margin: 0; }
.aj-hero__kep img { display: block; width: 100%; height: auto; border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--kraft); background: #fff; }

.aj-cimke { display: inline-block; margin: 0 0 .75rem; padding: .35rem .75rem .25rem;
  background: var(--moss); color: #fff; font-size: .78rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; }

.aj-hero h1 { font-size: clamp(1.9rem, 6.6vw, 3.1rem); line-height: 1.06; margin: 0 0 .6rem; }
.aj-hero h1 em { font-style: normal; color: var(--barn); }
.aj-lead { font-size: 1.06rem; line-height: 1.55; margin: 0; color: var(--ink-soft); }

/* ---------- Vásárlódoboz ---------- */
.aj-vasarlo { background: #fff; border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); padding: 1.15rem; }
@media (min-width: 900px) { .aj-vasarlo { padding: 1.5rem; position: sticky; top: calc(var(--head-h) + 14px); } }
.aj-vasarlo__cimke { display: inline-block; margin-bottom: .6rem; padding: .25rem .6rem .15rem;
  background: var(--yolk); border: 2px solid var(--ink); font-size: .8rem; font-weight: 700; }

.aj-ar { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem .7rem; margin-bottom: .9rem; }
.aj-ar__regi { color: var(--ink-soft); font-size: 1.05rem; }
.aj-ar__most { font-family: var(--display); font-weight: 400; font-size: clamp(2rem, 7vw, 2.6rem); line-height: 1; color: var(--ink); }
.aj-ar__alatt { margin: .7rem 0 0; font-size: .86rem; color: var(--ink-soft); line-height: 1.5; }

.aj-pipak { list-style: none; margin: 1.1rem 0 0; padding: 1.1rem 0 0; display: grid; gap: .5rem;
  border-top: 2px solid var(--line); }
.aj-pipak li { position: relative; padding-left: 1.75rem; line-height: 1.45; font-size: .95rem; }
.aj-pipak li::before { content: "\2713"; position: absolute; left: 0; top: -.05em;
  color: var(--moss); font-weight: 700; font-size: 1.15em; }

/* ---------- Kapacitássáv ---------- */
.aj-kapacitas { background: var(--ink); color: var(--paper); padding: 1.35rem 0; }
.aj-kapacitas__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: .75rem 1.5rem; text-align: center; }
.aj-kapacitas__cim { margin: 0; font-family: var(--display); font-size: 1.02rem; color: var(--yolk); }
.aj-kapacitas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.75rem; }
.aj-kapacitas li { line-height: 1.2; }
.aj-kapacitas li strong { display: block; font-family: var(--display); font-weight: 400; font-size: 1.5rem; color: var(--paper); }
.aj-kapacitas li span { display: block; font-size: .78rem; opacity: .75; }
.aj-kapacitas__lab { margin: 0; font-size: .82rem; opacity: .7; flex-basis: 100%; }
@media (min-width: 1000px) { .aj-kapacitas__lab { flex-basis: auto; } }

.aj-keszlet { font-weight: 700; }
.aj-keszlet--van, .aj-keszlet--elorendeles { color: var(--moss); }
.aj-keszlet--keves { color: var(--barn); }
.aj-keszlet--elfogyott, .aj-keszlet--hamarosan { color: var(--ink-soft); }

.ajanlatgomb { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
.ajanlatgomb__fo { flex: 1 1 11rem; }
/* Csak a céloldal gombja – a globális .btn--nagy (a kalkulátoré) marad a régi
   méretén. Korábban ez a szabály globális volt, és átírta a kalkulátor gombjait is. */
.ajanlatoldal .btn--nagy { font-size: 1.12rem; padding: 1rem 1.5rem .9rem; min-height: 54px; }
.ajanlatgomb__db { display: inline-flex; align-items: stretch; border: 2px solid var(--ink); background: #fff; flex: 0 0 auto; }
.ajanlatgomb__db button { width: 44px; min-height: 50px; border: 0; background: none; font: 400 1.3rem/1 var(--display); color: var(--ink); cursor: pointer; touch-action: manipulation; }
.ajanlatgomb__db input { width: 3rem; min-height: 50px; border: 0; border-inline: 2px solid var(--ink); text-align: center; font: inherit; background: #fff; -moz-appearance: textfield; }
.ajanlatgomb__db input::-webkit-outer-spin-button, .ajanlatgomb__db input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---------- Szakaszok ---------- */
.aj-szakasz { padding: var(--section) 0; }
.aj-keskeny { max-width: var(--narrow); }
.aj-kozep { text-align: center; }
.aj-szakasz h2 { font-size: clamp(1.4rem, 4.6vw, 2.1rem); line-height: 1.15; margin: 0 0 1rem; }
.aj-szakasz p { line-height: 1.65; }

.aj-problema { background: var(--kraft); border-block: 3px solid var(--ink); }

.aj-racs { display: grid; gap: 1rem; margin-top: 1.75rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .aj-racs { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .aj-racs { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.aj-kartya { background: #fff; border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--kraft); padding: 1.1rem 1.15rem; }
.aj-kartya h3 { font-family: var(--display); font-weight: 400; font-size: 1.1rem; margin: 0 0 .5rem; color: var(--barn); }
.aj-kartya p { margin: 0; font-size: .95rem; }

.aj-galeria-szakasz { background: var(--paper); border-block: 3px solid var(--ink); }
.aj-galeria { display: grid; gap: .75rem; margin-top: 1.5rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .aj-galeria { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
.aj-galeria figure { margin: 0; }
.aj-galeria img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border: 2px solid var(--ink); background: #fff; }

.aj-bizalom { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .9rem; }
@media (min-width: 600px) { .aj-bizalom { grid-template-columns: repeat(2, 1fr); gap: 1.1rem; } }
.aj-bizalom li { border-left: 4px solid var(--yolk); padding-left: .85rem; font-size: .95rem; line-height: 1.5; }

/* ---------- Ajánlat összegző ---------- */
.aj-ajanlat { background: var(--kraft); border-block: 3px solid var(--ink); }
.aj-osszegzo { background: #fff; border: 3px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); padding: 1.25rem; margin-top: 1.5rem; }
@media (min-width: 600px) { .aj-osszegzo { padding: 1.75rem; } }
.aj-osszegzo__fej { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline;
  justify-content: space-between; border-bottom: 2px solid var(--line); padding-bottom: .85rem; margin-bottom: 1rem; }
.aj-osszegzo__fej h3 { font-family: var(--display); font-weight: 400; font-size: 1.15rem; margin: 0; }
.aj-osszegzo__ar { margin: 0; }
.aj-osszegzo__ar s { color: var(--ink-soft); font-size: .95rem; }
.aj-osszegzo__ar strong { font-family: var(--display); font-weight: 400; font-size: 1.55rem; }

.aj-doboz { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .4rem; }
.aj-doboz li { position: relative; padding-left: 1.5rem; font-size: .95rem; }
.aj-doboz li::before { content: ""; position: absolute; left: 0; top: .45em; width: .55rem; height: .55rem;
  background: var(--yolk); border: 1px solid var(--ink); }

.aj-szallitas { background: var(--paper); border: 2px solid var(--line); padding: .85rem 1rem; margin-bottom: 1.25rem; font-size: .92rem; }
.aj-szallitas :last-child { margin-bottom: 0; }
.aj-apro { margin: .75rem 0 0; font-size: .85rem; color: var(--ink-soft); }

/* ---------- GYIK ---------- */
.aj-gyik { border-bottom: 2px solid var(--line); }
.aj-gyik:first-of-type { border-top: 2px solid var(--line); }
.aj-gyik summary { cursor: pointer; padding: 1rem .5rem 1rem 0; font-weight: 700; min-height: var(--tap);
  display: flex; align-items: center; gap: .75rem; list-style: none; }
.aj-gyik summary::-webkit-details-marker { display: none; }
.aj-gyik summary::after { content: "+"; margin-left: auto; font: 400 1.4rem/1 var(--display); color: var(--barn); }
.aj-gyik[open] summary::after { content: "–"; }
.aj-gyik p { margin: 0 0 1rem; font-size: .95rem; }

/* ---------- Záró ---------- */
.aj-zaro { background: var(--ink); color: var(--paper); padding: var(--section) 0; }
.aj-zaro h2 { font-size: clamp(1.5rem, 5vw, 2.2rem); margin: 0 0 .85rem; }
.aj-zaro__ar { margin: 0 0 1.25rem; font-size: 1.05rem; }
.aj-zaro__ar s { opacity: .6; }
.aj-zaro__ar strong { font-family: var(--display); font-weight: 400; font-size: 1.7rem; color: var(--yolk); }
.aj-zaro .aj-keszlet--van, .aj-zaro .aj-keszlet--elorendeles { color: #A8C06A; }
.aj-zaro .aj-keszlet--keves { color: var(--yolk); }
.aj-zaro .ajanlatgomb { justify-content: center; }
.aj-zaro .ajanlatgomb__fo { flex: 0 1 20rem; }
.aj-zaro .aj-apro { color: rgba(243, 235, 216, .75); }
.aj-zaro a { color: var(--yolk); }

/* ---------- Telefonos ragadós sáv ---------- */
.aj-sav {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; align-items: center; gap: .75rem;
  padding: .6rem calc(.85rem + var(--safe-r)) calc(.6rem + var(--safe-b)) calc(.85rem + var(--safe-l));
  background: var(--paper); border-top: 3px solid var(--ink); box-shadow: 0 -4px 14px rgba(43, 32, 22, .18);
}
.aj-sav[hidden] { display: none; }
@media (min-width: 700px) { .aj-sav { display: none !important; } }
.aj-sav__ar { line-height: 1.2; flex: 0 0 auto; }
.aj-sav__ar strong { display: block; font-family: var(--display); font-weight: 400; font-size: 1.15rem; }
.aj-sav__ar span { display: block; font-size: .74rem; color: var(--ink-soft); }
.aj-sav .ajanlatgomb { flex: 1; }
.aj-sav .ajanlatgomb__fo { width: 100%; font-size: 1rem; min-height: 50px; padding: .8rem 1rem .7rem; }

/* =========================================================
   TERMÉKOLDAL – konverziós kiegészítések
   (kockázatcsökkentő blokk, műszaki adatlap, termék-GYIK,
    telefonos ragadós vásárlósáv)
   ========================================================= */

/* ---------- Kockázatcsökkentés a vásárlási gomb alatt ---------- */
.biztosito { list-style: none; margin: 1.1rem 0 .5rem; padding: 1.1rem 0 0; display: grid; gap: .8rem;
  border-top: 2px solid var(--line); }
@media (min-width: 600px) { .biztosito { grid-template-columns: repeat(2, 1fr); gap: .9rem 1.5rem; } }
.biztosito li { position: relative; padding-left: 1.6rem; font-size: .92rem; line-height: 1.45; }
.biztosito li::before { content: "✓"; position: absolute; left: 0; top: -.05em; color: var(--moss); font-weight: 700; font-size: 1.1em; }
.biztosito strong { display: block; }
.biztosito span { color: var(--ink-soft); }

/* ---------- Műszaki adatlap ---------- */
.termek__adatlap { margin-top: var(--section); }
.termek__adatlap h2 { margin-bottom: .9rem; }
.termek__adatlap table { width: 100%; border-collapse: collapse; }
.termek__adatlap th, .termek__adatlap td { text-align: left; vertical-align: top; padding: .6rem .85rem; border-bottom: 1px solid var(--line); }
.termek__adatlap th { width: 42%; max-width: 15rem; font-weight: 700; background: var(--paper); }
.termek__adatlap tr:last-child th, .termek__adatlap tr:last-child td { border-bottom: 0; }

/* ---------- Termékoldali GYIK ---------- */
.termek__gyik { margin-top: var(--section); }
.termek__gyik h2 { margin-bottom: .6rem; }
.pgyik { border-bottom: 1px solid var(--line); }
.pgyik:first-of-type { border-top: 1px solid var(--line); }
.pgyik summary { cursor: pointer; padding: .9rem .5rem .9rem 0; font-weight: 700; min-height: var(--tap);
  display: flex; align-items: center; gap: .75rem; list-style: none; }
.pgyik summary::-webkit-details-marker { display: none; }
.pgyik summary::after { content: "+"; margin-left: auto; font: 400 1.35rem/1 var(--display); color: var(--barn); }
.pgyik[open] summary::after { content: "–"; }
.pgyik p, .pgyik ul { margin: 0 0 .9rem; font-size: .95rem; line-height: 1.6; }
.pgyik ul { padding-left: 1.2rem; }

/* ---------- Telefonos ragadós vásárlósáv ---------- */
.termeksav {
  position: fixed; left: 0; right: 0; z-index: 55;
  /* a telefonos gyorssáv fölé kerül, nem takarja el (annak magassága 58px
     tartalom + 3px keret = 61px; 62-vel marad egy hajszálnyi rés) */
  bottom: calc(62px + var(--safe-b));
  display: flex; align-items: center; gap: .75rem;
  padding: .55rem calc(.85rem + var(--safe-r)) .55rem calc(.85rem + var(--safe-l));
  background: var(--paper); border-top: 2px solid var(--ink); box-shadow: 0 -4px 14px rgba(43, 32, 22, .16);
}
.termeksav[hidden] { display: none; }
@media (min-width: 760px) { .termeksav { display: none !important; } }
.termeksav__ar { line-height: 1.2; flex: 0 0 auto; }
.termeksav__ar strong { display: block; font-family: var(--display); font-weight: 400; font-size: 1.1rem; }
.termeksav__ar .keszlet { font-size: .74rem; }
.termeksav__urlap { flex: 1; margin: 0; }
.termeksav__urlap .btn { width: 100%; min-height: 46px; font-size: .98rem; padding: .7rem 1rem .6rem; }

/* ---------- Termékoldal: fő előnyök és csomagtartalom ---------- */
.termek__elonyok, .termek__csomag { margin-top: var(--section); }
.termek__elonyok h2, .termek__csomag h2 { margin-bottom: .9rem; }
.elonyracs { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
@media (min-width: 600px) { .elonyracs { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
@media (min-width: 1000px) { .elonyracs { grid-template-columns: repeat(3, 1fr); } }
.elonyracs li { background: var(--paper); border: 2px solid var(--ink); box-shadow: 4px 4px 0 var(--kraft);
  padding: .95rem 1.05rem; }
.elonyracs strong { display: block; font-family: var(--display); font-weight: 400; font-size: 1.02rem;
  color: var(--barn); margin-bottom: .35rem; line-height: 1.25; }
.elonyracs span { display: block; font-size: .93rem; line-height: 1.55; color: var(--ink-soft); }

.csomaglista { list-style: none; margin: 0 0 .5rem; padding: 0; display: grid; gap: .4rem; }
@media (min-width: 600px) { .csomaglista { grid-template-columns: repeat(2, 1fr); gap: .4rem 1.5rem; } }
.csomaglista li { position: relative; padding-left: 1.5rem; }
.csomaglista li::before { content: ""; position: absolute; left: 0; top: .45em; width: .55rem; height: .55rem;
  background: var(--yolk); border: 1px solid var(--ink); }
.csomaglista__cim { margin: 1.1rem 0 .5rem; }
.csomaglista--kulon li::before { background: transparent; border-color: var(--barn); }
.csomaglista--kulon li { color: var(--ink-soft); }
