:root {
  --itw-primary-rgb: 3, 169, 244;
  --itw-primary: #03A9F4; /* Il tuo colore brand */
  --itw-primary-light: rgba(3, 169, 244, 0.12); /* Versione trasparente per sfondi e ombre */
  --itw-text-dark: #2d3436;
  --itw-text-muted: #636e72;
  --itw-services-bg-card: #ffffff;
  --itw-services-bg-card-subtle: #fcfcfc; /* Grigio quasi impercettibile per staccare dal fondo bianco */
  --itw-gold: #D4AF37; /* Un oro elegante e professionale */
  --itw-gold-light: rgba(212, 175, 55, 0.1);
  --itw-gold-rgb: 212, 175, 55; /* Necessario per creare trasparenze con rgba() */
  --itw-gold-extra-light: rgba(var(--itw-gold-rgb), 0.12);
}

#nav-menu a.itw-menu:hover {
  font-weight: bold;
  text-decoration: underline;
  color: rgb(var(--itw-primary-rgb)) !important;
}

a.itw-menu {
  color: rgb(var(--itw-primary-rgb)) !important;
}

.jumbotron {
  padding: 6rem 0;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  /*border-radius: .3rem;*/
}

.text-itw {
  color: rgb(var(--itw-primary-rgb)) !important;
  /*color: #03a9f4 !important;*/
}

.itw-p-home {
  text-align: left;
  line-height: 26px;
  letter-spacing: 1px;
}

.footer-basic .social > a:hover {
  opacity: 0.8 !important;
}

.footer-basic .social > a {
  opacity: 1 !important;
}

body {
  color: #5c5c5c;
}

#itw-header-logo {
  max-height: 54px;
  max-width: 268px;
}

#itw-header-bar-intro {
  background: url("../../assets/img/home-wide.webp") center / cover;
}

.itw-hr, .itw-hr-100 {
  width: 50%;
  height: 1px;
  color: var(--bs-blue);
}

.itw-hr-100 {
  width: 100%;
}

/*#itw-bar-preventivo {*/
/*  background: linear-gradient(rgba(255,255,255,0) -12%, rgba(3,169,244,0.4)), url("../../assets/img/img-preventivo.webp") top / cover;*/
/*  border-width: 2px;*/
/*  border-top: 2px solid rgb(var(--itw-primary-rgb));*/
/*  border-bottom-style: solid;*/
/*  border-bottom-color: rgb(var(--itw-primary-rgb));*/
/*  border-radius: 0;*/
/*  padding: 20px;*/
/*  filter: blur(0px);*/
/*}*/

.box.itw-box-feature {
  border-radius: 20px;
  /*border-top-right-radius: 20px;*/
  /*border-bottom-left-radius: 20px;*/
  /*border-top-left-radius: 20px;*/
  border: 2px dashed var(--bs-blue);
  background: rgba(3,169,244,0.15) !important;
  /*border-bottom-right-radius: 20px;*/
}

.itw-box-feature-ico {
  color: var(--bs-blue);
  background: var(--bs-white);
}

/*#bar-home-counter {*/
/*  background: #03a9f4;*/
/*}*/

/*.itw-home-counter-ico {*/
/*  font-size: 2.5rem;*/
/*}*/

/*.itw-home-counter-count {*/
/*  font-size: 1.8rem;*/
/*}*/

#itw-bar-newsletter {
  background: linear-gradient(rgba(255,255,255,0) -12%, rgba(3,169,244,0.4)), url("../../assets/img/bg-bar-nl.webp") center / cover;
  border-width: 2px;
  border-top: 2px solid #03a9f4;
  border-bottom-style: solid;
  border-bottom-color: #03a9f4;
  border-radius: 0;
  filter: blur(0px);
}

.itw-form-nl-bg {
  background: rgba(255,255,255,0.6);
}

.itw-form-bg {
  background: rgba(3,169,244,0.1) !important;
}

.itw-label-privacy.m-0 {
  color: var(--bs-gray-700);
  font-size: 0.8rem;
}

#itw-footer-legacy {
  font-size: 0.9em;
}

#itw-footer-copy {
  letter-spacing: 1px;
}

.breadcrumb-item:before, .breadcrumb-item a {
  color: white !important;
  text-decoration: none;
}

.breadcrumb-item a:hover {
  text-decoration: underline;
}

#itw-footer, .list-eventi-date {
  background: rgba(3,169,244,0.8);
}

.itw-evento-info {
  font-size: 0.9rem;
}

.itw-evento-info-rilascio-attestato {
  font-size: 0.75rem;
}

.itw-evento-info-box-title {
  background-color: rgba(3,169,244,0.8);
  border-color: rgba(3,169,244,0.8) !important;
}

.itw-evento-info-box-info {
  border-color: rgba(3,169,244,0.8) !important;
}

#itw-breadcrumbs {
  background: rgba(3,169,244,0.5);
}

/*.itw-evento-subtitle {*/
/*  color: var(--bs-gray-500);*/
/*}*/

.itw-box-ultimi-posti-title {
  font-size: 1.2rem;
}

.itw-box-ultimi-posti-text {
  font-size: 0.9rem;
}

.itw-evento-iscr-h5-modulo {
  color: var(--bs-gray-600);
}

.itw-box-organizzazione-icon {
  font-size: 1.5rem;
}

.page-subtitle {
  color: var(--bs-gray-500);
}

.page-subtitle-bold {
  color: var(--bs-gray-600) !important;
  font-weight: 700 !important;
}

h1.itw-page-title {
  font-size: 2.2rem !important;
  color: #03a9f4 !important;
}
h2.itw-page-subtitle {
  font-size: 1.7rem !important;
  color: var(--bs-gray-500);
  font-style: italic;
}
h2.itw-h2 {
  font-size: 1.7rem !important;
  color: #03a9f4 !important;
}

h3.itw-form-title {
  font-size: 1.5rem !important;
}

.ico-confirm-page {
  font-size: 5rem;
}

.form-uppercase{
  text-transform: uppercase;
}
.form-lowercase{
  text-transform: lowercase;
}
.nascosto{
  display: none !important;
}

.box-eventi-home {
  color: #313437;
}
.box-eventi-home .evento .box {
  background: rgba(3, 169, 244, 0.08) !important;
  border-radius: 20px;
  border: 1px dashed var(--bs-blue);
}

.box-eventi-home .evento .icona {
  font-size: 3rem;
}

.box-eventi-home .evento h3{
  font-size: 1rem;
}
.box-eventi-home .evento h4{
  font-size: 1.6rem;
  color: #5c5c5c;
}

.box-eventi-home .evento h5{
  color: gray;
  font-size: 1.1rem !important;
}

/*.box-eventi-home .evento .nome {*/
/*  font-weight: bold;*/
/*  font-size: 18px;*/
/*  margin-bottom: 8px;*/
/*  margin-top: 0;*/
/*  color: inherit;*/
/*}*/

.box-eventi-home .evento .dataora {
  font-size: 15px;
  margin-top: 15px;
  margin-bottom: 20px;
}

.itw-eventi-calendar-month {
  background-color: rgba(3,169,244,0.8);
  border-color: rgba(3,169,244,0.8) !important;
  display: block;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
}
.itw-eventi-calendar-day {
  border-color: rgba(3,169,244,0.8) !important;
  display: block;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.2;
}
.itw-eventi-calendar-subtitle {
  color: var(--bs-gray-600);
  font-weight: 500;
  font-size: 1.4rem;
}

.itw-eventi-calendar-dataora {
  color: var(--bs-gray-600);
  font-weight: 500;
  font-size: 1rem;
}

a.itw-lista-eventi-title{
  text-decoration: none !important;
}

p.itw-sysmsg-title{
  font-size: 1.5rem !important;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}
p.itw-sysmsg-msg{
  margin-bottom: 0 !important;
}

p.spinner-title {
  font-size: 1.25rem !important;
  font-weight: 500;
  line-height: 1.2;
}

p.itw-icon-text{
  font-size: 1.5rem !important;
}

h3.itw-h3 {
  font-size: 1.35rem !important;
}

.itw-select-placeholder:hover,
.itw-select-placeholder:focus,
.itw-select-placeholder:active,
.itw-select-placeholder:checked{
  color: dodgerblue !important;
}

.input-disabled:hover {
  cursor: not-allowed !important;
}

@-webkit-keyframes blinker
{
  0% { opacity: 0.3; }
  50% { opacity: 1.0; }
  100% { opacity: 0.3; }
}

/* Creiamo adesso la classe css che conterrà l’animazione, specificandogli il
numero di iterazioni da eseguire e la funzione di timing */
.blink-text
{
  -webkit-animation-name: blinker;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(.5, 0, 1, 1);
  -webkit-animation-duration: 1.7s;
  /*color: green;*/
}

.campo-obbligatorio:after {
  content: '*';
}

.campo-alternativo:after {
  content: '**';
}

.ribbon {
    /* Posizionamento e layout */
    position: absolute;
    top: 30px; /* Distanza dall'alto */
    left: -50px; /* Sposta a sinistra per centrare dopo la rotazione */
    width: 200px; /* Larghezza della striscia */

    /* Stile e rotazione */
    background-color: #ff4136; /* Colore della striscia (rosso) */
    color: white; /* Colore del testo */
    padding: 5px 0;
    text-align: center;
    font-family: sans-serif;
    font-weight: bold;
    letter-spacing: 1px;

    /* La magia dell'obliquità */
    /* Imposta l'angolo di inclinazione, ad esempio -45 gradi */
    transform: rotate(-45deg);

    /* Aggiungi un'ombra se desideri un effetto 3D */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);

    /* Rendi il testo non selezionabile per una migliore estetica */
    user-select: none;
    z-index: 1000;
}

.grecaptcha-badge {
  visibility: hidden !important;
}

.form-control.is-invalid,
.was-validated .form-control:invalid
{
  border: 1px solid red;
  background-image: none;
}

.form-select.is-invalid,
.was-validated .form-select:invalid
{
  border: 1px solid red;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

/* Struttura base della card evento */
.event-card {
  border: none;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06); /* Ombra grigia molto delicata */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effetto Hover (quando il mouse passa sopra) */
.event-card:hover {
  transform: translateY(-8px); /* La card si solleva */
  /* L'ombra diventa più intensa e prende il colore del tuo Azzurro! */
  box-shadow: 0 15px 30px rgba(3, 169, 244, 0.15);
}

/* --- Gestione Immagine e Zoom --- */
.event-image-wrapper {
  position: relative;
  overflow: hidden; /* Taglia via i bordi dell'immagine se fa zoom */
  border-radius: 16px 16px 0 0;
}

.event-image-wrapper img {
  height: 200px; /* Imposta un'altezza fissa uguale per tutte le immagini */
  width: 100%;
  object-fit: cover; /* Taglia l'immagine in modo perfetto senza deformarla */
  transition: transform 0.5s ease; /* Transizione morbida */
}

/* Zoom dell'immagine attivato dal passaggio sulla card */
.event-card:hover .event-image-wrapper img {
  transform: scale(1.08); /* Ingrandisce l'immagine dell'8% */
}

/* --- Il Badge della Data --- */
.event-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background-color: #d4af37; /* Colore Oro per spiccare */
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 30px; /* Effetto pillola */
  font-size: 0.85rem;
  font-weight: bold;
  z-index: 2; /* Assicura che stia sopra l'immagine */
  box-shadow: 0 4px 10px rgba(212, 175, 55, 0.4); /* Ombra dorata */
}

/* --- Il Bottone Azzurro Outline --- */
.btn-outline-itw {
  color: #03a9f4;
  border: 2px solid #03a9f4;
  border-radius: 50px; /* Arrotondato elegante */
  font-weight: 600;
  transition: all 0.3s ease;
  background-color: transparent;
}

/* Il bottone si riempie di azzurro al passaggio del mouse */
.btn-outline-itw:hover, .event-card:hover .btn-outline-itw {
  background-color: #03a9f4;
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(3, 169, 244, 0.3);
}

/* --- Il Placeholder (Quando manca la foto) --- */
.event-image-placeholder {
  position: relative;
  height: 200px; /* Stessa identica altezza delle foto! */
  /* Creiamo una sfumatura leggerissima basata sul tuo azzurro (#03a9f4) */
  background: linear-gradient(135deg, #f4f9fc 0%, #e1f2fb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
}

/* L'icona gigante in mezzo al placeholder */
.placeholder-icon {
  font-size: 5rem;
  color: rgba(3, 169, 244, 0.15); /* Il tuo azzurro, ma molto trasparente (effetto filigrana) */
  transition: transform 0.5s ease;
}

/* Facciamo lo zoom dell'icona quando passi il mouse sulla card, esattamente come la foto! */
.event-card:hover .placeholder-icon {
  transform: scale(1.15);
}

/* Ricordati che queste regole di prima rimangono fondamentali: */
.event-image-wrapper img {
  height: 200px;
  width: 100%;
  object-fit: cover; /* QUESTA SALVA LE FOTO VERTICALI/ORIZZONTALI */
  transition: transform 0.5s ease;
}
/* Stile base del ribbon */
.corner-ribbon {
  position: absolute;
  top: 20px; /* Distanza dall'alto */
  left: -40px; /* Spostato a sinistra per compensare la rotazione */
  width: 150px;
  padding: 5px 0;
  text-align: center;
  font-size: 0.85rem;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  background-color: #dc3545; /* Colore rosso (puoi usare la tua variabile di tema) */
  z-index: 10; /* Assicura che stia sopra l'immagine */

  /* Ruota il div di -45 gradi per l'angolo sinistro */
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/* Opzionale: aggiunge un po' di ombra per staccarlo dall'immagine */
.corner-ribbon.shadow {
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

.ribbon-iscrizioni-aperte {
  background-color: green !important;
}
.ribbon-card-evento {
  /*background-color: red !important;*/
  background-color: rgb(255, 0, 0, 0.85);

}

.image-bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgb(3, 169, 244, 0.75);
  /*text-align: center;*/
  padding: 8px 15px;
  font-size: 0.9rem;
  font-weight: 600;
  /*text-transform: uppercase;*/
  letter-spacing: 0.5px;
  z-index: 5;

  /* Opzionale: aggiunge un effetto sfocatura allo sfondo dietro la barra (supportato dai browser moderni) */
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Variante scura per il placeholder o altri stati */
.image-bottom-bar.bg-dark {
  background-color: rgba(33, 37, 41, 0.9) !important;
}

.itw-grid-limit {
  /* Occupa al massimo il 75%, ma non supera mai la larghezza del genitore (100%) */
  max-width: min(75%, 100%);
  width: 100%; /* Assicura che la riga cerchi di espandersi */
}

/* Opzionale: Se vuoi che il limite del 75% scatti solo su schermi grandi (desktop)
   e che su tablet/mobile sia più largo per non sprecare spazio: */
@media (min-width: 62rem) { /* Sopra i 992px circa */
  .itw-grid-limit {
    max-width: 85%;
  }
}


/* =========================================
      IL NUOVO FOOTER PREMIUM (Senza Pixel)
      ========================================= */

   /* Contenitore principale */
 .itw-new-footer {
   background-color: var(--itw-primary); /* Il tuo Azzurro */
   color: #ffffff;
   padding: 4rem 0 2rem 0; /* Spazio generoso per far respirare gli elementi */
 }

/* --- Lista dei Link Principali --- */
.itw-new-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem; /* Spazio tra i link */
}

.itw-new-footer-link {
  color: rgba(255, 255, 255, 0.85); /* Bianco leggermente trasparente */
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05rem;
  transition: all 0.3s ease;
}

.itw-new-footer-link:hover {
  color: #ffffff;
  text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.3); /* Leggero bagliore testuale */
}

/* --- Icone Social --- */
.itw-new-footer-socials {
  display: flex;
  gap: 1rem;
}

.itw-new-footer-social-icon {
  width: 2.75rem;
  height: 2.75rem;
  background-color: rgba(255, 255, 255, 0.15); /* Cerchio semitrasparente */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.25rem;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Effetto elastico */
}

/* Su hover, il bottone diventa bianco e l'icona prende il colore del brand */
.itw-new-footer-social-icon:hover {
  background-color: #ffffff;
  color: var(--itw-primary);
  transform: translateY(-0.25rem) scale(1.1); /* Si solleva e si ingrandisce leggermente */
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* --- Linea di demarcazione --- */
.itw-new-footer-divider {
  border-color: rgba(255, 255, 255, 0.2);
  margin: 2.5rem 0 1.5rem 0;
}

/* --- Testi Legali e Copyright --- */
.itw-new-footer-text {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
}

.itw-new-footer-text a {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.3s ease;
}

.itw-new-footer-text a:hover {
  color: #ffffff;
}

/* =========================================
   IL NUOVO HEADER PREMIUM (Senza Pixel)
   ========================================= */

/* Contenitore principale (Sticky: rimane in alto allo scroll) */
.itw-new-header-wrapper {
  position: sticky;
  top: 0;
  z-index: 1030; /* Z-index standard per stare sopra a tutto il resto */
  background-color: #ffffff;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06); /* Ombra morbida moderna */
  transition: all 0.3s ease;
}

/* La Navigazione */
.itw-new-header-nav {
  padding: 0.75rem 0; /* Spazio verticale per far respirare il menu */
}

/* Il Ribbon superiore (se presente) */
.itw-new-header-ribbon {
  background-color: red;
  color: #ffffff;
  text-align: center;
  padding: 0.5rem 1rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
}

/* Immagine del Logo */
/* Immagine del Logo (Anti-deformazione) */
.itw-new-header-logo {
  height: 3.375rem; /* ~54px */
  width: auto;
  max-width: 100%;
  object-fit: contain; /* Mantiene le proporzioni assolute senza distorcere */
  flex-shrink: 0; /* Impedisce a Flexbox di schiacciare l'immagine su schermi piccoli */
  transition: transform 0.3s ease;
}

.itw-new-header-logo:hover {
  transform: scale(1.02);
}

/* Testo del logo per Mobile */
.itw-new-header-brand-text {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--itw-primary);
  text-decoration: none;
}

/* --- I Link del Menu --- */
.itw-new-header-link {
  color: var(--itw-text-dark); /* Grigio scuro per ottima leggibilità */
  font-weight: 600;
  font-size: 1rem;
  padding: 0.6rem 1.2rem !important; /* Sovrascrive il padding base di Bootstrap */
  margin: 0 0.2rem;
  border-radius: 0.5rem; /* Angoli smussati per lo sfondo su hover */
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem; /* Spazio tra icona e testo gestito da Flexbox (niente più margin-right manuale) */
}

/* Icone del menu */
.itw-new-header-link i {
  color: var(--itw-primary); /* Icone colorate fin da subito */
  font-size: 1.1rem;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Effetto Hover sui link del menu */
.itw-new-header-link:hover,
.itw-new-header-link:focus {
  background-color: var(--itw-primary-light); /* Sfondo azzurro trasparente */
  color: var(--itw-primary); /* Il testo diventa azzurro */
}

/* L'icona fa un piccolo "pop" su hover */
.itw-new-header-link:hover i {
  transform: scale(1.2);
}

/* Stile per il pulsante Toggler (Hamburger menu su mobile) */
.itw-new-header-toggler {
  border: none;
  padding: 0.5rem;
  border-radius: 0.5rem;
  background-color: var(--itw-primary-light);
  color: var(--itw-primary);
  transition: background-color 0.3s ease;
}

.itw-new-header-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(3, 169, 244, 0.25);
  outline: none;
}

  /* =========================================
     BARRA PREVENTIVO - VERSIONE EXECUTIVE
     ========================================= */

  /* Sezione principale a tutto schermo */
.itw-new-barra-preventivo-section {
  padding: 5rem 0;
  /* Overlay molto più leggero (da 0.3 a 0.15) per mostrare l'ufficio */
  background-image:
          linear-gradient(to right, rgba(3, 169, 244, 0.35), rgba(3, 169, 244, 0.15)),
          url('/assets/img/bg-preventivo-bar4.jpg');
          /*url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=1920&q=80');*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  position: relative;
}

/* Card centrale contenuta */
.itw-new-barra-preventivo-card {
  background: rgba(255, 255, 255, 0.80);/*#ffffff;*/
  border-radius: 1.5rem;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.25);
  border: none;
  transition: transform 0.3s ease;
}

.itw-new-barra-preventivo-card:hover {
  transform: translateY(-0.25rem);
}

/* Titoli */
.itw-new-barra-preventivo-title {
  color: var(--itw-primary); /* Assicurati che --itw-primary sia definito come #03A9F4 */
  font-weight: 800;
  font-size: 2rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.itw-new-barra-preventivo-subtitle {
  color: #636e72;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  margin-bottom: 2rem;
}

/* Layout Bottoni */
.itw-new-barra-preventivo-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
}

/* Base Bottoni */
.itw-new-barra-preventivo-btn {
  padding: 0.875rem 2.5rem;
  border-radius: 2.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05rem;
  transition: all 0.3s ease;
  text-decoration: none;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Bottone Primario */
.itw-new-barra-preventivo-btn-primary {
  background-color: #03A9F4;
  color: #ffffff !important;
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(3, 169, 244, 0.3);
}

.itw-new-barra-preventivo-btn-primary:hover {
  background-color: #0288D1;
  transform: translateY(-0.15rem);
  box-shadow: 0 0.75rem 1.5rem rgba(3, 169, 244, 0.4);
}

/* Bottone Outline */
.itw-new-barra-preventivo-btn-outline {
  background-color: transparent;
  color: #03A9F4 !important;
  border: 0.125rem solid #03A9F4;
}

.itw-new-barra-preventivo-btn-outline:hover {
  background-color: #03A9F4;
  color: #ffffff !important;
  transform: translateY(-0.15rem);
}

.itw-contact-link {
  color: var(--itw-text-dark);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.itw-contact-link:hover {
  color: var(--itw-primary);
}