/*
 * NEXTCAR FLEET — Közös aloldali precíziós felületi, effekt- és mozgásréteg (ND11).
 *
 * Hatókör: kizárólag az aloldalak (<main> a főoldali main.nh kivételével).
 * A közös fejléc (.nc-header), lábléc (.site-footer) és a főoldal (main.nh) érintetlen.
 * Alapszabály: egyetlen elem sem kaphat opacity: 0 kezdőállapotot CSS-ben;
 * JS vagy CDN hiányában is minden tartalom 100%-ban látható és használható.
 */

:root {
  --nc-ease-precision: var(--nc-ease-standard, cubic-bezier(0.2, 0.7, 0.2, 1));
  --nc-ease-photo: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --nc-card-radius: 0.875rem;          /* 14px — egységes NEXTCAR kártyageometria */
  --nc-btn-precision-radius: 0.625rem; /* 10px — egységes elsődleges gombgeometria */
  --nc-card-edge: rgb(80 115 145 / 0.2);
  --nc-card-edge-hover: color-mix(in oklab, var(--nc-color-blue-500, #0074ca) 38%, rgb(80 115 145 / 0.22));
  --nc-card-shadow-rest: 0 2px 6px rgb(9 33 58 / 0.03), 0 10px 24px -20px rgb(9 33 58 / 0.18);
  --nc-card-shadow-hover: 0 18px 38px -16px rgb(9 33 58 / 0.22), 0 0 0 1px rgb(0 116 202 / 0.06);
  --nc-btn-specular-top: rgb(255 255 255 / 0.22);
  --nc-btn-shadow-rest: inset 0 1px 0 rgb(255 255 255 / 0.08), 0 8px 20px -10px rgb(0 55 100 / 0.65);
  --nc-btn-shadow-hover: inset 0 1px 0 rgb(255 255 255 / 0.14), 0 12px 26px -10px rgb(0 55 100 / 0.78);
}

/* ---------- Lenis dokumentumszintű alap (natív érintés érintetlen) ---------- */
html.lenis,
html.lenis body {
  height: auto;
}

html.lenis {
  scroll-behavior: auto !important;
}

.lenis [data-lenis-prevent] {
  overscroll-behavior: contain;
}

/* ---------- Egységes Eyebrow: 24×2px márkakék vonal + 10px térköz ---------- */
main:not(.nh) :is(.nc-eyebrow, .ns .ns-eyebrow) {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--nc-color-text-muted, #52606d);
  font-family: var(--nc-font-sans, "Manrope", sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

main:not(.nh) :is(.ns-hero, .sp-hero, .vip-hero, .ro-hero, .ns-section--dark, .ns-inquiry, .nc-offers-hero, .nc-sales-hero, .nc-connect-section, .ro-inquiry, .vip-inquiry-section, .fk-personal) :is(.nc-eyebrow, .ns .ns-eyebrow) {
  color: var(--nc-color-text-on-dark-muted, #d5dce5);
}

main:not(.nh) :is(.nc-eyebrow, .ns .ns-eyebrow)::before {
  width: 1.5rem;
  height: 2px;
  flex: none;
  border-radius: 2px;
  background: var(--nc-color-blue-500, #0074ca);
  content: "";
}

/* ---------- Megmunkált elsődleges CTA szabvány + mágneses eltolás ---------- */
main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn:not(.ns-btn--secondary):not(.ns-btn--light)) {
  border: 1px solid transparent;
  border-top-color: var(--nc-btn-specular-top);
  border-radius: var(--nc-btn-precision-radius);
  background: var(--nc-btn-primary-bg);
  color: var(--nc-btn-primary-fg);
  box-shadow: var(--nc-btn-shadow-rest);
  transition:
    translate 180ms var(--nc-ease-precision),
    background-color 180ms ease-out,
    box-shadow 220ms ease-out,
    border-color 180ms ease-out,
    scale 140ms ease-out;
}

main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn:not(.ns-btn--secondary):not(.ns-btn--light)):hover:not(:disabled) {
  background: var(--nc-btn-primary-bg-hover);
  box-shadow: var(--nc-btn-shadow-hover);
}

main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn:not(.ns-btn--secondary):not(.ns-btn--light)):active:not(:disabled) {
  background: var(--nc-color-blue-700);
  scale: 0.985;
  transform: none;
}

main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn) svg {
  transition: transform 180ms var(--nc-ease-precision);
}

@media (hover: hover) {
  main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn):hover:not(:disabled) svg {
    transform: translateX(3px);
  }
}

main:not(.nh) [data-nc-magnetic] {
  translate: var(--nc-magnet-x, 0px) var(--nc-magnet-y, 0px);
}

main:not(.nh) [data-nc-magnetic]:focus-visible {
  translate: none;
}

/* ---------- Egyszeri 4s stúdió-háttérfény megérkezés (aloldali Hero) ---------- */
@keyframes nc-hero-light {
  0% {
    opacity: 0.25;
  }

  55% {
    opacity: 0.85;
  }

  100% {
    opacity: 1;
  }
}

/* ---------- Egységes kártyásított GYIK + CSS ::details-content + sticky bal cím ---------- */
@media (min-width: 64rem) {
  main:not(.nh) .ns .ns-split:has(> .ns-faq) > :first-child {
    position: sticky;
    top: calc(var(--nc-header-reserved, var(--nc-header-measured, 4.75rem)) + 2rem);
  }
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) {
  display: grid;
  gap: 0.875rem;
  border-block-start: 0;
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details {
  box-sizing: border-box;
  padding: 0 1.25rem;
  border: 1px solid var(--nc-card-edge);
  border-inline-start: 3px solid transparent;
  border-radius: var(--nc-card-radius);
  background-color: #ffffff;
  box-shadow: var(--nc-card-shadow-rest);
  transition:
    background-color 220ms var(--nc-ease-precision),
    border-color 220ms var(--nc-ease-precision),
    box-shadow 220ms var(--nc-ease-precision),
    transform 220ms var(--nc-ease-precision);
}

@media (hover: hover) and (pointer: fine) {
  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details:not([open]):hover {
    border-color: var(--nc-card-edge-hover);
    box-shadow: 0 12px 26px -14px rgb(9 33 58 / 0.16);
    transform: translateY(-1px);
  }
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details[open] {
  border-color: color-mix(in oklab, var(--nc-color-blue-500, #0074ca) 32%, rgb(80 115 145 / 0.2));
  border-inline-start-color: var(--nc-color-blue-500, #0074ca);
  background-color: #ffffff;
  box-shadow: 0 16px 34px -16px rgb(9 33 58 / 0.18);
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-block-size: 3.75rem;
  padding: 1.125rem 0;
  color: var(--nc-color-text);
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
  transition: color 180ms ease;
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > summary::-webkit-details-marker {
  display: none;
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > summary::marker {
  content: "";
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details[open] > summary {
  color: var(--nc-color-blue-600, #1449b4);
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > summary::after {
  position: static;
  inset: auto;
  display: inline-grid;
  place-items: center;
  inline-size: 1.875rem;
  block-size: 1.875rem;
  flex: 0 0 1.875rem;
  border-radius: 999px;
  background: rgb(0 116 202 / 0.08);
  color: var(--nc-color-blue-600, #1449b4);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  content: "+";
  transition:
    transform 240ms var(--nc-ease-precision),
    background-color 200ms ease,
    color 200ms ease;
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details[open] > summary::after {
  background: var(--nc-color-blue-500, #0074ca);
  color: #ffffff;
  transform: rotate(45deg);
  content: "+";
}

main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > :not(summary) {
  max-inline-size: 65ch;
  margin: 0;
  padding: 0 0 1.25rem;
  color: var(--nc-color-text-muted);
  line-height: 1.65;
}

@supports (interpolate-size: allow-keywords) {
  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details {
    interpolate-size: allow-keywords;
  }

  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details::details-content {
    block-size: 0;
    overflow: clip;
    transition:
      block-size 280ms var(--nc-ease-precision),
      content-visibility 280ms allow-discrete;
  }

  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details[open]::details-content {
    block-size: auto;
  }
}

/* ---------- Ajánlatkérő űrlap mikro-interakciók (input scale nélkül) ---------- */
main:not(.nh) :is([data-nc-inquiry], .ns-inquiry__form) {
  border-radius: var(--nc-card-radius);
}

main:not(.nh) .ns-inquiry__context {
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  border-inline-start: 3px solid var(--nc-color-blue-500, #0074ca);
  background: #f1f6fd;
  color: var(--nc-color-text);
  transition:
    background-color 260ms ease,
    box-shadow 260ms ease;
}

main:not(.nh) .ns-inquiry__context.is-context-updated {
  background: #e0edff;
  box-shadow: 0 0 0 3px rgb(0 116 202 / 0.18);
}

main:not(.nh) .ns-inquiry__field :is(input, select, textarea) {
  background: #fcfdff;
  transition:
    border-color 180ms ease-out,
    box-shadow 180ms ease-out,
    background-color 180ms ease-out;
}

main:not(.nh) .ns-inquiry__field :is(input, select, textarea):focus-visible {
  background: #ffffff;
  border-color: var(--nc-color-blue-500, #0074ca);
  box-shadow: 0 0 0 3px rgb(0 116 202 / 0.15), 0 5px 14px -8px rgb(9 33 58 / 0.18);
}

main:not(.nh) .ns-inquiry__field [aria-invalid="true"]:focus-visible {
  border-color: #a12626;
  box-shadow: 0 0 0 3px rgb(161 38 38 / 0.14);
}

@keyframes nc-field-shake {
  0%, 100% { translate: 0; }
  22% { translate: -4px; }
  45% { translate: 3px; }
  68% { translate: -2px; }
  85% { translate: 1px; }
}

main:not(.nh) .nc-field-shake {
  animation: nc-field-shake 320ms ease-out;
}

/* ---------- Szelektív statisztikai számláló (árakon/feltételeken tilos) ---------- */
main:not(.nh) [data-nc-countup] {
  display: inline-block;
  min-inline-size: 1ch;
  font-variant-numeric: tabular-nums;
}

/* ---------- Csökkentett mozgás és kontrasztmód ---------- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  main:not(.nh) [data-nc-reveal],
  main:not(.nh) [data-nc-magnetic],
  main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn),
  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details,
  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details::details-content,
  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details > summary::after,
  main:not(.nh) .ns-inquiry__context,
  main:not(.nh) .ns-inquiry__field :is(input, select, textarea),
  main:not(.nh) .nc-field-shake {
    translate: none !important;
    scale: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

@media (forced-colors: active) {
  main:not(.nh) :is(.nc-btn-precision, .ns .ns-btn, [data-nc-inquiry]) {
    box-shadow: none !important;
  }

  main:not(.nh) :is(.nc-faq, .ns .ns-faq) details {
    box-shadow: none !important;
    border: 1px solid CanvasText;
  }
}

