/*!
 * Nobilia Konyhastúdió — fejléc és lábléc.
 * Nem a .nk-page hatókörén belül van, mert a fejléc az oldaltörzsön kívül
 * ül. Ezért minden osztály "nkf-" előtagot kap, és minden szabály explicit.
 * A színek és betűtípusok a nobilia-design.css :root blokkjából jönnek.
 */

.nkf-top, .nkf-head, .nkf-mob, .nkf-foot { box-sizing: border-box }
.nkf-top *, .nkf-head *, .nkf-mob *, .nkf-foot *,
.nkf-top *::before, .nkf-head *::before, .nkf-mob *::before, .nkf-foot *::before,
.nkf-top *::after, .nkf-head *::after, .nkf-mob *::after, .nkf-foot *::after { box-sizing: border-box }

.nkf-in {
  max-width: var(--maxw, 1460px);
  margin: 0 auto;
  padding: 0 var(--pad, 40px);
}

/* ===================== KONTAKT SÁV ===================== */
.nkf-top {
  background: var(--ink, #16181A);
  color: #CFCAC2;
  font-family: var(--sans, sans-serif);
  font-size: 12px;
  letter-spacing: .03em;
}
.nkf-top-in {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 40px; gap: 24px;
}
.nkf-top-l { display: flex; gap: 26px; align-items: center; min-width: 0 }
.nkf-top-l span { display: flex; align-items: center; gap: 8px; white-space: nowrap }
.nkf-top-r { display: flex; gap: 22px; align-items: center }
.nkf-top a { color: inherit; text-decoration: none; transition: color .2s ease }
.nkf-top a:hover { color: #fff }
.nkf-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: #4CAF50; flex: none; display: block;
}

/* ===================== FEJLÉC ===================== */
/* Két sor: felül logó + telefon + CTA, alatta a menü teljes szélességben.
   Azért kétsoros, mert a főmenü nyolc tétele egy sorban nem fér el a logó
   és a gomb mellett — és így akkor sem borul, ha a menü később bővül. */
.nkf-head {
  position: sticky; top: 0; z-index: 400;
  background: var(--paper, #F6F4F1);
  border-bottom: 1px solid var(--line, #DED8CF);
  font-family: var(--sans, sans-serif);
  transition: box-shadow .25s ease;
}
.nkf-head.nkf-arnyek { box-shadow: 0 1px 18px rgba(22, 24, 26, .08) }

.nkf-head-in {
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
  min-height: 78px;
  transition: min-height .22s ease;
}
.nkf-head-nav { border-top: 1px solid var(--line-soft, #EAE5DD) }

/* görgetésnél összehúzódik, hogy ne egyen túl sok helyet */
.nkf-head.nkf-kicsi .nkf-head-in { min-height: 58px }
.nkf-head.nkf-kicsi .nkf-logo img { height: 32px }

/* logó — az éles logó fehér hátterű JPG, ezért a multiply beolvasztja a
   papír háttérbe. Átlátszó PNG/SVG esetén ez a szabály nem zavar. */
.nkf-logo, .nkf-flogo { flex: none; display: inline-flex; align-items: center; text-decoration: none }
.nkf-logo img, .nkf-flogo img {
  display: block; height: 42px; width: auto; max-width: 220px;
  mix-blend-mode: multiply; transition: height .22s ease;
}
.nkf-logo-szoveg {
  font-family: var(--serif, serif); font-size: 22px; font-weight: 400;
  color: var(--ink, #16181A); letter-spacing: -.01em;
}

/* ===================== FŐMENÜ ===================== */
.nkf-nav { display: flex; justify-content: flex-start }
.nkf-head .nkf-menu {
  display: flex; align-items: center; gap: 0; flex-wrap: wrap;
  list-style: none; margin: 0; padding: 0;
}
.nkf-head .nkf-menu > li { position: relative; margin: 0; padding: 0; list-style: none }
.nkf-head .nkf-menu > li:first-child > a { padding-left: 0 }
.nkf-head .nkf-menu > li > a {
  display: block; padding: 14px 15px;
  font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink, #16181A); text-decoration: none; white-space: nowrap;
  transition: color .2s ease;
}
.nkf-head .nkf-menu > li > a:hover,
.nkf-head .nkf-menu > li.current-menu-item > a,
.nkf-head .nkf-menu > li.current-menu-ancestor > a { color: var(--red, #E3000F) }

.nkf-head .nkf-menu > li.menu-item-has-children > a::after {
  content: ''; display: inline-block; margin-left: 7px;
  width: 5px; height: 5px; vertical-align: 2px;
  border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}

/* legördülő */
.nkf-head .nkf-menu .sub-menu {
  position: absolute; top: 100%; left: 0; z-index: 10;
  min-width: 268px; margin: 0; padding: 10px 0;
  list-style: none;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #DED8CF);
  box-shadow: 0 14px 40px rgba(22, 24, 26, .1);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.nkf-head .nkf-menu > li:hover > .sub-menu,
.nkf-head .nkf-menu > li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nkf-head .nkf-menu .sub-menu li { margin: 0; list-style: none }
.nkf-head .nkf-menu .sub-menu a {
  display: block; padding: 10px 20px;
  font-size: 13.5px; letter-spacing: 0; text-transform: none;
  color: var(--ink-soft, #3A3C3E); text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.nkf-head .nkf-menu .sub-menu a:hover { background: var(--sand, #EDE7DF); color: var(--ink, #16181A) }

/* ===================== JOBB OLDAL ===================== */
.nkf-head-r { flex: none; display: flex; align-items: center; gap: 18px }
.nkf-tel {
  font-size: 13.5px; font-weight: 500; color: var(--ink, #16181A);
  text-decoration: none; white-space: nowrap;
}
.nkf-tel:hover { color: var(--red, #E3000F) }

.nkf-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 13px 22px; border-radius: 2px; border: 1px solid transparent;
  background: var(--red, #E3000F); color: #fff;
  font-family: var(--sans, sans-serif); font-size: 11.5px; font-weight: 500;
  letter-spacing: .09em; text-transform: uppercase; text-decoration: none;
  white-space: nowrap; line-height: 1.3;
  transition: background .25s ease;
}
.nkf-btn:hover { background: #B80009; color: #fff }
.nkf-btn-block { width: 100% }

/* hamburger */
.nkf-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 44px; height: 44px; padding: 0 10px; margin: 0;
  background: none; border: 1px solid var(--line, #DED8CF); border-radius: 2px;
  cursor: pointer;
}
.nkf-burger span {
  display: block; height: 1.5px; width: 100%;
  background: var(--ink, #16181A);
  transition: transform .22s ease, opacity .18s ease;
}
.nkf-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg) }
.nkf-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0 }
.nkf-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg) }

/* ===================== MOBIL MENÜ ===================== */
.nkf-mob {
  position: sticky; top: 84px; z-index: 390;
  background: var(--surface, #fff);
  border-bottom: 1px solid var(--line, #DED8CF);
  font-family: var(--sans, sans-serif);
  max-height: calc(100vh - 124px); overflow-y: auto;
}
.nkf-mob[hidden] { display: none }
.nkf-mob .nkf-mmenu { list-style: none; margin: 0; padding: 8px 0 }
.nkf-mob .nkf-mmenu li { margin: 0; list-style: none }
.nkf-mob .nkf-mmenu a {
  display: block; padding: 13px var(--pad, 40px);
  font-size: 14.5px; color: var(--ink, #16181A); text-decoration: none;
  border-bottom: 1px solid var(--line-soft, #EAE5DD);
}
.nkf-mob .nkf-mmenu .sub-menu { list-style: none; margin: 0; padding: 0; background: var(--paper, #F6F4F1) }
.nkf-mob .nkf-mmenu .sub-menu a { padding-left: calc(var(--pad, 40px) + 18px); font-size: 13.5px; color: var(--muted, #6E6A63) }
.nkf-mob-cta { padding: 18px var(--pad, 40px) 24px; display: flex; flex-direction: column; gap: 14px; align-items: center }
.nkf-tel-nagy { font-size: 17px; font-weight: 500; color: var(--ink, #16181A); text-decoration: none }

/* ===================== LÁBLÉC ===================== */
.nkf-foot {
  background: var(--ink, #16181A);
  color: #B8B3AA;
  font-family: var(--sans, sans-serif);
  font-size: 13.5px; line-height: 1.7;
}
.nkf-foot-grid {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 44px;
  padding-top: 72px; padding-bottom: 60px;
}
.nkf-foot h4 {
  margin: 0 0 18px; padding: 0;
  font-family: var(--sans, sans-serif); font-size: 11px; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: #fff;
}
.nkf-foot p { margin: 0 0 14px }
.nkf-foot a { color: inherit; text-decoration: none; transition: color .2s ease }
.nkf-foot a:hover { color: #fff }
.nkf-foot-nyitva { color: #8E8A82 }

.nkf-flogo { margin-bottom: 20px }
.nkf-flogo img { height: 38px; background: #fff; padding: 7px 10px; mix-blend-mode: normal }
.nkf-foot-brand p { max-width: 42ch }
.nkf-fb {
  display: inline-block; margin-top: 4px; padding-bottom: 2px;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  font-size: 12.5px; letter-spacing: .04em;
}

.nkf-foot-menu ul { list-style: none; margin: 0; padding: 0 }
.nkf-foot-menu li { margin: 0 0 9px; list-style: none }
.nkf-foot-menu a { font-size: 13.5px }

.nkf-foot-bar { border-top: 1px solid rgba(255, 255, 255, .1) }
.nkf-foot-bar-in {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; min-height: 62px;
  font-size: 12px; color: #807C75; letter-spacing: .02em;
}
.nkf-foot-bar-r { display: flex; gap: 20px }

/* ===================== TÖRÉSPONTOK ===================== */
@media (max-width: 1320px) {
  .nkf-head-in { gap: 20px; min-height: 72px }
  .nkf-head .nkf-menu > li > a { padding: 13px 11px; font-size: 11.5px }
}

@media (max-width: 1100px) {
  .nkf-in { padding: 0 24px }
  .nkf-head-nav { display: none }
  .nkf-burger { display: flex }
  .nkf-tel { display: none }
  .nkf-mob { top: 72px }
  .nkf-top-l span:nth-child(n+3) { display: none }
  .nkf-foot-grid { grid-template-columns: 1fr 1fr; gap: 40px; padding-top: 56px; padding-bottom: 48px }
  .nkf-mob .nkf-mmenu a { padding-left: 24px; padding-right: 24px }
  .nkf-mob .nkf-mmenu .sub-menu a { padding-left: 42px }
  .nkf-mob-cta { padding-left: 24px; padding-right: 24px }
}

@media (max-width: 700px) {
  .nkf-head-in { min-height: 64px; gap: 14px }
  .nkf-logo img { height: 34px; max-width: 150px }
  .nkf-head-r .nkf-btn { display: none }
  .nkf-mob { top: 64px; max-height: calc(100vh - 100px) }
  .nkf-top { font-size: 11px }
  .nkf-top-in { min-height: 36px; gap: 14px }
  .nkf-top-l span:nth-child(n+2) { display: none }
  .nkf-top-r a:nth-child(1) { display: none }
  .nkf-foot-grid { grid-template-columns: 1fr; gap: 34px }
  .nkf-foot-bar-in { flex-direction: column; align-items: flex-start; gap: 10px; padding-top: 16px; padding-bottom: 18px }
}
