/* NEXTCAR — home-only precision surfaces. Existing geometry and Manrope stay intact. */
.nh {
  --nh-premium-ease: cubic-bezier(.2, .7, .2, 1);
  --nh-premium-edge: rgb(80 115 145 / .2);
  --nh-premium-shadow: 0 18px 38px -16px rgb(9 33 58 / .25);
}

/* Less blue haze over the bodywork; the photograph, not a glow, leads the hero. */
.nh .nh-hero__media::before {
  background: radial-gradient(ellipse 65% 55% at 50% 60%,
    rgb(0 140 255 / .17), rgb(20 90 220 / .08) 40%, transparent 70%);
}

.nh .nh-hero__eyebrow {
  letter-spacing: .055em;
}

.nh :is(.nh-h2, .nh-secondary__heading) {
  text-wrap: balance;
}

/* A cool, machined surface rather than a glass layer over every section. */
.nh #havidij {
  background: linear-gradient(180deg, #fff, #f7f9fb);
}

.nh #kiemelt-ajanlatok {
  background: radial-gradient(ellipse at 85% 10%, rgb(0 116 202 / .055), transparent 58%), #f3f5f7;
}

.nh #havidij .nh-base__item,
.nh .nh-offer {
  border-color: var(--nh-premium-edge);
  box-shadow: 0 2px 5px rgb(9 33 58 / .025), 0 8px 24px -20px rgb(9 33 58 / .2);
  transition: transform 280ms var(--nh-premium-ease),
    box-shadow 280ms var(--nh-premium-ease), border-color 220ms ease-out;
}

.nh #havidij .nh-base__spec {
  box-shadow: inset 0 1px rgb(255 255 255 / .12), 0 20px 44px -28px rgb(9 33 58 / .5);
}

.nh #szemelyes-ugyintezes {
  background: radial-gradient(ellipse at 85% 50%, rgb(0 116 202 / .1), transparent 60%),
    var(--nc-color-surface-dark, #0a2032);
}

.nh .nh-secondary__panel {
  box-shadow: inset 0 1px rgb(255 255 255 / .13), 0 18px 36px -28px rgb(9 33 58 / .45);
}

.nh .nh-btn {
  border-top-color: rgb(255 255 255 / .22);
  box-shadow: inset 0 1px rgb(255 255 255 / .07), 0 8px 20px -10px rgb(0 55 100 / .65);
}

.nh .nh-btn:active:not(:disabled) {
  scale: .985;
}

/* Independent translate keeps magnetic movement separate from existing icon/hover transforms. */
.nh .nh-btn[data-nc-magnetic] {
  translate: var(--nc-magnet-x, 0px) var(--nc-magnet-y, 0px);
  transition: translate 180ms var(--nh-premium-ease), background-color 180ms ease-out,
    box-shadow 220ms ease-out, scale 140ms ease-out;
}

.nh .nh-btn[data-nc-magnetic]:focus-visible {
  translate: none;
}

.nh #ajanlatkeres {
  background: radial-gradient(ellipse at 8% 5%, rgb(0 116 202 / .12), transparent 48%),
    var(--nc-color-ink-800, #202a33);
}

.nh #ajanlatkeres .h8-sheet {
  border-color: rgb(255 255 255 / .65);
  box-shadow: 0 32px 70px -24px rgb(0 0 0 / .45), 0 0 0 1px rgb(147 197 253 / .08);
}

.nh #ajanlatkeres :is(input:not([type=hidden]), select, textarea) {
  background: #fcfdff;
  transition: scale 180ms var(--nh-premium-ease), border-color 180ms ease-out,
    box-shadow 180ms ease-out, background-color 180ms ease-out;
}

.nh #ajanlatkeres :is(input:not([type=hidden]), select, textarea):focus {
  scale: 1.008;
  background: #fff;
  border-color: var(--nc-color-blue-500);
  box-shadow: 0 0 0 3px rgb(0 116 202 / .15), 0 5px 14px -8px rgb(9 33 58 / .2);
}

.nh #ajanlatkeres [aria-invalid=true]:focus {
  border-color: var(--h8-error);
  box-shadow: 0 0 0 3px rgb(180 35 24 / .12);
}

/* A short, transform-only error signal. Text/aria-invalid remain the source of truth. */
@keyframes nc-field-shake {
  0%, 100% { translate: 0; }
  22% { translate: -4px; }
  45% { translate: 3px; }
  68% { translate: -2px; }
  85% { translate: 1px; }
}

.nh #ajanlatkeres .nc-field-shake {
  animation: nc-field-shake 320ms ease-out;
}

.nh [data-nc-countup] {
  display: inline-block;
  min-inline-size: 1ch;
  font-variant-numeric: tabular-nums;
}

@media (hover: hover) and (pointer: fine) {
  .nh #havidij .nh-base__item:is(:hover, :focus-within),
  .nh .nh-offer:is(:hover, :focus-within) {
    transform: translateY(-4px);
    border-color: color-mix(in oklab, var(--nh-blue) 35%, var(--nh-line));
    box-shadow: var(--nh-premium-shadow), 0 0 0 1px rgb(0 116 202 / .055);
  }
}

/* Native touch scrolling stays native. Lenis uses the actual document, never a translated wrapper. */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .nh .nh-btn { scale: none !important; }
  .nh [data-nc-reveal],
  .nh .nh-btn[data-nc-magnetic],
  .nh #ajanlatkeres :is(input, select, textarea) {
    opacity: 1 !important;
    filter: none !important;
    translate: none !important;
    scale: none !important;
    animation: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  .nh :is(#havidij, #kiemelt-ajanlatok, #szemelyes-ugyintezes, #ajanlatkeres) {
    background: Canvas;
  }
  .nh :is(.nh-btn, .nh-base__item, .nh-offer, .nh-secondary__panel, .h8-sheet) {
    box-shadow: none !important;
  }
}
