:root{--ab-navy:#08172f;--ab-blue:#102b50;--ab-cyan:#27d9f5;--ab-text:#14233e}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ab-text);margin:0}.ab-navbar{background:#08172fee;backdrop-filter:blur(14px)}.ab-brand{font-weight:800;letter-spacing:.08em;font-size:1.55rem;color:white;text-decoration:none}.ab-mark{color:var(--ab-cyan);margin-right:.5rem}.ab-navbar .nav-link{color:#e9f2ff!important}.ab-navbar .nav-link:hover{color:var(--ab-cyan)!important}.ab-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 76% 48%,#154d84 0%,transparent 43%),linear-gradient(135deg,#08172f,#0b2446 72%,#08172f);color:#fff;padding:9rem 0 8rem}.ab-hero:after{content:'';position:absolute;bottom:-75px;left:-5%;width:110%;height:130px;background:#f4f8ff;border-radius:50% 50% 0 0}.ab-eyebrow{color:var(--ab-cyan);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:700}.ab-hero h1{font-size:clamp(2.3rem,5vw,4.6rem);font-weight:800;line-height:1.12;letter-spacing:-.035em}.ab-accent{color:var(--ab-cyan)}.ab-lead{font-size:clamp(1.05rem,1.8vw,1.35rem);color:#d9e8f7;max-width:610px}.ab-btn{background:var(--ab-cyan);color:#05172d;border:0;font-weight:700;padding:.9rem 1.5rem;border-radius:12px}.ab-btn:hover{background:#69ecff;color:#05172d}.ab-btn-outline{border:1px solid #83b9db;color:white;font-weight:650;padding:.85rem 1.5rem;border-radius:12px}.ab-btn-outline:hover{background:white;color:#08172f}.ab-visual{position:relative;min-height:390px;display:grid;place-items:center}.ab-core{position:relative;width:min(70%,300px);aspect-ratio:1;border:2px solid #31d6ff88;border-radius:32px;transform:rotate(-12deg);background:linear-gradient(145deg,#2478c655,#051a39);box-shadow:0 0 75px #00d9ff33,inset 0 0 45px #00d9ff22;display:grid;place-items:center}.ab-core i{font-size:7rem;color:#50e9ff;filter:drop-shadow(0 0 18px #23d9ff)}.ab-orbit{position:absolute;border:1px solid #28d9f555;border-radius:50%;width:90%;aspect-ratio:1;max-width:450px}.ab-float{position:absolute;background:#123a68cc;backdrop-filter:blur(10px);border:1px solid #38d8ff80;box-shadow:0 12px 45px #0005;border-radius:18px;padding:1rem 1.25rem;color:#a8efff;font-size:2rem}.ab-float.one{top:3%;left:9%}.ab-float.two{top:8%;right:4%}.ab-float.three{bottom:9%;left:3%}.ab-float.four{bottom:5%;right:9%}.ab-section{padding:5.5rem 0;background:#f4f8ff}.ab-section-white{background:white}.ab-heading{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;letter-spacing:-.025em}.ab-card{height:100%;border:1px solid #e4edf8;background:white;border-radius:20px;padding:2rem;box-shadow:0 12px 35px #0a3e7710;transition:transform .2s,box-shadow .2s}.ab-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #0a3e7725}.ab-icon{display:inline-grid;place-items:center;width:65px;height:65px;background:#e1f5ff;border-radius:16px;color:#076ab3;font-size:1.9rem;margin-bottom:1.25rem}.ab-card h3{font-size:1.25rem;font-weight:750}.ab-card p{color:#52647d}.ab-step{display:flex;align-items:flex-start;gap:1rem}.ab-step-num{flex:0 0 48px;height:48px;border-radius:14px;background:#e0f7ff;color:#0879ac;font-weight:800;display:grid;place-items:center}.ab-dark{background:linear-gradient(125deg,#08172f,#10345e);color:white}.ab-dark p{color:#d2e1f1}.ab-contact{background:#fff;border-radius:20px;padding:2rem;color:#14233e}.ab-contact .form-control{padding:.85rem;border-radius:10px}.ab-footer{background:#061226;color:#c8d8eb;padding:2rem 0}.ab-footer a{color:#6fe7ff}.ab-small{font-size:.9rem}@media(max-width:991.98px){.ab-hero{padding:7rem 0 6rem}.ab-visual{min-height:300px;margin-top:2rem}.ab-core{width:220px}.ab-orbit{max-width:320px}.ab-float{font-size:1.4rem;padding:.7rem 1rem}}@media(max-width:575.98px){.ab-hero{padding:6.5rem 0 5.5rem}.ab-visual{min-height:260px}.ab-core{width:180px}.ab-core i{font-size:5rem}.ab-float.one{left:0}.ab-float.two{right:0}.ab-section{padding:3.5rem 0}.ab-card{padding:1.5rem}}

/* ABACOM hero foto */
.ab-hero{background:linear-gradient(90deg,rgba(6,18,40,.98) 0%,rgba(6,18,40,.94) 35%,rgba(6,18,40,.42) 100%),url("https://abacom.hu/uploads/abacom-hero.jpg") center center / cover no-repeat;min-height:620px;display:flex;align-items:center}
.ab-hero-photo{min-height:360px}
@media(max-width:991.98px){.ab-hero{background-position:60% center}.ab-hero-photo{display:none}.ab-hero{padding:7rem 0 6rem}}
@media(max-width:575.98px){.ab-hero{background:linear-gradient(90deg,rgba(6,18,40,.90),rgba(6,18,40,.72)),url("https://abacom.hu/uploads/abacom-hero.jpg") 47% center / cover no-repeat;min-height:550px;padding:5rem 0}}

/* ABACOM HERO KÉP */

.ab-hero {
    background: #061637 !important;
    overflow: hidden;
}

.ab-visual {
    width: 100%;
    height: auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

.ab-hero-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border: 0;
}

/* Mobil */
@media (max-width: 991.98px) {
    .ab-visual {
        margin-top: 25px;
    }

    .ab-hero-image {
        max-width: 550px;
        margin: 0 auto;
    }
}
/* ABACOM HERO – KÉP AZ EREDETI HTML-LEL */

.ab-visual {
    background-image: url("https://flexteszt.hu/uploads/abacom-hero-little.png") !important;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    min-height: 400px;
}

/* Régi animált elemek elrejtése */
.ab-visual .ab-orbit,
.ab-visual .ab-core,
.ab-visual .ab-float {
    display: none !important;
}

/* Mobil */
@media (max-width: 991.98px) {
    .ab-visual {
        min-height: 280px;
        background-size: contain;
    }
}
/* ABACOM – éles környezet szélességkorrekció */

.ab-hero,
.ab-section,
.ab-dark {
    width: 100%;
    max-width: none;
}

/* Belső tartalom */
.ab-hero > .container,
.ab-section > .container,
.ab-dark > .container {
    width: 100%;
    max-width: 1400px;
    margin-inline: auto;
}
/* Csak az Abacom főoldal szekcióira */

.ab-hero,
.ab-section,
.ab-dark {
    width: 100vw;
    max-width: none;
    position: relative;
    left: 50%;
    margin-left: -50vw;
}
    
