/* Root */
:root {
    
    --let-body-bg: #f8f8f8;

    --let-text-color-primary: #333333; 
    --let-text-color-secondary: #555555; 
    
    --let-color-primary: #ffcc00;
    --let-color-secondary: #f07f1a;
    --let-color-gray: #dde2e7;
    --let-color-white: #fff;

    --let-font-sans-serif: "Montserrat", sans-serif;

    --let-btn-active-color: #ffffff;
    --let-btn-active-bg: #ffcc00;
    --let-btn-active-border-color: #ffcc00;
    --let-btn-bg-dark: #333333;

    --animate-duration:1s;
    --animate-delay:1s;
    --animate-repeat:1;

}

html { font-size: 14px; }

/* body */
body { font-family: var(--let-font-sans-serif); color: var(--let-text-color-primary); font-size: 20px; background-color: var(--let-body-bg); overflow-x: hidden; }

/* Utilitis */
a { text-decoration: none; }
a:focus-visible { outline: 2px solid var(--let-btn-active-border-color); outline-offset: 2px; }
.border-brdx { border-bottom-right-radius: 100px; }

/* Button */
.btn { display: inline-flex; align-items: center; white-space: normal; border: 1px solid transparent; border-radius: 30px; padding: 5px 25px; padding-right: 7px; font-size: 15px; font-weight: 700; 
    line-height: 20px; transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out; position: relative; overflow: hidden; z-index: 1; }
.btn span { font-style: normal; }

.btn.btn-primary { background-color: transparent; color: var(--let-text-color-primary); border-color: var(--let-color-grey); }
.btn.btn-primary::before { content: ''; position: absolute; bottom: 0; left: 0; width: 0%; height: 100%; background-color: var(--let-btn-active-bg); transition: all 0.2s ease-in-out; 
    border-radius: 30px; z-index: -1; }
.btn.btn-primary::after { content: ""; display: block; flex-shrink: 0; margin-left: 15px; width: 25px; height: 25px; border-radius: 100%; background-color: var(--let-color-primary); 
    background-repeat: no-repeat; background-position: center center; background-size: 15px 15px; background-image: url(/frontend/assets/icons/icon-arrow-right.svg); 
    transition: background-color .3s ease-in-out, background-image .3s ease-in-out; }
.btn-check:checked+.btn, .btn.btn-primary.active, .btn.btn-primary.show, .btn.btn-primary:hover { border-color: var(--let-btn-active-border-color); }
.btn.btn-primary:hover::after { background-color: var(--let-btn-bg-dark); background-image: url(/frontend/assets/icons/icon-arrow-right-white.svg); }
.btn.btn-primary:hover::before { width: 100%; }

.btn.btn-secondary { background-color: var(--let-btn-active-bg); color: var(--let-btn-bg-dark); border-color: var(--let-btn-bg-dark); }
.btn.btn-secondary::before { content: ''; position: absolute; bottom: 0; left: 0; width: 0%; height: 100%; background-color: var(--let-btn-bg-dark); transition: all 0.2s ease-in-out; 
    border-radius: 30px; z-index: -1; }
.btn.btn-secondary::after { content: ""; display: block; flex-shrink: 0; margin-left: 15px; width: 25px; height: 25px; border-radius: 100%; background-color: var(--let-btn-bg-dark);
    background-repeat: no-repeat; background-position: center center; background-size: 15px 15px; background-image: url(/frontend/assets/icons/icon-arrow-right-white.svg); transition: background-color .3s ease-in-out, background-image .3s ease-in-out; }
.btn-check:checked+.btn, .btn.btn-secondary.active, .btn.btn-secondary.show, .btn.btn-secondary:hover { background-color: var(--let-btn-bg-dark); border-color: var(--let-btn-active-bg); 
    color: #ffffff; }
.btn.btn-secondary:hover::after { background-color: var(--let-btn-active-bg); background-image: url(/frontend/assets/icons/icon-arrow-right.svg); }
.btn.btn-secondary:hover::before { width: 100%; }

/* Colors */
.color-primary { color: var(--let-color-primary); }
.color-secondary { color: var(--let-color-secondary); }
.color-white { color: var(--let-color-white); }

.yellow { color: #ffcc00; }
.black { color: #333333; }
.grey { color: #555555; }

.bg-white { background-color: #ffffff; }
.bg-orange { background-color: #ff6600; }
.bg-yellow { background-color: #ffcc00; }
.bg-grey { background-color: #efefef; }
.bg-grey-dark { background-color: #333; }

/* Icons */
.icon30 { width:30px; height:30px; display:inline-block; background-size:contain; background-repeat:no-repeat; background-position:center center;}

/* Links */
.let-simple-link { color: #cc5200; }

/* Main */
main { margin-top: 96px; }

/* Head + Nav */
header { background-color: #fff; }
header.fixed-top { height: 97px; min-height: 97px; z-index: 1050; }
header.fixed-top .container { background-color: #fff; }
.navbar.navbar-default .navbar-brand { margin-right: 0; }
.navbar.navbar-default .navbar-brand > img { height: 60px; margin-top: 5px; margin-bottom: 5px; }
.navbar.navbar-default .nav-link { padding: 0.25rem 0.75rem; font-size: 16px; color: var(--let-text-color-primary); }
.navbar.navbar-default .nav-link.active { font-weight: 900; border-bottom: 2px solid #f07f1a; }

.navbar.navbar-default .dropdown .dropdown-menu { display: none; color: var(--let-btn-bg-dark); }
.navbar.navbar-default .dropdown:hover > .dropdown-menu,
.navbar.navbar-default .dropend:hover > .dropdown-menu { display: block; padding: 10px 0 10px 0; position: absolute;
  top: 100%; left: 50%; transform: translateX(-50%); border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color); border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }

/* Mobile Nav */
.navbar .hamburger-menu { width: 40px; }

.pictogram { width: auto; position: relative; margin-top: 2rem; width: 50px; }


/*
background-image: linear-gradient(
            rgba(0,0,0,0.7),
            rgba(0,0,0,0.7)
        ), url("/frontend/assets/images/Gemini_Generated_Image_e6susbe6susbe6su.png");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
*/

/* ========== HAMBURGER BUTTON ========== */

.js-toggleMenu {
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
    display: none; /* nascosto su desktop */
}

.hamburger-menu {
    width: 28px;
    height: 28px;
    transition: transform 0.3s ease;
}

/* Rotazione quando attivo */
body.menu-open .hamburger-menu {
    transform: rotate(90deg);
}



body.navbar-transparent .navbar.navbar-default {background-color:transparent;box-shadow:none;}
body.navbar-transparent .navbar.navbar-default .navbar-nav > li > a, 
body.navbar-transparent .navbar.navbar-default .navbar-nav > li > a:hover, 
body.navbar-transparent .navbar.navbar-default .navbar-nav > li > a.active {color:var(--let-color-white);}
body.navbar-transparent .navbar.navbar-default .navbar-nav > li > .dropdown-toggle::after {background-image:url(/frontend/assets/icons/icon-angle-down-white.svg);}
body.navbar-transparent .dropdown-menu[data-bs-popper] {background-color:rgba(255,255,255,.2);}
body.navbar-transparent .dropdown-menu > li > a::after {background-image:url(/frontend/assets/icons/icon-arrow-right-white.svg);}

/* BreadCrumbs */
.container-hero .breadcrumb a { text-decoration: none; color: var(--let-text-color-primary); }
.container-hero .breadcrumb li:last-child span { border-bottom: 4px solid var(--let-color-secondary); }

/* Footer */
.section-footer {padding-top: 60px; color:var(--let-color-white); padding-bottom: 30px; }
.section-footer .row {gap:30px 0;}
.section-footer .section-title h3 {color:var(--let-color-white);font-weight:700;margin-bottom:20px;}
.section-footer .lead {color:var(--let-color-white);font-size:16px;text-transform:uppercase;font-weight:700;margin-bottom:15px;display:inline-block;
    margin-right:20px;vertical-align:middle;margin-bottom:0;}
.section-footer .text {color:var(--let-color-white);font-size:16px;}
.section-footer .section-title h4 {font-size: 36px;color:#fff;font-weight:700;}
.section-footer .footer-partof {text-transform:none;display:inline-block;vertical-align:middle;}
.section-footer .icon-social-in {background-image:url(/frontend/assets/icons/socials/linkedIn_icon.svg);}
.section-footer .footer-logo-img { height: 60px; }
.section-footer .nav .nav-item .dropdown-item:hover { color: var(--let-color-primary); }

/* Footer Copy */
.section-copy {color: #fff; font-size: 16px; }
.section-copy a {color: var(--let-color-primary); text-decoration: underline; }

.cookie-svg { background-color: #dde2e7; padding: 5px; border-radius: 100%; border: none; }
.cookie-svg img { width: 30px; }

/* Form */
.form-check-input { cursor: pointer; } 
.form-check-input:checked { background-color: #f07f1a; border-color: #f07f1a; }
.invalid-feedback { font-size: .7em; }

/* Common */
.container-hero .h1-style { font-size: 100px; line-height: 115px; color: var(--let-text-color-primary); margin-top: 1.75rem; margin-bottom: 1rem; }
.lets-text { font-size: 65px; line-height: 70px; }

/* Last work */
.container-lastwork { background-color: #e6e6e6; }
.container-lastwork .why-choose-body-item { background-color: #fff; padding: 20px; display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 20px; }
.container-lastwork .why-choose-body-item .icon-box { position: relative; width: 50px; height: 50px; font-size: 16px; background: var(--let-color-primary); display: flex; 
  align-items: center; justify-content: center; border-radius: 50%; text-align: center; line-height: 14px; }
.container-lastwork .why-choose-body-item-content { width: calc(100% - 65px); }
.container-lastwork .why-choose-body-item-content h3 { font-size: 20px; }
.container-lastwork .why-choose-body-item-content p { margin: 10px 20px 0 0; }

/* Common Mobile */
.mobile-br { display: none; }

@media (max-width: 991px) {

    .js-toggleMenu {
        display: block;
    }

    .navbar .nav {
        width: 100%;
        flex-direction: column;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
    }

    body.menu-open .navbar .nav {
        max-height: 500px; /* abbastanza alto per contenere il menu */
    }

    .navbar .nav-item {
        width: 100%;
        text-align: center;
        padding: 10px 0;
    }

    .navbar .dropdown-menu {
        position: static;
        float: none;
    }
}
@media screen and (max-width: 991px) {
    .navbar.navbar-default .dropdown-toggle::after { display: none !important; }
}


@media screen and (min-width: 768px) {
    .navbar.navbar-default .dropend:hover > .dropdown-menu {
        position: absolute;
        top: 0;
        left: 100%;
    }
    .dropend .dropdown-toggle {
        margin-left: 0.5em;
    }
}

@media only screen and (max-width:431px) and (min-width:320px) {
    html { font-size: 90%; } 
    .mobile-br { display: block; }
    .navbar.navbar-default .nav-link { display: inline; }
    .navbar.navbar-default .dropdown-toggle::after { display: none; }

    .breadcrumb { font-size: 14px; } 

    .pictogram { display: none; }
    .container-hero .h1-style { font-size: 48px; line-height: 50px; }
    .lets-text { font-size: 40px; line-height: 48px; }

    .container-lastwork .why-choose-body-item-content p { font-size: 16px; }


}
