.elementor-21741 .elementor-element.elementor-element-d79d49b{--spacer-size:65px;}.elementor-21741 .elementor-element.elementor-element-70362b2{--spacer-size:40px;}.elementor-21741 .elementor-element.elementor-element-a2a80f6 > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-21741 .elementor-element.elementor-element-a2a80f6 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group.recaptcha_v3-bottomleft, .elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-21741 .elementor-element.elementor-element-207a59d .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-21741 .elementor-element.elementor-element-207a59d .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-21741 .elementor-element.elementor-element-207a59d .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-type-html{padding-bottom:0px;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group .elementor-field{color:#000000;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-button[type="submit"]{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-21741 .elementor-element.elementor-element-207a59d{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-21741 .elementor-element.elementor-element-1e4649c{--spacer-size:103px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-03f15a2 */<style>
  /* --- BOOKING HERO PREMIUM STYLE --- */
  .wave-booking-hero {
    background-color: #f4f8ff; 
    padding: 120px 20px 80px 20px;
    font-family: 'Poppins', sans-serif;
    display: flex;
    justify-content: center;
  }

  .booking-hero-container {
    max-width: 1100px;
    width: 100%;
  }

  .booking-text-wrapper {
    position: relative;
    padding-left: 35px;
    border-left: 6px solid #C6954F; /* La linea ORO */
    max-width: 850px; /* Leggermente più largo per il titolo nuovo */
  }

  /* Label superiore */
  .wave-mini-label {
    color: #C6954F; 
    font-size: 13px; 
    font-weight: 700; 
    letter-spacing: 3px; 
    text-transform: uppercase; 
    display: block; 
    margin-bottom: 15px;
  }

  /* Titolo principale */
  .booking-text-wrapper h1 {
    color: #132D54;
    font-size: clamp(32px, 5vw, 52px); 
    font-weight: 800;
    margin: 0 0 20px 0;
    line-height: 1.15;
  }

  .booking-text-wrapper h1 .highlight {
    font-style: italic; /* O se preferisci normale, togli italic */
    color: #132D54; 
    /* Opzionale: se vuoi evidenziare "Chia" in oro, cambia colore qui */
  }

  /* Descrizione */
  .booking-description {
    color: #555;
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 30px;
    max-width: 650px;
  }

  /* Badge di fiducia sotto il testo */
  .booking-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: white;
    padding: 12px 25px;
    border-radius: 50px;
    box-shadow: 0 10px 25px rgba(19, 45, 84, 0.05);
    border: 1px solid #e1e8ed;
    transition: transform 0.3s ease;
  }
  
  /* Piccolo effetto hover sul badge per renderlo interattivo */
  .booking-trust-badge:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(19, 45, 84, 0.1);
  }

  .booking-trust-badge i {
    color: #2ecc71; /* Verde per dare l'idea di "Ok/Sicuro" */
    font-size: 20px;
  }

  .booking-trust-badge span {
    color: #132D54;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  /* Mobile Adjustments */
  @media (max-width: 768px) {
    .wave-booking-hero { padding: 100px 20px 60px 20px; }
    .booking-text-wrapper { padding-left: 20px; border-left-width: 4px; }
    .booking-description { font-size: 16px; }
    .booking-trust-badge { width: 100%; justify-content: center; box-sizing: border-box; text-align: center; }
    .booking-trust-badge span { font-size: 12px; }
  }
</style>/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a57ef74 */<style>
  /* --- HERO --- */
  .wave-booking-hero { text-align: center; padding: 60px 20px 40px 20px; background-color: #fff; font-family: 'Poppins', sans-serif; }
  .booking-text-wrapper h1 { color: #132D54; font-size: 42px; font-weight: 800; margin: 15px 0; }
  .booking-description { color: #555; font-size: 18px; max-width: 800px; margin: 0 auto 30px auto; line-height: 1.6; }
  .booking-trust-badge { display: inline-flex; align-items: center; gap: 10px; color: #27ae60; font-weight: 600; font-size: 15px; background: #e8f8f0; padding: 10px 20px; border-radius: 50px; }

  /* --- SIDEBAR --- */
  .wave-booking-sidebar { 
    background: #ffffff; padding: 30px; border-radius: 12px; border: 1px solid #e1e8ed; 
    font-family: 'Poppins', sans-serif; box-shadow: 0 20px 50px rgba(19, 45, 84, 0.1); 
    box-sizing: border-box; position: relative; overflow: hidden; height: fit-content; width: 100%;
  }
  .wave-sidebar-image { width: 100%; height: 200px; overflow: hidden; border-radius: 8px; margin-bottom: 25px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
  .wave-sidebar-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
  .wave-booking-sidebar:hover .wave-sidebar-image img { transform: scale(1.05); }
  .wave-booking-sidebar .wave-mini-label { color: #C6954F; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; display: block; margin-bottom: 15px; }
  .wave-booking-sidebar h3 { font-size: 24px; line-height: 1.3; font-weight: 700; color: #C6954F; margin: 0 0 15px 0; }
  .wave-booking-sidebar h3 .highlight-text { color: #132D54; }
  .wave-booking-sidebar .sidebar-intro { color: #666; font-size: 14px; line-height: 1.6; margin-bottom: 25px; }
  
  /* Video Card & Features */
  .wave-video-card { display: flex; align-items: center; background-color: #f4f8ff; padding: 15px; border-radius: 12px; text-decoration: none; margin-bottom: 30px; transition: all 0.3s; border-left: 4px solid #132D54; }
  .wave-video-card:hover { background: #fff; box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: translateY(-2px); }
  .play-icon-circle { width: 35px; height: 35px; background: #132D54; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; margin-right: 12px; flex-shrink: 0; }
  .video-text strong { display: block; color: #132D54; font-size: 14px; }
  .video-text span { color: #777; font-size: 12px; }
  .side-feature { display: flex; align-items: flex-start; margin-bottom: 20px; }
  .sf-icon-circle { width: 40px; height: 40px; background: #f4f8ff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #132D54; margin-right: 15px; flex-shrink: 0; }
  .sf-text h4 { margin: 0; color: #132D54; font-size: 15px; font-weight: 700; }
  .sf-text p { margin: 0; color: #666; font-size: 13px; }

  /* --- REVIEWS & FAQ --- */
  .wave-reviews-header { text-align: center; padding: 80px 20px 40px 20px; font-family: 'Poppins', sans-serif; margin-top: 40px; border-top: 1px solid #eee; }
  .wave-sub-heading { font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #C6954F; display: block; margin-bottom: 15px; }
  .wave-reviews-header h2 { color: #132D54; font-size: 38px; font-weight: 700; margin: 0 0 15px 0; }
  .wave-separator { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 25px; }
  .wave-separator .line { width: 60px; height: 2px; background-color: #C6954F; }
  .wave-separator .icon { font-size: 24px; color: #132D54; }
  .wave-reviews-header p { color: #666; font-size: 16px; max-width: 600px; margin: 0 auto; }

  .wave-premium-faq { padding: 60px 20px; background: #f9fbfd; font-family: 'Poppins', sans-serif; }
  .wave-faq-header { text-align: center; margin-bottom: 40px; }
  .wave-faq-header h2 { color: #132D54; font-size: 32px; font-weight: 800; margin-top: 15px; }
  .wave-separator-line { width: 50px; height: 3px; background: #C6954F; margin: 20px auto; }
  .wave-faq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; max-width: 1100px; margin: 0 auto; }
  .wave-faq-card { background: #fff; padding: 25px; border-radius: 12px; display: flex; gap: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.03); }
  .faq-icon { font-size: 24px; }
  .wave-faq-card h3 { color: #132D54; font-size: 16px; margin: 0 0 8px 0; font-weight: 700; }
  .wave-faq-card p { color: #666; font-size: 14px; margin: 0; line-height: 1.5; }
  .faq-footer-link { text-align: center; margin-top: 30px; color: #888; font-size: 14px; }
  .faq-footer-link a { color: #132D54; font-weight: 700; text-decoration: underline; }

  @media (max-width: 768px) {
    .booking-text-wrapper h1 { font-size: 32px; }
    .wave-reviews-header h2 { font-size: 28px; }
    .wave-booking-sidebar { margin-top: 30px; }
  }
</style>/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-207a59d *//* --- WAVEPROJECT BOOKING FORM (ID METHOD) --- */

/* 1. Contenitore Principale */
#booking-forced-blue .elementor-widget-container {
    background-color: #132D54 !important; /* Blu forzato */
    padding: 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    font-family: 'Segoe UI', sans-serif !important;
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 2. Logo */
#booking-forced-blue .elementor-widget-container::before {
    content: "";
    display: block;
    background-image: url('https://waveprojectca.com/wp-content/uploads/2023/06/logo-head-waveproject-e1743890954141.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100px;
    margin-bottom: 25px;
}

/* 3. Etichette (Labels) */
#booking-forced-blue .elementor-field-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

/* 4. Campi Input */
#booking-forced-blue .elementor-field-textual {
    background-color: #ffffff !important;
    color: #333 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    height: 50px !important;
}

/* Area messaggio */
#booking-forced-blue textarea.elementor-field-textual {
    height: 120px !important;
    padding-top: 15px !important;
}

/* Focus */
#booking-forced-blue .elementor-field-textual:focus {
    border-color: #00d2ff !important;
    box-shadow: 0 0 10px rgba(0, 210, 255, 0.3) !important;
}

/* 5. Bottone */
#booking-forced-blue .elementor-button {
    background-color: #00d2ff !important;
    color: #132D54 !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding: 15px 30px !important;
    width: 100% !important;
    margin-top: 15px !important;
}

#booking-forced-blue .elementor-button:hover {
    background-color: #ffffff !important;
    color: #132D54 !important;
    transform: translateY(-2px);
}

/* 6. Errori e Varie */
#booking-forced-blue .wpcf7-not-valid-tip {
    color: #ffcccc !important;
}

/* Privacy Text */
#booking-forced-blue .elementor-field-type-acceptance label {
    color: #e0e0e0 !important;
    font-size: 12px !important;
}

#booking-forced-blue .elementor-field-type-acceptance a {
    color: #00d2ff !important;
}

/* Mobile Fix */
@media (max-width: 767px) {
    #booking-forced-blue .elementor-widget-container {
        padding: 20px 15px !important;
    }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-537cac6 *//* --- WAVEPROJECT BOOKING FORM (BLUE FORCED) --- */

/* 1. Contenitore Principale Blu */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-widget-container {
    background-color: #132D54 !important; /* AGGIUNTO !important PER FORZARE IL BLU */
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    font-family: 'Segoe UI', sans-serif;
    color: white !important; /* Forza il testo bianco */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Aggiunto un bordino sottile per staccarlo */
}

/* 2. LOGO */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-widget-container::before {
    content: "";
    display: block;
    background-image: url('https://waveprojectca.com/wp-content/uploads/2023/06/logo-head-waveproject-e1743890954141.jpg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100px; 
    margin-bottom: 25px;
}

/* 3. Etichette (Labels) */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-field-group .elementor-field-label {
    color: #ffffff !important; /* Forza bianco */
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* 4. Input Fields (Campi di testo) */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-field-textual {
    width: 100%;
    height: 50px; 
    padding: 10px 15px;
    background-color: #ffffff !important; /* Forza sfondo bianco per scrivere */
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px; 
    color: #333 !important; /* Testo scuro mentre scrivi */
    transition: all 0.3s ease;
}

/* Area di testo grande */
.elementor-21741 .elementor-element.elementor-element-537cac6 textarea.elementor-field-textual {
    height: 120px;
    padding-top: 15px;
}

/* Effetto quando clicchi nel campo */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-field-textual:focus {
    border-color: #00d2ff !important; 
    outline: none;
    box-shadow: 0 0 8px rgba(0, 210, 255, 0.4);
}

/* 5. Bottone di Invio */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-button {
    background-color: #00d2ff !important; /* Azzurro acceso */
    color: #132D54 !important; /* Testo scuro */
    padding: 15px 30px;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    border: none;
    border-radius: 50px; 
    cursor: pointer;
    width: 100%;
    margin-top: 15px;
    transition: all 0.3s ease;
}

/* Hover sul bottone */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-button:hover {
    background-color: #ffffff !important;
    color: #132D54 !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

/* 6. Messaggi di errore/successo */
.elementor-21741 .elementor-element.elementor-element-537cac6 .wpcf7-not-valid-tip {
    color: #ffcccc !important; /* Rosso chiaro */
    font-size: 13px;
    margin-top: 5px;
}

/* 7. Privacy */
.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-field-type-acceptance label {
    font-size: 13px;
    color: #e0e0e0 !important;
}

.elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-field-type-acceptance a {
    color: #00d2ff !important;
    text-decoration: none;
    font-weight: bold;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .elementor-21741 .elementor-element.elementor-element-537cac6 .elementor-widget-container {
        padding: 20px 15px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3bf6eef */<style>
  /* --- WAVEPROJECT WHATSAPP POPUP CSS --- */

  /* CONTAINER PRINCIPALE */
  #wave-whatsapp-popup {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 300px;
    background-color: #ffffff;
    box-shadow: 0 20px 50px rgba(19, 45, 84, 0.15); /* Ombra morbida */
    border-radius: 16px;
    border-left: 5px solid #C6954F; /* Bordo ORO */
    z-index: 99999;
    padding: 20px;
    font-family: 'Poppins', sans-serif;
    
    /* REGOLE FONDAMENTALI PER TENERLO NASCOSTO ALL'INIZIO */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(100px) scale(0.9); 
    pointer-events: none; /* Disabilita i click quando è invisibile */
    
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }

  /* STATO ATTIVO (Quando il Javascript lo fa apparire) */
  #wave-whatsapp-popup.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1);
    pointer-events: auto; /* Riattiva i click */
  }

  /* TASTO CHIUSURA (X) */
  .wave-close-x {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    color: #ccc;
    cursor: pointer;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    transition: color 0.3s;
  }
  .wave-close-x:hover { color: #132D54; }

  /* LAYOUT INTERNO */
  .wave-popup-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .wave-avatar-icon {
    font-size: 28px;
    color: #25D366; /* Verde WhatsApp */
    margin-bottom: 10px;
  }

  .wave-title-text {
    color: #132D54; /* Blu Brand */
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
  }

  .wave-message-text {
    color: #666;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 15px;
  }

  /* BOTTONE CHAT */
  .wave-chat-btn {
    background-color: #25D366;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3);
    transition: transform 0.2s, background 0.3s;
  }

  .wave-chat-btn:hover {
    background-color: #1ebe57;
    transform: translateY(-2px);
  }
  
  .btn-icon { margin-right: 8px; font-size: 14px; }

  /* MOBILE RESPONSIVE */
  @media (max-width: 768px) {
    #wave-whatsapp-popup {
      width: 260px;
      right: 20px;
      bottom: 20px;
      padding: 15px;
    }
  }
</style>/* End custom CSS */