* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.elementor-widget-container { padding:30px 0; position:relative; }
form {width:450px;display:flex;position:relative;height:auto;margin:auto;background:#fff;box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);}
.content-jotform { background:url(../immagini/banner-bg-red.svg) no-repeat bottom right/cover}
.image_slide { width:100%; height:100vh}
.wrapper-content {
    width:80%; margin:auto; 
}
 
h6 { font-size:16px; font-weight:200; text-align:justify}
 header div ul {
        flex-direction: row;
        position: relative;
        left: 0;
        width: 100%;
        display: flex;
        gap: 20px;
    }
 header div ul li a {color:#000;text-decoration:none;font-weight: 500;font-size:16px;text-transform:uppercase;padding: 10px; transition:  0.5s linear}
 header div ul li a:hover { color:#b70000; background:#eee}

#message { position:relative; width:100%; height:200px; border:1px solid #ccc; border-radius:8px; resize:none}
nav {position:relative;width:auto;/* display: block !important; */}
.sectionmobile { display: none; }
.sectionsplit {
width: 100%;
display: flex
;
flex-direction: column;
justify-content: center;
align-content: center;
align-items: center;
}
#displayblocked {
    background: #00000050;
    display: none;
    z-index: 999;
    position: fixed;
    width: 100%;
    height: 110vh;
}
#cookie-banner.show, #mini-link.show, #cookie-customization.show, #displayblocked.show {
    display: block;
    animation: fadeIn 1s;
}
#cookie-customization {
    display: none;
    z-index: 1000;
    background: #fff;
    width: 500px;
    position: fixed;
    height: auto;
    bottom: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    padding: 20px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -moz-box-shadow: 0px 0px 10px #00000040;
    -webkit-box-shadow: 0px 0px 10px #00000040;
    box-shadow: 0px 0px 10px #00000040;
}

#cookie-banner p {
    margin: 10px ;
    width: 440px;
    font-size:12px;
}

#cookie-customization p {
    margin: 10px 0;
    font-size: 16px;
}

#cookie-banner h3 {
    margin: 10px ;
    width: 340px;
}

#accept-all-cookies {
    background: #365cf4 !important;
    color: #fff !important
}

#accept-all-cookies:hover {
    background: #365cf4 !important;
    border: 2px solid #365cf4;
    color: #fff !important
}
.whatsapp-btn {
    display: inline-block;
    position:fixed;
    z-index:99999;
    align-items: center;
    justify-content: center;
    background-color: #25D366;
    color: white;
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    padding: 1px 20px;
    border-radius: 50px;
    bottom:20px;
    right:20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }

  .whatsapp-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  }

  .whatsapp-btn i {
    margin-right: 5px;
    font-size: 22px;
  }
#cookie-banner {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 20px;
    width: auto;
    height: auto;
    background-color: #fff;
    color: #000;
    text-align: left;
    padding: 10px;
    z-index: 1000;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -moz-box-shadow: 0px 0px 10px #00000040;
    -webkit-box-shadow: 0px 0px 10px #00000040;
    box-shadow: 0px 0px 10px #00000040;
}
#cookie-banner button, #cookie-customization button {
    background: none;
    border: 2px solid #365cf4;
    color: #365cf4;
    padding: 10px 20px;
    margin: 5px 5px;
    cursor: pointer;
    font-weight: bold;
    border-radius:4px;
}

#save-preferences {
    bottom: 20px;
    position: absolute;
}

#cookie-banner button:hover, #cookie-customization button:hover {
    background-color: #365cf4;
    color: #fff !important
}
body {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    color: #333;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

 

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgb(255 255 255 / 100%);
    padding: 5px 30px;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    transition: background 0.3s;
    border-bottom: 2px solid #ddd;
}
.desktopheader {display: flex;}
.mobileheader { display:none }
header.scrolled {
    background: black;
}

header .logo {
    font-size: 34px;
    font-weight: bold;
    color: #000;
    height: 70px;
    display:flex;
    align-content: center;
    align-items: center;
    gap: 10px;
}
.imglogo { width:70px; height:70px; position:relative; margin:auto; background:url(../immagini/omino.png) no-repeat center/cover}
header .logo a {
    font-size: 34px;
    font-weight: bold;
    color: #000;
    text-decoration:none;
    font-style:italic;
    height: 50px;
}

header .logo span {
    color: #ff5722;
}

header nav ul {
    display: flex;
    list-style: none;
    overflow: hidden;
    transition: height 0.3s ease-in-out;
}

header nav ul li {
    margin: 0 15px;
}
header nav ul li:hover {
    margin: 0 15px;
    
}

header nav ul li a {
    color: #000000;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.8s;
    font-weight: bold;
}

header nav ul li a:hover {
    color: #b70000;
   
}

header .menu-toggle {
    display: none;
    font-size: 24px;
    color: #000;
    cursor: pointer;
}
.hero img {
    width: 450px;
    height: auto;
    
    animation: zoomIn 1s ease-in-out forwards;
}
/* Menu Mobile */
@media (max-width: 768px) {
    .hero img {
    width: 90vw;
     
}
    .testimonial  { width:100% !important}
    .service-card  { width:100% !important}
    .service-card .fas {
     color: #ffffff !important;
}
    .newsletter .fas{ color:#0089ff !important}
    .fa-solid, .fas {
     color: #000000 !important;
}
    .desktopheader {display: none;}
    header .logo {
    font-size: 34px;
    font-weight: bold;
    color: #000;
    height: 50px;
    display:flex;
    align-content: center;
    align-items: center;
    gap: 10px;
}
.imglogo { width:50px; height:50px; position:relative; margin:auto; background:url(../immagini/omino.png) no-repeat center/cover}
header .logo a {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    text-decoration:none;
    font-style:italic;
    height: 50px;
}
.mobileheader {display:flex;justify-content: space-between; padding:5px 15px}
    .b-row {
    height: 50vh !important;
    width: 100%;
}
    #image_slide {height: 100% !important;width:100%}
    .wrapper-content {
    width: 100%;
    margin: auto;
}
    nav {position:fixed;width:100%;height:100vh;display: none;background: #eee;left:0;top:0px}
    header .menu-toggle {
        display: block;
        z-index: 2;
    }
   @keyframes popupEffect {
  0%, 100% { transform: scale(1); }
  10%, 30%, 50% { transform: scale(1.3); }
  20%, 40% { transform: scale(1); }
}
    .sectiondesktop { display: none !important;}
    .whatsapp-btn { width:60px; height:60px; display:flex;  transition: transform 0.3s ease-in-out;
  animation: popupEffect 3s ease-in-out infinite;
}

@keyframes repeatPopup {
  0%, 72.72% { opacity: 1; }
  72.73%, 100% { opacity: 0; }
}

.whatsapp-btn-container {
  animation: repeatPopup 11s infinite;
  animation-delay: 8s;
}

 

.whatsapp-btn i {
    margin: auto;
 
    
}
    .ss { display:none }
.sectionmobile { display: flex !important; flex-direction: column; position: relative; gap: 20px; }
    .hero h1 {
     text-align:center;
    line-height: 1.1;
     
}
    header nav ul {
        flex-direction: column;
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        /* background: black; */
        overflow: hidden;
    }

    header.nav-open nav ul {
        height: calc(100vh - 70px);
    }

    header nav ul li {
        margin: 1px 0;
        text-align: center;
    }
    header nav ul li a {
    color: #06003f;
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
}
}

/* Hero Section */
.hero {
    height: 100vh;
    background: url(../immagini/ferrari_engine.webp) no-repeat 50% 
 0%/cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff !important;!i;!;
}




.hero h1 {
    font-size: 36px;
    line-height: 1.2;
    animation: slideUp 1.5s ease-in-out forwards;
    color: #fff;
}

.hero h1 span {
    color: #ff9c9c;
}

.hero p {
    font-size: 18px;
    margin-bottom: 30px;
    animation: fadeIn 1.5s ease-in-out forwards;
}
.hero .btn {background: #b70000;color: #ffffff;padding: 10px 20px;text-decoration: none;font-size: 18px;border: none;border-radius: 5px;cursor: pointer;transition: background 0.3s;display: inline-flex;align-items: center;gap: 10px;animation: fadeIn 2s ease-in-out forwards;justify-content: center;}

   .hero .btn .fas {
        color: #fff !important;
    }
.hero .btn i {
    font-size: 20px;
}

.hero .btn:hover {
    background: #000;
    color: #fff;
}
section {
    padding: 50px 20px;
}

/* --- Stili per la Sezione Servizi --- */
.services {
    background: #f1eaea;
    text-align: center;
}

.service-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
.service-card h3 { color:#ccc; text-align:center;; font-size:14px;}
.service-card {
    background: #262626;
    color: white;
    padding: 20px;
    width: 400px;
    border-radius: 10px;
    text-align: center;
    transition: 0.3s;
}

.service-card:hover {
    background: #9b0606;
    transform: scale(1.05);
}

.service-card i {
    font-size: 40px;
    margin-bottom: 15px;
}

/* --- Stili per la Sezione Testimonianze --- */
.testimonials {
    background: #f1f1f1;
    text-align: center;
}

.testimonial {
    background: white;
    padding: 20px;
    margin: 20px auto;
    width: 80%;
    max-width: 500px;
    border-radius: 10px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.testimonial p {
    font-style: italic;
    color: #555;
}

.testimonial h4 {
    margin-top: 10px;
    color: #e31e1e;
}

/* --- Stili per la Sezione FAQ --- */
.faq {
    background: white;
    max-width: 800px;
    margin: auto;
}

.faq-item {
    background: #f1f1f1;
    margin-bottom: 10px;
    padding: 15px;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

.faq-item:hover {
    background: #ddd;
}

/* --- Stili per la Sezione Newsletter --- */
.newsletter {
    background: #424a53;
    color: white;
    text-align: center;
}

.newsletter form {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    flex-direction: row;
    gap: 20px;
    align-content: center;
    align-items: center;
}

.newsletter input {
    width: 300px;
    padding: 10px;
    border: none;
    border-radius: 5px;
}
.newsletter input:focus {
   
    border: none;
   outline:none
}
.newsletter button {
    margin:0;
    background: white;
    color: #007bff;
    border: none;
    padding: 10px 15px; 
    cursor: pointer;
    transition: 0.3s;
}

.newsletter button:hover {
    border:none !important;
    background: #0056b3 !important;
    color: white;
}

/* --- Stili per il Contact Form --- */
.contact {
    background: #fff;
    text-align: center;
}

.contact form {
    max-width: 500px;
    margin: auto;
}

.contact input, .contact textarea {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact button {
    background: #007bff;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
}

.contact button:hover {
    background: #0056b3;
}
/* Sections */
.b-row {background:#eee;padding: 0 !important;height: 100vh;}
#image_slide {height: 98%;width:100%}
 
#content_slide, .container_slide,.imgsliderdiv { width:100%; position:relative; display:flex; height:100% }
.testopage {width:100%;position:absolute;display:flex;height:100%;top: 0;justify-content: flex-start;align-items: flex-end;align-content: center;}
.text-page { color:#fff; position:relative; display:flex; font-size:30px; font-weight:bold; background:#b70000; padding:5px 40px; margin:20px 0 }
.slidew { width:100%; position:relative; display:inline-block; height:100% }
.imgsliderdiv { background-size:cover !important}
.b-roww { width:100%; height:auto; padding:0 }
section {
    padding: 60px 20px;
    opacity: 0;
    animation: fadeInUp 1s ease-in-out forwards;
}
.secondary-color { background:#eee}
.wwwa { padding:0}
.newsletter  h2 { color:#fff }
.elementor-widget-container h2 {
    text-align: center;
    font-size: 28px;
    margin-bottom: 20px;
    color: #000;
    opacity: 0;
    animation: slideFromTop 1s ease-in-out forwards;
    line-height: 1.2em;
}
section h2 {
    text-align: center;
    font-size: 28px;
    margin-bottom: 20px;
    color: #000000;
    opacity: 0;
    animation: slideFromTop 1s ease-in-out forwards;
}
.descr-kit p {
    text-align: left;   
    margin-bottom: 2px;
   
}

section p {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
    opacity: 0;
    animation: slideFromTop 1.2s ease-in-out forwards;
}

/* Products Section */
.products {
    background: #fff;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    justify-items: center;
}

.product-card {
  width:100%;
    position:relative;
    overflow:hidden;
    height:300px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
    opacity: 0;
    animation: fadeInUp 1.5s ease-in-out forwards;
}

.product-card img {
    max-width: 100%;
     width:100%;
    height:100%;
    transition: transform 0.3s;
    position:relative; 
}
.hover-product-card { width:100%; position:absolute;    background: linear-gradient(to top, rgb(0 0 0 / 80%), rgb(0 0 0 / 0%)); height:100%; bottom:0}
.cont-product-card {
    display:flex;
    z-index:1;
    position:absolute;
    width:100%;
    margin:20px 0;
    height:auto;
    bottom:0;
    flex-direction: column;
    gap: 5px;
}
 
.cont-product-card h3 {
    margin:0 5%;
  
    font-size: 18px;
    position: relative;
    color:#fff;
}

.cont-product-card p {
    font-size: 14px;
    color: #ddd;
    margin:0 5%;
    position: relative;
    text-align: justify;
}

.cont-product-card .btn {
    background: #d55151;
    color: white;
    padding: 8px;
    text-decoration: none;
    font-size: 14px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s;
    position: relative;
    margin:0 5%;
    width: 100px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-content: center;
}

.product-card .btn:hover {
    background: #e31e1e;
}

.product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Contact Section */
.contact {
    background: #f1f1f1;
    animation: fadeInUp 1.5s ease-in-out forwards;
}

.contact form {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.contact input, .contact textarea {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.contact button {
    background: #ff5722;
    color: white;
    padding: 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s;
}

.contact button:hover {
    background: #333;
}
.sectiondesktop { display: flex; flex-direction: row ; position: relative;}
/* Info Section */
.info {
    background: #222;
    color: white;
    padding: 30px 20px;
    text-align: center;
    line-height: 1.8;
    opacity: 0;
    animation: fadeInUp 1.5s ease-in-out forwards;
}

.info a {
    color: #ff5722;
    text-decoration: none;
}

.info a:hover {
    text-decoration: underline;
}

/* Footer */
footer {
    text-align: center;
    padding: 20px;
    background: #000;
    color: white;
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUp {
    from {
        transform: translateY(50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideFromTop {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
@media (max-width: 768px) {
    form {
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
        display: flex;
        width: 90%;
        margin: auto !important;!i;!;
        flex-direction: column;
    }
}