/* ===== FONT LOCALI ===== */

@font-face {
    font-family: 'Bebas Neue';
    src: url('../fonts/BebasNeue-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
}

.navbar{
    position:relative;
    height:120px;
    background:#111111;
    display:flex;
    align-items:center;
    padding:0 25px;
}

.navbar::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:3px;
    background:#e30613;
}

.brand{
    display:flex;
    align-items:center;
}

.brand img{
    height:110px;
    width:auto;
    display:block;
}

.menu{
    display:flex;
    align-items:center;
    gap:38px;
    margin-left:120px;
}

.menu a{
    color:white;
    text-decoration:none;
    text-transform:uppercase;
    font-size:15px;
    font-weight:800;
    letter-spacing:0.5px;
    transition:0.3s;
    position:relative;
}

.menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0%;
    height:2px;
    background:#e30613;
    transition:0.3s;
}

.menu a:hover{
    color:#e30613;
}

.menu a:hover::after{
    width:100%;
}

.menu-button{
    margin-left:auto;
    background:none;
    border:none;
    color:white;
    font-size:34px;
    cursor:pointer;
    transition:0.3s;
}

.menu-button:hover{
    color:#e30613;
}

.overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.55);
    opacity:0;
    visibility:hidden;
    transition:0.3s;
    z-index:10;
}

.overlay.active{
    opacity:1;
    visibility:visible;
}

.side-menu{
    position:fixed;
    top:0;
    right:-380px;
    width:380px;
    height:100vh;
    background:#111111;
    color:white;
    padding:40px;
    z-index:20;
    transition:0.35s;
    border-left:3px solid #e30613;
}

.side-menu.active{
    right:0;
}

.close-button{
    background:none;
    border:none;
    color:white;
    font-size:42px;
    cursor:pointer;
    position:absolute;
    top:20px;
    right:30px;
}

.close-button:hover{
    color:#e30613;
}

.side-menu h2{
    font-size:28px;
    text-transform:uppercase;
    margin-bottom:40px;
    letter-spacing:2px;
}

.side-menu a{
    display:block;
    color:white;
    text-decoration:none;
    text-transform:uppercase;
    font-size:17px;
    font-weight:800;
    padding:18px 0;
    border-bottom:1px solid #2a2a2a;
    transition:0.3s;
}

.side-menu a:hover{
    color:#e30613;
    padding-left:10px;
}

.hero{
    height:580px;

    background:
        linear-gradient(
            rgba(0,0,0,0.55),
            rgba(0,0,0,0.55)
        ),
        url("../img/sfondo.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    color:white;
}

.hero-content{
    max-width:700px;
    margin-left:90px;
}

.hero h1{
    font-family:'Bebas Neue', sans-serif;
    font-size:95px;
    line-height:0.95;
    letter-spacing:3px;
    margin-bottom:20px;
}

.hero-text{
    font-family:'Montserrat', sans-serif;
    font-size:24px;
    font-weight:400;
    letter-spacing:1px;
    color:#eeeeee;
}

.scelte{
    display:flex;
    gap:30px;
    max-width:1200px;
    margin:60px auto;
    padding:0 30px;
}

.box{
    flex:1;
    background:#111111;
    color:white;
    padding:55px 45px;
    border-bottom:5px solid #e30613;
    transition:0.3s;
    cursor:pointer;
    text-decoration:none;
    display:block;
}

.box:hover{
    transform:translateY(-8px);
    background:#1b1b1b;
}

.box h2{
    font-size:38px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.box p{
    font-size:18px;
    color:#dddddd;
    line-height:1.5;
}

.brands{
    background:#ffffff;
    text-align:center;
    padding:85px 30px;
}

.brands-line{
    width:90px;
    height:3px;
    background:#e30613;
    margin:0 auto 35px;
}

.brands-line:last-child{
    margin:45px auto 0;
}

.brands h2{
    font-size:20px;
    font-weight:900;
    letter-spacing:5px;
    color:#111111;
    margin-bottom:55px;
}

.brands-container{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:70px;
}

.brand-logo{
    width:330px;
    height:180px;
    background:#f7f7f7;
    border:1px solid #e5e5e5;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:0.3s;
}

.brand-logo:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(0,0,0,0.12);
}

.brand-logo img{
    max-width:240px;
    max-height:120px;
    width:auto;
    height:auto;
}

.about{
    background:#111111;
    color:white;
    padding:100px 30px;
}

.about-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:320px 1fr;
    gap:70px;
    align-items:start;
}

.about-title span{
    font-family:'Montserrat', sans-serif;
    color:#e30613;
    text-transform:uppercase;
    font-size:15px;
    font-weight:800;
    letter-spacing:3px;
}

.about-title h2{
    font-size:52px;
    margin-top:15px;
    letter-spacing:3px;
}

.about-text{
    font-family:'Montserrat', sans-serif;
}

.about-text h3{
    font-size:34px;
    margin-bottom:25px;
    color:white;
}

.about-text p{
    font-size:18px;
    line-height:1.8;
    color:#dddddd;
    margin-bottom:24px;
}

.sedi{
    display:flex;
    gap:20px;
    margin:35px 0;
}

.sede-card{
    flex:1;
    background:#1b1b1b;
    border-left:4px solid #e30613;
    padding:25px;
}

.sede-card strong{
    display:block;
    font-size:22px;
    margin-bottom:8px;
    text-transform:uppercase;
}

.sede-card span{
    color:#dddddd;
    font-size:17px;
}

.about-text h4{
    font-size:22px;
    margin:35px 0 20px;
    color:white;
}

.servizi-lista{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
    margin-bottom:35px;
}

.servizi-lista span{
    background:#1b1b1b;
    padding:16px 18px;
    border:1px solid #2b2b2b;
    color:#eeeeee;
    font-size:16px;
}

.servizi-lista span::before{
    content:"•";
    color:#e30613;
    font-weight:900;
    margin-right:10px;
}

/* PAGINA NUOVO */

.catalog-hero{
    background:#111111;
    color:white;
    text-align:center;
    padding:90px 30px 70px;
}

.catalog-hero h1{
    font-family:'Bebas Neue', sans-serif;
    font-size:86px;
    letter-spacing:4px;
    margin-bottom:15px;
}

.catalog-hero p{
    font-family:'Montserrat', sans-serif;
    font-size:20px;
    color:#dddddd;
}

.brand-choice{
    max-width:1150px;
    margin:60px auto;
    padding:0 30px;
    display:flex;
    gap:30px;
}

.brand-choice-card{
    flex:1;
    min-height:260px;
    background:#ffffff;
    border:1px solid #e2e2e2;
    border-bottom:5px solid #e30613;
    text-decoration:none;
    color:#111111;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:35px;
    transition:0.3s;
}

.brand-choice-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 35px rgba(0,0,0,0.12);
}

.brand-choice-card img{
    max-width:250px;
    max-height:100px;
    width:auto;
    height:auto;
    margin-bottom:30px;
}

.brand-choice-card h2{
    font-size:32px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.brand-choice-card p{
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    color:#555555;
}

.catalog-section{
    max-width:1250px;
    margin:90px auto;
    padding:0 30px;
    scroll-margin-top:140px;
}

.section-title{
    margin-bottom:40px;
}

.section-title span{
    font-family:'Montserrat', sans-serif;
    color:#e30613;
    text-transform:uppercase;
    font-size:14px;
    font-weight:800;
    letter-spacing:3px;
}

.section-title h2{
    font-size:52px;
    margin-top:10px;
    letter-spacing:2px;
}

.vehicle-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
}

.vehicle-card{
    background:white;
    border:1px solid #e2e2e2;
    border-bottom:4px solid #e30613;
    padding:22px;
    transition:0.3s;
}

.vehicle-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 30px rgba(0,0,0,0.10);
}

.vehicle-image{
    height:190px;
    background:#f0f0f0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#999999;
    font-family:'Montserrat', sans-serif;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:22px;
}

.vehicle-card h3{
    font-size:24px;
    margin-bottom:10px;
    text-transform:uppercase;
}

.vehicle-card p{
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    color:#666666;
    line-height:1.5;
}

.morini-section{
    padding-bottom:60px;
}
/* PAGINA USATO */

.usato-hero{
    background:#111111;
}

.usato-vantaggi{
    max-width:1150px;
    margin:55px auto 20px;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.usato-vantaggi div{
    background:#111111;
    color:white;
    padding:28px;
    text-align:center;
    font-family:'Montserrat', sans-serif;
    font-size:17px;
    font-weight:700;
    border-bottom:4px solid #e30613;
}
/* =======================================================
   PAGINA "I MARCHI CHE RAPPRESENTIAMO"
=======================================================*/

.active-link{
    color:#e30613 !important;
}

.active-link::after{
    width:100% !important;
}

.marchi-page{
    max-width:1200px;
    margin:80px auto;
    padding:0 30px;
}

.marchi-page .brand-choice-card{
    min-height:420px;
    justify-content:space-between;
    text-align:center;
    padding:50px;
}

.marchi-page img{
    max-width:260px;
    max-height:120px;
    margin-bottom:25px;
}

.marchi-page h2{
    font-size:42px;
    margin-bottom:20px;
    text-transform:uppercase;
}

.marchi-page p{
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    color:#666666;
    line-height:1.7;
    margin-bottom:35px;
}

.marchi-page span{
    display:inline-block;
    background:#111111;
    color:white;
    padding:16px 32px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:14px;
    font-weight:700;
    border-bottom:4px solid #e30613;
    transition:.3s;
}

.marchi-page .brand-choice-card:hover span{
    background:#e30613;
}

.marchi-note{
    max-width:900px;
    margin:0 auto 100px;
    text-align:center;
    padding:0 30px;
}

.marchi-note p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#666666;
}
/* PAGINA FINANZIAMENTO */

.finance-intro{
    max-width:950px;
    margin:80px auto 50px;
    padding:0 30px;
    text-align:center;
}

.finance-intro h2{
    font-size:44px;
    text-transform:uppercase;
    margin-bottom:25px;
    letter-spacing:2px;
}

.finance-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#555555;
    margin-bottom:20px;
}

.finance-vantaggi{
    max-width:1200px;
    margin:60px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:25px;
}

.finance-card{
    background:#111111;
    color:white;
    padding:38px 28px;
    text-align:center;
    border-bottom:5px solid #e30613;
    transition:0.3s;
}

.finance-card:hover{
    transform:translateY(-7px);
    background:#1b1b1b;
}

.finance-card span{
    font-size:38px;
    display:block;
    margin-bottom:20px;
}

.finance-card h3{
    font-size:22px;
    text-transform:uppercase;
    margin-bottom:15px;
}

.finance-card p{
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    color:#dddddd;
    line-height:1.6;
}

.finance-partner{
    background:white;
    text-align:center;
    padding:80px 30px;
}

.finance-partner h2{
    font-size:20px;
    font-weight:900;
    letter-spacing:5px;
    color:#111111;
    margin-bottom:45px;
    text-transform:uppercase;
}

.partner-logos{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}

.partner-card{
    width:320px;
    height:170px;
    background:#ffffff;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
    display:flex;
    justify-content:center;
    align-items:center;
    transition:0.3s;
}

.partner-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 35px rgba(0,0,0,0.10);
}

.partner-card img{
    max-width:220px;
    max-height:90px;
    width:auto;
    height:auto;
}



.finance-cta{
    background:#111111;
    color:white;
    text-align:center;
    padding:90px 30px;
}

.finance-cta h2{
    font-size:42px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.finance-cta p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    color:#dddddd;
    max-width:750px;
    margin:0 auto 35px;
    line-height:1.7;
}

.finance-button{
    display:inline-block;
    background:#e30613;
    color:white;
    text-decoration:none;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:1px;
    padding:17px 34px;
    transition:0.3s;
}

.finance-button:hover{
    background:#b9000b;
}
/* PAGINA ASSICURAZIONI */

.assicurazioni-hero{
    background:#111111;
}

.assicurazioni-intro{
    max-width:950px;
    margin:85px auto 70px;
    padding:0 30px;
    text-align:center;
}

.assicurazioni-intro h2{
    font-size:44px;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:30px;
}

.assicurazioni-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#555555;
    margin-bottom:22px;
}

.assicurazioni-intro strong{
    color:#111111;
    font-weight:800;
}

.assicurazioni-partner{
    background:#ffffff;
    text-align:center;
    padding:85px 30px;
}

.assicurazioni-partner h2{
    font-size:20px;
    font-weight:900;
    letter-spacing:5px;
    color:#111111;
    margin-bottom:50px;
    text-transform:uppercase;
}

.assicurazioni-logo-box{
    width:380px;
    height:190px;
    margin:0 auto 35px;
    background:#f7f7f7;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
    text-decoration:none;
    cursor:pointer;
    overflow:hidden;
}

.assicurazioni-logo-box:hover{
    transform:translateY(-8px) scale(1.03);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.assicurazioni-logo-box:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 35px rgba(0,0,0,0.10);
}

.assicurazioni-logo-box img{
    max-width:270px;
    max-height:110px;
    width:auto;
    height:auto;
}

.assicurazioni-partner p{
    max-width:800px;
    margin:auto;
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.8;
    color:#555555;
}

.assicurazioni-cta{
    background:#111111;
    color:white;
    text-align:center;
    padding:90px 30px;
}

.assicurazioni-cta h2{
    font-size:42px;
    text-transform:uppercase;
    margin-bottom:22px;
}

.assicurazioni-cta p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    color:#dddddd;
    max-width:750px;
    margin:0 auto 35px;
    line-height:1.7;
}

.assicurazioni-button{
    display:inline-block;
    background:#e30613;
    color:white;
    text-decoration:none;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:1px;
    padding:17px 34px;
    transition:0.3s;
}

.assicurazioni-button:hover{
    background:#b9000b;
}
.preventivo-text{
    margin-top:10px;
    font-size:28px;
    font-weight:700;
    color:#111111;
}

.preventivo-link{
    max-width:760px;
    margin:20px auto;
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.8;
    color:#666666;
}

.hover-indicator{
    display:inline-block;
    margin-top:25px;
    color:#e30613;
    font-family:'Montserrat', sans-serif;
    font-size:17px;
    font-weight:700;
    letter-spacing:1px;
    transition:.3s;
}

.assicurazioni-logo-box:hover + .preventivo-text + .preventivo-link + .hover-indicator{
    transform:translateX(8px);
}
.partner-note{
    margin-top:12px;
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    color:#888888;
}
/* PAGINA CONTATTI */

.contatti-hero{
    background:#111111;
}

.contatti-intro{
    max-width:900px;
    margin:80px auto 50px;
    padding:0 30px;
    text-align:center;
}

.contatti-intro h2{
    font-size:44px;
    text-transform:uppercase;
    margin-bottom:25px;
    letter-spacing:2px;
}

.contatti-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#555555;
}

.sedi-contatti{
    max-width:1150px;
    margin:60px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:30px;
}

.contatto-sede{
    background:#111111;
    color:white;
    padding:45px;
    border-bottom:5px solid #e30613;
}

.contatto-sede h2{
    font-size:38px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.contatto-sede p{
    font-family:'Montserrat', sans-serif;
    font-size:17px;
    color:#dddddd;
    margin-bottom:12px;
}

.contatti-generali{
    max-width:1150px;
    margin:60px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.contatto-box{
    background:white;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
    padding:35px;
    text-align:center;
}

.contatto-box h3{
    font-size:26px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.contatto-box p{
    font-family:'Montserrat', sans-serif;
    font-size:17px;
    color:#555555;
    margin-bottom:8px;
}

.mappe{
    max-width:1150px;
    margin:90px auto;
    padding:0 30px;
}

.mappe h2{
    text-align:center;
    font-size:48px;
    text-transform:uppercase;
    margin-bottom:50px;
}

.mappa-box{
    margin-bottom:55px;
}

.mappa-box h3{
    font-size:32px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.mappa-box iframe{
    width:100%;
    height:380px;
    border:0;
    filter:grayscale(20%);
}

.orari{
    background:#111111;
    color:white;
    text-align:center;
    padding:80px 30px;
}

.orari h2{
    font-size:44px;
    text-transform:uppercase;
    margin-bottom:30px;
}

.orari p{
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    color:#dddddd;
    margin-bottom:12px;
}
/* PAGINA RICAMBI */

.ricambi-hero{
    background:#111111;
}

.ricambi-intro{
    max-width:950px;
    margin:85px auto 60px;
    padding:0 30px;
    text-align:center;
}

.ricambi-intro h2{
    font-size:44px;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:28px;
}

.ricambi-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#555555;
    margin-bottom:22px;
}

.ricambi-boxes{
    max-width:1150px;
    margin:60px auto;
    padding:0 30px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

.ricambi-box{
    background:white;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
    padding:38px 30px;
    text-align:center;
    transition:0.3s;
}

.ricambi-box:hover{
    transform:translateY(-7px);
    box-shadow:0 18px 35px rgba(0,0,0,0.10);
}

.ricambi-box h3{
    font-size:25px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.ricambi-box p{
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    line-height:1.7;
    color:#666666;
}

.shop-coming{
    background:#ffffff;
    max-width:1000px;
    margin:90px auto;
    padding:65px 45px;
    text-align:center;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
}

.shop-coming span{
    display:inline-block;
    font-family:'Montserrat', sans-serif;
    font-size:14px;
    font-weight:800;
    letter-spacing:3px;
    color:#e30613;
    text-transform:uppercase;
    margin-bottom:18px;
}

.shop-coming h2{
    font-size:46px;
    text-transform:uppercase;
    margin-bottom:25px;
}

.shop-coming p{
    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.8;
    color:#555555;
}

.ricambi-cta{
    background:#111111;
    color:white;
    text-align:center;
    padding:90px 30px;
}

.ricambi-cta h2{
    font-size:42px;
    text-transform:uppercase;
    margin-bottom:22px;
}

.ricambi-cta p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    color:#dddddd;
    max-width:760px;
    margin:0 auto 35px;
    line-height:1.7;
}

.ricambi-button{
    display:inline-block;
    background:#e30613;
    color:white;
    text-decoration:none;
    text-transform:uppercase;
    font-weight:800;
    letter-spacing:1px;
    padding:17px 34px;
    transition:0.3s;
}

.ricambi-button:hover{
    background:#b9000b;
}
.marchi-contattaci{
    color:#e30613;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:4px;
    transition:0.3s;
}

.marchi-contattaci:hover{
    color:#111111;
}
/* =======================================================
   PAGINA OFFICINA
======================================================= */

.officina-hero{
    background:#111111;
}


/* INTRODUZIONE */

.officina-intro{
    max-width:950px;
    margin:85px auto 60px;
    padding:0 30px;
    text-align:center;
}

.officina-intro h2{
    font-size:44px;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:28px;
}

.officina-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;
    line-height:1.8;
    color:#555555;
    margin-bottom:22px;
}


/* SERVIZI OFFICINA */

.officina-servizi{
    max-width:1150px;
    margin:65px auto 100px;
    padding:0 30px;

    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:25px;
}

.officina-card{
    background:#ffffff;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;

    padding:45px 32px;
    text-align:center;

    flex:0 1 350px;

    transition:0.3s;
}


.officina-card:hover{
    transform:translateY(-7px);
    box-shadow:0 18px 35px rgba(0,0,0,0.10);
}

.officina-card h3{
    font-size:27px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.officina-card p{
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    line-height:1.7;
    color:#666666;
}


/* APPUNTAMENTO */

.officina-appuntamento{
    background:#111111;
    color:#ffffff;

    text-align:center;

    padding:90px 30px;
}

.officina-appuntamento h2{
    font-size:42px;
    text-transform:uppercase;
    margin-bottom:28px;
}

.officina-appuntamento p{
    max-width:800px;
    margin:0 auto 18px;

    font-family:'Montserrat', sans-serif;
    font-size:18px;
    line-height:1.8;

    color:#dddddd;
}


/* LINK CONTATTI */

.officina-contatti-text{
    margin-top:35px !important;
}

.officina-contatti-text a{
    color:#e30613;
    font-weight:800;

    text-decoration:underline;
    text-underline-offset:4px;

    transition:0.3s;
}

.officina-contatti-text a:hover{
    color:#ffffff;
}


/* STORIA OFFICINA */

.officina-storia{
    max-width:900px;

    margin:0 auto;

    padding:90px 30px;

    text-align:center;
}

.officina-storia span{
    display:inline-block;

    font-family:'Montserrat', sans-serif;
    font-size:14px;
    font-weight:800;

    letter-spacing:4px;

    color:#e30613;

    margin-bottom:15px;
}

.officina-storia h2{
    font-size:44px;
    text-transform:uppercase;

    margin-bottom:25px;
}

.officina-storia p{
    font-family:'Montserrat', sans-serif;
    font-size:19px;

    line-height:1.8;

    color:#555555;
}
/* =======================================================
   FOOTER
======================================================= */

.site-footer{
    background:#090909;
    color:#ffffff;
    border-top:3px solid #e30613;
    padding:38px 30px 24px;
}

.footer-content{
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.footer-brand img{
    width:135px;
    height:auto;
    margin-bottom:18px;
}

.footer-locations{
    font-family:'Montserrat', sans-serif;
    font-size:13px;
    color:#bdbdbd;
    letter-spacing:0.5px;
    margin-bottom:25px;
}

.footer-locations span{
    color:#e30613;
    margin:0 10px;
}

.footer-line{
    width:100%;
    height:1px;
    background:#292929;
    margin-bottom:20px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer-bottom p{
    font-family:'Montserrat', sans-serif;
    font-size:11px;
    color:#777777;
    margin:0;
}

.footer-credit span{
    color:#aaaaaa;
    font-weight:600;
}

/* RESPONSIVE FOOTER */

@media (max-width:700px){

    .site-footer{
        padding:35px 20px 22px;
    }

    .footer-locations{
        line-height:1.8;
    }

    .footer-locations span{
        display:block;
        height:3px;
        font-size:0;
    }

    .footer-bottom{
        flex-direction:column;
        gap:8px;
    }
}
/* ==================================================
   COOKIE BANNER
================================================== */

.cookie-banner{
    position:fixed;
    left:20px;
    right:20px;
    bottom:20px;
    z-index:9999;

    background:#111111;
    color:#ffffff;

    border-top:3px solid #e30613;

    box-shadow:0 8px 30px rgba(0,0,0,0.35);

    padding:25px 30px;

    display:none;
}

.cookie-banner.active{
    display:block;
}

.cookie-content{
    max-width:1200px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:35px;
}

.cookie-text{
    max-width:750px;
}

.cookie-text h3{
    font-family:'Bebas Neue', sans-serif;
    font-size:27px;
    letter-spacing:1px;
    margin:0 0 7px;
}

.cookie-text p{
    font-family:'Montserrat', sans-serif;
    font-size:13px;
    line-height:1.7;

    color:#cccccc;

    margin:0;
}

.cookie-actions{
    display:flex;
    align-items:center;
    gap:12px;

    flex-shrink:0;
}

.cookie-button{
    border:none;
    padding:13px 22px;

    font-family:'Montserrat', sans-serif;
    font-size:12px;
    font-weight:700;

    cursor:pointer;

    transition:0.25s;
}

.cookie-button.primary{
    background:#e30613;
    color:#ffffff;
}

.cookie-button.primary:hover{
    background:#c9000c;
}

.cookie-button.secondary{
    background:transparent;
    border:1px solid #555555;
    color:#ffffff;
}

.cookie-button.secondary:hover{
    border-color:#ffffff;
}


/* ==================================================
   GOOGLE MAPS BLOCCATE
================================================== */

.google-map{
    display:none;
}

.google-map.cookie-enabled{
    display:block;
    width:100%;
    min-height:400px;
    border:0;
}

.map-consent-placeholder{
    width:100%;
    min-height:400px;

    background:#eeeeee;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:18px;

    padding:30px;

    text-align:center;
}

.map-consent-placeholder p{
    font-family:'Montserrat', sans-serif;
    font-size:14px;
    color:#555555;
}

.map-consent-button{
    border:none;
    background:#e30613;
    color:#ffffff;

    padding:13px 22px;

    font-family:'Montserrat', sans-serif;
    font-size:12px;
    font-weight:700;

    cursor:pointer;

    transition:0.25s;
}

.map-consent-button:hover{
    background:#111111;
}


/* ==================================================
   GESTISCI COOKIE
================================================== */

.cookie-settings-button{
    background:none;
    border:none;

    color:#777777;

    font-family:'Montserrat', sans-serif;
    font-size:11px;

    cursor:pointer;

    padding:0;
}

.cookie-settings-button:hover{
    color:#ffffff;
}


/* ==================================================
   RESPONSIVE COOKIE BANNER
================================================== */

@media(max-width:750px){

    .cookie-banner{
        left:10px;
        right:10px;
        bottom:10px;

        padding:22px;
    }

    .cookie-content{
        flex-direction:column;
        align-items:flex-start;

        gap:20px;
    }

    .cookie-actions{
        width:100%;
        flex-direction:column-reverse;
    }

    .cookie-button{
        width:100%;
    }
}
/* =======================================================
   PRIVACY POLICY
======================================================= */

.privacy-page{
    background:#f5f5f5;
    padding:80px 30px;
}

.privacy-container{
    max-width:950px;
    margin:0 auto;
    background:#ffffff;
    padding:60px;
    border-top:4px solid #e30613;
}

.privacy-container h2{
    font-size:28px;
    text-transform:uppercase;
    margin-top:45px;
    margin-bottom:18px;
    color:#111111;
}

.privacy-container h2:first-child{
    margin-top:0;
}

.privacy-container p,
.privacy-container li{
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    line-height:1.8;
    color:#555555;
}

.privacy-container p{
    margin-bottom:18px;
}

.privacy-container ul{
    margin:0 0 25px 25px;
}

.privacy-container li{
    margin-bottom:8px;
}

.privacy-container a{
    color:#e30613;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}

.privacy-update{
    margin-top:35px;
    font-size:14px !important;
    color:#888888 !important;
}

@media(max-width:700px){

    .privacy-page{
        padding:45px 15px;
    }

    .privacy-container{
        padding:35px 25px;
    }

    .privacy-container h2{
        font-size:23px;
    }
}
.cookie-text a{
    color:#ffffff;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}
/* ===== LINK LEGALI FOOTER ===== */

.footer-legal{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.footer-legal a{
    font-family:'Montserrat', sans-serif;
    font-size:11px;
    color:#777;
    text-decoration:none;
    transition:.25s;
}

.footer-legal a:hover{
    color:#ffffff;
}

.footer-legal span{
    color:#e30613;
    font-size:10px;
}

.footer-legal .cookie-settings-button{
    background:none;
    border:none;
    color:#777;
    font-family:'Montserrat', sans-serif;
    font-size:11px;
    cursor:pointer;
    padding:0;
    transition:.25s;
}

.footer-legal .cookie-settings-button:hover{
    color:#ffffff;
}

@media(max-width:700px){

    .footer-legal{
        flex-wrap:wrap;
        margin:4px 0;
    }

}
/* =======================================================
   NOLEGGIO
======================================================= */

.noleggio-hero{
    background:#111;
}


/* INTRO */

.noleggio-intro{
    background:#ffffff;
    padding:90px 30px 70px;
}

.noleggio-intro-content{
    max-width:850px;
    margin:0 auto;
    text-align:center;
}

.section-small-title{
    font-family:'Montserrat', sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
    color:#e30613;
    text-transform:uppercase;
}

.noleggio-intro h2{
    font-family:'Bebas Neue', sans-serif;
    font-size:48px;
    letter-spacing:1px;
    color:#111;
    margin:12px 0 25px;
}

.noleggio-intro p{
    font-family:'Montserrat', sans-serif;
    font-size:16px;
    line-height:1.8;
    color:#555;
    margin-bottom:12px;
}

.noleggio-intro strong{
    color:#111;
    font-weight:700;
}


/* CARDS */

.noleggio-servizi{
    max-width:1150px;
    margin:0 auto;
    padding:20px 30px 100px;
    display:flex;
    justify-content:center;
    gap:25px;
}

.noleggio-card{
    position:relative;
    background:#ffffff;
    border:1px solid #e5e5e5;
    border-bottom:5px solid #e30613;
    padding:50px 35px 45px;
    text-align:center;
    flex:1;
    transition:.3s;
    overflow:hidden;
}

.noleggio-card:hover{
    transform:translateY(-7px);
    box-shadow:0 15px 35px rgba(0,0,0,.10);
}

.noleggio-number{
    position:absolute;
    top:5px;
    right:18px;

    font-family:'Bebas Neue', sans-serif;
    font-size:75px;
    color:#f1f1f1;

    z-index:0;
}

.noleggio-card h3{
    position:relative;
    z-index:1;

    font-family:'Bebas Neue', sans-serif;
    font-size:27px;
    letter-spacing:1px;
    color:#111;
    margin-bottom:15px;
}

.noleggio-card p{
    position:relative;
    z-index:1;

    font-family:'Montserrat', sans-serif;
    font-size:14px;
    line-height:1.7;
    color:#666;
}


/* SEZIONE UTILIZZO */

.noleggio-uso{
    background:#111;
    color:#fff;
    padding:95px 30px;
}

.noleggio-uso-content{
    max-width:950px;
    margin:0 auto;
}

.noleggio-uso-text{
    max-width:750px;
}

.noleggio-uso h2{
    font-family:'Bebas Neue', sans-serif;
    font-size:45px;
    letter-spacing:1px;
    margin:12px 0 25px;
}

.noleggio-uso p{
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    line-height:1.9;
    color:#ccc;
    margin-bottom:15px;
}


/* CTA */

.noleggio-cta{
    background:#f4f4f4;
    padding:90px 30px;
    text-align:center;
}

.noleggio-cta-content{
    max-width:750px;
    margin:0 auto;
}

.noleggio-cta h2{
    font-family:'Bebas Neue', sans-serif;
    font-size:45px;
    color:#111;
    letter-spacing:1px;
    margin:12px 0 15px;
}

.noleggio-cta p{
    font-family:'Montserrat', sans-serif;
    font-size:15px;
    line-height:1.8;
    color:#666;
    margin-bottom:30px;
}

.noleggio-button{
    display:inline-block;
    background:#e30613;
    color:#fff;

    font-family:'Montserrat', sans-serif;
    font-size:13px;
    font-weight:700;

    padding:15px 32px;

    text-decoration:none;
    transition:.3s;
}

.noleggio-button:hover{
    background:#111;
}


/* MOBILE */

@media(max-width:800px){

    .noleggio-servizi{
        flex-direction:column;
    }

    .noleggio-card{
        width:100%;
    }

    .noleggio-intro{
        padding:65px 20px 50px;
    }

    .noleggio-intro h2{
        font-size:39px;
    }

    .noleggio-uso{
        padding:70px 20px;
    }

    .noleggio-uso h2{
        font-size:38px;
    }

    .noleggio-cta{
        padding:70px 20px;
    }

    .noleggio-cta h2{
        font-size:38px;
    }
}
/* ===== NOMI PARTNER FINANZIAMENTO ===== */

.finance-partner-name {
    display: block;

    font-family: 'Montserrat', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;

    color: #111111;

    text-align: center;
}
/* =====================================================
   CARD VEICOLI USATI
===================================================== */

.vehicle-image{
    position:relative;
    overflow:hidden;
    cursor:pointer;
    height:240px;
    background:#eeeeee;
}

.vehicle-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .35s ease;
}

.vehicle-image:hover img{
    transform:scale(1.04);
}




/* NUMERO FOTO */

.photo-count{
    position:absolute;
    right:12px;
    bottom:12px;

    background:rgba(0,0,0,.75);
    color:#ffffff;

    padding:6px 10px;

    font-family:'Montserrat', sans-serif;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
}


/* INFORMAZIONI VEICOLO */

.vehicle-info{
    padding:20px;
}

.vehicle-info h3{
    margin:0 0 10px;

    font-family:'Montserrat', sans-serif;
    font-size:18px;
    font-weight:700;

    color:#111111;
}

.vehicle-details{
    margin:0;

    font-family:'Montserrat', sans-serif;
    font-size:13px;

    color:#777777;
}

.vehicle-details span{
    color:#e30613;
    margin:0 5px;
}

.vehicle-price{
    margin-top:14px;

    font-family:'Montserrat', sans-serif;
    font-size:22px;
    font-weight:800;

    color:#111111;
}


/* =====================================================
   GALLERIA FULLSCREEN USATO
===================================================== */

.vehicle-lightbox{
    position:fixed;
    inset:0;

    width:100%;
    height:100%;

    background:rgba(0,0,0,.94);

    display:none;
    align-items:center;
    justify-content:center;

    z-index:99999;
}

.vehicle-lightbox.active{
    display:flex;
}


/* FOTO GRANDE */

.lightbox-content{
    position:relative;

    width:min(1100px, 85vw);
    height:85vh;

    display:flex;
    align-items:center;
    justify-content:center;
}

.lightbox-content img{
    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

    object-fit:contain;
}


/* X CHIUSURA */

.lightbox-close{
    position:absolute;

    top:25px;
    right:30px;

    background:none;
    border:none;

    color:#ffffff;

    font-size:45px;
    font-weight:300;

    cursor:pointer;

    z-index:100001;
}


/* FRECCE */

.lightbox-arrow{
    position:absolute;
    top:50%;

    transform:translateY(-50%);

    width:55px;
    height:55px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.12);
    color:#ffffff;

    font-size:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    transition:.25s;

    z-index:100001;
}

.lightbox-arrow:hover{
    background:#e30613;
}

.lightbox-prev{
    left:30px;
}

.lightbox-next{
    right:30px;
}


/* CONTATORE 1 / 4 */

.lightbox-counter{
    position:absolute;

    bottom:15px;
    left:50%;

    transform:translateX(-50%);

    background:rgba(0,0,0,.65);

    color:#ffffff;

    padding:7px 13px;

    font-family:'Montserrat', sans-serif;
    font-size:12px;
    font-weight:600;

    border-radius:20px;
}


/* MOBILE */

@media(max-width:700px){

    .vehicle-image{
        height:220px;
    }

    .lightbox-content{
        width:90vw;
        height:75vh;
    }

    .lightbox-prev{
        left:10px;
    }

    .lightbox-next{
        right:10px;
    }

    .lightbox-arrow{
        width:45px;
        height:45px;
        font-size:34px;
    }

    .lightbox-close{
        top:15px;
        right:18px;
        font-size:40px;
    }
}
/* ===== X COOKIE BANNER ===== */

.cookie-banner{
    position:fixed;
}

.cookie-close{
    position:absolute;
    top:12px;
    right:16px;

    background:none;
    border:none;

    color:#ffffff;

    font-size:28px;
    line-height:1;

    cursor:pointer;

    z-index:10;

    opacity:.85;
    transition:.2s;
}

.cookie-close:hover{
    opacity:1;
    transform:scale(1.08);
}
.logo-sym {
    width: 145px !important;
    height: auto !important;
    object-fit: contain;
}
/* =====================================================
   RESPONSIVE MOBILE - LISI MOTO
===================================================== */

@media (max-width: 768px) {

    /* ===== NAVBAR ===== */

    .navbar {
        height: 82px;
        padding: 0 15px;
        justify-content: space-between;
    }

    .brand img {
        height: 74px;
        width: auto;
    }

    /* Nasconde il menu desktop */
    .menu {
        display: none;
    }

    /* Pulsante menu laterale */
    .menu-button {
        display: block;
        margin-left: auto;
        font-size: 30px;
    }

    /* Menu laterale */
    .side-menu {
        width: 85%;
        max-width: 330px;
        right: -100%;
        padding: 35px 25px;
    }

    .side-menu.active {
        right: 0;
    }


    /* ===== HERO HOME ===== */

    .hero {
        height: 500px;
        width: 100%;
        background-position: center;
        padding: 0 22px;
    }

    .hero-content {
        margin-left: 0;
        max-width: 100%;
    }

    .hero h1 {
        font-size: 58px;
        line-height: 0.95;
        letter-spacing: 2px;
        margin-bottom: 18px;
    }

    .hero-text {
        font-size: 17px;
        line-height: 1.5;
    }


    /* ===== NUOVO / USATO ===== */

    .scelte {
        flex-direction: column;
        gap: 18px;
        margin: 35px auto;
        padding: 0 18px;
    }

    .box {
        width: 100%;
        padding: 35px 28px;
    }

    .box h2 {
        font-size: 30px;
    }

    .box p {
        font-size: 16px;
    }


    /* ===== CONCESSIONARI UFFICIALI ===== */

    .brands {
        padding: 60px 18px;
    }

    .brands h2 {
        font-size: 17px;
        letter-spacing: 3px;
        margin-bottom: 40px;
    }

    .brands-container {
        flex-direction: column;
        gap: 20px;
    }

    .brand-logo {
        width: 100%;
        max-width: 310px;
        height: 150px;
    }

    .brand-logo img {
        max-width: 210px;
        max-height: 100px;
    }


    /* ===== CHI SIAMO ===== */

    .about {
        padding: 65px 20px;
    }

    .about-container {
        display: block;
    }

    .about-title {
        margin-bottom: 35px;
    }

    .about-title h2 {
        font-size: 42px;
    }

    .about-text h3 {
        font-size: 27px;
    }

    .about-text p {
        font-size: 16px;
        line-height: 1.7;
    }

    .sedi {
        flex-direction: column;
    }

    .servizi-lista {
        grid-template-columns: 1fr;
    }

}
/* =====================================================
   MOBILE - PAGINA NUOVO
===================================================== */

@media (max-width: 768px) {

    /* Evita qualsiasi allargamento laterale */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Hero "I NOSTRI BRAND" */
    .catalog-hero {
        width: 100%;
        max-width: 100%;
        padding: 70px 20px;
        box-sizing: border-box;
        text-align: center;
    }

    .catalog-hero h1 {
        font-size: 52px;
        line-height: 1.05;
        margin: 0 0 25px;
    }

    .catalog-hero p {
        font-size: 17px;
        line-height: 1.5;
        max-width: 100%;
        margin: 0 auto;
    }

    /* Le due card diventano una sotto l'altra */
    .brand-choice.marchi-page {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        padding: 35px 18px;
        gap: 25px;
        box-sizing: border-box;
    }

    .marchi-page .brand-choice-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
        padding: 35px 20px;
    }

    /* Loghi */
    .marchi-page .brand-choice-card img {
        max-width: 80%;
        height: auto;
        object-fit: contain;
    }

    .marchi-page .brand-choice-card .logo-sym {
        max-width: 65%;
    }

    /* Testi */
    .marchi-page .brand-choice-card p {
        font-size: 17px;
        line-height: 1.6;
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Pulsante Scopri la gamma */
    .marchi-page .brand-choice-card span {
        max-width: 240px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Testo sotto le card */
    .marchi-note {
        width: 100%;
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}
/* =====================================================
   MOBILE - PAGINA USATO
===================================================== */

@media (max-width: 768px) {

    /* ===== HERO USATO ===== */

    .usato-hero {
        width: 100%;
        padding: 65px 20px;
        box-sizing: border-box;
    }

    .usato-hero h1 {
        font-size: 52px;
        line-height: 1.05;
        letter-spacing: 2px;
        margin-bottom: 20px;
    }

    .usato-hero p {
        font-size: 17px;
        line-height: 1.5;
    }


    /* ===== VANTAGGI ===== */

    .usato-vantaggi {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        max-width: 100%;
        margin: 35px auto 20px;
        padding: 0 18px;
        gap: 15px;
        box-sizing: border-box;
    }

    .usato-vantaggi div {
        width: 100%;
        padding: 22px 18px;
        font-size: 16px;
        box-sizing: border-box;
    }


    /* ===== SEZIONE VEICOLI ===== */

    .catalog-section {
        width: 100%;
        max-width: 100%;
        margin: 55px auto;
        padding: 0 18px;
        box-sizing: border-box;
    }

    .section-title {
        margin-bottom: 30px;
    }

    .section-title span {
        font-size: 12px;
        letter-spacing: 2px;
    }

    .section-title h2 {
        font-size: 38px;
        line-height: 1.05;
        letter-spacing: 1px;
        margin-top: 10px;
    }


    /* ===== CARD USATO ===== */

    .vehicle-grid {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 25px;
    }

    .vehicle-card {
        width: 100%;
        max-width: 100%;
        padding: 15px;
        box-sizing: border-box;
    }

    .vehicle-image {
        width: 100%;
        height: 260px;
        margin-bottom: 0;
    }

    .vehicle-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .vehicle-info {
        padding: 22px 10px 18px;
    }

    .vehicle-info h3 {
        font-size: 21px;
        line-height: 1.25;
    }

    .vehicle-details {
        font-size: 14px;
        line-height: 1.7;
    }

    .vehicle-price {
        font-size: 21px;
    }
}
.patente-b {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 14px;
    margin-bottom: 3px;
    padding: 8px 13px;

    background: #111111;
    border: 1px solid #e30613;
    border-radius: 4px;

    color: #ffffff !important;

    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.patente-b::before {
    content: "";
    width: 7px;
    height: 7px;
    background: #e30613;
    border-radius: 50%;
    flex-shrink: 0;
}
/* ===== FINANZIAMENTO MOBILE ===== */
@media (max-width: 768px) {

    .finance-intro {
        margin: 50px auto 35px;
        padding: 0 22px;
    }

    .finance-intro h2 {
        font-size: 30px;
        line-height: 1.15;
    }

    .finance-intro p {
        font-size: 16px;
        line-height: 1.7;
    }

    .finance-vantaggi {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 40px auto 55px;
        padding: 0 22px;
    }

    .finance-card {
        width: 100%;
        padding: 32px 24px;
    }

    .finance-card h3 {
        font-size: 21px;
    }

    .finance-card p {
        font-size: 15px;
    }

    .finance-partner {
        padding: 60px 22px;
    }

    .partner-logos {
        flex-direction: column;
        gap: 20px;
    }

    .partner-card {
        width: 100%;
        max-width: 330px;
    }

    .finance-cta {
        padding: 65px 22px;
    }

    .finance-cta h2 {
        font-size: 30px;
        line-height: 1.15;
    }

    .finance-cta p {
        font-size: 16px;
    }
}
/* ===== CONTATTI MOBILE ===== */
@media (max-width: 768px) {

    .sedi-contatti {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 40px auto;
        padding: 0 22px;
    }

    .contatto-sede {
        width: 100%;
        padding: 35px 25px;
    }

    .contatto-sede h2 {
        font-size: 30px;
    }

    .contatto-sede p {
        font-size: 16px;
        overflow-wrap: anywhere;
    }

    .contatti-generali {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 40px auto;
        padding: 0 22px;
    }

    .contatto-box {
        width: 100%;
        padding: 32px 22px;
    }

    .contatto-box h3 {
        font-size: 24px;
    }

    .contatto-box p {
        font-size: 16px;
        overflow-wrap: anywhere;
    }
}
/* =====================================================
   RICAMBI MOBILE
===================================================== */

@media (max-width: 768px) {

    /* ===== INTRO ===== */

    .ricambi-intro {
        margin: 50px auto 35px;
        padding: 0 22px;
    }

    .ricambi-intro h2 {
        font-size: 30px;
        line-height: 1.15;
    }

    .ricambi-intro p {
        font-size: 16px;
        line-height: 1.7;
    }


    /* ===== LE 3 CARD ===== */

    .ricambi-boxes {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;

        width: 100%;
        max-width: 100%;

        margin: 40px auto 55px;
        padding: 0 20px;

        box-sizing: border-box;
    }

    .ricambi-box {
        width: 100%;
        padding: 28px 22px;
        box-sizing: border-box;
    }

    .ricambi-box h3 {
        font-size: 22px;
        line-height: 1.2;
        margin-bottom: 12px;
    }

    .ricambi-box p {
        font-size: 15px;
        line-height: 1.6;
    }


    /* ===== SHOP ONLINE IN ARRIVO ===== */

    .shop-coming {
        width: calc(100% - 40px);
        max-width: 100%;

        margin: 50px auto;
        padding: 40px 22px;

        box-sizing: border-box;
    }

    .shop-coming span {
        font-size: 12px;
        margin-bottom: 12px;
    }

    .shop-coming h2 {
        font-size: 34px;
        line-height: 1.05;
        margin-bottom: 18px;
    }

    .shop-coming p {
        font-size: 15px;
        line-height: 1.65;
    }


    /* ===== CTA FINALE ===== */

    .ricambi-cta {
        padding: 60px 22px;
    }

    .ricambi-cta h2 {
        font-size: 30px;
        line-height: 1.15;
    }

    .ricambi-cta p {
        font-size: 16px;
        line-height: 1.65;
    }
}