:root{
    --dlr-blue:#0078ab;
    --dlr-gray:#545454;
    --dlr-grad: linear-gradient(to right,#09538d,#0086b7,#004c89,#0086b7);
    --card-radius: 18px;
    --shadow-soft: 0 14px 40px rgba(0,0,0,.10);
    --shadow-soft-2: 0 10px 26px rgba(0,0,0,.08);
    --border-soft: 1px solid rgba(0,0,0,.06);
}

html { scroll-behavior: smooth; }
body{
    color: var(--dlr-gray);
    background: #fff;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", sans-serif;
}

/* Utilities */
.text-dlr { color: var(--dlr-blue) !important; }
.bg-dlr-grad { background: var(--dlr-grad) !important; }

.btn-dlr{
    background: var(--dlr-blue);
    border-color: var(--dlr-blue);
    color: #fff;
    border-radius: 999px;
    padding: .85rem 1.2rem;
    box-shadow: 0 10px 22px rgba(0,120,171,.20);
    transition: all .18s ease;
    background: linear-gradient(to right, #09538d, #0086b7, #004c89, #0086b7); color: #fff;
}
/* Fix hover contrast: white bg + blue text */
.btn-dlr:hover, .btn-dlr:focus{
    background: #fff;
    border-color: var(--dlr-blue);
    color: var(--dlr-blue);
    filter: none;
}

.btn-dlr-outline{
    border: 1px solid rgba(255,255,255,.55);
    color:#fff;
    border-radius: 999px;
    padding: .85rem 1.2rem;
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(6px);
    background:#fff;
    transition: all .18s ease;
    color:#0078ab;
    border: 1px solid #0078ab;
}
.btn-dlr-outline:hover{
    background: linear-gradient(to right, #09538d, #0086b7, #004c89, #0086b7);
    color:#fff;
}

.section-pad{ padding: 86px 0; }
@media (max-width: 991.98px){
    .section-pad{ padding: 64px 0; }
}

/* Header */
.topbar{
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.brand-name{
    letter-spacing: .2px;
    color: #111827;
}
.brand-logo{
    width: 162px;
    height: 44px;
    padding: 5px;
    object-fit: cover;
    /*
    border-radius: 10px;
    box-shadow: 0 10px 22px rgba(0,0,0,.10);
    border: 1px solid rgba(0,0,0,.06);
    */
}
.contact-pill{
	/*
    border: var(--border-soft);
    background: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.04);
    */
    border-radius: 999px;
    color:#0078ab;
    border: 1px solid #0078ab;
    padding: .45rem .75rem;
}
.contact-pill a{
    text-decoration: none;
    color: #0078ab;
    font-weight: 600;
}
.contact-pill:hover {background: linear-gradient(to right, #09538d, #0086b7, #004c89, #0086b7); color: #fff;}
.contact-pill:hover a, .contact-pill:hover i{ color: #fff !important; }

.icon-btn{
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: var(--border-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dlr-blue);
    background: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.04);
    text-decoration: none;
    transition: all .18s ease;
}
.icon-btn:hover{ filter: brightness(.98); }

/* Hero */
.hero{
    position: relative;
    min-height: 72vh;
    display: grid;
    place-items: center;
    color: #fff;
    background:
            linear-gradient(180deg, rgba(11,15,20,.55), rgba(11,15,20,.20)),
            url("../../images/poza-hero.jpg?text=Hero+Background+Image") center/cover no-repeat;
}
@media (max-width: 991.98px){
    .hero{ min-height: 68vh; }
}

/* Updated: blue/gradient semi-transparent overlay card */
.hero-card{
    border-radius: 26px;
    background: rgba(5,122,159,.20);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 55px rgba(0,0,0,.24);
    position: relative;
    overflow: hidden;
}
.hero-card:before{
    content:"";
    position:absolute;
    inset:-2px;
    background: var(--dlr-grad);
    opacity: .35;
    pointer-events:none;
}
.hero-card > *{ position: relative; }

.hero-title{
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: .2px;
}
.hero-sub{
    color: rgba(255,255,255,.88);
    max-width: 64ch;
}
.hero-badge{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 999px;
    padding: .42rem .75rem;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.20);
    color: rgba(255,255,255,.92);
    font-weight: 600;
    letter-spacing: .2px;
}

/* Description */
.glass-panel{
    border-radius: var(--card-radius);
    background: #fff;
    border: var(--border-soft);
    box-shadow: var(--shadow-soft-2);
}

/* Badges with icons */
.pill-badge{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding: .55rem .85rem;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .15px;
    color:#fff;
    white-space: nowrap;
}
.pill-badge i{ font-size: 1rem; opacity: .95; }
.pill-badge--grad{ background: var(--dlr-grad); }
.pill-badge--gray{ background: #545454; }

.list-check{
    padding-left: 0;
    list-style: none;
    margin: 0;
}
.list-check li{
    display:flex;
    gap:.6rem;
    align-items:flex-start;
    padding: .5rem 0;
    color: var(--dlr-gray);
}
.list-check i{
    color: var(--dlr-blue);
    font-size: 1.1rem;
    margin-top: .1rem;
}

/* Logos */
.logo-strip{
    border-radius: 20px;
    border: var(--border-soft);
    background: #fff;
    box-shadow: var(--shadow-soft-2);
    overflow: hidden;
}
.logo-item{
    border-right: 1px solid rgba(0,0,0,.05);
    padding: 22px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height: 92px;
}
.logo-item:last-child{ border-right: none; }
.logo-item img{
    max-height: 100px;
    width: auto;
    /*
    filter: grayscale(100%);
    opacity: .85;
    */
    transition: all .2s ease;
    
}
.logo-item:hover img{
	/*
    filter: grayscale(0%);
    opacity: 1;
    */
    transform: translateY(-3px);
    
}

/* Advantages */
.feature-card{
    border-radius: var(--card-radius);
    border: var(--border-soft);
    background: #fff;
    box-shadow: var(--shadow-soft-2);
    padding: 24px 22px;
    height: 100%;
    transition: transform .18s ease, box-shadow .18s ease;
    text-align: center; /* icon above title */
}
.feature-card:hover{
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
}
.feature-icon{
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: rgba(0,120,171,.10);
    color: var(--dlr-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size: 1.35rem;
    margin: 0 auto 14px auto; /* centered above title */
}

/* Gallery */
.gallery-card{
    border-radius: 18px;
    overflow: hidden;
    border: var(--border-soft);
    box-shadow: var(--shadow-soft-2);
    background: #fff;
    cursor: pointer;
    transition: transform .18s ease;
}
.gallery-card:hover{ transform: translateY(-2px); }
.gallery-card img{ width:100%; height: 220px; object-fit: cover; }
@media (max-width: 575.98px){
    .gallery-card img{ height: 200px; }
}

/* Reviews */
.review{
    border-radius: var(--card-radius);
    border: var(--border-soft);
    background: #fff;
    box-shadow: var(--shadow-soft-2);
    padding: 22px;
    height: 100%;
}
.stars{ color: #f4b400; letter-spacing: 2px; }

/* Certifications */
.cert-card{
    border-radius: 18px;
    border: var(--border-soft);
    background: #fff;
    box-shadow: var(--shadow-soft-2);
    overflow: hidden;
}
.cert-card img{
    width: 100%;
    height: 580px;
    object-fit: cover;
}

/* Contact */
.contact-box{
    border-radius: 22px;
    border: var(--border-soft);
    background: #fff;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}
.contact-left{
    background: #0b1320;
    color: rgba(255,255,255,.9);
    position: relative;
}
.contact-left:before{
    content:"";
    position:absolute;
    inset:0;
    background: var(--dlr-grad);
    opacity: .22;
    pointer-events:none;
}
.contact-left > *{ position: relative; }
.contact-link{
    color: rgba(255,255,255,.92);
    text-decoration: none;
    font-weight: 600;
}
.contact-link:hover{ color: #fff; text-decoration: underline; }
.contact-row{
    display:flex;
    gap:.8rem;
    align-items:flex-start;
    padding: .55rem 0;
}
.contact-row i{
    color: rgba(255,255,255,.95);
    font-size: 1.2rem;
    margin-top: .15rem;
}

/* Bigger blue title for form */
.form-title{
    color: var(--dlr-blue);
    font-weight: 800;
    letter-spacing: .2px;
    font-size: 1.6rem;
    margin-bottom: .35rem;
}
@media (max-width: 575.98px){
    .form-title{ font-size: 1.45rem; }
    .link-brand {
        flex-direction: column;
        align-items: flex-start !important;
    }
    .link-brand .small > span,
    .brand-name {
        display: none;
    }
}
@media (max-width: 400px){
    .link-brand .small {
        font-size: .75em;
    }
}

/* Big external link button */
.btn-site{
    width: 100%;
    border-radius: 18px;
    padding: 18px 18px;
    font-size: 1.05rem;
    font-weight: 800;
    background: var(--dlr-grad);
    border: none;
    color:#fff;
    box-shadow: 0 16px 42px rgba(0,0,0,.12);
    transition: all .18s ease;
}
.btn-site:hover{
    filter: brightness(.98);
    transform: translateY(-1px);
    color:#fff;
}

/* Footer */
footer{
    border-top: 1px solid rgba(0,0,0,.06);
    background:#fff;
}

.clienti-list > li {
    font-weight: 700;
}
.text-italic {
    font-style: italic;
}
.gradient-text {
    background: linear-gradient(to right, #09538d, #0086b7, #004c89, #0086b7);
    color: #fff;
    font-weight: 700;
    line-height: 1.6;
    padding: 1.5rem 0;
    border-radius: var(--card-radius);
}