/* =========================================================
   HOME NUMBERS V2 — Fascia "I numeri della Caritas"
   Intervento isolato: non modifica header, form, footer, pagine interne.
   ========================================================= */

html body.path-frontpage .caritas-public-band--numbers {
  background: #ffffff !important;
  padding-top: clamp(34px, 4vw, 58px) !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;
}

html body.path-frontpage .caritas-home-slot--numbers {
  width: 100% !important;
  min-height: 0 !important;
}

html body.path-frontpage .caritas-home-slot--numbers > .block,
html body.path-frontpage .caritas-home-slot--numbers > .block-content {
  margin: 0 !important;
}

/* Nasconde solo l'eventuale titolo amministrativo del blocco nella regione numeri. */
html body.path-frontpage .caritas-home-slot--numbers > .block > h2 {
  display: none !important;
}

html body.path-frontpage .caritas-home-numbers-v2 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111827 !important;
}

/* Header fascia: stessa famiglia visiva di "In evidenza" e "Dove siamo". */
html body.path-frontpage .caritas-home-numbers-v2__header {
  margin: 0 0 22px !important;
}

html body.path-frontpage .caritas-home-numbers-v2__strip {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 60px !important;
  margin: 0 0 14px !important;
  padding: 14px 18px 14px 24px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(123, 5, 0, 0.14) !important;
  background:
    linear-gradient(
      135deg,
      rgba(123, 5, 0, 0.08) 0%,
      rgba(255, 255, 255, 0.98) 44%,
      rgba(15, 139, 141, 0.06) 100%
    ) !important;
  box-shadow: 0 14px 34px rgba(17, 24, 39, 0.07) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

html body.path-frontpage .caritas-home-numbers-v2__strip::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 7px !important;
  background: #7b0500 !important;
  transform: scaleY(0) !important;
  transform-origin: bottom center !important;
  transition: transform 720ms cubic-bezier(.2, .8, .2, 1) !important;
}

html body.path-frontpage .caritas-home-numbers-v2__strip::after {
  content: "" !important;
  position: absolute !important;
  right: -60px !important;
  top: -80px !important;
  width: 190px !important;
  height: 190px !important;
  border-radius: 999px !important;
  background: rgba(123, 5, 0, 0.045) !important;
  pointer-events: none !important;
  transform: scale(0.75) !important;
  opacity: 0 !important;
  transition:
    opacity 650ms ease 180ms,
    transform 850ms cubic-bezier(.2, .8, .2, 1) 180ms !important;
}

html body.path-frontpage .caritas-home-numbers-v2.is-visible .caritas-home-numbers-v2__strip::before {
  transform: scaleY(1) !important;
}

html body.path-frontpage .caritas-home-numbers-v2.is-visible .caritas-home-numbers-v2__strip::after {
  opacity: 1 !important;
  transform: scale(1) !important;
}

html body.path-frontpage .caritas-home-numbers-v2__title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: #7b0500 !important;
  font-size: clamp(1.25rem, 1.6vw, 1.7rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

html body.path-frontpage .caritas-home-numbers-v2__title.is-typing::after,
html body.path-frontpage .caritas-home-numbers-v2__subtitle.is-typing::after {
  content: "" !important;
  display: inline-block !important;
  width: 0.55ch !important;
  height: 1em !important;
  margin-left: 3px !important;
  transform: translateY(2px) !important;
  border-right: 2px solid #7b0500 !important;
  animation: caritasNumbersV2Cursor 780ms steps(1) infinite !important;
}

@keyframes caritasNumbersV2Cursor {
  0%, 45% { opacity: 1; }
  46%, 100% { opacity: 0; }
}

html body.path-frontpage .caritas-home-numbers-v2__subtitle {
  max-width: 980px !important;
  margin: 0 0 12px !important;
  color: #374151 !important;
  font-size: clamp(0.95rem, 1.15vw, 1.06rem) !important;
  line-height: 1.65 !important;
  font-weight: 520 !important;
}

/* Parole chiave renderizzate da campo Drupal. */
html body.path-frontpage .caritas-home-numbers-v2__tags,
html body.path-frontpage .caritas-home-numbers-v2__tags .field,
html body.path-frontpage .caritas-home-numbers-v2__tags .field__items {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__label {
  display: none !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__item,
html body.path-frontpage .caritas-home-numbers-v2__tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  border: 0 !important;
  font-size: 0.76rem !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition:
    opacity 420ms ease,
    transform 420ms ease !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__item:nth-child(1),
html body.path-frontpage .caritas-home-numbers-v2__tag:nth-child(1) {
  background: #7b0500 !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__item:nth-child(2),
html body.path-frontpage .caritas-home-numbers-v2__tag:nth-child(2) {
  background: #d89a1d !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__item:nth-child(3),
html body.path-frontpage .caritas-home-numbers-v2__tag:nth-child(3) {
  background: #0f8b8d !important;
}

html body.path-frontpage .caritas-home-numbers-v2__tags .field__item.is-visible,
html body.path-frontpage .caritas-home-numbers-v2__tag.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Griglia card: nessun riquadro contenitore, card libere. */
html body.path-frontpage .caritas-home-numbers-v2__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.path-frontpage .caritas-home-numbers-v2__grid > .field,
html body.path-frontpage .caritas-home-numbers-v2__grid > .field > .field__items,
html body.path-frontpage .caritas-home-numbers-v2__grid .field--name-field-card-numeri,
html body.path-frontpage .caritas-home-numbers-v2__grid .field--name-field-card-numeri > .field__items {
  display: contents !important;
}

html body.path-frontpage .caritas-home-numbers-v2__grid .field__label {
  display: none !important;
}

html body.path-frontpage .caritas-home-numbers-v2__grid .field__item {
  min-width: 0 !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card {
  position: relative !important;
  min-height: 176px !important;
  padding: 26px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: #111827 !important;
  overflow: hidden !important;
  border: 1px solid rgba(123, 5, 0, 0.14) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  transform: translateY(0) !important;
  transition:
    transform 260ms ease,
    box-shadow 260ms ease,
    border-color 260ms ease !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: #7b0500 !important;
  z-index: 4 !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card::after {
  content: "" !important;
  position: absolute !important;
  right: -58px !important;
  bottom: -72px !important;
  width: 160px !important;
  height: 160px !important;
  border-radius: 999px !important;
  background: rgba(123, 5, 0, 0.045) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__content {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-height: 100% !important;
  transition:
    opacity 260ms ease,
    transform 260ms ease,
    filter 260ms ease !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__value {
  display: block !important;
  margin: 0 0 8px !important;
  color: #7b0500 !important;
  font-size: clamp(2.1rem, 3.2vw, 3.1rem) !important;
  line-height: 0.95 !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__label {
  display: block !important;
  margin: 0 0 9px !important;
  color: #111827 !important;
  font-size: 0.98rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__text {
  margin: 0 !important;
  color: #374151 !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
  font-weight: 520 !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  opacity: 0 !important;
  transform: scale(1.055) !important;
  transition:
    opacity 320ms ease,
    transform 520ms cubic-bezier(.2, .8, .2, 1) !important;
  pointer-events: none !important;
  background: #111827 !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(
      135deg,
      rgba(20, 24, 32, 0.28) 0%,
      rgba(123, 5, 0, 0.20) 55%,
      rgba(20, 24, 32, 0.14) 100%
    ) !important;
}

html body.path-frontpage .caritas-home-numbers-v2-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (hover: hover) and (pointer: fine) {
  html body.path-frontpage .caritas-home-numbers-v2-card:hover,
  html body.path-frontpage .caritas-home-numbers-v2-card:focus-within {
    transform: translateY(-4px) !important;
    border-color: rgba(123, 5, 0, 0.22) !important;
    box-shadow: 0 20px 46px rgba(15, 23, 42, 0.14) !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card--has-image:hover .caritas-home-numbers-v2-card__content,
  html body.path-frontpage .caritas-home-numbers-v2-card--has-image:focus-within .caritas-home-numbers-v2-card__content {
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    filter: blur(1px) !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card--has-image:hover .caritas-home-numbers-v2-card__image,
  html body.path-frontpage .caritas-home-numbers-v2-card--has-image:focus-within .caritas-home-numbers-v2-card__image {
    opacity: 1 !important;
    transform: scale(1) !important;
  }
}

/* Fallback di sicurezza: se per qualche motivo il template blocco non venisse preso,
   almeno le card paragraph V2 non diventano rosse e restano in griglia. */
html body.path-frontpage .caritas-home-slot--numbers .field--name-field-card-numeri > .field__items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

/* Responsive */
@media (max-width: 980px) {
  html body.path-frontpage .caritas-home-numbers-v2__grid,
  html body.path-frontpage .caritas-home-slot--numbers .field--name-field-card-numeri > .field__items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  html body.path-frontpage .caritas-public-band--numbers {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2__strip {
    min-height: 56px !important;
    padding: 16px 16px 16px 22px !important;
    border-radius: 20px !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2__grid,
  html body.path-frontpage .caritas-home-slot--numbers .field--name-field-card-numeri > .field__items {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card {
    min-height: 154px !important;
    padding: 22px !important;
    border-radius: 20px !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card__value {
    font-size: clamp(2rem, 10vw, 2.55rem) !important;
  }

  /* Su mobile niente sostituzione immagine: leggibilità prima di tutto. */
  html body.path-frontpage .caritas-home-numbers-v2-card__image {
    display: none !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card__content {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* =========================================================
   HOME NUMBERS V2 — Mobile touch reveal immagini
   Su smartphone l'immagine appare solo al tocco della singola card.
   Primo tocco: mostra immagine. Secondo tocco o tocco su altra card: chiude/sposta.
   ========================================================= */
@media (max-width: 640px) {
  html body.path-frontpage .caritas-home-numbers-v2-card--has-image {
    cursor: pointer !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card--has-image.is-mobile-touch-active {
    transform: translateY(-2px) !important;
    border-color: rgba(123, 5, 0, 0.22) !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.13) !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card--has-image.is-mobile-touch-active .caritas-home-numbers-v2-card__content {
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    filter: blur(1px) !important;
  }

  html body.path-frontpage .caritas-home-numbers-v2-card--has-image.is-mobile-touch-active .caritas-home-numbers-v2-card__image {
    display: block !important;
    opacity: 1 !important;
    transform: scale(1) !important;
  }
}
