/* ============================================================
   KISKUNYHÓ — főoldal, 2026-09
   Vibe: Editorial Luxury (meleg krém, film-grain, nagy fotók)
   Layout: Editorial Split hero + aszimmetrikus bento
   Tipográfia: kizárólag Poppins (a megrendelő kérésére nincs serif kiemelőfont).
   Márka: piros #DC2731, korall #EC676F.
   Kontraszt: a gombok a sötétebb pirosat kapják (4,8:1 fehér szöveggel),
   a korall csak dekoráció, mert fehérrel csak 3,1:1 lenne.
   ============================================================ */

:root{
  /* OKLCH az elsődleges, hex fallback a régi böngészőknek */
  --red:            #DC2731;   /* oklch(58% 0.21 27)  */
  --red-deep:       #B71C25;   /* oklch(49% 0.19 27)  */
  --coral:          #EC676F;   /* oklch(70% 0.15 20)  */
  --ink:            #1E1B18;   /* oklch(22% 0.01 60)  */
  --ink-soft:       #4A423C;   /* oklch(41% 0.02 60)  */
  --muted:          #6E645C;   /* oklch(52% 0.02 60)  */
  --cream:            #FFFFFF;   /* oklch(99% 0.006 85) */
  --cream-deep:       #FFFFFF;   /* oklch(95% 0.017 80) */
  --sand:           #E8DCCB;   /* oklch(90% 0.028 80) */
  --line:           rgba(30,27,24,.10);
  --white:          #fff;

  --shell: min(1240px, 100% - 2.5rem);
  --r-out: 2rem;
  --r-in: calc(2rem - .375rem);
  --ease: cubic-bezier(.32,.72,0,1);
  --sect: clamp(5.5rem, 10vw, 9.5rem);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:300;
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}

/* film-grain: fix réteg, sosem görgő tartalmon (GPU-barát) */
body::after{
  content:"";
  position:fixed; inset:0; z-index:5;
  pointer-events:none; opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

h1,h2,h3{ font-family:"Poppins",system-ui,sans-serif; font-weight:300; line-height:1.1; letter-spacing:-.035em; margin:0; }
h1{ font-size:clamp(2.6rem,6.2vw,4.9rem); }
h2{ font-size:clamp(2rem,4.1vw,3.35rem); }
h3{ font-size:clamp(1.15rem,1.7vw,1.4rem); font-family:"Poppins",sans-serif; font-weight:500; letter-spacing:0; line-height:1.35; }
p{ margin:0 0 1.15rem; color:var(--ink-soft); }
a{ color:inherit; }
img{ display:block; max-width:100%; height:auto; }

.shell{ width:var(--shell); margin-inline:auto; }
.sect{ padding-block:var(--sect); }

/* apró szekciócímke — csak itt van nagybetűs ritkítás, futó szövegen soha */
.eyebrow{
  display:inline-block; font-family:"Poppins",sans-serif;
  font-size:.66rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--red-deep); background:rgba(220,39,49,.07);
  border-radius:999px; padding:.4rem .85rem; margin-bottom:1.4rem;
}
.lead{ font-size:clamp(1.06rem,1.35vw,1.2rem); color:var(--ink-soft); max-width:56ch; }

/* ---------- gombok: pill + button-in-button ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.85rem;
  font-family:"Poppins",sans-serif; font-size:.94rem; font-weight:500;
  text-decoration:none; border:0; cursor:pointer;
  padding:.72rem .72rem .72rem 1.5rem; border-radius:999px;
  transition:transform .5s var(--ease), background-color .5s var(--ease), box-shadow .5s var(--ease);
}
.btn__ico{
  width:2.1rem; height:2.1rem; border-radius:999px;
  display:grid; place-items:center; flex:none;
  transition:transform .5s var(--ease), background-color .5s var(--ease);
}
.btn svg{ width:.95rem; height:.95rem; }
.btn--primary{ background:var(--red-deep); color:#fff; box-shadow:0 10px 30px -14px rgba(183,28,37,.85); }
.btn--primary .btn__ico{ background:rgba(255,255,255,.17); }
.btn--primary:hover{ background:#a3171f; }
.btn--ghost{ background:rgba(220,39,49,.08); color:var(--red-deep); box-shadow:inset 0 0 0 1px rgba(220,39,49,.22); }
.btn--ghost .btn__ico{ background:rgba(220,39,49,.14); }
.btn--ghost:hover{ background:rgba(220,39,49,.14); }
.btn:hover .btn__ico{ transform:translate(3px,-1px) scale(1.06); }
.btn:active{ transform:scale(.98); }

/* ---------- lebegő üvegpirula navigáció ---------- */
.nav{ position:sticky; top:0; z-index:40; padding:1.1rem 0 0; }
.nav__in{
  width:var(--shell); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.55rem .55rem .55rem 1.15rem; border-radius:999px;
  background:rgba(253,251,247,.78); backdrop-filter:blur(18px) saturate(1.4);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 14px 40px -26px rgba(30,27,24,.55);
  border:1px solid rgba(30,27,24,.06);
}
.nav__logo{ display:flex; align-items:center; gap:.6rem; text-decoration:none; font-family:"Poppins",system-ui,sans-serif; font-size:1.12rem; }
.nav__logo img{ width:26px; height:auto; }
.nav__links{ display:flex; gap:1.6rem; list-style:none; margin:0; padding:0; font-size:.9rem; }
.nav__links a{ text-decoration:none; color:var(--ink-soft); position:relative; padding-block:.2rem; transition:color .4s var(--ease); }
.nav__links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--red); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ transform:scaleX(1); }
.nav__toggle{ display:none; }

/* ---------- HERO: editorial split ---------- */
.hero{ padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem); }
.hero__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:center; }
.hero h1 em{ font-style:normal; font-weight:500; color:var(--red); }
.hero__sub{ margin-top:1.6rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin:2.2rem 0 .5rem; }

/* dupla keret (Doppelrand): külső tálca + belső mag */
.frame{ background:rgba(30,27,24,.045); border:1px solid rgba(30,27,24,.06); border-radius:var(--r-out); padding:.375rem; }
.frame > *{ border-radius:var(--r-in); overflow:hidden; box-shadow:inset 0 1px 1px rgba(255,255,255,.35); }
.hero__media img{ width:100%; height:auto; display:block; }

/* ---------- kiemelt vendégidézet a hero alatt ---------- */
.pull{ padding-block:0 clamp(3rem,6vw,4.5rem); }
.rev-fo{ position:relative; background:var(--white); border-radius:var(--r-out);
      padding:clamp(2.4rem,4vw,3.2rem) clamp(1.8rem,3vw,3rem) 1.8rem; overflow:hidden;
      max-width:54rem; margin-inline:auto;
      box-shadow:0 22px 55px -34px rgba(30,27,24,.5); }
.rev-fo::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:6px;
      background:var(--red); }
.rev-fo .rev__jel{ position:absolute; top:.1rem; left:1.6rem; font-size:6rem; line-height:1;
      color:rgba(220,39,49,.13); pointer-events:none; user-select:none; }
.rev-fo blockquote{ position:relative; margin:0 0 1.8rem;
      font-size:clamp(1.25rem,2.1vw,1.75rem); line-height:1.45; letter-spacing:-.015em;
      color:var(--ink); }
.rev-fo mark{ background:rgba(236,103,111,.28); color:inherit; padding:.05em .18em;
      border-radius:3px; }

/* ---------- bizonyíték-sáv ---------- */
.strip{ background:var(--cream-deep); border-block:1px solid var(--line); }
.strip ul{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; list-style:none; margin:0; padding:2.6rem 0; }
.strip li{ text-align:center; }
.strip b{ display:block; font-family:"Poppins",system-ui,sans-serif; font-size:clamp(1.5rem,2.4vw,2rem); font-weight:500; }
.strip span{ font-size:.82rem; color:var(--muted); }

/* ---------- aszimmetrikus bento ---------- */
/* Képrács: soronként azonos arányú képek, mindegyik a saját arányában.
   Nincs levágás és nincs kitöltetlen sáv. */
.bento{ display:grid; gap:.45rem; }
.bento--3{ grid-template-columns:repeat(3,1fr); }
.bento--2{ grid-template-columns:repeat(2,1fr); }
.bento figure{ margin:0; overflow:hidden; border-radius:10px; }
.bento img{ width:100%; height:auto; display:block;
        transition:transform 1.1s var(--ease); }
.bento figure:hover img{ transform:scale(1.035); }

/* ---------- kártyák ---------- */
.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1rem; margin-top:3rem; }
.card{ background:rgba(30,27,24,.04); border:1px solid rgba(30,27,24,.06); border-radius:var(--r-out); padding:.375rem; }
.card__in{ background:var(--white); border-radius:var(--r-in); padding:1.7rem 1.5rem; height:100%; box-shadow:inset 0 1px 1px rgba(255,255,255,.6); }
.card h3{ margin-bottom:.5rem; }
.card p{ margin:0; font-size:.94rem; }
.card__num{ font-family:"Poppins",system-ui,sans-serif; font-size:.85rem; color:var(--red); display:block; margin-bottom:.7rem; letter-spacing:.05em; }

/* ---------- felszereltség ---------- */
.kit{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.6rem 2.2rem; margin-top:2.6rem; list-style:none; padding:0; }
.kit li{ display:flex; gap:.75rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.95rem; }
.kit svg{ width:1.05rem; height:1.05rem; flex:none; margin-top:.35rem; color:var(--red); }
.kit b{ font-weight:500; }
.kit span{ display:block; font-size:.85rem; color:var(--muted); }

/* ---------- galéria-kapcsoló (Kívül / Belül) ---------- */
.tabs{ position:relative; display:inline-flex; gap:.25rem; padding:.3rem; margin:2rem 0 2.2rem;
       background:rgba(30,27,24,.055); border:1px solid rgba(30,27,24,.06); border-radius:999px; }
.tabs button{ position:relative; z-index:1; border:0; background:none; cursor:pointer;
       font-family:"Poppins",sans-serif; font-size:.92rem; font-weight:500; color:var(--muted);
       padding:.55rem 1.5rem; border-radius:999px; transition:color .45s var(--ease); }
.tabs button.mp-active{ color:#fff; }
.tabs .mp-slider-pill{ background:var(--red-deep); border-radius:999px; }

.gal{ display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; }
.gal figure{ margin:0; overflow:hidden; border-radius:10px; }
.gal img{ width:100%; height:auto; display:block;
      transition:transform 1.1s var(--ease); }
.gal figure:hover img{ transform:scale(1.04); }
.gal[hidden]{ display:none; }

/* ---------- vélemények: kiemelt idézetkártyák ---------- */
.reviews{ background:var(--cream-deep); border-block:1px solid var(--line); }
.rating{ display:flex; align-items:center; gap:.85rem; margin-top:1.4rem; flex-wrap:wrap; }
.rating svg{ width:1.45rem; height:1.45rem; flex:none; }
.rating b{ font-size:2.1rem; font-weight:500; line-height:1; }
.rating p{ margin:0; font-size:.92rem; }

.rev-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr));
      gap:.9rem; margin-top:2.8rem; }
.rev{ background:rgba(255,255,255,.65); border:1px solid var(--line);
      border-radius:var(--r-in); padding:1.5rem 1.4rem 1.2rem; }
.rev blockquote{ margin:0 0 1.1rem; font-size:.95rem; line-height:1.6; color:var(--ink-soft); }

.rev__who{ font-size:.85rem; padding-top:1rem; border-top:1px solid var(--line);
      display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.rev__who b{ font-weight:500; display:block; }
.rev__who span{ color:var(--muted); display:block; font-size:.77rem; margin-top:.1rem; }
.rev__csillag{ color:var(--red); font-size:.82rem; letter-spacing:.08em; white-space:nowrap; }

.social{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:2.4rem; list-style:none; padding:0; }
.social a{ display:inline-flex; align-items:center; gap:.55rem; text-decoration:none;
      font-size:.88rem; color:var(--red-deep); padding:.6rem 1.15rem; border-radius:999px;
      background:rgba(220,39,49,.08); box-shadow:inset 0 0 0 1px rgba(220,39,49,.22);
      transition:background-color .45s var(--ease); }
.social a:hover{ background:rgba(220,39,49,.14); }
.social svg{ width:1rem; height:1rem; }

/* ---------- árak ---------- */
.fogl{ display:grid; grid-template-columns:1fr .9fr; gap:clamp(1.2rem,2vw,2rem); align-items:start; margin-top:2.6rem; }
.fogl h3{ margin-bottom:1rem; }
.fogl__box{ background:var(--ink); color:#F6F1EA; border-radius:var(--r-out); padding:clamp(1.9rem,3.2vw,2.8rem); }
.fogl__box h3{ color:#fff; margin-bottom:.9rem; }
.fogl__box p{ color:rgba(246,241,234,.72); font-size:.95rem; }
.fogl__box .btn{ margin-top:.6rem; }
.fogl__apro{ font-size:.8rem; margin:1.4rem 0 0; line-height:1.6; }
.incl{ list-style:none; margin:0; padding:0; }
.incl li{ display:flex; gap:.7rem; padding:.55rem 0; font-size:.94rem; }
.incl svg{ width:1rem; height:1rem; flex:none; margin-top:.4rem; color:var(--red); }

/* ---------- GY.I.K. ---------- */
.faq{ max-width:60rem; margin-inline:auto; }
.faq [data-mp="accordion"]{ margin-top:2.6rem; }

/* ---------- lábléc ---------- */
.foot{ background:var(--cream-deep); border-top:1px solid var(--line); padding-block:clamp(3.5rem,6vw,5rem) 2rem; }
.foot__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; }
.foot h4{ font-family:"Poppins",sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 1rem; font-weight:500; }
.foot ul{ list-style:none; margin:0; padding:0; font-size:.92rem; }
.foot li{ padding:.3rem 0; }
.foot a{ text-decoration:none; color:var(--ink-soft); transition:color .4s var(--ease); }
.foot a:hover{ color:var(--red-deep); }
.foot__bar{ border-top:1px solid var(--line); margin-top:3rem; padding-top:1.5rem; display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.82rem; color:var(--muted); }

/* ---------- ragadós mobil CTA ---------- */
.bar{
  position:fixed; left:0; right:0; bottom:0; z-index:35; display:none;
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(253,251,247,.9); backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px); border-top:1px solid var(--line);
  align-items:center; justify-content:space-between; gap:1rem;
}
.bar b{ font-family:"Poppins",system-ui,sans-serif; font-size:1.05rem; font-weight:500; }
.bar span{ display:block; font-size:.72rem; color:var(--muted); }

.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:1rem; top:1rem; z-index:60; background:#fff; padding:.7rem 1.1rem; border-radius:8px; }
:focus-visible{ outline:2px solid var(--red-deep); outline-offset:3px; border-radius:4px; }

/* ---------- 900 px alatt: minden egy oszlopba ---------- */
@media (max-width:900px){
  :root{ --shell:min(1240px, 100% - 2rem); }
  .hero__grid, .fogl, .foot__grid{ grid-template-columns:1fr; }
  .hero__media{ order:-1; }
  .strip ul{ grid-template-columns:repeat(2,1fr); gap:1.6rem; padding:2rem 0; }
  .bento--3, .bento--2{ grid-template-columns:repeat(2,1fr); }
  .gal{ grid-template-columns:repeat(2,1fr); }
  .bento > *{ grid-column:span 1 !important; }
  .nav__links{ display:none; }
  .nav__in{ padding:.5rem .5rem .5rem 1rem; }
  .bar{ display:flex; }
  body{ padding-bottom:4.6rem; }
}

/* ---------- galéria-aloldal ----------
   Vegyes arányú képek, ezért oszlopos elrendezés: minden kép a saját arányában
   látszik, nincs levágva és nincs kitöltetlen sáv. */
.gal--full{ display:block; columns:4; column-gap:.45rem; }
.gal--full figure{ break-inside:avoid; margin:0 0 .45rem; border-radius:10px; overflow:hidden; }
.gal--full img{ width:100%; height:auto; display:block; }
.gal__btn{ display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; }
.gal-fej{ padding-block:clamp(2.5rem,6vw,4.5rem) 0; }

/* nagyító */
.lb{ position:fixed; inset:0; z-index:60; display:none; background:rgba(18,16,14,.94);
     align-items:center; justify-content:center; padding:clamp(1rem,4vw,3rem); }
.lb[open]{ display:flex; }
.lb img{ max-width:100%; max-height:88vh; width:auto; border-radius:12px; }
.lb__x, .lb__nav{ position:absolute; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
     color:#fff; width:2.9rem; height:2.9rem; border-radius:999px; cursor:pointer;
     display:grid; place-items:center; transition:background-color .4s var(--ease); }
.lb__x:hover, .lb__nav:hover{ background:rgba(255,255,255,.2); }
.lb__x{ top:1.1rem; right:1.1rem; }
.lb__nav{ top:50%; transform:translateY(-50%); }
.lb__nav--elore{ right:1.1rem; }
.lb__nav--vissza{ left:1.1rem; }
.lb svg{ width:1.1rem; height:1.1rem; }
.lb__db{ position:absolute; bottom:1.2rem; left:50%; transform:translateX(-50%);
     color:rgba(255,255,255,.75); font-size:.85rem; }
@media (max-width:1100px){ .gal--full{ columns:3; } }
@media (max-width:760px){ .gal--full{ columns:2; } }
@media (max-width:900px){ .lb__nav{ width:2.5rem; height:2.5rem; } }

/* ============================================================
   TELJES OLDAL, 2026-09: aloldalak közös elemei
   ============================================================ */

/* aktív menüpont */
.nav__links a[aria-current="page"]{ color:var(--ink); }
.nav__links a[aria-current="page"]::after{ transform:scaleX(1); }

/* mobilmenü */
.nav__toggle{ display:none; width:2.9rem; height:2.9rem; border-radius:999px; border:0; cursor:pointer;
  background:rgba(30,27,24,.06); color:var(--ink); place-items:center; flex:none; }
.nav__toggle svg{ width:1.2rem; height:1.2rem; }
.nav__right{ display:flex; align-items:center; gap:.5rem; }
.mmenu{ display:none; }
@media (max-width:900px){
  .nav__toggle{ display:grid; }
  .nav__cta{ display:none; }
  .mmenu{ width:var(--shell); margin:.5rem auto 0; background:rgba(253,251,247,.97);
    border:1px solid rgba(30,27,24,.08); border-radius:1.4rem; padding:.6rem;
    box-shadow:0 20px 50px -30px rgba(30,27,24,.6); }
  .mmenu[data-open]{ display:block; }
  .mmenu ul{ list-style:none; margin:0; padding:0; }
  .mmenu a{ display:block; padding:.85rem 1rem; border-radius:.9rem; text-decoration:none; font-size:1.02rem; color:var(--ink); }
  .mmenu a[aria-current="page"]{ background:rgba(220,39,49,.08); color:var(--red-deep); }
  .mmenu .btn{ display:flex; justify-content:space-between; margin-top:.4rem; }
}

/* aloldal-fejléc */
.page-head{ padding-block:clamp(2.8rem,6vw,5rem) clamp(2rem,4vw,3rem); }
.page-head .lead{ margin-top:1.4rem; }
.crumbs{ font-size:.82rem; color:var(--muted); margin-bottom:1.2rem; }
.crumbs a{ text-decoration:none; color:var(--muted); }
.crumbs a:hover{ color:var(--red-deep); }

/* két hasábos szöveg + kép */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,4rem); align-items:center; }
.split--rev > :first-child{ order:2; }

/* tényrács (Árak, Rólunk) */
.facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.8rem; margin-top:2.6rem; }
.fact{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-in); padding:1.4rem 1.3rem; }
.fact b{ display:block; font-size:clamp(1.3rem,2vw,1.6rem); font-weight:500; line-height:1.2; margin-bottom:.35rem; }
.fact span{ font-size:.88rem; color:var(--muted); }

/* hosszú jogi szöveg */
.prose{ max-width:46rem; }
.prose h2{ font-size:clamp(1.45rem,2.4vw,1.9rem); margin:3rem 0 1rem; }
.prose h3{ margin:2rem 0 .6rem; }
.prose p, .prose li{ font-size:.98rem; }
.prose ul{ padding-left:1.2rem; margin:0 0 1.15rem; color:var(--ink-soft); }
.prose li{ margin-bottom:.4rem; }
.prose dl{ margin:0 0 1.5rem; border-top:1px solid var(--line); }
.prose dt{ font-weight:500; font-size:.9rem; padding-top:.9rem; }
.prose dd{ margin:0; padding:.2rem 0 .9rem; border-bottom:1px solid var(--line); color:var(--ink-soft); font-size:.95rem; }
.note{ background:var(--cream-deep); border-radius:var(--r-in); padding:1.2rem 1.4rem; font-size:.92rem; margin:1.5rem 0; }

/* kapcsolat */
.contact{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.cinfo{ display:grid; gap:.8rem; }
.cinfo .fact a{ color:var(--red-deep); text-decoration:none; font-weight:500; }
.form{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-out); padding:clamp(1.5rem,3vw,2.4rem); }
.form h2{ font-size:clamp(1.5rem,2.4vw,2rem); margin-bottom:.6rem; }
.fgrid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.4rem; }
.fgrid .full{ grid-column:1 / -1; }
.form label{ display:block; font-size:.86rem; font-weight:500; margin-bottom:.35rem; }
.form input, .form textarea{ width:100%; font:inherit; font-size:1rem; color:var(--ink);
  background:var(--cream); border:1px solid rgba(30,27,24,.16); border-radius:.8rem; padding:.8rem .95rem;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease); }
.form input:focus, .form textarea:focus{ outline:none; border-color:var(--red-deep); box-shadow:0 0 0 3px rgba(220,39,49,.15); }
.form textarea{ min-height:9rem; resize:vertical; }
.form .chk{ display:flex; gap:.6rem; align-items:flex-start; font-weight:300; font-size:.88rem; color:var(--ink-soft); }
.form .chk input{ width:1.1rem; height:1.1rem; margin-top:.3rem; flex:none; accent-color:var(--red-deep); }
.form .chk a{ color:var(--red-deep); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__hiba{ display:none; background:rgba(220,39,49,.08); color:var(--red-deep); border-radius:.8rem; padding:.8rem 1rem; font-size:.9rem; margin-top:1rem; }
.form__hiba[data-show]{ display:block; }
.map{ margin-top:clamp(2.5rem,5vw,4rem); }
.map iframe{ width:100%; height:420px; border:0; display:block; }

/* foglalás */
.booking{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-out); padding:.375rem; }
.booking #appartman-embed-iframe-wrapper{ border-radius:var(--r-in); overflow:hidden; }
.booking iframe{ width:100%; min-height:720px; border:0; display:block; }

/* záró CTA-sáv */
.cta-band{ background:var(--ink); color:#F6F1EA; border-radius:var(--r-out);
  padding:clamp(2.2rem,4vw,3.4rem); display:flex; flex-wrap:wrap; gap:1.5rem; align-items:center; justify-content:space-between; }
.cta-band h2{ color:#fff; font-size:clamp(1.6rem,3vw,2.4rem); }
.cta-band p{ color:rgba(246,241,234,.72); margin:.6rem 0 0; max-width:44ch; }

@media (max-width:900px){
  .split, .contact{ grid-template-columns:1fr; }
  .split--rev > :first-child{ order:0; }
  .fgrid{ grid-template-columns:1fr; }
  .map iframe{ height:320px; }
  .booking iframe{ min-height:640px; }
}

/* GY.I.K.: natív details/summary (a válaszok az oldal szövegében maradnak) */
.faq details{ border-bottom:1px solid var(--line); }
.faq details:first-child{ border-top:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.25rem 0; font-size:clamp(1.02rem,1.4vw,1.15rem); font-weight:500; color:var(--ink); }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; flex:none; width:2rem; height:2rem; border-radius:999px; display:grid; place-items:center;
  background:rgba(220,39,49,.08); color:var(--red-deep); font-weight:400; font-size:1.3rem; line-height:1;
  transition:transform .4s var(--ease); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details > div{ padding:0 3rem 1.4rem 0; color:var(--ink-soft); }

/* aloldali címsor: kiemelés a főoldal stílusában, mobilon kisebb */
.page-head h1 em{ font-style:normal; font-weight:500; color:var(--red); }
@media (max-width:900px){
  .page-head h1{ font-size:clamp(2rem,8.4vw,2.6rem); }
  .page-head .hero__media{ order:0; }
}

/* Google-értékelés fejléc és profilképes vélemények */
.rating__stars{ color:#F4B400; font-size:1.15rem; letter-spacing:.06em; }
.rating p b{ font-size:inherit; font-weight:500; }
.rev__szemely{ display:flex; align-items:center; gap:.7rem; }
.rev__kep{ width:40px; height:40px; border-radius:999px; flex:none; object-fit:cover; }
.rev__who a{ color:inherit; text-decoration:none; }
.rev__who a:hover{ color:var(--red-deep); }
.gr-link{ display:inline-block; margin-top:1.6rem; font-size:.9rem; color:var(--red-deep); }

/* lábléc-címkék: nem címsorok, hogy a H1–H3 sorrend tiszta maradjon */
.foot__h{ font-family:"Poppins",sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:0 0 1rem; font-weight:500; }

/* ajándékutalvány design-választó */
.bento .utalv{ overflow:visible; border-radius:0; }
.bento .utalv img{ border-radius:10px; box-shadow:0 18px 40px -28px rgba(30,27,24,.55); }
.bento .utalv:hover img{ transform:none; }
.utalv figcaption{ padding:.9rem .2rem .6rem; font-size:.98rem; }
.utalv figcaption b{ color:var(--red-deep); font-weight:600; }
@media (max-width:900px){ #designok .bento--2{ grid-template-columns:1fr; } }


/* ============================================================
   2026-09-25, 2. kör: teljes hero-háttér, piros vélemény-blokk, több CTA
   ============================================================ */
.nav{ position:sticky; top:0; z-index:40; }
.hero--kep{ position:relative; isolation:isolate; overflow:hidden; color:#fff;
  margin-top:-5.6rem; min-height:min(94vh,920px); display:flex; align-items:flex-end;
  padding:clamp(8rem,14vw,11rem) 0 clamp(3.5rem,7vw,6rem); }
.hero__bg{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:62% 55%; }
.hero--kep::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(18,15,12,.78) 0%, rgba(18,15,12,.55) 38%, rgba(18,15,12,.08) 72%, rgba(18,15,12,0) 100%),
             linear-gradient(0deg, rgba(18,15,12,.45) 0%, rgba(18,15,12,0) 45%); }
.hero__in{ max-width:var(--shell); }
.hero--kep h1{ color:#fff; max-width:12ch; }
.hero--kep h1 em{ font-style:normal; font-weight:500; color:#FF7A82; }
.hero--kep .lead{ color:rgba(255,255,255,.9); max-width:52ch; }
.btn--vilagos{ background:rgba(255,255,255,.14); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.btn--vilagos .btn__ico{ background:rgba(255,255,255,.18); }
.btn--vilagos:hover{ background:rgba(255,255,255,.24); }
.btn--feher{ background:#fff; color:var(--red-deep); box-shadow:0 10px 30px -14px rgba(0,0,0,.45); }
.btn--feher .btn__ico{ background:rgba(183,28,37,.1); }
.btn--feher:hover{ background:#FFF1F1; }
.cta-sor{ margin-top:2.8rem; }

/* vélemények: Kiskunyhó-piros háttér, fehér szöveg, egyforma kártyák, név alul */
.reviews{ background:var(--red-deep); border:0; color:#fff; }
.reviews h2{ color:#fff; }
.reviews .rating p, .reviews .rating b{ color:#fff; }
.reviews .rating > svg{ background:#fff; border-radius:999px; padding:.35rem; width:2.3rem; height:2.3rem; }
.reviews .rating__stars{ color:#FFD166; }
.reviews .gr-link{ color:#fff; }
.rev-grid{ align-items:stretch; }
.rev{ display:flex; flex-direction:column; background:#fff; border:0; box-shadow:0 18px 40px -28px rgba(0,0,0,.5); }
.rev blockquote{ flex:1 1 auto; color:var(--ink-soft); }
.rev__who{ margin-top:auto; }

/* fehér blokkok elválasztása: vékony vonal a szekciók között */
.sect + .sect, .strip + .sect{ border-top:1px solid var(--line); }
.reviews + .sect, .sect + .reviews{ border-top:0; }
.note{ border:1px solid var(--line); }
.foot{ border-top:1px solid var(--line); }

@media (max-width:900px){
  .hero--kep{ min-height:88vh; margin-top:-5rem; padding-top:7rem; }
  .hero__bg{ object-position:68% 50%; }
  .hero--kep::before{ background:linear-gradient(0deg, rgba(18,15,12,.85) 0%, rgba(18,15,12,.55) 55%, rgba(18,15,12,.2) 100%); }
  .hero--kep h1{ font-size:clamp(2.3rem,10vw,3rem); }
}

/* javítás: a fehér kártyák ne örököljék a piros blokk fehér szövegszínét */
.rev{ color:var(--ink); }
.rev__who b{ color:var(--ink); }
/* hero: erősebb bal oldali sötétítés, keskenyebb szöveg, hogy a jakuzzi jobbra tisztán látsszon */
.hero--kep::before{ background:linear-gradient(90deg, rgba(18,15,12,.86) 0%, rgba(18,15,12,.72) 30%, rgba(18,15,12,.3) 52%, rgba(18,15,12,0) 70%),
             linear-gradient(0deg, rgba(18,15,12,.4) 0%, rgba(18,15,12,0) 40%); }
.hero--kep .lead{ max-width:40ch; }
@media (max-width:900px){
  .hero--kep::before{ background:linear-gradient(0deg, rgba(18,15,12,.85) 0%, rgba(18,15,12,.55) 55%, rgba(18,15,12,.2) 100%); }
}

/* a piros ablakkeretes blokk mobilon is 3 oszlopos: felül a 3 külső, alul a 3 belső kép marad */
@media (max-width:900px){ #a-haz .bento--3{ grid-template-columns:repeat(3,1fr); gap:.35rem; } }

/* ============================================================
   3. kör: vélemények sötétített fotóval, idézet fölé térköz, Árak blokk kitöltése
   ============================================================ */
.pull{ padding-top:clamp(2.8rem,5vw,4.2rem); }

.reviews{ position:relative; isolation:isolate; overflow:hidden; background:#1E1B18; }
.reviews > .sect__bg{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.reviews::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(18,15,12,.82) 0%, rgba(18,15,12,.66) 45%, rgba(18,15,12,.8) 100%); }

/* Árak és foglalás: a bal oszlop is kártya, a lista két hasábban, nincs üres sáv középen */
.fogl{ grid-template-columns:1fr 1fr; gap:1rem; align-items:stretch; }
.fogl > div:first-child{ background:#fff; border:1px solid var(--line); border-radius:var(--r-out);
  padding:clamp(1.9rem,3.2vw,2.8rem); }
.fogl .incl{ display:grid; grid-template-columns:1fr 1fr; gap:0 1.6rem; }
.fogl__box{ display:flex; flex-direction:column; justify-content:center; }
@media (max-width:900px){
  .fogl{ grid-template-columns:1fr; }
  .fogl .incl{ grid-template-columns:1fr; }
}

/* apróbetűk legalább 12,8 px; az Árak kártya gombja ne nyúljon ki */
.foot__h{ font-size:.8rem; }
.bar span{ font-size:.8rem; }
.fogl__box .btn{ align-self:flex-start; }

/* ============================================================
   4. kör: tördelés, térköz az idézet fölött, piros „Az egész ház a tiétek”
   ============================================================ */
/* kiegyensúlyozott címsorok, árva szó nélküli bekezdések (a régi böngészők egyszerűen figyelmen kívül hagyják) */
h1, h2, h3, .cim{ text-wrap:balance; }
p, li, blockquote, summary, .lead{ text-wrap:pretty; }

.pull{ padding-top:clamp(4.5rem,8vw,7rem); }

#miert{ background:var(--red-deep); color:#fff; border-top:0; }
#miert h2{ color:#fff; }
#miert .lead{ color:rgba(255,255,255,.9); }
#miert .card{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.2); }
#miert .card__in{ background:#fff; box-shadow:0 18px 40px -26px rgba(0,0,0,.45); }
#miert + .sect{ border-top:0; }

/* piros blokk az aloldalakon is (ugyanaz, mint a főoldali „Az egész ház a tiétek”) */
.sect--piros{ background:var(--red-deep); color:#fff; border-top:0; }
.sect--piros h2{ color:#fff; }
.sect--piros .lead, .sect--piros > .shell > p{ color:rgba(255,255,255,.9); }
.sect--piros .card{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.2); }
.sect--piros .card__in{ background:#fff; box-shadow:0 18px 40px -26px rgba(0,0,0,.45); }
.sect--piros .card__in a{ color:var(--red-deep) !important; }
.sect--piros .kit li{ border-color:rgba(255,255,255,.22); }
.sect--piros .kit b{ color:#fff; }
.sect--piros .kit span{ color:rgba(255,255,255,.82); }
.sect--piros .kit svg{ color:#fff; }
.sect--piros + .sect{ border-top:0; }
/* gombfelirat soha ne törjön két sorba */
.btn{ white-space:nowrap; }

/* „Amiért érdemes idejönni”: négy programkártya valós helyekkel */
.programok{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1rem; }
.prog{ background:#fff; border:1px solid var(--line); border-radius:var(--r-out); padding:clamp(1.6rem,2.6vw,2.2rem); }
.prog h3{ font-size:clamp(1.3rem,2vw,1.6rem); font-weight:500; margin-bottom:.4rem; }
.prog__al{ margin:0 0 .6rem; font-size:.92rem; color:var(--red-deep); }
.prog ul{ list-style:none; margin:.6rem 0 0; padding:0; }
.prog li{ padding:.95rem 0; border-top:1px solid var(--line); }
.prog li b{ font-weight:500; display:block; }
.prog li b a{ text-decoration:none; color:var(--ink); background-image:linear-gradient(var(--red),var(--red));
  background-size:0 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size .4s var(--ease); }
.prog li b a:hover{ background-size:100% 1px; color:var(--red-deep); }
.prog__hol{ display:block; font-size:.84rem; color:var(--red-deep); margin:.1rem 0 .3rem; }
.prog li p{ margin:0; font-size:.93rem; }
.prog__megj{ margin-top:1.4rem; font-size:.85rem; color:var(--muted); }
@media (max-width:900px){ .programok{ grid-template-columns:1fr; } }

/* a piros blokkok fehér kártyái sötét szöveget kapnak (ne örököljék a blokk fehér betűszínét) */
#miert .card__in, .sect--piros .card__in{ color:var(--ink); }
#miert .card__in h3, .sect--piros .card__in h3{ color:var(--ink); }
#miert .card__in p, .sect--piros .card__in p{ color:var(--ink-soft); }

/* Képek oldal: egyforma 3:2-es rács a kőfal helyett, hogy az oszlopok alja egy vonalban legyen.
   A bélyegkép középre vágott, a nagyító a teljes, vágatlan képet mutatja. */
.gal--full{ display:grid; columns:auto; grid-template-columns:repeat(4,1fr); gap:.45rem; }
.gal--full figure{ margin:0; break-inside:auto; }
.gal--full img{ width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:50% 45%; }
.gal--full[hidden]{ display:none; }
@media (max-width:1100px){ .gal--full{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .gal--full{ grid-template-columns:repeat(2,1fr); } }

/* főoldali képrácsok: egyforma 3:2-es keret (az álló belső képek is beférnek, középre vágva) */
.gal img, #a-haz .bento img{ aspect-ratio:3/2; height:auto; object-fit:cover; object-position:50% 50%; }

/* Árak blokk: tájékoztató ársáv a sötét kártyán */
.arsav{ margin:0 0 1.2rem; padding:1rem 1.2rem; border-radius:1rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }
.fogl__box .arsav b{ display:block; color:#fff; font-size:clamp(1.5rem,2.6vw,2rem); font-weight:500; letter-spacing:-.02em; line-height:1.2; white-space:nowrap; }
.fogl__box .arsav span{ display:block; margin-top:.3rem; font-size:.9rem; color:rgba(246,241,234,.78); }

/* ársáv világos háttéren (Árak aloldal) */
.arsav--vilagos{ background:#fff; border:1px solid var(--line); max-width:34rem; margin:1.8rem 0 0; }
.arsav--vilagos b{ display:block; color:var(--red-deep); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:500; letter-spacing:-.02em; line-height:1.2; white-space:nowrap; }
.arsav--vilagos span{ display:block; margin-top:.3rem; font-size:.92rem; color:var(--ink-soft); }

/* Kívül / Belül váltó: nagyobb, feltűnőbb (hogy ne lehessen átgörgetni rajta) */
.tabs{ padding:.4rem; gap:.35rem; margin:2.2rem 0 2.4rem; background:#fff;
  border:2px solid var(--red-deep); box-shadow:0 14px 34px -20px rgba(183,28,37,.55); }
.tabs button{ font-size:clamp(1.02rem,1.4vw,1.15rem); font-weight:600; color:var(--red-deep);
  padding:.85rem 2.3rem; }
.tabs button:hover{ background:rgba(220,39,49,.08); }
.tabs button.mp-active{ color:#fff; }
.tabs button.mp-active:hover{ background:none; }
@media (max-width:900px){
  .tabs{ display:flex; width:100%; }
  .tabs button{ flex:1; padding:.85rem 1rem; }
}

/* Videó fül: álló (9:16) videó középen */
.videopanel{ display:flex; justify-content:center; }
.videopanel[hidden]{ display:none; }
.videopanel__keret{ position:relative; width:min(420px, 100%); aspect-ratio:9/16; border-radius:18px; overflow:hidden;
  background:#1E1B18; box-shadow:0 24px 60px -30px rgba(30,27,24,.6); }
.videopanel__keret iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
@media (max-width:900px){ .tabs button{ padding:.85rem .6rem; } }
