/* ===== Verbum District · Contattaci (modulo generico) ===== */
.vd-contact-form{
  --bg: transparent;
  --card:rgba(255,255,255,0.08);
  --ink:#f3f4f7;
  --muted:rgba(243,244,247,0.68);
  --line:rgba(255,255,255,0.18);
  --veil1:rgba(9,10,15,0.55);
  --veil2:rgba(16,18,26,0.28);
  --glass1:rgba(255,255,255,0.12);
  --glass2:rgba(255,255,255,0.04);
  --glass-stroke:rgba(255,255,255,0.22);
  --cta-ink:var(--accent, #f5f5f5);
  background:transparent; color:var(--ink);
  font-family:'Montserrat',system-ui,sans-serif; font-size:16px; line-height:1.5;
}

.vd-contact-form .vd-section{ scroll-margin-top:88px; padding:60px 16px; }

/* Mobile first */
.vd-contact-form .vd-container{ max-width:1280px; margin:0 auto; display:grid; gap:24px; }

.vd-contact-form .vd-cards{ display:grid; gap:20px; grid-template-columns:1fr; }

/* SOLO per il gruppo a tab: una card per volta su mobile */
.vd-contact-form .vd-cards--tabs > .vd-card{ display:none; }
.vd-contact-form .vd-cards--tabs > .vd-card.vd-is-active{ display:block; }

/* Tabs mobile */
.vd-contact-form .vd-tabs-banner{ position:sticky; top:0; background:transparent; padding:12px; z-index:10 }
.vd-contact-form .vd-tabs{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px }
@media (min-width:768px){ .vd-contact-form .vd-tabs-banner{ display:none } }

/* Desktop: modulo più largo */
@media (min-width:768px){
  .vd-contact-form .vd-cards--tabs{ grid-template-columns:2fr 1fr; gap:24px; }
  .vd-contact-form .vd-cards--tabs > .vd-card{ display:block; }
}
@media (min-width:1024px){ .vd-contact-form .vd-cards--tabs{ gap:28px } }

/* Card glass */
.vd-contact-form .vd-card{
  background:
    linear-gradient(135deg, var(--glass1), transparent 60%),
    linear-gradient(180deg, var(--veil1), var(--veil2));
  -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%);
  border:1px solid var(--glass-stroke); border-radius:28px;
  box-shadow:0 24px 60px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.18);
  padding:24px;
  transition:box-shadow .25s ease, transform .25s ease;
}
.vd-contact-form .vd-card:hover{ box-shadow:0 30px 70px rgba(0,0,0,0.5) }
@supports not ((-webkit-backdrop-filter) or (backdrop-filter)){ .vd-contact-form .vd-card{ background:var(--glass2) } }

/* Titoli scheda */
.vd-contact-form .vd-card h2{
  font-weight:700; text-transform:uppercase; text-align:center;
  font-size:clamp(1.6rem,3vw,2.4rem); color:var(--ink); margin:0 0 10px;
}
.vd-contact-form .vd-card p{
  font-size:clamp(.95rem,1.4vw,1.05rem); color:var(--muted); text-align:center; margin:0 0 20px;
}
.vd-contact-form .vd-card a{ color:var(--ink); text-decoration:underline; }

/* Form */
.vd-contact-form form{ display:block }
.vd-contact-form .vd-form-grid{ display:grid; gap:14px }
@media (min-width:1024px){
  .vd-contact-form .vd-form-grid{ grid-template-columns:repeat(2,1fr); gap:16px; align-items:start }
  .vd-contact-form .vd-span-2{ grid-column:1 / -1 }
}
.vd-contact-form input,
.vd-contact-form select,
.vd-contact-form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:12px;
  background:rgba(255,255,255,0.08); color:var(--ink); font:500 .95rem/1.4 Montserrat,sans-serif;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.vd-contact-form input::placeholder,
.vd-contact-form textarea::placeholder{ color:rgba(243,244,247,0.5) }
.vd-contact-form input:focus,
.vd-contact-form select:focus,
.vd-contact-form textarea:focus{
  outline:none;
  border-color:rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.12);
  box-shadow:0 0 0 2px rgba(255,255,255,0.08);
}
.vd-contact-form textarea{ min-height:120px; resize:vertical }

.vd-contact-form .vd-actions{ display:flex; gap:12px; justify-content:center; align-items:center }

/* ===== Bottoni, hover coerente con tab mobile attivo ===== */
.vd-contact-form .vd-btn,
.vd-contact-form .vd-tabs button,
.vd-contact-form a.vd-btn{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:12px 20px; border-radius:999px;
  border:2px solid currentColor; background:transparent; color:var(--ink);
  font-weight:600; text-transform:lowercase; text-decoration:none;
  transition:transform .2s ease, color .2s ease, border-color .2s ease;
  cursor:pointer;
}

/* Hover = stile del tab selezionato */
.vd-contact-form .vd-btn:hover,
.vd-contact-form a.vd-btn:hover{
  color:var(--accent, #9ad0ff);
  border-color:var(--accent, #9ad0ff);
  transform:translateY(-1px);
}
.vd-contact-form .vd-tabs button:hover{
  color:var(--accent, #9ad0ff);
  border-color:var(--accent, #9ad0ff);
}
.vd-contact-form .vd-tabs button[aria-selected="true"]{
  color:var(--accent, #9ad0ff); border-color:var(--accent, #9ad0ff);
}
/* Focus visibile coerente */
.vd-contact-form .vd-btn:focus-visible,
.vd-contact-form a.vd-btn:focus-visible,
.vd-contact-form .vd-tabs button:focus-visible{
  outline:2px solid var(--cta-ink);
  outline-offset:2px;
}

/* Messaggi stato */
.vd-contact-form .vd-notice{ display:none; text-align:center; padding:12px; border-radius:10px }
.vd-contact-form .vd-notice.vd-notice--success{ background:#4CAF50; color:#fff }
.vd-contact-form .vd-notice.vd-notice--error{ background:#B00020; color:#fff }

/* Consensi */
.vd-contact-form .vd-consent{ display:grid; gap:12px; margin-top:6px; }
.vd-contact-form .vd-consent .vd-consent__option{
  display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start;
  color:var(--muted);
}
.vd-contact-form .vd-consent .vd-consent__option input{
  position:absolute; opacity:0; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);
}
.vd-contact-form .vd-consent .vd-consent__check{
  width:22px; height:22px; border-radius:6px; border:1px solid var(--line);
  background:var(--card); box-shadow:0 1px 3px rgba(0,0,0,.06); position:relative; flex:0 0 22px;
}
.vd-contact-form .vd-consent .vd-consent__check::after{
  content:""; position:absolute; left:5px; top:3px; width:10px; height:6px;
  border:2px solid transparent; border-left-color:#fff; border-bottom-color:#fff;
  transform:rotate(-45deg) scale(.6); opacity:0; transition:opacity .15s ease, transform .15s ease;
}
.vd-contact-form .vd-consent .vd-consent__option input:checked + .vd-consent__check{
  background:var(--cta-ink); border-color:var(--cta-ink);
}
.vd-contact-form .vd-consent .vd-consent__option input:checked + .vd-consent__check::after{
  opacity:1; transform:rotate(-45deg) scale(1);
}
.vd-contact-form .vd-consent .vd-consent__option input:focus-visible + .vd-consent__check{
  outline:2px solid var(--cta-ink); outline-offset:2px;
}
.vd-contact-form .vd-consent .vd-consent__text a{ color:var(--ink); text-decoration:underline; }
