/* =========================================================
   CristianDev - Design System v4 (navy / blue / violet)
   Doar aspect grafic. Clasele si structura HTML raman neschimbate.
   ========================================================= */
:root{
    --bg-body:#070d1c;
    --bg:#070d1c;
    --surface:#0d1630;
    --surface-2:#111c3b;
    --bg-alt:#0a1226;
    --blue:#2d8cff;
    --cyan:#22d3ee;
    --violet:#8b5cf6;
    --green:#10b981;
    --orange:#f59e0b;
    --coral:#6c8cff;
    --coral-2:#8b5cf6;
    --amber:#8b5cf6;
    --teal:#22d3ee;
    --ink:#e8ecf7;
    --muted:#9aa6c4;
    --line:#1a2544;
    --line-2:#2a3a6a;
    --light:#f6f8fc;
    --light-ink:#0c1530;
    --light-muted:#5a6a90;
    --grad:linear-gradient(90deg,#1e90ff,#4f6df5 70%,#8b5cf6);
    --radius-sm:10px;
    --radius-md:12px;
    --radius-lg:14px;
    --shadow-sm:0 6px 20px rgba(0,0,0,.25);
    --shadow-md:0 16px 40px rgba(0,0,0,.35);
    --shadow-lg:0 28px 70px rgba(0,0,0,.5);
    --ease:cubic-bezier(.16,1,.3,1);
    --container:1180px;
    --font-display:'Inter','Segoe UI',system-ui,sans-serif;
    --font-main:'Inter','Segoe UI',system-ui,sans-serif;
    --font-mono:'Inter','Segoe UI',system-ui,sans-serif;
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    font-family:var(--font-main);
    color:var(--ink);
    background:var(--bg-body);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    position:relative;
    overflow-x:hidden
}
img{
    max-width:100%;
    display:block
}
a{
    color:inherit;
    text-decoration:none
}
.container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 24px
}
h1,h2,h3,h4,h5{
    font-family:var(--font-display);
    line-height:1.15;
    margin:0 0 14px;
    font-weight:700;
    letter-spacing:-.02em
}
.section{
    padding:72px 0;
    position:relative
}
.section-alt{
    background:var(--bg-alt);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)
}
.section-light{
    background:var(--light);
    color:var(--light-ink)
}
.section-light .section-head h2,.section-light h4{
    color:var(--light-ink)
}
.section-light .section-head p,.section-light .eyebrow{
    color:var(--light-muted)
}
.eyebrow{
    display:inline-flex;
    align-items:center;
    color:var(--violet);
    font-weight:700;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-size:10px;
    margin-bottom:12px
}
.section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 44px
}
.section-head h2{
    font-size:30px;
    color:var(--ink)
}
.section-head p{
    color:var(--muted);
    font-size:15px
}

/* ---------- Loader (overlay la incarcare) ---------- */
#page-loader{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:26px;
    background:radial-gradient(circle at 50% 40%,#12204a,#050914 70%);
    transition:opacity .6s ease,visibility .6s ease;
    animation:loaderFailsafe .5s ease 7s forwards
}
#page-loader.is-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none
}
.loader-logo{
    font-size:34px;
    font-weight:700;
    letter-spacing:-.5px;
    color:#fff;
    animation:loaderPulse 1.6s ease-in-out infinite
}
.loader-logo i{
    font-style:normal;
    color:var(--cyan);
    margin-right:8px
}
.loader-logo b{
    color:var(--violet);
    font-weight:700
}
.loader-ring{
    width:54px;
    height:54px;
    border-radius:50%;
    border:3px solid var(--line);
    border-top-color:var(--cyan);
    border-right-color:var(--violet);
    animation:loaderSpin .9s linear infinite
}
.loader-bar{
    width:180px;
    height:3px;
    background:var(--line);
    border-radius:9px;
    overflow:hidden
}
.loader-bar span{
    display:block;
    height:100%;
    width:0;
    background:var(--grad);
    animation:loaderBar 1.6s ease-out forwards
}
@keyframes loaderSpin{
    to{
        transform:rotate(360deg)
    }
}
@keyframes loaderPulse{
    50%{
        opacity:.6
    }
}
@keyframes loaderBar{
    to{
        width:100%
    }
}
@keyframes loaderFailsafe{
    to{
        opacity:0;
        visibility:hidden
    }
}
body.is-loading{
    overflow:hidden
}

/* ---------- Scroll progress / cursor glow ---------- */
.scroll-progress{
    position:fixed;
    top:0;
    left:0;
    height:3px;
    width:0%;
    background:var(--grad);
    z-index:300;
    transition:width .1s linear
}
.cursor-glow{
    position:fixed;
    top:0;
    left:0;
    width:480px;
    height:480px;
    border-radius:50%;
    pointer-events:none;
    z-index:1;
    background:radial-gradient(circle,rgba(79,109,245,.10),transparent 70%);
    transform:translate(-50%,-50%);
    transition:opacity .3s;
    will-change:transform
}

/* ---------- Scroll reveal ---------- */
.service-card,.bento-item,.portfolio-card,.price-card,.testimonial-card,.blog-card,.section-head,.about-image,.contact-info-card{
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s var(--ease),transform .7s var(--ease)
}
.service-card.is-visible,.bento-item.is-visible,.portfolio-card.is-visible,.price-card.is-visible,.testimonial-card.is-visible,.blog-card.is-visible,.section-head.is-visible,.about-image.is-visible,.contact-info-card.is-visible{
    opacity:1;
    transform:translateY(0)
}
@media (prefers-reduced-motion:reduce){
    .service-card,.bento-item,.portfolio-card,.price-card,.testimonial-card,.blog-card,.section-head,.about-image,.contact-info-card{
        opacity:1;
        transform:none;
        transition:none
    }
    .marquee-track,.loader-logo,.loader-ring{
        animation:none
    }
}

/* ---------- Buttons ---------- */
.btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:13px;
    border:1px solid transparent;
    cursor:pointer;
    font-family:inherit;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s,border-color .25s,background .25s
}
.btn-accent{
    background:var(--grad);
    color:#fff;
    box-shadow:0 10px 26px rgba(79,109,245,.35)
}
.btn-accent:hover{
    transform:translateY(-2px);
    filter:brightness(1.12);
    box-shadow:0 14px 34px rgba(79,109,245,.5)
}
.btn-primary{
    background:var(--grad);
    color:#fff
}
.btn-primary:hover{
    transform:translateY(-2px);
    filter:brightness(1.12)
}
.btn-outline{
    background:transparent;
    border-color:var(--line-2);
    color:var(--ink)
}
.btn-outline:hover{
    border-color:var(--blue);
    transform:translateY(-2px)
}
.btn-outline-dark{
    background:transparent;
    border-color:var(--line-2);
    color:var(--ink)
}
.btn-outline-dark:hover{
    border-color:var(--blue);
    color:#fff;
    transform:translateY(-2px)
}
.section-light .btn-outline-dark{
    border-color:var(--light-ink);
    color:var(--light-ink);
    background:#fff
}
.section-light .btn-outline-dark:hover{
    background:var(--light-ink);
    color:#fff
}
.btn-block{
    width:100%;
    justify-content:center
}
.btn-sm{
    padding:8px 18px;
    font-size:11.5px
}

/* ---------- Header ---------- */
.site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(7,13,28,.9);
    border-bottom:1px solid var(--line)
}
.site-header::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px)
}
.header-inner{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:52px;
    padding:0 24px;
    max-width:1180px
}
.logo{
    display:flex;
    align-items:center;
    font-family:var(--font-display);
    font-size:21px;
    font-weight:700;
    letter-spacing:-.4px;
    color:#fff
}
.logo img{
    height:36px;
    width:auto
}
.logo .logo-1::before{
    content:"</>";
    color:var(--violet);
    font-weight:500;
    margin-right:8px;
    letter-spacing:-1px
}
.logo .logo-1{
    color:#fff
}
.logo .logo-2{
    color:var(--violet)
}
.main-nav{
    display:flex;
    align-items:center
}
.main-nav ul{
    list-style:none;
    display:flex;
    gap:12px;
    margin:0;
    padding:0
}
.main-nav>ul>li{
    position:relative
}
.main-nav a{
    color:var(--ink);
    padding:16px 13px;
    display:block;
    font-weight:500;
    font-size:11.5px;
    white-space:nowrap;
    transition:color .2s
}
.main-nav>ul>li>a{
    border-bottom:2px solid transparent
}
.main-nav>ul>li>a:hover{
    color:#fff;
    border-bottom-color:var(--line-2)
}
.main-nav>ul>li.active>a{
    color:#fff;
    border-bottom-color:var(--blue)
}
.has-dropdown{
    position:relative
}
.dropdown{
    position:absolute;
    top:100%;
    left:0;
    background:rgba(13,22,48,.98);
    backdrop-filter:blur(14px);
    min-width:250px;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    border:1px solid var(--line);
    padding:8px;
    list-style:none;
    margin:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s
}
.has-dropdown:hover .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0)
}
.dropdown li a{
    color:var(--ink);
    padding:10px 14px;
    border-radius:8px;
    border-bottom:0
}
.dropdown li a:hover{
    background:rgba(79,109,245,.14);
    color:#fff
}
.header-cta{
    display:flex;
    align-items:center;
    gap:14px
}
.header-phone{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--grad);
    color:#fff;
    font-weight:600;
    font-size:12px;
    padding:9px 20px;
    border-radius:999px;
    box-shadow:0 8px 22px rgba(79,109,245,.35);
    transition:transform .25s var(--ease),filter .25s
}
.header-phone:hover{
    transform:translateY(-1px);
    filter:brightness(1.12)
}
.header-phone svg{
    flex-shrink:0;
    width:15px;
    height:15px
}
.nav-toggle{
    display:none;
    background:none;
    border:none;
    color:var(--ink);
    font-size:26px;
    cursor:pointer
}

/* ---------- Hero ---------- */
.hero{
    position:relative;
    background:var(--bg-body);
    overflow:hidden;
    color:var(--ink);
    border-bottom:1px solid var(--line)
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("../img/slider3.png") center/cover no-repeat;
    /*filter:hue-rotate(245deg) saturate(1.5) brightness(1.25)*/
}
.hero::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,#070d1c 22%,rgba(7,13,28,.55) 52%,rgba(7,13,28,.05) 100%),radial-gradient(ellipse 600px 420px at 78% 30%,rgba(124,92,255,.35),transparent 70%)
}
.hero-slides{
    position:relative;
    min-height:380px;
    display:flex;
    align-items:center;
    z-index:1
}
.hero-slide{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transition:opacity .7s var(--ease)
}
.hero-slide.is-active{
    opacity:1;
    visibility:visible;
    position:relative
}
.hero-slide-inner{
    max-width:520px;
    padding:56px 0 64px
}
.hero-status{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:10px;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--cyan);
    margin-bottom:18px
}
.hero-status .dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--cyan);
    flex-shrink:0;
    animation:pulse 2s infinite
}
@keyframes pulse{
    0%{
        box-shadow:0 0 0 0 rgba(34,211,238,.55)
    }
    70%{
        box-shadow:0 0 0 8px rgba(34,211,238,0)
    }
    100%{
        box-shadow:0 0 0 0 rgba(34,211,238,0)
    }
}
.hero-slide h1{
    font-size:clamp(34px,4.6vw,50px);
    font-weight:800;
    letter-spacing:-1.2px;
    line-height:1.08;
    margin-bottom:18px;
    background:linear-gradient(100deg,#fff 40%,#4aa3ff 80%,#8b5cf6 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.hero-slide p{
    font-size:14px;
    color:#cfd6ea;
    margin-bottom:28px;
    max-width:420px;
    line-height:1.7
}
.hero-bg-shape{
    display:none
}
.hero-dots{
    display:flex;
    gap:8px;
    position:absolute;
    bottom:20px;
    left:0;
    right:0;
    justify-content:center;
    z-index:2
}
.hero-dots button{
    width:8px;
    height:8px;
    border-radius:50%;
    border:none;
    background:var(--line-2);
    cursor:pointer;
    padding:0;
    transition:all .25s var(--ease)
}
.hero-dots button.is-active{
    background:var(--grad);
    width:26px;
    border-radius:6px
}

/* ---------- Marquee ---------- */
.marquee{
    position:relative;
    overflow:hidden;
    padding:18px 0;
    background:var(--bg-alt);
    border-bottom:1px solid var(--line)
}
.marquee-track{
    display:flex;
    gap:44px;
    width:max-content;
    animation:marquee 32s linear infinite
}
.marquee:hover .marquee-track{
    animation-play-state:paused
}
.marquee-item{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:12.5px;
    font-weight:500;
    color:var(--muted);
    white-space:nowrap
}
.marquee-item::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:2px;
    background:var(--grad);
    transform:rotate(45deg)
}
@keyframes marquee{
    from{
        transform:translateX(0)
    }
    to{
        transform:translateX(-50%)
    }
}

/* ---------- About ---------- */
.about-grid{
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:56px;
    align-items:center
}
.about-image{
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:var(--shadow-md)
}
.about-grid h2{
    font-size:26px
}
.about-stat{
    display:inline-flex;
    align-items:center;
    gap:16px;
    background:transparent;
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:14px 22px;
    margin:22px 0
}
.about-stat .num{
    font-family:var(--font-display);
    font-size:32px;
    font-weight:800;
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.about-stat .label{
    color:var(--muted);
    font-weight:500;
    font-size:13px
}

/* ---------- Services (bento) ---------- */
.services-split{
    display:grid;
    grid-template-columns:1fr 2.3fr;
    gap:36px;
    align-items:start
}
.services-split .section-head{
    text-align:left;
    margin:0
}
.services-split .section-head h2{
    font-size:27px
}
.services-grid,.services-bento{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:14px
}
.bento-item{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:18px;
    display:flex;
    flex-direction:column;
    position:relative;
    overflow:hidden;
    transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
    will-change:transform
}
.bento-item:hover{
    box-shadow:var(--shadow-md);
    border-color:var(--line-2)
}
.bento-item.featured{
    border-color:rgba(139,92,246,.55)
}
.bento-item.wide{
    flex-direction:column
}
.bento-item h4{
    font-size:14px;
    font-weight:600;
    margin-bottom:8px;
    color:var(--ink)
}
.bento-item.featured h4{
    font-size:14px
}
.bento-item p{
    color:var(--muted);
    font-size:12px;
    flex-grow:1;
    margin:0 0 14px;
    line-height:1.55
}
.bento-item .btn{
    align-self:flex-start;
    margin-top:auto
}
.bento-glow{
    display:none
}
.service-icon{
    width:40px;
    height:40px;
    border-radius:10px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0;
    color:#fff;
    margin-bottom:16px;
    background:linear-gradient(135deg,#3b82f6,#6366f1)
}
.service-icon::before{
    content:"\25AD";
    font-size:18px;
    line-height:1
}
.bento-item:nth-child(2) .service-icon{
    background:linear-gradient(135deg,#8b5cf6,#a855f7)
}
.bento-item:nth-child(2) .service-icon::before{
    content:"\1F6D2";
    font-size:16px
}
.bento-item:nth-child(3) .service-icon{
    background:linear-gradient(135deg,#10b981,#14b8a6)
}
.bento-item:nth-child(3) .service-icon::before{
    content:"\2699";
    font-size:19px
}
.bento-item:nth-child(4) .service-icon{
    background:linear-gradient(135deg,#f59e0b,#f97316)
}
.bento-item:nth-child(4) .service-icon::before{
    content:"</>";
    font-size:14px;
    font-weight:700
}
.service-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:24px;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s
}
.service-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
    border-color:var(--line-2)
}
.service-card h4{
    font-size:16px;
    color:var(--ink)
}
.service-card p{
    color:var(--muted);
    font-size:13px;
    flex-grow:1
}
.service-card .btn{
    margin-top:16px;
    align-self:flex-start
}

/* ---------- Portfolio ---------- */
.portfolio-filters{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:40px
}
.portfolio-filters button{
    border:1px solid var(--line-2);
    background:transparent;
    padding:9px 20px;
    border-radius:999px;
    cursor:pointer;
    font-weight:600;
    font-size:12.5px;
    font-family:inherit;
    color:var(--muted);
    transition:all .25s var(--ease)
}
.portfolio-filters button.is-active,.portfolio-filters button:hover{
    background:var(--grad);
    border-color:transparent;
    color:#fff
}
.section-light .portfolio-filters button{
    border-color:#cfd6ea;
    color:var(--light-muted)
}
.section-light .portfolio-filters button.is-active,.section-light .portfolio-filters button:hover{
    color:#fff
}
.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.portfolio-card{
    position:relative;
    display:flex;
    flex-direction:column;
    border-radius:var(--radius-md);
    overflow:hidden;
    background:#fff;
    border:1px solid #e3e8f3;
    box-shadow:var(--shadow-sm);
    transition:box-shadow .3s var(--ease);
    will-change:transform
}
.portfolio-card:hover{
    box-shadow:0 18px 40px rgba(12,21,48,.18)
}
.portfolio-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    background:#eef1f7;
    transition:transform .5s var(--ease)
}
.portfolio-card:hover img{
    transform:scale(1.04)
}
.portfolio-card{
    overflow:hidden
}
.portfolio-overlay{
    position:static;
    display:flex;
    flex-direction:column;
    padding:14px 16px 16px;
    background:#fff;
    color:var(--light-ink)
}
.portfolio-overlay .cat{
    font-size:11.5px;
    color:var(--light-muted);
    font-weight:500;
    margin-bottom:4px;
    order:2
}
.portfolio-overlay h4{
    margin:0 0 2px;
    font-size:14px;
    font-weight:600;
    color:var(--light-ink)
}

/* ---------- Pricing ---------- */
.pricing-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    align-items:stretch
}
.price-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:28px 22px;
    display:flex;
    flex-direction:column;
    position:relative;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s
}
.price-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-md)
}
.price-card.popular{
    border-color:var(--violet);
    box-shadow:0 0 0 1px rgba(139,92,246,.4),var(--shadow-md)
}
.price-badge{
    position:absolute;
    top:-13px;
    right:20px;
    background:var(--grad);
    color:#fff;
    font-size:11px;
    font-weight:700;
    padding:6px 14px;
    border-radius:999px
}
.price-card h4{
    font-size:17px;
    margin-bottom:20px;
    color:var(--ink)
}
.price-features{
    list-style:none;
    padding:0;
    margin:0 0 24px;
    flex-grow:1
}
.price-features li{
    display:flex;
    gap:10px;
    padding:9px 0;
    font-size:13px;
    color:var(--muted);
    border-bottom:1px dashed var(--line)
}
.price-features li:last-child{
    border-bottom:none
}
.price-features li::before{
    content:"\2713";
    color:var(--cyan);
    font-weight:700;
    flex-shrink:0
}

/* ---------- Testimonials ---------- */
.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.testimonial-card{
    background:#fff;
    color:#1c2540;
    border-radius:10px;
    padding:22px;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease)
}
.testimonial-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md)
}
.testimonial-quote{
    font-family:var(--font-display);
    font-size:38px;
    line-height:1;
    margin-bottom:10px;
    color:var(--blue)
}
.testimonial-card p.body{
    color:#1c2540;
    font-size:13px;
    flex-grow:1;
    margin:0
}
.testimonial-author{
    display:flex;
    flex-direction:column;
    margin-top:16px
}
.testimonial-author .name{
    font-weight:700;
    color:var(--ink);
    font-size:13px
}
.testimonial-author .company{
    color:var(--muted);
    font-size:12px
}
.testimonial-card .testimonial-author .name{
    color:#0c1530
}
.testimonial-card .testimonial-author .company{
    color:#7a86a8
}
.testimonial-card.is-clickable{
    cursor:pointer
}
.testimonial-readmore{
    display:inline-block;
    margin-top:12px;
    color:#4a5cf0;
    font-weight:700;
    font-size:12.5px
}
.testimonial-card.is-clickable:hover .testimonial-readmore{
    text-decoration:underline
}

/* ---------- Modal ---------- */
.modal-overlay{
    position:fixed;
    inset:0;
    z-index:500;
    background:rgba(3,6,14,.78);
    backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    opacity:0;
    transition:opacity .25s var(--ease)
}
.modal-overlay.is-open{
    opacity:1
}
.modal-box{
    position:relative;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:38px;
    max-width:560px;
    width:100%;
    max-height:80vh;
    overflow-y:auto;
    box-shadow:var(--shadow-lg);
    transform:translateY(16px) scale(.98);
    transition:transform .25s var(--ease)
}
.modal-overlay.is-open .modal-box{
    transform:translateY(0) scale(1)
}
.modal-close{
    position:absolute;
    top:14px;
    right:14px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:rgba(232,236,247,.08);
    border:1px solid var(--line);
    color:var(--ink);
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .2s
}
.modal-close:hover{
    background:rgba(232,236,247,.16)
}
.modal-body{
    color:var(--ink);
    font-size:15px;
    line-height:1.75;
    opacity:.92;
    margin:16px 0 22px
}
@media (max-width:600px){
    .modal-box{
        padding:28px 22px
    }
}

/* ---------- Blog ---------- */
.blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.blog-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    overflow:hidden;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s
}
.blog-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-md);
    border-color:var(--line-2)
}
.blog-card .thumb{
    aspect-ratio:16/10;
    overflow:hidden;
    background:var(--surface-2)
}
.blog-card .thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s var(--ease)
}
.blog-card:hover .thumb img{
    transform:scale(1.05)
}
.blog-card .body{
    padding:20px
}
.blog-meta{
    display:flex;
    gap:14px;
    font-size:11.5px;
    color:var(--muted);
    margin-bottom:10px
}
.blog-card h4{
    font-size:16px;
    margin-bottom:10px;
    color:var(--ink)
}
.blog-card h4 a:hover{
    color:#6c8cff
}
.blog-card p{
    color:var(--muted);
    font-size:13px;
    margin-bottom:14px
}
.blog-readmore{
    color:#6c8cff;
    font-weight:600;
    font-size:13px
}

/* ---------- Newsletter (banda CTA) ---------- */
.newsletter{
    position:relative;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:48px 40px;
    text-align:center;
    color:#fff;
    background:linear-gradient(90deg,rgba(7,13,28,.92) 30%,rgba(7,13,28,.35)),linear-gradient(180deg,#1b2452,#4a3a5e 60%,#a25a3a)
}
.newsletter h3{
    font-size:24px;
    max-width:640px;
    margin:0 auto 22px;
    position:relative
}
.newsletter-form{
    display:flex;
    gap:10px;
    max-width:460px;
    margin:0 auto;
    position:relative
}
.newsletter-form input[type=email]{
    flex-grow:1;
    padding:13px 18px;
    border-radius:999px;
    border:1px solid var(--line-2);
    background:rgba(7,13,28,.7);
    color:var(--ink);
    font-size:14px;
    font-family:inherit
}
.newsletter-form input[type=email]:focus{
    outline:none;
    border-color:var(--blue)
}
.newsletter-form input[type=email]::placeholder{
    color:var(--muted)
}
.newsletter-note{
    font-size:12px;
    color:var(--muted);
    margin-top:14px;
    position:relative
}

/* ---------- Footer ---------- */
.site-footer{
    background:#050914;
    border-top:1px solid var(--line);
    color:var(--muted);
    padding:48px 0 18px;
    margin-top:40px
}
.footer-grid{
    display:grid;
    grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;
    gap:30px;
    margin-bottom:34px
}
.footer-col h5{
    color:var(--ink);
    font-size:13px;
    margin-bottom:16px
}
.footer-col ul{
    list-style:none;
    padding:0;
    margin:0
}
.footer-col li{
    margin-bottom:9px;
    font-size:13px
}
.footer-col a:hover{
    color:#6c8cff
}
.footer-bottom{
    border-top:1px solid var(--line);
    padding-top:18px;
    text-align:center;
    font-size:11.5px;
    color:var(--muted)
}

/* ---------- Contact ---------- */
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:44px
}
.contact-info-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    padding:30px
}
.contact-info-item{
    display:flex;
    gap:14px;
    margin-bottom:22px
}
.contact-info-item .ico{
    width:42px;
    height:42px;
    border-radius:10px;
    background:linear-gradient(135deg,#3b82f6,#8b5cf6);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0
}
.form-group{
    margin-bottom:18px
}
.form-group label{
    display:block;
    font-weight:600;
    font-size:13px;
    margin-bottom:6px;
    color:var(--ink)
}
.form-control{
    width:100%;
    padding:12px 16px;
    border:1px solid var(--line-2);
    border-radius:var(--radius-sm);
    font-size:14px;
    font-family:inherit;
    transition:border-color .2s,box-shadow .2s;
    background:var(--surface);
    color:var(--ink)
}
.form-control::placeholder{
    color:var(--muted)
}
.form-control:focus{
    outline:none;
    border-color:var(--blue);
    box-shadow:0 0 0 4px rgba(45,140,255,.16)
}
textarea.form-control{
    resize:vertical;
    min-height:130px
}

/* ---------- Page hero (pagini interioare) ---------- */
.page-hero{
    position:relative;
    overflow:hidden;
    background:var(--bg);
    color:var(--ink);
    padding:64px 0 48px;
    text-align:center;
    border-bottom:1px solid var(--line)
}
.page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse 700px 380px at 70% -20%,rgba(124,92,255,.35),transparent 65%),radial-gradient(ellipse 500px 300px at 10% 110%,rgba(45,140,255,.2),transparent 65%);
    pointer-events:none
}
.page-hero h1{
    font-size:34px;
    margin-bottom:10px;
    position:relative;
    font-weight:800;
    letter-spacing:-1px
}
.page-hero .breadcrumb{
    color:var(--muted);
    font-size:13px;
    position:relative
}
.page-hero .breadcrumb a:hover{
    color:#6c8cff
}

/* ---------- Alerts ---------- */
.alert{
    padding:14px 18px;
    border-radius:var(--radius-sm);
    margin-bottom:20px;
    font-size:14px
}
.alert-success{
    background:rgba(16,185,129,.1);
    color:#5eead4;
    border:1px solid rgba(16,185,129,.3)
}
.alert-error{
    background:rgba(239,68,68,.1);
    color:#fca5a5;
    border:1px solid rgba(239,68,68,.3)
}

/* ---------- Articol / proiect ---------- */
.single-content{
    max-width:780px;
    margin:0 auto
}
.single-content .cover{
    border-radius:var(--radius-lg);
    overflow:hidden;
    margin-bottom:30px;
    box-shadow:var(--shadow-lg);
    border:1px solid var(--line)
}
.single-content .meta{
    display:flex;
    gap:16px;
    color:var(--muted);
    font-size:12.5px;
    margin-bottom:16px
}
.single-content h1{
    font-size:32px;
    color:var(--ink)
}
.single-content .body{
    font-size:16px;
    line-height:1.85;
    color:var(--ink);
    opacity:.92
}
.single-content .body p{
    margin:0 0 20px
}

/* ---------- Grafic competente ---------- */
.chart-bars{
    max-width:720px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:22px;
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    padding:28px;
    background:var(--surface)
}
.chart-row-label{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    margin-bottom:9px;
    font-weight:600;
    color:var(--ink);
    font-size:13.5px
}
.chart-row-value{
    color:var(--cyan);
    font-size:13px;
    font-weight:600
}
.chart-track{
    position:relative;
    height:8px;
    border-radius:999px;
    background:var(--surface-2);
    overflow:hidden
}
.chart-fill{
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    width:0%;
    border-radius:999px;
    background:var(--grad);
    box-shadow:0 0 14px rgba(79,109,245,.45);
    transition:width 1.1s var(--ease)
}

/* ---------- Cookie banner ---------- */
.cookie-banner{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:999;
    background:rgba(7,13,28,.96);
    backdrop-filter:blur(14px);
    color:var(--ink);
    border-top:1px solid var(--line);
    padding:16px 24px
}
.cookie-banner-inner{
    max-width:var(--container);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap
}
.cookie-banner-inner p{
    margin:0;
    font-size:13px;
    max-width:720px;
    color:var(--muted)
}
.cookie-banner-inner a{
    color:#6c8cff;
    text-decoration:underline
}
.cookie-banner-actions{
    display:flex;
    gap:10px;
    flex-shrink:0
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
    .main-nav a{
        padding:19px 9px
    }
    .services-split{
        grid-template-columns:1fr;
        gap:24px
    }
    .pricing-grid,.portfolio-grid,.blog-grid{
        grid-template-columns:repeat(2,1fr)
    }
    .testimonial-grid{
        grid-template-columns:1fr
    }
    .footer-grid{
        grid-template-columns:1fr 1fr
    }
    .about-grid,.contact-grid{
        grid-template-columns:1fr
    }
}
@media (max-width:760px){
    .main-nav{
        position:fixed;
        top:52px;
        right:0;
        bottom:0;
        left:0;
        height:calc(100vh - 52px);
        height:calc(100dvh - 52px);
        background:#070d1c;
        flex-direction:column;
        align-items:stretch;
        padding:20px;
        transform:translateX(100%);
        transition:transform .3s var(--ease),visibility .3s;
        overflow-y:auto;
        z-index:90;
        visibility:hidden
    }
    .main-nav.is-open{
        transform:translateX(0);
        visibility:visible
    }
    .main-nav ul{
        flex-direction:column;
        width:100%
    }
    .main-nav a{
        padding:13px 8px
    }
    .main-nav>ul>li>a{
        border-bottom:0
    }
    .dropdown{
        position:static;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        background:rgba(232,236,247,.04);
        display:none
    }
    .has-dropdown.is-open .dropdown{
        display:block
    }
    .nav-toggle{
        display:block
    }
    .header-phone span{
        display:inline
    }
    .header-phone{
        padding:9px 12px
    }
    .pricing-grid,.portfolio-grid,.blog-grid{
        grid-template-columns:1fr
    }
    .hero-slide h1{
        font-size:32px
    }
    .hero-slides{
        min-height:340px
    }
    .newsletter{
        padding:36px 22px
    }
    .newsletter-form{
        flex-direction:column
    }
    .section{
        padding:56px 0
    }
    .cursor-glow{
        display:none
    }
}
@media (max-width:700px){
    .cookie-banner{
        padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
        max-height:45vh;
        overflow-y:auto
    }
    .cookie-banner-inner{
        flex-direction:column;
        align-items:stretch;
        text-align:left;
        gap:10px
    }
    .cookie-banner-inner p{
        font-size:12px;
        line-height:1.5;
        max-width:none
    }
    .cookie-banner-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        width:100%
    }
    .cookie-banner-actions .btn{
        justify-content:center;
        padding:10px 8px;
        font-size:12px;
        white-space:nowrap
    }
}
@media (max-width:360px){
    .cookie-banner-actions{
        grid-template-columns:1fr
    }
}

/* =========================================================
   HOME (identic cu macheta)
   ========================================================= */
.hero-slides{
    min-height:460px
}
.hero-slide-inner{
    max-width:560px;
    padding:56px 0 48px
}
.hero-status{
    font-size:12.3px;
    margin-bottom:16px
}
.hero-status .dot{
    display:none
}
.hero-slide h1{
    font-size:52px;
    line-height:1.08;
    margin:0 0 16px;
    background:none;
    -webkit-background-clip:initial;
    background-clip:initial;
    color:#fff;
    letter-spacing:-1px
}
.hero-slide h1 em{
    font-style:normal;
    background:linear-gradient(90deg,#1e90ff,#7c5cff);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent
}
.hero-slide p{
    font-size:15.6px;
    max-width:470px;
    margin-bottom:28px;
    line-height:1.65
}
.hero-cta{
    display:flex;
    gap:16px;
    margin-bottom:30px;
    flex-wrap:wrap
}
.hero-features{
    display:flex;
    gap:30px;
    flex-wrap:wrap
}
.hero-features div{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:11.7px;
    line-height:1.3;
    color:#c4cce2
}
.hero-features span{
    width:32px;
    height:32px;
    border:1px solid #3a4a7a;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:11.7px;
    flex-shrink:0
}
.hero-note{
    position:absolute;
    right:max(24px,calc((100% - 1180px)/2 + 24px));
    top:34px;
    z-index:2;
    font-family:'Caveat',cursive;
    font-size:26px;
    line-height:1.1;
    color:#dfe6ff;
    transform:rotate(-8deg);
    text-align:center
}
.hero-dots{
    display:none
}

.home-split{
    display:grid;
    grid-template-columns:1fr 2.4fr;
    gap:48px;
    align-items:start
}
.home-split-intro h2{
    font-size:29.9px;
    font-weight:700;
    margin:12px 0 14px;
    line-height:1.2
}
.home-split-intro p{
    font-size:14.3px;
    line-height:1.65;
    margin:0 0 26px;
    max-width:380px
}
.home-split-intro .btn-sm{
    padding:12px 26px;
    font-size:13px
}
.home-split-intro .eyebrow{
    font-size:11.1px;
    margin-bottom:0
}

.home-services{
    background:var(--bg-alt);
    padding:56px 0 52px;
    border-bottom:1px solid var(--line)
}
.home-services .home-split-intro p{
    color:#c4cce2
}
.svc-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}
.svc-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:22px;
    min-height:230px;
    display:flex;
    flex-direction:column
}
.svc-icon{
    width:50px;
    height:50px;
    border-radius:12px;
    display:grid;
    place-items:center;
    color:#fff;
    margin-bottom:20px
}
.svc-icon svg{
    width:24px;
    height:24px
}
.svc-icon-1{
    background:linear-gradient(135deg,#3b82f6,#6366f1)
}
.svc-icon-2{
    background:linear-gradient(135deg,#8b5cf6,#a855f7)
}
.svc-icon-3{
    background:linear-gradient(135deg,#10b981,#14b8a6)
}
.svc-icon-4{
    background:linear-gradient(135deg,#f59e0b,#f97316)
}
.svc-card h4{
    font-size:15.6px;
    font-weight:600;
    margin-bottom:8px
}
.svc-card p{
    font-size:13px;
    color:var(--muted);
    line-height:1.5;
    margin:0 0 12px;
    flex-grow:1
}
.svc-card a{
    font-size:13px;
    color:#6c8cff
}

.home-portfolio{
    background:var(--light);
    color:var(--light-ink);
    padding:60px 0 56px
}
.home-split-port{
    grid-template-columns:1fr 3.2fr;
    gap:36px
}
.home-portfolio .eyebrow,.home-testimonials .eyebrow{
    color:#5a6a90
}
.home-portfolio .home-split-intro p{
    color:#5a6a90
}
.home-portfolio .btn-outline{
    border-color:var(--light-ink);
    color:var(--light-ink);
    background:#fff
}
.home-portfolio .btn-outline:hover{
    background:var(--light-ink);
    color:#fff
}
.port-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px
}
.port-thumb{
    display:block;
    border-radius:8px;
    overflow:hidden;
    background:#eef1f7;
    margin-bottom:14px;
    aspect-ratio:16/10.4
}
.port-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s var(--ease)
}
.port-thumb:hover img{
    transform:scale(1.04)
}
.port-item h4{
    font-size:14.3px;
    font-weight:600;
    margin:0
}
.port-item small{
    display:block;
    font-size:13px;
    color:#5a6a90;
    margin:5px 0 12px
}
.port-link{
    font-size:13px;
    color:#4a5cf0
}

.home-about{
    background:var(--bg);
    border-bottom:1px solid var(--line)
}
.home-about-grid{
    display:grid;
    grid-template-columns:1.1fr 1.5fr 1.4fr;
    gap:44px;
    align-items:center;
    padding-top:56px;
    padding-bottom:56px
}
.home-about-photo{
    height:300px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--line)
}
.home-about-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}
.home-about-text h3{
    font-size:22.1px;
    margin:10px 0 12px
}
.home-about-text .eyebrow{
    font-size:10.4px;
    margin-bottom:0
}
.home-about-text p{
    font-size:14.3px;
    color:#c4cce2;
    margin:0 0 16px;
    line-height:1.6
}
.home-about-text ul{
    list-style:none;
    margin:0;
    padding:0;
    font-size:13.7px
}
.home-about-text li{
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:9px
}
.home-about-text li span{
    width:18px;
    height:18px;
    border:1px solid #3a4a7a;
    border-radius:5px;
    display:grid;
    place-items:center;
    font-size:11.7px
}
.home-tech{
    border:1px solid var(--line);
    border-radius:14px;
    padding:26px;
    position:relative
}
.home-tech h5{
    font-size:15.6px;
    margin-bottom:6px
}
.home-tech p{
    font-size:13px;
    margin:0 0 14px;
    color:#c4cce2
}
.tech-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px 10px;
    text-align:center;
    font-size:11.1px
}
.tech-grid span{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    margin:0 auto 6px;
    font-size:15.6px;
    font-weight:700
}
.home-tech-note{
    position:absolute;
    left:-170px;
    bottom:6px;
    width:160px;
    text-align:center;
    font-family:'Caveat',cursive;
    font-size:22.1px;
    line-height:1.1;
    color:#dfe6ff;
    transform:rotate(-8deg)
}

.home-testimonials{
    background:var(--bg-alt);
    padding:56px 0 52px;
    border-bottom:1px solid var(--line)
}
.home-split-tes{
    grid-template-columns:1fr 3fr;
    gap:36px
}
.home-testimonials .home-split-intro h2{
    font-size:26px;
    margin:8px 0
}
.home-testimonials .home-split-intro p{
    font-size:13.7px;
    color:var(--muted);
    margin-bottom:14px
}
.home-testimonials .eyebrow{
    color:var(--violet)
}
.home-testimonials .testimonial-grid{
    gap:22px
}
.home-testimonials .testimonial-card{
    padding:24px;
    border-radius:12px;
    height:auto
}
.home-testimonials .testimonial-card p.body{
    font-size:13px;
    line-height:1.55;
    margin:0 0 12px
}
.home-testimonials .testimonial-readmore{
    margin:-4px 0 10px;
    font-size:13px
}
.t-who{
    display:flex;
    align-items:center;
    gap:10px
}
.t-av{
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(135deg,#6b7bb5,#2a3560);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:15.6px;
    font-weight:700;
    flex-shrink:0
}
.home-testimonials .testimonial-author{
    margin:0
}
.home-testimonials .testimonial-author .name{
    font-size:13px
}
.home-testimonials .testimonial-author .company{
    font-size:11.1px
}
.t-stars{
    color:#f5a623;
    font-size:11.7px;
    letter-spacing:1px
}

.home-cta{
    background:linear-gradient(90deg,#070d1c 35%,rgba(7,13,28,.3)),linear-gradient(180deg,#1b2452,#4a3a5e 60%,#a25a3a);
    border-bottom:1px solid var(--line)
}
.home-cta-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:110px;
    padding-top:20px;
    padding-bottom:20px
}
.home-cta b{
    font-size:19.5px;
    display:block
}
.home-cta small{
    font-size:13px;
    color:#c4cce2
}
.home-cta-actions{
    display:flex;
    align-items:center;
    gap:24px
}
.home-social{
    display:flex;
    gap:10px
}
.home-social a{
    width:30px;
    height:30px;
    border:1px solid #cfd6ea;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:10.4px
}
.home-footer{
    background:#050914;
    font-size:11.7px;
    color:#c4cce2
}
.home-footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:52px
}

@media (max-width:1000px){
    .home-split,.home-split-port,.home-split-tes,.home-about-grid{
        grid-template-columns:1fr
    }
    .svc-grid,.port-grid{
        grid-template-columns:1fr 1fr
    }
    .home-tech-note{
        display:none
    }
    .hero-note{
        display:none
    }
    .home-cta-inner{
        flex-wrap:wrap;
        padding:18px 24px
    }
}
@media (max-width:560px){
    .svc-grid,.port-grid{
        grid-template-columns:1fr
    }
    .hero-slide h1{
        font-size:36px
    }
    .home-footer-inner{
        flex-direction:column;
        height:auto;
        padding:10px 24px;
        gap:4px
    }
}

/* ---------- Header centrat: logo sus, meniu dedesubt (desktop) ---------- */
@media (min-width:761px){
    .header-inner{
        flex-direction:column;
        justify-content:center;
        height:auto;
        padding:14px 24px 0
    }
    .logo{
        font-size:28px;
        margin-bottom:8px;
        justify-content:center
    }
    .logo img{
        height:44px
    }
    .main-nav{
        width:100%;
        justify-content:center;
        border-top:1px solid var(--line)
    }
    .main-nav a{
        padding:14px 16px;
        font-size:13.5px
    }
    .header-cta{
        position:absolute;
        right:24px;
        top:16px
    }
}

/* ---------- Calculator pret servicii web (wizard pe pasi) ---------- */
.calc-hero{padding:48px 0 38px}
.calc-section{padding:44px 0 70px;background:radial-gradient(ellipse 700px 380px at 85% 0,rgba(124,92,255,.14),transparent 70%),radial-gradient(ellipse 600px 340px at 5% 30%,rgba(45,140,255,.10),transparent 70%)}
.calc-wrap{max-width:1000px}
.calc-intro{text-align:center;max-width:680px;margin:0 auto 34px;color:var(--muted);font-size:16px}
.calc-steps{list-style:none;display:flex;justify-content:space-between;gap:6px;margin:0 0 14px;padding:0;position:relative}
.calc-steps li{flex:1;min-width:0}
.calc-steps-btn{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;background:none;border:0;color:var(--muted);font:inherit;cursor:default;padding:0 4px}
.calc-steps-n{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;border:2px solid var(--line-2);background:var(--bg);transition:.3s}
.calc-steps-t{font-size:12px;font-weight:600;text-align:center;line-height:1.3;max-width:120px}
.calc-steps li.is-active .calc-steps-n{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 0 0 6px rgba(79,109,245,.2)}
.calc-steps li.is-active .calc-steps-btn{color:#fff}
.calc-steps li.is-done .calc-steps-n{background:rgba(45,140,255,.16);border-color:var(--blue);color:var(--blue)}
.calc-steps li.is-done .calc-steps-n{font-size:0}
.calc-steps li.is-done .calc-steps-n::before{content:"\2713";font-size:16px}
.calc-steps li.is-done .calc-steps-btn{cursor:pointer;color:var(--ink)}
.calc-mobile-step{display:none;text-align:center;font-weight:600;font-size:14px;margin-bottom:12px}
.calc-progress{height:4px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:30px}
.calc-progress span{display:block;height:100%;width:0;background:var(--grad);border-radius:99px;transition:width .45s var(--ease)}

.calc-stage{background:linear-gradient(180deg,rgba(17,28,59,.7),rgba(13,22,48,.7));border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow-md);min-height:340px}
.cstep{animation:cstepIn .45s var(--ease)}
.cstep[hidden]{display:none}
@keyframes cstepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cstep-title{font-size:26px;margin:0 0 6px;letter-spacing:-.5px}
.cstep-sub{color:var(--muted);margin:0 0 26px;font-size:14.5px}

.copt[hidden],.calc-steps li[hidden]{display:none}
.copt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.copt{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:20px 20px 18px 56px;border:1.5px solid var(--line-2);border-radius:16px;background:rgba(7,13,28,.5);cursor:pointer;transition:transform .25s var(--ease),border-color .25s,background .25s,box-shadow .25s}
.copt:hover{transform:translateY(-3px);border-color:#4a63b8}
.copt.is-on{border-color:transparent;background:linear-gradient(rgba(13,22,48,.96),rgba(13,22,48,.96)) padding-box,var(--grad) border-box;box-shadow:0 12px 34px rgba(79,109,245,.28)}
.copt input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.copt-check{position:absolute;left:18px;top:21px;width:24px;height:24px;border-radius:8px;border:2px solid var(--line-2);display:grid;place-items:center;transition:.2s}
.copt input:checked+.copt-check{background:var(--grad);border-color:transparent}
.copt input:checked+.copt-check::after{content:"\2713";color:#fff;font-size:14px;font-weight:700}
.copt input:focus-visible+.copt-check{outline:2px solid var(--cyan);outline-offset:3px}
.copt-qty{cursor:default;padding-left:20px}
.copt-body strong{display:block;font-size:16px;margin-bottom:4px}
.copt-body small{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.copt-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.copt-price{display:inline-block;padding:5px 12px;border-radius:99px;background:rgba(108,140,255,.14);color:#8fa8ff;font-weight:700;font-size:13px;white-space:nowrap}
.copt.is-on .copt-price{background:var(--grad);color:#fff}
.calc-qty{display:flex;align-items:center;gap:6px}
.calc-qty input{width:58px;text-align:center;padding:8px 4px;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-weight:600}
.qty-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:18px;cursor:pointer;transition:.2s}
.qty-btn:hover{border-color:var(--blue);background:rgba(45,140,255,.12)}
.calc-textarea{min-height:170px;font-size:15px}

.calc-final{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}
.calc-final h3{font-size:17px;margin:0 0 14px}
.calc-recap{padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(7,13,28,.45);align-self:start}
.calc-recap ul{list-style:none;margin:0 0 12px;padding:0;font-size:14px}
.calc-recap li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.calc-recap li b{white-space:nowrap}
.calc-empty{color:var(--muted)}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0}
.calc-total strong{font-size:26px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.calc-total[hidden]{display:none}
.calc-note{font-size:12px;color:var(--muted);margin:8px 0 0}

.calc-bar{position:sticky;bottom:14px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:14px 20px;border-radius:16px;border:1px solid var(--line-2);background:rgba(10,18,38,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(0,0,0,.45)}
.calc-bar-total small{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
.calc-bar-total strong{font-size:22px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.calc-bar-m{display:block;font-size:12px;color:var(--muted)}
.calc-bar-m[hidden],.calc-bar [hidden]{display:none}
.calc-bar-actions{display:flex;gap:10px;align-items:center}

@media (max-width:860px){
    .calc-steps{display:none}
    .calc-mobile-step{display:block}
    .calc-stage{padding:22px 18px}
    .copt-grid,.calc-final{grid-template-columns:1fr}
    .cstep-title{font-size:22px}
}
@media (max-width:560px){
    .calc-bar{flex-wrap:wrap;padding:12px 14px}
    .calc-bar-actions{width:100%}
    .calc-bar-actions .btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.cstep{animation:none}.copt,.calc-progress span{transition:none}}

/* ---------- Popup calculator pret ---------- */
.cpop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.cpop[hidden]{display:none}
.cpop-backdrop{position:absolute;inset:0;background:rgba(3,6,14,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.cpop-card{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 40px);overflow-y:auto;padding:38px 34px 26px;text-align:center;border-radius:22px;border:1px solid var(--line-2);background:radial-gradient(ellipse 420px 220px at 50% -10%,rgba(124,92,255,.28),transparent 70%),linear-gradient(180deg,#111c3b,#0a1226);box-shadow:0 30px 90px rgba(0,0,0,.6);opacity:0;transform:translateY(24px) scale(.96);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.cpop-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:22px 22px 0 0;background:var(--grad)}
.cpop.is-open .cpop-backdrop{opacity:1}
.cpop.is-open .cpop-card{opacity:1;transform:none}
.cpop-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);background:rgba(232,236,247,.06);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;transition:.2s}
.cpop-x:hover{background:rgba(232,236,247,.14)}
.cpop-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 14px 34px rgba(79,109,245,.45)}
.cpop-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.cpop-card h3{font-size:26px;margin:0 0 10px;letter-spacing:-.5px;color:#fff}
.cpop-text{color:#c4cce2;font-size:14.5px;line-height:1.65;margin:0 0 20px}
.cpop-points{list-style:none;margin:0 0 24px;padding:0;text-align:left}
.cpop-points li{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:8px;border-radius:12px;background:rgba(7,13,28,.55);border:1px solid var(--line);font-size:13.5px;color:var(--ink)}
.cpop-points span{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:rgba(108,140,255,.18);color:#8fa8ff}
.cpop-actions{display:flex;flex-direction:column;gap:10px}
.cpop-actions .btn{justify-content:center;padding:14px 22px;font-size:14px}
.cpop-later{margin-top:14px;background:none;border:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.cpop-later:hover{color:var(--ink)}
@media (max-width:480px){.cpop-card{padding:32px 20px 22px}.cpop-card h3{font-size:22px}}
@media (prefers-reduced-motion:reduce){.cpop-card,.cpop-backdrop{transition:none}}

/* ---------- Dropdown meniu: elementele una sub alta ---------- */
.main-nav .dropdown{flex-direction:column;align-items:stretch;gap:2px}
.main-nav .dropdown li{width:100%}
.main-nav .dropdown li a{display:block;padding:10px 14px;white-space:nowrap;border-radius:8px}
@media (max-width:760px){
    .main-nav .dropdown{display:none}
    .main-nav .has-dropdown.is-open .dropdown{display:flex}
    .main-nav .dropdown li a{white-space:normal}
}

/* ---------- Completari WordPress (continut din editor) ---------- */
.single-content .body h2,.single-content .body h3,.single-content .body h4{margin:32px 0 14px}
.single-content .body ul,.single-content .body ol{margin:0 0 20px 22px;padding:0}
.single-content .body a{color:var(--coral);text-decoration:underline}
.single-content .body img{max-width:100%;height:auto;border-radius:var(--radius-md)}
.single-content .body blockquote{margin:0 0 20px;padding:4px 0 4px 18px;border-left:3px solid var(--coral);color:var(--muted)}
.alignleft{float:left;margin:0 20px 12px 0}.alignright{float:right;margin:0 0 12px 20px}.aligncenter{margin-left:auto;margin-right:auto}
.screen-reader-text{position:absolute;left:-9999px}
