/* =============================================================
     Grekaful Sections — front-end stílusok  v1.9.0
     Teljes újraírás: egyetlen, ellentmondásmentes forrásfájl.
     ============================================================= */

  /* ─── 1. CSS TOKEN-EK ─────────────────────────────────────── */
  :root {
    --gs-bg:            #0c0c0c;
    --gs-fg:            #ececec;
    --gs-muted:         #9b9b9b;
    --gs-border:        #2a2a2a;
    --gs-card:          #131313;
    --gs-gold:          #e1af4a;
    --gs-gold-hover:    #ebcd8c;
    --gs-gold-deep:     #b77610;
    --gs-shadow-gold:   0 18px 60px -28px rgba(201,168,106,.55);
    --gs-body:          "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --gs-display:       "Cormorant Garamond","Playfair Display",Georgia,serif;
    --gs-gradient-gold: linear-gradient(135deg, #b77610 0%, #ebcd8c 100%);
  }

  /* ─── 2. TELJES OLDAL HÁTTÉR ──────────────────────────────── */
  /* Background only on frontend (nem wp-admin) */
  body:not(.wp-admin),
  body:not(.wp-admin) #page,
  body:not(.wp-admin) .site,
  body:not(.wp-admin) .site-content,
  body:not(.wp-admin) main,
  body:not(.wp-admin) .site-main {
    background-color: var(--gs-bg) !important;
  }

  /* ─── 3. ELEMENTOR WRAPPER RESET ─────────────────────────── */
  html body .elementor,
  html body .elementor-section,
  html body .elementor-container,
  html body .elementor-column,
  html body .elementor-widget-wrap,
  html body .elementor-widget,
  html body [data-elementor-type],
  html body .elementor-widget-grekaful-hero,
  html body .elementor-widget-grekaful-about,
  html body .elementor-widget-grekaful-services,
  html body .elementor-widget-grekaful-service_showcase,
  html body .elementor-widget-grekaful-why_us,
  html body .elementor-widget-grekaful-references,
  html body .elementor-widget-grekaful-process,
  html body .elementor-widget-grekaful-cta,
  html body .elementor-widget-grekaful-contact {
    background:       transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow:       none !important;
  }

  html body [class*="elementor-widget-grekaful-"] {
    margin:  0 !important;
    padding: 0 !important;
  }

  html body [class*="elementor-widget-grekaful-"] > .elementor-widget-container {
    margin:           0 !important;
    padding:          0 !important;
    background:       transparent !important;
    border:           0 !important;
    box-shadow:       none !important;
  }

  /* ─── 4. ALAP SEGÉDOSZTÁLYOK ──────────────────────────────── */
  .gs-text-center { text-align: center; }
  .gs-mx-auto     { margin-left: auto; margin-right: auto; max-width: 640px; }
  .gs-mt-lg       { margin-top: 40px; }

  /* ─── 5. KONTÉNER ─────────────────────────────────────────── */
  .gs-container {
    max-width: 1200px;
    margin:    0 auto;
    padding:   0 24px;
  }

  html body .gs-container {
    max-width: 1200px !important;
    padding:   0 24px !important;
  }

  @media (min-width: 1024px) {
    html body .gs-container {
      padding: 0 40px !important;
    }
  }

  /* ─── 6. SZEKCIÓ ALAP ─────────────────────────────────────── */
  .gs-section {
    background:   var(--gs-bg);
    color:        var(--gs-fg);
    padding:      96px 0;
    border-top:   1px solid var(--gs-border);
    position:     relative;
    overflow:     visible;
  }

  /* ALL sections span full viewport width regardless of Elementor container settings */
    html body .gs-section {
      position:     relative !important;
      background:   var(--gs-bg) !important;
      color:        var(--gs-fg) !important;
      padding:      96px 0 !important;
      border-top:   1px solid var(--gs-border) !important;
      width:        100vw !important;
      max-width:    100vw !important;
      margin-left:  calc(50% - 50vw) !important;
      margin-right: calc(50% - 50vw) !important;
      overflow:     visible !important;
    }

    /* Every plugin widget container: no overflow clip, no extra spacing */
    html body [class*="elementor-widget-grekaful-"],
    html body [class*="elementor-widget-grekaful-"] > .elementor-widget-container {
      overflow: visible !important;
      padding:  0 !important;
      margin:   0 !important;
    }

  /* Az első szekció ne kapjon felső vonalat */
  html body .gs-section:first-of-type {
    border-top: 0 !important;
  }

  /* ─── 7. TIPOGRÁFIA — ALAP ELEMEK ─────────────────────────── */
  html body .gs-h2,
  html body .gs-h3,
  html body .gs-hero__title,
  html body .gs-service__title,
  html body .gs-whyus__title,
  html body .gs-process__title {
    font-family:          var(--gs-display) !important;
    color:                var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
  }

  .gs-h2 {
    font-family:  var(--gs-display);
    font-size:    clamp(2rem, 5vw, 4rem);
    line-height:  1.05;
    margin:       28px 0 0;
    font-weight:  400;
  }

  .gs-h3 {
    font-family:  var(--gs-display);
    font-size:    clamp(1.5rem, 3vw, 2.4rem);
    line-height:  1.1;
    margin:       0;
    font-weight:  400;
  }

  html body .gs-lead,
  html body .gs-hero__desc,
  html body .gs-hero__caption,
  html body .gs-service__desc,
  html body .gs-service__num,
  html body .gs-whyus__desc,
  html body .gs-hero__stat-label,
  html body .gs-stat__label,
  html body .gs-services__lead,
  html body .gs-refs__head p,
  html body .gs-contact__label,
  html body .gs-form__privacy,
  html body .gs-about__body p,
  html body .gs-showcase__text p,
  html body .gs-process__item p {
    color:                   var(--gs-muted) !important;
    -webkit-text-fill-color: var(--gs-muted) !important;
    background:              transparent !important;
    background-image:        none !important;
  }

  .gs-lead {
    color:       var(--gs-muted);
    margin-top:  20px;
    font-size:   18px;
    line-height: 1.6;
  }

  /* ─── 8. ARANY ELEMEK ─────────────────────────────────────── */

  /* Arany gradiens italic kiemelt szó (.gs-gold-italic) */
  html body .gs-gold-italic,
  html body .gs-section .gs-gold-italic,
  html body .gs-section span.gs-gold-italic,
  html body .gs-h2 .gs-gold-italic,
  html body .gs-h3 .gs-gold-italic,
  html body .gs-hero__title .gs-gold-italic {
    background:              var(--gs-gradient-gold) !important;
    background-image:        var(--gs-gradient-gold) !important;
    -webkit-background-clip: text !important;
    background-clip:         text !important;
    -webkit-text-fill-color: transparent !important;
    color:                   transparent !important;
    font-style:              italic !important;
    font-family:             var(--gs-display) !important;
  }

  /* Arany értékek (számok, ikonok) */
  html body .gs-hero__stat-value,
  html body .gs-stat__value,
  html body .gs-service__icon,
  html body .gs-whyus__num,
  html body .gs-process__num,
  html body .gs-dash,
  html body a.gs-link-gold,
  html body .gs-link-gold {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  .gs-dash { color: var(--gs-gold); margin-right: 8px; }

  /* Arany vonalak */
  html body .gs-eyebrow__line,
  html body .gs-whyus__rule {
    background:       var(--gs-gold) !important;
    background-color: var(--gs-gold) !important;
    background-image: none !important;
  }

  /* ─── 9. EYEBROW (alcím) ─────────────────────────────────── */
  .gs-eyebrow {
    display:        inline-flex;
    align-items:    center;
    gap:            12px;
    text-transform: uppercase;
    letter-spacing: .3em;
    font-size:      12px;
    font-weight:    500;
  }

  .gs-eyebrow--center { justify-content: center; }

  .gs-eyebrow__line {
    display:    inline-block;
    width:      32px;
    height:     1px;
    flex-shrink:0;
  }

  html body .gs-eyebrow,
  html body .gs-section .gs-eyebrow {
    color:                   #e1af4a !important;
    -webkit-text-fill-color: #e1af4a !important;
    background:              transparent !important;
    background-image:        none !important;
  }

  html body .gs-eyebrow > *:not(.gs-eyebrow__line),
  html body .gs-section .gs-eyebrow > *:not(.gs-eyebrow__line) {
    color:                   #e1af4a !important;
    -webkit-text-fill-color: #e1af4a !important;
    background:              transparent !important;
    background-image:        none !important;
  }

  html body .gs-eyebrow .gs-eyebrow__line,
  html body .gs-section .gs-eyebrow .gs-eyebrow__line {
    background:       #e1af4a !important;
    background-color: #e1af4a !important;
    background-image: none !important;
  }

  /* ─── 10. GOMBOK ──────────────────────────────────────────── */
  .gs-btn {
    display:         inline-flex;
    align-items:     center;
    gap:             12px;
    padding:         16px 32px;
    font-size:       12px;
    text-transform:  uppercase;
    letter-spacing:  .25em;
    font-weight:     500;
    text-decoration: none;
    transition:      opacity .2s, background .2s, color .2s;
  }

  html body a.gs-btn,
  html body button.gs-btn,
  html body .gs-btn {
    display:         inline-flex !important;
    align-items:     center !important;
    gap:             12px !important;
    padding:         16px 32px !important;
    font-size:       12px !important;
    text-transform:  uppercase !important;
    letter-spacing:  .25em !important;
    font-weight:     500 !important;
    text-decoration: none !important;
    border:          0 !important;
    border-radius:   0 !important;
    cursor:          pointer !important;
    font-family:     inherit !important;
    transition:      opacity .2s, background .2s, color .2s !important;
  }

  html body a.gs-btn--gold,
  html body button.gs-btn--gold,
  html body .gs-btn--gold {
    background:              #e1af4a !important;
    background-color:        #e1af4a !important;
    background-image:        none !important;
    color:                   #111 !important;
    -webkit-text-fill-color: #111 !important;
    box-shadow:              var(--gs-shadow-gold) !important;
    border-color:            #e1af4a !important;
    opacity:                 1 !important;
    filter:                  none !important;
  }

  html body a.gs-btn--gold:hover,
  html body button.gs-btn--gold:hover,
  html body .gs-btn--gold:hover {
    background:              #ebcd8c !important;
    background-color:        #ebcd8c !important;
    color:                   #111 !important;
    -webkit-text-fill-color: #111 !important;
    opacity:                 1 !important;
  }

  html body a.gs-btn--ghost,
  html body button.gs-btn--ghost,
  html body .gs-btn--ghost {
    background:              transparent !important;
    background-color:        transparent !important;
    background-image:        none !important;
    color:                   #e1af4a !important;
    -webkit-text-fill-color: #e1af4a !important;
    box-shadow:              none !important;
  }

  html body a.gs-btn--ghost:hover,
  html body button.gs-btn--ghost:hover,
  html body .gs-btn--ghost:hover {
    color:                   #ebcd8c !important;
    -webkit-text-fill-color: #ebcd8c !important;
  }

  .gs-link-gold {
    display:         inline-flex;
    margin-top:      32px;
    color:           var(--gs-gold);
    border-bottom:   1px solid rgba(201,168,106,.4);
    padding-bottom:  8px;
    text-transform:  uppercase;
    letter-spacing:  .3em;
    font-size:       12px;
    text-decoration: none;
  }

  html body .gs-link-gold:hover {
    border-bottom-color:     var(--gs-gold) !important;
    color:                   #ebcd8c !important;
    -webkit-text-fill-color: #ebcd8c !important;
  }

  /* ─── 11. HERO SZEKCIÓ ────────────────────────────────────── */
  .gs-hero {
    min-height:    100vh;
    display:       flex;
    align-items:   center;
    padding-top:   128px;
    padding-bottom: 80px;
  }

  html body .gs-hero {
    position:          relative !important;
    width:             100vw !important;
    max-width:         100vw !important;
    margin-left:       calc(50% - 50vw) !important;
    margin-right:      calc(50% - 50vw) !important;
    background-color:  var(--gs-bg) !important;
    min-height:        100vh !important;
    display:           flex !important;
    align-items:       center !important;
    padding-top:       72px !important;
    padding-bottom:    64px !important;
    border-top:        0 !important;
  }

  @media (min-width: 1024px) {
    html body .gs-hero {
      padding-top:    96px !important;
      padding-bottom: 80px !important;
    }
  }

  html body .elementor-section:has(.gs-hero),
  html body .elementor-section:has(.gs-hero) > .elementor-container,
  html body .elementor-widget-grekaful-hero,
  html body .elementor-widget-grekaful-hero > .elementor-widget-container {
    padding:           0 !important;
    margin:            0 !important;
    max-width:         100% !important;
    width:             100% !important;
    background-color:  var(--gs-bg) !important;
  }

  .gs-hero__bg {
    position:         absolute;
    inset:            0;
    opacity:          .06;
    background-image: radial-gradient(circle at 20% 20%, var(--gs-gold) 0%, transparent 40%),
                      radial-gradient(circle at 80% 70%, var(--gs-gold) 0%, transparent 45%);
    pointer-events:   none;
  }

  .gs-hero__grid {
    position:              relative;
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   48px;
    align-items:           end;
  }

  @media (min-width: 1024px) {
    .gs-hero__grid { grid-template-columns: 2fr 1fr; }
  }

  html body .gs-hero .gs-hero__grid {
    display:               grid !important;
    grid-template-columns: 1fr !important;
    gap:                   48px !important;
    align-items:           end !important;
    width:                 100% !important;
  }

  @media (min-width: 1024px) {
    html body .gs-hero .gs-hero__grid {
      grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    }
    html body .gs-hero .gs-hero__left  { grid-column: span 8 / span 8 !important; }
    html body .gs-hero .gs-hero__right { grid-column: span 4 / span 4 !important; }
  }

  .gs-hero__title {
    font-family:  var(--gs-display);
    font-size:    clamp(3rem, 8vw, 7.5rem);
    line-height:  .95;
    margin:       32px 0 0;
    font-weight:  400;
  }

  html body .gs-hero .gs-hero__title {
    margin-top:              32px !important;
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
  }

  .gs-hero__desc {
    margin-top:  40px;
    max-width:   560px;
    font-size:   18px;
    line-height: 1.6;
  }

  .gs-hero__actions {
    margin-top:  40px;
    display:     flex;
    flex-wrap:   wrap;
    gap:         24px;
    align-items: center;
  }

  .gs-hero__imgwrap {
    position:     relative;
    aspect-ratio: 4/5;
    overflow:     hidden;
    border:       1px solid var(--gs-border);
  }

  .gs-hero__imgwrap img {
    width:       100%;
    height:      100%;
    object-fit:  cover;
    display:     block;
  }

  .gs-hero__fade {
    position:   absolute;
    inset:      0;
    background: linear-gradient(to top, var(--gs-bg), rgba(12,12,12,.2), transparent);
  }

  .gs-hero__stat {
    position: absolute;
    left:     24px;
    bottom:   24px;
    right:    24px;
  }

  .gs-hero__stat-value {
    font-family: var(--gs-display);
    font-size:   4rem;
    line-height: 1;
  }

  .gs-hero__stat-label {
    margin-top:     8px;
    font-size:      10px;
    letter-spacing: .3em;
    text-transform: uppercase;
  }

  .gs-hero__caption {
    margin-top:  24px;
    font-size:   14px;
    line-height: 1.6;
  }

  /* ─── 12. RÓLUNK (ABOUT) ──────────────────────────────────── */
  .gs-about__grid {
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   64px;
  }

  @media (min-width: 1024px) {
    .gs-about__grid { grid-template-columns: 1fr 2fr; }
  }

  .gs-about__body p,
  .gs-about__body blockquote {
    font-size:   18px;
    line-height: 1.7;
    margin:      0 0 24px;
  }

  .gs-about__body blockquote {
    border-left: 2px solid var(--gs-gold);
    padding:     8px 0 8px 32px;
    font-family: var(--gs-display);
    font-size:   22px;
    font-style:  italic;
  }

  html body .gs-about__body blockquote {
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
    border-left-color:       var(--gs-gold) !important;
  }

  html body .gs-about__body strong {
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
  }

  .gs-about__stats {
    margin-top:            80px;
    display:               grid;
    grid-template-columns: repeat(2, 1fr);
    gap:                   1px;
    background:            var(--gs-border);
  }

  @media (min-width: 1024px) {
    .gs-about__stats { grid-template-columns: repeat(4, 1fr); }
  }

  /* GREKAFUL-WEB-1010 (a): a rács szürke háttere (a cellák közti 1 px-es vonal) csak a tartalom-dobozban; a konténer oldalsó
     belső margójában (mobilon 24 px, asztalon 40 px) nem látszik szürke csíkként */
  html body .gs-about__stats { background-clip: content-box !important; }

  .gs-stat { background: var(--gs-bg); padding: 40px; }
  html body .gs-stat { background: var(--gs-bg) !important; }

  .gs-stat__value {
    font-family: var(--gs-display);
    font-size:   3.5rem;
  }

  .gs-stat__label {
    margin-top:     12px;
    font-size:      12px;
    letter-spacing: .25em;
    text-transform: uppercase;
  }

  /* ─── 13. SZOLGÁLTATÁSOK ──────────────────────────────────── */
  .gs-services__head {
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   32px;
    align-items:           end;
  }

  @media (min-width: 1024px) {
    .gs-services__head { grid-template-columns: 7fr 5fr; }
  }

  .gs-services__lead { line-height: 1.7; }

  .gs-services__grid {
    margin-top:            80px;
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   1px;
    background:            var(--gs-border);
  }

  @media (min-width: 768px) {
    .gs-services__grid { grid-template-columns: repeat(2, 1fr); }
  }

  .gs-service { background: var(--gs-bg); padding: 48px; transition: background .2s; }
  html body .gs-service { background: var(--gs-bg) !important; }
  html body .gs-service:hover { background: var(--gs-card) !important; }

  .gs-service__top { display: flex; justify-content: space-between; align-items: flex-start; }

  .gs-service__icon { font-size: 3rem; line-height: 1; }

  .gs-service__num { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; }

  .gs-service__title {
    font-family:  var(--gs-display);
    font-size:    clamp(1.6rem, 2.4vw, 2.2rem);
    margin:       40px 0 0;
    font-weight:  400;
  }

  .gs-service__desc { margin-top: 16px; line-height: 1.7; }

  .gs-service__list { margin: 32px 0 0; list-style: none; padding: 0; }

  .gs-service__list li { display: flex; gap: 8px; margin: 12px 0; font-size: 14px; }

  /* ─── 14. SHOWCASE ────────────────────────────────────────── */
  .gs-showcase__head { max-width: 720px; }

  .gs-showcase__list { margin-top: 80px; display: flex; flex-direction: column; gap: 96px; }

  .gs-showcase__row {
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   40px;
    align-items:           center;
  }

  @media (min-width: 1024px) {
    .gs-showcase__row { grid-template-columns: 7fr 5fr; gap: 64px; }
    .gs-showcase__row--rev { grid-template-columns: 5fr 7fr; }
    .gs-showcase__row--rev .gs-showcase__media { order: 2; }
  }

  .gs-showcase__media {
    position:     relative;
    aspect-ratio: 4/3;
    overflow:     hidden;
    border:       1px solid var(--gs-border);
  }

  .gs-showcase__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s; }
  .gs-showcase__media:hover img { transform: scale(1.05); }

  .gs-showcase__tag {
    position:        absolute;
    top:             20px;
    left:            20px;
    font-size:       10px;
    letter-spacing:  .3em;
    text-transform:  uppercase;
    background:      rgba(12,12,12,.8);
    backdrop-filter: blur(6px);
    padding:         8px 12px;
    border:          1px solid rgba(201,168,106,.4);
  }

  html body .gs-showcase__tag {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  .gs-showcase__text p { margin-top: 24px; line-height: 1.7; }

  .gs-bullets { margin: 32px 0 0; list-style: none; padding: 0; }

  .gs-bullets li { display: flex; gap: 8px; margin: 12px 0; font-size: 14px; }

  html body .gs-bullets li,
  html body .gs-service__list li {
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
  }

  /* ─── 15. MIÉRT MINKET (WHY US) ───────────────────────────── */
  html body .gs-section.gs-whyus {
    background:   rgba(19,19,19,.8) !important;
    border-color: var(--gs-border) !important;
  }

  .gs-whyus__head { text-align: center; max-width: 640px; margin: 0 auto; }

  .gs-whyus__grid {
    margin-top:            80px;
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   1px;
    background:            var(--gs-border);
  }

  @media (min-width: 768px) { .gs-whyus__grid { grid-template-columns: repeat(2, 1fr); } }
  @media (min-width: 1024px) { .gs-whyus__grid { grid-template-columns: repeat(3, 1fr); } }

  .gs-whyus__card { background: var(--gs-bg); padding: 48px; }
  html body .gs-whyus__card { background: rgba(12,12,12,.95) !important; }

  .gs-whyus__num { font-family: var(--gs-display); font-size: 2.5rem; }

  .gs-whyus__rule { width: 48px; height: 1px; margin: 24px 0 0; }

  .gs-whyus__title { font-family: var(--gs-display); font-size: 1.6rem; margin: 32px 0 0; font-weight: 400; }

  .gs-whyus__desc { margin-top: 16px; line-height: 1.7; font-size: 14px; }

  /* ─── 16. REFERENCIÁK ─────────────────────────────────────── */
  .gs-refs__list { margin-top: 64px; display: flex; flex-direction: column; gap: 96px; }

  .gs-refs__head { display: flex; flex-direction: column; gap: 24px; }

  @media (min-width: 768px) {
    .gs-refs__head { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  }

  .gs-refs__nav { display: flex; gap: 8px; }

  .gs-refs__nav button {
    width:       44px;
    height:      44px;
    display:     grid;
    place-items: center;
    border:      1px solid var(--gs-gold) !important;
    background:  transparent !important;
    cursor:      pointer;
    font-size:   24px;
    line-height: 1;
    transition:  background .2s, color .2s;
  }

  html body .gs-refs__nav button {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  html body .gs-refs__nav button:hover {
    background:              var(--gs-gold) !important;
    color:                   #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .gs-refs__scroller {
    margin-top:       32px;
    display:          flex;
    gap:              16px;
    overflow-x:       auto;
    scroll-snap-type: x mandatory;
    padding-bottom:   16px;
    scrollbar-width:  none;
  }

  .gs-refs__scroller::-webkit-scrollbar { display: none; }

  .gs-refs__card {
    flex:              0 0 85%;
    aspect-ratio:      16/9;
    scroll-snap-align: start;
    border:            1px solid var(--gs-border);
    overflow:          hidden;
  }

  /* GREKAFUL-WEB-1010 (b): mobilon egyszerre EGY kép, a következő dia széle nem lóg be */
  @media (max-width: 639px)  { html body .gs-refs__card { flex-basis: 100% !important; } }
  @media (min-width: 640px)  { .gs-refs__card { flex-basis: 55%; } }
  @media (min-width: 1024px) { .gs-refs__card { flex-basis: 32%; } }

  .gs-refs__card img { width: 100%; height: 100%; object-fit: cover; }

  /* ─── 17. FOLYAMAT (PROCESS) ──────────────────────────────── */
  .gs-process__list { margin: 80px 0 0; padding: 0; list-style: none; position: relative; }

  .gs-process__list::before {
    content:    "";
    position:   absolute;
    left:       31px;
    top:        0;
    bottom:     0;
    width:      1px;
    background: var(--gs-border);
  }

  @media (min-width: 768px) { .gs-process__list::before { left: 50%; } }

  .gs-process__item {
    position:              relative;
    display:               grid;
    grid-template-columns: 1fr;
    gap:                   32px;
    margin-bottom:         64px;
    padding-left:          80px;
  }

  @media (min-width: 768px) {
      .gs-process__item { grid-template-columns: 1fr 1fr; padding-left: 0; }

      /* Páratlan elem: szöveg BAL (jobbra igazítva), szám JOBB */
      .gs-process__item .gs-process__text {
        order: 1;
        padding-right: 64px;
        text-align: right;
      }
      .gs-process__item .gs-process__num {
        position: relative;
        left: auto;
        top: auto;
        order: 2;
        justify-self: start;
        align-self: start;
      }

      /* Páros elem (.is-rev): szám BAL, szöveg JOBB (balra igazítva) */
      .gs-process__item.is-rev .gs-process__text {
        order: 2;
        padding-right: 0;
        padding-left: 64px;
        text-align: left;
      }
      .gs-process__item.is-rev .gs-process__num {
        order: 1;
        justify-self: end;
        align-self: start;
      }
    }

  .gs-process__title { font-family: var(--gs-display); font-size: 1.8rem; margin: 0; font-weight: 400; }

  .gs-process__item p { margin-top: 16px; line-height: 1.7; }

  .gs-process__num {
    position:    absolute;
    left:        0;
    top:         0;
    width:       64px;
    height:      64px;
    border:      1px solid var(--gs-gold) !important;
    display:     grid;
    place-items: center;
    font-family: var(--gs-display);
    font-size:   1.5rem;
  }

  html body .gs-process__num {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
    background:              var(--gs-bg) !important;
  }

  @media (min-width: 768px) {
    .gs-process__num { left: 50%; transform: translateX(-50%); }
  }

  /* ─── 18. CTA SZEKCIÓ ─────────────────────────────────────── */


  .gs-cta__bg {
    position:   absolute;
    inset:      0;
    opacity:    .08;
    background: radial-gradient(circle at 50% 50%, var(--gs-gold) 0%, transparent 60%);
  }

  /* ─── 19. KAPCSOLAT (CONTACT) ─────────────────────────────── */
  .gs-contact__grid { display: grid; grid-template-columns: 1fr; gap: 64px; }

  @media (min-width: 1024px) { .gs-contact__grid { grid-template-columns: 5fr 7fr; } }

  .gs-contact__items { margin-top: 48px; display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--gs-border); }

  .gs-contact__row { background: var(--gs-bg); padding: 24px; display: flex; gap: 20px; align-items: flex-start; }
  html body .gs-contact__row { background: var(--gs-bg) !important; }

  .gs-contact__icon {
    width:       48px;
    height:      48px;
    display:     grid;
    place-items: center;
    border:      1px solid var(--gs-gold) !important;
    font-size:   20px;
    flex-shrink: 0;
  }

  html body .gs-contact__icon {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  .gs-contact__label { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; }

  .gs-contact__value { display: block; margin-top: 8px; text-decoration: none; }

  html body .gs-contact__value {
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
  }

  html body a.gs-contact__value:hover {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  .gs-contact__socials { margin-top: 40px; display: flex; gap: 16px; }

  .gs-contact__socials a {
    width:           40px;
    height:          40px;
    display:         grid;
    place-items:     center;
    border:          1px solid var(--gs-gold) !important;
    text-decoration: none;
    font-size:       12px;
    text-transform:  uppercase;
    transition:      background .2s, color .2s;
  }

  html body .gs-contact__socials a {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  html body .gs-contact__socials a:hover {
    background:              var(--gs-gold) !important;
    color:                   #111 !important;
    -webkit-text-fill-color: #111 !important;
  }

  .gs-contact__form {
    background:     var(--gs-card);
    border:         1px solid var(--gs-border);
    padding:        48px;
    display:        flex;
    flex-direction: column;
    gap:            24px;
  }

  html body .gs-contact__form {
    background:       var(--gs-card) !important;
    background-color: var(--gs-card) !important;
    border-color:     var(--gs-border) !important;
  }

  .gs-form__grid { display: grid; grid-template-columns: 1fr; gap: 24px; }

  @media (min-width: 768px) { .gs-form__grid { grid-template-columns: repeat(2, 1fr); } }

  .gs-contact__form label { display: block; }

  .gs-contact__form label > span { font-size: 12px; letter-spacing: .25em; text-transform: uppercase; }

  html body .gs-contact__form label > span {
    color:                   var(--gs-muted) !important;
    -webkit-text-fill-color: var(--gs-muted) !important;
  }

  .gs-contact__form input[type="text"],
  .gs-contact__form input[type="email"],
  .gs-contact__form input[type="tel"],
  .gs-contact__form input[type="file"],
  .gs-contact__form textarea {
    display:     block;
    width:       100%;
    background:  transparent !important;
    border:      0 !important;
    border-bottom: 1px solid var(--gs-border) !important;
    padding:     12px 0;
    margin-top:  8px;
    outline:     none;
    font-family: inherit;
    font-size:   16px;
    box-shadow:  none !important;
  }

  html body .gs-contact__form input[type="text"],
  html body .gs-contact__form input[type="email"],
  html body .gs-contact__form input[type="tel"],
  html body .gs-contact__form input[type="file"],
  html body .gs-contact__form textarea {
    color:                   var(--gs-fg) !important;
    -webkit-text-fill-color: var(--gs-fg) !important;
    border-radius:           0 !important;
  }

  html body .gs-contact__form input:focus,
  html body .gs-contact__form textarea:focus {
    border-bottom-color: var(--gs-gold) !important;
    outline:             none !important;
    box-shadow:          none !important;
  }

  .gs-contact__form textarea { resize: vertical; }

    /* Fájlfeltöltés gomb */
    .gs-contact__form input[type="file"]::file-selector-button,
    .gs-contact__form input[type="file"]::-webkit-file-upload-button {
      background:     transparent;
      border:         1px solid var(--gs-gold);
      color:          var(--gs-gold);
      padding:        8px 16px;
      margin-right:   16px;
      cursor:         pointer;
      font-size:      11px;
      letter-spacing: .25em;
      text-transform: uppercase;
      transition:     background .2s, color .2s;
    }

    .gs-contact__form input[type="file"]::file-selector-button:hover,
    .gs-contact__form input[type="file"]::-webkit-file-upload-button:hover {
      background: var(--gs-gold);
      color:      #111;
    }

    /* Fájlfeltöltés gomb stílus */
    .gs-contact__form input[type="file"]::file-selector-button {
      background:      transparent;
      border:          1px solid var(--gs-gold) !important;
      color:           var(--gs-gold) !important;
      padding:         8px 16px;
      margin-right:    16px;
      cursor:          pointer;
      font-family:     var(--gs-body);
      font-size:       11px;
      letter-spacing:  .25em;
      text-transform:  uppercase;
      transition:      background .2s, color .2s;
    }

    .gs-contact__form input[type="file"]::file-selector-button:hover {
      background:  var(--gs-gold) !important;
      color:       #111 !important;
    }

    /* Webkit prefix fallback */
    .gs-contact__form input[type="file"]::-webkit-file-upload-button {
      background:      transparent;
      border:          1px solid var(--gs-gold);
      color:           var(--gs-gold);
      padding:         8px 16px;
      margin-right:    16px;
      cursor:          pointer;
      font-size:       11px;
      letter-spacing:  .25em;
      text-transform:  uppercase;
    }

  .gs-form__privacy { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; }

  html body .gs-form__privacy a {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }

  .gs-contact__form button[type="submit"] { align-self: flex-start; border: 0; cursor: pointer; font-family: inherit; }

  /* ─── 20. EGYÉB LINKEK A SZEKCIÓKBAN ─────────────────────── */
  html body .gs-section a:not(.gs-btn):not(.gs-link-gold):not(.gs-contact__value):not(.gs-contact__socials a) {
    color:                   var(--gs-gold) !important;
    -webkit-text-fill-color: var(--gs-gold) !important;
  }
  
  /* ─── LIGHTBOX ────────────────────────────────────────────── */
  body.gs-lb--noscroll { overflow: hidden !important; }

  #gs-lightbox {
    display:         flex;
    align-items:     center;
    justify-content: center;
    position:        fixed;
    inset:           0;
    z-index:         99999;
    opacity:         0;
    pointer-events:  none;
    transition:      opacity .25s;
  }

  #gs-lightbox.is-open {
    opacity:        1;
    pointer-events: auto;
  }

  .gs-lb__overlay {
    position:   absolute;
    inset:      0;
    background: rgba(0,0,0,.92);
    cursor:     zoom-out;
  }

  .gs-lb__stage {
    position:        relative;
    z-index:         1;
    max-width:       92vw;
    max-height:      88vh;
    display:         flex;
    align-items:     center;
    justify-content: center;
  }

  .gs-lb__img {
    display:    block;
    max-width:  92vw;
    max-height: 88vh;
    object-fit: contain;
    box-shadow: 0 32px 80px rgba(0,0,0,.8);
    border:     1px solid #2a2a2a;
  }

  .gs-lb__close,
  .gs-lb__prev,
  .gs-lb__next {
    position:    fixed;
    z-index:     2;
    background:  transparent;
    border:      1px solid rgba(225,175,74,.5);
    color:       #e1af4a;
    cursor:      pointer;
    line-height: 1;
    transition:  background .2s, color .2s, border-color .2s;
    font-family: inherit;
  }

  .gs-lb__close:hover,
  .gs-lb__prev:hover,
  .gs-lb__next:hover {
    background:   #e1af4a;
    color:        #111;
    border-color: #e1af4a;
  }

  .gs-lb__close {
    top:       20px;
    right:     20px;
    width:     44px;
    height:    44px;
    font-size: 28px;
    display:   grid;
    place-items: center;
  }

  .gs-lb__prev,
  .gs-lb__next {
    top:       50%;
    transform: translateY(-50%);
    width:     48px;
    height:    64px;
    font-size: 32px;
    display:   grid;
    place-items: center;
  }

  .gs-lb__prev { left:  16px; }
  .gs-lb__next { right: 16px; }

  .gs-lb__counter {
    position:       fixed;
    bottom:         20px;
    left:           50%;
    transform:      translateX(-50%);
    z-index:        2;
    font-size:      12px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color:          rgba(225,175,74,.7);
    pointer-events: none;
  }

  @media (max-width: 640px) {
    .gs-lb__prev { left:   6px; }
    .gs-lb__next { right:  6px; }
    .gs-lb__close { top: 10px; right: 10px; }
  }
  
  /* ─── LIGHTBOX ────────────────────────────────────────────── */
  body.gs-lb--noscroll { overflow: hidden !important; }

  #gs-lightbox {
    display:         flex;
    align-items:     center;
    justify-content: center;
    position:        fixed;
    inset:           0;
    z-index:         99999;
    opacity:         0;
    pointer-events:  none;
    transition:      opacity .25s;
  }

  #gs-lightbox.is-open {
    opacity:        1;
    pointer-events: auto;
  }

  .gs-lb__overlay {
    position:   absolute;
    inset:      0;
    background: rgba(0,0,0,.92);
    cursor:     zoom-out;
  }

  .gs-lb__stage {
    position:        relative;
    z-index:         1;
    max-width:       92vw;
    max-height:      88vh;
    display:         flex;
    align-items:     center;
    justify-content: center;
  }

  .gs-lb__img {
    display:    block;
    max-width:  92vw;
    max-height: 88vh;
    object-fit: contain;
    box-shadow: 0 32px 80px rgba(0,0,0,.8);
    border:     1px solid #2a2a2a;
  }

  .gs-lb__close,
  .gs-lb__prev,
  .gs-lb__next {
    position:    fixed;
    z-index:     2;
    background:  transparent;
    border:      1px solid rgba(225,175,74,.5);
    color:       #e1af4a;
    cursor:      pointer;
    line-height: 1;
    transition:  background .2s, color .2s, border-color .2s;
    font-family: inherit;
    padding:     0;
  }

  .gs-lb__close:hover,
  .gs-lb__prev:hover,
  .gs-lb__next:hover {
    background:   #e1af4a;
    color:        #111;
    border-color: #e1af4a;
  }

  .gs-lb__close {
    top:         20px;
    right:       20px;
    width:       44px;
    height:      44px;
    font-size:   28px;
    display:     grid;
    place-items: center;
  }

  .gs-lb__prev,
  .gs-lb__next {
    top:         50%;
    transform:   translateY(-50%);
    width:       48px;
    height:      64px;
    font-size:   32px;
    display:     grid;
    place-items: center;
  }

  .gs-lb__prev { left:  16px; }
  .gs-lb__next { right: 16px; }

  .gs-lb__counter {
    position:       fixed;
    bottom:         20px;
    left:           50%;
    transform:      translateX(-50%);
    z-index:        2;
    font-size:      12px;
    letter-spacing: .25em;
    text-transform: uppercase;
    color:          rgba(225,175,74,.7);
    pointer-events: none;
    white-space:    nowrap;
  }

  @media (max-width: 640px) {
    .gs-lb__prev { left:   6px; }
    .gs-lb__next { right:  6px; }
    .gs-lb__close { top: 10px; right: 10px; }
  }
  
  /* ─── INTER BETŰTÍPUS ALAPÉRTELMEZETT ───────────────────── */
  /* Csak szöveges elemekre — ikonokat NEM bántjuk */
  html body .gs-section p,
  html body .gs-section span:not([class*="icon"]):not([class*="fa-"]):not([class*="dashicon"]),
  html body .gs-section a,
  html body .gs-section li,
  html body .gs-section label,
  html body .gs-section input,
  html body .gs-section textarea,
  html body .gs-section button {
    font-family: var(--gs-body) !important;
  }

  /* Kivétel: display elemek maradjanak Cormorant-ban */
  html body .gs-h2,
  html body .gs-h3,
  html body .gs-hero__title,
  html body .gs-hero__stat-value,
  html body .gs-stat__value,
  html body .gs-whyus__num,
  html body .gs-whyus__title,
  html body .gs-process__num,
  html body .gs-process__title,
  html body .gs-service__title,
  html body .gs-about__body blockquote,
  html body .gs-gold-italic,
  html body .gs-hero .gs-gold-italic {
    font-family: var(--gs-display) !important;
  }
  
    /* ─── CONTACT IKON SZIMBÓLUM FONT (nem emoji) ────────────── */
    html body .gs-contact__icon {
      font-family:       'Segoe UI Symbol', 'Apple Symbols', 'Noto Sans Symbols', monospace !important;
      font-variant-emoji: text;
      font-size:         1.25rem !important;
      line-height:       1 !important;
      display:           grid !important;
      place-items:       center !important;
    }
  
  /* ─── CONTACT SVG IKONOK ─────────────────────────────────── */
  html body .gs-contact__icon {
    font-family:  inherit !important;
    font-size:    inherit !important;
    line-height:  1 !important;
    display:      grid !important;
    place-items:  center !important;
  }

  html body .gs-contact__icon svg {
    width:       18px !important;
    height:      18px !important;
    stroke:      var(--gs-gold) !important;
    color:       var(--gs-gold) !important;
    flex-shrink: 0 !important;
  }

  /* Social SVG icons */
  html body .gs-contact__socials a {
    width:           44px !important;
    height:          44px !important;
    display:         grid !important;
    place-items:     center !important;
    border:          1px solid var(--gs-gold) !important;
    text-decoration: none !important;
    transition:      background .2s, color .2s !important;
  }

  html body .gs-contact__socials a svg {
    width:  16px !important;
    height: 16px !important;
    fill:       var(--gs-gold) !important;
    stroke:     var(--gs-gold) !important;
    color:      var(--gs-gold) !important;
    transition: fill .2s, stroke .2s !important;
  }

  html body .gs-contact__socials a:hover svg {
    fill:   #111 !important;
    stroke: #111 !important;
    color:  #111 !important;
  }
  
  /* ─── SERVICES IKON: Font Awesome + feltöltött SVG ──────── */
  html body .gs-service__icon {
    font-size:    2rem !important;
    color:        var(--gs-gold) !important;
    line-height:  1 !important;
  }

  /* Font Awesome <i> ikon */
  html body .gs-service__icon i {
    font-size:  inherit !important;
    color:      var(--gs-gold) !important;
    display:    block !important;
  }

  /* Feltöltött SVG */
  html body .gs-service__icon svg {
    width:       48px !important;
    height:      48px !important;
    fill:        var(--gs-gold) !important;
    color:       var(--gs-gold) !important;
    display:     block !important;
  }

  /* Ha SVG-t képként adja vissza az Elementor */
  html body .gs-service__icon img {
    width:  48px !important;
    height: 48px !important;
    display: block !important;
    filter: brightness(0) saturate(100%) invert(72%) sepia(59%) saturate(471%) hue-rotate(1deg) brightness(99%) contrast(86%) !important;
  }
  
  /* ─── Lightbox: mobilon swipe alapú navigáció, gombok elrejtve ─────────── */
  @media (max-width: 767px) {
    .gs-lb__prev,
    .gs-lb__next {
      display: none !important;
    }
    /* Stage teljes szélességen, hogy a swipe területe nagyobb legyen */
    .gs-lb__stage {
      max-width: 100vw;
      width: 100vw;
      touch-action: pan-y pinch-zoom;
    }
    .gs-lb__img {
      max-width: 96vw;
    }
  }
  