/* ==========================================================================
   CARITAS CUSTOM — PUBLIC FORMS V16 CLEAN GLOBAL
   --------------------------------------------------------------------------
   Scopo:
   - un solo sistema grafico globale per tutti i Webform pubblici;
   - valido per i form esistenti e per quelli futuri;
   - desktop, tablet e smartphone;
   - niente CSS stratificato V11/V13/V15;
   - niente azzurro Drupal;
   - non tocca i form amministrativi.
   ========================================================================== */


/* ==========================================================================
   1. VARIABILI
   ========================================================================== */

:root {
  --caritas-form-red: #7b0500;
  --caritas-form-red-dark: #5e0300;
  --caritas-form-gold: #d89a1d;
  --caritas-form-teal: #0f8b8d;

  --caritas-form-ink: #101828;
  --caritas-form-text: #263447;
  --caritas-form-muted: #667085;

  --caritas-form-border: rgba(123, 5, 0, 0.14);
  --caritas-form-border-soft: rgba(123, 5, 0, 0.08);
  --caritas-form-bg: #ffffff;
  --caritas-form-soft: #fbf7f5;

  --caritas-form-radius: 28px;
  --caritas-form-radius-md: 20px;
  --caritas-form-radius-sm: 15px;

  --caritas-form-shadow: 0 24px 70px rgba(16, 24, 40, 0.075);
  --caritas-form-width: 820px;
}


/* ==========================================================================
   2. CONTENITORE GENERALE WEBFORM PUBBLICI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form,
body:not(.path-admin) .caritas-public-content form.webform-submission-form,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
  width: min(var(--caritas-form-width), 100%) !important;
  max-width: var(--caritas-form-width) !important;
  margin: 0 auto !important;
  padding: clamp(1.65rem, 4vw, 3rem) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.045), transparent 34%),
    #ffffff !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: var(--caritas-form-radius) !important;
  box-shadow: var(--caritas-form-shadow) !important;
  color: var(--caritas-form-text) !important;
  box-sizing: border-box !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form *,
body:not(.path-admin) .caritas-public-content form.webform-submission-form *,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] * {
  box-sizing: border-box !important;
  min-width: 0;
}


/* ==========================================================================
   3. TESTI, LABEL E DESCRIZIONI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form p {
  color: var(--caritas-form-text) !important;
  line-height: 1.7 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form label,
body:not(.path-admin) .caritas-public-content .webform-submission-form legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item label {
  display: block !important;
  max-width: 100% !important;
  margin-bottom: 0.42rem !important;
  color: var(--caritas-form-ink) !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-element-description {
  color: var(--caritas-form-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}


/* ==========================================================================
   4. CAMPI INPUT, SELECT, TEXTAREA
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="text"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="email"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="tel"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="url"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="date"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="time"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="number"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="password"],
body:not(.path-admin) .caritas-public-content .webform-submission-form select,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 0.78rem 0.95rem !important;
  border: 1px solid rgba(16, 24, 40, 0.16) !important;
  border-radius: var(--caritas-form-radius-sm) !important;
  background: #ffffff !important;
  color: var(--caritas-form-ink) !important;
  box-shadow: none !important;
  outline: none !important;
  font: inherit !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  min-height: 132px !important;
  resize: vertical !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form input:focus,
body:not(.path-admin) .caritas-public-content .webform-submission-form select:focus,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea:focus {
  border-color: rgba(123, 5, 0, 0.62) !important;
  box-shadow: 0 0 0 4px rgba(123, 5, 0, 0.10) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form input::placeholder,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea::placeholder {
  color: #8a93a3 !important;
}


/* ==========================================================================
   5. SPAZIATURA CAMPI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item {
  max-width: 100% !important;
  margin: 0 0 1.2rem !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset + fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form details + details,
body:not(.path-admin) .caritas-public-content .webform-submission-form details + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + details {
  padding-top: 1rem !important;
  border-top: 1px solid rgba(16, 24, 40, 0.08) !important;
}


/* ==========================================================================
   6. FIELDSET, DETAILS, GRUPPI DI DOMANDE
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form details {
  margin: 1.15rem 0 !important;
  padding: 1.1rem 1.15rem !important;
  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: var(--caritas-form-radius-md) !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset > legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset > legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form summary {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0.68rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--caritas-form-ink) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .details-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}


/* ==========================================================================
   7. RADIO E CHECKBOX
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="radio"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="checkbox"] {
  accent-color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-radios,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-checkboxes {
  display: grid !important;
  gap: 0.58rem !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.62rem !important;
  margin: 0 !important;
  padding: 0.4rem 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox input {
  flex: 0 0 auto !important;
  margin-top: 0.18rem !important;
}


/* ==========================================================================
   8. FILE UPLOAD
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="file"] {
  width: 100% !important;
  padding: 0.9rem !important;
  border: 1px dashed rgba(123, 5, 0, 0.28) !important;
  border-radius: var(--caritas-form-radius-sm) !important;
  background: var(--caritas-form-soft) !important;
  color: var(--caritas-form-text) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-managed-file {
  display: grid !important;
  gap: 0.65rem !important;
}


/* ==========================================================================
   9. PROGRESS TRACKER / WIZARD WEBFORM
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-progress,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
body:not(.path-admin) .caritas-public-content .progress-tracker {
  width: min(760px, 100%) !important;
  margin: 0 auto clamp(1.5rem, 3vw, 2.25rem) !important;
  padding: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
body:not(.path-admin) .caritas-public-content .progress-tracker {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  gap: 0.42rem !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 16px !important;
  left: calc(50% + 18px) !important;
  right: calc(-50% + 18px) !important;
  height: 3px !important;
  background: rgba(16, 24, 40, 0.18) !important;
  border-radius: 999px !important;
  z-index: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-complete:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-completed:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-complete:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-completed:not(:last-child)::after {
  background: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step::before,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step::before {
  display: none !important;
  content: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 auto 0.42rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #c9ccd2 !important;
  border: 4px solid #ffffff !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(16, 24, 40, 0.12), 0 8px 18px rgba(16, 24, 40, 0.08) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker::before,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker::before,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker::after {
  display: none !important;
  content: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-marker,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-complete .progress-marker,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-completed .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-complete .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-completed .progress-marker {
  background: var(--caritas-form-red) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(123, 5, 0, 0.24), 0 10px 24px rgba(123, 5, 0, 0.20) !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-text,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-title,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-text,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-title {
  display: block !important;
  max-width: 104px !important;
  margin: 0 auto !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.73rem !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  text-align: center !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-text,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-title,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-text,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-title {
  color: var(--caritas-form-ink) !important;
  font-weight: 950 !important;
}


/* ==========================================================================
   10. TABELLE / LIKERT / GRIGLIE DI RISPOSTA
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form table,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table td,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table td {
  padding: 0.78rem 0.82rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(123, 5, 0, 0.11) !important;
  color: var(--caritas-form-ink) !important;
  background: #ffffff !important;
  vertical-align: middle !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table thead th,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table thead th {
  background: rgba(123, 5, 0, 0.055) !important;
  color: var(--caritas-form-red) !important;
  font-weight: 900 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table tbody tr:hover th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table tbody tr:hover td {
  background: rgba(123, 5, 0, 0.025) !important;
}


/* ==========================================================================
   11. ERRORI, MESSAGGI, CAMPI OBBLIGATORI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-required::after {
  color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error-message,
body:not(.path-admin) .caritas-public-content .webform-submission-form .error,
body:not(.path-admin) .caritas-public-content .webform-submission-form .messages--error {
  color: var(--caritas-form-red-dark) !important;
  font-weight: 850 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error select,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error textarea {
  border-color: var(--caritas-form-red) !important;
  box-shadow: 0 0 0 4px rgba(123, 5, 0, 0.10) !important;
}


/* ==========================================================================
   12. PULSANTI / AZIONI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0.75rem !important;
  margin-top: 1.6rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(16, 24, 40, 0.08) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0.15rem 1.2rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--caritas-form-red), #990b04) !important;
  border: 1px solid var(--caritas-form-red) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(123, 5, 0, 0.18) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button:hover,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit:hover,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"]:hover {
  transform: translateY(-1px) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button:disabled,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit:disabled,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"]:disabled {
  background: #c9c9c9 !important;
  border-color: #c9c9c9 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Pulsante precedente / secondario */
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-button--previous,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[data-drupal-selector*="previous"] {
  background: #ffffff !important;
  color: var(--caritas-form-red) !important;
  border-color: rgba(123, 5, 0, 0.22) !important;
  box-shadow: none !important;
}


/* ==========================================================================
   13. RESPONSIVE TABLET
   ========================================================================== */

@media (max-width: 900px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form,
  body:not(.path-admin) .caritas-public-content form.webform-submission-form,
  body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
    width: min(100%, calc(100vw - 32px)) !important;
    padding: 1.55rem !important;
    border-radius: 24px !important;
  }
}


/* ==========================================================================
   14. RESPONSIVE SMARTPHONE
   ========================================================================== */

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form,
  body:not(.path-admin) .caritas-public-content form.webform-submission-form,
  body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
    width: min(100%, calc(100vw - 24px)) !important;
    padding: 1.25rem !important;
    border-radius: 22px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
  body:not(.path-admin) .caritas-public-content .webform-submission-form details {
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
  body:not(.path-admin) .caritas-public-content .progress-tracker {
    overflow-x: auto !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding-bottom: 0.4rem !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step,
  body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step {
    flex: 0 0 86px !important;
    min-width: 86px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step:not(:last-child)::after,
  body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step:not(:last-child)::after {
    display: none !important;
    content: none !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form table,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-actions {
    flex-direction: column !important;
    justify-content: stretch !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .button,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit,
  body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
  }
}

/* ==========================================================================
   V17 — Fix mobile Webform: testi lunghi e overflow orizzontale
   --------------------------------------------------------------------------
   Obiettivo:
   - impedire lo scroll laterale del contenuto del form;
   - forzare il ritorno a capo di domande, label e opzioni lunghe;
   - mantenere responsive desktop/tablet/mobile;
   - lasciare scorribile solo lo stepper, se necessario.
   ========================================================================== */


/* Evita che i Webform pubblici allarghino tutta la pagina su mobile */
body:has(.caritas-public-content .webform-submission-form) {
  overflow-x: hidden !important;
}


/* Il form non deve mai uscire dal contenitore */
body:not(.path-admin) .caritas-public-content .webform-submission-form,
body:not(.path-admin) .caritas-public-content form.webform-submission-form,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
  max-width: 100% !important;
  overflow-x: hidden !important;
}


/* Tutti i testi interni devono poter andare a capo */
body:not(.path-admin) .caritas-public-content .webform-submission-form label,
body:not(.path-admin) .caritas-public-content .webform-submission-form legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__description,
body:not(.path-admin) .caritas-public-content .webform-submission-form p,
body:not(.path-admin) .caritas-public-content .webform-submission-form span,
body:not(.path-admin) .caritas-public-content .webform-submission-form div {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}


/* Radio e checkbox: il testo deve occupare lo spazio disponibile e andare a capo */
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}


/* Fieldset e wrapper non devono mai creare larghezze anomale */
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .details-wrapper {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}


/* Campi e textarea sempre dentro lo schermo */
body:not(.path-admin) .caritas-public-content .webform-submission-form input,
body:not(.path-admin) .caritas-public-content .webform-submission-form select,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  max-width: 100% !important;
}


/* Tabelle/Likert: niente testo forzato su una riga */
body:not(.path-admin) .caritas-public-content .webform-submission-form table,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table,
body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}


/* Su smartphone le tabelle possono scorrere, ma senza allargare tutta la pagina */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form table,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: normal !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
  body:not(.path-admin) .caritas-public-content .webform-submission-form table td {
    white-space: normal !important;
  }
}

/* ==========================================================================
   V18 SAFE — Blocco documenti scaricabili nei Webform
   --------------------------------------------------------------------------
   Base stabile: V16 + V17.
   Obiettivo:
   - migliorare solo il blocco documenti;
   - non alterare la struttura generale dei Webform;
   - compatibile desktop, tablet e smartphone.
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs {
  margin: 1.5rem 0 !important;
  padding: clamp(1.15rem, 2.5vw, 1.6rem) !important;
  border: 1px solid rgba(123, 5, 0, 0.12) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.045), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffaf7 100%) !important;
  box-shadow: 0 14px 34px rgba(16, 24, 39, 0.07) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs h3 {
  margin: 0 0 0.5rem !important;
  color: var(--caritas-form-ink) !important;
  font-size: clamp(1.25rem, 2vw, 1.55rem) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs h3::first-letter {
  color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs p {
  margin: 0 0 1rem !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs ul {
  display: grid !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 0.25rem 0.85rem !important;
  align-items: start !important;
  padding: 0.9rem 1rem !important;
  border: 1px solid rgba(123, 5, 0, 0.11) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 22px rgba(16, 24, 39, 0.045) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li::before {
  content: "PDF" !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: var(--caritas-form-red) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 10px 22px rgba(123, 5, 0, 0.18) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li a {
  grid-column: 2 !important;
  display: block !important;
  color: var(--caritas-form-red) !important;
  font-size: 0.98rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.18em !important;
  overflow-wrap: anywhere !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li span {
  grid-column: 2 !important;
  display: block !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
}

/* Mobile */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs {
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li {
    padding: 0.85rem !important;
  }
}

/* ==========================================================================
   CONTATTO — Avviso moduli dedicati
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .caritas-contact-notice {
  margin: 1.5rem 0 0 !important;
  padding: 1.45rem !important;
  border: 1px solid rgba(123, 5, 0, 0.16) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.055), transparent 34%),
    #fffaf7 !important;
  box-shadow: 0 16px 42px rgba(16, 24, 40, 0.06) !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice h3 {
  margin: 0 0 0.75rem !important;
  color: #101828 !important;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice p {
  max-width: 680px !important;
  margin: 0 0 1.1rem !important;
  color: #263447 !important;
  line-height: 1.65 !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  align-items: center !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0.15rem 1.15rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #7b0500, #990b04) !important;
  border: 1px solid #7b0500 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(123, 5, 0, 0.18) !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a:hover,
body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a:focus {
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .caritas-contact-notice {
    padding: 1.15rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a {
    width: 100% !important;
  }
}

/* ==========================================================================
   CONTATTO — Nasconde il pulsante invio per ambiti con moduli dedicati
   --------------------------------------------------------------------------
   Valido quando nel campo "Ambito della richiesta" vengono scelti:
   - Volontariato
   - Esperienza per gruppi
   ========================================================================== */

body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="grupp" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-actions {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   CONTATTO — Nasconde privacy per Volontariato / Esperienza per gruppi
   --------------------------------------------------------------------------
   In questi due casi l'utente non invia il modulo Contatti, ma viene
   indirizzato ai moduli dedicati.
   ========================================================================== */

body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]) {
  display: none !important;
}

/* ==========================================================================
   CONTATTI — Recapiti, uffici e sede operativa
   ========================================================================== */

body:not(.path-admin) .caritas-contact-info-section {
  max-width: 1040px;
  margin: 42px auto 78px;
  padding: 0 20px;
}

body:not(.path-admin) .caritas-contact-info-inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

body:not(.path-admin) .caritas-contact-section-heading {
  max-width: 820px;
}

body:not(.path-admin) .caritas-kicker {
  display: inline-flex;
  align-items: center;
  color: #7b0500;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

body:not(.path-admin) .caritas-contact-section-heading h2,
body:not(.path-admin) .caritas-location-text h2 {
  color: #101828;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.12;
  margin: 0 0 12px;
}

body:not(.path-admin) .caritas-contact-section-heading p,
body:not(.path-admin) .caritas-location-text p {
  color: #344054;
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
}

body:not(.path-admin) .caritas-contact-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body:not(.path-admin) .caritas-contact-card {
  min-width: 0;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(123, 5, 0, 0.16);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 18px 42px rgba(16, 24, 40, 0.055);
}

body:not(.path-admin) .caritas-contact-card h3 {
  color: #101828;
  font-size: 1.12rem;
  line-height: 1.25;
  margin: 0 0 10px;
}

body:not(.path-admin) .caritas-contact-card p {
  color: #344054;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0 0 14px;
}

body:not(.path-admin) .caritas-contact-card .caritas-contact-detail {
  margin-top: 14px;
  margin-bottom: 0;
}

body:not(.path-admin) .caritas-contact-card strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500;
}

body:not(.path-admin) .caritas-contact-card a,
body:not(.path-admin) .caritas-location-box a {
  color: #7b0500;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body:not(.path-admin) .caritas-contact-location {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 22px;
  align-items: stretch;
  background: linear-gradient(135deg, rgba(123, 5, 0, 0.055), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(123, 5, 0, 0.18);
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 22px 50px rgba(16, 24, 40, 0.07);
}

body:not(.path-admin) .caritas-location-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body:not(.path-admin) .caritas-location-actions {
  margin-top: 22px;
}

body:not(.path-admin) .caritas-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 999px;
  background: #7b0500;
  color: #ffffff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(123, 5, 0, 0.2);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body:not(.path-admin) .caritas-contact-button:hover,
body:not(.path-admin) .caritas-contact-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(123, 5, 0, 0.26);
}

body:not(.path-admin) .caritas-location-box {
  min-width: 0;
  background: #ffffff;
  border: 1px solid rgba(123, 5, 0, 0.16);
  border-radius: 20px;
  padding: 24px;
}

body:not(.path-admin) .caritas-location-box p {
  color: #344054;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0 0 16px;
}

body:not(.path-admin) .caritas-location-box p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  body:not(.path-admin) .caritas-contact-cards {
    grid-template-columns: 1fr;
  }

  body:not(.path-admin) .caritas-contact-location {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-info-section {
    margin: 30px auto 56px;
    padding: 0 14px;
  }

  body:not(.path-admin) .caritas-contact-card,
  body:not(.path-admin) .caritas-contact-location {
    border-radius: 20px;
    padding: 20px;
  }

  body:not(.path-admin) .caritas-contact-button {
    width: 100%;
  }
}

/* Bottone interno alle card recapiti */
body:not(.path-admin) .caritas-contact-card-action {
  margin-top: 18px;
}

body:not(.path-admin) .caritas-contact-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #7b0500;
  color: #ffffff !important;
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(123, 5, 0, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body:not(.path-admin) .caritas-contact-card-button:hover,
body:not(.path-admin) .caritas-contact-card-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(123, 5, 0, 0.24);
}

/* ==========================================================================
   CONTATTI — Fix mobile email lunghe e colori recapiti
   ========================================================================== */

/* Titoli delle card in bordeaux */
body:not(.path-admin) .caritas-contact-card h3 {
  color: #7b0500 !important;
}

/* Etichette Email / Telefono in bordeaux */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500 !important;
}

/* Email e numeri in nero, leggibili e non rossi */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
body:not(.path-admin) .caritas-location-box a {
  color: #101828 !important;
  font-weight: 800;
  text-decoration-color: rgba(16, 24, 40, 0.45);
  text-underline-offset: 3px;
}

/* Le email lunghe devono andare a capo dentro la card */
body:not(.path-admin) .caritas-contact-card,
body:not(.path-admin) .caritas-location-box {
  min-width: 0;
  overflow: hidden;
}

body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
body:not(.path-admin) .caritas-location-box a {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}

/* Il bottone Sostienici e il bottone Google Maps devono restare bordeaux/bianco */
body:not(.path-admin) .caritas-contact-card-button,
body:not(.path-admin) .caritas-contact-button {
  color: #ffffff !important;
  background: #7b0500;
  text-decoration: none !important;
}

/* Mobile: rendiamo i recapiti più ordinati e meno “sparati” */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-card h3 {
    font-size: 1.35rem;
    line-height: 1.2;
  }

  body:not(.path-admin) .caritas-contact-card p {
    font-size: 1rem;
    line-height: 1.6;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail {
    margin-top: 18px;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail strong {
    display: inline-block;
    margin-bottom: 4px;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
  body:not(.path-admin) .caritas-location-box a {
    font-size: 0.98rem;
  }
}

/* ==========================================================================
   CONTATTI — Fix definitivo recapiti: email a bottone e testi senza trattini
   ========================================================================== */

/* Evita trattini automatici e spezzature brutte nei testi delle card */
body:not(.path-admin) .caritas-contact-card,
body:not(.path-admin) .caritas-contact-card *,
body:not(.path-admin) .caritas-contact-location,
body:not(.path-admin) .caritas-contact-location * {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
}

/* I testi normali devono andare a capo solo tra parole, non spezzare a caso */
body:not(.path-admin) .caritas-contact-card p,
body:not(.path-admin) .caritas-contact-location p,
body:not(.path-admin) .caritas-contact-card span,
body:not(.path-admin) .caritas-location-box span {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* Titoli delle card */
body:not(.path-admin) .caritas-contact-card h3 {
  color: #7b0500 !important;
}

/* Etichette Email / Telefono */
body:not(.path-admin) .caritas-contact-detail strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500 !important;
}

/* Numeri di telefono in nero */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a[href^="tel:"],
body:not(.path-admin) .caritas-location-box a[href^="tel:"] {
  display: inline-block !important;
  max-width: 100% !important;
  color: #101828 !important;
  font-weight: 850 !important;
  text-decoration-color: rgba(16, 24, 40, 0.42) !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Bottone email: niente indirizzi lunghi visibili nelle card */
body:not(.path-admin) .caritas-contact-mail-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 40px !important;
  margin-top: 4px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(123, 5, 0, 0.08) !important;
  border: 1px solid rgba(123, 5, 0, 0.16) !important;
  color: #7b0500 !important;
  font-size: 0.92rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body:not(.path-admin) .caritas-contact-mail-button:hover,
body:not(.path-admin) .caritas-contact-mail-button:focus {
  background: rgba(123, 5, 0, 0.12) !important;
  color: #5e0300 !important;
  transform: translateY(-1px) !important;
}

/* I bottoni principali restano pieni */
body:not(.path-admin) .caritas-contact-card-button,
body:not(.path-admin) .caritas-contact-button {
  background: #7b0500 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Mobile: card più ordinate e niente contenuti che escono */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-card,
  body:not(.path-admin) .caritas-contact-location,
  body:not(.path-admin) .caritas-location-box {
    overflow: hidden !important;
  }

  body:not(.path-admin) .caritas-contact-mail-button {
    width: 100% !important;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a[href^="tel:"],
  body:not(.path-admin) .caritas-location-box a[href^="tel:"] {
    font-size: 1rem !important;
  }
}

/* =========================================================
   F3 — Webform Diventa volontario / richiesta_volontariato
   BLOCCO UNICO CONSOLIDATO
   Data: 2026-06-13

   Obiettivo:
   - form istituzionale moderno;
   - niente blocchi F3 duplicati;
   - attitudini personali compatte a cerchi 1–5;
   - mobile più largo e meno “matrioska”;
   - colori Caritas coerenti.
   ========================================================= */

body.path-webform .webform-submission-richiesta-volontariato-form {
  --f3-red: #7b0500;
  --f3-red-dark: #630400;
  --f3-gold: #d89a1d;
  --f3-ink: #101828;
  --f3-muted: #475467;
  --f3-soft: #f8fafc;
  --f3-border: #d5dde8;
  --f3-border-strong: #98a6ba;

  background:
    radial-gradient(circle at 96% 2%, rgba(216, 154, 29, .09), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 72%, #f9fafb 100%) !important;
  border: 1px solid var(--f3-border) !important;
  border-radius: 30px !important;
  box-shadow: 0 34px 90px rgba(15, 23, 42, .08) !important;
  color: var(--f3-ink) !important;
  margin-inline: auto !important;
  max-width: 860px !important;
  overflow: hidden !important;
  padding: 34px 34px 42px !important;
  position: relative !important;
  width: min(860px, calc(100vw - 64px)) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form::before {
  background: var(--f3-red) !important;
  border-radius: 999px !important;
  content: "" !important;
  height: 5px !important;
  left: 34px !important;
  position: absolute !important;
  right: 34px !important;
  top: 0 !important;
}

/* Contenitore pagina: lascia respirare il form. */
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .region--content,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .block-system-main-block {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: none !important;
  width: min(1180px, calc(100vw - 48px)) !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title {
  color: #101828 !important;
  font-size: clamp(2.4rem, 4vw, 4.2rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .95 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: clamp(38px, 5vw, 66px) !important;
  width: min(1080px, calc(100vw - 48px)) !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1::first-letter,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title::first-letter {
  color: #7b0500 !important;
}

/* Progress. */
body.path-webform .webform-submission-richiesta-volontariato-form .webform-progress,
body.path-webform .webform-submission-richiesta-volontariato-form .webform-progress-tracker,
body.path-webform .webform-submission-richiesta-volontariato-form .progress-tracker {
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 0 34px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step .progress-marker {
  background: #d7dde6 !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 0 0 2px #cbd5e1, 0 8px 18px rgba(15, 23, 42, .08) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-active .progress-marker,
body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-complete .progress-marker {
  background: #7b0500 !important;
  box-shadow: 0 0 0 2px #7b0500, 0 10px 24px rgba(15, 23, 42, .12) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step .progress-title {
  color: #667085 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-active .progress-title {
  color: #101828 !important;
}

/* Intro e privacy. */
body.path-webform .caritas-form-step-intro,
body.path-webform .caritas-form-privacy-box {
  background:
    linear-gradient(90deg, #7b0500 0 6px, transparent 6px),
    #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .055) !important;
  color: #475467 !important;
  line-height: 1.7 !important;
  margin: 0 0 22px !important;
  padding: 22px 24px 22px 30px !important;
}

body.path-webform .caritas-form-kicker {
  color: #7b0500 !important;
  display: block !important;
  font-size: .73rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

/* Campi base. */
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-field-card,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-textarea,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-email-confirm,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-date,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-telephone {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .04) !important;
  margin-bottom: 18px !important;
  padding: 20px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form label,
body.path-webform .webform-submission-richiesta-volontariato-form legend,
body.path-webform .webform-submission-richiesta-volontariato-form .fieldset-legend {
  color: #101828 !important;
  font-weight: 950 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .form-required::after,
body.path-webform .webform-submission-richiesta-volontariato-form .js-form-required::after {
  background: none !important;
  color: #7b0500 !important;
  content: " *" !important;
  display: inline !important;
  height: auto !important;
  margin-left: 2px !important;
  vertical-align: baseline !important;
  width: auto !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form input[type="text"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="email"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="tel"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="date"],
body.path-webform .webform-submission-richiesta-volontariato-form textarea,
body.path-webform .webform-submission-richiesta-volontariato-form select {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: #101828 !important;
  font-weight: 650 !important;
  min-height: 48px !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form textarea {
  min-height: 160px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form input:focus,
body.path-webform .webform-submission-richiesta-volontariato-form textarea:focus,
body.path-webform .webform-submission-richiesta-volontariato-form select:focus {
  border-color: #7b0500 !important;
  box-shadow: inset 5px 0 0 #7b0500, 0 0 0 3px rgba(123, 5, 0, .08) !important;
  outline: none !important;
}

/* Scelte normali: card/pill. */
body.path-webform .caritas-choice-group {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .045) !important;
  margin-bottom: 20px !important;
  padding: 20px !important;
}

body.path-webform .caritas-choice-group .form-radios,
body.path-webform .caritas-choice-group .form-checkboxes {
  display: grid !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

body.path-webform .caritas-choice-grid .form-checkboxes {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.path-webform .caritas-choice-pills .form-radios {
  grid-template-columns: 1fr !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) input[type="radio"],
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) input[type="checkbox"] {
  height: 1px !important;
  left: 12px !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 12px !important;
  width: 1px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox label {
  align-items: center !important;
  background: #ffffff !important;
  border: 1.5px solid #d5dde8 !important;
  border-radius: 16px !important;
  color: #101828 !important;
  cursor: pointer !important;
  display: flex !important;
  font-weight: 850 !important;
  gap: 12px !important;
  line-height: 1.28 !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
  width: 100% !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio label::before {
  border: 2px solid #98a6ba !important;
  border-radius: 50% !important;
  content: "" !important;
  flex: 0 0 20px !important;
  height: 20px !important;
  width: 20px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox label::before {
  align-items: center !important;
  border: 2px solid #98a6ba !important;
  border-radius: 7px !important;
  content: "" !important;
  display: inline-flex !important;
  flex: 0 0 22px !important;
  height: 22px !important;
  justify-content: center !important;
  width: 22px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox:has(input:checked) label {
  border-color: #7b0500 !important;
  box-shadow: inset 6px 0 0 #7b0500, 0 12px 24px rgba(15, 23, 42, .07) !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio:has(input:checked) label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio:has(input:checked) label::before {
  background: radial-gradient(circle at center, #7b0500 0 45%, #ffffff 48% 100%) !important;
  border-color: #7b0500 !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox:has(input:checked) label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox:has(input:checked) label::before {
  background: #7b0500 !important;
  border-color: #7b0500 !important;
  color: #ffffff !important;
  content: "✓" !important;
  font-weight: 950 !important;
}

/* ATTITUDINI: domanda + scala 1–5 a cerchi. */
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] {
  background: #ffffff !important;
  border: 1px solid #e3e8ef !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  margin: 0 0 18px !important;
  padding: 18px 20px 20px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card legend,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-legend,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] legend,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-legend {
  color: #101828 !important;
  display: block !important;
  font-size: 1.02rem !important;
  font-weight: 950 !important;
  line-height: 1.28 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-wrapper,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-wrapper {
  display: block !important;
  padding: 0 !important;
  position: static !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: auto !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"],
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"] {
  height: 1px !important;
  left: 50% !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 50% !important;
  width: 1px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label {
  align-items: center !important;
  background: #ffffff !important;
  border: 3px solid #7b0500 !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .05) !important;
  color: #101828 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 1.35rem !important;
  font-weight: 950 !important;
  height: 56px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 56px !important;
  padding: 0 !important;
  text-align: center !important;
  width: 56px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label::before {
  content: none !important;
  display: none !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio:has(input:checked) label {
  background: #7b0500 !important;
  border-color: #7b0500 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .14) !important;
}

/* Privacy checkbox vera e cliccabile. */
body.path-webform .caritas-privacy-consent {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045) !important;
  padding: 16px 18px !important;
}

body.path-webform .caritas-privacy-consent .form-type-checkbox,
body.path-webform .caritas-privacy-consent .js-form-type-checkbox {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
}

body.path-webform .caritas-privacy-consent input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #ffffff !important;
  border: 2px solid #98a6ba !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  display: inline-block !important;
  flex: 0 0 23px !important;
  height: 23px !important;
  margin: 0 !important;
  opacity: 1 !important;
  position: static !important;
  width: 23px !important;
}

body.path-webform .caritas-privacy-consent input[type="checkbox"]:checked {
  background-color: #7b0500 !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.2 8.2 6.5 11.4 13 4.8' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 15px 15px !important;
  border-color: #7b0500 !important;
}

/* Azioni. */
body.path-webform .webform-submission-richiesta-volontariato-form .form-actions,
body.path-webform .webform-submission-richiesta-volontariato-form .webform-actions {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .045) !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: flex-end !important;
  margin-top: 24px !important;
  padding: 18px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .button,
body.path-webform .webform-submission-richiesta-volontariato-form input[type="submit"] {
  background: #7b0500 !important;
  border: 1px solid #7b0500 !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .14) !important;
  color: #ffffff !important;
  font-weight: 950 !important;
  padding: 13px 26px !important;
}

/* Conferma. */
body.path-webform .webform-confirmation {
  margin: 38px auto !important;
  max-width: 980px !important;
  width: min(980px, calc(100vw - 48px)) !important;
}

body.path-webform .caritas-form-confirmation-card {
  align-items: flex-start !important;
  background:
    linear-gradient(90deg, #7b0500 0 7px, transparent 7px),
    #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 72px rgba(15, 23, 42, .09) !important;
  color: #101828 !important;
  display: flex !important;
  gap: 22px !important;
  padding: 34px 38px !important;
}

body.path-webform .caritas-form-confirmation-icon {
  align-items: center !important;
  background: #7b0500 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  display: inline-flex !important;
  flex: 0 0 48px !important;
  font-size: 1.45rem !important;
  font-weight: 950 !important;
  height: 48px !important;
  justify-content: center !important;
  width: 48px !important;
}

body.path-webform .caritas-form-next-steps {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 20px !important;
  margin-top: 20px !important;
  padding: 22px 24px !important;
}

body.path-webform .webform-confirmation a {
  background: #7b0500 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  display: inline-block !important;
  font-weight: 950 !important;
  margin-top: 18px !important;
  padding: 12px 20px !important;
  text-decoration: none !important;
}

/* Messaggi errore. */
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages-list,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages__wrapper {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages--error,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages-list__item--error {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-left: 6px solid #7b0500 !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
  color: #101828 !important;
  font-weight: 850 !important;
  padding: 16px 20px !important;
}

/* Mobile. */
@media (max-width: 760px) {
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .region--content,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .block-system-main-block,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title {
    width: min(100%, calc(100vw - 14px)) !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form {
    border-radius: 22px !important;
    padding: 18px 12px 22px !important;
    width: min(100%, calc(100vw - 14px)) !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form::before {
    left: 18px !important;
    right: 18px !important;
  }

  body.path-webform .caritas-form-step-intro,
  body.path-webform .caritas-form-privacy-box {
    border-radius: 18px !important;
    padding: 18px 16px 18px 22px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-field-card,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-textarea,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-email-confirm,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-date,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-telephone {
    border-radius: 18px !important;
    padding: 14px !important;
  }

  body.path-webform .caritas-choice-group {
    border-radius: 18px !important;
    padding: 14px !important;
  }

  body.path-webform .caritas-choice-grid .form-checkboxes,
  body.path-webform .caritas-choice-pills .form-radios {
    grid-template-columns: 1fr !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] {
    border-radius: 16px !important;
    padding: 16px 12px 18px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios {
    gap: 8px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label {
    border-width: 2.5px !important;
    font-size: 1.05rem !important;
    height: 42px !important;
    min-height: 42px !important;
    width: 42px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .form-actions,
  body.path-webform .webform-submission-richiesta-volontariato-form .webform-actions {
    flex-direction: column-reverse !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .button,
  body.path-webform .webform-submission-richiesta-volontariato-form input[type="submit"] {
    width: 100% !important;
  }

  body.path-webform .caritas-form-confirmation-card {
    flex-direction: column !important;
    padding: 26px 24px !important;
  }
}

/* =========================================================
   Fine blocco F3 richiesta_volontariato — BLOCCO UNICO CONSOLIDATO
   ========================================================= */

* ==========================================================================
   CARITAS CUSTOM — PUBLIC FORMS V16 CLEAN GLOBAL
   --------------------------------------------------------------------------
   Scopo:
   - un solo sistema grafico globale per tutti i Webform pubblici;
   - valido per i form esistenti e per quelli futuri;
   - desktop, tablet e smartphone;
   - niente CSS stratificato V11/V13/V15;
   - niente azzurro Drupal;
   - non tocca i form amministrativi.
   ========================================================================== */


/* ==========================================================================
   1. VARIABILI
   ========================================================================== */

:root {
  --caritas-form-red: #7b0500;
  --caritas-form-red-dark: #5e0300;
  --caritas-form-gold: #d89a1d;
  --caritas-form-teal: #0f8b8d;

  --caritas-form-ink: #101828;
  --caritas-form-text: #263447;
  --caritas-form-muted: #667085;

  --caritas-form-border: rgba(123, 5, 0, 0.14);
  --caritas-form-border-soft: rgba(123, 5, 0, 0.08);
  --caritas-form-bg: #ffffff;
  --caritas-form-soft: #fbf7f5;

  --caritas-form-radius: 28px;
  --caritas-form-radius-md: 20px;
  --caritas-form-radius-sm: 15px;

  --caritas-form-shadow: 0 24px 70px rgba(16, 24, 40, 0.075);
  --caritas-form-width: 820px;
}


/* ==========================================================================
   2. CONTENITORE GENERALE WEBFORM PUBBLICI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form,
body:not(.path-admin) .caritas-public-content form.webform-submission-form,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
  width: min(var(--caritas-form-width), 100%) !important;
  max-width: var(--caritas-form-width) !important;
  margin: 0 auto !important;
  padding: clamp(1.65rem, 4vw, 3rem) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.045), transparent 34%),
    #ffffff !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: var(--caritas-form-radius) !important;
  box-shadow: var(--caritas-form-shadow) !important;
  color: var(--caritas-form-text) !important;
  box-sizing: border-box !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form *,
body:not(.path-admin) .caritas-public-content form.webform-submission-form *,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] * {
  box-sizing: border-box !important;
  min-width: 0;
}


/* ==========================================================================
   3. TESTI, LABEL E DESCRIZIONI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form p {
  color: var(--caritas-form-text) !important;
  line-height: 1.7 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form label,
body:not(.path-admin) .caritas-public-content .webform-submission-form legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item label {
  display: block !important;
  max-width: 100% !important;
  margin-bottom: 0.42rem !important;
  color: var(--caritas-form-ink) !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-element-description {
  color: var(--caritas-form-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}


/* ==========================================================================
   4. CAMPI INPUT, SELECT, TEXTAREA
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="text"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="email"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="tel"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="url"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="date"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="time"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="number"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="password"],
body:not(.path-admin) .caritas-public-content .webform-submission-form select,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 0.78rem 0.95rem !important;
  border: 1px solid rgba(16, 24, 40, 0.16) !important;
  border-radius: var(--caritas-form-radius-sm) !important;
  background: #ffffff !important;
  color: var(--caritas-form-ink) !important;
  box-shadow: none !important;
  outline: none !important;
  font: inherit !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  min-height: 132px !important;
  resize: vertical !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form input:focus,
body:not(.path-admin) .caritas-public-content .webform-submission-form select:focus,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea:focus {
  border-color: rgba(123, 5, 0, 0.62) !important;
  box-shadow: 0 0 0 4px rgba(123, 5, 0, 0.10) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form input::placeholder,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea::placeholder {
  color: #8a93a3 !important;
}


/* ==========================================================================
   5. SPAZIATURA CAMPI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item {
  max-width: 100% !important;
  margin: 0 0 1.2rem !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset + fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form details + details,
body:not(.path-admin) .caritas-public-content .webform-submission-form details + .form-item,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item + details {
  padding-top: 1rem !important;
  border-top: 1px solid rgba(16, 24, 40, 0.08) !important;
}


/* ==========================================================================
   6. FIELDSET, DETAILS, GRUPPI DI DOMANDE
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form details {
  margin: 1.15rem 0 !important;
  padding: 1.1rem 1.15rem !important;
  background: rgba(255, 255, 255, 0.86) !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: var(--caritas-form-radius-md) !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset > legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset > legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label > *,
body:not(.path-admin) .caritas-public-content .webform-submission-form summary {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 0.68rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--caritas-form-ink) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  line-height: 1.28 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .details-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}


/* ==========================================================================
   7. RADIO E CHECKBOX
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="radio"],
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="checkbox"] {
  accent-color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-radios,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-checkboxes {
  display: grid !important;
  gap: 0.58rem !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.62rem !important;
  margin: 0 !important;
  padding: 0.4rem 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox input {
  flex: 0 0 auto !important;
  margin-top: 0.18rem !important;
}


/* ==========================================================================
   8. FILE UPLOAD
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="file"] {
  width: 100% !important;
  padding: 0.9rem !important;
  border: 1px dashed rgba(123, 5, 0, 0.28) !important;
  border-radius: var(--caritas-form-radius-sm) !important;
  background: var(--caritas-form-soft) !important;
  color: var(--caritas-form-text) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-managed-file {
  display: grid !important;
  gap: 0.65rem !important;
}


/* ==========================================================================
   9. PROGRESS TRACKER / WIZARD WEBFORM
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-progress,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
body:not(.path-admin) .caritas-public-content .progress-tracker {
  width: min(760px, 100%) !important;
  margin: 0 auto clamp(1.5rem, 3vw, 2.25rem) !important;
  padding: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
body:not(.path-admin) .caritas-public-content .progress-tracker {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step {
  position: relative !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: grid !important;
  justify-items: center !important;
  gap: 0.42rem !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 16px !important;
  left: calc(50% + 18px) !important;
  right: calc(-50% + 18px) !important;
  height: 3px !important;
  background: rgba(16, 24, 40, 0.18) !important;
  border-radius: 999px !important;
  z-index: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-complete:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-completed:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-complete:not(:last-child)::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-completed:not(:last-child)::after {
  background: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step::before,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step::before {
  display: none !important;
  content: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 auto 0.42rem !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #c9ccd2 !important;
  border: 4px solid #ffffff !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(16, 24, 40, 0.12), 0 8px 18px rgba(16, 24, 40, 0.08) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker::before,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-marker::after,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker::before,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-marker::after {
  display: none !important;
  content: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-marker,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-complete .progress-marker,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-completed .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-complete .progress-marker,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-completed .progress-marker {
  background: var(--caritas-form-red) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(123, 5, 0, 0.24), 0 10px 24px rgba(123, 5, 0, 0.20) !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-text,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-title,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-text,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-title {
  display: block !important;
  max-width: 104px !important;
  margin: 0 auto !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.73rem !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  text-align: center !important;
}

body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-text,
body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step.is-active .progress-title,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-text,
body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step.is-active .progress-title {
  color: var(--caritas-form-ink) !important;
  font-weight: 950 !important;
}


/* ==========================================================================
   10. TABELLE / LIKERT / GRIGLIE DI RISPOSTA
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form table,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--caritas-form-border-soft) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table td,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table td {
  padding: 0.78rem 0.82rem !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(123, 5, 0, 0.11) !important;
  color: var(--caritas-form-ink) !important;
  background: #ffffff !important;
  vertical-align: middle !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table thead th,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table thead th {
  background: rgba(123, 5, 0, 0.055) !important;
  color: var(--caritas-form-red) !important;
  font-weight: 900 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form table tbody tr:hover th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table tbody tr:hover td {
  background: rgba(123, 5, 0, 0.025) !important;
}


/* ==========================================================================
   11. ERRORI, MESSAGGI, CAMPI OBBLIGATORI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-required::after {
  color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error-message,
body:not(.path-admin) .caritas-public-content .webform-submission-form .error,
body:not(.path-admin) .caritas-public-content .webform-submission-form .messages--error {
  color: var(--caritas-form-red-dark) !important;
  font-weight: 850 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error input,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error select,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item--error textarea {
  border-color: var(--caritas-form-red) !important;
  box-shadow: 0 0 0 4px rgba(123, 5, 0, 0.10) !important;
}


/* ==========================================================================
   12. PULSANTI / AZIONI
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 0.75rem !important;
  margin-top: 1.6rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(16, 24, 40, 0.08) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0.15rem 1.2rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--caritas-form-red), #990b04) !important;
  border: 1px solid var(--caritas-form-red) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(123, 5, 0, 0.18) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button:hover,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit:hover,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"]:hover {
  transform: translateY(-1px) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .button:disabled,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit:disabled,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"]:disabled {
  background: #c9c9c9 !important;
  border-color: #c9c9c9 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Pulsante precedente / secondario */
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-button--previous,
body:not(.path-admin) .caritas-public-content .webform-submission-form input[data-drupal-selector*="previous"] {
  background: #ffffff !important;
  color: var(--caritas-form-red) !important;
  border-color: rgba(123, 5, 0, 0.22) !important;
  box-shadow: none !important;
}


/* ==========================================================================
   13. RESPONSIVE TABLET
   ========================================================================== */

@media (max-width: 900px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form,
  body:not(.path-admin) .caritas-public-content form.webform-submission-form,
  body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
    width: min(100%, calc(100vw - 32px)) !important;
    padding: 1.55rem !important;
    border-radius: 24px !important;
  }
}


/* ==========================================================================
   14. RESPONSIVE SMARTPHONE
   ========================================================================== */

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form,
  body:not(.path-admin) .caritas-public-content form.webform-submission-form,
  body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
    width: min(100%, calc(100vw - 24px)) !important;
    padding: 1.25rem !important;
    border-radius: 22px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
  body:not(.path-admin) .caritas-public-content .webform-submission-form details {
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker,
  body:not(.path-admin) .caritas-public-content .progress-tracker {
    overflow-x: auto !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding-bottom: 0.4rem !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step,
  body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step {
    flex: 0 0 86px !important;
    min-width: 86px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-progress-tracker .progress-step:not(:last-child)::after,
  body:not(.path-admin) .caritas-public-content .progress-tracker .progress-step:not(:last-child)::after {
    display: none !important;
    content: none !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form table,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-actions {
    flex-direction: column !important;
    justify-content: stretch !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .button,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .form-submit,
  body:not(.path-admin) .caritas-public-content .webform-submission-form input[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
  }
}

/* ==========================================================================
   V17 — Fix mobile Webform: testi lunghi e overflow orizzontale
   --------------------------------------------------------------------------
   Obiettivo:
   - impedire lo scroll laterale del contenuto del form;
   - forzare il ritorno a capo di domande, label e opzioni lunghe;
   - mantenere responsive desktop/tablet/mobile;
   - lasciare scorribile solo lo stepper, se necessario.
   ========================================================================== */


/* Evita che i Webform pubblici allarghino tutta la pagina su mobile */
body:has(.caritas-public-content .webform-submission-form) {
  overflow-x: hidden !important;
}


/* Il form non deve mai uscire dal contenitore */
body:not(.path-admin) .caritas-public-content .webform-submission-form,
body:not(.path-admin) .caritas-public-content form.webform-submission-form,
body:not(.path-admin) .caritas-public-content form[id^="webform-submission-"] {
  max-width: 100% !important;
  overflow-x: hidden !important;
}


/* Tutti i testi interni devono poter andare a capo */
body:not(.path-admin) .caritas-public-content .webform-submission-form label,
body:not(.path-admin) .caritas-public-content .webform-submission-form legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-legend,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .description,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-item__description,
body:not(.path-admin) .caritas-public-content .webform-submission-form p,
body:not(.path-admin) .caritas-public-content .webform-submission-form span,
body:not(.path-admin) .caritas-public-content .webform-submission-form div {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}


/* Radio e checkbox: il testo deve occupare lo spazio disponibile e andare a capo */
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-radio label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-type-checkbox label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-radio label,
body:not(.path-admin) .caritas-public-content .webform-submission-form .js-form-type-checkbox label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}


/* Fieldset e wrapper non devono mai creare larghezze anomale */
body:not(.path-admin) .caritas-public-content .webform-submission-form fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset,
body:not(.path-admin) .caritas-public-content .webform-submission-form .form-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset-wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .fieldset__wrapper,
body:not(.path-admin) .caritas-public-content .webform-submission-form .details-wrapper {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}


/* Campi e textarea sempre dentro lo schermo */
body:not(.path-admin) .caritas-public-content .webform-submission-form input,
body:not(.path-admin) .caritas-public-content .webform-submission-form select,
body:not(.path-admin) .caritas-public-content .webform-submission-form textarea {
  max-width: 100% !important;
}


/* Tabelle/Likert: niente testo forzato su una riga */
body:not(.path-admin) .caritas-public-content .webform-submission-form table,
body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table,
body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
body:not(.path-admin) .caritas-public-content .webform-submission-form table td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}


/* Su smartphone le tabelle possono scorrere, ma senza allargare tutta la pagina */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form table,
  body:not(.path-admin) .caritas-public-content .webform-submission-form .webform-likert-table {
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: normal !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form table th,
  body:not(.path-admin) .caritas-public-content .webform-submission-form table td {
    white-space: normal !important;
  }
}

/* ==========================================================================
   V18 SAFE — Blocco documenti scaricabili nei Webform
   --------------------------------------------------------------------------
   Base stabile: V16 + V17.
   Obiettivo:
   - migliorare solo il blocco documenti;
   - non alterare la struttura generale dei Webform;
   - compatibile desktop, tablet e smartphone.
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs {
  margin: 1.5rem 0 !important;
  padding: clamp(1.15rem, 2.5vw, 1.6rem) !important;
  border: 1px solid rgba(123, 5, 0, 0.12) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.045), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffaf7 100%) !important;
  box-shadow: 0 14px 34px rgba(16, 24, 39, 0.07) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs h3 {
  margin: 0 0 0.5rem !important;
  color: var(--caritas-form-ink) !important;
  font-size: clamp(1.25rem, 2vw, 1.55rem) !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs h3::first-letter {
  color: var(--caritas-form-red) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs p {
  margin: 0 0 1rem !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.96rem !important;
  line-height: 1.6 !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs ul {
  display: grid !important;
  gap: 0.75rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 0.25rem 0.85rem !important;
  align-items: start !important;
  padding: 0.9rem 1rem !important;
  border: 1px solid rgba(123, 5, 0, 0.11) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 22px rgba(16, 24, 39, 0.045) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li::before {
  content: "PDF" !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: var(--caritas-form-red) !important;
  color: #ffffff !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 10px 22px rgba(123, 5, 0, 0.18) !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li a {
  grid-column: 2 !important;
  display: block !important;
  color: var(--caritas-form-red) !important;
  font-size: 0.98rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.18em !important;
  overflow-wrap: anywhere !important;
}

body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li span {
  grid-column: 2 !important;
  display: block !important;
  color: var(--caritas-form-muted) !important;
  font-size: 0.86rem !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
}

/* Mobile */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs {
    padding: 1rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .webform-submission-form .caritas-form-docs li {
    padding: 0.85rem !important;
  }
}

/* ==========================================================================
   CONTATTO — Avviso moduli dedicati
   ========================================================================== */

body:not(.path-admin) .caritas-public-content .caritas-contact-notice {
  margin: 1.5rem 0 0 !important;
  padding: 1.45rem !important;
  border: 1px solid rgba(123, 5, 0, 0.16) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(123, 5, 0, 0.055), transparent 34%),
    #fffaf7 !important;
  box-shadow: 0 16px 42px rgba(16, 24, 40, 0.06) !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice h3 {
  margin: 0 0 0.75rem !important;
  color: #101828 !important;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice p {
  max-width: 680px !important;
  margin: 0 0 1.1rem !important;
  color: #263447 !important;
  line-height: 1.65 !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  align-items: center !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0.15rem 1.15rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #7b0500, #990b04) !important;
  border: 1px solid #7b0500 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(123, 5, 0, 0.18) !important;
}

body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a:hover,
body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a:focus {
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-public-content .caritas-contact-notice {
    padding: 1.15rem !important;
    border-radius: 18px !important;
  }

  body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body:not(.path-admin) .caritas-public-content .caritas-contact-notice__actions a {
    width: 100% !important;
  }
}

/* ==========================================================================
   CONTATTO — Nasconde il pulsante invio per ambiti con moduli dedicati
   --------------------------------------------------------------------------
   Valido quando nel campo "Ambito della richiesta" vengono scelti:
   - Volontariato
   - Esperienza per gruppi
   ========================================================================== */

body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="grupp" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-actions,
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-actions {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* ==========================================================================
   CONTATTO — Nasconde privacy per Volontariato / Esperienza per gruppi
   --------------------------------------------------------------------------
   In questi due casi l'utente non invia il modulo Contatti, ma viene
   indirizzato ai moduli dedicati.
   ========================================================================== */

body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito_richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has(select[name*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="volontari" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="esperienza" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]),
body:not(.path-admin) .caritas-public-content form.webform-submission-form:has([data-drupal-selector*="ambito-richiesta"] option[value*="grupp" i]:checked) .form-item:has(input[type="checkbox"][name*="informativa_privacy"]) {
  display: none !important;
}

/* ==========================================================================
   CONTATTI — Recapiti, uffici e sede operativa
   ========================================================================== */

body:not(.path-admin) .caritas-contact-info-section {
  max-width: 1040px;
  margin: 42px auto 78px;
  padding: 0 20px;
}

body:not(.path-admin) .caritas-contact-info-inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

body:not(.path-admin) .caritas-contact-section-heading {
  max-width: 820px;
}

body:not(.path-admin) .caritas-kicker {
  display: inline-flex;
  align-items: center;
  color: #7b0500;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

body:not(.path-admin) .caritas-contact-section-heading h2,
body:not(.path-admin) .caritas-location-text h2 {
  color: #101828;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.12;
  margin: 0 0 12px;
}

body:not(.path-admin) .caritas-contact-section-heading p,
body:not(.path-admin) .caritas-location-text p {
  color: #344054;
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
}

body:not(.path-admin) .caritas-contact-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body:not(.path-admin) .caritas-contact-card {
  min-width: 0;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(123, 5, 0, 0.16);
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 18px 42px rgba(16, 24, 40, 0.055);
}

body:not(.path-admin) .caritas-contact-card h3 {
  color: #101828;
  font-size: 1.12rem;
  line-height: 1.25;
  margin: 0 0 10px;
}

body:not(.path-admin) .caritas-contact-card p {
  color: #344054;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0 0 14px;
}

body:not(.path-admin) .caritas-contact-card .caritas-contact-detail {
  margin-top: 14px;
  margin-bottom: 0;
}

body:not(.path-admin) .caritas-contact-card strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500;
}

body:not(.path-admin) .caritas-contact-card a,
body:not(.path-admin) .caritas-location-box a {
  color: #7b0500;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

body:not(.path-admin) .caritas-contact-location {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 22px;
  align-items: stretch;
  background: linear-gradient(135deg, rgba(123, 5, 0, 0.055), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(123, 5, 0, 0.18);
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 22px 50px rgba(16, 24, 40, 0.07);
}

body:not(.path-admin) .caritas-location-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body:not(.path-admin) .caritas-location-actions {
  margin-top: 22px;
}

body:not(.path-admin) .caritas-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  border-radius: 999px;
  background: #7b0500;
  color: #ffffff !important;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(123, 5, 0, 0.2);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body:not(.path-admin) .caritas-contact-button:hover,
body:not(.path-admin) .caritas-contact-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(123, 5, 0, 0.26);
}

body:not(.path-admin) .caritas-location-box {
  min-width: 0;
  background: #ffffff;
  border: 1px solid rgba(123, 5, 0, 0.16);
  border-radius: 20px;
  padding: 24px;
}

body:not(.path-admin) .caritas-location-box p {
  color: #344054;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0 0 16px;
}

body:not(.path-admin) .caritas-location-box p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  body:not(.path-admin) .caritas-contact-cards {
    grid-template-columns: 1fr;
  }

  body:not(.path-admin) .caritas-contact-location {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-info-section {
    margin: 30px auto 56px;
    padding: 0 14px;
  }

  body:not(.path-admin) .caritas-contact-card,
  body:not(.path-admin) .caritas-contact-location {
    border-radius: 20px;
    padding: 20px;
  }

  body:not(.path-admin) .caritas-contact-button {
    width: 100%;
  }
}

/* Bottone interno alle card recapiti */
body:not(.path-admin) .caritas-contact-card-action {
  margin-top: 18px;
}

body:not(.path-admin) .caritas-contact-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #7b0500;
  color: #ffffff !important;
  font-size: 0.9rem;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(123, 5, 0, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body:not(.path-admin) .caritas-contact-card-button:hover,
body:not(.path-admin) .caritas-contact-card-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(123, 5, 0, 0.24);
}

/* ==========================================================================
   CONTATTI — Fix mobile email lunghe e colori recapiti
   ========================================================================== */

/* Titoli delle card in bordeaux */
body:not(.path-admin) .caritas-contact-card h3 {
  color: #7b0500 !important;
}

/* Etichette Email / Telefono in bordeaux */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500 !important;
}

/* Email e numeri in nero, leggibili e non rossi */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
body:not(.path-admin) .caritas-location-box a {
  color: #101828 !important;
  font-weight: 800;
  text-decoration-color: rgba(16, 24, 40, 0.45);
  text-underline-offset: 3px;
}

/* Le email lunghe devono andare a capo dentro la card */
body:not(.path-admin) .caritas-contact-card,
body:not(.path-admin) .caritas-location-box {
  min-width: 0;
  overflow: hidden;
}

body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
body:not(.path-admin) .caritas-location-box a {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.45;
}

/* Il bottone Sostienici e il bottone Google Maps devono restare bordeaux/bianco */
body:not(.path-admin) .caritas-contact-card-button,
body:not(.path-admin) .caritas-contact-button {
  color: #ffffff !important;
  background: #7b0500;
  text-decoration: none !important;
}

/* Mobile: rendiamo i recapiti più ordinati e meno “sparati” */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-card h3 {
    font-size: 1.35rem;
    line-height: 1.2;
  }

  body:not(.path-admin) .caritas-contact-card p {
    font-size: 1rem;
    line-height: 1.6;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail {
    margin-top: 18px;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail strong {
    display: inline-block;
    margin-bottom: 4px;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a,
  body:not(.path-admin) .caritas-location-box a {
    font-size: 0.98rem;
  }
}

/* ==========================================================================
   CONTATTI — Fix definitivo recapiti: email a bottone e testi senza trattini
   ========================================================================== */

/* Evita trattini automatici e spezzature brutte nei testi delle card */
body:not(.path-admin) .caritas-contact-card,
body:not(.path-admin) .caritas-contact-card *,
body:not(.path-admin) .caritas-contact-location,
body:not(.path-admin) .caritas-contact-location * {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
}

/* I testi normali devono andare a capo solo tra parole, non spezzare a caso */
body:not(.path-admin) .caritas-contact-card p,
body:not(.path-admin) .caritas-contact-location p,
body:not(.path-admin) .caritas-contact-card span,
body:not(.path-admin) .caritas-location-box span {
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

/* Titoli delle card */
body:not(.path-admin) .caritas-contact-card h3 {
  color: #7b0500 !important;
}

/* Etichette Email / Telefono */
body:not(.path-admin) .caritas-contact-detail strong,
body:not(.path-admin) .caritas-location-box strong {
  color: #7b0500 !important;
}

/* Numeri di telefono in nero */
body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a[href^="tel:"],
body:not(.path-admin) .caritas-location-box a[href^="tel:"] {
  display: inline-block !important;
  max-width: 100% !important;
  color: #101828 !important;
  font-weight: 850 !important;
  text-decoration-color: rgba(16, 24, 40, 0.42) !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Bottone email: niente indirizzi lunghi visibili nelle card */
body:not(.path-admin) .caritas-contact-mail-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 40px !important;
  margin-top: 4px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(123, 5, 0, 0.08) !important;
  border: 1px solid rgba(123, 5, 0, 0.16) !important;
  color: #7b0500 !important;
  font-size: 0.92rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body:not(.path-admin) .caritas-contact-mail-button:hover,
body:not(.path-admin) .caritas-contact-mail-button:focus {
  background: rgba(123, 5, 0, 0.12) !important;
  color: #5e0300 !important;
  transform: translateY(-1px) !important;
}

/* I bottoni principali restano pieni */
body:not(.path-admin) .caritas-contact-card-button,
body:not(.path-admin) .caritas-contact-button {
  background: #7b0500 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Mobile: card più ordinate e niente contenuti che escono */
@media (max-width: 640px) {
  body:not(.path-admin) .caritas-contact-card,
  body:not(.path-admin) .caritas-contact-location,
  body:not(.path-admin) .caritas-location-box {
    overflow: hidden !important;
  }

  body:not(.path-admin) .caritas-contact-mail-button {
    width: 100% !important;
  }

  body:not(.path-admin) .caritas-contact-card .caritas-contact-detail a[href^="tel:"],
  body:not(.path-admin) .caritas-location-box a[href^="tel:"] {
    font-size: 1rem !important;
  }
}

/* =========================================================
   F3 — Webform Diventa volontario / richiesta_volontariato
   BLOCCO UNICO CONSOLIDATO
   Data: 2026-06-13

   Obiettivo:
   - form istituzionale moderno;
   - niente blocchi F3 duplicati;
   - attitudini personali compatte a cerchi 1–5;
   - mobile più largo e meno “matrioska”;
   - colori Caritas coerenti.
   ========================================================= */

body.path-webform .webform-submission-richiesta-volontariato-form {
  --f3-red: #7b0500;
  --f3-red-dark: #630400;
  --f3-gold: #d89a1d;
  --f3-ink: #101828;
  --f3-muted: #475467;
  --f3-soft: #f8fafc;
  --f3-border: #d5dde8;
  --f3-border-strong: #98a6ba;

  background:
    radial-gradient(circle at 96% 2%, rgba(216, 154, 29, .09), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 72%, #f9fafb 100%) !important;
  border: 1px solid var(--f3-border) !important;
  border-radius: 30px !important;
  box-shadow: 0 34px 90px rgba(15, 23, 42, .08) !important;
  color: var(--f3-ink) !important;
  margin-inline: auto !important;
  max-width: 860px !important;
  overflow: hidden !important;
  padding: 34px 34px 42px !important;
  position: relative !important;
  width: min(860px, calc(100vw - 64px)) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form::before {
  background: var(--f3-red) !important;
  border-radius: 999px !important;
  content: "" !important;
  height: 5px !important;
  left: 34px !important;
  position: absolute !important;
  right: 34px !important;
  top: 0 !important;
}

/* Contenitore pagina: lascia respirare il form. */
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .region--content,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .block-system-main-block {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: none !important;
  width: min(1180px, calc(100vw - 48px)) !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title {
  color: #101828 !important;
  font-size: clamp(2.4rem, 4vw, 4.2rem) !important;
  font-weight: 950 !important;
  letter-spacing: -.055em !important;
  line-height: .95 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: clamp(38px, 5vw, 66px) !important;
  width: min(1080px, calc(100vw - 48px)) !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1::first-letter,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title::first-letter {
  color: #7b0500 !important;
}

/* Progress. */
body.path-webform .webform-submission-richiesta-volontariato-form .webform-progress,
body.path-webform .webform-submission-richiesta-volontariato-form .webform-progress-tracker,
body.path-webform .webform-submission-richiesta-volontariato-form .progress-tracker {
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 0 34px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step .progress-marker {
  background: #d7dde6 !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 0 0 2px #cbd5e1, 0 8px 18px rgba(15, 23, 42, .08) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-active .progress-marker,
body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-complete .progress-marker {
  background: #7b0500 !important;
  box-shadow: 0 0 0 2px #7b0500, 0 10px 24px rgba(15, 23, 42, .12) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step .progress-title {
  color: #667085 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .progress-step.is-active .progress-title {
  color: #101828 !important;
}

/* Intro e privacy. */
body.path-webform .caritas-form-step-intro,
body.path-webform .caritas-form-privacy-box {
  background:
    linear-gradient(90deg, #7b0500 0 6px, transparent 6px),
    #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .055) !important;
  color: #475467 !important;
  line-height: 1.7 !important;
  margin: 0 0 22px !important;
  padding: 22px 24px 22px 30px !important;
}

body.path-webform .caritas-form-kicker {
  color: #7b0500 !important;
  display: block !important;
  font-size: .73rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

/* Campi base. */
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-field-card,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-textarea,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-email-confirm,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-date,
body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-telephone {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .04) !important;
  margin-bottom: 18px !important;
  padding: 20px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form label,
body.path-webform .webform-submission-richiesta-volontariato-form legend,
body.path-webform .webform-submission-richiesta-volontariato-form .fieldset-legend {
  color: #101828 !important;
  font-weight: 950 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .form-required::after,
body.path-webform .webform-submission-richiesta-volontariato-form .js-form-required::after {
  background: none !important;
  color: #7b0500 !important;
  content: " *" !important;
  display: inline !important;
  height: auto !important;
  margin-left: 2px !important;
  vertical-align: baseline !important;
  width: auto !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form input[type="text"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="email"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="tel"],
body.path-webform .webform-submission-richiesta-volontariato-form input[type="date"],
body.path-webform .webform-submission-richiesta-volontariato-form textarea,
body.path-webform .webform-submission-richiesta-volontariato-form select {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: #101828 !important;
  font-weight: 650 !important;
  min-height: 48px !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form textarea {
  min-height: 160px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form input:focus,
body.path-webform .webform-submission-richiesta-volontariato-form textarea:focus,
body.path-webform .webform-submission-richiesta-volontariato-form select:focus {
  border-color: #7b0500 !important;
  box-shadow: inset 5px 0 0 #7b0500, 0 0 0 3px rgba(123, 5, 0, .08) !important;
  outline: none !important;
}

/* Scelte normali: card/pill. */
body.path-webform .caritas-choice-group {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .045) !important;
  margin-bottom: 20px !important;
  padding: 20px !important;
}

body.path-webform .caritas-choice-group .form-radios,
body.path-webform .caritas-choice-group .form-checkboxes {
  display: grid !important;
  gap: 12px !important;
  margin-top: 16px !important;
}

body.path-webform .caritas-choice-grid .form-checkboxes {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.path-webform .caritas-choice-pills .form-radios {
  grid-template-columns: 1fr !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) input[type="radio"],
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) input[type="checkbox"] {
  height: 1px !important;
  left: 12px !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 12px !important;
  width: 1px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox label {
  align-items: center !important;
  background: #ffffff !important;
  border: 1.5px solid #d5dde8 !important;
  border-radius: 16px !important;
  color: #101828 !important;
  cursor: pointer !important;
  display: flex !important;
  font-weight: 850 !important;
  gap: 12px !important;
  line-height: 1.28 !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
  width: 100% !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio label::before {
  border: 2px solid #98a6ba !important;
  border-radius: 50% !important;
  content: "" !important;
  flex: 0 0 20px !important;
  height: 20px !important;
  width: 20px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox label::before {
  align-items: center !important;
  border: 2px solid #98a6ba !important;
  border-radius: 7px !important;
  content: "" !important;
  display: inline-flex !important;
  flex: 0 0 22px !important;
  height: 22px !important;
  justify-content: center !important;
  width: 22px !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio:has(input:checked) label,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox:has(input:checked) label {
  border-color: #7b0500 !important;
  box-shadow: inset 6px 0 0 #7b0500, 0 12px 24px rgba(15, 23, 42, .07) !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-radio:has(input:checked) label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-radio:has(input:checked) label::before {
  background: radial-gradient(circle at center, #7b0500 0 45%, #ffffff 48% 100%) !important;
  border-color: #7b0500 !important;
}

body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .form-type-checkbox:has(input:checked) label::before,
body.path-webform .caritas-choice-group:not(.caritas-privacy-consent) .js-form-type-checkbox:has(input:checked) label::before {
  background: #7b0500 !important;
  border-color: #7b0500 !important;
  color: #ffffff !important;
  content: "✓" !important;
  font-weight: 950 !important;
}

/* ATTITUDINI: domanda + scala 1–5 a cerchi. */
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] {
  background: #ffffff !important;
  border: 1px solid #e3e8ef !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  margin: 0 0 18px !important;
  padding: 18px 20px 20px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card legend,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-legend,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] legend,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-legend {
  color: #101828 !important;
  display: block !important;
  font-size: 1.02rem !important;
  font-weight: 950 !important;
  line-height: 1.28 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-wrapper,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-wrapper {
  display: block !important;
  padding: 0 !important;
  position: static !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
  justify-content: space-between !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex: 0 0 auto !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: auto !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"],
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"] {
  height: 1px !important;
  left: 50% !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 50% !important;
  width: 1px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label {
  align-items: center !important;
  background: #ffffff !important;
  border: 3px solid #7b0500 !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .05) !important;
  color: #101828 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 1.35rem !important;
  font-weight: 950 !important;
  height: 56px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  min-height: 56px !important;
  padding: 0 !important;
  text-align: center !important;
  width: 56px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label::before {
  content: none !important;
  display: none !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio:has(input:checked) label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio:has(input:checked) label {
  background: #7b0500 !important;
  border-color: #7b0500 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .14) !important;
}

/* Privacy checkbox vera e cliccabile. */
body.path-webform .caritas-privacy-consent {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .045) !important;
  padding: 16px 18px !important;
}

body.path-webform .caritas-privacy-consent .form-type-checkbox,
body.path-webform .caritas-privacy-consent .js-form-type-checkbox {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
}

body.path-webform .caritas-privacy-consent input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #ffffff !important;
  border: 2px solid #98a6ba !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  display: inline-block !important;
  flex: 0 0 23px !important;
  height: 23px !important;
  margin: 0 !important;
  opacity: 1 !important;
  position: static !important;
  width: 23px !important;
}

body.path-webform .caritas-privacy-consent input[type="checkbox"]:checked {
  background-color: #7b0500 !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.2 8.2 6.5 11.4 13 4.8' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 15px 15px !important;
  border-color: #7b0500 !important;
}

/* Azioni. */
body.path-webform .webform-submission-richiesta-volontariato-form .form-actions,
body.path-webform .webform-submission-richiesta-volontariato-form .webform-actions {
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .045) !important;
  display: flex !important;
  gap: 14px !important;
  justify-content: flex-end !important;
  margin-top: 24px !important;
  padding: 18px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form .button,
body.path-webform .webform-submission-richiesta-volontariato-form input[type="submit"] {
  background: #7b0500 !important;
  border: 1px solid #7b0500 !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(15, 23, 42, .14) !important;
  color: #ffffff !important;
  font-weight: 950 !important;
  padding: 13px 26px !important;
}

/* Conferma. */
body.path-webform .webform-confirmation {
  margin: 38px auto !important;
  max-width: 980px !important;
  width: min(980px, calc(100vw - 48px)) !important;
}

body.path-webform .caritas-form-confirmation-card {
  align-items: flex-start !important;
  background:
    linear-gradient(90deg, #7b0500 0 7px, transparent 7px),
    #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 72px rgba(15, 23, 42, .09) !important;
  color: #101828 !important;
  display: flex !important;
  gap: 22px !important;
  padding: 34px 38px !important;
}

body.path-webform .caritas-form-confirmation-icon {
  align-items: center !important;
  background: #7b0500 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  display: inline-flex !important;
  flex: 0 0 48px !important;
  font-size: 1.45rem !important;
  font-weight: 950 !important;
  height: 48px !important;
  justify-content: center !important;
  width: 48px !important;
}

body.path-webform .caritas-form-next-steps {
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 20px !important;
  margin-top: 20px !important;
  padding: 22px 24px !important;
}

body.path-webform .webform-confirmation a {
  background: #7b0500 !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  display: inline-block !important;
  font-weight: 950 !important;
  margin-top: 18px !important;
  padding: 12px 20px !important;
  text-decoration: none !important;
}

/* Messaggi errore. */
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages-list,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages__wrapper {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages--error,
body.path-webform:has(.webform-submission-richiesta-volontariato-form) .messages-list__item--error {
  background: #ffffff !important;
  border: 1px solid #d5dde8 !important;
  border-left: 6px solid #7b0500 !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
  color: #101828 !important;
  font-weight: 850 !important;
  padding: 16px 20px !important;
}

/* Mobile. */
@media (max-width: 760px) {
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .region--content,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .block-system-main-block,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) h1,
  body.path-webform:has(.webform-submission-richiesta-volontariato-form) .page-title {
    width: min(100%, calc(100vw - 14px)) !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form {
    border-radius: 22px !important;
    padding: 18px 12px 22px !important;
    width: min(100%, calc(100vw - 14px)) !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form::before {
    left: 18px !important;
    right: 18px !important;
  }

  body.path-webform .caritas-form-step-intro,
  body.path-webform .caritas-form-privacy-box {
    border-radius: 18px !important;
    padding: 18px 16px 18px 22px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-field-card,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-textarea,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-email-confirm,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-date,
  body.path-webform .webform-submission-richiesta-volontariato-form .form-type-webform-telephone {
    border-radius: 18px !important;
    padding: 14px !important;
  }

  body.path-webform .caritas-choice-group {
    border-radius: 18px !important;
    padding: 14px !important;
  }

  body.path-webform .caritas-choice-grid .form-checkboxes,
  body.path-webform .caritas-choice-pills .form-radios {
    grid-template-columns: 1fr !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] {
    border-radius: 16px !important;
    padding: 16px 12px 18px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios {
    gap: 8px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label {
    border-width: 2.5px !important;
    font-size: 1.05rem !important;
    height: 42px !important;
    min-height: 42px !important;
    width: 42px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .form-actions,
  body.path-webform .webform-submission-richiesta-volontariato-form .webform-actions {
    flex-direction: column-reverse !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form .button,
  body.path-webform .webform-submission-richiesta-volontariato-form input[type="submit"] {
    width: 100% !important;
  }

  body.path-webform .caritas-form-confirmation-card {
    flex-direction: column !important;
    padding: 26px 24px !important;
  }
}

/* =========================================================
   Fine blocco F3 richiesta_volontariato — BLOCCO UNICO CONSOLIDATO
   ========================================================= */

/* =========================================================
   F3 — ATTITUDINI PERSONALI 1–5 CONSOLIDATE
   Blocco finale unico: testi leggibili, scala 1–5 adattiva.
   ========================================================= */

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"],
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"],
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card {
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: visible !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] legend,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-legend,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] legend,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-legend,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card legend,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-legend,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card legend,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-legend {
  display: block !important;
  line-height: 1.45 !important;
  max-width: 100% !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
  word-break: normal !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-wrapper,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .fieldset-wrapper,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-wrapper,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .fieldset-wrapper {
  min-width: 0 !important;
  overflow: visible !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .webform-options-display-side-by-side,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .caritas-attitude-radios,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .webform-options-display-side-by-side,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .caritas-attitude-radios,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .webform-options-display-side-by-side,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .caritas-attitude-radios,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .webform-options-display-side-by-side,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .caritas-attitude-radios {
  align-items: center !important;
  display: grid !important;
  grid-template-columns: repeat(5, 48px) !important;
  justify-content: center !important;
  column-gap: clamp(10px, 2vw, 20px) !important;
  margin: 14px auto 0 !important;
  max-width: 390px !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"],
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"],
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"],
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"] {
  opacity: 0 !important;
  position: absolute !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label {
  align-items: center !important;
  background: #ffffff !important;
  border: 3px solid #7b0500 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  color: #101828 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 1.12rem !important;
  font-weight: 950 !important;
  height: 48px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 auto !important;
  min-height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  text-align: center !important;
  width: 48px !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label::before,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label::before,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label::before,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label::before,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label::before,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio label::before {
  content: none !important;
  display: none !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio:first-child label,
body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio:first-child label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio:first-child label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio:first-child label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio:first-child label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio:first-child label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio:first-child label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .js-form-type-radio:first-child label {
  transform: translateY(8px) !important;
}

body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"]:checked + label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] input[type="radio"]:checked + label,
body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"]:checked + label,
body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card input[type="radio"]:checked + label {
  background: #7b0500 !important;
  border-color: #7b0500 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .14) !important;
}

@media (max-width: 760px) {
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"],
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"],
  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .webform-options-display-side-by-side,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-radios,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .webform-options-display-side-by-side,
  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-radios {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    column-gap: 4px !important;
    max-width: 100% !important;
  }

  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .form-type-radio label,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form fieldset[data-drupal-selector^="edit-attitudine-"] .js-form-type-radio label,
  body.path-webform .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label,
  body.path-form-richiesta-volontariato .webform-submission-richiesta-volontariato-form .caritas-attitude-card .form-type-radio label {
    border-width: 2.5px !important;
    font-size: .92rem !important;
    height: 34px !important;
    min-height: 34px !important;
    min-width: 34px !important;
    width: 34px !important;
  }
}

/* =========================================================
   Fine F3 attitudini personali 1–5 consolidate
   ========================================================= */

/* ==========================================================================
   Messaggi Drupal frontend - override Caritas finale
   ========================================================================== */

body:not(.path-admin) .messages-list,
body:not(.path-admin) .messages__wrapper {
  width: min(100% - 32px, 980px) !important;
  margin: 28px auto 22px !important;
  padding: 0 !important;
}

body:not(.path-admin) .messages {
  position: relative !important;
  box-sizing: border-box !important;
  margin: 0 0 14px !important;
  padding: 18px 58px 18px 22px !important;
  border: 1px solid #e5e7eb !important;
  border-left: 6px solid #7b0500 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  background-image: none !important;
  color: #111827 !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08) !important;
  font-size: clamp(.96rem, 1.7vw, 1.04rem) !important;
  line-height: 1.55 !important;
}

/* Disattiva le icone native di Olivero: niente doppie icone. */
body:not(.path-admin) .messages::before,
body:not(.path-admin) .messages-list__item::before,
body:not(.path-admin) .messages__icon {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

/* Colori per tipologia messaggio. */
body:not(.path-admin) .messages--error {
  border-left-color: #7b0500 !important;
  background: linear-gradient(90deg, rgba(123, 5, 0, .06), #ffffff 44%) !important;
}

body:not(.path-admin) .messages--warning {
  border-left-color: #d89a1d !important;
  background: linear-gradient(90deg, rgba(216, 154, 29, .14), #ffffff 44%) !important;
}

body:not(.path-admin) .messages--status {
  border-left-color: #00747c !important;
  background: linear-gradient(90deg, rgba(0, 116, 124, .09), #ffffff 44%) !important;
}

body:not(.path-admin) .messages__content,
body:not(.path-admin) .messages__list,
body:not(.path-admin) .messages__item {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:not(.path-admin) .messages a {
  color: #7b0500 !important;
  font-weight: 800 !important;
}

/* Pulsante chiusura Drupal. */
body:not(.path-admin) .messages button,
body:not(.path-admin) .messages .messages__close,
body:not(.path-admin) .messages .messages__button {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #475569 !important;
  box-shadow: none !important;
}

body:not(.path-admin) .messages button:hover,
body:not(.path-admin) .messages .messages__close:hover,
body:not(.path-admin) .messages .messages__button:hover {
  border-color: #7b0500 !important;
  color: #7b0500 !important;
}

/* Campi in errore nei form pubblici. */
body:not(.path-admin) .form-item--error-message {
  margin-top: 8px !important;
  color: #7b0500 !important;
  font-weight: 800 !important;
}

body:not(.path-admin) .form-item--error input,
body:not(.path-admin) .form-item--error select,
body:not(.path-admin) .form-item--error textarea,
body:not(.path-admin) input.error,
body:not(.path-admin) select.error,
body:not(.path-admin) textarea.error {
  border-color: #7b0500 !important;
  box-shadow: 0 0 0 3px rgba(123, 5, 0, .10) !important;
}

@media (max-width: 719px) {
  body:not(.path-admin) .messages-list,
  body:not(.path-admin) .messages__wrapper {
    width: calc(100% - 24px) !important;
    margin: 18px auto 18px !important;
  }

  body:not(.path-admin) .messages {
    padding: 16px 54px 16px 18px !important;
    border-radius: 16px !important;
  }
}



/* Messaggi Drupal frontend - rimozione pulsante chiusura Olivero */
body:not(.path-admin) .messages {
  padding-right: 22px !important;
}

body:not(.path-admin) .messages button,
body:not(.path-admin) .messages .messages__close,
body:not(.path-admin) .messages .messages__button {
  display: none !important;
}

@media (max-width: 719px) {
  body:not(.path-admin) .messages {
    padding-right: 18px !important;
  }
}

