/* CsabaCAD – style.css */
/* Generálva az index.html CSS blokkjaiból */

/* ══════════════════════════════════════
   VÁLTOZÓK
══════════════════════════════════════ */
:root {
  /* ── Sötét mód (alapértelmezett) ── */
  --black:       #080808;
  --black-soft:  #0e0e0e;
  --black-card:  #111111;
  --black-card-hover: #141414;
  --gold:        #C9A84C;
  --gold-light:  #E8CC7A;
  --gold-dim:    #9C7A3A;
  --gold-glow:   rgba(201,168,76,0.15);
  --gold-glow2:  rgba(201,168,76,0.07);
  --text-main:   rgba(255,255,255,0.88);
  --text-mid:    rgba(255,255,255,0.68);
  --text-dim:    rgba(255,255,255,0.45);
  --white-faint: rgba(255,255,255,0.06);
  --hdr-h:       80px;

  /* ── Logó színek (sötét téma) – egységes, világító arany tónus mindkét elemen ── */
  --logo-shape-color:  var(--gold-light);
  --logo-accent-color: var(--gold-light);
}

/* ══════════════════════════════════════
   VILÁGOS MÓD
   Méz-sárga háttér + pirosas-lila + barna akcentusok
══════════════════════════════════════ */

/* ── Színpaletta megjegyzés:
   Háttér:    méz-sárga, melegebb mint pasztell (#D4A843 alapú)
   Elsődleges akcentus: téglavörös-barna (#8B3A2A)
   Másodlagos: pirosas-lila (#7B3F6E), kékes-lila (#5C4A8A)
   Harmadlagos: meleg barna (#6B4226)
── */

[data-theme="light"] {
  --black:       #C8A45A;   /* Méz-sárga alap háttér */
  --black-soft:  #BF9A52;   /* Sötétebb méz */
  --black-card:  #B59048;   /* Kártya – még mélyebb */

  /* Elsődleges: téglavörös-barna */
  --gold:        #8B3A2A;
  --gold-light:  #A84432;
  --gold-dim:    #6B2D20;
  --gold-glow:   rgba(139,58,42,0.22);
  --gold-glow2:  rgba(139,58,42,0.10);

  /* Másodlagos akcentusok */
  --accent2:     #7B3F6E;   /* Pirosas-lila */
  --accent3:     #5C4A8A;   /* Kékes-lila */
  --accent4:     #6B4226;   /* Meleg barna */

  /* Sötét szöveg – kontrasztosabb */
  --text-main:   rgba(15,8,4,0.97);
  --text-mid:    rgba(15,8,4,0.82);
  --text-dim:    rgba(15,8,4,0.65);
  --white-faint: rgba(15,8,4,0.07);

  /* ── Logó színek (világos téma) – világosabb, fénylő bronz tónus a jobb effekt-érvényesüléshez ── */
  --logo-shape-color:  var(--gold-light);
  --logo-accent-color: var(--gold-light);
}

/* ── Fejléc ── */
[data-theme="light"] .hdr {
  background: #EEE7DC !important;
  border-bottom-color: rgba(90,70,51,0.35);
}

[data-theme="light"] .hdr::before {
  background: linear-gradient(90deg,
    transparent 0%, var(--gold-dim) 20%,
    var(--gold-light) 50%, var(--gold-dim) 80%, transparent 100%);
}

[data-theme="light"] .hdr-nav a { color: rgba(62,49,37,0.65); }
[data-theme="light"] .hdr-nav a.active,
[data-theme="light"] .hdr-nav a:hover {
  color: rgba(62,49,37,0.95) !important;
  text-shadow: 0 0 10px rgba(122,92,62,.18);
  background: radial-gradient(ellipse 80% 100% at 50% 50%,
    rgba(90,70,51,0.10) 0%,
    rgba(90,70,51,0.04) 55%,
    transparent 100%) !important;
}
[data-theme="light"] .hdr-nav a::after {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
[data-theme="light"] .hdr-nav-dot { background: var(--gold-dim); }
/* ── Logó színezés (SVG, egyetlen fájl mindkét témához) ── */
.logo-shape  { fill: var(--logo-shape-color); transition: fill 0.3s ease; }
.logo-accent { fill: var(--logo-accent-color); transition: fill 0.3s ease; }

[data-theme="light"] .hdr-logo-name { color: var(--gold); font-weight: 600; }
[data-theme="light"] .hdr-logo-sub { color: rgba(62,49,37,0.55); }
[data-theme="light"] .coord-label { color: rgba(62,49,37,0.50); }
[data-theme="light"] .coord-value { color: rgba(62,49,37,0.80); }
[data-theme="light"] .coord-sep { background: rgba(62,49,37,0.30); }
[data-theme="light"] .hdr-scale-inner {
  background: repeating-linear-gradient(90deg,
    rgba(15,8,4,0.25) 0px, rgba(15,8,4,0.25) 1px,
    transparent 1px, transparent 8px);
}
[data-theme="light"] .hdr-scale-beam {
  background: linear-gradient(90deg, transparent, rgba(15,8,4,0.5), transparent);
}
[data-theme="light"] .corner-tr,
[data-theme="light"] .hdr::after {
  border-color: rgba(15,8,4,0.35);
}
[data-theme="light"] .status-dot {
  background: var(--gold);
  box-shadow: 0 0 6px var(--gold), 0 0 12px var(--gold-glow);
}
[data-theme="light"] .status-label { color: rgba(15,8,4,0.50); }

/* ── Mobile nav ── */
[data-theme="light"] .mobile-nav {
  background: rgba(200,164,90,0.98);
  border-bottom-color: var(--gold-dim);
}
[data-theme="light"] .mobile-nav a {
  color: rgba(15,8,4,0.58);
  border-bottom-color: rgba(15,8,4,0.08);
}
[data-theme="light"] .mobile-nav a.active,
[data-theme="light"] .mobile-nav a:hover { color: rgba(15,8,4,0.90); }

/* ── Gombok – sötét szöveg, téglavörös-barna sweep ── */
[data-theme="light"] .btn-primary {
  border-color: var(--gold);
  color: rgba(15,8,4,0.88);
}
[data-theme="light"] .btn-primary::before {
  background: rgba(139,58,42,0.12);
}
[data-theme="light"] .btn-primary::after {
  background: linear-gradient(90deg,
    transparent 0%, rgba(139,58,42,0.28) 50%, transparent 100%);
}
[data-theme="light"] .btn-primary:hover {
  border-color: var(--gold-light);
  box-shadow: 0 0 20px var(--gold-glow);
}
[data-theme="light"] .btn-primary span { color: rgba(15,8,4,0.88); }
[data-theme="light"] .btn-primary:hover span { color: rgba(15,8,4,0.95) !important; }

[data-theme="light"] .btn-secondary {
  border-color: rgba(15,8,4,0.25);
  color: rgba(15,8,4,0.65);
}
[data-theme="light"] .btn-secondary::before { background: rgba(15,8,4,0.06); }
[data-theme="light"] .btn-secondary::after {
  background: linear-gradient(90deg,
    transparent 0%, rgba(15,8,4,0.12) 50%, transparent 100%);
}
[data-theme="light"] .btn-secondary:hover {
  border-color: var(--gold);
  color: rgba(15,8,4,0.90);
}
[data-theme="light"] .btn-secondary:hover span { color: rgba(15,8,4,0.90) !important; }

/* ── Hero ── */
[data-theme="light"] .hero-bg { opacity: 0.52 !important; }
[data-theme="light"] .hero-bg-overlay {
  background: linear-gradient(
    to right,
    rgba(226,213,190,0.88) 0%,
    rgba(226,213,190,0.55) 50%,
    rgba(226,213,190,0.82) 100%
  ) !important;
}
[data-theme="light"] #fooldal::before {
  background-image:
    linear-gradient(rgba(15,8,4,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,8,4,0.07) 1px, transparent 1px);
}
[data-theme="light"] #fooldal::after {
  background: radial-gradient(circle, rgba(139,58,42,0.08) 0%, transparent 70%);
}
.hero-em {
  font-style: normal;
  color: var(--gold-light);
  font-weight: 400;
}
[data-theme="light"] .hero-em { color: var(--gold); }
[data-theme="light"] .hero-title em { color: var(--gold); }
[data-theme="light"] .hero-sub { color: rgba(15,8,4,0.68); font-weight: 400; }
[data-theme="light"] .hero-motto {
  color: rgba(15,8,4,0.75);
  border-left-color: var(--gold-dim);
  font-style: italic;
}
[data-theme="light"] .hero-label { border-left-color: var(--gold); }
[data-theme="light"] .hero-label span { color: var(--gold); }
[data-theme="light"] .stat-num { color: var(--gold); }
[data-theme="light"] .stat-label { color: rgba(15,8,4,0.52); }
[data-theme="light"] .hero-stats { border-top-color: rgba(15,8,4,0.10); }

/* ── Hero lenyíló felsorolások ── */
[data-theme="light"] .hero-acc-item {
  background: rgba(255,255,255,0.45);
  border-color: rgba(15,8,4,0.14);
}
[data-theme="light"] .hero-acc-item:hover,
[data-theme="light"] .hero-acc-item.open { border-color: var(--gold-dim); }
[data-theme="light"] .hero-acc-head:hover,
[data-theme="light"] .hero-acc-item.open .hero-acc-head { background: rgba(255,255,255,0.70); }
[data-theme="light"] .hero-acc-head-title { color: rgba(15,8,4,0.85); }
[data-theme="light"] .hero-acc-count,
[data-theme="light"] .hero-acc-chevron { color: var(--gold-dim); stroke: var(--gold-dim); }
[data-theme="light"] .hero-acc-body { border-top-color: rgba(15,8,4,0.10); }
[data-theme="light"] .hero-check-list li { color: rgba(15,8,4,0.72); }

/* ── Section közös ── */
[data-theme="light"] .section-tag span { color: var(--gold); }
[data-theme="light"] .section-tag::before { background: var(--gold); }
[data-theme="light"] .section-title { color: rgba(15,8,4,0.95); }
[data-theme="light"] .section-title em { color: var(--gold); }
[data-theme="light"] .section-desc { color: rgba(15,8,4,0.70); font-weight: 400; }

/* ── Intro sáv ── */
[data-theme="light"] .intro-band { background: var(--black-soft); }
[data-theme="light"] .intro-band::before,
[data-theme="light"] .intro-band::after {
  background: linear-gradient(90deg, transparent, rgba(15,8,4,0.2) 30%, rgba(15,8,4,0.2) 70%, transparent);
}
[data-theme="light"] .intro-lead { color: rgba(15,8,4,0.85); }
[data-theme="light"] .intro-body { color: rgba(15,8,4,0.68); font-weight: 400; }
[data-theme="light"] .intro-body strong { color: rgba(15,8,4,0.88); }

/* ── Előnyök ── */
[data-theme="light"] .elony-item { background: var(--black-card); }
[data-theme="light"] .elony-item:hover { background: rgba(15,8,4,0.08); }
[data-theme="light"] .elony-item::before {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
[data-theme="light"] .elony-num { color: rgba(15,8,4,0.40); }
[data-theme="light"] .elony-title { color: rgba(15,8,4,0.90); }
[data-theme="light"] .elony-desc { color: rgba(15,8,4,0.65); font-weight: 400; }

/* ── Szolgáltatások ── */
[data-theme="light"] #szolgaltatasok::before {
  border-color: rgba(15,8,4,0.08);
}
[data-theme="light"] .cards-grid {
  background: rgba(15,8,4,0.15);
  border-color: rgba(15,8,4,0.15);
}
[data-theme="light"] .card { background: var(--black-card); }
[data-theme="light"] .card:hover { background: rgba(15,8,4,0.06); }
[data-theme="light"] .card::before {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
[data-theme="light"] .card-num { color: rgba(15,8,4,0.38); }
[data-theme="light"] .card-title { color: rgba(15,8,4,0.92); }
[data-theme="light"] .card-subtitle { color: rgba(15,8,4,0.55); }
[data-theme="light"] .card-list li { color: rgba(15,8,4,0.60); font-weight: 400; }
[data-theme="light"] .card-list li::before { background: rgba(15,8,4,0.30); }
[data-theme="light"] .card:hover .card-list li::before { background: var(--gold); }
[data-theme="light"] .card-list li strong { color: rgba(15,8,4,0.88); }
[data-theme="light"] .card-more { color: rgba(15,8,4,0.45); }
[data-theme="light"] .card:hover .card-more { color: var(--gold); }

/* ── Képgaléria ── */
[data-theme="light"] .gallery-btn {
  border-color: rgba(15,8,4,0.30);
  color: rgba(15,8,4,0.55);
  background: transparent;
}
[data-theme="light"] .gallery-btn:hover {
  border-color: var(--gold);
  color: rgba(15,8,4,0.88);
  box-shadow: 0 0 12px var(--gold-glow);
}
[data-theme="light"] .gallery-slide-num { color: rgba(15,8,4,0.45); }
[data-theme="light"] .gallery-slide-title { color: rgba(15,8,4,0.88); }
[data-theme="light"] .gallery-dot { background: rgba(15,8,4,0.20); }
[data-theme="light"] .gallery-dot.active { background: var(--gold); width: 40px; }
[data-theme="light"] .gallery-progress { background: rgba(15,8,4,0.10); }
[data-theme="light"] .gallery-progress-bar {
  background: linear-gradient(90deg, var(--gold-dim), var(--gold-light));
}
[data-theme="light"] .gallery-info { border-top: none; }

/* ── Referenciák ── */
[data-theme="light"] .ref-layout {}
[data-theme="light"] .ref-img-item img {
  filter: grayscale(15%) brightness(0.80) saturate(0.85);
}
[data-theme="light"] .ref-list-item {
  border-bottom-color: rgba(15,8,4,0.09);
}
[data-theme="light"] .ref-list-item::before { background: var(--gold); }
[data-theme="light"] .ref-list-num { color: rgba(15,8,4,0.40); }
[data-theme="light"] .ref-tag { color: var(--gold); font-weight: 500; }
[data-theme="light"] .ref-title { color: rgba(15,8,4,0.90); }
[data-theme="light"] .ref-desc { color: rgba(15,8,4,0.65); font-weight: 400; }
[data-theme="light"] .ref-badge {
  color: var(--gold-dim);
  border-color: rgba(15,8,4,0.25);
  background: rgba(15,8,4,0.05);
}
[data-theme="light"] .ref-list-item:hover .ref-badge {
  background: rgba(15,8,4,0.09);
  border-color: rgba(15,8,4,0.40);
}
[data-theme="light"] .ref-grid { background: rgba(15,8,4,0.10); }
[data-theme="light"] .ref-item { background: var(--black-soft); }
[data-theme="light"] .ref-item:hover { background: var(--black-card); }
[data-theme="light"] .ref-item::after { background: var(--gold); }
[data-theme="light"] .ref-num { color: rgba(15,8,4,0.07); }
[data-theme="light"] .ref-item:hover .ref-num { color: rgba(15,8,4,0.13); }

/* ── Rólam ── */
[data-theme="light"] #rolam::after { border-color: rgba(15,8,4,0.06); }
[data-theme="light"] .value-item:hover {
  border-left-color: var(--gold);
  background: rgba(15,8,4,0.05);
}
[data-theme="light"] .value-label { color: var(--gold); }
[data-theme="light"] .value-text { color: rgba(15,8,4,0.68); font-weight: 400; }
[data-theme="light"] .rolam-intro {
  color: rgba(15,8,4,0.80);
  border-bottom-color: rgba(15,8,4,0.10);
}
[data-theme="light"] .rolam-p { color: rgba(15,8,4,0.68); font-weight: 400; }
[data-theme="light"] .rolam-highlight { color: rgba(15,8,4,0.88); }
[data-theme="light"] .rolam-years-num { color: var(--gold); }
[data-theme="light"] .rolam-years-label { color: rgba(15,8,4,0.50); }
[data-theme="light"] .rolam-values > div {
  border-top-color: rgba(15,8,4,0.08);
}

/* ── Kapcsolat ── */
[data-theme="light"] #kapcsolat::before {
  background: linear-gradient(180deg,
    transparent, rgba(15,8,4,0.12) 30%, rgba(15,8,4,0.12) 70%, transparent);
}
[data-theme="light"] .contact-item { border-bottom-color: rgba(15,8,4,0.08); }
[data-theme="light"] .contact-icon {
  border-color: rgba(15,8,4,0.40);
  background: rgba(15,8,4,0.05);
}
[data-theme="light"] .contact-icon svg { stroke: rgba(15,8,4,0.75); }
[data-theme="light"] .contact-item-label { color: rgba(15,8,4,0.50); }
[data-theme="light"] .contact-item-value { color: rgba(15,8,4,0.82); font-weight: 400; }
[data-theme="light"] .form-label { color: rgba(15,8,4,0.52); }
[data-theme="light"] .form-input,
[data-theme="light"] .form-textarea {
  background: rgba(15,8,4,0.05);
  border-color: rgba(15,8,4,0.12);
  border-bottom-color: rgba(15,8,4,0.35);
  color: rgba(15,8,4,0.88);
}
[data-theme="light"] .form-input::placeholder,
[data-theme="light"] .form-textarea::placeholder { color: rgba(15,8,4,0.32); }
[data-theme="light"] .form-input:focus,
[data-theme="light"] .form-textarea:focus {
  border-bottom-color: var(--gold);
  background: rgba(139,58,42,0.05);
}

/* ── Lábléc ── */
[data-theme="light"] .footer {
  background: var(--black-soft);
  border-top-color: rgba(15,8,4,0.20);
}
[data-theme="light"] .footer::before {
  background: linear-gradient(90deg,
    transparent 0%, rgba(15,8,4,0.20) 20%,
    rgba(15,8,4,0.35) 50%, rgba(15,8,4,0.20) 80%, transparent 100%);
}
[data-theme="light"] .footer-logo-name { color: rgba(15,8,4,0.88); }
[data-theme="light"] .footer-logo-sub { color: rgba(15,8,4,0.52); }
[data-theme="light"] .footer-brand-desc { color: rgba(15,8,4,0.55); }
[data-theme="light"] .footer-col-title {
  color: rgba(15,8,4,0.70);
  border-bottom-color: rgba(15,8,4,0.12);
}
[data-theme="light"] .footer-links a { color: rgba(15,8,4,0.48); }
[data-theme="light"] .footer-links a::before { background: rgba(15,8,4,0.28); }
[data-theme="light"] .footer-links a:hover {
  color: rgba(15,8,4,0.92);
  text-shadow: 0 0 0.5px rgba(15,8,4,0.9), 0 0 0.5px rgba(15,8,4,0.9);
}
[data-theme="light"] .footer-links a:hover::before { background: var(--gold); }
[data-theme="light"] .footer-col-title { color: rgba(15,8,4,0.80); font-weight: 700; }
[data-theme="light"] .footer-logo-name { color: rgba(15,8,4,0.92); font-weight: 600; }
[data-theme="light"] .social-btn {
  border-color: rgba(15,8,4,0.28);
  color: rgba(15,8,4,0.50);
}
[data-theme="light"] .social-btn:hover {
  border-color: var(--gold);
  color: rgba(15,8,4,0.88);
  box-shadow: 0 0 12px var(--gold-glow);
}
[data-theme="light"] .footer-bottom {
  border-top-color: rgba(15,8,4,0.10);
}
[data-theme="light"] .footer-copy { color: rgba(15,8,4,0.38); }
[data-theme="light"] .footer-copy span { color: rgba(15,8,4,0.58); }
[data-theme="light"] .footer-bottom-links a { color: rgba(15,8,4,0.35); }
[data-theme="light"] .footer-bottom-links a:hover { color: rgba(15,8,4,0.70); }
[data-theme="light"] .footer-corner-bl,
[data-theme="light"] .footer-corner-br {
  border-color: rgba(15,8,4,0.28);
}

/* ── CAD kurzor ── */
[data-theme="light"] #cad-cursor::before {
  background: linear-gradient(90deg,
    transparent 0%, rgba(139,90,43,0.50) 20%,
    rgba(139,90,43,0.85) 50%, rgba(139,90,43,0.50) 80%, transparent 100%);
}
[data-theme="light"] #cad-cursor::after {
  background: linear-gradient(180deg,
    transparent 0%, rgba(139,90,43,0.50) 20%,
    rgba(139,90,43,0.85) 50%, rgba(139,90,43,0.50) 80%, transparent 100%);
}
[data-theme="light"] .cad-cursor-dot {
  background: rgba(139,90,43,0.90);
  box-shadow: 0 0 6px rgba(139,90,43,0.45);
}
[data-theme="light"] .cad-cursor-box { border-color: rgba(139,90,43,0.50); }

/* ── Piktogramok sötétebb színben világos módban ── */
[data-theme="light"] .card-icon circle,
[data-theme="light"] .card-icon path,
[data-theme="light"] .card-icon line,
[data-theme="light"] .card-icon rect,
[data-theme="light"] .card-icon polyline,
[data-theme="light"] .card-icon polygon {
  stroke: var(--gold-dim) !important;
}

/* ── Fájltípus felirat sötét módban ── */
[data-theme="light"] .file-upload-text {
  color: rgba(15,8,4,0.55) !important;
}
[data-theme="light"] .file-upload-icon svg { stroke: rgba(15,8,4,0.55) !important; }

/* ── Kapcsolat ikon igazítás ── */
.contact-item-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
[data-theme="light"] .idotallasag-section img {
  filter: brightness(0.82) saturate(0.88);
}
[data-theme="light"] .idotallasag-overlay {
  background: linear-gradient(
    to bottom,
    rgba(200,164,90,0.30) 0%,
    rgba(200,164,90,0.05) 15%,
    rgba(200,164,90,0.05) 85%,
    rgba(200,164,90,0.30) 100%
  );
}

/* A CsabaCAD 3D sáv alja a saját képén belül is sötét (nem világos,
   mint az Időtállóság fotón) — a fenti meleg felvilágosító réteg itt
   jól látható "bevilágít" foltot okozott. Ehelyett egy sokkal
   visszafogottabb, sötét tónusú élsimítást kap, ami nem tör bele
   a kép saját sötét hangulatába. */
[data-theme="light"] .logo3d-variant .idotallasag-overlay {
  background: linear-gradient(
    to bottom,
    rgba(20,14,8,0.12) 0%,
    rgba(20,14,8,0.0)  15%,
    rgba(20,14,8,0.0)  85%,
    rgba(20,14,8,0.12) 100%
  );
}

/* ── Témaváltó gomb ── */
.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--gold-dim);
  padding: 6px 10px;
  cursor: none;
  transition: all 0.3s ease;
  flex-shrink: 0;
  margin-left: 10px;
  border-radius: 2px;
}

.theme-toggle:hover {
  border-color: var(--gold);
  box-shadow: 0 0 10px var(--gold-glow);
}

.theme-toggle-icon {
  font-size: 16px;
  line-height: 1;
  transition: transform 0.4s ease;
  color: var(--gold-light);
  filter: drop-shadow(0 0 4px rgba(232,204,122,0.5));
}

.theme-toggle:hover .theme-toggle-icon { transform: rotate(20deg); }


/* PREMIUM LIGHT THEME OVERRIDES */
[data-theme="light"]{
 --black:#F4F1EB;
 --black-soft:#EEE7DC;
 --black-card:#E7DCCB;
 --gold:#7A5C3E;
 --gold-light:#9A7958;
 --gold-dim:#5B4633;
 --text-main:#3E3125;
 --text-mid:#665444;
 --text-dim:#5C4432;
}
[data-theme="light"] body,
[data-theme="light"]{font-family:'Inter',sans-serif;}
[data-theme="light"] .hdr{
 background:rgba(244,241,235,.88)!important;
 backdrop-filter:blur(18px);
 box-shadow:0 10px 30px rgba(90,74,54,.08);
}
[data-theme="light"] .hdr-nav a{color:#6b5846!important;}
[data-theme="light"] .hdr-nav a:hover,
[data-theme="light"] .hdr-nav a.active{color:#3f3024!important;text-shadow:0 0 10px rgba(122,92,62,.18);}
[data-theme="light"] .card,
[data-theme="light"] .elony-item,
[data-theme="light"] .ref-item{
 background:rgba(255,255,255,.38)!important;
 backdrop-filter:blur(10px);
 box-shadow:0 8px 24px rgba(90,74,54,.08);
}
[data-theme="light"] .card:hover,
[data-theme="light"] .elony-item:hover{
 transform:translateY(-3px);
 box-shadow:0 14px 32px rgba(90,74,54,.12);
}
[data-theme="light"] .btn-primary{
 background:#D9CDB8;
 border:2px solid #B8A890;
 color:#5A4A36;
}
[data-theme="light"] .btn-primary:hover{
 background:#5A4A36;
 color:#fff;
 border-color:#4A3C2A;
 transform:translateY(-2px);
}
[data-theme="light"] .btn-primary::after{
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)!important;
 width:60%!important;
 animation:shimmerLight 4s infinite linear!important;
}
@keyframes shimmerLight{0%{left:-100%;}100%{left:200%;}}
[data-theme="light"] .hero-bg-overlay{
 background:linear-gradient(to right,rgba(244,241,235,.92),rgba(244,241,235,.72),rgba(244,241,235,.9))!important;
}
[data-theme="light"] .form-input,
[data-theme="light"] .form-textarea{
 background:rgba(255,255,255,.45)!important;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--black);
  color: var(--text-main);
  font-family: 'Inter', 'Jost', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.8;
  overflow-x: hidden;
  cursor: none; /* Saját CAD kurzor */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ══════════════════════════════════════
   BILLENTYŰZETES FÓKUSZ (accessibility)
   Egérrel navigálva marad a jelenlegi, csendes
   megjelenés; Tab-bal navigálva viszont látszik,
   melyik elem van kijelölve – ugyanaz az arany
   glow-effekt, amit a hover állapotok is használnak.
══════════════════════════════════════ */
a:focus,
button:focus,
input:focus,
textarea:focus,
[tabindex]:focus {
  outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 1px solid var(--gold-light);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px var(--gold-glow2);
  border-radius: 1px;
}

/* Form mezőknél az outline helyett a meglévő border-highlight elég */
.form-input:focus-visible,
.form-textarea:focus-visible {
  outline: none;
  box-shadow: none;
}

/* ══════════════════════════════════════
   CAD SZÁLKERESZT KURZOR
══════════════════════════════════════ */
#cad-cursor {
  position: fixed;
  top: 0; left: 0;
  width: 0; height: 0;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
}

/* Vízszintes vonal */
#cad-cursor::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 28px; height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--gold) 20%,
    var(--gold-light) 50%,
    var(--gold) 80%,
    transparent 100%);
  opacity: 0.9;
}

/* Függőleges vonal */
#cad-cursor::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 1px; height: 28px;
  background: linear-gradient(180deg,
    transparent 0%,
    var(--gold) 20%,
    var(--gold-light) 50%,
    var(--gold) 80%,
    transparent 100%);
  opacity: 0.9;
}

/* Középső pont */
.cad-cursor-dot {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 3px; height: 3px;
  background: var(--gold-light);
  border-radius: 50%;
  box-shadow: 0 0 4px var(--gold);
}

/* Külső négyzet */
.cad-cursor-box {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 10px; height: 10px;
  border: 1px solid rgba(201,168,76,0.5);
}

/* Linkek és gombok felett normál pointer helyett arany crosshair */
a, button, [role="button"] {
  cursor: none !important;
}

/* Szövegmezőkön szöveg kurzor */
input, textarea {
  cursor: text !important;
}

/* Szövegmezőkön a szálkereszt elrejtése */
.hide-crosshair #cad-cursor {
  opacity: 0 !important;
}

/* ══════════════════════════════════════
   FEJLÉC
══════════════════════════════════════ */
.hdr {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: rgba(8,8,8,0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--gold-dim);
  overflow: hidden;
}

.hdr::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%, var(--gold-dim) 20%,
    var(--gold-light) 50%, var(--gold-dim) 80%, transparent 100%);
}

.hdr::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 60px; height: 60px;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
  opacity: 0.4;
  pointer-events: none;
}

.corner-tr {
  position: absolute;
  top: 0; right: 0;
  width: 60px; height: 60px;
  border-top: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
  opacity: 0.4;
  pointer-events: none;
}

.hdr-inner {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px 0 24px;
  height: var(--hdr-h);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}

.hdr-logo {
  display: flex;
  align-items: stretch;
  gap: 14px;
  text-decoration: none;
  justify-self: start;
}

.hdr-logo-svg {
  height: auto;
  align-self: stretch;
  width: auto;
  max-width: 124px;
  display: block;
  overflow: visible;
  filter:
    drop-shadow(-0.5px -0.5px 0 rgba(255,236,190,0.35))
    drop-shadow(0.6px 0.6px 1px rgba(0,0,0,0.55))
    drop-shadow(0 0 2.5px rgba(232,204,122,0.4))
    drop-shadow(0 0 5px rgba(201,168,76,0.18));
  transition: filter 0.35s ease, transform 0.35s ease;
}

.hdr-logo:hover .hdr-logo-svg {
  filter:
    drop-shadow(-0.5px -0.5px 0 rgba(255,236,190,0.45))
    drop-shadow(0.6px 0.6px 1px rgba(0,0,0,0.6))
    drop-shadow(0 0 3.5px rgba(232,204,122,0.55))
    drop-shadow(0 0 7px rgba(201,168,76,0.28));
  transform: scale(1.03);
}

.hdr-logo-text { display: flex; flex-direction: column; gap: 3px; justify-content: center; }


.hdr-logo-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px; font-weight: 400;
  letter-spacing: 0.18em;
  color: var(--gold-light);
  text-transform: none;
  line-height: 1;
  white-space: nowrap;
  text-shadow: 0 0 10px rgba(232,204,122,0.35);
  transition: text-shadow 0.35s ease;
}

.hdr-logo:hover .hdr-logo-name {
  text-shadow: 0 0 14px rgba(232,204,122,0.55);
}

.hdr-logo-sub {
  font-size: 9.5px; font-weight: 300;
  letter-spacing: 0.36em;
  color: var(--gold-dim);
  text-transform: none;
  line-height: 1;
}

.hdr-coords {
  display: flex; align-items: center;
  gap: 12px; justify-self: center;
  margin-left: 28px;
}

.coord-item { display: flex; align-items: baseline; gap: 4px; }

.coord-label {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.2em;
  color: var(--gold-dim);
  text-transform: uppercase;
}

.coord-value {
  font-size: 10px; font-weight: 300;
  letter-spacing: 0.08em;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
  min-width: 44px;
}

.coord-sep {
  width: 1px; height: 12px;
  background: var(--gold-dim);
  opacity: 0.4;
}

.hdr-right {
  display: flex; align-items: center;
  gap: 16px; justify-self: end;
}

.hdr-nav { display: flex; align-items: center; gap: 2px; }

.hdr-nav a {
  position: relative;
  font-size: 12px; font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  padding: 8px 13px;
  transition: color 0.3s ease, text-shadow 0.3s ease, background 0.3s ease;
  white-space: nowrap;
}

.hdr-nav a.active,
.hdr-nav a:hover { color: var(--gold-light); }

.hdr-nav a::after {
  content: '';
  position: absolute;
  bottom: 2px; left: 13px; right: 13px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.hdr-nav a:hover::after,
.hdr-nav a.active::after { transform: scaleX(1); }

/* Nav gomb hover: ellipszis gradient háttér, halvány */
.hdr-nav a:hover {
  text-shadow: 0 0 14px rgba(201,168,76,0.55);
  background: radial-gradient(ellipse 80% 100% at 50% 50%,
    rgba(201,168,76,0.13) 0%,
    rgba(201,168,76,0.06) 55%,
    transparent 100%);
  border-radius: 0;
}

/* Aktív nav elem */
.hdr-nav a.active {
  text-shadow: 0 0 12px rgba(201,168,76,0.45);
  background: radial-gradient(ellipse 80% 100% at 50% 50%,
    rgba(201,168,76,0.11) 0%,
    rgba(201,168,76,0.05) 55%,
    transparent 100%);
  border-radius: 0;
}

.hdr-nav-dot {
  width: 2px; height: 2px;
  background: var(--gold-dim);
  border-radius: 50%;
  margin: 0 2px; flex-shrink: 0;
}

.hdr-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 8px;
  background: none;
  border: none;
  z-index: 10;
}

.hdr-burger span {
  display: block;
  width: 24px; height: 1px;
  background: var(--gold);
  transition: all 0.3s ease;
}

.hdr-burger.open span:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.hdr-burger.open span:nth-child(2) { opacity: 0; }
.hdr-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }

.mobile-nav {
  display: none;
  position: fixed;
  top: var(--hdr-h);
  left: 0; right: 0;
  background: rgba(12,10,8,0.97);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(201,168,76,0.2);
  z-index: 999;
  padding: 20px 24px;
  flex-direction: column;
  gap: 0;
}

.mobile-nav.open { display: flex; }

.mobile-nav a {
  font-size: 12px; font-weight: 400;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.48);
  text-decoration: none;
  padding: 13px 0;
  border-bottom: 1px solid rgba(201,168,76,0.06);
  transition: color 0.25s, padding-left 0.25s;
}

.mobile-nav a:last-child { border-bottom: none; }
.mobile-nav a.active,
.mobile-nav a:hover {
  color: var(--gold-dim);
  padding-left: 6px;
}

[data-theme="light"] .mobile-nav {
  background: rgba(233,226,214,0.98);
  border-bottom-color: rgba(122,92,48,0.18);
}
[data-theme="light"] .mobile-nav a { color: rgba(62,49,37,0.52); border-bottom-color: rgba(62,49,37,0.06); }
[data-theme="light"] .mobile-nav a:hover,
[data-theme="light"] .mobile-nav a.active { color: var(--gold); }

.hdr-status { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }

.status-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 6px var(--gold), 0 0 12px var(--gold-glow);
  animation: pulse 2.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 6px var(--gold), 0 0 12px var(--gold-glow); }
  50%       { opacity: 0.35; box-shadow: none; }
}

.status-label {
  font-size: 10px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
}

.hdr-scale {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px; overflow: hidden; pointer-events: none;
}
.hdr-scale-inner {
  position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: repeating-linear-gradient(90deg,
    var(--gold-dim) 0px, var(--gold-dim) 1px,
    transparent 1px, transparent 8px);
  opacity: 0.35;
}
.hdr-scale-beam {
  position: absolute; bottom: 0; left: -20%; width: 20%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
  animation: beam 4s linear infinite;
}
@keyframes beam { 0% { left: -20%; } 100% { left: 120%; } }

/* ══════════════════════════════════════
   KÖZÖS SZEKCIÓ STÍLUSOK
══════════════════════════════════════ */
.section {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

.section-header {
  margin-bottom: 72px;
  position: relative;
}

.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.section-tag::before {
  content: '';
  width: 32px; height: 1px;
  background: var(--gold);
}

.section-tag span {
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
}

.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 300;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.95);
  line-height: 1.15;
  margin-bottom: 20px;
}

.section-title em {
  font-style: italic;
  color: var(--gold-light);
}

.section-desc {
  font-size: 17px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-mid);
  max-width: 640px;
  line-height: 1.85;
}

.section-desc + .section-desc { margin-top: 16px; }

.kapcsolat-zaro {
  font-style: italic;
  color: var(--text-main);
}

/* ══════════════════════════════════════
   HERO (#fooldal)
══════════════════════════════════════ */
#fooldal {
  padding-top: calc(var(--hdr-h) + 80px);
  padding-bottom: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Háttérkép: fekete háttérhez.jpg */
.hero-bg {
  position: absolute;
  inset: 0;
  background-image: url("kepek/hero/hero.jpg");
  background-size: cover;
  background-position: center 30%;
  opacity: 0.55;  /* Jól látható de nem nyomja el a szöveget */
  z-index: 0;
  pointer-events: none;
}

/* Gradient overlay hogy a szöveg olvasható legyen */
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(8,8,8,0.82) 0%,
    rgba(8,8,8,0.45) 50%,
    rgba(8,8,8,0.72) 100%
  );
  pointer-events: none;
  z-index: 1;
}

#fooldal::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--white-faint) 1px, transparent 1px),
    linear-gradient(90deg, var(--white-faint) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 30% 50%, black 0%, transparent 100%);
  pointer-events: none;
  z-index: 2;  /* Overlay felett látszódjon */
  opacity: 0.6;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 780px;
  padding: 0 48px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 80px;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
}

.hero-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 28px;
  padding: 8px 16px;
  border-left: 2px solid var(--gold);
}

.hero-label span {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.5em;
  color: var(--gold);
  text-transform: uppercase;
}

.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(52px, 7vw, 92px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.96);
  margin-bottom: 28px;
  max-width: 700px;
}

.hero-title em {
  font-style: italic;
  color: var(--gold-light);
}

.hero-sub {
  font-size: 18px; font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--text-mid);
  max-width: 560px;
  line-height: 1.85;
  margin-bottom: 48px;
}

/* Az "átgondolt tervezés" mondat kiemelés */
.hero-motto {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 300;
  font-style: italic;
  color: var(--gold-light);
  letter-spacing: 0.06em;
  margin-bottom: 48px;
  padding-left: 20px;
  border-left: 2px solid var(--gold-dim);
  line-height: 1.5;
  max-width: 520px;
}

.btn-group { display: flex; gap: 16px; flex-wrap: wrap; }

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 34px;
  background: transparent;
  border: 1px solid var(--gold);
  color: var(--gold-light);
  font-family: 'Jost', sans-serif;
  font-size: 12px; font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Arany kitöltés hover-re – balról jobbra */
.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(201,168,76,0.18) 0%,
    rgba(232,204,122,0.22) 50%,
    rgba(201,168,76,0.18) 100%);
  transform: translateX(-100%);
  transition: transform 0.35s ease;
}

/* Csillogó sweep animáció – jobbról balra fut át */
.btn-primary::after {
  content: '';
  position: absolute;
  top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(232,204,122,0.35) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  animation: btn-sweep 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes btn-sweep {
  0%   { left: -75%; opacity: 0; }
  10%  { opacity: 1; }
  60%  { left: 125%; opacity: 0.6; }
  61%  { opacity: 0; }
  100% { left: 125%; opacity: 0; }
}

.btn-primary:hover::before { transform: translateX(0); }
.btn-primary:hover {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(255,255,255,1.0);
  border-color: var(--gold-light);
  box-shadow: 0 0 24px rgba(201,168,76,0.3), 0 0 8px rgba(201,168,76,0.15);
}
.btn-primary span {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}

.btn-primary:hover span {
  color: #ffffff !important;
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  padding: 15px 34px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.72);
  font-family: 'Jost', sans-serif;
  font-size: 12px; font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-secondary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.06);
  transform: translateX(-100%);
  transition: transform 0.35s ease;
}

.btn-secondary::after {
  content: '';
  position: absolute;
  top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.15) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  animation: btn-sweep 4s ease-in-out infinite;
  animation-delay: 1.5s;
  pointer-events: none;
}

.btn-secondary:hover::before { transform: translateX(0); }
.btn-secondary:hover {
  border-color: var(--gold);
  color: #ffffff;
  text-shadow: 0 0 8px rgba(255,255,255,0.9);
  box-shadow: 0 0 16px rgba(201,168,76,0.2);
}

.btn-secondary span {
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}

.btn-secondary:hover span {
  color: #ffffff !important;
}

.hero-stats {
  display: flex;
  gap: 48px;
  margin-top: 64px;
  padding-top: 36px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 38px; font-weight: 300;
  color: var(--gold-light);
  line-height: 1;
  letter-spacing: 0.05em;
}

.stat-label {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-top: 6px;
}

/* ══════════════════════════════════════
   HERO – LENYÍLÓ FELSOROLÁSOK
   A látogató tetszőlegesen nyitja/csukja a kártyákat
══════════════════════════════════════ */
.hero-acc-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 620px;
  margin-bottom: 44px;
}

.hero-acc-item {
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.18);
  transition: border-color 0.3s ease;
}

.hero-acc-item:hover,
.hero-acc-item.open { border-color: rgba(201,168,76,0.4); }

.hero-acc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  cursor: none !important;
  user-select: none;
  transition: background 0.25s ease;
}

.hero-acc-head:hover,
.hero-acc-item.open .hero-acc-head { background: var(--black-card-hover); }

.hero-acc-head-title {
  font-size: 13px; font-weight: 400;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.85);
}

.hero-acc-head-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.hero-acc-count {
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px; font-weight: 400;
  letter-spacing: 0.03em;
  color: var(--gold-dim);
}

.hero-acc-chevron {
  width: 14px; height: 14px;
  stroke: var(--gold-dim);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.hero-acc-item.open .hero-acc-chevron { transform: rotate(180deg); }

.hero-acc-body {
  display: none;
  padding: 16px 20px 18px;
  border-top: 1px solid rgba(201,168,76,0.10);
}

.hero-acc-item.open .hero-acc-body { display: block; }

.hero-check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 11px;
}

.hero-check-list li {
  position: relative;
  padding: 4px 10px 4px 24px;
  margin: -4px -10px -4px 0;
  border-radius: 4px;
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.02em;
  line-height: 1.55;
  color: var(--text-mid);
  transition: background-color 0.25s ease, color 0.2s ease;
}

.hero-check-list li:hover {
  background-color: var(--gold-glow);
  color: var(--text-main);
}

.hero-check-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 3px;
  width: 14px; height: 14px;
  background-color: var(--gold-light);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,8 6.5,11.5 13,4.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,8 6.5,11.5 13,4.5'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* ══════════════════════════════════════
   BEMUTATKOZÓ SÁV (új – az időtállóság kép előtt)
══════════════════════════════════════ */
.intro-band {
  background: var(--black-soft);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}

.intro-band::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim) 30%, var(--gold-dim) 70%, transparent);
  opacity: 0.4;
}

.intro-band::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim) 30%, var(--gold-dim) 70%, transparent);
  opacity: 0.4;
}

.intro-band-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "lead  ."
    "body1 body2";
  column-gap: 64px;
  row-gap: 24px;
  align-items: start;
}

.intro-text-block {}

.intro-lead-col1 { grid-area: lead; }
.intro-body-col1 { grid-area: body1; }
.intro-body-col2 { grid-area: body2; }

.intro-lead {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 300;
  font-style: italic;
  color: var(--gold-light);
  line-height: 1.55;
  margin-bottom: 0;
  letter-spacing: 0.04em;
}

.intro-body {
  font-size: 17px; font-weight: 300;
  color: var(--text-mid);
  line-height: 1.85;
  letter-spacing: 0.04em;
}

.intro-body p { margin-bottom: 14px; }
.intro-body p:last-child { margin-bottom: 0; }

.intro-body strong {
  color: var(--text-main);
  font-weight: 400;
}

/* ══════════════════════════════════════
   IDŐTÁLLÓSÁG KÉP SZEKCIÓ
══════════════════════════════════════ */
.idotallasag-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* Auto magasság hogy a teljes kép látszódjon */
  line-height: 0;
}

.idotallasag-section img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  display: block;
  /* A kép eredeti arányában jelenik meg, semmi nem vágódik le */
}

/* Overlay a kép tetején */
.idotallasag-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(8,8,8,0.25) 0%,
    rgba(8,8,8,0.0)  15%,
    rgba(8,8,8,0.0)  85%,
    rgba(8,8,8,0.25) 100%
  );
}

/* Lámpa-fényglória – finoman "lélegző" meleg fény pontosan a lámpa
   izzója fölött, a kép saját fényét erősíti, nem ad hozzá új elemet. */
.idotallasag-lamp-glow {
  position: absolute;
  left: 90.3%;
  top: 27%;
  width: 15%;
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(255,214,150,0.55) 0%,
    rgba(255,190,110,0.24) 38%,
    rgba(255,180,90,0)     72%
  );
  mix-blend-mode: screen;
  pointer-events: none;
  animation: lampBreathe 9s ease-in-out infinite;
}

@keyframes lampBreathe {
  0%, 100% { opacity: 0.55; transform: translate(-50%, -50%) scale(0.94); }
  50%      { opacity: 1;    transform: translate(-50%, -50%) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .idotallasag-lamp-glow { animation: none; opacity: 0.75; }
}

/* CsabaCAD 3D logó sáv – saját (szélesebb) képarány, lámpafény nélkül,
   mert ezen a képen nincs lámpa, amihez igazítani kellene. */
.idotallasag-section.logo3d-variant img {
  aspect-ratio: 2629 / 1408;
}

/* Világos módban az általános .idotallasag-overlay elég erős (30% opacitás)
   ahhoz, hogy az Időtállóság-fotó mélybarna aljára rásimuljon. Ugyanez a
   render alján viszont egy jól látható, "bevilágító" világos sávot húzott,
   mert ott a kép már eleve világosabb barna tónusú. Ide egy sokkal
   visszafogottabb, csak halvány szél-tónust adó verzió kell. */
[data-theme="light"] .logo3d-variant .idotallasag-overlay {
  background: linear-gradient(
    to bottom,
    rgba(200,164,90,0.10) 0%,
    rgba(200,164,90,0.0)  15%,
    rgba(200,164,90,0.0)  85%,
    rgba(200,164,90,0.10) 100%
  );
}

/* ══════════════════════════════════════
   RÓLAM (#rolam)
══════════════════════════════════════ */
#rolam {
  background: var(--black-soft);
}

#rolam::after {
  content: '';
  position: absolute;
  left: -100px; top: 50%;
  transform: translateY(-50%);
  width: 400px; height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,0.05);
  pointer-events: none;
}

.rolam-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) 1.5fr;
  gap: 48px 72px;
  align-items: start;
}

.rolam-text-full { grid-column: 1 / -1; }

.rolam-photo-col { position: relative; }

.rolam-photo-frame {
  position: relative;
  border: 1px solid rgba(201,168,76,0.25);
  background: var(--black-card);
  padding: 14px;
  transition: border-color 0.35s ease;
}

.rolam-photo-frame:hover { border-color: rgba(201,168,76,0.45); }

.rolam-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  filter: sepia(0.16) saturate(1.1) contrast(1.03) brightness(0.98);
  transition: filter 0.35s ease;
}

.rolam-photo-frame:hover img { filter: sepia(0.14) saturate(1.14) contrast(1.04) brightness(1.01); }

.rolam-photo-frame::after {
  content: '';
  position: absolute;
  inset: 14px;
  box-shadow: inset 0 0 70px 18px rgba(8,8,8,0.4);
  pointer-events: none;
}

.rolam-photo-corner {
  position: absolute;
  width: 28px; height: 28px;
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.rolam-photo-frame:hover .rolam-photo-corner { opacity: 0.85; }

.rolam-photo-corner-tl { top: 0; left: 0; border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); }
.rolam-photo-corner-tr { top: 0; right: 0; border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); }
.rolam-photo-corner-bl { bottom: 0; left: 0; border-bottom: 1px solid var(--gold); border-left: 1px solid var(--gold); }
.rolam-photo-corner-br { bottom: 0; right: 0; border-bottom: 1px solid var(--gold); border-right: 1px solid var(--gold); }

[data-theme="light"] .rolam-photo-frame { background: rgba(255,255,255,0.5); border-color: rgba(15,8,4,0.16); }
[data-theme="light"] .rolam-photo-frame:hover { border-color: rgba(139,58,42,0.35); }
[data-theme="light"] .rolam-photo-frame::after { box-shadow: inset 0 0 70px 18px rgba(15,8,4,0.12); }

.rolam-values {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.value-item {
  padding: 20px 24px;
  border-left: 2px solid transparent;
  transition: border-color 0.3s, background 0.3s;
}

.value-item:hover {
  border-left-color: var(--gold);
  background: rgba(201,168,76,0.04);
}

.value-label {
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.4em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.value-text {
  font-size: 16px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-mid);
  line-height: 1.7;
}

.rolam-text {}

.rolam-intro {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 300;
  font-style: italic;
  color: var(--gold-light);
  letter-spacing: 0.04em;
  line-height: 1.65;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}

.rolam-p {
  font-size: 17px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-mid);
  line-height: 1.9;
  margin-bottom: 20px;
}

.rolam-p:last-child { margin-bottom: 0; }

.rolam-highlight {
  color: var(--text-main);
  font-weight: 400;
}

.rolam-years {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.rolam-years-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 68px; font-weight: 300;
  color: var(--gold-light);
  line-height: 1;
  letter-spacing: 0.02em;
}

.rolam-years-label {
  font-size: 12px; font-weight: 300;
  letter-spacing: 0.3em;
  color: var(--gold-dim);
  text-transform: uppercase;
  line-height: 1.5;
}

/* ══════════════════════════════════════
   SZOLGÁLTATÁSOK (#szolgaltatasok)
══════════════════════════════════════ */
#szolgaltatasok {
  background: var(--black);
}

#szolgaltatasok::before {
  content: '';
  position: absolute;
  right: -200px; top: 50%;
  transform: translateY(-50%);
  width: 500px; height: 500px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,0.05);
  pointer-events: none;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-dim);
}

.card {
  background: var(--black-card);
  padding: 40px 36px;
  position: relative;
  transition: background 0.3s ease;
  overflow: hidden;
}

.card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

.card:hover { background: var(--black-card-hover); }
.card:hover::before { transform: scaleX(1); }

.card-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  margin-bottom: 24px;
  opacity: 0.65;
}

.card-icon {
  width: 42px; height: 42px;
  margin-bottom: 24px;
  opacity: 0.8;
}

.card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 400;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.92);
  margin-bottom: 10px;
  line-height: 1.25;
}

.card-subtitle {
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.06em;
  color: var(--gold-dim);
  margin-bottom: 24px;
  line-height: 1.55;
}

.card-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-bottom: 28px;
}

.card-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 15px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-dim);
  line-height: 1.65;
}

.card-list li::before {
  content: '';
  width: 16px; height: 1px;
  background: var(--gold-dim);
  flex-shrink: 0;
  margin-top: 10px;
  transition: width 0.3s, background 0.3s;
}

.card:hover .card-list li::before {
  width: 22px;
  background: var(--gold);
}

.card-list li strong {
  color: var(--text-main);
  font-weight: 500;
}

.card-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.3s;
}

.card-more::after {
  content: '→';
  transition: transform 0.3s;
}

.card:hover .card-more { color: var(--gold); }
.card:hover .card-more::after { transform: translateX(4px); }

/* ══════════════════════════════════════
   REFERENCIÁK (#referenciak)
══════════════════════════════════════ */
#referenciak {
  background: var(--black-soft);
}

/* Két oszlop: bal = dekorációs képek, jobb = lista */
.ref-layout {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}

/* Bal oldal: dekorációs képek */
.ref-images {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: sticky;
  top: calc(var(--hdr-h) + 24px);
}

.ref-img-item {
  position: relative;
  overflow: hidden;
  line-height: 0;
}

.ref-img-item img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  filter: grayscale(30%) brightness(0.75);
  transition: filter 0.4s ease;
}

.ref-img-item:hover img {
  filter: grayscale(0%) brightness(0.9);
}

.ref-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(8,8,8,0.6) 100%
  );
}

.ref-img-label {
  position: absolute;
  bottom: 12px; left: 16px;
  font-size: 10px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
}

/* Jobb oldal: projekt lista */
.ref-list {
  display: flex;
  flex-direction: column;
}

.ref-list-item {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 24px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s;
  position: relative;
}

.ref-list-item:first-child { padding-top: 0; }
.ref-list-item:last-child { border-bottom: none; }

.ref-list-item::before {
  content: '';
  position: absolute;
  left: -24px; top: 0; bottom: 0;
  width: 2px;
  background: var(--gold);
  transform: scaleY(0);
  transition: transform 0.3s ease;
  transform-origin: top;
}

.ref-list-item:hover::before { transform: scaleY(1); }

.ref-list-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 300;
  color: var(--gold-dim);
  letter-spacing: 0.3em;
  flex-shrink: 0;
  padding-top: 2px;
  min-width: 40px;
  opacity: 0.7;
}

.ref-list-content {}

.ref-tag {
  font-size: 10px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.ref-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 400;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin-bottom: 8px;
}

.ref-desc {
  font-size: 15px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-dim);
  line-height: 1.75;
}

.ref-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.ref-badge {
  font-size: 10px; font-weight: 500;
  letter-spacing: 0.3em;
  color: var(--gold-light);
  border: 1px solid rgba(201,168,76,0.35);
  padding: 4px 12px;
  text-transform: uppercase;
  background: rgba(201,168,76,0.06);
  transition: background 0.2s, border-color 0.2s;
}

.ref-list-item:hover .ref-badge {
  background: rgba(201,168,76,0.12);
  border-color: rgba(201,168,76,0.55);
}

/* ══════════════════════════════════════
   KAPCSOLAT (#kapcsolat)
══════════════════════════════════════ */
#kapcsolat {
  background: var(--black);
}

#kapcsolat::before {
  content: '';
  position: absolute;
  left: 50%; top: 0;
  transform: translateX(-50%);
  width: 1px; height: 100%;
  background: linear-gradient(180deg,
    transparent, var(--gold-dim) 30%, var(--gold-dim) 70%, transparent);
  opacity: 0.15;
  pointer-events: none;
}

/* A kapcsolat szekció leíró szövege ne lógjon át a felezővonal mögé */
#kapcsolat .section-desc {
  max-width: 460px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

.contact-items {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 0;  /* A form bal oldalán az ikonok a form tetejével egy vonalban */
}

.contact-item {
  display: flex;
  gap: 20px;
  align-items: center;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.contact-item:last-child { border-bottom: none; }

.contact-icon {
  width: 38px; height: 38px;
  border: 1px solid var(--gold-dim);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.contact-icon svg { width: 16px; height: 16px; }

.contact-item-label {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.contact-item-value {
  font-size: 16px; font-weight: 300;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.82);
}

.form-group { margin-bottom: 22px; }

.form-label {
  display: block;
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.form-input,
.form-textarea {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid var(--gold-dim);
  color: rgba(255,255,255,0.85);
  font-family: 'Jost', sans-serif;
  font-size: 16px; font-weight: 300;
  letter-spacing: 0.06em;
  padding: 14px 16px;
  outline: none;
  transition: border-color 0.3s, background 0.3s;
  resize: none;
}

.form-input:focus,
.form-textarea:focus {
  border-bottom-color: var(--gold);
  background: rgba(201,168,76,0.04);
}

.form-textarea { height: 130px; }

/* Fájlfeltöltő */
.file-upload-wrap {
  position: relative;
}

.file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

.file-upload-display {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid var(--gold-dim);
  transition: border-color 0.3s, background 0.3s;
}

.file-upload-wrap:hover .file-upload-display,
.file-input:focus + .file-upload-display {
  border-bottom-color: var(--gold);
  background: rgba(201,168,76,0.04);
}

.file-upload-icon { flex-shrink: 0; }

.file-upload-text {
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35);
}

.file-upload-text.has-file {
  color: var(--gold-light);
}

/* ══════════════════════════════════════
   LÁBLÉC
══════════════════════════════════════ */
.footer {
  position: relative;
  background: var(--black);
  border-top: 1px solid var(--gold-dim);
  overflow: hidden;
}

.footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%, var(--gold-dim) 20%,
    var(--gold-light) 50%, var(--gold-dim) 80%, transparent 100%);
}

.footer-main { padding: 64px 0 48px; }

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
}

.footer-logo-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 23px; font-weight: 400;
  letter-spacing: 0.2em;
  color: var(--gold-light);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.footer-logo-sub {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 24px;
}

.footer-brand-desc {
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.45);
  line-height: 1.85;
  max-width: 280px;
}

.footer-col-title {
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201,168,76,0.15);
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.footer-links a {
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  transition: color 0.3s;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-links a::before {
  content: '';
  width: 12px; height: 1px;
  background: var(--gold-dim);
  flex-shrink: 0;
  transition: width 0.3s, background 0.3s;
}

/* Vastagítás layout-shift nélkül: text-shadow adja a "bold" hatást */
.footer-links a:hover {
  color: var(--gold-light);
  text-shadow: 0 0 0.5px var(--gold-light), 0 0 0.5px var(--gold-light);
}
.footer-links a:hover::before { width: 20px; background: var(--gold); }

.footer-social {
  display: flex;
  gap: 12px;
  margin-top: 28px;
}

.social-btn {
  width: 38px; height: 38px;
  border: 1px solid var(--gold-dim);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold-dim);
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 12px;
}

.social-btn:hover {
  border-color: var(--gold);
  color: var(--gold-light);
  box-shadow: 0 0 12px var(--gold-glow);
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.05);
  padding: 22px 0;
}

.footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.footer-copy {
  font-size: 12px; font-weight: 300;
  letter-spacing: 0.25em;
  color: rgba(255,255,255,0.3);
  text-transform: uppercase;
}

.footer-copy span { color: var(--gold-dim); }

.footer-bottom-links {
  display: flex;
  gap: 24px;
}

.footer-bottom-links a {
  font-size: 12px; font-weight: 300;
  letter-spacing: 0.25em;
  color: rgba(255,255,255,0.28);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.3s;
}

.footer-bottom-links a:hover { color: var(--gold-dim); }

.footer-corner-bl {
  position: absolute; bottom: 0; left: 0;
  width: 40px; height: 40px;
  border-bottom: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
  opacity: 0.3;
}

.footer-corner-br {
  position: absolute; bottom: 0; right: 0;
  width: 40px; height: 40px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
  opacity: 0.3;
}

/* ══════════════════════════════════════
   SCROLL ANIMÁCIÓ
══════════════════════════════════════ */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }

/* ══════════════════════════════════════
   ELŐNYÖK SZEKCIÓ
══════════════════════════════════════ */
.elony-item {
  background: var(--black-card);
  padding: 36px 32px;
  position: relative;
  transition: background 0.3s;
}

.elony-item::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

.elony-item:hover { background: var(--black-card-hover); }
.elony-item:hover::before { transform: scaleX(1); }

.elony-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  margin-bottom: 16px;
  opacity: 0.65;
}

.elony-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.03em;
  line-height: 1.3;
  margin-bottom: 12px;
}

.elony-desc {
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--text-dim);
  line-height: 1.75;
}

/* ══════════════════════════════════════
   KÉPGALÉRIA SZEKCIÓ (#kepgaleria)
══════════════════════════════════════ */
#kepgaleria {
  background: var(--black);
  padding: 100px 0 80px;
}

/* Scrollozható képsor */
.gallery-scroll-wrap {
  position: relative;
  overflow: hidden;
}

.gallery-track {
  display: flex;
  gap: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.gallery-slide {
  flex: 0 0 100%;
  width: 100%;
  position: relative;
}

.gallery-slide img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 620px;
  object-fit: contain;
  object-position: center;
}

/* Helyőrző a hiányzó képekhez */
.gallery-placeholder {
  width: 100%;
  height: 400px;
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.gallery-placeholder-icon {
  width: 48px; height: 48px;
  opacity: 0.2;
}

.gallery-placeholder-text {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  text-transform: uppercase;
}

/* Slide info sáv */
.gallery-info {
  padding: 24px 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.gallery-info-left {}

.gallery-slide-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  margin-bottom: 6px;
}

.gallery-slide-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.04em;
}

/* Navigáció */
.gallery-nav {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.gallery-btn {
  width: 44px; height: 44px;
  border: 1px solid var(--gold-dim);
  background: transparent;
  color: var(--gold-dim);
  display: flex; align-items: center; justify-content: center;
  cursor: none;
  transition: all 0.3s ease;
  font-size: 16px;
}

.gallery-btn:hover {
  border-color: var(--gold);
  color: var(--gold-light);
  box-shadow: 0 0 12px var(--gold-glow);
}

.gallery-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Dot indikátorok */
.gallery-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gallery-dot {
  width: 24px; height: 1px;
  background: rgba(201,168,76,0.25);
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
  padding: 0;
}

.gallery-dot.active {
  background: var(--gold);
  width: 40px;
}

.gallery-dot:hover { background: var(--gold-dim); }

/* Haladás sáv */
.gallery-progress {
  height: 1px;
  background: rgba(201,168,76,0.1);
  margin-top: 24px;
  position: relative;
  overflow: hidden;
}

.gallery-progress-bar {
  position: absolute;
  left: 0; top: 0; height: 100%;
  background: linear-gradient(90deg, var(--gold-dim), var(--gold-light));
  transition: width 0.5s ease;
}

/* ══════════════════════════════════════
   MOBILNÉZET
══════════════════════════════════════ */
/* 1400px alatt koordináta eltűnik – ez a fejléc-konténer saját max-width
   értéke; ez alatt nem marad elég hely a logóhoz + koordinátákhoz +
   teljes navigációhoz ütközés nélkül, ezért itt még biztonságosabb
   egyszerűen nem megjeleníteni. */
@media (max-width: 1400px) {
  .hdr-coords { display: none; }
}

/* 1280px alatt koordináta eltűnik */
@media (max-width: 1280px) {
  .hdr-inner { grid-template-columns: auto 1fr; }
  .hdr-right { justify-self: end; }

  /* Tablet-tartomány: a logó arányosan kisebb, az alcím látható marad
     (nem tűnik el, csak kicsivel kisebb betűvel) — így nem ugrik a
     mérete hirtelen teljes méretről eltűnésre/visszaugrásra. */
  .hdr-logo-svg { max-width: 100px; }
  .hdr-logo-name { font-size: 15px; }
  .hdr-logo-sub { font-size: 8.5px; letter-spacing: 0.3em; }
}

/* 1100px alatt nav linkek kompaktabbak */
@media (max-width: 1100px) {
  .hdr-nav a {
    font-size: 10px;
    letter-spacing: 0.15em;
    padding: 8px 7px;
  }
  .hdr-nav a::after { left: 7px; right: 7px; }
  .hdr-nav-dot { margin: 0 1px; }
  .hdr-inner { padding: 0 20px; }
  .intro-band-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "lead" "body1" "body2";
    row-gap: 32px;
  }
}

@media (max-width: 768px) {
  :root { --hdr-h: 64px; }

  .hdr-inner {
    padding: 0 16px;
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  /* Logo igazítás – ne lógjon rá a csíkra */
  .hdr-logo { padding-top: 8px; }
  .hdr-logo-name { font-size: 13px; }
  .hdr-logo-sub { display: block; font-size: 8px; letter-spacing: 0.25em; opacity: 0.85; }

  /* Mobil jobb oldal – témaváltó + burger */
  .hdr-right { display: none; }
  .hdr-mobile-right {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .theme-toggle-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid var(--gold-dim);
    padding: 5px 8px;
    cursor: none;
    transition: all 0.3s ease;
    border-radius: 2px;
  }
  .theme-toggle-mobile .theme-toggle-icon {
    font-size: 14px;
    color: var(--gold-light);
    filter: drop-shadow(0 0 3px rgba(232,204,122,0.4));
  }
  [data-theme="light"] .theme-toggle-mobile { border-color: rgba(62,49,37,0.35); }

  .hdr-burger { display: flex; }

  .section { padding: 80px 0; }
  .container { padding: 0 20px; }
  .intro-band { padding: 56px 0; }
  .intro-band-inner { padding: 0 20px; gap: 36px; }

  #fooldal { padding-top: calc(var(--hdr-h) + 48px); }
  .hero-content { padding: 0 20px 64px; }

  .hero-title { font-size: clamp(38px, 10vw, 58px); }
  .hero-sub { font-size: 16px; }
  .hero-motto { font-size: 17px; }

  .hero-stats { gap: 28px; flex-wrap: wrap; margin-top: 48px; padding-top: 28px; }

  .hero-acc-wrap { max-width: 100%; margin-bottom: 36px; }
  .hero-acc-head { padding: 14px 16px; }
  .hero-acc-head-title { font-size: 12px; }
  .hero-acc-body { padding: 14px 16px 16px; }
  .hero-check-list li { font-size: 13.5px; }
  .stat-num { font-size: 30px; }


  .rolam-grid { grid-template-columns: 1fr; gap: 40px; }
  .rolam-photo-frame { max-width: 320px; margin: 0 auto; }
  .rolam-years-num { font-size: 52px; }
  .rolam-p { font-size: 16px; }

  .cards-grid { grid-template-columns: 1fr; }
  .card { padding: 36px 28px; }

  .ref-grid { grid-template-columns: 1fr; }
  .ref-item { padding: 32px 24px; }

  .contact-grid { grid-template-columns: 1fr; gap: 48px; }
  .contact-items { margin-top: 0; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; padding: 0 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom-inner { flex-direction: column; text-align: center; padding: 0 24px; gap: 12px; }
}

@media (max-width: 480px) {
  .btn-group { flex-direction: column; }
  .btn-primary, .btn-secondary { justify-content: center; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom-links { gap: 16px; }
  .section-title { font-size: clamp(28px, 8vw, 40px); }
  .intro-lead { font-size: 19px; }
  .intro-body { font-size: 15px; }
  #elonyok > .container > div[style] { grid-template-columns: 1fr !important; }
  .gallery-info { flex-direction: column; gap: 16px; }
  .gallery-slide-title { font-size: 18px; }
}

@media (max-width: 900px) {
  .ref-layout { grid-template-columns: 1fr; }
  .ref-images { display: none; }
  #elonyok > .container > div[style] { grid-template-columns: 1fr 1fr; }
}

/* ══════════════════════════════════════
   ÁRAZÁS SZEKCIÓ
══════════════════════════════════════ */
#arazas { background: var(--black-soft); }

.arazas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-dim);
  margin-bottom: 40px;
}

.arazas-card {
  background: var(--black-card);
  padding: 40px 36px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 28px;
  transition: background 0.3s;
}

.arazas-card:hover { background: var(--black-card-hover); }

.arazas-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transform: scaleX(0);
  transition: transform 0.4s ease;
}

.arazas-card:hover::before { transform: scaleX(1); }

/* Kiemelt kártya */
.arazas-card--featured {
  background: var(--black);
}
.arazas-card--featured::before { transform: scaleX(1); opacity: 0.6; }
.arazas-card--featured:hover { background: #0d0d0d; }

.arazas-featured-label {
  position: absolute;
  top: -1px; right: 28px;
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--black);
  background: var(--gold);
  padding: 4px 12px;
}

.arazas-card-header {}

.arazas-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 26px; font-weight: 300;
  color: var(--gold-dim);
  letter-spacing: 0.4em;
  margin-bottom: 14px;
  opacity: 0.65;
}

.arazas-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 400;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.03em;
  line-height: 1.25;
  margin-bottom: 10px;
}

.arazas-lead {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
  line-height: 1.7;
  letter-spacing: 0.03em;
}

/* Tételek */
.arazas-items {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(201,168,76,0.12);
}

.arazas-items li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.arazas-item-name {
  font-size: 14px; font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.04em;
}

.arazas-item-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px; font-weight: 400;
  color: var(--gold-light);
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.arazas-unit {
  font-size: 12px; font-weight: 300;
  color: var(--gold-dim);
  letter-spacing: 0.08em;
}

/* Tipikus projektek */
.arazas-examples {
  background: rgba(201,168,76,0.04);
  border-left: 2px solid var(--gold-dim);
  padding: 14px 16px;
}

.arazas-examples-label {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold-dim);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.arazas-example-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 4px 0;
}

.arazas-example-name {
  font-size: 13px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.03em;
}

.arazas-example-time {
  font-size: 12px; font-weight: 300;
  color: var(--gold-dim);
  white-space: nowrap;
  letter-spacing: 0.06em;
}

/* Határidő */
.arazas-deadline {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
}

.arazas-deadline svg { flex-shrink: 0; stroke: var(--gold-dim); }
.arazas-deadline strong { color: var(--text-mid); font-weight: 400; }

/* Gomb */
.arazas-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 28px;
  background: transparent;
  border: 1px solid var(--gold-dim);
  color: var(--gold);
  font-family: 'Jost', sans-serif;
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  margin-top: auto;
}

.arazas-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-glow);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
}

.arazas-btn:hover {
  border-color: var(--gold);
  color: var(--gold-light);
  box-shadow: 0 0 16px var(--gold-glow);
}

.arazas-btn:hover::before { transform: translateX(0); }

.arazas-btn span { position: relative; z-index: 1; }

/* Megjegyzés */
.arazas-note {
  font-size: 13px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
  line-height: 1.7;
  text-align: center;
  opacity: 0.7;
}

/* Reszponzív */
@media (max-width: 900px) {
  .arazas-grid { grid-template-columns: 1fr; }
}

/* ── Árazás – világos mód ── */
[data-theme="light"] #arazas { background: var(--black-soft); }
[data-theme="light"] .arazas-card {
  background: rgba(255,255,255,0.38) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(90,74,54,0.08);
}
[data-theme="light"] .arazas-card:hover {
  background: rgba(255,255,255,0.55) !important;
  box-shadow: 0 14px 32px rgba(90,74,54,0.12);
}
[data-theme="light"] .arazas-card--featured {
  background: rgba(255,255,255,0.52) !important;
}
[data-theme="light"] .arazas-card::before {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
[data-theme="light"] .arazas-featured-label {
  color: #fff;
  background: var(--gold);
}
[data-theme="light"] .arazas-num { color: rgba(15,8,4,0.38); }
[data-theme="light"] .arazas-title { color: rgba(15,8,4,0.92); font-weight: 600; }
[data-theme="light"] .arazas-lead { color: rgba(15,8,4,0.68); font-weight: 400; }
[data-theme="light"] .arazas-items { border-top-color: rgba(15,8,4,0.12); }
[data-theme="light"] .arazas-items li { border-bottom-color: rgba(15,8,4,0.08); }
[data-theme="light"] .arazas-item-name { color: rgba(15,8,4,0.80); font-weight: 500; }
[data-theme="light"] .arazas-item-price { color: rgba(15,8,4,0.88); font-weight: 600; font-family: 'Cormorant Garamond', serif; font-size: 18px; }
[data-theme="light"] .arazas-unit { color: rgba(15,8,4,0.55); font-weight: 400; }
[data-theme="light"] .arazas-examples {
  background: rgba(15,8,4,0.05);
  border-left-color: var(--gold-dim);
}
[data-theme="light"] .arazas-examples-label { color: var(--gold-dim); }
[data-theme="light"] .arazas-example-name { color: rgba(15,8,4,0.70); font-weight: 400; }
[data-theme="light"] .arazas-example-time { color: rgba(15,8,4,0.60); }
[data-theme="light"] .arazas-deadline { color: rgba(15,8,4,0.68); }
[data-theme="light"] .arazas-deadline svg { stroke: var(--gold-dim); }
[data-theme="light"] .arazas-deadline strong { color: rgba(15,8,4,0.88); font-weight: 600; }
[data-theme="light"] .arazas-btn {
  border-color: var(--gold-dim);
  color: rgba(15,8,4,0.75);
  font-weight: 500;
}
[data-theme="light"] .arazas-btn:hover {
  border-color: var(--gold);
  color: rgba(15,8,4,0.95);
  background: rgba(15,8,4,0.06);
}
[data-theme="light"] .arazas-note { color: rgba(15,8,4,0.52); }

/* ══ Előnyök piktogramok ══ */
.elony-icon {
  width: 44px; height: 44px;
  margin-bottom: 20px;
  flex-shrink: 0;
  color: var(--gold-dim);
  transition: color 0.3s, transform 0.3s;
}
.elony-icon svg { width: 100%; height: 100%; }
.elony-item:hover .elony-icon {
  color: var(--gold);
  transform: scale(1.08);
}
[data-theme="light"] .elony-icon { color: var(--gold-dim); }
[data-theme="light"] .elony-item:hover .elony-icon { color: var(--gold); }

/* ══ Scrolling szalag a lábléc felett ══ */
.marquee-band {
  overflow: hidden;
  border-top: 1px solid rgba(201,168,76,0.15);
  border-bottom: 1px solid rgba(201,168,76,0.15);
  padding: 14px 0;
  background: transparent;
  position: relative;
}
.marquee-band::before,
.marquee-band::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.marquee-band::before {
  left: 0;
  background: linear-gradient(90deg, var(--black) 0%, transparent 100%);
}
.marquee-band::after {
  right: 0;
  background: linear-gradient(270deg, var(--black) 0%, transparent 100%);
}
[data-theme="light"] .marquee-band::before {
  background: linear-gradient(90deg, var(--black-soft) 0%, transparent 100%);
}
[data-theme="light"] .marquee-band::after {
  background: linear-gradient(270deg, var(--black-soft) 0%, transparent 100%);
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 28s linear infinite;
}
.marquee-track:hover { animation-play-state: paused; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee-item {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold-dim);
  white-space: nowrap;
}
.marquee-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--gold-dim);
  opacity: 0.5;
  flex-shrink: 0;
}
[data-theme="light"] .marquee-item { color: rgba(15,8,4,0.40); }
[data-theme="light"] .marquee-dot { background: rgba(15,8,4,0.30); }

/* ══ Referencia parallax ══ */
.ref-list-item {
  transform: translateY(0);
  transition: transform 0.4s cubic-bezier(.2,0,.2,1), background 0.3s, border-color 0.3s;
  will-change: transform;
}

/* ══ Referencia kategóriák ══ */
.ref-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(201,168,76,0.15);
  border: 1px solid rgba(201,168,76,0.15);
}

.ref-cat {
  background: var(--black-card);
  padding: 32px 28px;
  transition: background 0.3s;
  position: relative;
}
.ref-cat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim), transparent);
  transform: scaleX(0);
  transition: transform 0.4s ease;
}
.ref-cat:hover { background: var(--black-card-hover); }
.ref-cat:hover::before { transform: scaleX(1); }

.ref-cat-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}

.ref-cat-icon {
  width: 32px; height: 32px;
  flex-shrink: 0;
  color: var(--gold-dim);
  margin-top: 4px;
  transition: color 0.3s;
}
.ref-cat-icon svg { width: 100%; height: 100%; }
.ref-cat:hover .ref-cat-icon { color: var(--gold); }

.ref-cat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.4em;
  color: var(--gold-dim);
  opacity: 0.7;
  margin-bottom: 4px;
}

.ref-cat-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.ref-cat-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ref-cat-item {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: padding-left 0.25s;
}
.ref-cat-item:last-child { border-bottom: none; }
.ref-cat:hover .ref-cat-item { padding-left: 4px; }

.ref-cat-name {
  font-size: 14px; font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.ref-cat-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

@media (max-width: 1000px) {
  .ref-categories { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .ref-categories { grid-template-columns: 1fr; }
}

/* Világos mód */
[data-theme="light"] .ref-categories {
  background: rgba(15,8,4,0.08);
  border-color: rgba(15,8,4,0.10);
}
[data-theme="light"] .ref-cat {
  background: rgba(255,255,255,0.42);
  backdrop-filter: blur(10px);
}
[data-theme="light"] .ref-cat:hover {
  background: rgba(255,255,255,0.60);
}
[data-theme="light"] .ref-cat-header {
  border-bottom-color: rgba(15,8,4,0.10);
}
[data-theme="light"] .ref-cat-title { color: rgba(15,8,4,0.88); font-weight: 600; }
[data-theme="light"] .ref-cat-num { color: rgba(15,8,4,0.35); }
[data-theme="light"] .ref-cat-icon { color: var(--gold-dim); }
[data-theme="light"] .ref-cat:hover .ref-cat-icon { color: var(--gold); }
[data-theme="light"] .ref-cat-item { border-bottom-color: rgba(15,8,4,0.06); }
[data-theme="light"] .ref-cat-name { color: rgba(15,8,4,0.72); font-weight: 400; }

/* ══ Szakmai szerep blokk ══ */
.szakmai-szerep-wrap {
  background: rgba(201,168,76,0.04);
  border-top: 1px solid rgba(201,168,76,0.12);
  border-bottom: 1px solid rgba(201,168,76,0.12);
  padding: 40px 0;
}

.szakmai-szerep {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.szakmai-szerep-tag {
  font-size: 10px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 20px;
}

.szakmai-szerep-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}

.szakmai-szerep-link {
  color: var(--gold-light);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid rgba(232,204,122,0.4);
  transition: color 0.25s, border-color 0.25s;
}
.szakmai-szerep-link:hover { color: var(--gold); border-color: var(--gold); }

.szakmai-szerep-sub {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.06em;
  font-style: italic;
}

[data-theme="light"] .szakmai-szerep-wrap {
  background: rgba(15,8,4,0.04);
  border-color: rgba(15,8,4,0.10);
}
[data-theme="light"] .szakmai-szerep-text { color: rgba(15,8,4,0.85); }
[data-theme="light"] .szakmai-szerep-link { color: var(--gold); border-color: var(--gold-dim); }
[data-theme="light"] .szakmai-szerep-sub { color: rgba(15,8,4,0.50); }

/* ══ Input focus kiemelés – világos módban erősebb ══ */
[data-theme="light"] .contact-input:focus,
[data-theme="light"] .contact-textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.18), 0 2px 8px rgba(90,74,54,0.12) !important;
  background: rgba(255,255,255,0.95) !important;
  outline: none;
}

/* ══ GDPR jelölőnégyzet ══ */
.gdpr-wrap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 24px;
}

.gdpr-checkbox {
  width: 18px; height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--gold);
  cursor: pointer;
}

.gdpr-label {
  font-size: 13px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
  line-height: 1.6;
  cursor: pointer;
}

.gdpr-label a {
  color: var(--gold-dim);
  text-decoration: none;
  border-bottom: 1px solid rgba(201,168,76,0.3);
  transition: color 0.25s;
}
.gdpr-label a:hover { color: var(--gold-light); }

[data-theme="light"] .gdpr-label { color: rgba(15,8,4,0.55); }
[data-theme="light"] .gdpr-label a { color: var(--gold); border-bottom-color: var(--gold-dim); }
.toast-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.toast-overlay.visible { opacity: 1; }

.toast-box {
  background: var(--black-card);
  border: 1px solid var(--gold-dim);
  padding: 40px 52px;
  text-align: center;
  max-width: 480px;
  width: 90%;
  position: relative;
  box-shadow: 0 0 60px rgba(201,168,76,0.15), 0 24px 48px rgba(0,0,0,0.5);
  animation: toast-in 0.5s cubic-bezier(.2,0,.2,1) forwards;
}

@keyframes toast-in {
  from { transform: translateY(20px) scale(0.97); opacity: 0; }
  to   { transform: translateY(0)    scale(1);    opacity: 1; }
}

.toast-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.toast-check {
  font-size: 32px;
  color: var(--gold-light);
  margin-bottom: 16px;
  display: block;
  filter: drop-shadow(0 0 8px rgba(232,204,122,0.5));
}

.toast-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 400;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  line-height: 1.3;
}

.toast-sub {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.toast-progress {
  position: absolute;
  bottom: 0; left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  animation: toast-progress 5s linear forwards;
}

@keyframes toast-progress {
  from { width: 100%; }
  to   { width: 0%; }
}

[data-theme="light"] .toast-box {
  background: rgba(255,255,255,0.96);
  box-shadow: 0 0 60px rgba(201,168,76,0.12), 0 24px 48px rgba(90,74,54,0.15);
}
[data-theme="light"] .toast-title { color: rgba(15,8,4,0.90); }
[data-theme="light"] .toast-sub { color: rgba(15,8,4,0.55); }
.process-pair {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 0;
  position: relative;
}

.process-card-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.15);
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.process-card-wrap:hover {
  border-color: rgba(201,168,76,0.35);
  box-shadow: 0 0 30px rgba(201,168,76,0.08);
}

.process-card-tag {
  padding: 10px 20px;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  border-bottom: 1px solid rgba(201,168,76,0.12);
  flex-shrink: 0;
}

/* Egységes ablakméret – 220px magas, torzításmentes */
.process-card-img {
  flex-shrink: 0;
  height: 220px;
  overflow: hidden;
  position: relative;
  background: #0a0a0a;
  display: flex;
  align-items: center;
  justify-content: center;
}

.process-card-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.process-card-footer {
  padding: 14px 20px;
  border-top: 1px solid rgba(201,168,76,0.10);
  flex-shrink: 0;
}

.process-card-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 17px;
  font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.03em;
  margin-bottom: 4px;
}

.process-card-desc {
  font-size: 13px;
  font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
  line-height: 1.6;
}

/* Középső nyíl – körbe zárt átalakulás szimbólum */
.process-arrow-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  flex-shrink: 0;
  gap: 10px;
}

.process-arrow-label {
  font-size: 8px;
  font-weight: 400;
  letter-spacing: 0.45em;
  color: rgba(201,168,76,0.5);
  text-transform: uppercase;
  text-align: center;
}

.process-arrow-line {
  width: 1px;
  height: 28px;
  background: linear-gradient(180deg, transparent, var(--gold-dim), transparent);
}

/* SVG körös nyíl */
.process-arrow-icon {
  width: 48px; height: 48px;
  animation: spinArrow 3s ease-in-out infinite;
  flex-shrink: 0;
}

.process-arrow-icon circle {
  stroke: rgba(201,168,76,0.25);
  stroke-width: 1;
  fill: none;
}

.process-arrow-icon path {
  stroke: var(--gold);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.process-arrow-icon polygon {
  fill: var(--gold);
  filter: drop-shadow(0 0 4px rgba(201,168,76,0.6));
}

@keyframes spinArrow {
  0%, 100% {
    filter: drop-shadow(0 0 4px rgba(201,168,76,0.3));
    transform: scale(1);
  }
  50% {
    filter: drop-shadow(0 0 10px rgba(201,168,76,0.7));
    transform: scale(1.12);
  }
}

/* Világos mód */
[data-theme="light"] .process-card-wrap {
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  border: 1.5px solid rgba(15,8,4,0.22);
  box-shadow: 0 4px 18px rgba(90,74,54,0.10);
}
[data-theme="light"] .process-card-wrap:hover {
  border-color: var(--gold);
  box-shadow: 0 8px 28px rgba(90,74,54,0.16);
}
[data-theme="light"] .process-card-tag { color: var(--gold); border-bottom-color: rgba(15,8,4,0.10); }
[data-theme="light"] .process-card-img { background: rgba(15,8,4,0.04); }
[data-theme="light"] .process-card-footer { border-top-color: rgba(15,8,4,0.08); }
[data-theme="light"] .process-card-title { color: rgba(15,8,4,0.88); font-weight: 600; }
[data-theme="light"] .process-card-desc  { color: rgba(15,8,4,0.58); }
[data-theme="light"] .process-arrow-label { color: rgba(15,8,4,0.35); }
[data-theme="light"] .process-arrow-line { background: linear-gradient(180deg, transparent, rgba(15,8,4,0.20), transparent); }
[data-theme="light"] .process-arrow-icon circle { stroke: rgba(15,8,4,0.12); }
[data-theme="light"] .process-arrow-icon path { stroke: var(--gold-dim); }
[data-theme="light"] .process-arrow-icon polygon { fill: var(--gold-dim); }

@media (max-width: 768px) {
  .process-pair { flex-direction: column; }
  .process-card-img { height: 220px; }
  .process-arrow-col {
    flex-direction: row;
    padding: 14px 0;
    gap: 12px;
  }
  .process-arrow-line { width: 28px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold-dim), transparent); }
  .process-arrow-icon { transform: rotate(90deg); }
}

/* ══ Folyamatok szekció bevezető szöveg ══ */
.gallery-intro-sub {
  font-size: 15px;
  font-weight: 400;
  color: var(--text-mid);
  letter-spacing: 0.06em;
  margin-top: 28px;
  margin-bottom: 20px;
  max-width: 100%;
}

.gallery-intro-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  max-width: 100%;
  margin-bottom: 32px;
  border: 1px solid rgba(201,168,76,0.15);
}

.gallery-intro-list li {
  font-size: 14px;
  font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.04em;
  line-height: 1.5;
  padding: 12px 18px 12px 48px;
  position: relative;
  border-bottom: 1px solid rgba(201,168,76,0.08);
  border-right: 1px solid rgba(201,168,76,0.08);
  transition: background 0.25s, color 0.25s, padding-left 0.25s;
}

.gallery-intro-list li:nth-last-child(-n+2) { border-bottom: none; }
.gallery-intro-list li:nth-child(even) { border-right: none; }

/* Zöld pipa – alap állapot: kis vonal */
.gallery-intro-list li::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 1px;
  background: var(--gold-dim);
  transition: width 0.3s ease, background 0.3s ease;
}

.gallery-intro-list li:hover {
  color: rgba(255,255,255,0.92);
  padding-left: 52px;
}

.gallery-intro-list li:hover::before {
  width: 20px;
  background: var(--gold);
}

.gallery-intro-closing {
  font-size: 15px;
  font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.04em;
  line-height: 1.8;
  max-width: 100%;
  padding: 20px 24px;
  border: 1px solid rgba(201,168,76,0.15);
  background: rgba(201,168,76,0.03);
  font-style: italic;
}

/* Világos mód */
[data-theme="light"] .gallery-intro-sub { color: rgba(15,8,4,0.75); font-weight: 500; }
[data-theme="light"] .gallery-intro-list {
  border-color: rgba(15,8,4,0.12);
}
[data-theme="light"] .gallery-intro-list li {
  color: rgba(15,8,4,0.68);
  font-weight: 400;
  border-bottom-color: rgba(15,8,4,0.07);
  border-right-color: rgba(15,8,4,0.07);
}
[data-theme="light"] .gallery-intro-list li::before { background: rgba(15,8,4,0.25); }
[data-theme="light"] .gallery-intro-list li:hover {
  background: rgba(47,158,68,0.07);
  color: rgba(15,8,4,0.90);
}
[data-theme="light"] .gallery-intro-closing {
  color: rgba(15,8,4,0.65);
  border-color: rgba(15,8,4,0.12);
  background: rgba(15,8,4,0.03);
}

@media (max-width: 600px) {
  .gallery-intro-list { grid-template-columns: 1fr; }
  .gallery-intro-list li:nth-last-child(-n+2) { border-bottom: 1px solid rgba(201,168,76,0.08); }
  .gallery-intro-list li:last-child { border-bottom: none; }
  .gallery-intro-list li { border-right: none; }
}


/* ══ Új árazás szekció ══ */

.arazas-osszefoglalo {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1px;
  background: rgba(201,168,76,0.15);
  border: 1px solid rgba(201,168,76,0.15);
  margin-bottom: 40px;
}

.arazas-osszefoglalo-item {
  background: var(--black-card);
  padding: 20px 24px;
  transition: background 0.3s;
}

.arazas-osszefoglalo-item:hover { background: var(--black-card-hover); }

.arazas-osszefoglalo-kiemelt {
  background: var(--black);
  position: relative;
}

.arazas-osszefoglalo-kiemelt::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.arazas-osszefoglalo-label {
  font-size: 11px; font-weight: 300;
  letter-spacing: 0.35em;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.arazas-osszefoglalo-ar {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 400;
  color: var(--gold-light);
}

.arazas-osszefoglalo-kiemelt .arazas-osszefoglalo-ar {
  font-size: 26px;
  text-shadow: 0 0 20px rgba(201,168,76,0.2);
}

.arazas-osszefoglalo-unit {
  font-size: 13px; font-weight: 300;
  color: var(--gold-dim);
  letter-spacing: 0.08em;
  margin-left: 4px;
}

/* Épületvillamossági kiemelt blokk */
.arazas-epvill-wrap { margin-bottom: 32px; }

.arazas-epvill-header { margin-bottom: 20px; }

.arazas-epvill-tag {
  display: inline-block;
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.5em;
  color: var(--gold);
  text-transform: uppercase;
  border: 1px solid rgba(201,168,76,0.3);
  padding: 4px 14px;
  margin-bottom: 12px;
  background: rgba(201,168,76,0.05);
}

.arazas-epvill-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.03em;
  margin-bottom: 8px;
}

.arazas-epvill-title em { color: var(--gold-light); }

.arazas-epvill-desc {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
}

/* Mérnöki blokk */
.arazas-mernoki-wrap { margin-bottom: 32px; }

.arazas-mernoki-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px; font-weight: 400;
  color: rgba(255,255,255,0.60);
  letter-spacing: 0.03em;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,0.10);
}

.arazas-mernoki-sub {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
}

/* Accordion */
.acc-item {
  border: 1px solid rgba(201,168,76,0.15);
  margin-bottom: 4px;
  transition: border-color 0.3s;
}

.acc-item:hover,
.acc-item.open { border-color: rgba(201,168,76,0.35); }

.acc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  cursor: none !important;
  background: var(--black-card);
  transition: background 0.25s;
  gap: 16px;
  user-select: none;
}

.acc-head:hover,
.acc-item.open .acc-head { background: var(--black-card-hover); }

.acc-head-left { display: flex; align-items: center; gap: 14px; }

.acc-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px; font-weight: 300;
  letter-spacing: 0.3em;
  color: var(--gold-dim);
  opacity: 0.7;
}

.acc-title {
  font-size: 14px; font-weight: 400;
  color: rgba(255,255,255,0.82);
  letter-spacing: 0.06em;
}

.acc-head-right {
  display: flex; align-items: center;
  gap: 12px; flex-shrink: 0;
}

.acc-from {
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px; font-weight: 400;
  color: var(--gold-dim);
  white-space: nowrap;
}

.acc-chevron {
  width: 16px; height: 16px;
  stroke: var(--gold-dim);
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.acc-item.open .acc-chevron { transform: rotate(180deg); }

.acc-body {
  display: none;
  padding: 0 20px 16px;
  border-top: 1px solid rgba(201,168,76,0.10);
  background: var(--black-card);
}

.acc-item.open .acc-body { display: block; }

.acc-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-size: 14px; font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.03em;
}

.acc-row:last-of-type { border-bottom: none; }

.acc-row-head {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.35em;
  color: var(--gold-dim);
  text-transform: uppercase;
  padding-top: 14px;
  border-bottom: 1px solid rgba(201,168,76,0.12) !important;
}

.acc-col-ar {
  text-align: right;
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px; font-weight: 400;
  color: var(--gold-light);
  white-space: nowrap;
}

.acc-row-head .acc-col-ar {
  font-family: 'Jost', sans-serif;
  font-size: 9px; font-weight: 400;
  color: var(--gold-dim);
  letter-spacing: 0.35em;
}

.acc-note {
  font-size: 12px; font-weight: 300;
  color: var(--text-dim);
  font-style: italic;
  margin-top: 12px;
  padding: 10px 14px;
  border-left: 1px solid rgba(201,168,76,0.2);
  background: rgba(201,168,76,0.03);
}

.arazas-cta-text {
  font-size: 15px; font-weight: 300;
  color: var(--text-mid);
  letter-spacing: 0.03em;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 12px;
}

/* Világos mód */
[data-theme="light"] .arazas-osszefoglalo { background: rgba(15,8,4,0.08); border-color: rgba(15,8,4,0.10); }
[data-theme="light"] .arazas-osszefoglalo-item { background: rgba(255,255,255,0.50); }
[data-theme="light"] .arazas-osszefoglalo-item:hover { background: rgba(255,255,255,0.70); }
[data-theme="light"] .arazas-osszefoglalo-kiemelt { background: rgba(255,255,255,0.65); }
[data-theme="light"] .arazas-osszefoglalo-label { color: rgba(15,8,4,0.55); }
[data-theme="light"] .arazas-osszefoglalo-ar { color: var(--gold); text-shadow: none; }
[data-theme="light"] .arazas-osszefoglalo-unit { color: var(--gold-dim); }
[data-theme="light"] .arazas-epvill-title { color: rgba(15,8,4,0.88); font-weight: 600; }
[data-theme="light"] .arazas-epvill-desc { color: rgba(15,8,4,0.55); }
[data-theme="light"] .arazas-mernoki-title { color: rgba(15,8,4,0.55); }
[data-theme="light"] .acc-item { border-color: rgba(15,8,4,0.12); }
[data-theme="light"] .acc-item:hover,
[data-theme="light"] .acc-item.open { border-color: var(--gold-dim); }
[data-theme="light"] .acc-head { background: rgba(255,255,255,0.50); }
[data-theme="light"] .acc-head:hover,
[data-theme="light"] .acc-item.open .acc-head { background: rgba(255,255,255,0.72); }
[data-theme="light"] .acc-title { color: rgba(15,8,4,0.80); }
[data-theme="light"] .acc-from { color: var(--gold-dim); }
[data-theme="light"] .acc-body { background: rgba(255,255,255,0.50); }
[data-theme="light"] .acc-row { color: rgba(15,8,4,0.68); border-bottom-color: rgba(15,8,4,0.06); font-weight: 400; }
[data-theme="light"] .acc-row-head { color: rgba(15,8,4,0.45); }
[data-theme="light"] .acc-col-ar { color: var(--gold); }
[data-theme="light"] .acc-row-head .acc-col-ar { color: rgba(15,8,4,0.45); }
[data-theme="light"] .acc-note { color: rgba(15,8,4,0.50); }
[data-theme="light"] .arazas-cta-text { color: rgba(15,8,4,0.68); }

@media (max-width: 768px) {
  .arazas-osszefoglalo { grid-template-columns: 1fr; }
  .acc-row { grid-template-columns: 1fr 1fr; }
  .acc-row > span:first-child { grid-column: 1 / -1; }
  .acc-head-right .acc-from { display: none; }
}


/* ── Sötét mód szövegstílus – megegyezik a világossal ── */
body { font-family: 'Inter', 'Jost', sans-serif; }

[data-theme="light"] .intro-lead,
[data-theme="light"] .hero-motto,
[data-theme="light"] .rolam-intro{
 font-weight:600!important;
 text-shadow:0 1px 1px rgba(255,255,255,.9),0 -1px 2px rgba(70,55,40,.22);
}

[data-theme="light"] strong{
 color:#4b3928!important;
 font-weight:700!important;
}

[data-theme="light"] .section-title,
[data-theme="light"] .card-title,
[data-theme="light"] .elony-title{
 font-weight:600!important;
}

[data-theme="light"] .elony-title{
 font-size:24px!important;
}

[data-theme="light"] .hero-title em{
 text-shadow:0 0 18px rgba(146,112,82,.45);
}

[data-theme="light"] .hero-title{
 color:rgba(70,55,40,.55)!important;
 text-shadow:
 0 1px 0 rgba(255,255,255,.95),
 0 -1px 2px rgba(60,45,30,.20);
}

[data-theme="light"] .btn-primary:hover,
[data-theme="light"] .btn-secondary:hover{
 background:#b99972!important;
 color:white!important;
}

[data-theme="light"] .hdr{
 overflow:hidden;
}

[data-theme="light"] .hdr:before{
 height:2px!important;
}

/* ── Fejléc fény effekt – mindkét módban ── */
.hdr { overflow: hidden; }

.hdr-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg,
    transparent 0%,
    rgba(201,168,76,0.06) 35%,
    rgba(201,168,76,0.18) 50%,
    rgba(201,168,76,0.06) 65%,
    transparent 100%);
  animation: headershine 8s linear infinite;
  pointer-events: none;
  z-index: 0;
}

[data-theme="light"] .hdr-inner::after {
  background: linear-gradient(110deg,
    transparent 0%,
    rgba(255,255,255,0.20) 30%,
    rgba(255,255,255,0.60) 50%,
    rgba(255,255,255,0.20) 70%,
    transparent 100%);
  animation: headershine 8s linear infinite;
}

@keyframes headershine {
  from { transform: translateX(-120%); }
  to   { transform: translateX(120%); }
}

/* ══ Árazás bevezető szöveg ══ */
.arazas-highlight {
  font-style: normal;
  color: var(--gold-light);
  font-weight: 500;
}
[data-theme="light"] .arazas-highlight { color: var(--gold); }

.arazas-intro-sub {
  font-size: 15px;
  font-weight: 400;
  color: var(--text-mid);
  letter-spacing: 0.05em;
  margin-top: 20px;
  margin-bottom: 12px;
}
[data-theme="light"] .arazas-intro-sub { color: rgba(15,8,4,0.72); font-weight: 500; }

.arazas-intro-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 20px;
  border-left: 2px solid rgba(201,168,76,0.25);
  padding-left: 0;
}

.arazas-intro-list li {
  font-size: 14px;
  font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding: 7px 16px;
  border-bottom: 1px solid rgba(201,168,76,0.07);
  transition: color 0.25s, background 0.25s, padding-left 0.25s;
}
.arazas-intro-list li:last-child { border-bottom: none; }
.arazas-intro-list li:hover {
  color: var(--gold-light);
  background: rgba(201,168,76,0.04);
  padding-left: 22px;
}

[data-theme="light"] .arazas-intro-list { border-left-color: var(--gold-dim); }
[data-theme="light"] .arazas-intro-list li { color: rgba(15,8,4,0.60); font-weight: 400; }
[data-theme="light"] .arazas-intro-list li:hover { color: rgba(15,8,4,0.90); background: rgba(15,8,4,0.04); }

/* Idézet blokk */
.arazas-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 21px;
  font-weight: 400;
  font-style: italic;
  color: var(--gold-light);
  line-height: 1.8;
  letter-spacing: 0.03em;
  padding: 20px 28px;
  margin-top: 20px;
  border-left: 2px solid var(--gold);
  background: rgba(201,168,76,0.05);
  position: relative;
}
.arazas-quote::before {
  content: '\201E';
  position: absolute;
  top: -8px; left: 20px;
  font-size: 48px;
  color: var(--gold-dim);
  line-height: 1;
  opacity: 0.5;
}

[data-theme="light"] .arazas-quote {
  color: rgba(80,55,25,0.90);
  background: rgba(201,168,76,0.07);
  border-left-color: var(--gold);
}

/* Táblázat alatti terület */
.arazas-footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 32px;
}

.arazas-cta {
  font-size: 16px;
  font-weight: 400;
  color: var(--text-mid);
  letter-spacing: 0.04em;
  line-height: 1.7;
  text-align: center;
}

.arazas-cta-link {
  display: inline-block;
  margin-left: 8px;
  color: var(--gold);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-decoration: none;
  border-bottom: 1px solid rgba(201,168,76,0.4);
  transition: color 0.25s, border-color 0.25s;
}
.arazas-cta-link:hover { color: var(--gold-light); border-color: var(--gold-light); }

[data-theme="light"] .arazas-cta { color: rgba(15,8,4,0.70); }
[data-theme="light"] .arazas-cta-link { color: var(--gold); }

.arazas-min {
  display: inline-block;
  margin-left: 8px;
  color: var(--gold-light);
  font-weight: 600;
  letter-spacing: 0.05em;
}
[data-theme="light"] .arazas-min { color: rgba(80,55,25,0.90); }

/* Szolgáltatás lista – csak finom csúszás hover-re, pipa nélkül */
[data-theme="light"] .card-list li {
  transition: color 0.3s ease;
}

.card-list li:hover {
  color: rgba(255,255,255,0.92);
}
[data-theme="light"] .card-list li::before {
  display: inline-block;
  width: 14px;
  min-width: 14px;
  text-align: center;
}

/* ══ Hero kiemel link ══ */
.hero-kiemel-link { text-decoration: none; display: inline-block; }
.hero-em-large {
  font-size: 1.15em;
  font-weight: 500;
  letter-spacing: 0.02em;
  border-bottom: 1px solid rgba(232,204,122,0.35);
  transition: color 0.35s ease, border-color 0.35s ease, text-shadow 0.35s ease;
}

/* Sötét mód (alap) */
.hero-kiemel-link:hover .hero-em-large {
  color: rgba(255,255,255,0.98);
  border-color: var(--gold-light);
  text-shadow: 0 0 6px rgba(232,204,122,0.12);
}

/* Világos mód (felülírás) */
[data-theme="light"] .hero-kiemel-link:hover .hero-em-large {
  color: #5D4037; /* Egy mély, elegáns barna a világos módhoz */
  border-color: var(--gold);
  text-shadow: 0 0 6px rgba(188, 143, 80, 0.2);
}

/* ══ Acc csoport label ══ */
.acc-group-label {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold-dim);
  text-transform: uppercase;
  padding: 12px 0 6px;
  margin-top: 4px;
  border-bottom: 1px solid rgba(201,168,76,0.08);
}
[data-theme="light"] .acc-group-label { color: rgba(15,8,4,0.38); }

/* ══ Mitől több szekció ══ */
.tobb-wrap { display: flex; flex-direction: column; gap: 32px; }

.tobb-lead {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px; font-weight: 400;
  color: rgba(255,255,255,0.82);
  line-height: 1.75;
  letter-spacing: 0.02em;
  border-left: 2px solid var(--gold);
  padding-left: 24px;
}

.tobb-em { font-style: normal; color: var(--gold-light); font-weight: 500; }

.tobb-lead p { margin-bottom: 16px; }
.tobb-lead p:last-child { margin-bottom: 0; }

.tobb-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: start;
}

.tobb-col p {
  font-size: 15px; font-weight: 300;
  color: var(--text-mid);
  line-height: 1.85;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}
.tobb-col p:last-child { margin-bottom: 0; }

.tobb-kiemelt { color: var(--gold-light); font-weight: 500; }

.tobb-folyamat {
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.15);
  padding: 24px;
  position: sticky;
  top: 100px;
}

.tobb-folyamat-title {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}

.tobb-step {
  display: flex; align-items: flex-start;
  gap: 14px; padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.tobb-step:last-child { border-bottom: none; }

.tobb-step-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px; font-weight: 300;
  letter-spacing: 0.3em;
  color: var(--gold-dim); opacity: 0.7;
  flex-shrink: 0; min-width: 28px;
}

.tobb-step-text {
  font-size: 13px; font-weight: 300;
  color: var(--text-mid);
  line-height: 1.55; letter-spacing: 0.03em;
}
.tobb-step-text strong { color: var(--text-main); font-weight: 500; }

.tobb-step-final { background: rgba(201,168,76,0.06); padding: 12px; margin: 0 -12px; }
.tobb-step-final .tobb-step-text strong { color: var(--gold-light); }

.tobb-step-arrow {
  font-size: 14px; color: var(--gold-dim);
  opacity: 0.4; text-align: center;
  padding: 2px 0 2px 42px;
}

.tobb-btns { display: flex; gap: 16px; flex-wrap: wrap; padding-top: 8px; }

[data-theme="light"] .tobb-lead { color: rgba(15,8,4,0.82); }
[data-theme="light"] .tobb-col p { color: rgba(15,8,4,0.65); font-weight: 400; }
[data-theme="light"] .tobb-kiemelt { color: var(--gold); }
[data-theme="light"] .tobb-folyamat { background: rgba(255,255,255,0.55); border-color: rgba(15,8,4,0.10); }
[data-theme="light"] .tobb-step { border-bottom-color: rgba(15,8,4,0.06); }
[data-theme="light"] .tobb-step-text { color: rgba(15,8,4,0.65); }
[data-theme="light"] .tobb-step-text strong { color: rgba(15,8,4,0.88); }
[data-theme="light"] .tobb-step-final { background: rgba(15,8,4,0.04); }
[data-theme="light"] .tobb-step-final .tobb-step-text strong { color: var(--gold); }

@media (max-width: 768px) {
  .tobb-grid { grid-template-columns: 1fr; }
  .tobb-folyamat { position: static; }
}

/* ══ Szakmai alapok – hitelesítő "címke" (végzettség + tapasztalat),
   a CAD-rajzok mérési/kijelölési sarokjeleit idézve ══ */
.szak-alap-credential {
  position: relative;
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 16px 30px;
  margin-top: 12px;
  border: 1px solid rgba(201,168,76,0.18);
  background: rgba(201,168,76,0.04);
}

.szak-alap-corner {
  position: absolute;
  width: 14px; height: 14px;
  opacity: 0.65;
  pointer-events: none;
}
.szak-alap-corner-tl { top: -1px; left: -1px; border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); }
.szak-alap-corner-tr { top: -1px; right: -1px; border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); }
.szak-alap-corner-bl { bottom: -1px; left: -1px; border-bottom: 1px solid var(--gold); border-left: 1px solid var(--gold); }
.szak-alap-corner-br { bottom: -1px; right: -1px; border-bottom: 1px solid var(--gold); border-right: 1px solid var(--gold); }

.szak-alap-role {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--gold-light);
}

.szak-alap-sep { color: var(--gold-dim); font-weight: 300; }

.szak-alap-years {
  font-size: 12px; font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-mid);
}

[data-theme="light"] .szak-alap-credential { background: rgba(201,168,76,0.06); border-color: rgba(15,8,4,0.14); }
[data-theme="light"] .szak-alap-role { color: var(--gold); }
[data-theme="light"] .szak-alap-years { color: rgba(15,8,4,0.55); }

/* ══════════════════════════════════════
   BIM & 3D KOORDINÁCIÓ – checklist panel (#bim)
══════════════════════════════════════ */
.bim-wrap { display: flex; flex-direction: column; gap: 32px; }

.bim-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.bim-btns { display: flex; gap: 16px; flex-wrap: wrap; padding-top: 24px; }

.bim-panel {
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.15);
  padding: 28px;
  position: sticky;
  top: 100px;
}

.bim-panel-title {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.45em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,0.12);
}

.bim-check-list {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  gap: 14px;
}

.bim-check-list li {
  position: relative;
  padding: 5px 10px 5px 26px;
  margin: -5px -10px -5px 0;
  border-radius: 4px;
  font-size: 15px; font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 1.6;
  color: var(--text-mid);
  transition: background-color 0.25s ease, color 0.2s ease;
}

.bim-check-list li:hover {
  background-color: var(--gold-glow);
  color: var(--text-main);
}

.bim-check-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 4px;
  width: 15px; height: 15px;
  background-color: var(--gold-light);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,8 6.5,11.5 13,4.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3,8 6.5,11.5 13,4.5'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-size: contain; mask-size: contain;
}

[data-theme="light"] .bim-panel { background: rgba(255,255,255,0.55); border-color: rgba(15,8,4,0.10); }
[data-theme="light"] .bim-check-list li { color: rgba(15,8,4,0.65); }

@media (max-width: 768px) {
  .bim-grid { grid-template-columns: 1fr; gap: 28px; }
  .bim-panel { position: static; }
}

/* ══ Ma már / Korábbi munkamódszer ══ */
.mamar-badge {
  display: inline-block;
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  padding: 4px 14px;
  margin-bottom: 12px;
}
.mamar-badge-new {
  color: var(--gold-light);
  border: 1px solid rgba(201,168,76,0.4);
  background: rgba(201,168,76,0.06);
}
.mamar-badge-old {
  color: var(--text-dim);
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
}

.mamar-wrap { margin-bottom: 48px; }
.regi-wrap { border-top: 1px solid rgba(255,255,255,0.06); padding-top: 40px; margin-top: 8px; }

.mamar-header, .regi-header { margin-bottom: 24px; }

.mamar-title, .regi-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px; font-weight: 400;
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}
.mamar-title em { color: var(--gold-light); }
.regi-title { color: rgba(255,255,255,0.50); }
.regi-title em { color: var(--gold-dim); }

.mamar-desc, .regi-desc {
  font-size: 14px; font-weight: 300;
  color: var(--text-dim);
  letter-spacing: 0.04em;
  line-height: 1.7;
  max-width: 680px;
}

.mamar-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.mamar-card {
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.12);
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.3s, background 0.3s;
  position: relative;
}
.mamar-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim), transparent);
  transform: scaleX(0);
  transition: transform 0.35s ease;
}
.mamar-card:hover { border-color: rgba(201,168,76,0.30); background: var(--black-card-hover); }
.mamar-card:hover::before { transform: scaleX(1); }

.mamar-card-icon { width: 28px; height: 28px; color: var(--gold-dim); transition: color 0.3s; }
.mamar-card-icon svg { width: 100%; height: 100%; }
.mamar-card:hover .mamar-card-icon { color: var(--gold); }

.mamar-card-title { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.82); letter-spacing: 0.06em; }

.mamar-card-example {
  background: rgba(201,168,76,0.04);
  border-left: 2px solid rgba(201,168,76,0.2);
  padding: 10px 14px;
}
.mamar-example-label {
  font-size: 9px; font-weight: 400;
  letter-spacing: 0.35em; color: var(--gold-dim);
  text-transform: uppercase; margin-bottom: 6px;
}
.mamar-example-text {
  font-size: 13px; font-weight: 300;
  color: var(--text-dim);
  line-height: 1.6; font-style: italic;
}
.mamar-card-result {
  font-size: 13px; font-weight: 400;
  color: var(--gold-light);
  letter-spacing: 0.04em;
  margin-top: auto;
}

/* Világos mód */
[data-theme="light"] .mamar-badge-new { color: var(--gold); border-color: var(--gold-dim); background: rgba(122,92,48,0.08); }
[data-theme="light"] .mamar-badge-old { color: rgba(15,8,4,0.40); border-color: rgba(15,8,4,0.15); background: rgba(15,8,4,0.03); }
[data-theme="light"] .mamar-title { color: rgba(15,8,4,0.88); font-weight: 600; }
[data-theme="light"] .regi-title  { color: rgba(15,8,4,0.45); }
[data-theme="light"] .mamar-desc,
[data-theme="light"] .regi-desc   { color: rgba(15,8,4,0.55); }
[data-theme="light"] .mamar-card  { background: rgba(255,255,255,0.45); border-color: rgba(15,8,4,0.10); }
[data-theme="light"] .mamar-card:hover { background: rgba(255,255,255,0.65); border-color: var(--gold-dim); }
[data-theme="light"] .mamar-card-title { color: rgba(15,8,4,0.82); }
[data-theme="light"] .mamar-card-example { background: rgba(15,8,4,0.03); border-left-color: rgba(15,8,4,0.15); }
[data-theme="light"] .mamar-example-text { color: rgba(15,8,4,0.55); }
[data-theme="light"] .mamar-card-result  { color: var(--gold); }
[data-theme="light"] .regi-wrap { border-top-color: rgba(15,8,4,0.08); }

@media (max-width: 768px) { .mamar-grid { grid-template-columns: 1fr; } }


@media (max-width:768px){
 .hero-content{padding-left:24px!important;padding-right:24px!important;}
 .hero-title{font-size:clamp(42px,10vw,64px)!important;}
 .hero-stats{gap:18px!important;flex-wrap:wrap;}
 .intro-band-inner,
 .rolam-grid,
 .contact-grid,
 .ref-layout{grid-template-columns:1fr!important;}
 .cards-grid{grid-template-columns:1fr!important;}
}


/* ── Fejléc dropdown fix – overflow klippelés megszüntetése ── */
.hdr { overflow: visible !important; }

/* ── Logo árnyék igazítás világos módban ── */
[data-theme="light"] .hdr-logo-svg {
  filter:
    drop-shadow(-0.75px -0.75px 0 rgba(255,244,220,0.6))
    drop-shadow(0.75px 0.75px 1.2px rgba(40,20,10,0.4))
    drop-shadow(0 0 4px rgba(122,92,48,0.12));
}

[data-theme="light"] .hdr-logo:hover .hdr-logo-svg {
  filter:
    drop-shadow(-0.75px -0.75px 0 rgba(255,244,220,0.75))
    drop-shadow(0.9px 0.9px 1.4px rgba(40,20,10,0.5))
    drop-shadow(0 0 6px rgba(122,92,48,0.18));
}

/* ── Mobilos CAD kurzor elrejtése ── */
@media (max-width: 768px) {
  #cad-cursor { display: none !important; }
}

/* ── Mobil jobb oldal ── */
.hdr-mobile-right {
  display: none;
  align-items: center;
  gap: 8px;
}

@media (max-width: 768px) {
  .hdr-mobile-right { display: flex; }
}

/* ── Több gomb ── */
.hdr-more-wrap {
  position: relative;
}

.hdr-more-btn {
  background: transparent;
  border: 1px solid var(--gold-dim);
  color: var(--gold-dim);
  font-size: 16px;
  padding: 3px 10px 5px;
  cursor: none;
  letter-spacing: 0.1em;
  transition: all 0.3s;
  line-height: 1;
}

.hdr-more-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.hdr-more-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  background: rgba(10,8,6,0.98);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(201,168,76,0.2);
  min-width: 160px;
  z-index: 9999;
  padding: 8px 0;
}

.hdr-more-dropdown::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.hdr-more-wrap.open .hdr-more-dropdown { display: block; }

.hdr-more-link {
  display: block;
  font-size: 10px; font-weight: 400;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  padding: 11px 18px;
  border-bottom: 1px solid rgba(201,168,76,0.07);
  transition: color 0.2s, padding-left 0.2s;
}

.hdr-more-link:last-child { border-bottom: none; }
.hdr-more-link:hover { color: var(--gold-light); padding-left: 24px; }

[data-theme="light"] .hdr-more-btn { border-color: rgba(62,49,37,0.35); color: rgba(62,49,37,0.65); }
[data-theme="light"] .hdr-more-btn:hover { border-color: var(--gold); color: var(--gold); }
[data-theme="light"] .hdr-more-dropdown {
  background: rgba(237,229,216,0.99);
  border-color: rgba(122,92,48,0.25);
}
[data-theme="light"] .hdr-more-link { color: rgba(62,49,37,0.65); border-bottom-color: rgba(62,49,37,0.08); }
[data-theme="light"] .hdr-more-link:hover { color: var(--gold); }

/* ── Előnyök – mobilon 1 oszlop, ne lógjon ki ── */
@media (max-width: 768px) {
  .elony-grid { grid-template-columns: 1fr !important; }
  .elony-item { width: 100%; }
  #elonyok > .container > div[style] { grid-template-columns: 1fr !important; }
}

/* ── Szöveg kontraszt javítás világos módban ── */
[data-theme="light"] .section-desc,
[data-theme="light"] .card-desc,
[data-theme="light"] .elony-desc,
[data-theme="light"] .ref-desc,
[data-theme="light"] .hero-sub,
[data-theme="light"] .rolam-p,
[data-theme="light"] .intro-lead,
[data-theme="light"] .gallery-intro-closing,
[data-theme="light"] .tobb-col p,
[data-theme="light"] .mamar-desc,
[data-theme="light"] .regi-desc,
[data-theme="light"] .arazas-lead,
[data-theme="light"] .arazas-intro-sub,
[data-theme="light"] .card-subtitle,
[data-theme="light"] .szakmai-szerep-text,
[data-theme="light"] .arazas-quote,
[data-theme="light"] .rolam-intro {
  color: rgba(15,8,4,0.82) !important;
  font-weight: 400;
}

[data-theme="light"] .text-dim,
[data-theme="light"] .footer-links a,
[data-theme="light"] .arazas-note,
[data-theme="light"] .acc-row,
[data-theme="light"] .mamar-example-text,
[data-theme="light"] .gallery-intro-list li,
[data-theme="light"] .card-list li,
[data-theme="light"] .value-text,
[data-theme="light"] .tobb-step-text,
[data-theme="light"] .acc-row span {
  color: rgba(15,8,4,0.72) !important;
}

[data-theme="light"] .contact-item-label,
[data-theme="light"] .arazas-deadline,
[data-theme="light"] .ref-cat-name,
[data-theme="light"] .contact-item-value,
[data-theme="light"] .arazas-osszefoglalo-label {
  color: rgba(15,8,4,0.80) !important;
  font-weight: 400;
}

/* ── Sötét módban szöveg kontraszt javítás ── */
.card-list li,
.elony-desc,
.value-text,
.tobb-col p,
.section-desc,
.rolam-p,
.mamar-desc {
  color: rgba(255,255,255,0.62);
}


/* ══════════════════════════════════════
   RÓLAM – Lista stílus (scannable bal oszlop)
══════════════════════════════════════ */

.rolam-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.rolam-list-item {
  display: flex;
  align-items: center; /* Ez biztosítja, hogy a szöveg és a vonalzó középen álljon */
  gap: 16px;
  padding: 18px 0; /* Kicsit több helyet adtam a nagyobb betűnek */
  border-bottom: 1px solid rgba(201,168,76,0.08);
  color: var(--text-mid);
  font-size: 16px; /* Itt állítottam nagyobbra */
  line-height: 1.5;
  letter-spacing: 0.01em;
  padding-left: 10px;
  transition: color 0.28s ease, background 0.28s ease;
  cursor: none !important;
}

.rolam-list-item:first-child { border-top: 1px solid rgba(201,168,76,0.08); }

.rolam-list-item:hover {
  color: rgba(255,255,255,0.95);
  background: linear-gradient(90deg, rgba(201,168,76,0.05), transparent 70%);
}

/* ── 3. Rólam lista – vonalzó nő, háttérkiemelés ── */

.rolam-list-marker {
  width: 16px;
  height: 1px;
  background: var(--gold);
  margin-right: 16px; /* A fix hely a növekedéshez */
  flex-shrink: 0;
  position: relative;
  opacity: 0.65;
  transition: width 0.3s ease, margin-right 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease;
}

/* CAD végek (a méret növeléséhez igazítva) */
.rolam-list-marker::before, .rolam-list-marker::after {
  content: '';
  position: absolute;
  top: -3px;
  width: 1px;
  height: 7px;
  background: var(--gold);
}
.rolam-list-marker::before { left: 0; }
.rolam-list-marker::after { right: 0; }

.rolam-list-item:hover .rolam-list-marker {
  width: 32px;
  margin-right: 0px; 
  opacity: 1;
  box-shadow: 0 0 6px rgba(201, 168, 76, 0.6);
}

[data-theme="light"] .rolam-list-item:hover {
  color: rgba(15, 8, 4, 0.92);
  background: linear-gradient(90deg, rgba(122,92,48,0.12) 0%, rgba(122,92,48,0.06) 60%, transparent 100%);
}

[data-theme="light"] .rolam-list-item:hover .rolam-list-marker {
  box-shadow: 0 0 5px rgba(122, 92, 48, 0.5);
}


/* ── 4. Rólam lista – 20+ blokk háttérkiemelése hover-re ── */
.rolam-years-wrap {
  transition: background 0.3s ease;
  padding: 24px 6px 8px;
  border-radius: 1px;
  cursor: none !important;
}

.rolam-years-wrap:hover {
  background: linear-gradient(
    90deg,
    rgba(201, 168, 76, 0.10) 0%,
    rgba(201, 168, 76, 0.05) 60%,
    transparent 100%
  );
}

[data-theme="light"] .rolam-years-wrap:hover {
  background: linear-gradient(
    90deg,
    rgba(122, 92, 48, 0.12) 0%,
    rgba(122, 92, 48, 0.06) 60%,
    transparent 100%
  );
}


/* ══════════════════════════════════════
   BIM & 3D KOORDINÁCIÓ – nav link figyelemfelkeltő fény-pulzálás
   (finom, arany tónusú glow, mindkét témában automatikusan illeszkedik
   a var(--gold) / var(--gold-light) tokenek miatt)
══════════════════════════════════════ 
.hdr-nav a.hdr-nav-bim {
  color: var(--gold-light);
  animation: bimNavGlow 3.2s ease-in-out infinite;
}

.hdr-nav a.hdr-nav-bim:hover,
.hdr-nav a.hdr-nav-bim.active {
  color: var(--gold-light);
}

@keyframes bimNavGlow {
  0%, 100% {
    text-shadow: 0 0 4px var(--gold-glow2), 0 0 1px var(--gold-glow2);
  }
  50% {
    text-shadow: 0 0 14px var(--gold), 0 0 26px var(--gold-glow);
  }
}

*/

@media (prefers-reduced-motion: reduce) {
  .hdr-nav a.hdr-nav-bim { animation: none; }
}

/* Mobil nav – ugyanaz a szín-kiemelés, animáció nélkül (ott elég a szín) */
.mobile-nav a.hdr-nav-bim { color: var(--gold-light); }

/* ══════════════════════════════════════
   BIM & 3D KOORDINÁCIÓ – "Hamarosan" szekció (#bim)
══════════════════════════════════════ */
.bim-soon-wrap {
  max-width: 640px;
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.15);
  padding: 48px 40px;
  text-align: left;
}

.bim-soon-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 16px;
  border: 1px solid rgba(201,168,76,0.35);
  background: var(--gold-glow2);
  margin-bottom: 24px;
}

.bim-soon-badge span:last-child {
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold-light);
}

.bim-soon-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 6px var(--gold), 0 0 12px var(--gold-glow);
  animation: bimDotPulse 1.8s ease-in-out infinite;
}

@keyframes bimDotPulse {
  0%, 100% { opacity: 0.5; transform: scale(0.85); }
  50%      { opacity: 1;   transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .bim-soon-dot { animation: none; }
}

.bim-soon-text {
  font-size: 16px; font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: var(--text-mid);
  margin-bottom: 28px;
  max-width: 520px;
}

[data-theme="light"] .bim-soon-wrap { background: rgba(255,255,255,0.55); border-color: rgba(15,8,4,0.10); }
[data-theme="light"] .bim-soon-badge { background: rgba(139,58,42,0.08); border-color: rgba(139,58,42,0.30); }

@media (max-width: 768px) {
  .bim-soon-wrap { padding: 32px 24px; }
}

/* ══════════════════════════════════════
   MOZGÁSCSÖKKENTÉS – prefers-reduced-motion
   Csak azoknál a látogatóknál tompítja/kapcsolja ki
   az animációkat, akik ezt a rendszerükben kérték
   (pl. mozgásérzékenység miatt). A CAD-szálkereszt
   kurzor kivétel, mert az közvetlen egérkövetés,
   nem "animáció" – mindenkinél változatlan marad.
══════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  .fade-up,
  .marquee-track,
  .stat-num,
  .idotallasag-section img,
  .value-item,
  .card,
  .elony-item {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .fade-up {
    opacity: 1 !important;
    transform: none !important;
  }

  .marquee-track {
    animation: none !important;
  }
}

/* ══════════════════════════════════════
   TARTALOMVÉDELEM – kijelölés / másolás korlátozása
   ─────────────────────────────────────
   FONTOS: ez az alkalmi másolást akadályozza meg (kijelölés+copy),
   nem tényleges biztonsági védelem – forráskód-megtekintéssel vagy
   fejlesztői eszközökkel ez megkerülhető. Kivétel: űrlapmezők (enélkül
   nem lehetne beírni/javítani a Kapcsolat űrlapot).
══════════════════════════════════════ */
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

input, textarea, select {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Képek húzva-mentésének tiltása (jobbklikk tiltása JS-ben, script.js) */
img {
  -webkit-user-drag: none;
  user-drag: none;
}

/* ══════════════════════════════════════
   ÁRAZÁS – "Árazás részletei" gomb + Modal
   A részletes, kategóriánkénti árlista innentől
   nem az oldal folyamában görgethető, hanem egy
   gombra kattintva nyíló felugró ablakban jelenik
   meg. A 3 irányadó óradíj (arazas-osszefoglalo)
   továbbra is közvetlenül az oldalon látszik.
══════════════════════════════════════ */
.arazas-reszletek-cta {
  text-align: center;
  margin: 0 0 40px;
}

.arazas-reszletek-hint {
  margin-top: 14px;
  font-size: 13px;
  color: var(--text-dim);
}

body.modal-open { overflow: hidden; }

.arazas-modal {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.arazas-modal.open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0s linear 0s;
}

.arazas-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4,3,2,0.80);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.arazas-modal-panel {
  position: relative;
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.20);
  max-width: 760px;
  width: 100%;
  max-height: min(82vh, 880px);
  display: flex;
  flex-direction: column;
  box-shadow: 0 30px 80px rgba(0,0,0,0.55);
  transform: translateY(24px) scale(0.98);
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
  overflow: hidden;
}

.arazas-modal.open .arazas-modal-panel {
  transform: translateY(0) scale(1);
}

.arazas-modal-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  z-index: 1;
}

.arazas-modal-close {
  position: absolute;
  top: 16px; right: 16px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: var(--black-card);
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 50%;
  color: var(--text-mid);
  cursor: pointer;
  transition: border-color 0.25s, color 0.25s, transform 0.25s;
  z-index: 2;
}
.arazas-modal-close:hover {
  border-color: var(--gold);
  color: var(--gold-light);
  transform: rotate(90deg);
}
.arazas-modal-close svg { width: 16px; height: 16px; }

.arazas-modal-scroll {
  overflow-y: auto;
  padding: 48px 40px 40px;
}

.arazas-modal-cta {
  text-align: center;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(201,168,76,0.15);
}

/* A modálon belül az epvill-wrap ne hordozzon extra alsó margót –
   azt már a modal-scroll paddingje és a modal-cta adja */
.arazas-modal .arazas-epvill-wrap { margin-bottom: 0; }

@media (max-width: 640px) {
  .arazas-modal { padding: 0; }
  .arazas-modal-panel {
    max-width: none;
    width: 100%;
    height: 100%;
    max-height: none;
    border-left: none;
    border-right: none;
  }
  .arazas-modal-scroll { padding: 56px 20px 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .arazas-modal,
  .arazas-modal-panel,
  .arazas-modal-close {
    transition-duration: 0.01ms !important;
  }
}

/* Árazás modal – betöltési és hiba állapot a lazán (kattintásra)
   betöltött részletes árlistához */
.arazas-reszletek-loading,
.arazas-reszletek-hiba {
  text-align: center;
  padding: 40px 20px;
  color: var(--text-dim);
  font-size: 15px;
}
.arazas-reszletek-hiba a { color: var(--gold-light); }

/* ══════════════════════════════════════
   "A JELEM" – rövid szöveg a CsabaCAD 3D logó-kép alatt
══════════════════════════════════════ */
.logo-story-wrap {
  background: var(--black);
  padding: 64px 0 96px;
}

@media (max-width: 640px) {
  .logo-story-wrap { padding: 48px 0 64px; }
}

/* "A logó jelének története" – teljes szöveg a Rólam szekció alján */
.rolam-logo-story {
  max-width: 720px;
  margin: 64px auto 0;
  padding-top: 48px;
  border-top: 1px solid rgba(201,168,76,0.12);
}

.rolam-logo-story-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  font-weight: 400;
  font-style: italic;
  color: var(--gold-light);
  letter-spacing: 0.03em;
  margin-bottom: 28px;
}

.rolam-logo-story-closing {
  font-style: italic;
  color: var(--text-main);
}

.rolam-logo-story-signature {
  margin-top: 28px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  font-style: italic;
  color: var(--gold-dim);
  line-height: 1.6;
}

/* ══════════════════════════════════════
   CSABACAD PECSÉT (védjegy) — eredetiség-jelvény
   Két előfordulás az oldalon:
   1) Lábléc — kompakt, kattintható link a logó történetéhez
   2) "A logó jelének története" — nagyobb, záró elem az aláírás alatt
══════════════════════════════════════ */
.cadseal {
  --seal-size: min(240px, 60vw);
  width: var(--seal-size);
  aspect-ratio: 1 / 1;
  display: block;
  position: relative;
  cursor: none;
  flex-shrink: 0;
}

.cadseal svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cadseal-ring {
  transform-origin: 200px 200px;
}

@media (prefers-reduced-motion: no-preference) {
  .cadseal-ring {
    animation: cadseal-spin 60s linear infinite;
  }
  .cadseal:hover .cadseal-ring {
    animation-play-state: paused;
  }
}

@keyframes cadseal-spin { to { transform: rotate(360deg); } }

.cs-sparkle-dyn {
  animation: cs-twinkle-dyn var(--dur, 2.8s) ease-in-out forwards;
  transform-box: fill-box;
  transform-origin: center;
  pointer-events: none;
}

@keyframes cs-twinkle-dyn {
  0% { opacity: 0; transform: scale(0.2); }
  35%, 65% { opacity: 0.68; transform: scale(1.1); }
  100% { opacity: 0; transform: scale(0.2); }
}

/* ── Lábléc-változat: kompakt, a márka-oszlop élén, linkként a logó történetéhez ── */
.cadseal--footer {
  --seal-size: 128px;
}

.footer-brand-head {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.footer-brand-head .footer-logo-name,
.footer-brand-head .footer-logo-sub {
  margin-bottom: 0;
}

/* ── "Logó története" — záró pecsét-változat, nagyobb, jól olvasható felirattal ── */
.cadseal--story {
  --seal-size: min(260px, 60vw);
}

.rolam-logo-story-seal {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}

.rolam-logo-story-back-wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

@media (max-width: 480px) {
  .cadseal--footer { --seal-size: 104px; }
  .footer-brand-head { gap: 16px; }
}
