:root{

    --primary:#2563eb;
    --primary-dark:#1d4ed8;

    --secondary:#0f172a;

    --text:#64748b;

    --light:#f8fafc;

    --white:#ffffff;

    --border:#e2e8f0;

    --transition:.3s ease;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    color:var(--secondary);

    background:#fff;

    overflow-x:hidden;

}

a{
    text-decoration:none;
    transition:var(--transition);
}

img{
    max-width:100%;
    display:block;
}

.section-padding{

    padding:60px 0;

}

.btn-primary-custom{

    background:var(--primary);

    color:#fff;

    padding:16px 34px;

    border-radius:12px;

    font-weight:600;

    display:inline-flex;

    align-items:center;

    gap:10px;

}

.btn-primary-custom:hover{

    background:var(--primary-dark);

    color:#fff;

}

.btn-secondary-custom{

    border:1px solid var(--border);

    color:var(--secondary);

    padding:16px 34px;

    border-radius:12px;

    font-weight:600;

}

.section-title{

    font-size:44px;

    font-weight:800;

    line-height:1.2;

}

.section-description{

    color:var(--text);

    font-size:18px;

    line-height:1.8;

}
.site-header .navbar-brand{
    /*background-color: #2563eb;*/
    padding:5px 20px;
    border-radius: 10px;
}

#page-loader {
    position: fixed;
    inset: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    transition: opacity .4s ease, visibility .4s ease;
}

#page-loader.hidden {
    opacity: 0;
    visibility: hidden;
}

.loader {
    width: 54px;
    height: 54px;
    border: 4px solid rgba(37, 99, 235, .15);
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: spin .8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


/* =====================================================
   Legal Pages
===================================================== */

.legal-page{

    padding:50px 0 120px;

    background:#f8fafc;

}

.legal-content{

    max-width:900px;

    margin:auto;

    background:#fff;

    padding:70px;

    border-radius:24px;

    box-shadow:0 20px 60px rgba(15,23,42,.05);

}

/* Typography */

.legal-content h1{

    font-size:52px;

    font-weight:800;

    line-height:1.15;

    margin-bottom:20px;

    color:var(--secondary);

}

.legal-content h2{

    font-size:34px;

    font-weight:700;

    margin:60px 0 20px;

    color:var(--secondary);

}

.legal-content h3{

    font-size:28px;

    font-weight:700;

    margin:45px 0 18px;

}

.legal-content h4{

    font-size:24px;

    font-weight:700;

    margin:35px 0 15px;

}

.legal-content h5{

    font-size:20px;

    font-weight:700;

    margin:30px 0 15px;

}

.legal-content h6{

    font-size:18px;

    font-weight:700;

    margin:25px 0 15px;

}

.legal-content p{

    font-size:17px;

    color:var(--text);

    line-height:1.9;

    margin-bottom:22px;

}

.legal-content span{

    color:inherit;

}

/* Lists */

.legal-content ul,
.legal-content ol{

    margin:25px 0 35px;

    padding-left:22px;

}

.legal-content li{

    margin-bottom:14px;

    color:var(--text);

    line-height:1.8;

}

.legal-content ul li::marker{

    color:var(--primary);

}

.legal-content ol li::marker{

    color:var(--primary);

    font-weight:700;

}

/* Links */

.legal-content a{

    color:var(--primary);

    text-decoration:none;

    font-weight:600;

}

.legal-content a:hover{

    text-decoration:underline;

}

/* Blockquote */

.legal-content blockquote{

    margin:40px 0;

    padding:30px;

    border-left:5px solid var(--primary);

    background:#eff6ff;

    border-radius:12px;

    font-size:18px;

    font-style:italic;

    color:var(--secondary);

}

/* Horizontal Rule */

.legal-content hr{

    border:none;

    height:1px;

    background:var(--border);

    margin:60px 0;

}

/* Tables */

.legal-content table{

    width:100%;

    border-collapse:collapse;

    margin:35px 0;

}

.legal-content th{

    background:#eff6ff;

    color:var(--secondary);

    text-align:left;

    padding:18px;

    font-weight:700;

}

.legal-content td{

    padding:18px;

    border-top:1px solid var(--border);

    color:var(--text);

}

.legal-content tr:hover{

    background:#fafafa;

}

/* Images */

.legal-content img{

    max-width:100%;

    border-radius:16px;

    margin:30px 0;

}

/* Code */

.legal-content code{

    background:#eff6ff;

    padding:3px 8px;

    border-radius:6px;

    font-family:monospace;

    color:#2563eb;

}

.legal-content pre{

    background:#0f172a;

    color:#fff;

    padding:25px;

    border-radius:16px;

    overflow:auto;

    margin:30px 0;

}

/* Strong */

.legal-content strong{

    color:var(--secondary);

    font-weight:700;

}

/* Responsive */

@media(max-width:991px){

    .legal-page{

        padding:140px 0 80px;

    }

    .legal-content{

        padding:40px 30px;

    }

    .legal-content h1{

        font-size:40px;

    }

    .legal-content h2{

        font-size:30px;

    }

}



.blog-list{

    background:#f8fafc;

}

.blog-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    border:1px solid var(--border);

    transition:.35s;

    height:100%;

}

.blog-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 60px rgba(15,23,42,.08);

}

.blog-card img{

    width:100%;

    aspect-ratio:16/10;

    object-fit:cover;

}

.blog-card-content{

    padding:30px;

}

.blog-date{

    color:var(--primary);

    font-size:14px;

    font-weight:600;

}

.blog-card h3{

    margin:4px 0 18px 0;

    font-size:26px;

    line-height:1.3;

}

.blog-card h3 a{

    color:var(--secondary);

}

.blog-card p{

    color:var(--text);

    line-height:1.6;
        display: -webkit-box;
    -webkit-line-clamp: 3; /* maxim 3 rânduri */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;

}

.blog-link{

    margin-top:20px;

    display:inline-block;

    font-weight:700;

}

.single-blog{

    padding:50px 0 50px;

    /*background:#f8fafc;*/

}

.blog-header{

    max-width:900px;

    margin:auto;

    text-align:center;

    margin-bottom:60px;

}

.blog-category{

    display:inline-block;

    background:#eff6ff;

    color:var(--primary);

    padding:8px 18px;

    border-radius:30px;

    font-weight:600;

    margin-bottom:25px;

}

.blog-header h1{

    font-size:48px;

    line-height:1.15;

    font-weight:800;

    margin-bottom:20px;

}

.blog-meta{

    color:var(--text);

}

.featured-image{

    width:100%;

    border-radius:24px;

    margin-bottom:70px;
    
    margin: 0 auto 40px auto;
    
    max-width: 900px;

}

.blog-content{

    max-width:900px;

    margin:auto;

}

.blog-content h2{

    font-size:38px;

    margin:35px 0 20px;

}

.blog-content h3{

    font-size:30px;

    margin:35px 0 18px;

}
.blog-content br{
    display: none;
}
.blog-content h4{

    margin:35px 0 15px;

}

.blog-content p{

    color:var(--text);

    line-height:1.9;

    margin-bottom:24px;

}

.blog-content ul,
.blog-content ol{

    margin:30px 0;

    padding-left:24px;

}

.blog-content li{

    margin-bottom:12px;

    line-height:1.8;

}

.blog-content img{

    max-width:100%;

    border-radius:20px;

    margin:40px auto;

    display:block;

}

.blog-content blockquote{

    margin:45px 0;

    padding:35px;

    border-left:5px solid var(--primary);

    background:#eff6ff;

    border-radius:16px;

    font-style:italic;

}

.blog-content table{

    width:100%;

    border-collapse:collapse;

    margin:40px 0;

}

.blog-content th{

    background:#eff6ff;

    padding:18px;

}

.blog-content td{

    padding:18px;

    border-top:1px solid var(--border);

}

.blog-content a{

    color:var(--primary);

    font-weight:600;

}

.blog-content iframe{

    width:100%;

    aspect-ratio:16/9;

    border:0;

    border-radius:20px;

    margin:40px 0;

}

.blog-content pre{

    background:#0f172a;

    color:#fff;

    border-radius:16px;

    padding:25px;

    overflow:auto;

    margin:35px 0;

}

/* =====================================================
   Blog Hero
===================================================== */

.blog-hero{

    padding:50px 0 0;

    /*background:#f8fafc;*/

}

.blog-hero .section-title{

    max-width:800px;

    margin:20px auto 25px;

}

.blog-hero .section-description{

    max-width:720px;

    margin:auto;

}

@media(max-width:991px){

    .blog-hero{

        padding:50px 0 0;

    }
    .blog-header h1{
        font-size: 34px;
    }

}

.blog-card img{

    width:100%;

    aspect-ratio:16/10;

    object-fit:cover;

    display:block;

}

.blog-card-image{

    display:block;

    overflow:hidden;

}

.blog-card-bg{

    width:100%;

    aspect-ratio:16/10;

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    transition:.4s ease;

}

.blog-card:hover .blog-card-bg{

    transform:scale(1.05);

}

@media screen and (max-width:1200px){
    .navbar-nav{
        padding: 20px 0 10px 0px;
    text-align: center;
    }
}

@media(min-width:1200px){

.mobile-menu,
.mobile-menu-overlay{

display:none;

}

}

@media(max-width:1199px){

.navbar-collapse{

display:none!important;

}

.mobile-menu{

position:fixed;

top:0;

right:0;

width:100%;

height:100vh;

background:#fff;

z-index:9999;

padding:30px;

overflow:auto;

transform:translateX(100%);

transition:.4s;

}

.mobile-menu.active{

transform:translateX(0);

}

.mobile-menu-overlay{

position:fixed;

inset:0;

background:rgba(15,23,42,.45);

backdrop-filter:blur(6px);

opacity:0;

visibility:hidden;

transition:.35s;

z-index:9998;

}

.mobile-menu-overlay.active{

opacity:1;

visibility:visible;

}

.mobile-menu-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.mobile-menu-header img{

height:42px;

}

.mobile-close{

background:none;

border:none;

font-size:24px;

}

.mobile-nav ul{

list-style:none;

padding:0;

margin:0;

}

.mobile-nav>ul>li{

border-bottom:1px solid #eee;

}

.mobile-nav a{

display:block;

padding:9px 0;

font-size:20px;

font-weight:600;

color:#111827;

}

.mobile-dropdown-toggle{

width:100%;

background:none;

border:none;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 0;

font-size:20px;

font-weight:600;

}

.mobile-submenu{

display:none;

padding-left:20px!important;

padding-bottom:20px;

}

.mobile-submenu a{

font-size:14px;

padding:5px 0;

font-weight:400;

}

.mobile-buttons{

margin-top:14px;
display: flex;
    align-items: center;
    justify-content: space-between;

}

.mobile-dropdown-toggle.active i{

transform:rotate(45deg);

}

.mobile-dropdown-toggle i{

transition:.3s;

}

}

@media screen and (min-width: 1200px) and (max-width: 1400px) {

    .navbar.navbar-expand-xl .container {

        max-width: 98%;

    }

}





/* =====================================================
   Contact Page
===================================================== */

.contact-page{

    /*background:#f8fafc;*/

}

.contact-sidebar{

    background:#0f172a;

    color:#fff;

    padding:50px;

    border-radius:24px;

    position:sticky;

    top:120px;

}

.contact-sidebar .section-title{

    color:#fff;

    margin:20px 0;

}

.contact-sidebar .section-description{

    color:rgba(255,255,255,.75);

    margin-bottom:40px;

}

.contact-info{

    display:flex;

    flex-direction:column;

    gap:30px;

}

.contact-item{

    display:flex;

    gap:18px;

}

.contact-icon{

    width:58px;

    height:58px;

    border-radius:16px;

    background:rgba(255,255,255,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#3b82f6;

    font-size:22px;

    flex-shrink:0;

}

.contact-item span{

    display:block;

    color:#94a3b8;

    font-size:14px;

    margin-bottom:6px;

}

.contact-item a{

    color:#fff;

    font-weight:600;

    text-decoration:none;

}

.contact-item p{

    color:#fff;

    margin:0;

    line-height:1.8;

}

.contact-social{

    display:flex;

    gap:15px;

    margin-top:45px;

}

.contact-social a{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.08);

    color:#fff;

    transition:.3s;

}

.contact-social a:hover{

    background:var(--primary);

    transform:translateY(-4px);

}

.contact-form-wrapper{

    background:#fff;

    padding:50px;

    border-radius:24px;

    box-shadow:0 20px 60px rgba(15,23,42,.06);

    min-height:100%;

}

@media(max-width:991px){

    .contact-sidebar{

        position:relative;

        top:auto;

        padding:35px;
        display: none;

    }

    .contact-form-wrapper{

        padding:35px 25px;

    }

}


.elementor-content{
    padding:0;
    background:none;
    box-shadow:none;
}



/* ==========================================
   ELEMENTOR CONTACT FORM
========================================== */

.elementor-form{
    width:100%;
}

.elementor-form-fields-wrapper{
    row-gap:24px;
}

.elementor-field-group{
    margin-bottom:0 !important;
}

/* Labels */

.elementor-field-label{
    display:block;
    margin-bottom:10px;
    font-size:15px;
    font-weight:600;
    color:#08132E;
}

/* Inputs */

.elementor-field,
.elementor-field-textual,
.elementor-field-textarea{
    width:100%;
    height:60px;
    border:1px solid #DCE3F1 !important;
    border-radius:16px !important;
    background:#fff !important;

    padding:0 22px !important;

    font-size:16px;
    color:#08132E !important;

    transition:.3s;
    box-shadow:none !important;
}

/* Textarea */

textarea.elementor-field{
    height:180px !important;
    resize:none;
    padding-top:18px !important;
}

/* Placeholder */

.elementor-field::placeholder{
    color:#8E98AF;
    opacity:1;
}

/* Focus */

.elementor-field:focus{
    border-color:#2F66F5 !important;
    box-shadow:0 0 0 4px rgba(47,102,245,.12) !important;
    outline:none;
}

/* Button */

body .elementor-button{
    width:100%;
    height:60px;

    border:none;
    border-radius:16px;

    background:#2F66F5 !important;

    color:#fff !important;
    font-size:16px;
    font-weight:600;

    transition:.3s;
}

.elementor-button:hover{
    background:#1f54df !important;
    transform:translateY(-2px);
}

/* Messages */

.elementor-message{
    margin-top:25px;
    border-radius:14px;
    padding:18px 20px;
    font-size:15px;
}

/* Loader */

.elementor-form .e-form__buttons{
    margin-top:10px;
}

/* ==========================================
   PHONE FIELD
========================================== */

.iti{
    width:100%;
}

.iti__selected-flag{
    padding-left:18px;
}

.iti__selected-country{
    padding-left:0;
}

.iti input{
    padding-left:50px !important;
}

.iti__country-list{
    border-radius:16px;
    border:1px solid #DCE3F1;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
}

.iti__country{
    padding:12px 18px;
}

.iti__country:hover{
    background:#F4F7FD;
}

/* Required */

.elementor-field-required .elementor-field-label:after{
    content:" *";
    color:#2F66F5;
}

/* Mobile */

@media(max-width:767px){

    .elementor-col-50{
        width:100% !important;
    }

    .elementor-field,
    .elementor-field-textual{
        height:56px;
    }

    textarea.elementor-field{
        height:160px !important;
    }

}


.contact-form-intro{
    margin-bottom:15px;
}

.contact-form-intro .section-subtitle{
    display:inline-block;
    margin-bottom:14px;
}

.contact-form-intro h2{
    font-size:42px;
    font-weight:700;
    color:#08132E;
    margin-bottom:20px;
}

.contact-form-intro p{
    max-width:650px;
    color:#5D6B87;
    font-size:17px;
    line-height:1.8;
    margin:0;
}
@media screen and (max-width:1200px){
    .btn-primary-custom{
        justify-content:center;
    }
    .mobile-buttons .btn-primary-custom{
        justify-content: center;
        width: 33%;
        font-size: 20px;
        padding: 10px;
    }
}
@media(max-width:991px){

    .contact-form-intro{
        text-align:center;
    }

    .contact-form-intro p{
        margin:auto;
    }

    .contact-form-intro h2{
        font-size:34px;
    }

}



.bt-slider-wrap{
    padding:12px 0 60px !important;
}

.mobile-nav .mobile-submenu{
    display:block !important;

    overflow:hidden;
    max-height:0;
    opacity:0;

    transform:translateY(-8px);

    margin:0;
    padding-left:18px;

    list-style:none;

    transition:
        max-height .35s ease,
        opacity .25s ease,
        transform .35s ease;
}

.mobile-nav .mobile-submenu.active{
    max-height:500px;
    opacity:1;
    transform:translateY(0);

    margin-bottom: 14px;
}

.mobile-nav .mobile-submenu li{
    position:relative;
    padding-left:18px;
    margin:3px 0;
}

.mobile-nav .mobile-submenu li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#3B82F6;

    transform:translateY(-50%);
}