.elementor-1090 .elementor-element.elementor-element-ed18821{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-ed18821 *//* ============================
   CONTATTI · STILI BASE
   ============================ */
:root{
  --color-primary: #0A4EA8;
  --color-accent:  #E31C24;
  --color-bg-alt:  #F5F7FA;
  --gray-300: #D6DBE3;
  --gray-700: #4A5568;
  --gray-800: #2D3748;
}

/* wrapper max-width */
.c-wrap{ max-width: 1100px; margin-inline: auto; padding-inline: 1rem; }

/* ---------- HERO ---------- */
.c-hero{ background:#fff; padding:3rem 0 2rem; }
.c-title{
  font-family: Montserrat, sans-serif; font-weight:800;
  color: var(--color-primary); line-height:1.1;
  text-transform:none; /* lowercase look */
  font-size: clamp(2rem, 2.4vw + 1rem, 2.7rem);
  text-align:center; margin:0 0 .4rem;
}
.c-sub{
  text-align:center; color:var(--gray-800);
  font-size:clamp(1rem,.4vw + 1rem,1.12rem);
  margin:0 auto; max-width: 900px;
}

/* ---------- GRID DI CONTATTO ---------- */
.c-grid{ background: var(--color-bg-alt); padding: 1.2rem 0 1.6rem; border-top:1px solid var(--gray-300); border-bottom:1px solid var(--gray-300); }
.c-grid__inner{
  display:grid; gap:1rem 1.2rem;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1024px){ .c-grid__inner{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px){ .c-grid__inner{ grid-template-columns: 1fr; } }

.c-card{
  display:flex; gap:.7rem; align-items:flex-start;
  background:#fff; border:1px solid var(--gray-300); border-radius:12px;
  padding: .9rem 1rem; text-decoration:none;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s, border-color .2s;
  color: inherit;
}
.c-card:hover{
  transform: translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
  border-color: var(--color-primary);
}
.c-ico img{ display:block; width:28px; height:28px; }
.c-k{ display:block; font-weight:700; color: var(--color-primary); font-size:1rem; line-height:1.2; }
.c-v{ display:block; color: var(--gray-800); font-size:.98rem; line-height:1.35; }

/* ---------- MAPPA ---------- */
.c-map{ background:#fff; padding: 1.6rem 0 0; }
.c-map__frame{
  border:1px solid var(--gray-300); border-radius:12px; overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  aspect-ratio: 16/9; background:#eef2f7;
}
.c-map__iframe{ width:100%; height:100%; border:0; display:block; }
.c-map__hint{ text-align:center; margin:.8rem 0 1.6rem; }

/* ghost button rosso */
.btn-ghost-red{
  display:inline-block; border:2px solid var(--color-accent); color:var(--color-accent);
  background:transparent; border-radius:8px; font-weight:800;
  padding:.55rem 1rem; text-decoration:none; transition: background .2s, color .2s;
}
.btn-ghost-red:hover{ background: var(--color-accent); color:#fff; }

/* ---------- FORM ---------- */
.c-form{ background:#fff; padding: 1.6rem 0 2.2rem; }
.c-form__grid{
  display:grid; gap:1.2rem 1.4rem; align-items:start;
  grid-template-columns: 1.1fr 1fr;
}
@media (max-width: 992px){ .c-form__grid{ grid-template-columns: 1fr; } }

.c-form__txt h2{ margin:.2rem 0 .4rem; color: var(--color-primary); }
.c-points{ list-style:none; padding:0; margin:.4rem 0 0; }
.c-points li{
  position:relative; padding-left:1rem; margin:.28rem 0; color:var(--gray-800);
}
.c-points li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:.55rem; height:.55rem; border-radius:2px; background: var(--color-accent);
}

/* form box */
.c-form__box{
  background:#fff; border:1px solid var(--gray-300); border-radius:12px; padding:1rem 1rem 1.2rem;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}
.c-form__box .row{ display:grid; gap:.8rem 1rem; grid-template-columns: 1fr 1fr; }
.c-form__box .col{ display:flex; flex-direction:column; }
@media (max-width: 575px){ .c-form__box .row{ grid-template-columns:1fr; } }

.c-form__box label{ font-weight:700; color: var(--color-primary); font-size:.95rem; margin: .25rem 0 .25rem; }
.c-form__box input, .c-form__box select, .c-form__box textarea{
  border:1px solid var(--gray-300); border-radius:10px; padding:.6rem .75rem; font-size:1rem; color:var(--gray-800); background:#fff;
}
.c-form__box textarea{ resize:vertical; }

.c-form .consent{ display:flex; align-items:center; gap:.5rem; margin:.6rem 0 .6rem; }
.c-form .consent input{ width:18px; height:18px; }

.btn-red{
  border:none; background: var(--color-accent); color:#fff; border-radius:10px;
  padding:.7rem 1.1rem; font-weight:800; cursor:pointer;
  transition: filter .2s, transform .2s;
}
.btn-red:hover{ filter:brightness(0.95); transform: translateY(-1px); }
.c-note{ color: var(--gray-700); font-size:.9rem; margin:.5rem 0 0; }

/* Styling anche per Elementor Form (se lo usi al posto dell’HTML) */
.elementor-form .elementor-field-group input,
.elementor-form .elementor-field-group select,
.elementor-form .elementor-field-group textarea{
  border:1px solid var(--gray-300); border-radius:10px; padding:.6rem .75rem;
}
.elementor-form .elementor-button{
  border:2px solid var(--color-accent); background:transparent; color:var(--color-accent);
  font-weight:800; border-radius:10px; padding:.6rem 1.1rem;
  transition: background .2s, color .2s;
}
.elementor-form .elementor-button:hover{ background: var(--color-accent); color:#fff; }

/* ---------- SOCIAL ---------- */
.c-social{ background:#fff; padding:1.2rem 0 2rem; }
.c-social__ttl{
  text-align:center; margin:.2rem 0 1rem;
  color: var(--color-primary); font-weight:800; text-transform:none;
}
.social-row{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem .8rem;
}
.social{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .7rem; border:1px solid var(--gray-300); border-radius:999px; background:#fff;
  text-decoration:none; color:var(--color-primary); font-weight:700;
  transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.social:hover{ background:var(--color-primary); color:#fff; transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.08); border-color:var(--color-primary); }
.social img{ width:28px; height:28px; display:block; }/* End custom CSS */