/* ==========================================================================
   STYLE-NEW.MIN.CSS - THE "UI BUG FIX" EDITION
   Fixes: Mobile menu overlap & Huge service hero height on mobile.
   Keeps: Zero CLS fonts & Homepage aspect ratio.
   ========================================================================== */

/* --- [CRITICAL FIX] FONT OVERRIDES FOR ZERO CLS --- */
@font-face {
    font-family: 'Inter-fallback';
    src: local('Arial');
    size-adjust: 97.64%;
    ascent-override: 94.87%;
    descent-override: 25.13%;
    line-gap-override: 0%;
}

/* Basic Resets & Definitions */
.btn,.dropdown-menu,a{transition:.3s}.logo,.p-cat{letter-spacing:1px}:root{--color-bg-main:#050505;--color-bg-secondary:#0a0a0a;--color-text-primary:#ffffff;--color-text-secondary:#a0a0a0;--color-accent:#00f2ff;--color-accent-hover:#00c8d7;--color-border:rgba(255, 255, 255, 0.1);--font-main:'Inter','Inter-fallback',sans-serif;--section-spacing:100px;--container-width:1200px}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden!important;position:relative}body{font-family:var(--font-main);background-color:var(--color-bg-main);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:90%;max-width:var(--container-width);margin:0 auto;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.section{padding:var(--section-spacing) 0}.text-center{text-align:center}.highlight,.info-details a:hover,.logo span,.nav-links a.active,.nav-links a:hover,.text-accent{color:var(--color-accent)}.dropdown-menu li a,.hero p,.lead,.nav-links a{color:var(--color-text-secondary)}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.ai-badge,.btn{font-weight:600}.lead{font-size:1.1rem}.btn{display:inline-block;padding:12px 30px;border-radius:50px;cursor:pointer;border:2px solid transparent}.btn-primary{background-color:var(--color-accent);color:var(--color-bg-main);box-shadow:0 0 20px rgba(0,242,255,.3)}.ai-badge,.btn-outline,.dropdown-menu li a:hover{color:var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-hover);box-shadow:0 0 30px rgba(0,242,255,.5);transform:translateY(-2px)}.ai-badge .pulse,.btn-outline:hover{background-color:var(--color-accent)}.btn-outline{border-color:var(--color-accent)}.btn-outline:hover{color:var(--color-bg-main);transform:translateY(-2px)}.ai-badge{display:inline-flex;align-items:center;background:rgba(0,242,255,.1);padding:6px 15px;border-radius:20px;font-size:.9rem;margin-bottom:20px;border:1px solid rgba(0,242,255,.2)}

/* --- GPU ACCELERATED PULSE ANIMATION --- */
.ai-badge .pulse{width:8px;height:8px;border-radius:50%;margin-right:8px;background-color:var(--color-accent);position:relative}
.ai-badge .pulse::before {content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background-color:var(--color-accent);animation:pulse-gpu 2s infinite;}
@keyframes pulse-gpu{0%{transform:translate(-50%,-50%) scale(1);opacity:0.7}100%{transform:translate(-50%,-50%) scale(3);opacity:0}}

.navbar{display:flex;justify-content:space-between;align-items:center;padding:20px 5%;position:fixed;width:100%;top:0;z-index:1000;background:rgba(5,5,5,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);height:90px;}
.dropdown,.nav-links a{position:relative}.logo{font-weight:700;font-size:1.2rem;color:var(--color-text-primary)}.nav-links{display:flex;gap:30px}.nav-links a{font-weight:500;font-size:.95rem}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);min-width:200px;opacity:0;visibility:hidden;transform:translateY(10px);border-radius:8px;padding:10px 0;box-shadow:0 10px 30px rgba(0,0,0,.5)}.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu li a{display:block;padding:10px 20px;white-space:nowrap}.dropdown-menu li a:hover{background:rgba(255,255,255,.05)}.hamburger,.mobile-menu{display:none}

/* --- [CRITICAL FIX] SPLIT HERO STYLES --- */
/* Shared Styles */
.hero, .service-hero {
    position:relative;
    width: 100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;
    padding:0;
    background:#000;
    contain: layout paint;
}

/* HOMEPAGE MOBILE SPECIFIC: Lock Aspect Ratio 2:3 for Zero CLS */
.hero {
    aspect-ratio: 2 / 3;
    padding-top: 80px; /* Add padding for navbar space on mobile */
    padding-bottom: 40px;
    align-items: center; /* Center vertically */
}

/* SERVICE PAGES MOBILE SPECIFIC: Normal height, not huge */
.service-hero {
    min-height: 500px; /* Standard mobile header height */
    aspect-ratio: auto; /* Don't force portrait ratio */
    padding-top: 120px; /* More padding for inner page headers */
    padding-bottom: 60px;
}

.hero-overlay,.hero-video,.hero-bg-mobile{position:absolute;top:0;left:0;width:100%;height:100%}
.hero-video,.hero-bg-mobile{object-fit:cover;z-index:-2}
.hero-overlay{background:linear-gradient(to right,rgba(5,5,5,.9) 40%,rgba(5,5,5,.4));z-index:-1}
.hero-content{max-width:800px; position:relative; z-index:3;}
.hero h1{font-size:3rem;line-height:1.1;margin-bottom:1.5rem}
.service-hero h1 {font-size: 2.8rem; margin-bottom: 20px; color: #fff; text-shadow: 0 0 25px rgba(0, 242, 255, .3); line-height: 1.1;}
.hero p{font-size:1.1rem;margin-bottom:2.5rem;max-width:600px}
.hero-buttons{display:flex;gap:20px}

/* SUB-TEXT STABILIZATION */
.hero h1 span.sub-text {display:block;margin-top:15px;font-size:0.6em;font-weight:400;color:#fff;line-height:1.4;height:1.4em;overflow:hidden;}

/* DESKTOP OVERRIDES (min-width: 993px) */
@media (min-width: 993px) {
    /* Homepage Desktop */
    .hero {
        aspect-ratio: auto;
        height: 100vh;
        min-height: 600px;
        padding-top: 100px;
        align-items: center;
    }
    .hero h1 { font-size: 4rem; }
    .hero p { font-size: 1.25rem; }

    /* Service Page Desktop */
    .service-hero {
        height: 60vh; /* Shorter than homepage on desktop */
        min-height: 500px;
        padding-top: 150px;
    }
    .service-hero h1 { font-size: 4rem; }
}

.tech-marquee{background:var(--color-accent);padding:15px 0;overflow:hidden;white-space:nowrap;position:relative;transform:rotate(-2deg);width:110%;left:-5%;box-shadow:0 0 20px rgba(0,242,255,.2)}.core-services-carousel-container,.niche-scroller-container{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tech-marquee .track{display:inline-block;animation:30s linear infinite marquee}.tech-marquee span{display:inline-block;font-weight:700;color:var(--color-bg-main);font-size:1.1rem;margin:0 30px;text-transform:uppercase}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}.core-services-carousel-container{width:100%;padding-bottom:20px}.core-services-carousel-container::-webkit-scrollbar{display:none}.core-services-track{display:inline-flex;gap:30px;padding:0 5%}.core-service-card{flex:0 0 300px;background:var(--color-bg-secondary);border:1px solid var(--color-border);padding:40px 30px;border-radius:20px;transition:.3s;display:block;text-align:left}.core-service-card:hover{border-color:var(--color-accent);transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.4)}.icon-box{width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:25px}.icon-blue{background:rgba(0,119,255,.1);color:#07f}.icon-purple{background:rgba(132,0,255,.1);color:#8400ff}.icon-green{background:rgba(0,255,136,.1);color:#0f8}.icon-orange{background:rgba(255,102,0,.1);color:#f60}.core-service-card h3{font-size:1.4rem;margin-bottom:15px}.core-service-card p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.niche-scroller-container{width:100%;padding:20px 0}.niche-scroller-container::-webkit-scrollbar{display:none}.niche-scroller{display:inline-flex;gap:20px;padding:0 5%}.niche-card{flex:0 0 280px;height:350px;border-radius:25px;overflow:hidden;position:relative;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1);transition:transform .4s,border-color .4s}.niche-card:hover{transform:scale(1.03);border-color:var(--color-accent);z-index:2}.niche-card-overlay{position:absolute;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.9) 10%,rgba(0,0,0,.2) 60%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:30px 20px}.niche-card-overlay i{font-size:2rem;color:var(--color-accent);margin-bottom:15px;transform:translateY(20px);opacity:0;transition:.4s}.niche-card:hover .niche-card-overlay i{transform:translateY(0);opacity:1}.niche-card h3{font-size:1.3rem;font-weight:700;color:#fff;transform:translateY(10px);transition:transform .4s}.niche-card:hover h3{transform:translateY(0)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.process-step{position:relative;padding-top:20px}.process-step::after{content:'';position:absolute;top:40px;right:-20px;width:40px;height:2px;background:rgba(255,255,255,.1)}.process-step:last-child::after{display:none}.step-number{font-size:4rem;font-weight:900;color:rgba(255,255,255,.05);position:absolute;top:-20px;left:0;z-index:-1}.footer-links a:hover,.p-cat,.view-all{color:var(--color-accent)}.process-step h3{font-size:1.5rem;margin-bottom:15px}@media (max-width:992px){.process-grid{grid-template-columns:repeat(2,1fr)}.process-step::after{display:none}}.dark-bg{background-color:#080808}.view-all{font-weight:600;font-size:1.1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px}.project-card-home{display:block;background:var(--color-bg-secondary);border-radius:20px;overflow:hidden;border:1px solid var(--color-border);transition:.4s}.project-card-home:hover{transform:translateY(-10px);border-color:var(--color-accent)}.p-image{height:250px;overflow:hidden}.p-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card-home:hover .p-image img{transform:scale(1.1)}.p-info{padding:25px}.p-cat{display:inline-block;font-size:.85rem;margin-bottom:10px;text-transform:uppercase;font-weight:600}.p-info h3{font-size:1.4rem;margin-bottom:0}.footer{background:#020202;padding:80px 0 30px;border-top:1px solid var(--color-border)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px}.footer-col p{color:var(--color-text-secondary);margin:20px 0}.footer-title{font-size:1.2rem;margin-bottom:25px;color:#fff}.contact-lead,.footer-bottom,.footer-links a,.info-details a,.info-details p{color:var(--color-text-secondary)}.footer-links li{margin-bottom:15px}.footer-links a:hover{padding-left:5px}.social-links{display:flex;gap:15px}.social-links a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid var(--color-border)}.social-links a:hover{background:var(--color-accent);color:var(--color-bg-main);border-color:var(--color-accent)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid rgba(255,255,255,.05);font-size:.9rem}@media (max-width:992px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:576px){.process-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:30px}}.contact-section{padding:150px 0 100px;min-height:100vh;display:flex;align-items:center;background:radial-gradient(circle at top right,rgba(0,242,255,.1),transparent 40%),radial-gradient(circle at bottom left,rgba(132,0,255,.1),transparent 40%)}.contact-container{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;background:var(--color-bg-secondary);padding:60px;border-radius:30px;border:1px solid var(--color-border);box-shadow:0 30px 60px rgba(0,0,0,.5)}.contact-info h1{font-size:3.5rem;line-height:1.1;margin-bottom:30px}.contact-lead{font-size:1.2rem;margin-bottom:50px}.info-item{display:flex;align-items:flex-start;margin-bottom:30px}.info-icon{width:50px;height:50px;background:rgba(0,242,255,.1);color:var(--color-accent);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-right:20px;flex-shrink:0}.info-details h3{font-size:1.1rem;margin-bottom:5px}.form-group{margin-bottom:25px}.form-input,.form-select,.form-textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--color-border);padding:15px 20px;border-radius:12px;color:var(--color-text-primary);font-family:var(--font-main);font-size:1rem;transition:.3s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-accent);background:rgba(0,242,255,.05)}.form-textarea{resize:vertical;height:150px}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300f2ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 20px center;background-size:16px}.form-select option{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-block{width:100%;padding:18px;font-size:1.1rem;display:flex;justify-content:center;align-items:center;gap:10px}.service-content-row{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);max-width:none}.alert{padding:15px 20px;border-radius:12px;margin-bottom:30px;font-weight:500}.alert-success{background:rgba(0,255,136,.1);border:1px solid #0f8;color:#0f8}.alert-error{background:rgba(255,50,50,.1);border:1px solid #ff3232;color:#ff3232}
.service-content-row{display:flex;align-items:center;gap:80px;padding:80px 10%;background:rgba(255,255,255,.02);border-top:1px solid rgba(0,242,255,.1);border-bottom:1px solid rgba(0,242,255,.1);backdrop-filter:blur(5px);box-sizing:border-box;margin-bottom:0}.service-content-row:nth-child(2n){flex-direction:row-reverse;background:rgba(0,0,0,.3)}.service-image-col,.service-text-col{flex:1;padding:0;margin:0;max-width:none}.service-text-col h2{font-size:2.5rem;margin-bottom:30px;color:#fff}.service-text-col li,.service-text-col p{font-size:1.2rem;color:#ccc;line-height:1.8;max-width:800px}.service-image-col{display:flex;justify-content:center}.service-image-col img{width:100%;max-width:900px;height:auto;border-radius:25px;box-shadow:0 30px 60px rgba(0,0,0,.5);border:1px solid rgba(0,242,255,.2);transition:transform .5s}.service-content-row:hover .service-image-col img{transform:scale(1.02)}@media (max-width:992px){.contact-container{grid-template-columns:1fr;gap:40px;padding:40px}.contact-info h1{font-size:2.8rem}.service-content-row,.service-content-row:nth-child(2n){flex-direction:column;gap:50px;padding:50px 20px}.service-image-col,.service-text-col{flex:auto;width:100%;max-width:100%!important;padding:0!important}.service-text-col h2{font-size:2rem}.container{padding-right:15px;padding-left:15px}.service-content-row{padding:40px 0}}@media (min-width:992px){.service-content-row{flex-direction:row;align-items:center;gap:40px}.service-text-col,.service-image-col{width:48%!important}.text-image-reversed{flex-direction:row-reverse}.container{padding-right:30px;padding-left:30px}}@media (max-width:768px){.nav-links{display:none}.hamburger{display:flex;flex-direction:column;cursor:pointer;z-index:1001}.mobile-dropdown-menu.active,.mobile-menu{display:block}.hamburger span{width:25px;height:3px;background:var(--color-text-primary);margin:2px 0;transition:.4s}

/* --- [FIX] MOBILE MENU PADDING & Z-INDEX --- */
.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--color-bg-main);
/* Αυξήσαμε το padding στα 100px για να μην κρύβεται πίσω από την 90px navbar */
padding-top:100px;
transform:translateX(100%);transition:transform .4s ease-in-out;z-index:999;overflow-y:auto}.mobile-menu.active{transform:translateX(0)}.mobile-menu li{border-bottom:1px solid var(--color-border)}.mobile-menu a{display:block;padding:20px;font-size:1.2rem;font-weight:600}.mobile-dropdown-toggle .fa-chevron-down{float:right;transition:transform .3s}.mobile-dropdown-toggle.active .fa-chevron-down{transform:rotate(180deg)}.mobile-dropdown-menu{display:none;background:var(--color-bg-secondary);padding-left:20px}.hamburger.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.hero h1{font-size:2.5rem}.hero p{font-size:1.1rem}.hero-buttons{flex-direction:column;width:100%}.hero-buttons .btn{width:100%;text-align:center}.contact-section{padding:120px 0 60px}.contact-container{padding:30px;border-width:0;background:0 0;box-shadow:none}.form-row{flex-direction:column;gap:0}.mobile-dropdown-menu a,.mobile-menu a{color:#fff!important;text-decoration:none!important}.mobile-dropdown-menu a:active,.mobile-dropdown-menu a:hover,.mobile-menu a:active,.mobile-menu a:hover{color:var(--color-accent)!important}}p,h1,h2,h3,h4,h5,h6,li,span,div{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%}img.img-fluid,.service-image-col img{max-width:100%;height:auto}

/* =========================================
   CLICK-TO-CALL BUTTONS (Desktop & Mobile)
   ========================================= */

/* --- Desktop Navbar Button --- */
.nav-cta-item {
    margin-left: 15px; /* Λίγο κενό από το προηγούμενο λινκ */
}

.nav-cta-button {
    display: flex;
    align-items: center;
    /* Χρησιμοποιώ ένα ωραίο πράσινο χρώμα, άλλαξέ το αν θες */
    background-color: #25d366; 
    color: #ffffff !important; /* Λευκό κείμενο */
    padding: 10px 20px;
    border-radius: 50px; /* Στρογγυλεμένο κουμπί */
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
}

.nav-cta-button:hover {
    background-color: #1fad53; /* Πιο σκούρο στο hover */
    transform: translateY(-2px); /* Ελαφριά ανύψωση */
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
}

/* --- Mobile Floating Action Button (FAB) - CORRECTED POSITION --- */
.mobile-fab-call {
    position: fixed;
    bottom: 90px; /* ΑΛΛΑΓΗ: Το ανεβάσαμε για να μην πέφτει στο chatbot */
    right: 25px;
    width: 60px;
    height: 60px;
    background-color: #25d366;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9998; /* ΑΛΛΑΓΗ: Λίγο μικρότερο z-index από το chatbot (συνήθως 9999) */
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
    animation: pulse-animation 2s infinite;
}

.mobile-fab-call:hover {
    transform: scale(1.1);
}

.mobile-fab-call svg {
    width: 28px;
    height: 28px;
    stroke: #ffffff;
}