/* ============================================================
   Kút-Fúrás Pure Theme – assets/css/main.css
   ============================================================ */

/* ── Reset & base ──────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;color:#1e293b;background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit}

/* ── Layout helpers ─────────────────────────────────────────── */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section--dark{background:#1c1917;color:#fff}
.section--tan{background:#c4a882}
.section--grey{background:#f8f7f4}

/* ── Typography ─────────────────────────────────────────────── */

h1,h2,h3,h4{font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;line-height:1.2}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#3a7d44;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;display:block;margin-bottom:12px}
.eyebrow--amber{color:#f59e0b}
.eyebrow--muted{color:rgba(255,255,255,.55)}

/* ── Header ─────────────────────────────────────────────────── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:9990;background:transparent;transition:background .3s,box-shadow .3s}
.site-header.scrolled{background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.10)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-logo img{height:40px;width:auto;display:block}
.site-logo-text{font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-weight:700;font-size:20px;color:#fff;transition:color .3s}
.site-header.scrolled .site-logo-text{color:#1e293b}
.site-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.site-nav a{font-size:13px;font-weight:500;color:rgba(255,255,255,.9);padding:5px 8px;border-radius:5px;white-space:nowrap;transition:color .2s,font-weight .2s}
.site-nav a:hover,.site-nav a.active{color:#fff;font-weight:600}
.site-header.scrolled .site-nav a{color:#475569}
.site-header.scrolled .site-nav a:hover,.site-header.scrolled .site-nav a.active{color:#1a6b9a;font-weight:600}
.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-phone{font-size:13px;font-weight:600;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:6px;white-space:nowrap}
.site-header.scrolled .header-phone{color:#334155}
.header-cta{background:#1a6b9a;color:#fff;font-size:13px;font-weight:600;padding:8px 16px;border-radius:99px;white-space:nowrap;transition:opacity .2s}
.header-cta:hover{opacity:.85;color:#fff}

/* hamburger */
.burger-btn{display:none;border:none;background:rgba(255,255,255,.15);border-radius:8px;width:38px;height:38px;align-items:center;justify-content:center;transition:background .3s;flex-shrink:0}
.site-header.scrolled .burger-btn{background:#f1f5f9}
.burger-btn svg{stroke:rgba(255,255,255,.9);transition:stroke .3s}
.site-header.scrolled .burger-btn svg{stroke:#334155}
.burger-btn.open svg.icon-burger{display:none}
.burger-btn.open svg.icon-x{display:block}
.burger-btn svg.icon-x{display:none}

/* mobile drawer */
.mobile-nav{position:fixed;inset:0;z-index:9980;pointer-events:none}
.mobile-nav-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .3s}
.mobile-nav-drawer{position:absolute;top:0;right:0;bottom:0;width:280px;background:#fff;transform:translateX(100%);transition:transform .3s ease;padding:80px 24px 32px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
.mobile-nav.open{pointer-events:all}
.mobile-nav.open .mobile-nav-backdrop{opacity:1}
.mobile-nav.open .mobile-nav-drawer{transform:translateX(0)}
.mobile-nav-drawer a{font-size:16px;font-weight:500;color:#1e293b;padding:12px 0;border-bottom:1px solid #f1f5f9;display:block}
.mobile-nav-drawer .mobile-cta{margin-top:16px;background:#1a6b9a;color:#fff;text-align:center;padding:14px;border-radius:10px;font-weight:600;font-size:15px;border-bottom:none}

/* admin bar offset */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* ── Hero ───────────────────────────────────────────────────── */
#fooldal{min-height:100vh;background:linear-gradient(to bottom,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 100%),url('../images/hero.webp') center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:120px 24px 80px;text-align:center;position:relative}
.hero-content{max-width:760px}
.hero-content h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:16px}
.hero-content p{font-size:17px;color:rgba(255,255,255,.75);max-width:560px;margin:0 auto 28px;line-height:1.7}
.btn{display:inline-block;padding:14px 28px;border-radius:99px;font-weight:600;font-size:15px;transition:opacity .2s,transform .2s}
.btn:hover{opacity:.88;transform:translateY(-1px)}
.btn--primary{background:#1a6b9a;color:#fff}
.btn--outline{border:2px solid rgba(255,255,255,.6);color:#fff}

/* ── Rólunk ─────────────────────────────────────────────────── */
#rolunk{background:#1c1917;color:#fff;padding:90px 0}
.rolunk-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.rolunk-text h2{font-size:2rem;font-weight:700;margin-bottom:16px}
.rolunk-text p{font-size:15px;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:24px}
.founders{display:flex;gap:24px;margin-top:8px}
.founder{text-align:center}
.founder-avatar{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;margin:0 auto 8px}
.founder-avatar svg{opacity:.6}
.founder p{font-size:13px;color:rgba(255,255,255,.65);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.stat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px;text-align:center}
.stat-card .num{font-size:2.2rem;font-weight:700;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:#fff}
.stat-card .label{font-size:12px;color:rgba(255,255,255,.6);margin-top:4px}

/* ── Szolgáltatások ─────────────────────────────────────────── */
#szolgaltatasok{background:#c4a882;padding:90px 0}
.section-header{text-align:center;margin-bottom:48px}
.section-header h2{font-size:2rem;font-weight:700;margin-top:8px}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:860px;margin:0 auto}
.service-card{background:#faf9f6;border-radius:16px;padding:32px 28px}
.service-icon{font-size:24px;margin-bottom:16px}
.service-card h3{font-size:1.1rem;font-weight:700;margin-bottom:10px;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.service-card p{font-size:14px;color:#44403c;line-height:1.7}

/* ── Hogyan dolgozunk ───────────────────────────────────────── */
#hogyan{background:#c4a882;padding:90px 0}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:48px}
.step-card{background:rgba(250,249,246,.9);border-radius:14px;padding:24px 18px;box-shadow:0 4px 16px rgba(0,0,0,.07)}
.step-num{font-size:11px;font-weight:700;color:#3a7d44;text-transform:uppercase;letter-spacing:.1em;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;margin-bottom:20px}
.step-icon{font-size:22px;margin-bottom:14px;display:block}
.step-card h3{font-size:.95rem;font-weight:700;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;margin-bottom:8px}
.step-card p{font-size:13px;color:#57534e;line-height:1.6}

/* ── Munkaterület ───────────────────────────────────────────── */
#munkaterulet{background:#1c1917;color:#fff;padding:90px 0}
.munkaterulet-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:48px}
.map-wrap{border-radius:14px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.map-wrap iframe{display:block;width:100%;height:340px;border:0}
.locations-list h3{font-size:1.1rem;font-weight:700;margin-bottom:20px;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.location-tags{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.location-tag{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:500}
.location-tag svg{flex-shrink:0}
.locations-note{font-size:12px;color:rgba(255,255,255,.4);line-height:1.6;margin-top:10px}

/* ── Miért minket ───────────────────────────────────────────── */
#miert-minket{background:#c4a882;padding:90px 0}
.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.feature-card{background:#faf9f6;border-radius:16px;padding:28px 24px}
.feature-icon{font-size:22px;margin-bottom:14px}
.feature-card h3{font-size:1rem;font-weight:700;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;margin-bottom:8px}
.feature-card p{font-size:14px;color:#44403c;line-height:1.7}

/* ── Kapcsolat ──────────────────────────────────────────────── */
/* ── Footer ─────────────────────────────────────────────────── */
.site-footer{background:#1c1917;color:#fff;padding:60px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1.5fr;gap:40px;padding-bottom:48px}
.footer-logo img{height:56px;width:auto;margin-bottom:16px}
.footer-logo-text{font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:14px;display:block}
.footer-desc{font-size:13px;color:#a8a29e;line-height:1.7;max-width:280px}
.footer-col h4{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#78716c;margin-bottom:18px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{font-size:14px;color:#d6d3d1;transition:color .2s}
.footer-col ul li a:hover{color:#fff}
.footer-col ul li.contact-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#d6d3d1}
.footer-col ul li.contact-item svg{flex-shrink:0;opacity:.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:12px;color:#57534e}
.footer-bottom a{color:#a8a29e;transition:color .2s}
.footer-bottom a:hover{color:#fff}

/* ── Sub pages ──────────────────────────────────────────────── */
.page-hero{padding:120px 0 60px;background:#1c1917;color:#fff;text-align:center}
.page-hero h1{font-size:2.2rem;font-weight:700}
.page-content{padding:60px 0 80px;max-width:860px;margin:0 auto;font-size:15px;line-height:1.8;color:#334155}
.page-content h2{font-size:1.4rem;font-weight:700;margin:32px 0 12px;font-family:'Segoe UI','SF Pro Display',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.page-content h3{font-size:1.1rem;font-weight:700;margin:24px 0 8px}
.page-content p{margin-bottom:14px}
.page-content ul{padding-left:20px;margin-bottom:14px}
.page-content ul li{margin-bottom:6px}

/* ── 404 ────────────────────────────────────────────────────── */
.not-found{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.not-found h1{font-size:6rem;font-weight:700;color:#e2e8f0}
.not-found h2{font-size:1.5rem;font-weight:600;margin-bottom:12px}
.not-found p{color:#64748b;margin-bottom:24px}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:1024px){
    .steps-grid{grid-template-columns:repeat(3,1fr)}
    .step-card:nth-child(4),.step-card:nth-child(5){grid-column:auto}
}
@media(max-width:900px){
    .site-nav,.header-right{display:none}
    .burger-btn{display:flex}
    .rolunk-grid,.munkaterulet-grid{grid-template-columns:1fr;gap:40px}
    .services-grid,.features-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
    .steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
    .section{padding:60px 0}
    #fooldal{padding-top:100px}
    .stats-grid{grid-template-columns:1fr 1fr}
    .location-tags{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .steps-grid{grid-template-columns:1fr}
}

/* ============================================================
   v2 – Animációk & Design polish
   ============================================================ */

/* ── Scroll-in animációk ────────────────────────────────────── */
[data-anim] {
  opacity: 0;
  transition: opacity .65s ease, transform .65s ease;
}
[data-anim="fade-up"]    { transform: translateY(40px) }
[data-anim="fade-left"]  { transform: translateX(-50px) }
[data-anim="fade-right"] { transform: translateX(50px) }
[data-anim="fade-scale"] { transform: scale(.93) }
[data-anim="fade-down"]  { transform: translateY(-30px) }

[data-anim].is-visible {
  opacity: 1;
  transform: none;
}

/* stagger delay */
[data-delay="100"] { transition-delay: .10s }
[data-delay="200"] { transition-delay: .20s }
[data-delay="300"] { transition-delay: .30s }
[data-delay="400"] { transition-delay: .40s }
[data-delay="500"] { transition-delay: .50s }

/* ── Hero polish ─────────────────────────────────────────────── */
#fooldal::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom, transparent, #1c1917);
  pointer-events: none;
}
.hero-badges {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 32px;
  flex-wrap: wrap;
}
.hero-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 99px;
  padding: 7px 14px;
  font-size: 13px;
  color: rgba(255,255,255,.85);
  font-weight: 500;
  backdrop-filter: blur(6px);
}
.hero-badge svg { opacity: .7 }

/* ── Stat cards counter glow ─────────────────────────────────── */
.stat-card {
  position: relative;
  overflow: hidden;
  transition: transform .3s, box-shadow .3s;
}
.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
}
.stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.06), transparent);
  pointer-events: none;
}

/* ── Service cards hover ─────────────────────────────────────── */
.service-card {
  transition: transform .3s, box-shadow .3s;
  position: relative;
  overflow: hidden;
}
.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(0,0,0,.12);
}
.service-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a6b9a, #3a7d44);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.service-card:hover::after { transform: scaleX(1) }

/* ── Step cards hover ────────────────────────────────────────── */
.step-card {
  transition: transform .3s, box-shadow .3s;
  position: relative;
}
.step-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(0,0,0,.13);
}
.step-num { position: relative }
.step-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #3a7d44;
  border-radius: 14px 14px 0 0;
  opacity: 0;
  transition: opacity .3s;
}
.step-card:hover::before { opacity: 1 }

/* ── Feature cards hover ─────────────────────────────────────── */
.feature-card {
  transition: transform .3s, box-shadow .3s;
}
.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(0,0,0,.10);
}

/* ── Section dividers ────────────────────────────────────────── */
.section-wave {
  display: block;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

/* ── Btn shimmer ─────────────────────────────────────────────── */
.btn--primary {
  position: relative;
  overflow: hidden;
}
.btn--primary::after {
  content: '';
  position: absolute;
  top: -50%; left: -75%;
  width: 50%; height: 200%;
  background: rgba(255,255,255,.18);
  transform: skewX(-20deg);
  transition: left .5s ease;
}
.btn--primary:hover::after { left: 125% }

/* ── Header phone pulsing dot ────────────────────────────────── */

/* ── Founders avatars ────────────────────────────────────────── */
.founder-avatar {
  transition: transform .3s, border-color .3s;
}
.founder:hover .founder-avatar {
  transform: scale(1.08);
  border-color: rgba(255,255,255,.4);
}

/* ── Location tags hover ─────────────────────────────────────── */
.location-tag {
  transition: background .25s, border-color .25s;
  cursor: default;
}
.location-tag:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(245,158,11,.4);
}

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px }
::-webkit-scrollbar-track { background: #1c1917 }
::-webkit-scrollbar-thumb { background: #44403c; border-radius: 3px }
::-webkit-scrollbar-thumb:hover { background: #78716c }

/* ── Focus styles ────────────────────────────────────────────── */
a:focus-visible, button:focus-visible {
  outline: 2px solid #1a6b9a;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ── v3 fixes ───────────────────────────────────────────────── */
/* Header mindig látható – felső sötét gradient overlay */
.site-header{background:rgba(0,0,0,.25)}
.site-header.scrolled{background:#fff}

/* Ha nincs hero, a header ne takarja a tartalmat */
body:not(.home) .site-header{background:#1c1917}
body:not(.home) .site-header.scrolled{background:#fff}

/* Footer mindig teljes szélességű, jól látható */
.site-footer{display:block!important;width:100%!important;background:#1c1917!important}

/* ── v4: Admin bar offset ───────────────────────────────────── */
/* wp_is_mobile check helyett JS-ben is beállítjuk */
.admin-bar .site-header { top: 32px !important; }
@media screen and (max-width: 782px) {
    .admin-bar .site-header { top: 46px !important; }
}


/* ════════════════════════════════════════════════════════════

/* ════════════════════════════════════════════
   KAPCSOLAT – v11 végleges
   ════════════════════════════════════════════ */
#kapcsolat {
    background: linear-gradient(135deg,#0f4c75,#1a6b9a,#1b6ca8);
    padding: 90px 0; color:#fff; position:relative; overflow:hidden;
}
#kapcsolat::before {
    content:'';position:absolute;width:460px;height:460px;border-radius:50%;
    background:rgba(255,255,255,.04);top:-160px;right:-60px;pointer-events:none;
}
#kapcsolat .section-header h2{color:#fff}
#kapcsolat .section-header p{color:rgba(255,255,255,.7);font-size:14px;max-width:500px;margin:8px auto 0;line-height:1.7}

/* ── layout: kis rés, nem óriási ── */
.contact-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
    margin-top: 44px;
}


/* ── info box ── */
.contact-info-box {
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px; padding:28px 24px;
}
.contact-info-box h3 {
    font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(255,255,255,.5);margin-bottom:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
}
.contact-info-list{list-style:none;display:flex;flex-direction:column;gap:16px}
.contact-info-list li{display:flex;align-items:center;gap:12px}
.ci-icon{width:38px;height:38px;border-radius:10px;flex-shrink:0;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);
    display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8)}
.ci-label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:2px}
.ci-value{display:block;font-size:14px;font-weight:600;color:#fff;text-decoration:none}
.ci-value:hover{opacity:.8}

/* ── form kártya ── */
.contact-form-wrap {
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px; padding:28px 24px;
    width:100%; max-width:none; margin:0;
}

/* minden mező */
.contact-form-wrap .wpforms-form input,
.contact-form-wrap .wpforms-form textarea,
.contact-form-wrap .wpforms-form select {
    width:100%!important;max-width:100%!important;box-sizing:border-box!important;
    background:rgba(255,255,255,.14)!important;
    border:1.5px solid rgba(255,255,255,.22)!important;
    border-radius:10px!important;padding:11px 14px!important;
    color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif!important;
    font-size:14px!important;outline:none!important;box-shadow:none!important;
    transition:border-color .2s,background .2s!important;
}
.contact-form-wrap .wpforms-form input:focus,
.contact-form-wrap .wpforms-form textarea:focus {
    border-color:rgba(255,255,255,.6)!important;
    background:rgba(255,255,255,.2)!important;
}
.contact-form-wrap .wpforms-form input::placeholder,
.contact-form-wrap .wpforms-form textarea::placeholder{color:rgba(255,255,255,.35)!important}

/* autofill kill */
.contact-form-wrap .wpforms-form input:-webkit-autofill,
.contact-form-wrap .wpforms-form input:-webkit-autofill:focus {
    -webkit-box-shadow:0 0 0 200px #1a5a7a inset!important;
    -webkit-text-fill-color:#fff!important;caret-color:#fff!important;
}

/* labelek */
.contact-form-wrap .wpforms-form label,
.contact-form-wrap .wpforms-form .wpforms-sublabel {
    color:rgba(255,255,255,.85)!important;font-size:13px!important;
    font-weight:600!important;margin-bottom:7px!important;display:block!important;
}
.contact-form-wrap .wpforms-form .wpforms-sublabel{
    font-size:11px!important;font-weight:500!important;
    color:rgba(255,255,255,.5)!important;margin-top:4px!important;
}
.contact-form-wrap .wpforms-form .wpforms-field{margin-bottom:16px}

/* Név – egymás mellé */
.contact-form-wrap .wpforms-field-name .wpforms-field-row{
    display:flex!important;flex-direction:row!important;
    gap:10px!important;flex-wrap:nowrap!important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block{
    flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block input{width:100%!important}

/* Küldés gomb */
.contact-form-wrap .wpforms-form .wpforms-submit-container{margin-top:8px}
.contact-form-wrap .wpforms-form .wpforms-submit,
.contact-form-wrap .wpforms-form button[type=submit]{
    display:block!important;width:100%!important;
    background:#fff!important;color:#1a6b9a!important;
    border:none!important;border-radius:12px!important;
    padding:14px!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif!important;
    font-size:15px!important;font-weight:700!important;
    cursor:pointer!important;transition:transform .25s,box-shadow .25s!important;
    box-shadow:0 4px 16px rgba(0,0,0,.15)!important;letter-spacing:.02em!important;
}
.contact-form-wrap .wpforms-form .wpforms-submit:hover,
.contact-form-wrap .wpforms-form button[type=submit]:hover{
    transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

/* header két telefon */
.header-phones{display:flex;flex-direction:column;gap:2px;align-items:flex-end}
.header-phones .header-phone{font-size:12px}
@media(max-width:900px){.header-phones{display:none}}

/* ── v13: Név label fehér + teljes szélesség ─── */
/* Név label - minden lehetséges WPForms selector */
.contact-form-wrap .wpforms-form .wpforms-field-label,
.contact-form-wrap .wpforms-form .wpforms-field > label.wpforms-field-label,
.contact-form-wrap label.wpforms-field-label,
.contact-form-wrap .wpforms-field-name label.wpforms-field-label {
    color: #fff !important;
    opacity: 1 !important;
}

/* Név mezők teljes szélességű kitöltés */
.contact-form-wrap .wpforms-field-name .wpforms-field-row {
    width: 100% !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block {
    flex: 1 !important;
    min-width: 0 !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block input[type=text] {
    width: 100% !important;
    min-width: 0 !important;
}

/* ── v14: Név mező teljes szélesség fix ── */
.contact-form-wrap .wpforms-field-name,
.contact-form-wrap .wpforms-field-name .wpforms-field-row,
.contact-form-wrap .wpforms-field-name .wpforms-field-medium {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    gap: 10px !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block {
    flex: 1 1 50% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* ── v15: contact info 2 oszlop ── */
.ci-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 20px;
}
.ci-grid .contact-info-list { gap: 14px }

/* ── v16: Név mező – minden WPForms size class felülírás ── */
.contact-form-wrap .wpforms-field-name.wpforms-field-medium,
.contact-form-wrap .wpforms-field-name.wpforms-field-large,
.contact-form-wrap .wpforms-field-name.wpforms-field-small,
.contact-form-wrap .wpforms-field-name { width: 100% !important; max-width: 100% !important; }

.contact-form-wrap .wpforms-field-name .wpforms-field-medium,
.contact-form-wrap .wpforms-field-name .wpforms-field-large,
.contact-form-wrap .wpforms-field-name .wpforms-field-row { width: 100% !important; max-width: 100% !important; display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; }

.contact-form-wrap .wpforms-field-name .wpforms-one-half,
.contact-form-wrap .wpforms-field-name .wpforms-one-third,
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block { flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0 !important; float: none !important; }

.contact-form-wrap .wpforms-field-name .wpforms-field-row-block input { width: 100% !important; min-width: 0 !important; }

/* contact form intro szöveg */
.contact-form-intro p {
    color: rgba(255,255,255,.75);
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 16px;
    max-width: 680px;
}

/* ── v18: Név – egyszerű megoldás: első mező teljes szélesség, második elrejtve ── */
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block.wpforms-last {
    display: none !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block.wpforms-first {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    display: block !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row-block.wpforms-first input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.contact-form-wrap .wpforms-field-name .wpforms-field-row {
    display: block !important;
    width: 100% !important;
}

/* ════════════════════════════════════════════════════════════
   v24 – Best practices & Mobile UX
   ════════════════════════════════════════════════════════════ */

/* ── Skip to content (accessibility) ── */
.skip-link {
    position: absolute;
    top: -100px;
    left: 16px;
    background: #1a6b9a;
    color: #fff;
    padding: 10px 18px;
    border-radius: 0 0 8px 8px;
    font-size: 14px;
    font-weight: 600;
    z-index: 99999;
    transition: top .2s;
    text-decoration: none;
}
.skip-link:focus { top: 0 }

/* ── iOS safe area (notch/dynamic island) ── */
.site-header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}
.header-inner {
    padding-left: max(28px, env(safe-area-inset-left));
    padding-right: max(28px, env(safe-area-inset-right));
}
.site-footer {
    padding-bottom: env(safe-area-inset-bottom);
}

/* ── Touch targets – min 48x48px mobilon ── */
@media (max-width: 900px) {
    .mobile-nav-drawer a {
        min-height: 48px;
        display: flex;
        align-items: center;
    }
    .burger-btn { width: 48px; height: 48px }
    .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center }
    .header-cta { min-height: 44px; display: flex; align-items: center }
}

/* ── Tap highlight eltüntetése ── */
* { -webkit-tap-highlight-color: transparent }
a, button { -webkit-tap-highlight-color: transparent }

/* ── Smooth scroll iOS ── */
html { -webkit-overflow-scrolling: touch }

/* ── Focus visible – billentyűzet navigáció ── */
:focus-visible {
    outline: 2px solid #1a6b9a;
    outline-offset: 3px;
    border-radius: 4px;
}
:focus:not(:focus-visible) { outline: none }

/* ── Print stílusok ── */
@media print {
    .site-header, .mobile-nav, .burger-btn, #kapcsolat { display: none }
    body { background: #fff; color: #000 }
    a { color: #000 }
    .container { max-width: 100% }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
    [data-anim] { opacity: 1 !important; transform: none !important }
}

/* ── High contrast mode ── */
@media (prefers-contrast: high) {
    :root {
        --border: rgba(255,255,255,.3);
        --muted: rgba(255,255,255,.8);
    }
}

/* ── Dark mode (már sötét, de explicit ── */
@media (prefers-color-scheme: dark) {
    /* már sötét téma, semmi extra */
}

/* ── Mobilon szekció padding csökkentés ── */
@media (max-width: 480px) {
    .container { padding: 0 16px }
    #fooldal { padding: 100px 16px 60px }
    .hero-content h1 { font-size: 1.85rem }
    .section-header h2 { font-size: 1.6rem }
    .stat-card .num { font-size: 1.8rem }
    .service-card, .feature-card, .step-card { padding: 22px 18px }
    .footer-grid { gap: 32px }
    .contact-info-box, .contact-form-wrap { padding: 20px 16px }
}

/* ── Scrollbar (csak desktopra) ── */
@media (min-width: 900px) {
    ::-webkit-scrollbar { width: 6px }
    ::-webkit-scrollbar-track { background: #f8f7f4 }
    ::-webkit-scrollbar-thumb { background: #c4a882; border-radius: 3px }
    ::-webkit-scrollbar-thumb:hover { background: #1a6b9a }
}

/* ── Image lazy load blur-up ── */
img[loading="lazy"] { opacity: 0; transition: opacity .3s }
img[loading="lazy"].loaded { opacity: 1 }

/* ── Horizontal scroll fix – minimális, nem törő verzió ── */
html { overflow-x: clip }
body { overflow-x: clip }
.site-header, .mobile-nav { max-width: 100vw }

/* ── Horizontal scroll valódi fix ──────────────────────────── */
/* A dekoratív ::before körök kilógnak a szekciókon túl.
   overflow:hidden a szülő szekciókon belül tartja őket. */
#rolunk,
#kapcsolat,
#miert-minket,
#hogyan {
    overflow: hidden;
}
/* Biztonságos alap */
html { overflow-x: clip }
body { overflow-x: clip }


/* ── Mobil hero: kép nélkül indul (LCP = szöveg = azonnali) ── */
@media (max-width: 768px) {
    #fooldal {
        background: linear-gradient(160deg, #0d2137 0%, #1a3a52 40%, #0a1628 100%) !important;
    }
    /* JS tölti be a képet load után – .hero-loaded osztállyal */
    #fooldal.hero-loaded {
        background: linear-gradient(180deg,rgba(8,11,13,.35) 0%,rgba(8,11,13,.7) 60%,rgba(8,11,13,.97) 100%),
            var(--hero-url) center/cover no-repeat !important;
    }
}

/* ════════════════════════════════════════════════════════════
   NATÍV KAPCSOLATI FORM – v36
   ════════════════════════════════════════════════════════════ */

/* Mezők */
.kf-field { margin-bottom: 16px }
.kf-field label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,.85);
    margin-bottom: 7px;
    letter-spacing: .03em;
}
.req { color: #fca5a5; margin-left: 2px }

.kf-field input[type=text],
.kf-field input[type=email],
.kf-field input[type=tel],
.kf-field textarea {
    width: 100%;
    background: rgba(255,255,255,.1);
    border: 1.5px solid rgba(255,255,255,.18);
    border-radius: 10px;
    padding: 12px 14px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color .2s, background .2s;
    box-sizing: border-box;
}
.kf-field input:focus,
.kf-field textarea:focus {
    border-color: #1a6b9a;
    background: rgba(255,255,255,.16);
    box-shadow: 0 0 0 3px rgba(26,107,154,.25);
}
.kf-field input.error,
.kf-field textarea.error {
    border-color: #fca5a5 !important;
}
.kf-field input::placeholder,
.kf-field textarea::placeholder { color: rgba(255,255,255,.3) }
.kf-field textarea { resize: vertical; min-height: 110px }

/* Autofill */
.kf-field input:-webkit-autofill,
.kf-field input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 200px #1a4a6a inset !important;
    -webkit-text-fill-color: #fff !important;
}

/* Checkbox */
.kf-field--check { margin-bottom: 20px }
.kf-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.kf-checkbox input[type=checkbox] {
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
}
.kf-checkmark {
    width: 20px; height: 20px;
    min-width: 20px;
    border: 2px solid rgba(255,255,255,.3);
    border-radius: 5px;
    background: rgba(255,255,255,.08);
    display: flex; align-items: center; justify-content: center;
    transition: all .2s;
    margin-top: 1px;
}
.kf-checkbox input:checked + .kf-checkmark {
    background: #1a6b9a;
    border-color: #1a6b9a;
}
.kf-checkbox input:checked + .kf-checkmark::after {
    content: '';
    width: 5px; height: 9px;
    border: 2px solid #fff;
    border-top: none; border-left: none;
    transform: rotate(45deg) translateY(-1px);
    display: block;
}
.kf-checkbox input:focus-visible + .kf-checkmark {
    box-shadow: 0 0 0 3px rgba(26,107,154,.4);
}
.kf-checkbox.error .kf-checkmark {
    border-color: #fca5a5 !important;
}
.kf-check-text {
    font-size: 13px;
    color: rgba(255,255,255,.7);
    line-height: 1.5;
}
.kf-check-text a {
    color: #60a5fa;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.kf-check-text a:hover { color: #93c5fd }

/* Submit gomb */
.kf-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: #1a6b9a;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 14px;
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s, transform .2s, box-shadow .2s;
    box-shadow: 0 4px 18px rgba(26,107,154,.3);
    letter-spacing: .02em;
}
.kf-submit:hover:not(:disabled) {
    background: #155d87;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(26,107,154,.4);
}
.kf-submit:disabled {
    opacity: .7;
    cursor: not-allowed;
    transform: none;
}

/* Spinner */
.kf-submit-spinner {
    display: none;
    width: 18px; height: 18px;
    border: 2px solid rgba(255,255,255,.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: kf-spin .7s linear infinite;
}
.kf-submit.loading .kf-submit-spinner { display: block }
.kf-submit.loading .kf-submit-text { opacity: .6 }
@keyframes kf-spin { to { transform: rotate(360deg) } }

/* Üzenetek */
.kf-form-msg {
    display: none;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 14px;
    line-height: 1.5;
}
.kf-form-msg.success {
    display: block;
    background: rgba(74,222,128,.15);
    border: 1px solid rgba(74,222,128,.3);
    color: #86efac;
}
.kf-form-msg.error {
    display: block;
    background: rgba(252,165,165,.12);
    border: 1px solid rgba(252,165,165,.3);
    color: #fca5a5;
}

/* ── Checkbox sor fix ── */
.kf-checkbox {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}
.kf-checkmark {
    margin-top: 0 !important;
    flex-shrink: 0 !important;
}
.kf-check-text {
    display: inline !important;
    line-height: 1.4 !important;
}

/* ── Elérhetőségeink: középre + grid középre ── */
.contact-info-box {
    text-align: center;
}
.contact-info-box h3 {
    text-align: center;
}
.ci-grid {
    display: inline-grid !important;
    grid-template-columns: auto auto !important;
    gap: 16px 40px !important;
    text-align: left !important;
    margin: 0 auto !important;
}
.contact-info-list li {
    text-align: left !important;
}

/* ── Elérhetőségeink: 2 egyenlő oszlop, mindkettő középre ── */
.ci-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 0 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}
.ci-grid .contact-info-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;   /* lista elemek középre az oszlopon belül */
    gap: 14px !important;
}
.ci-grid .contact-info-list li {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    text-align: left !important;
    width: fit-content !important;    /* ne nyúljon ki, csak akkora amennyire kell */
}
/* Bal oszlop jobb oldala = jobb oszlop bal oldala → vizuális középvonal */
.ci-grid .contact-info-list:first-child {
    border-right: 1px solid rgba(255,255,255,.1);
    padding-right: 24px !important;
}
.ci-grid .contact-info-list:last-child {
    padding-left: 24px !important;
}

/* ── v40: Checkbox egy sor fix ── */
.kf-checkbox {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
}
.kf-checkmark {
    margin-top: 0 !important;
    flex-shrink: 0 !important;
    align-self: center !important;
}
.kf-check-text {
    display: inline !important;
    align-self: center !important;
}

/* ── v40: Contact info - tartalom középre az oszlopokon belül ── */
.ci-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    margin: 0 !important;
}
.ci-grid .contact-info-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    padding: 8px 24px !important;
}
.ci-grid .contact-info-list:first-child {
    border-right: 1px solid rgba(255,255,255,.12) !important;
    padding-right: 32px !important;
}
.ci-grid .contact-info-list:last-child {
    border-right: none !important;
    padding-left: 32px !important;
}
.ci-grid .contact-info-list li {
    width: 100% !important;
    max-width: 200px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    text-align: left !important;
}

/* ── Mobil: kapcsolat szekció overflow fix ── */
@media (max-width: 600px) {
    /* Info box: egyoszlopos mobilon */
    .ci-grid {
        grid-template-columns: 1fr !important;
    }
    .ci-grid .contact-info-list:first-child {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,.12) !important;
        padding-right: 0 !important;
        padding-bottom: 16px !important;
    }
    .ci-grid .contact-info-list:last-child {
        padding-left: 0 !important;
        padding-top: 4px !important;
    }
    .ci-grid .contact-info-list li {
        max-width: 100% !important;
    }

    /* Form: ne lógjon ki */
    .contact-info-box,
    .contact-form-wrap {
        padding: 20px 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .contact-layout {
        margin-top: 28px !important;
    }
    .kf-field input,
    .kf-field textarea {
        font-size: 16px !important; /* iOS ne zoomoljon be */
    }
}

/* ── Mobil: ci-grid egyforma igazítás mindkét listán ── */
@media (max-width: 600px) {
    .ci-grid .contact-info-list {
        align-items: flex-start !important;
        padding: 0 !important;
        width: 100% !important;
    }
    .ci-grid .contact-info-list:first-child {
        padding-bottom: 14px !important;
    }
    .ci-grid .contact-info-list li {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    .contact-info-box {
        text-align: left !important;
    }
    .contact-info-box h3 {
        text-align: center !important;
        margin-bottom: 16px !important;
    }
}
