
/* ==========================================================================
   Nobilia Konyhastúdió — modell (portfolio-item) sablon
   A stílusok mind "nkm-" előtaggal, hogy ne ütközzenek a téma CSS-ével.
   ========================================================================== */

:root{
  --nkm-paper:#F6F4F1; --nkm-sand:#EDE7DF; --nkm-ink:#16181A;
  --nkm-muted:#6E6A63; --nkm-line:#DED8CF; --nkm-red:#E3000F;
  --nkm-brass:#A8804A; --nkm-white:#FFFFFF;
  --nkm-disp:'Fraunces',Georgia,serif;
  --nkm-body:'Inter Tight',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

.nkm-wrap, .nkm-wrap *{ box-sizing:border-box }
.nkm-wrap{ font-family:var(--nkm-body); color:var(--nkm-ink); -webkit-font-smoothing:antialiased }

/* --- tipográfia ---------------------------------------------------------- */
.nkm-h1 .elementor-heading-title,
.nkm-h1{
  font-family:var(--nkm-disp)!important;
  font-weight:400!important;
  font-size:clamp(2.1rem,1.2rem + 2.6vw,3.4rem)!important;
  line-height:1.06!important; letter-spacing:-.015em!important;
  color:var(--nkm-ink)!important; margin:0 0 .5rem!important;
}
.nkm-h2 .elementor-heading-title,
.nkm-h2{
  font-family:var(--nkm-disp)!important;
  font-weight:400!important;
  font-size:clamp(1.6rem,1.1rem + 1.5vw,2.3rem)!important;
  line-height:1.14!important; letter-spacing:-.01em!important;
  color:var(--nkm-ink)!important; margin:0!important;
}
.nkm-eyebrow .elementor-heading-title,
.nkm-eyebrow{
  font-family:var(--nkm-body)!important; font-weight:500!important;
  font-size:.72rem!important; letter-spacing:.16em!important;
  text-transform:uppercase!important; color:var(--nkm-brass)!important;
  line-height:1.6!important; margin:0 0 1.1rem!important;
}
.nkm-eyebrow a{ color:inherit; text-decoration:none }
.nkm-eyebrow a:hover{ text-decoration:underline }
.nkm-sub{ font-size:1.02rem; line-height:1.62; color:var(--nkm-muted); margin:.55rem 0 0 }

/* --- morzsa -------------------------------------------------------------- */
.nkm-morzsa{ font-size:.8rem; color:var(--nkm-muted); letter-spacing:.01em; padding:0 0 1.6rem }
.nkm-morzsa a{ color:var(--nkm-muted); text-decoration:none }
.nkm-morzsa a:hover{ color:var(--nkm-ink) }
.nkm-morzsa span{ margin:0 .45rem; opacity:.5 }
.nkm-morzsa strong{ color:var(--nkm-ink); font-weight:500 }

/* --- galéria ------------------------------------------------------------- */
.nkm-gal{ display:block }
.nkm-gal-fo{
  position:relative; width:100%; aspect-ratio:4/3; overflow:hidden;
  background:var(--nkm-sand); border:1px solid var(--nkm-line);
}
.nkm-gal-fo img{ width:100%; height:100%; object-fit:cover; display:block }
.nkm-gal-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:10px }
.nkm-gal-thumbs button{
  padding:0; border:1px solid var(--nkm-line); background:var(--nkm-sand);
  aspect-ratio:1/1; overflow:hidden; cursor:pointer; transition:border-color .18s ease;
}
.nkm-gal-thumbs button img{ width:100%; height:100%; object-fit:cover; display:block }
.nkm-gal-thumbs button[aria-current="true"]{ border-color:var(--nkm-ink) }
.nkm-gal-thumbs button:hover{ border-color:var(--nkm-brass) }

/* --- adatlap ------------------------------------------------------------- */
.nkm-adatlap{ margin:1.6rem 0 0; border-top:1px solid var(--nkm-line) }
.nkm-adatlap .nkm-sor{
  display:grid; grid-template-columns:34% 1fr; gap:1rem;
  padding:.78rem 0; border-bottom:1px solid var(--nkm-line);
}
.nkm-adatlap dt{
  font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--nkm-muted); font-weight:500; margin:0;
}
.nkm-adatlap dd{ margin:0; font-size:.95rem; line-height:1.5; color:var(--nkm-ink) }

/* --- gombok -------------------------------------------------------------- */
.nkm-gombok{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.7rem }
.nkm-btn .elementor-button{
  font-family:var(--nkm-body)!important; font-size:.9rem!important; font-weight:500!important;
  letter-spacing:.01em!important; border-radius:0!important;
  padding:.95rem 1.6rem!important; line-height:1.2!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease!important;
}
.nkm-btn-primary .elementor-button{
  background-color:var(--nkm-ink)!important; color:#fff!important; border:1px solid var(--nkm-ink)!important;
}
.nkm-btn-primary .elementor-button:hover{
  background-color:var(--nkm-red)!important; border-color:var(--nkm-red)!important; color:#fff!important;
}
.nkm-btn-ghost .elementor-button{
  background-color:transparent!important; color:var(--nkm-ink)!important; border:1px solid var(--nkm-ink)!important;
}
.nkm-btn-ghost .elementor-button:hover{
  background-color:var(--nkm-ink)!important; color:#fff!important;
}
.nkm-btn-light .elementor-button{
  background-color:transparent!important; color:#fff!important; border:1px solid rgba(255,255,255,.45)!important;
}
.nkm-btn-light .elementor-button:hover{ background-color:#fff!important; color:var(--nkm-ink)!important }

/* --- bizalmi sor --------------------------------------------------------- */
.nkm-bizalom{
  display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; margin-top:1.6rem;
  padding-top:1.4rem; border-top:1px solid var(--nkm-line);
  font-size:.82rem; color:var(--nkm-muted);
}
.nkm-bizalom span{ display:inline-flex; align-items:center; gap:.45rem }
.nkm-bizalom svg{ flex:none; color:var(--nkm-brass) }

/* --- összeállítás -------------------------------------------------------- */
.nkm-ossz{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--nkm-line);
  border:1px solid var(--nkm-line); margin-top:2rem }
.nkm-ossz > div{ background:var(--nkm-paper); padding:1.5rem 1.4rem; min-width:0 }
.nkm-ossz dt{
  font-size:.7rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--nkm-brass); font-weight:500; margin:0 0 .5rem;
}
.nkm-ossz dd{ margin:0; font-size:1rem; line-height:1.45; color:var(--nkm-ink) }

/* --- színek -------------------------------------------------------------- */
.nkm-szinek{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.8rem }
.nkm-szin{
  display:inline-flex; align-items:baseline; gap:.5rem;
  border:1px solid var(--nkm-line); background:var(--nkm-white);
  padding:.62rem .95rem; font-size:.9rem; color:var(--nkm-ink);
  text-decoration:none; transition:border-color .18s ease,background-color .18s ease;
}
a.nkm-szin:hover{ border-color:var(--nkm-ink); background:var(--nkm-sand) }
.nkm-szin em{ font-style:normal; font-size:.74rem; color:var(--nkm-muted); letter-spacing:.06em }
.nkm-szin.nkm-ez{ border-color:var(--nkm-ink); background:var(--nkm-ink); color:#fff }
.nkm-szin.nkm-ez em{ color:rgba(255,255,255,.65) }

/* --- leírás -------------------------------------------------------------- */
.nkm-leiras{ font-size:1.02rem; line-height:1.72; color:var(--nkm-muted) }
.nkm-leiras p{ margin:0 0 1rem }
.nkm-leiras strong{ color:var(--nkm-ink); font-weight:500 }

/* --- előnyök sáv --------------------------------------------------------- */
.nkm-elonyok{ display:grid; grid-template-columns:repeat(4,1fr); gap:2.2rem }
.nkm-elonyok > div{ min-width:0 }
.nkm-elonyok h4{
  font-family:var(--nkm-disp); font-weight:400; font-size:1.12rem;
  margin:.9rem 0 .4rem; color:#fff;
}
.nkm-elonyok p{ margin:0; font-size:.88rem; line-height:1.6; color:rgba(255,255,255,.62) }
.nkm-elonyok svg{ color:var(--nkm-brass) }

/* --- kapcsolódó modellek ------------------------------------------------- */
.nkm-kapcs{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2.2rem }
.nkm-kapcs > a{ text-decoration:none; color:inherit; display:block; min-width:0 }
.nkm-kapcs .nkm-kep{
  display:block; aspect-ratio:4/3; overflow:hidden;
  background:var(--nkm-sand); border:1px solid var(--nkm-line);
}
.nkm-kapcs .nkm-kep img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.nkm-kapcs > a:hover .nkm-kep img{ transform:scale(1.045) }
.nkm-kapcs h5{
  font-family:var(--nkm-disp); font-weight:400; font-size:1.06rem;
  margin:.75rem 0 .2rem; color:var(--nkm-ink);
}
.nkm-kapcs small{ font-size:.78rem; color:var(--nkm-muted); letter-spacing:.02em }

/* --- vissza -------------------------------------------------------------- */
.nkm-vissza{ display:inline-flex; align-items:center; gap:.55rem; font-size:.88rem;
  color:var(--nkm-ink); text-decoration:none; border-bottom:1px solid var(--nkm-line);
  padding-bottom:.25rem; transition:border-color .18s ease }
.nkm-vissza:hover{ border-color:var(--nkm-ink) }

/* --- üres állapot (ha egy blokknak nincs adata, ne maradjon lyuk) -------- */
.nkm-ures{ display:none!important }

/* --- reszponzív ---------------------------------------------------------- */
@media (max-width:1024px){
  .nkm-ossz{ grid-template-columns:repeat(2,1fr) }
  .nkm-elonyok{ grid-template-columns:repeat(2,1fr); gap:1.8rem }
  .nkm-kapcs{ grid-template-columns:repeat(3,1fr) }
}
@media (max-width:767px){
  .nkm-ossz{ grid-template-columns:1fr }
  .nkm-elonyok{ grid-template-columns:1fr }
  .nkm-kapcs{ grid-template-columns:repeat(2,1fr); gap:1rem }
  .nkm-adatlap .nkm-sor{ grid-template-columns:1fr; gap:.25rem; padding:.7rem 0 }
  .nkm-gal-thumbs{ grid-template-columns:repeat(4,1fr); gap:8px }
  .nkm-gombok .nkm-btn, .nkm-gombok .nkm-btn .elementor-button{ width:100% }
  .nkm-morzsa{ padding-bottom:1.1rem }
}

/* ==========================================================================
   Modell oldal — elrendezés a PHP sablonhoz
   Minden osztály "nkm-" előtaggal, hogy ne ütközzön sem a témával,
   sem a főoldalak "nk-" designrendszerével.
   ========================================================================== */

.nkm-oldal{ font-family:var(--nkm-body); color:var(--nkm-ink); background:var(--nkm-paper) }
.nkm-oldal *, .nkm-oldal *::before, .nkm-oldal *::after{ box-sizing:border-box }
.nkm-oldal img{ max-width:100%; display:block }
.nkm-oldal a{ color:inherit; text-decoration:none }
.nkm-oldal p{ margin:0 0 1.1em }

.nkm-sec{ padding:74px 24px 78px }
.nkm-sec-hero{ padding:32px 24px 86px }
.nkm-sec-sand{ background:var(--nkm-sand) }
.nkm-sec-ink{ background:var(--nkm-ink) }
.nkm-in{ max-width:1240px; margin:0 auto }

.nkm-hero{ display:flex; gap:56px; align-items:flex-start }
.nkm-hero-bal{ width:56%; min-width:0 }
.nkm-hero-jobb{ width:44%; min-width:0 }

.nkm-cta{ display:flex; gap:48px; align-items:center }
.nkm-cta > div:first-child{ width:58%; min-width:0 }
.nkm-cta-gombok{ width:42%; min-width:0; display:flex; flex-direction:column;
  align-items:flex-start; gap:12px; margin-top:0 }

/* gombok a PHP sablonban (sima <a>, nem Elementor widget) */
.nkm-oldal a.nkm-gomb{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:.95rem 1.6rem; border-radius:0; font-family:var(--nkm-body);
  font-size:.9rem; font-weight:500; letter-spacing:.01em; line-height:1.6;
  border:1px solid transparent; transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
.nkm-oldal a.nkm-gomb-elsodleges{ background:var(--nkm-ink); color:#fff; border-color:var(--nkm-ink) }
.nkm-oldal a.nkm-gomb-elsodleges:hover{ background:var(--nkm-red); border-color:var(--nkm-red) }
.nkm-oldal a.nkm-gomb-korvonal{ background:transparent; color:var(--nkm-ink); border-color:var(--nkm-ink) }
.nkm-oldal a.nkm-gomb-korvonal:hover{ background:var(--nkm-ink); color:#fff }

/* címsorok a PHP sablonban */
.nkm-oldal h1.nkm-h1{
  font-family:var(--nkm-disp); font-weight:400;
  font-size:clamp(2.1rem,1.2rem + 2.6vw,3.4rem);
  line-height:1.06; letter-spacing:-.015em; color:var(--nkm-ink); margin:0 0 .5rem;
}
.nkm-oldal h2.nkm-h2{
  font-family:var(--nkm-disp); font-weight:400;
  font-size:clamp(1.6rem,1.1rem + 1.5vw,2.3rem);
  line-height:1.14; letter-spacing:-.01em; color:var(--nkm-ink); margin:0;
}
.nkm-oldal .nkm-eyebrow{
  font-family:var(--nkm-body); font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--nkm-brass);
  line-height:1.6; margin:0 0 1.1rem;
}
.nkm-sec-ink .nkm-h2{ color:#fff }

@media (max-width:1024px){
  .nkm-hero{ flex-direction:column; gap:40px }
  .nkm-hero-bal, .nkm-hero-jobb{ width:100% }
}
@media (max-width:767px){
  .nkm-sec{ padding:46px 18px 50px }
  .nkm-sec-hero{ padding:24px 18px 44px }
  .nkm-cta{ flex-direction:column; gap:26px; align-items:stretch }
  .nkm-cta > div:first-child, .nkm-cta-gombok{ width:100% }
  .nkm-oldal a.nkm-gomb{ width:100% }
}
