/* Meniul principal (desktop + burger pe mobil). */
/* ---------- Navigatie ---------- */
.nv{display:flex;align-items:center;gap:.4rem}
.nv-list{display:flex;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0}
.nv-item{position:relative}
.nv-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:#5B6754;padding:.55rem .8rem;border-bottom:1px solid transparent;
  transition:color .25s ease,border-color .25s ease;white-space:nowrap}
.nv-link[aria-current]{color:#B08D4C;border-bottom-color:#B08D4C}
.nv-caret{width:7px;height:7px;border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s ease;flex-shrink:0}
.nv-panel{list-style:none;margin:0;padding:0}
.nv-cta{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:#B08D4C;
  border:1px solid #B08D4C;padding:.7rem 1.4rem;border-radius:3px;transition:all .3s ease;
  white-space:nowrap;margin-left:.6rem}
.nv-burger{display:none;background:none;border:1px solid #D8D0C4;border-radius:3px;cursor:pointer;
  padding:0;color:#49523F;position:relative;z-index:120;
  width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column}
.nv-burger span{display:block;width:19px;height:1.4px;background:currentColor;margin:2.6px 0;
  transition:transform .25s ease,opacity .25s ease}
.nv-burger.is-open span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.nv-burger.is-open span:nth-child(2){opacity:0}
.nv-burger.is-open span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
.nv-parent{display:none}

/* ---------- DESKTOP: submeniuri suprapuse ---------- */
@media (min-width:1081px){
  .nv-panel{position:absolute;top:100%;left:0;min-width:16rem;background:#FDFCF8;border:1px solid #E3DCD1;
    border-radius:4px;box-shadow:0 14px 34px rgba(43,39,36,.13);padding:.5rem;z-index:200;
    opacity:0;visibility:hidden;transform:translateY(-6px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s}
  .nv-panel a{display:block;font-size:.78rem;letter-spacing:.04em;color:#3F4A38;padding:.62rem .8rem;
    border-radius:3px;line-height:1.35;transition:background .2s ease,color .2s ease}
  .nv-item:focus-within>.nv-panel{opacity:1;visibility:visible;transform:none}
  .nv-item:focus-within>.nv-link{color:#B08D4C}
}
/* efectele de hover doar unde exista mouse - nu pe touch */
@media (min-width:1081px) and (hover:hover) and (pointer:fine){
  .nv-link:hover{color:#B08D4C}
  .nv-item:hover>.nv-panel{opacity:1;visibility:visible;transform:none}
  .nv-item:hover>.nv-link .nv-caret{transform:rotate(225deg) translate(-2px,-2px)}
  .nv-panel a:hover{background:#EFEBE1;color:#B08D4C}
  .nv-cta:hover{background:#97753B;border-color:#97753B;color:#fff}
}

/* Ecrane de laptop mai inguste: titulatura se strange putin ca sa incapa
   langa meniu fara sa ocupe trei randuri. */
@media (min-width:1081px) and (max-width:1320px){
  header .brand-sub{letter-spacing:.15em !important;max-width:16rem !important}
}

/* ---------- MOBIL: panou pe tot ecranul ---------- */
@media (max-width:1080px){
  /* Fix critic: backdrop-filter pe header face din header blocul de referinta
     pentru position:fixed, deci panoul de meniu nu putea acoperi ecranul. */
  header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  /* visibility nu se interpoleaza corect: se comuta instant la deschidere,
     cu intarziere la inchidere ca panoul sa apuce sa gliseze afara. */
  .nv-list{transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s}
  .nv-list.is-open{transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}
  /* fara dreptunghiul albastru de atingere */
  .nv-link,.nv-panel a,.nv-cta,.nv-burger{-webkit-tap-highlight-color:transparent}
  .nv-burger{display:flex}
  .nv-list{position:fixed;top:0;left:0;right:0;bottom:0;z-index:90;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
    background:#F7F3EC;padding:calc(var(--nv-top,76px) + .6rem) 6vw calc(3rem + env(safe-area-inset-bottom,0px));
    margin:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
    transform:translateX(100%);visibility:hidden}
  .nv-list.is-open{transform:none;visibility:visible}
  .nv-item{position:static;border-bottom:1px solid #E3DCD1}
  .nv-link{display:flex;width:100%;justify-content:space-between;align-items:center;
    min-height:54px;padding:.9rem .1rem;font-size:.78rem;border-bottom:0}
  .nv-caret{width:9px;height:9px}
  .nv-item.is-open>.nv-link{color:#B08D4C}
  .nv-item.is-open>.nv-link .nv-caret{transform:rotate(225deg) translate(-2px,-2px)}
  .nv-panel{max-height:0;overflow:hidden;padding-left:.9rem;
    transition:max-height .3s cubic-bezier(.4,0,.2,1)}
  .nv-item.is-open>.nv-panel{max-height:42rem}
  .nv-panel a{display:flex;align-items:center;min-height:48px;padding:.55rem .1rem;
    font-size:.86rem;line-height:1.35;color:#3F4A38;border-bottom:1px solid #EFEBE1}
  .nv-panel li:last-child a{border-bottom:0}
  .nv-parent{display:block}
  .nv-parent a{color:#93A088;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
  .nv-cta{margin:1.6rem 0 0;display:flex;align-items:center;justify-content:center;
    min-height:52px;font-size:.72rem}
  body.nv-lock{overflow:hidden}
}
