/* ============================================================
   OMNIBER DESIGN — Elementor design system
   A látványterv (omniber-latvanyterv) stílusainak portja.
   Minden blokk gyökere `.omn` osztályt kap, így a szabályok
   nem szivárognak ki az Elementor és a WordPress felületére.
   ============================================================ *//* ============================================================
   OMNIBER Beruházó és Tervező Kft. – weboldal látványterv
   ============================================================ */
:root{--green:#3E9142;
  --green-dark:#2F7434;
  --green-deep:#215A26;
  --ink:#1B2430;
  --ink-soft:#46505C;
  --paper:#FFFFFF;
  --bg-soft:#F4F6F3;
  --bg-mist:#EAEFE9;
  --line:#E1E7DF;
  --c-szak:#0E7FB4;
  --c-terv:#E08A2B;
  --c-kombi:#2E8B57;
  --radius:14px;
  --shadow:0 10px 30px rgba(27,36,48,.10);
  --shadow-soft:0 4px 14px rgba(27,36,48,.07);
  --font-head:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-body:"Barlow",system-ui,sans-serif;
  --maxw:1200px;
  --pin-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 34'%3E%3Cg transform='rotate%28-22 13 34%29'%3E%3Cpath d='M11.4 15.5h3.2L13 34z'/%3E%3Crect x='6.6' y='10.6' width='12.8' height='5.6' rx='2.8'/%3E%3Cellipse cx='13' cy='6.6' rx='8' ry='6'/%3E%3C/g%3E%3C/svg%3E");}/* A reset csak az Omniber blokkokra vonatkozik, hogy ne bántsa az Elementor felületét. */
.omn [class^="omn-"],.omn [class*=" omn-"],.omn [class^="omn-"] *,.omn [class*=" omn-"] *{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);line-height:1.6;font-size:16.5px}
.omn img,.omn svg{max-width:100%;display:block}
.omn a{color:var(--green-dark);text-decoration:none}
.omn .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.omn h1,.omn h2,.omn h3,.omn h4{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.02em;line-height:1.08;font-weight:700;margin:0}
.omn h2{font-size:clamp(30px,4vw,44px)}
.omn h3{font-size:24px}
.omn p{color:var(--ink-soft);margin:0}
.omn-section{padding:84px 0}
.omn-section.is-tight{padding:56px 0}
.omn-section.is-flush-top{padding-top:0}
.omn .kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:15px;color:var(--green-dark);margin-bottom:12px}
.omn .kicker::before{content:"";width:34px;height:3px;background:var(--green)}
.omn .lead{font-size:18px;max-width:720px}
.omn .center{text-align:center}
.omn .center .kicker::after{content:"";width:34px;height:3px;background:var(--green)}
.omn .center .lead{margin:0 auto}/* ---------- Buttons ---------- */
.omn .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:8px;font-family:var(--font-head);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:.2s;cursor:pointer;border:2px solid transparent}
.omn .btn-primary{background:var(--green);color:#fff}
.omn .btn-primary:hover{background:var(--green-dark)}
.omn .btn-ghost{border-color:#fff;color:#fff}
.omn .btn-ghost:hover{background:rgba(255,255,255,.14)}
.omn .btn-outline{border-color:var(--green);color:var(--green-dark)}
.omn .btn-outline:hover{background:var(--green);color:#fff}
.omn .btn svg{width:18px;height:18px}/* ---------- Header ---------- */
.omn header.site{position:fixed;inset:0 0 auto 0;z-index:100;transition:.25s;padding:18px 0}
.omn header.site .wrap{display:flex;align-items:center;gap:34px}
.omn header.site.solid,.omn header.site.scrolled{background:#fff;box-shadow:0 2px 18px rgba(27,36,48,.09);padding:10px 0}
.omn .logo{display:block;flex-shrink:0}
.omn .logo img{height:54px;width:auto;display:block}
.omn .logo .lg-white{display:none}
.omn header.site:not(.solid):not(.scrolled) .lg-green{display:none}
.omn header.site:not(.solid):not(.scrolled) .lg-white{display:block}
.omn header.site.solid .logo img,.omn header.site.scrolled .logo img{height:46px}
.omn nav.main{display:flex;gap:6px;margin-left:auto}
.omn nav.main>div{position:relative}
.omn nav.main a.top{display:block;padding:10px 14px;font-family:var(--font-head);font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);border-radius:6px}
.omn header.site:not(.solid):not(.scrolled) nav.main a.top{color:#fff}
.omn nav.main a.top:hover{color:var(--green)}
.omn nav.main a.top.active{color:var(--green)}
.omn nav.main .sub{position:absolute;top:100%;left:0;background:#fff;min-width:280px;border-radius:10px;box-shadow:var(--shadow);padding:10px;display:none;z-index:60}
.omn nav.main div:hover .sub{display:block}
.omn nav.main .sub a{display:block;padding:9px 14px;border-radius:7px;font-size:15.5px;color:var(--ink-soft)}
.omn nav.main .sub a:hover{background:var(--bg-soft);color:var(--green-dark)}
.omn .head-cta{display:flex;align-items:center;gap:18px}
.omn .head-phone{font-family:var(--font-head);font-weight:600;font-size:19px;color:var(--ink);display:flex;align-items:center;gap:8px;white-space:nowrap}
.omn header.site:not(.solid):not(.scrolled) .head-phone{color:#fff}
.omn .head-phone svg{width:18px;height:18px;color:var(--green)}
.omn .btn-header{padding:11px 22px;font-size:16px}
.omn .burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.omn .burger span{display:block;width:26px;height:3px;background:var(--ink);margin:5px 0;border-radius:2px}
.omn header.site:not(.solid):not(.scrolled) .burger span{background:#fff}/* mobile nav */
.omn .mobile-nav{position:fixed;inset:0;background:rgba(27,36,48,.98);z-index:200;display:none;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.omn .mobile-nav.open{display:flex}
.omn .mobile-nav a{color:#fff;font-family:var(--font-head);font-size:26px;text-transform:uppercase;padding:8px 0}
.omn .mobile-nav .close{position:absolute;top:22px;right:26px;color:#fff;font-size:34px;background:none;border:0;cursor:pointer}/* ---------- Hero ---------- */
.omn .hero,.omn.hero{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden;padding:140px 0 90px}
.omn .hero .slides,.omn.hero .slides{position:absolute;inset:0}
.omn .hero .slide,.omn.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.omn .hero .slide.on,.omn.hero .slide.on{opacity:1}
.omn .hero .slide::after,.omn.hero .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(102deg,rgba(14,22,17,.86) 0%,rgba(14,22,17,.66) 42%,rgba(14,22,17,.30) 78%,rgba(14,22,17,.20) 100%)}
.omn .hero .wrap,.omn.hero .wrap{position:relative;z-index:2}
.omn .hero h1,.omn.hero h1{font-size:clamp(42px,6vw,74px);max-width:850px;margin:14px 0 18px;color:#fff}
.omn .hero h1 em,.omn.hero h1 em{font-style:normal;color:#8FD693}
.omn .hero .sub,.omn.hero .sub{font-size:20px;max-width:640px;color:rgba(255,255,255,.88);margin-bottom:34px}
.omn .hero .btns,.omn.hero .btns{display:flex;gap:16px;flex-wrap:wrap}
.omn .hero .badge-row,.omn.hero .badge-row{display:flex;gap:26px;margin-top:56px;flex-wrap:wrap}
.omn .hero .hbadge,.omn.hero .hbadge{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(255,255,255,.85)}
.omn .hero .hbadge svg,.omn.hero .hbadge svg{width:26px;height:26px;color:#8FD693}
.omn .hero .dots,.omn.hero .dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}
.omn .hero .dots button,.omn.hero .dots button{width:34px;height:4px;border-radius:2px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.omn .hero .dots button.on,.omn.hero .dots button.on{background:var(--green)}
.omn .photo-note{position:absolute;right:18px;bottom:18px;z-index:3;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);border:1px dashed rgba(255,255,255,.35);padding:4px 10px;border-radius:6px}/* blueprint building art used in slides */
.omn .slide .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}/* ---------- Intro / counters ---------- */
.omn .intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
/* álló számhasáb: a hosszú bemutatkozó szöveg így szélesebb helyet kap */
.omn .intro-grid.nums-column{grid-template-columns:minmax(0,1fr) 250px;gap:46px;align-items:start}
.omn .counters.stacked{grid-template-columns:1fr;gap:14px}
.omn .counters.stacked .counter{padding:20px 16px}
.omn .counters.stacked .counter b{font-size:38px}
.omn .counters{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.omn .counter{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px 18px;text-align:center}
.omn .counter b{display:block;font-family:var(--font-head);font-size:46px;font-weight:700;color:var(--green-dark);line-height:1}
.omn .counter b span.unit{font-size:28px}
.omn .counter small{display:block;margin-top:8px;font-size:14px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-head);font-weight:600;text-align:center;hyphens:none;-webkit-hyphens:none;text-wrap:balance}/* ---------- Service cards ---------- */
.omn .svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:22px;margin-top:46px}
.omn .svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;transition:.2s;position:relative;overflow:hidden}
.omn .svc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--green)}
.omn .svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.omn .svc-card .icon{width:58px;height:58px;border-radius:12px;background:var(--bg-mist);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.omn .svc-card .icon svg{width:30px;height:30px;color:var(--green-dark)}
.omn .svc-card h3{margin-bottom:10px}
.omn .svc-card p{font-size:15.5px;margin-bottom:16px}
.omn .svc-card ul{list-style:none;margin:6px 0 auto;padding-bottom:18px;display:flex;flex-direction:column;gap:6px}
.omn .svc-card ul a{display:flex;gap:9px;align-items:baseline;font-size:15px;color:var(--ink-soft)}
.omn .svc-card ul a::before{content:"›";color:var(--green);font-weight:700}
.omn .svc-card ul a:hover{color:var(--green-dark)}
.omn .svc-card .more{font-family:var(--font-head);text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--green-dark);font-size:16px}/* ---------- Map teaser ---------- */
.omn .map-teaser,.omn.map-teaser{background:var(--ink);color:#fff}
.omn .map-teaser .grid,.omn.map-teaser .grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.omn .map-teaser h2,.omn.map-teaser h2{color:#fff}
.omn .map-teaser p,.omn.map-teaser p{color:rgba(255,255,255,.78)}
.omn .map-teaser .stat-line,.omn.map-teaser .stat-line{display:flex;gap:34px;margin:26px 0 34px}
.omn .map-teaser .stat-line b,.omn.map-teaser .stat-line b{display:block;font-family:var(--font-head);font-size:40px;color:#8FD693;line-height:1}
.omn .map-teaser .stat-line small,.omn.map-teaser .stat-line small{font-size:13.5px;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.6)}
.omn .minimap{border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.4);position:relative}
.omn .minimap .cap{position:absolute;left:14px;bottom:12px;background:rgba(27,36,48,.85);font-size:12px;padding:5px 12px;border-radius:6px;color:rgba(255,255,255,.85)}/* ---------- Credo / quotes ---------- */
.omn .credo{background:linear-gradient(rgba(244,246,243,.94),rgba(244,246,243,.94)),repeating-linear-gradient(0deg,transparent 0 39px,var(--line) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--line) 39px 40px)}
.omn .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.omn .quote{background:#fff;border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-soft);border-top:4px solid var(--green);position:relative}
.omn .quote::before{content:"“";font-family:Georgia,serif;font-size:74px;line-height:.6;color:var(--green);opacity:.28;position:absolute;top:26px;left:24px}
.omn .quote p{font-size:17.5px;font-style:italic;color:var(--ink);padding-top:20px}/* ---------- Team ---------- */
.omn .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px}
.omn .member{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:.2s;cursor:pointer}
.omn .member:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.omn .member .photo{aspect-ratio:4/4.6;background:linear-gradient(180deg,#DDE6DC,#C6D4C6);display:flex;align-items:flex-end;justify-content:center;position:relative}
.omn .member .photo svg{width:62%;height:auto;color:#9DB09E}
.omn .member .photo .tag{position:absolute;top:10px;right:10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#71857a}
.omn .member .info{padding:18px 18px 20px}
.omn .member h4{font-size:20px;letter-spacing:.03em}
.omn .member .role{font-size:13.5px;color:var(--green-dark);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-head);font-weight:600;margin-top:2px}
.omn .member .deg{font-size:13.5px;color:var(--ink-soft);margin-top:6px}
.omn .member .quali{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.omn .member .quali span{font-size:11.5px;background:var(--bg-mist);color:var(--green-deep);padding:2px 8px;border-radius:20px;font-weight:600}
.omn .member .kam{font-size:12px;color:#8B9690;margin-top:8px;font-variant-numeric:tabular-nums}/* ---------- Partners ---------- */
.omn .partners,.omn.partners{background:var(--bg-soft)}
.omn .logo-track{overflow:hidden;margin-top:40px;position:relative}
.omn .logo-row{display:flex;gap:20px;width:max-content;animation:scroll 36s linear infinite}
@keyframes scroll{
to{transform:translateX(-50%)}}
.omn .plogo{width:210px;height:84px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:600;font-size:15px;letter-spacing:.03em;color:#9AA5A0;filter:grayscale(1);transition:.2s;text-transform:uppercase;flex-shrink:0;text-align:center;padding:0 12px;line-height:1.15}
.omn .plogo:hover{filter:none;color:var(--green-dark);border-color:var(--green)}/* ---------- News ---------- */
.omn .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px}
.omn .news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:.2s}
.omn .news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.omn .news-card .thumb{aspect-ratio:16/9;background:linear-gradient(120deg,#2F4A33,#496E4C);position:relative;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);overflow:hidden}
.omn .news-card .thumb img{width:100%;height:100%;object-fit:cover}
.omn .news-card .thumb svg{width:44px;height:44px}
.omn .news-card .body{padding:22px 24px 26px}
.omn .news-card .meta{display:flex;gap:12px;font-size:13px;color:var(--ink-soft);margin-bottom:10px;align-items:center}
.omn .news-card .meta .cat{background:var(--bg-mist);color:var(--green-deep);padding:2px 10px;border-radius:20px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.omn .news-card h3{font-size:21px;text-transform:none;letter-spacing:0;font-family:var(--font-body);font-weight:700;line-height:1.3}
.omn .news-card p{font-size:15px;margin-top:10px}/* ---------- CTA band ---------- */
.omn .cta-band,.omn.cta-band{background:linear-gradient(115deg,var(--green-deep),var(--green-dark) 60%,var(--green));color:#fff;position:relative;overflow:hidden}
.omn .cta-band::after,.omn.cta-band::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:60px solid rgba(255,255,255,.07);border-radius:50%}
.omn .cta-band .grid,.omn.cta-band .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;z-index:2}
.omn .cta-band h2,.omn.cta-band h2{color:#fff}
.omn .cta-band p,.omn.cta-band p{color:rgba(255,255,255,.85)}
.omn .cta-band .contact-quick,.omn.cta-band .contact-quick{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.omn .cta-band .contact-quick a,.omn.cta-band .contact-quick a{display:flex;align-items:center;gap:12px;color:#fff;font-size:18px;font-weight:600}
.omn .cta-band .contact-quick svg,.omn.cta-band .contact-quick svg{width:20px;height:20px;color:#B5E5B8}
.omn .mini-form{background:#fff;border-radius:var(--radius);padding:34px 32px;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.omn .mini-form h3{margin-bottom:18px}
.omn .mini-form .row,.omn .form-card .row{margin-bottom:14px}
.omn .mini-form label,.omn .form-card label{display:block;font-size:13.5px;font-weight:600;margin-bottom:5px;color:var(--ink)}
.omn .mini-form label em,.omn .form-card label em{color:#C0392B;font-style:normal}
.omn .mini-form input,.omn .mini-form select,.omn .mini-form textarea,.omn .form-card input,.omn .form-card select,.omn .form-card textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:15px;background:var(--bg-soft)}
.omn .mini-form input:focus,.omn .mini-form select:focus,.omn .mini-form textarea:focus,.omn .form-card input:focus,.omn .form-card select:focus,.omn .form-card textarea:focus{outline:2px solid var(--green);background:#fff}
.omn .mini-form .consent,.omn .form-card .consent{display:flex;gap:10px;font-size:13px;color:var(--ink-soft);align-items:flex-start;margin:14px 0 18px}
.omn .mini-form .consent input,.omn .form-card .consent input{width:auto;margin-top:3px}/* ---------- Footer ---------- */
.omn footer.site{background:var(--ink);color:rgba(255,255,255,.88);padding:70px 0 0;font-size:15px}
.omn footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:44px;padding-bottom:50px}
.omn footer h4{color:#fff;font-size:17px;letter-spacing:.08em;margin-bottom:18px}
.omn footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.omn footer a{color:rgba(255,255,255,.86)}
.omn footer a:hover{color:#8FD693}
.omn footer .logo .lg-green{display:none}
.omn footer .logo .lg-white{display:block;height:58px}
.omn footer .about p{margin-top:16px;font-size:14.5px;color:rgba(255,255,255,.82)}
.omn footer .contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.omn footer .contact-item svg{width:17px;height:17px;color:#8FD693;flex-shrink:0;margin-top:4px}
.omn footer .bottom{border-top:1px solid rgba(255,255,255,.16);padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:13.5px;color:rgba(255,255,255,.66);flex-wrap:wrap}
.omn footer .social{display:flex;gap:12px;margin-top:18px}
.omn footer .social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:8px;display:flex;align-items:center;justify-content:center}
.omn footer .social svg{width:16px;height:16px}/* ---------- Page hero (subpages) ---------- */
.omn .page-hero,.omn.page-hero{position:relative;overflow:hidden;background:#16241C;color:#fff;padding:170px 0 80px}
.omn .page-hero .ph-art,.omn.page-hero .ph-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.omn .page-hero::before,.omn.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(102deg,rgba(12,20,15,.88) 0%,rgba(12,20,15,.70) 46%,rgba(12,20,15,.42) 100%);z-index:1}
.omn .page-hero .wrap,.omn.page-hero .wrap{position:relative;z-index:2}
.omn .page-hero h1,.omn.page-hero h1{font-size:clamp(38px,5vw,58px);color:#fff;max-width:800px}
.omn .page-hero .lead,.omn.page-hero .lead{color:rgba(255,255,255,.85);margin-top:14px}
.omn .crumbs{display:flex;gap:8px;font-size:13.5px;color:rgba(255,255,255,.65);margin-bottom:18px;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-head)}
.omn .crumbs a{color:rgba(255,255,255,.85)}
.omn .crumbs span::before{content:"/";margin-right:8px;color:rgba(255,255,255,.4)}/* ---------- Timeline ---------- */
.omn .timeline{position:relative;margin-top:50px;padding-left:20px}
.omn .timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--line)}
.omn .tl-item{position:relative;padding:0 0 34px 34px}
.omn .tl-item::before{content:"";position:absolute;left:-18px;top:6px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--green)}
.omn .tl-item b{font-family:var(--font-head);font-size:24px;color:var(--green-dark);display:block}
.omn .tl-item p{margin-top:4px;max-width:640px}/* ---------- Software ---------- */
.omn .soft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:40px}
.omn .soft{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column}
.omn .soft .simg{aspect-ratio:4/3;background:var(--bg-mist);overflow:hidden}
.omn .soft .simg img{width:100%;height:100%;object-fit:cover}
.omn .soft .sbody{padding:22px 24px 24px}
.omn .soft .sbody p{text-align:justify;hyphens:none}
.omn .soft .slogo.nogap{gap:0}
.omn .soft .slogo{display:flex;align-items:baseline;gap:.3em;flex-wrap:wrap;font-family:var(--font-head);font-weight:700;font-size:21px;color:var(--ink);letter-spacing:.02em;margin-bottom:6px}
.omn .soft .slogo span{color:var(--green)}
.omn .soft p{font-size:14px;margin-top:8px}/* ---------- Life strip ---------- */
.omn .life-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:40px 0 0}
.omn .life{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,#CBD9CB,#A9BFA9);display:flex;align-items:center;justify-content:center;color:#7E937F;position:relative;overflow:hidden}
.omn .life img{width:100%;height:100%;object-fit:cover}
.omn .life svg{width:40px;height:40px}
.omn .life small{position:absolute;bottom:8px;right:10px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}/* ---------- Service collection ---------- */
.omn .svc-group{margin-top:54px}
.omn .svc-group-head{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.omn .svc-group-head .gi{width:52px;height:52px;border-radius:12px;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.omn .svc-group-head .gi svg{width:28px;height:28px;color:#fff}
.omn .svc-group-head p{font-size:15px;margin-top:2px}
.omn .svc-sub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.omn .svc-sub{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:8px;transition:.2s}
.omn .svc-sub:hover{border-color:var(--green);transform:translateY(-3px)}
.omn .svc-sub h4{font-size:19px}
.omn .svc-sub p{font-size:14.5px}
.omn .svc-sub .more{margin-top:auto;font-family:var(--font-head);text-transform:uppercase;font-size:15px;font-weight:600;color:var(--green-dark);letter-spacing:.05em}/* ---------- Accordion ---------- */
.omn .accordion{margin-top:36px;display:flex;flex-direction:column;gap:12px}
.omn .acc{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.omn .acc button{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;padding:20px 24px;font-family:var(--font-head);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;text-align:left;color:var(--ink)}
.omn .acc button .num{width:34px;height:34px;border-radius:50%;background:var(--bg-mist);color:var(--green-deep);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.omn .acc button .ttl{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}
.omn .acc button .chev{margin-left:auto;transition:.25s;color:var(--green)}
.omn .acc.open button .chev{transform:rotate(180deg)}
.omn .acc .panel{display:none;padding:0 24px 24px 74px}
.omn .acc.open .panel{display:block}
.omn .acc.open .panel.has-img{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.omn .acc .panel p{font-size:15.5px}
.omn .acc .panel .pimg{position:relative;aspect-ratio:4/3;border-radius:10px;background:linear-gradient(135deg,#CBD9CB,#A9BFA9);display:flex;align-items:center;justify-content:center;color:#7E937F;overflow:hidden}
.omn .acc .panel .pimg .credit{position:absolute;left:0;right:0;bottom:0;padding:5px 9px;font-size:11.5px;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.62))}
.omn .acc .panel .pimg img{width:100%;height:100%;object-fit:cover}
.omn .acc .panel .pimg svg{width:34px;height:34px}/* ---------- FAQ ---------- */
.omn .faq .acc button,.omn.faq .acc button{font-family:var(--font-body);text-transform:none;font-size:17px;font-weight:700;letter-spacing:0}
.omn .faq .acc.open .panel,.omn.faq .acc.open .panel{display:block;padding:0 24px 22px 24px}
.omn .faq .acc.open .panel.has-img,.omn.faq .acc.open .panel.has-img{display:grid;grid-template-columns:1fr 280px;gap:26px;align-items:start}/* ---------- Reference map page ---------- */
.omn .filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.omn .chip{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:30px;border:1.5px solid var(--line);background:#fff;font-family:var(--font-head);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:.15s;color:var(--ink-soft)}
.omn .chip .dot{width:11px;height:11px;border-radius:50%}
.omn .chip:hover{border-color:var(--green)}
.omn .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.omn .chip.star{border-style:dashed}
.omn .chip.star svg{width:15px;height:15px;color:var(--c-terv)}
.omn .map-shell{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:26px;border:1px solid var(--line)}
.omn .map-canvas{position:relative;background:#EAEDE6}
.omn .map-canvas>svg.basemap{width:100%;height:auto;display:block}
.omn .pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);border:2.5px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35);cursor:pointer;transition:.15s}
.omn .pin::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.omn .pin:hover{transform:translate(-50%,-100%) rotate(-45deg) scale(1.18)}
.omn .pin.szak{background:var(--c-szak)}
.omn .pin.terv{background:var(--c-terv)}
.omn .pin.kombi{background:var(--c-kombi)}
.omn .pin.hide,.omn .cluster.hide{display:none}
.omn .cluster{position:absolute;transform:translate(-50%,-50%);min-width:44px;height:44px;border-radius:50%;background:var(--c-kombi);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:18px;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.3);cursor:pointer}
.omn .cluster.szak{background:var(--c-szak)}
.omn .infow{position:absolute;width:310px;background:#fff;border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.3);transform:translateX(-50%);z-index:20;overflow:hidden}
.omn .infow::after{content:"";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%) rotate(45deg);width:18px;height:18px;background:#fff}
.omn .infow.below::after{bottom:auto;top:-9px}
.omn .infow.noarrow::after{display:none}
.omn .infow .ithumb{height:112px;background:linear-gradient(120deg,#3A5540,#54755A);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);overflow:hidden}
.omn .infow .ithumb img{width:100%;height:100%;object-fit:cover}
.omn .infow .ithumb svg{width:36px;height:36px}
.omn .infow .ibody{padding:13px 16px 15px}
.omn .infow h4{font-size:17px;letter-spacing:.02em}
.omn .infow .iaddr{font-size:12.5px;color:var(--ink-soft);margin:2px 0 7px}
.omn .infow .ibadges{display:flex;gap:8px;margin-bottom:8px}
.omn .infow p{font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.omn .infow .iclose{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(27,36,48,.55);color:#fff;border:0;cursor:pointer;font-size:14px;line-height:1;z-index:5}
.omn .badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;color:#fff;text-transform:uppercase;letter-spacing:.04em}
.omn .badge.szak{background:var(--c-szak)}
.omn .badge.terv{background:var(--c-terv)}
.omn .badge.kombi{background:var(--c-kombi)}
.omn .badge.year{background:var(--bg-mist);color:var(--green-deep)}
.omn .badge.btype{background:#EEE6D8;color:#8A6A2F}
.omn .map-legend{display:flex;gap:22px;padding:14px 22px;background:#fff;border-top:1px solid var(--line);font-size:13.5px;align-items:center;flex-wrap:wrap}
.omn .map-legend .li{display:flex;align-items:center;gap:8px;color:var(--ink-soft)}
.omn .map-legend .dot{width:12px;height:12px;border-radius:50%}
.omn .map-note{margin-left:auto;font-size:12.5px;color:#9AA5A0}
.omn .result-count{margin:34px 0 18px;font-size:15px;color:var(--ink-soft)}
.omn .result-count b{color:var(--ink)}
.omn .ref-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.omn .ref-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;gap:18px;box-shadow:var(--shadow-soft);cursor:pointer;transition:.15s}
.omn .ref-item:hover{border-color:var(--green)}
.omn .ref-item .rthumb{width:104px;height:104px;border-radius:10px;background:linear-gradient(135deg,#CBD9CB,#A9BFA9);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#7E937F;overflow:hidden}
.omn .ref-item .rthumb img{width:100%;height:100%;object-fit:cover}
.omn .ref-item .rthumb svg{width:30px;height:30px}
.omn .ref-item h4{font-size:17px;letter-spacing:.01em;text-transform:none;font-family:var(--font-body);font-weight:700}
.omn .ref-item .raddr{font-size:13.5px;color:var(--ink-soft);margin:2px 0 8px}
.omn .ref-item .rbadges{display:flex;gap:8px;flex-wrap:wrap}
.omn .pager{display:flex;gap:8px;justify-content:center;margin-top:40px}
.omn .pager a{width:42px;height:42px;border:1.5px solid var(--line);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink-soft)}
.omn .pager a.on{background:var(--green);border-color:var(--green);color:#fff}/* ---------- Contact page ---------- */
.omn .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.omn .info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow-soft);margin-bottom:22px}
.omn .info-card h3{margin-bottom:16px}
.omn .info-row{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--bg-mist);font-size:15.5px;align-items:flex-start}
.omn .info-row:last-child{border-bottom:0}
.omn .info-row svg{width:19px;height:19px;color:var(--green);flex-shrink:0;margin-top:3px}
.omn .info-row b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-family:var(--font-head)}
.omn .datatable{width:100%;border-collapse:collapse;font-size:15px}
.omn .datatable td{padding:9px 0;border-bottom:1px solid var(--bg-mist);vertical-align:top}
.omn .datatable td:first-child{color:var(--ink-soft);width:44%}
.omn .contact-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--line);position:relative}
.omn .contact-map .route{position:absolute;left:14px;bottom:14px;background:#fff;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-soft);display:flex;gap:8px;align-items:center}
.omn .contact-map .route svg{width:16px;height:16px;color:var(--green)}/* ---------- Big form ---------- */
.omn .form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 38px 34px;box-shadow:var(--shadow)}
.omn .form-card h3{margin-bottom:6px}
.omn .form-card .fsub{font-size:14.5px;margin-bottom:22px}
.omn .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.omn .file-drop{border:2px dashed var(--line);border-radius:10px;padding:20px;text-align:center;font-size:14px;color:var(--ink-soft);background:var(--bg-soft)}
.omn .file-drop b{color:var(--green-dark)}/* ---------- Annotations (látványterv jegyzetek) ---------- */
.omn .spec-note{position:relative;border-left:4px solid var(--c-terv);background:#FDF6EC;color:#7A5A22;font-size:13.5px;padding:12px 16px;border-radius:0 8px 8px 0;margin-top:26px}
.omn .spec-note b{text-transform:uppercase;letter-spacing:.06em;font-size:12px;display:block;margin-bottom:2px}/* ---------- Responsive ---------- */
@media (max-width:1080px){
.omn .team-grid{grid-template-columns:repeat(3,1fr)}
.omn .soft-grid{grid-template-columns:repeat(2,1fr)}
.omn nav.main{display:none}
.omn .burger{display:block}
.omn .head-phone{display:none}}
@media (max-width:860px){
.omn-section{padding:60px 0}
.omn .intro-grid,.omn .map-teaser .grid,.omn.map-teaser .grid,.omn .cta-band .grid,.omn.cta-band .grid,.omn .contact-grid{grid-template-columns:1fr;gap:40px}
.omn .svc-grid,.omn .quote-grid,.omn .news-grid,.omn .svc-sub-grid{grid-template-columns:1fr}
.omn .team-grid,.omn .life-strip{grid-template-columns:repeat(2,1fr)}
.omn .ref-list{grid-template-columns:1fr}
.omn .counters{grid-template-columns:repeat(3,1fr)}
.omn .acc.open .panel{grid-template-columns:1fr}
.omn footer .cols{grid-template-columns:1fr 1fr}
.omn .btn-header{display:none}}
@media (max-width:560px){
.omn .counters{grid-template-columns:1fr}
.omn .team-grid{grid-template-columns:1fr}
.omn footer .cols{grid-template-columns:1fr}
.omn .infow{width:260px}}
@media (prefers-reduced-motion:reduce){
.omn *,.omn *::before,.omn *::after{animation:none!important;transition:none!important}}/* ---------- Kétdimenziós szűrősáv (referenciák) ---------- */
.omn .filter-bar{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow-soft)}
.omn .filter-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.omn .flabel{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:600;color:var(--ink-soft);min-width:132px}
.omn .filter-row .chip{font-size:15px;padding:7px 15px}/* valós referencia-pin: kissé nagyobb, gyűrűvel */
.omn .pin.real{width:30px;height:30px;z-index:6;box-shadow:0 3px 10px rgba(0,0,0,.4)}
.omn .pin.real[data-tobb]::before{content:attr(data-tobb);position:absolute;top:-7px;right:-9px;width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;transform:rotate(45deg);font-family:var(--font-body)}
.omn .pin.filler{opacity:.45;width:20px;height:20px}
.omn .pin.filler::after{inset:5px}/* térképen kívüli projektek jelzése */
.omn .offmap{position:absolute;right:14px;top:14px;z-index:8;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--ink-soft);box-shadow:var(--shadow-soft);max-width:230px;line-height:1.4}
.omn .offmap b{display:block;color:var(--ink);font-size:13.5px}/* üres találati állapot */
.omn .empty-note{background:#FDF6EC;border:1px solid #F0DDBE;border-left:4px solid var(--c-terv);border-radius:0 10px 10px 0;padding:18px 22px;font-size:15px;color:#7A5A22;margin-top:6px}
.omn .empty-note b{display:block;margin-bottom:4px;font-size:16px}
.omn .empty-note[hidden]{display:none}/* épülettípus-jelvény hosszabb szöveghez */
.omn .badge.btype{white-space:nowrap}
.omn .ref-item .rbadges{gap:7px}
@media (max-width:860px){
.omn .flabel{min-width:0;width:100%}
.omn .filter-row{gap:10px}
.omn .offmap{position:static;max-width:none;margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}}
.omn .list-note{margin-top:26px;text-align:center;font-size:14.5px;color:#8B9690;max-width:680px;margin-left:auto;margin-right:auto}/* ---------- Főoldali csapat: gurulós sáv ---------- */
.omn .team-rail-wrap{position:relative;margin-top:44px}
.omn .team-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(232px,1fr);gap:24px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:none}
.omn .team-rail::-webkit-scrollbar{display:none}
.omn .team-rail .member{scroll-snap-align:start}
.omn .rail-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green-dark);font-size:26px;line-height:1;cursor:pointer;box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:center;transition:.18s}
.omn .rail-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}
.omn .rail-btn.prev{left:-18px}
.omn .rail-btn.next{right:-18px}
.omn .rail-btn[disabled]{opacity:.35;cursor:default}
.omn .rail-btn[disabled]:hover{background:#fff;color:var(--green-dark);border-color:var(--line)}/* ---------- Csapatkártya: középre igazított adatok ---------- */
.omn .member .info{text-align:center}
.omn .member .quali{justify-content:center}/* ---------- Csapat a Rólunk oldalon: első sorban két vezető ---------- */
.omn .team-lead{display:grid;grid-template-columns:repeat(2,minmax(0,232px));gap:24px;justify-content:center;margin-top:44px}
.omn .team-grid{margin-top:24px}/* ---------- Életkép-sáv gurulva (Rólunk, csapat alatt) ---------- */
.omn .life-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:4px 2px 12px;margin-top:34px;scrollbar-width:none}
.omn .life-rail::-webkit-scrollbar{display:none}
.omn .life-rail .life{scroll-snap-align:start;aspect-ratio:4/3}/* ---------- Térképi jelölő: ferde gombostű (Google Earth stílus) ---------- */
.omn .pin{position:absolute;width:26px;height:34px;transform:translate(-50%,-100%);border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;cursor:pointer;transition:.15s}
.omn .pin::after{content:none}
.omn .pin::before{content:"";position:absolute;inset:0;background:currentColor;
  -webkit-mask:var(--pin-mask) center/contain no-repeat;mask:var(--pin-mask) center/contain no-repeat}
.omn .pin:hover{transform:translate(-50%,-100%) scale(1.15)}
.omn .pin.szak{color:var(--c-szak)}
.omn .pin.terv{color:var(--c-terv)}
.omn .pin.kombi{color:var(--c-kombi)}
.omn .pin.real{width:34px;height:44px;z-index:6;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
.omn .pin.filler{width:21px;height:27px;opacity:.5}
.omn .pin.real[data-tobb]::after{content:attr(data-tobb);position:absolute;top:-6px;right:-10px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);border:2px solid #fff}
.omn .pin.hide{display:none}
@media (max-width:860px){
.omn .rail-btn{display:none}
.omn .team-lead{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto}}/* egy jelölő több munkával */
.omn .infow.multi p{-webkit-line-clamp:unset;display:block}
.omn .infow.multi .multi-row{display:block;padding:7px 0;border-top:1px solid var(--bg-mist);font-size:13px}
.omn .infow.multi .multi-row:first-child{border-top:0}
.omn .infow.multi .multi-row b{color:var(--ink);font-weight:700}
.omn .infow.multi .badge.btype{font-size:10.5px;padding:1px 7px}
.omn .filter-bar.single{padding:16px 22px}/* helykitöltő szöveg, amit a megrendelő ír meg */
.omn .tbd{font-style:italic;color:#9AA5A0}
.omn .soft-grid.soft-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1080px){
.omn .soft-grid.soft-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
.omn .soft-grid.soft-5{grid-template-columns:1fr}}/* ---------- Partnerrács (Rólunk) ---------- */
.omn .partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}
.omn .partner-grid .plogo{width:auto;height:78px;font-size:13.5px}
@media (max-width:1080px){
.omn .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){
.omn .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){
.omn .partner-grid{grid-template-columns:1fr}}/* ---------- Elementor szekció-segédosztályok ---------- */
.omn-bg-soft{background:var(--bg-soft)}
.omn-bg-dark{background:var(--ink);color:#fff}
.omn-bg-dark h2,.omn-bg-dark h3{color:#fff}
.omn-bg-dark p{color:rgba(255,255,255,.78)}

/* ============================================================
   Elementor űrlap az Omniber arculatához igazítva.
   Az űrlap natív Elementor widget, ezért nem a .omn burkon belül
   él — itt célzottan formázzuk, hogy illeszkedjen a designhoz.
   ============================================================ */
.elementor-form .elementor-field-group > label{
  font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:5px
}
.elementor-form .elementor-field-group .elementor-field{
  padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;
  font-family:var(--font-body);font-size:15px;background:var(--bg-soft);color:var(--ink)
}
.elementor-form .elementor-field-group .elementor-field:focus{
  outline:2px solid var(--green);background:#fff
}
.elementor-form .elementor-field-type-submit .elementor-button,
.elementor-form button[type="submit"].elementor-button{
  background:var(--green);color:#fff;border:0;border-radius:8px;
  font-family:var(--font-head);font-size:18px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;padding:14px 28px;transition:.2s
}
.elementor-form .elementor-field-type-submit .elementor-button:hover,
.elementor-form button[type="submit"].elementor-button:hover{background:var(--green-dark)}
.elementor-form .elementor-field-type-acceptance .elementor-field-option label{
  font-weight:400;font-size:13px;color:var(--ink-soft)
}
.elementor-message.elementor-message-success{
  border-left:4px solid var(--green);background:#F4F6F3;padding:12px 16px;border-radius:0 8px 8px 0
}

/* ============================================================
   Referencia-térkép (OpenStreetMap / Leaflet)
   ============================================================ */
.omn .omn-leaflet{width:100%;background:#E9EDE4;z-index:1}
.omn .omn-map-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#8B9690;font-size:15px}
.omn .leaflet-container{font-family:var(--font-body)}

/* ferde gombostű jelölő, a kategória színével */
.omn-pin-icon{position:relative}
.omn-pin{position:absolute;inset:0;background:currentColor;
  -webkit-mask:var(--pin-mask) center/contain no-repeat;mask:var(--pin-mask) center/contain no-repeat;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.omn-pin-badge{position:absolute;top:-4px;right:-6px;min-width:19px;height:19px;padding:0 4px;
  border-radius:10px;background:var(--ink);color:#fff;font:700 11px/19px var(--font-body);
  text-align:center;border:2px solid #fff}

/* csoportbuborék: kis nagyításnál a közeli jelölők ebbe olvadnak */
.omn-cluster-icon{background:none;border:0}
.omn-cluster{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  border-radius:50%;color:#fff;font:700 14px/1 var(--font-body);letter-spacing:.2px;
  border:3px solid rgba(255,255,255,.92);box-shadow:0 3px 10px rgba(24,40,30,.35);
  transition:transform .15s ease}
.omn-cluster-icon:hover .omn-cluster{transform:scale(1.08)}
.omn-cluster.cat-szak{background:#0E7FB4}
.omn-cluster.cat-terv{background:#E08A2B}
.omn-cluster.cat-kombi{background:#2E8B57}
/* a könyvtár alap-buborékjait elrejtjük, csak a sajátunk látszik */
.omn .marker-cluster-small,.omn .marker-cluster-medium,.omn .marker-cluster-large{background:none}
.omn .marker-cluster div{background:none}

/* „Összes referencia" gomb a térkép sarkában */
.omn .omn-map-fit{border:0;background:#fff;color:var(--ink);cursor:pointer;
  font:600 12.5px/1 var(--font-body);padding:9px 12px;border-radius:6px;
  box-shadow:0 1px 5px rgba(0,0,0,.4)}
.omn .omn-map-fit:hover{background:var(--brand);color:#fff}

/* felugró ablak */
.omn-pop{width:280px}
.omn-pop-img{height:110px;overflow:hidden;margin:-13px -20px 10px;border-radius:6px 6px 0 0}
.omn-pop-img img{width:100%;height:100%;object-fit:cover}
.omn-pop-body h4{font-family:var(--font-head);font-size:17px;text-transform:uppercase;
  letter-spacing:.02em;line-height:1.15;margin:0 0 3px;color:var(--ink)}
.omn-pop-addr{font-size:12.5px;color:var(--ink-soft);margin-bottom:7px}
.omn-pop-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.omn-pop-body p{font-size:13px;line-height:1.45;color:var(--ink-soft);margin:0;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.omn-pop-row{font-size:12.5px;padding:5px 0;border-top:1px solid var(--bg-mist);color:var(--ink-soft)}
.omn-pop-row:first-of-type{border-top:0}
.omn-pop-row b{color:var(--ink)}
.leaflet-popup-content{margin:13px 20px}
.leaflet-popup-content-wrapper{border-radius:12px}

/* lapozó */
.omn .omn-pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.omn .omn-page{min-width:42px;height:42px;padding:0 12px;border:1.5px solid var(--line);
  border-radius:9px;background:#fff;font-family:var(--font-head);font-size:17px;font-weight:600;
  color:var(--ink-soft);cursor:pointer;transition:.15s}
.omn .omn-page:hover:not([disabled]):not(.on){border-color:var(--green);color:var(--green-dark)}
.omn .omn-page.on{background:var(--green);border-color:var(--green);color:#fff}
.omn .omn-page[disabled]{opacity:.35;cursor:default}

/* kereső a szűrősávban */
.omn .omn-search{position:relative;flex:1;min-width:260px;max-width:520px;display:flex;align-items:center}
.omn .omn-search svg{position:absolute;left:14px;width:18px;height:18px;color:#9AA5A0;pointer-events:none}
.omn .omn-search-input{width:100%;padding:11px 40px 11px 42px;border:1.5px solid var(--line);
  border-radius:30px;background:var(--bg-soft);font-family:var(--font-body);font-size:15px;color:var(--ink)}
.omn .omn-search-input:focus{outline:2px solid var(--green);background:#fff}
.omn .omn-search-input::-webkit-search-cancel-button{display:none}
.omn .omn-search-clear{position:absolute;right:10px;width:26px;height:26px;border:0;border-radius:50%;
  background:var(--bg-mist);color:var(--ink-soft);font-size:17px;line-height:1;cursor:pointer}
.omn .omn-search-clear:hover{background:var(--green);color:#fff}
@media (max-width:860px){.omn .omn-search{min-width:0;max-width:none;width:100%}}

/* ---------- Sorkizárt szövegtörzs (ügyfélkérés) ----------
   Csak a folyószövegre: a címek, gombok, címkék és a táblázatos
   adatsorok balra igazítva maradnak, mert azoknál a sorkizárás
   csúnya, ritkás szóközöket adna. */
.omn .intro-grid > div > div p,
.omn .intro-grid > div:not(.counters) > div,
.omn .acc .panel .ptext,
.omn .acc .panel p,
.omn .soft-card p,
.omn .news-card .body p,
.omn .about-text p{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none}
/* A rövid, egy-két soros bevezetőket NEM zárjuk sorkizárttá: ott a
   sorkizárás csak ritkás, csúnya szóközöket adna. */

/* ---------- Érdekességek: teljes szöveg a kártyán ----------
   Az ügyfél nem szeretne külön cikkoldalt és hozzászólásokat, ezért a
   „Tovább" helyben nyitja ki a maradék szöveget. */
.omn .news-card .body p{font-size:15px;margin-top:10px;line-height:1.55}
.omn .news-card .body p.full{margin-top:0}
.omn .news-more{display:inline-block;margin-top:14px;padding:0;background:none;border:0;cursor:pointer;
  font:600 14px/1.2 var(--font-body);color:var(--green-dark);letter-spacing:.01em;text-decoration:none}
.omn .news-more:hover{color:var(--green);text-decoration:underline}
.omn .news-card .thumb .credit{position:absolute;left:0;right:0;bottom:0;padding:5px 10px;
  font-size:11.5px;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6));text-align:right}
.omn .news-card:hover{transform:none;box-shadow:var(--shadow-soft)}

/* ---------- Térképi felugró ablak: a teljes kép látszódjon ----------
   A 3D-modellek és az álló fotók korábban ki voltak vágva. */
.omn-pop{width:340px}
/* teljes kép, vágás nélkül; a világos alap kitölti a maradék helyet */
.omn-pop-img{height:190px;overflow:hidden;margin:-13px -20px 12px;border-radius:6px 6px 0 0;
  background:#E8EDE5;display:flex;align-items:center;justify-content:center}
.omn-pop-img img{width:100%;height:100%;object-fit:contain}
/* a leírás nem vágódik el négy sor után, csak hosszú szövegnél gördül */
.omn-pop-body p{display:block;-webkit-line-clamp:none;overflow:visible;
  font-size:13px;line-height:1.5;color:var(--ink-soft);margin:0;text-align:justify;hyphens:none}
.leaflet-popup-content{max-height:min(62vh,520px);overflow-y:auto}

/* több munka egy címen: mindegyikhez kép és leírás */
.omn-pop-multi{margin-top:4px}
.omn-pop-work{padding:11px 0;border-top:1px solid var(--bg-mist)}
.omn-pop-work:first-child{border-top:0;padding-top:2px}
.omn-pop-work .wimg{height:130px;margin:0 0 8px;border-radius:6px;overflow:hidden;background:#E8EDE5;
  display:flex;align-items:center;justify-content:center}
.omn-pop-work .wimg img{width:100%;height:100%;object-fit:contain}
.omn-pop-work b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:3px}
.omn-pop-work .wdesc{font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin-top:5px;text-align:justify;hyphens:none}

/* ---------- Kapcsolódó munkák a szolgáltatásoldalon ---------- */
.omn .ref-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.omn .ref-teaser .ref-item{margin:0}
@media(max-width:900px){.omn .ref-teaser{grid-template-columns:1fr}}

/* ---------- Kis térkép a Kapcsolat oldal elérhetőségei alatt ---------- */
.omn .omn-minimap{height:220px;margin-top:18px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}

/* ---------- Kiemelt projektek ---------- */
.omn .hl-list{margin-top:40px;display:flex;flex-direction:column;gap:14px}
.omn .hl{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}
.omn .hl-head{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;cursor:pointer;
  padding:20px 24px;text-align:left;color:var(--ink)}
.omn .hl-name{font-family:var(--font-head);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}
.omn .hl-name{min-width:0;overflow-wrap:anywhere}
.omn .hl-head .chev{margin-left:auto;flex-shrink:0;transition:.25s;color:var(--green)}
.omn .hl.open .hl-head .chev{transform:rotate(180deg)}
.omn .hl-body{display:none;padding:0 24px 26px}
.omn .hl.open .hl-body{display:block}
.omn .hl-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:20px}
.omn .hl-thumb{padding:0;border:0;border-radius:8px;overflow:hidden;background:var(--bg-mist);cursor:zoom-in;aspect-ratio:4/3}
.omn .hl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.omn .hl-thumb:hover img{transform:scale(1.05)}
.omn .hl-text p{text-align:justify;hyphens:none;font-size:15.5px;margin:0 0 12px}
.omn .hl-text p:last-child{margin-bottom:0}
@media(max-width:600px){.omn .hl-gallery{grid-template-columns:repeat(2,1fr)}}

/* nagyított kép */
.omn-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(16,26,20,.92);
  display:flex;align-items:center;justify-content:center;padding:34px}
.omn-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.omn-lightbox button{position:absolute;background:rgba(255,255,255,.14);border:0;color:#fff;cursor:pointer;
  width:46px;height:46px;border-radius:50%;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.omn-lightbox button:hover{background:rgba(255,255,255,.28)}
.omn-lightbox .lb-close{top:20px;right:20px}
.omn-lightbox .lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.omn-lightbox .lb-next{right:20px;top:50%;transform:translateY(-50%)}
.omn-lightbox .lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.8);font:600 13px/1 var(--font-body)}

/* ---------- Magyarország-sziluett a főoldali térképsávban ---------- */
.omn .minimap{background:none;box-shadow:none;border-radius:0;overflow:visible}
.omn .hu-map{width:100%;height:auto;display:block;filter:drop-shadow(0 14px 34px rgba(0,0,0,.35))}
.omn .hu-map .dot{opacity:0;transform-box:fill-box;transform-origin:center;cursor:default;
  /* előbb felúszik, utána végtelen, elcsúsztatott pillogás */
  animation:huDot .55s ease var(--in,0s) forwards,
            huTwinkle var(--dur,5s) ease-in-out var(--tw,0s) infinite;
  transition:r .18s ease}
.omn .hu-map .dot.szak{fill:#4FB3E8}
.omn .hu-map .dot.terv{fill:#F2A950}
.omn .hu-map .dot.kombi{fill:#8FD693}
.omn .hu-map .dot:hover{r:7;filter:drop-shadow(0 0 7px currentColor)}
@keyframes huDot{from{opacity:0;transform:scale(.2)}to{opacity:.82;transform:scale(1)}}
/* a ciklus nagy részében nyugton van, csak egy rövid szakaszon világosodik ki */
@keyframes huTwinkle{
  0%,72%,100%{opacity:.82;filter:none}
  80%{opacity:1;filter:drop-shadow(0 0 6px currentColor) brightness(1.35)}
  88%{opacity:.82;filter:none}
}
/* a kurzor alatt az egész ország kicsit megemelkedik */
.omn .minimap:hover .hu-shape{stroke-width:2.1}
.omn .hu-shape{transition:stroke-width .25s ease}
@media(prefers-reduced-motion:reduce){
  .omn .hu-map .dot{animation:none;opacity:.85}
  .omn .hu-map .dot:hover{filter:none}
}

/* ---------- Szolgáltatáskártyák: „+ még N” sor ---------- */
.omn .svc-card ul li.more-count{color:var(--ink-soft);font-size:14px;font-style:italic;
  padding-left:0;margin-top:2px}
.omn .svc-card ul li.more-count::before{content:none}

/* ---------- Kapcsolat: a legördülő illeszkedjen a többi mezőhöz ---------- */
.omn-form .elementor-field-type-select,
.elementor-widget-form .elementor-select-wrapper{position:relative}
.elementor-widget-form .elementor-select-wrapper select.elementor-field-textual{
  width:100%;height:48px;padding:12px 44px 12px 14px;
  border:1.5px solid var(--line);border-radius:8px;background:#fff;
  font-family:var(--font-body);font-size:15px;color:var(--ink);
  -webkit-appearance:none;appearance:none;cursor:pointer}
.elementor-widget-form .elementor-select-wrapper select.elementor-field-textual:focus{
  outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.elementor-widget-form .elementor-select-wrapper .select-caret-down-wrapper{display:none}

/* ---------- Cégadatok: rendezett adatsorok ---------- */
.omn .info-card .datatable{display:block;border-collapse:separate}
.omn .info-card .datatable tbody{display:block}
.omn .datatable tr{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--bg-mist)}
.omn .datatable tr:last-child{border-bottom:0;padding-bottom:0}
.omn .datatable td{display:block;padding:0;border:0;width:auto}
.omn .datatable td:first-child{flex:0 0 130px;color:var(--ink-soft);font-size:12.5px;
  text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-head);font-weight:600}
.omn .datatable td:last-child{flex:1 1 200px;color:var(--ink);font-weight:600;font-size:15.5px}

/* ---------- Szolgáltatás-navigáció ---------- */
.omn .svc-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.omn .svc-nav-item{display:flex;align-items:center;gap:13px;padding:16px 18px;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-soft);transition:.18s;color:var(--ink)}
.omn .svc-nav-item:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow)}
.omn .svc-nav-item .icon{flex:0 0 38px;height:38px;border-radius:9px;background:var(--bg-mist);
  color:var(--green-deep);display:flex;align-items:center;justify-content:center}
.omn .svc-nav-item .icon svg{width:19px;height:19px}
.omn .svc-nav-item .lbl{font-family:var(--font-head);font-weight:600;font-size:15.5px;line-height:1.25;
  text-transform:uppercase;letter-spacing:.02em}
.omn .svc-nav-item .num{margin-left:auto;flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--green-deep);
  background:var(--bg-mist);border-radius:20px;padding:3px 10px}
/* a horgonyra ugráskor ne bújjon a rögzített fejléc alá */
.omn .acc-anchor,.omn [id^="statikai-"],.omn [id="gipszbeton"],.omn [id="egyeb-szolgaltatasok"]{scroll-margin-top:96px}

/* ---------- Hosszú szolgáltatás-leírások olvashatósága ----------
   A kép a szöveg mellett marad görgetés közben is, és a bekezdések
   között valódi levegő van. */
.omn .acc .panel.has-img .pimg{position:sticky;top:96px}
.omn .acc .panel .ptext p{margin:0 0 13px}
.omn .acc .panel .ptext p:last-child{margin-bottom:0}
.omn .acc .panel .ptext p:first-child{font-size:16.5px;color:var(--ink)}

/* ---------- Partnerlogók: egységes csempék ----------
   A logók eltérő arányúak és hátterűek, ezért mindegyik azonos méretű,
   fehér csempébe kerül, arányhelyesen beillesztve. Alapból visszafogott
   szürke, rámutatásra színes — így a sor akkor is nyugodt marad, ha
   vegyesen vannak világos és sötét logók. */
.omn .plogo{overflow:hidden;padding:14px 18px}
.omn .plogo.has-logo{color:transparent}
.omn .plogo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1) opacity(.72);transition:filter .22s ease,transform .22s ease}
.omn .plogo.has-logo:hover img{filter:none;transform:scale(1.04)}
.omn .plogo .pname{display:block;max-width:100%;font-family:var(--font-head);font-weight:600;
  font-size:14px;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;
  overflow-wrap:anywhere;hyphens:none}
.omn .plogo.text-only{color:#8C9792;background:linear-gradient(180deg,#fff,#FBFCFA)}
.omn .plogo.text-only:hover{color:var(--green-dark)}
.omn .plogo:focus-visible{outline:2px solid var(--green);outline-offset:2px}

/* ---------- Kapcsolat: az űrlap is kártyába kerül ----------
   A bal oszlop fehér kártyái mellett az űrlap eddig háttér nélkül állt. */
.omn-form-card,
.e-con.e-child:has(> .elementor-widget-form){background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:32px 34px 34px;align-self:start}
.e-con.e-child:has(> .elementor-widget-form) .elementor-widget-heading{margin-bottom:14px}
.e-con.e-child:has(> .elementor-widget-form) h2,
.e-con.e-child:has(> .elementor-widget-form) h3{font-size:26px;margin:0}

/* mezőcímkék és rácstávolság */
.elementor-widget-form .elementor-field-group > label{font-family:var(--font-head);font-weight:600;
  font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:7px}
.elementor-widget-form .elementor-form-fields-wrapper{row-gap:6px}
.elementor-widget-form .elementor-field-textual{border:1.5px solid var(--line);border-radius:8px;
  background:#fff;font-family:var(--font-body);font-size:15px;color:var(--ink);padding:12px 14px;min-height:48px}
.elementor-widget-form textarea.elementor-field-textual{min-height:140px;resize:vertical}
.elementor-widget-form .elementor-field-textual:focus{border-color:var(--green);
  outline:2px solid rgba(62,145,66,.22);outline-offset:0;box-shadow:none}
.elementor-widget-form .elementor-field-textual::placeholder{color:#A9B3AD}

/* fájlfeltöltés: egységes, „gombos” megjelenés */
.elementor-widget-form .elementor-field-type-upload input[type="file"]{
  width:100%;padding:11px 14px;border:1.5px dashed var(--line);border-radius:8px;
  background:var(--bg-soft);font-family:var(--font-body);font-size:14px;color:var(--ink-soft);cursor:pointer}
.elementor-widget-form .elementor-field-type-upload input[type="file"]:hover{border-color:var(--green)}
.elementor-widget-form input[type="file"]::file-selector-button{
  margin-right:12px;padding:8px 15px;border:0;border-radius:6px;cursor:pointer;
  background:var(--green-dark);color:#fff;font:600 13px/1 var(--font-body)}
.elementor-widget-form input[type="file"]::file-selector-button:hover{background:var(--green)}

/* hozzájárulás jelölőnégyzete */
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-option{
  display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border-radius:8px;background:var(--bg-soft)}
.elementor-widget-form .elementor-field-type-acceptance input[type="checkbox"]{
  width:19px;height:19px;flex-shrink:0;margin:1px 0 0;accent-color:var(--green-dark);cursor:pointer}
.elementor-widget-form .elementor-field-type-acceptance label{font-size:14px;line-height:1.45;
  color:var(--ink-soft);text-transform:none;letter-spacing:0;font-family:var(--font-body);margin:0}
.elementor-widget-form .elementor-field-type-acceptance label a{color:var(--green-dark);text-decoration:underline}

/* küldés gomb */
.elementor-widget-form .elementor-form .elementor-button[type="submit"],
.elementor-widget-form .elementor-button[type="submit"]{min-height:54px;height:auto;border-radius:8px;
  font-family:var(--font-head);font-weight:600;font-size:16px;letter-spacing:.05em;text-transform:uppercase;
  background:var(--green-dark);transition:.18s}
.elementor-widget-form .elementor-button[type="submit"]:hover{background:var(--green);transform:translateY(-1px)}

/* ---------- Kapcsolat: elérhetőség-sorok ---------- */
.omn .info-card .contact-row{transition:.16s}
.omn .info-card .contact-row:hover{background:var(--bg-soft)}

/* ---------- Saját legördülő ----------
   A natív option-listát a böngésző rajzolja, azt nem lehet stílusozni,
   ezért az eredeti select rejtve marad (ő az űrlap értékének forrása),
   és mellette saját, billentyűzetről is kezelhető lista jelenik meg. */
/* A Hello Elementor reset.css-e a `button` és `[type="button"]` szelektorokkal
   írja felül a szélességet és a display-t; azok attribútum-szelektorként
   ugyanolyan erősek, mint egy osztály, és később töltődnek. Ezért itt
   mindenhol elemnevesített, erősebb szelektor kell. */
.elementor-field-group .elementor-select-wrapper:has(> .omn-sel){display:block;width:100%}
/* a keret saját belső margóját és szegélyét a gombunk veszi át, különben
   duplázódna és keskenyebb lenne a mező a többinél */
.elementor-field-group .elementor-select-wrapper:has(> .omn-sel){padding:0;border:0;background:none;min-height:0}
.elementor-field-group .omn-sel,
.omn-sel{position:relative;display:block;width:100%;flex:1 1 100%;min-width:0}
.omn-sel-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.omn-sel > button.omn-sel-btn{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:48px;
  padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;
  font-family:var(--font-body);font-size:15px;color:var(--ink);text-align:left;cursor:pointer;
  transition:border-color .16s ease}
.omn-sel > button.omn-sel-btn:hover{border-color:#C4D0C2}
.omn-sel.open > button.omn-sel-btn,.omn-sel > button.omn-sel-btn:focus-visible{border-color:var(--green);
  outline:2px solid rgba(62,145,66,.22);outline-offset:0}
.omn-sel-val{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:21px}
.omn-sel-arrow{flex-shrink:0;width:10px;height:10px;margin-right:3px;
  border-right:2px solid var(--green);border-bottom:2px solid var(--green);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.omn-sel.open .omn-sel-arrow{transform:rotate(-135deg) translate(-3px,-3px)}

.omn-sel-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;
  list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:0 18px 40px rgba(24,40,30,.16);max-height:290px;overflow-y:auto;
  animation:selIn .14s ease}
@keyframes selIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.omn-sel-opt{padding:11px 13px;border-radius:7px;font-size:15px;line-height:1.3;color:var(--ink);
  cursor:pointer;display:flex;align-items:center;gap:10px}
.omn-sel-opt::before{content:'';flex-shrink:0;width:7px;height:7px;border-radius:50%;
  background:var(--line);transition:background .14s ease}
.omn-sel-opt.active{background:var(--bg-soft)}
.omn-sel-opt.on{color:var(--green-dark);font-weight:600}
.omn-sel-opt.on::before{background:var(--green)}
.omn-sel-opt[aria-disabled="true"]{opacity:.45;cursor:default}
@media(prefers-reduced-motion:reduce){.omn-sel-list{animation:none}.omn-sel-arrow{transition:none}}

/* ---------- 2026-09-11-i észrevételek ---------- */

/* Épületdiagnosztika (page-id-85): a bevezető sorkizárt, teljes szélességű. */
.page-id-85 .elementor-widget-omniber-section-head .lead{
  text-align:justify;max-width:none;margin-left:0;margin-right:0}
@media(max-width:820px){
  .page-id-85 .elementor-widget-omniber-section-head .lead{text-align:left}
}

.omn .legal{max-width:840px}
.omn .legal h2{text-transform:none;letter-spacing:0;font-size:22px;margin:30px 0 10px;color:var(--ink);font-family:var(--font-head)}
.omn .legal h2:first-child{margin-top:0}
.omn .legal h3{text-transform:none;letter-spacing:0;font-size:17px;margin:18px 0 8px;color:var(--ink)}
.omn .legal p{margin:0 0 12px;color:var(--ink-soft);line-height:1.75}
.omn .legal ul{margin:0 0 14px;padding-left:22px;color:var(--ink-soft);line-height:1.7}
.omn .legal li{margin:5px 0}
.omn .legal strong{color:var(--ink)}
.omn .legal a{color:var(--green-dark);text-decoration:underline}
.omn .legal .updated{font-size:13.5px;color:var(--ink-soft);margin-bottom:24px}
.omn .legal table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:14.5px}
.omn .legal th,.omn .legal td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;color:var(--ink-soft)}
.omn .legal th{background:var(--bg-mist);color:var(--ink);font-family:var(--font-head)}

/* ---------- 2026-09-16-i észrevételek ---------- */

/* Számdobozok: a feliratok eltérő sorszáma miatt csúsztak a számok; a felirat
   fix (kétsornyi) magasságot kap, így minden szám egy vonalba kerül. */
.omn .counter small{min-height:3em;line-height:1.5;display:flex;align-items:center;justify-content:center}

/* Csapatkártyák nem kattinthatók: ne legyen kézre váltó kurzor, se emelkedő hover. */
.omn .member{cursor:default}
.omn .member:hover{transform:none;box-shadow:var(--shadow-soft)}

/* Rólunk életképek kicsit nagyobbra */
.omn .life-rail{grid-auto-columns:minmax(340px,1fr)}

/* Partnercsempék: marad az eredeti (világos, lekerekített) csempe; rávitelkor
   csak a zöld keretet vesszük le, a felirat zöldre válthat, a háttér világosodhat. */
.omn .plogo:hover{border-color:var(--line)}

/* Felugró referencia-galéria: a kép mögött ne legyen zöldes-szürke sáv, csak fehér. */
.omn-pop-img,.omn-pop-gal,.omn-pop-work .wimg{background:#fff}
.omn-pop-img{min-height:0}

/* A Hello téma reset.css-e a <button>-re rózsaszín hover/fókusz hátteret
   (#c36) és white-space:nowrap-ot tesz. A harmonika- és kiemelt fejlécek is
   <button>-ök, ezért ezt minden állapotra semlegesíteni kell: nincs rózsaszín,
   és a hosszú címek tördelhetnek. */
.omn .hl-head,.omn .hl-head:hover,.omn .hl-head:focus,.omn .hl-head:active,
.omn .acc button,.omn .acc button:hover,.omn .acc button:focus,.omn .acc button:active{
  background:none;background-color:transparent;color:var(--ink);white-space:normal}
.omn .hl-head .chev,.omn .acc button:hover .chev,.omn .acc button:focus .chev,
.omn .hl-head:hover .chev,.omn .hl-head:focus .chev{color:var(--green)}
.omn .acc button .ttl,.omn .hl-name{white-space:normal;min-width:0;overflow-wrap:anywhere}
.omn .acc button .ttl{flex:1 1 auto}

/* Sehol ne törjön szót az oldal — az egész oldalra érvényes alapbeállítás. */
.omn,.omn *,.elementor-widget-form,.elementor-widget-form *{hyphens:none;-webkit-hyphens:none}

/* Szolgáltatáskártyák: kisebb behúzás a felsorolásnál */
.omn .svc-card ul{padding-left:0}
.omn .svc-card ul li{padding-left:14px}
.omn .svc-card ul li::before{left:0}

/* Lábléc: a linklisták behúzás nélkül */
.omn .omn-footer ul,.omn-footer ul{padding-left:0;margin-left:0;list-style:none}
.omn .omn-footer ul li,.omn-footer ul li{padding-left:0;margin-left:0}
.omn .omn-footer ul li::before,.omn-footer ul li::before{content:none}

/* „Amivel dolgozunk” bevezetője teljes szélességben */
.omn .section-head .lead{max-width:none}

/* Partnercsempe: csak akkor színesedik, ha tényleg átvisz az oldalukra */
.omn div.plogo.has-logo:hover img{filter:grayscale(1) opacity(.72);transform:none}
.omn a.plogo.has-logo:hover img{filter:none;transform:scale(1.04)}
.omn div.plogo{cursor:default}

/* Érdekességek: mind a négy egy sorban */
.omn .news-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.omn .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.omn .news-grid{grid-template-columns:1fr}}
.omn .news-card h3{font-size:19px}
.omn .news-card .body{padding:18px 20px 22px}

/* Kijelölés színe: a téma pinkje helyett halványzöld */
.omn ::selection{background:#CDE6CE;color:var(--ink)}
.omn ::-moz-selection{background:#CDE6CE;color:var(--ink)}
.omn .hl-head,.omn .acc button,.omn .omn-sel-btn{-webkit-user-select:none;user-select:none;
  -webkit-tap-highlight-color:rgba(62,145,66,.16)}

/* Szolgáltatás-leírások: a szöveg és a kép elrendezését lentebb, a
   „kép jobbra, szöveg balra” blokk állítja be. A korábbi körbefuttatós
   szabályok (float + clearfix) kikerültek: a clearfix ::after rácselemként
   elfoglalta az első cellát, ezért csúszott a szöveg a keskeny oszlopba. */
.omn .acc .panel.has-img .ptext{overflow:visible}

/* A felugró ablak képe teljes egészében látszódjon, arány szerint, és ne
   jelenjen meg vízszintes gördítősáv a buborékban. */
.omn-pop-img{height:auto;max-height:260px;min-height:120px;padding:8px 0}
.omn-pop-img img{width:100%;height:auto;max-height:244px;object-fit:contain}
.leaflet-popup-content{overflow-x:hidden}
.leaflet-popup-content-wrapper{border-radius:10px}

/* ---------- Felugró galéria (több fotó egy munkához) ---------- */
.omn-pop-gal{position:relative}
.omn-pop-gal img{width:100%;height:auto;max-height:244px;object-fit:contain}
.omn-pop-gal .gal-prev,.omn-pop-gal .gal-next{position:absolute;top:50%;transform:translateY(-50%);
  width:30px;height:30px;border:0;border-radius:50%;cursor:pointer;z-index:2;
  background:rgba(255,255,255,.92);color:var(--ink);font:700 17px/1 var(--font-body);
  box-shadow:0 2px 8px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center}
.omn-pop-gal .gal-prev{left:6px}
.omn-pop-gal .gal-next{right:6px}
.omn-pop-gal .gal-prev:hover,.omn-pop-gal .gal-next:hover{background:#fff;color:var(--green-dark)}
.omn-pop-gal .gal-count{position:absolute;right:8px;bottom:6px;z-index:2;
  background:rgba(24,40,30,.72);color:#fff;font:600 11px/1 var(--font-body);
  padding:4px 8px;border-radius:10px}
/* a több munkát tartalmazó buborékon belüli kis galériák */
.omn-pop-work .wimg{position:relative;height:auto;max-height:180px}
.omn-pop-work .wimg img{width:100%;height:auto;max-height:180px;object-fit:contain}
.omn-pop-work .wimg .gal-prev,.omn-pop-work .wimg .gal-next{width:26px;height:26px;font-size:15px}

/* ---------- 2026-09-14-i észrevételek ---------- */

/* Kijelölés színe globálisan (a téma pinkje a widgeten kívülről is átüthet) */
::selection{background:#CDE6CE;color:#1B2430}
::-moz-selection{background:#CDE6CE;color:#1B2430}
/* a téma reset.css-e minden gombot pinkre fest */
.omn button{color:inherit}

/* Számdobozok: négyzetes arány, minden középen, elválasztás nélkül */
.omn .counter{display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;aspect-ratio:1/1;padding:18px 14px}
.omn .counter b,.omn .counter small{text-align:center;hyphens:none;-webkit-hyphens:none}
.omn .counter small{max-width:100%;text-wrap:balance}
.omn .counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.omn .counters.stacked{grid-template-columns:1fr;gap:14px}
.omn .counters.stacked .counter{aspect-ratio:auto;min-height:120px}
.omn .intro-grid.nums-column{grid-template-columns:minmax(0,1fr) 210px}

/* A térképi pontok folyamatosan lélegezzenek, ne csak ritkán villanjanak */
@keyframes huTwinkle{
  0%,100%{opacity:.72;filter:none}
  50%{opacity:1;filter:drop-shadow(0 0 6px currentColor) brightness(1.3)}
}
.omn .hu-map .dot{animation:huDot .55s ease var(--in,0s) forwards,
  huTwinkle var(--dur,5s) ease-in-out var(--tw,0s) infinite}

/* Szolgáltatás-leírások: alapból kép jobbra, szöveg balra, körbefuttatás nélkül */
.omn .acc.open .panel.has-img{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.omn .acc .panel.has-img .pimg{float:none;order:2;position:sticky;top:96px;margin:0;width:auto}
.omn .acc .panel.has-img .ptext{order:1;min-width:0}
/* csak a megjelölt elemeknél fusson körbe a szöveg (Épületdiagnosztika, Schmidt) */
.omn .acc.open .panel.has-img.wrap-img{display:block}
.omn .acc .panel.has-img.wrap-img .pimg{float:right;width:340px;margin:2px 0 18px 30px;position:static}
.omn .acc .panel.has-img.wrap-img::after{content:'';display:block;clear:both}
.omn .faq .acc.open .panel.has-img,.omn.faq .acc.open .panel.has-img{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}
.omn .faq .acc.open .panel.has-img.wrap-img,.omn.faq .acc.open .panel.has-img.wrap-img{display:block}
/* rácsban a clearfix önálló rácselem lenne, ezért csak körbefuttatáskor kell */
.omn .acc .panel.has-img:not(.wrap-img)::after{content:none;display:none}
/* telefonon minden egymás alá: szöveg, majd kép */
@media(max-width:820px){
  .omn .acc.open .panel.has-img,.omn .faq .acc.open .panel.has-img,
  .omn.faq .acc.open .panel.has-img{grid-template-columns:minmax(0,1fr);gap:16px}
  .omn .acc .panel.has-img .pimg,.omn .acc .panel.has-img.wrap-img .pimg{
    float:none;width:100%;margin:0;position:static}
  .omn .acc.open .panel.has-img.wrap-img{display:flex;flex-direction:column;gap:16px}
}
.omn .acc .panel .ptext{text-align:justify}

/* Felugró galéria: egyszerre csak egy kép (a Leaflet felülírná a [hidden]-t) */
.omn-pop-gal img[hidden],.omn-pop-work .wimg img[hidden]{display:none!important}

/* Szolgáltatás-navigáció: a darabszám nem kell */
.omn .svc-nav-item .num{display:none}

/* Szolgáltatás-navigáció: középre zárt, kisebb buborékok */
.omn .svc-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.omn .svc-nav-item{padding:9px 16px 9px 10px;gap:10px;border-radius:999px}
.omn .svc-nav-item .icon{flex:0 0 30px;height:30px;border-radius:999px}
.omn .svc-nav-item .icon svg{width:16px;height:16px}
.omn .svc-nav-item .lbl{font-size:13.5px;letter-spacing:.03em}
@media(max-width:820px){
  .omn .svc-nav{gap:8px}
  .omn .svc-nav-item{padding:7px 13px 7px 8px}
  .omn .svc-nav-item .icon{flex:0 0 26px;height:26px}
  .omn .svc-nav-item .lbl{font-size:12.5px}
}

/* ---------- Telefonos nézet ---------- */
@media(max-width:820px){
  /* számdobozok keskenyebben, egymás mellett */
  .omn .counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .omn .counter{aspect-ratio:auto;min-height:112px;padding:14px 8px}
  .omn .counter b{font-size:32px}
  .omn .counter small{font-size:11.5px;letter-spacing:.03em}
  /* „Amivel dolgozunk” csoportok egymás alá */
  .omn .soft-grid{grid-template-columns:1fr}
  /* hosszú harmonika-címek törjenek, ne csússzanak ki */
  .omn .acc button{font-size:17px;line-height:1.25;gap:10px;padding:16px 16px}
  .omn .acc button .chev{margin-left:6px}
  .omn .hl-name{font-size:16px;line-height:1.25}
  .omn .hl-head{padding:16px 16px;gap:10px;flex-wrap:wrap}
  /* hosszú megnevezések tördelése a harmonika- és kiemelt fejlécekben */
  .omn .acc button .ttl,.omn .hl-name{min-width:0;flex:1 1 auto;
    overflow-wrap:anywhere;word-break:normal}
  .omn .acc button,.omn .hl-head{overflow-wrap:anywhere}
  .omn .acc button .num{width:30px;height:30px;font-size:15px}
  /* kiemelt leírások tördelése */
  .omn .hl-text p,.omn .acc .panel .ptext p{text-align:left;overflow-wrap:anywhere}
  .omn .hl-body{padding:0 16px 20px}
}
/* A felugró ablak ne lógjon ki a telefon képernyőjéről. A szélességet a
   szkript adja (maxWidth), itt csak a belső magasságokat fogjuk vissza,
   és gondoskodunk róla, hogy a térkép húzható maradjon a buborék mellett. */
@media(max-width:600px){
  .leaflet-popup-content{margin:12px 14px}
  .omn-pop{width:100%;max-width:none}
  .omn-pop-img,.omn-pop-gal{max-height:128px}
  .omn-pop-img img,.omn-pop-gal img{max-height:128px}
  .omn-pop-work .wimg,.omn-pop-work .wimg img{max-height:104px}
  .omn-pop-body{font-size:13.5px;line-height:1.45}
  .omn-pop-body h4,.omn-pop-work .wname{font-size:15px;line-height:1.25}
  /* nagyobb bezáró gomb, hogy ujjal is eltalálható legyen */
  .leaflet-popup-close-button{width:34px;height:34px;font-size:22px;line-height:32px}
  .leaflet-popup-scrolled{overscroll-behavior:contain}
}

/* A „Részletek” után mindig legyen nyíl, a szövegtől függetlenül */
.omn .svc-card .more::after{content:' \2192'}

/* Telefonon a Rólunk-oldali álló számhasáb is teljes szélességet kap,
   különben a bemutatkozó szöveg egy keskeny sávba szorulna. */
@media(max-width:900px){
  .omn .intro-grid.nums-column{grid-template-columns:1fr;gap:32px}
  .omn .counters.stacked{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .omn .counters.stacked .counter{min-height:112px;padding:14px 8px}
}

/* Keskeny képernyőn a sorkizárás szóelválasztás nélkül csúnya, ritkás
   réseket hagy, ezért telefonon balra igazítunk. */
@media(max-width:820px){
  .omn .intro-grid > div:not(.counters) > div,
  .omn .intro-grid > div > div p,
  .omn .acc .panel .ptext,
  .omn .acc .panel p,
  .omn .soft .sbody p,
  .omn .news-card .body p,
  .omn .hl-text p,
  .omn-pop-body p,
  .omn-pop-work .wdesc{text-align:left}
}

/* A szolgáltatás- és „Amivel dolgozunk” csoportok bevezetője folyószöveg,
   teljes szélességben, ne középre zárt, keskeny hasáb legyen. */
.elementor-widget-omniber-accordion .center > .lead,
.elementor-widget-omniber-accordion .lead,
.elementor-widget-omniber-soft-cards .center > .lead,
.elementor-widget-omniber-soft-cards .lead{text-align:justify;max-width:none;margin-left:0;margin-right:0}
.elementor-widget-omniber-accordion .center:has(> .lead),
.elementor-widget-omniber-soft-cards .center:has(> .lead){text-align:left}
@media(max-width:820px){
  .elementor-widget-omniber-accordion .lead,
  .elementor-widget-omniber-soft-cards .lead{text-align:left}
}
