/* ==========================================================================
   AREA STAMPA — LANDING ED ELENCHI PUBBLICI
   --------------------------------------------------------------------------
   File dedicato a:
   - landing /area-stampa;
   - elenchi /comunicati, /pubblicazioni, /documenti.

   Regole grafiche:
   - niente rosa / rosato;
   - niente gradienti rosati;
   - niente ombre rosate;
   - superfici bianche/neutre;
   - rosso #7b0500 solo come accento pieno;
   - notizie teal;
   - documenti oro.
   ========================================================================== */

:root {
  --as-red: #7b0500;
  --as-teal: #0f8b8d;
  --as-gold: #d89a1d;
  --as-gold-dark: #b87907;
  --as-ink: #111827;
  --as-text: #334155;
  --as-muted: #64748b;
  --as-border: #e5e7eb;
  --as-soft: #f8fafc;
  --as-shadow: 0 18px 44px rgba(15, 23, 42, .07);
  --as-shadow-hover: 0 24px 56px rgba(15, 23, 42, .10);
}

/* ==========================================================================
   1. LANDING AREA STAMPA — /area-stampa
   ========================================================================== */

body:has(.caritas-area-stampa-landing) {
  overflow-x: hidden !important;
}

body:has(.caritas-area-stampa-landing) .caritas-page-hero,
body:has(.caritas-area-stampa-landing) .caritas-public-content,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-node,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-landing,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-cards,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card {
  box-sizing: border-box !important;
}

body:has(.caritas-area-stampa-landing) .caritas-page-hero,
body:has(.caritas-area-stampa-landing) .caritas-public-content {
  width: min(calc(100vw - 40px), 1120px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-node,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-landing {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 0 clamp(4rem, 6vw, 6.5rem) !important;
}

/* Il grande riquadro introduttivo è stato rimosso: resta il titolo pagina. */
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-landing .caritas-editorial-hero,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-landing .caritas-editorial-hero--single,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-landing .caritas-editorial-panel {
  display: none !important;
}

/* ==========================================================================
   2. LANDING AREA STAMPA — CARD ORIZZONTALI
   ========================================================================== */

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-cards {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(1rem, 1.6vw, 1.25rem) !important;
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin: clamp(1rem, 2vw, 1.6rem) auto 0 !important;
  padding: 0 !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card {
  --as-card-accent: var(--as-red);
  --as-card-button: var(--as-red);

  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "label action"
    "title action"
    "text action" !important;
  column-gap: clamp(1rem, 2vw, 1.6rem) !important;
  row-gap: .45rem !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: clamp(1.25rem, 2vw, 1.65rem) clamp(1.25rem, 2.2vw, 1.9rem) clamp(1.25rem, 2vw, 1.65rem) clamp(1.55rem, 2.4vw, 2.1rem) !important;
  border: 1px solid var(--as-border) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: var(--as-shadow) !important;
  overflow: hidden !important;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card--pubblicazioni {
  --as-card-accent: var(--as-teal);
  --as-card-button: var(--as-teal);
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card--documenti {
  --as-card-accent: var(--as-gold);
  --as-card-button: var(--as-gold-dark);
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card:hover {
  transform: translateY(-2px) !important;
  border-color: #d1d5db !important;
  box-shadow: var(--as-shadow-hover) !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 7px !important;
  background: var(--as-card-accent) !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card::after {
  display: none !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__label {
  grid-area: label !important;
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: .38rem .72rem !important;
  border-radius: 999px !important;
  background: var(--as-card-accent) !important;
  color: #ffffff !important;
  font-size: .68rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card h3 {
  grid-area: title !important;
  position: relative !important;
  z-index: 2 !important;
  margin: .15rem 0 0 !important;
  color: var(--as-ink) !important;
  font-size: clamp(1.65rem, 2.1vw, 2.25rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  font-weight: 950 !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card p {
  grid-area: text !important;
  position: relative !important;
  z-index: 2 !important;
  max-width: 64ch !important;
  margin: 0 !important;
  color: var(--as-text) !important;
  font-size: clamp(.96rem, 1vw, 1.04rem) !important;
  line-height: 1.58 !important;
  font-weight: 500 !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button:visited {
  grid-area: action !important;
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: .72rem 1rem !important;
  border-radius: 999px !important;
  background: var(--as-card-button) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: .88rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .14) !important;
  transition:
    transform 180ms ease,
    filter 180ms ease,
    box-shadow 180ms ease !important;
}

body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button:hover,
body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button:focus {
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  filter: brightness(.96) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .18) !important;
}

/* ==========================================================================
   3. ELENCHI AREA STAMPA — /comunicati /pubblicazioni /documenti
   ========================================================================== */

body.path-comunicati .caritas-page-hero,
body.path-pubblicazioni .caritas-page-hero,
body.path-documenti .caritas-page-hero,
body.path-comunicati .caritas-area-stampa-list,
body.path-pubblicazioni .caritas-area-stampa-list,
body.path-documenti .caritas-area-stampa-list {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(calc(100vw - 40px), 1320px) !important;
  max-width: 1320px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.path-comunicati .caritas-public-main,
body.path-pubblicazioni .caritas-public-main,
body.path-documenti .caritas-public-main {
  padding-top: clamp(3rem, 4vw, 4.8rem) !important;
}

body.path-comunicati .caritas-area-stampa-list,
body.path-pubblicazioni .caritas-area-stampa-list,
body.path-documenti .caritas-area-stampa-list {
  --as-list-accent: var(--as-red);
}

body.path-pubblicazioni .caritas-area-stampa-list {
  --as-list-accent: var(--as-teal);
}

body.path-documenti .caritas-area-stampa-list {
  --as-list-accent: var(--as-gold);
}

body.path-comunicati .caritas-area-stampa-list .view-content,
body.path-pubblicazioni .caritas-area-stampa-list .view-content,
body.path-documenti .caritas-area-stampa-list .view-content {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(1.2rem, 2vw, 1.8rem) !important;
  width: 100% !important;
}

body.path-comunicati .caritas-area-stampa-list .views-row,
body.path-pubblicazioni .caritas-area-stampa-list .views-row,
body.path-documenti .caritas-area-stampa-list .views-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(300px, 470px) minmax(0, 1fr) !important;
  gap: clamp(1.4rem, 2.2vw, 2.2rem) !important;
  align-items: center !important;
  min-height: 270px !important;
  padding: clamp(1.05rem, 1.5vw, 1.35rem) clamp(1.25rem, 2vw, 2rem) !important;
  border: 1px solid var(--as-border) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: var(--as-shadow) !important;
  overflow: hidden !important;
}

body.path-comunicati .caritas-area-stampa-list .views-row:hover,
body.path-pubblicazioni .caritas-area-stampa-list .views-row:hover,
body.path-documenti .caritas-area-stampa-list .views-row:hover {
  box-shadow: var(--as-shadow-hover) !important;
}

body.path-comunicati .caritas-area-stampa-list .views-row::before,
body.path-pubblicazioni .caritas-area-stampa-list .views-row::before,
body.path-documenti .caritas-area-stampa-list .views-row::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 7px !important;
  border-radius: 28px 0 0 28px !important;
  background: var(--as-list-accent) !important;
  z-index: 2 !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina,
body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina {
  grid-row: 1 / span 5 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 235px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: var(--as-soft) !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .08) !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina .field-content,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina .field-content,
body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina .field-content,
body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina a,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina a,
body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina img,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina img,
body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 235px !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 220ms ease, filter 220ms ease !important;
}

body.path-comunicati .caritas-area-stampa-list .views-row:hover .views-field-field-immagine-di-copertina img,
body.path-pubblicazioni .caritas-area-stampa-list .views-row:hover .views-field-field-immagine-di-copertina img,
body.path-documenti .caritas-area-stampa-list .views-row:hover .views-field-field-immagine-di-copertina img {
  transform: scale(1.025) !important;
  filter: contrast(1.02) saturate(1.02) !important;
}

body.path-comunicati .caritas-area-stampa-list .views-label,
body.path-pubblicazioni .caritas-area-stampa-list .views-label,
body.path-documenti .caritas-area-stampa-list .views-label {
  display: none !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-tipologia,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-tipologia,
body.path-documenti .caritas-area-stampa-list .views-field-field-tipologia {
  align-self: start !important;
  margin: .2rem 0 .65rem !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-tipologia .field-content,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-tipologia .field-content,
body.path-documenti .caritas-area-stampa-list .views-field-field-tipologia .field-content {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: .35rem .75rem !important;
  border-radius: 999px !important;
  background: var(--as-list-accent) !important;
  color: #ffffff !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-data-pubblicazione,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-data-pubblicazione,
body.path-documenti .caritas-area-stampa-list .views-field-field-data-pubblicazione {
  margin: 0 0 .65rem !important;
  color: var(--as-muted) !important;
  font-size: .96rem !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-title,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-title,
body.path-documenti .caritas-area-stampa-list .views-field-title {
  margin: 0 0 .75rem !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-title a,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-title a,
body.path-documenti .caritas-area-stampa-list .views-field-title a {
  color: var(--as-ink) !important;
  text-decoration: none !important;
  font-size: clamp(1.55rem, 2.1vw, 2.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
  font-weight: 940 !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-title a:hover,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-title a:hover,
body.path-documenti .caritas-area-stampa-list .views-field-title a:hover {
  color: var(--as-list-accent) !important;
}

body.path-comunicati .caritas-area-stampa-list .views-field-field-testo-breve,
body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-testo-breve,
body.path-documenti .caritas-area-stampa-list .views-field-field-testo-breve {
  max-width: 68ch !important;
  margin: 0 !important;
  color: var(--as-text) !important;
  font-size: clamp(.98rem, 1.02vw, 1.08rem) !important;
  line-height: 1.62 !important;
}

/* ==========================================================================
   4. RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
  body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "label"
      "title"
      "text"
      "action" !important;
    align-items: start !important;
  }

  body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button,
  body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card__button:visited {
    width: 100% !important;
    margin-top: .45rem !important;
  }

  body.path-comunicati .caritas-area-stampa-list,
  body.path-pubblicazioni .caritas-area-stampa-list,
  body.path-documenti .caritas-area-stampa-list {
    width: min(calc(100vw - 28px), 760px) !important;
    max-width: 760px !important;
  }

  body.path-comunicati .caritas-area-stampa-list .views-row,
  body.path-pubblicazioni .caritas-area-stampa-list .views-row,
  body.path-documenti .caritas-area-stampa-list .views-row {
    grid-template-columns: 1fr !important;
  }

  body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina,
  body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina,
  body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina {
    grid-row: auto !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.path-comunicati .caritas-area-stampa-list .views-field-field-immagine-di-copertina img,
  body.path-pubblicazioni .caritas-area-stampa-list .views-field-field-immagine-di-copertina img,
  body.path-documenti .caritas-area-stampa-list .views-field-field-immagine-di-copertina img {
    min-height: 0 !important;
    height: 100% !important;
  }
}

@media (max-width: 760px) {
  body:has(.caritas-area-stampa-landing) .caritas-page-hero,
  body:has(.caritas-area-stampa-landing) .caritas-public-content {
    width: min(calc(100vw - 28px), 720px) !important;
  }

  body:has(.caritas-area-stampa-landing) .caritas-area-stampa-cards {
    width: 100% !important;
    max-width: 100% !important;
  }

  body:has(.caritas-area-stampa-landing) .caritas-area-stampa-card {
    padding: 1.15rem 1.15rem 1.2rem 1.45rem !important;
    border-radius: 20px !important;
  }

  body.path-comunicati .caritas-page-hero,
  body.path-pubblicazioni .caritas-page-hero,
  body.path-documenti .caritas-page-hero,
  body.path-comunicati .caritas-area-stampa-list,
  body.path-pubblicazioni .caritas-area-stampa-list,
  body.path-documenti .caritas-area-stampa-list {
    width: min(calc(100vw - 24px), 720px) !important;
  }

  body.path-comunicati .caritas-area-stampa-list .views-row,
  body.path-pubblicazioni .caritas-area-stampa-list .views-row,
  body.path-documenti .caritas-area-stampa-list .views-row {
    padding: 1rem 1rem 1.15rem 1.25rem !important;
    border-radius: 22px !important;
  }

  body.path-comunicati .caritas-area-stampa-list .views-row::before,
  body.path-pubblicazioni .caritas-area-stampa-list .views-row::before,
  body.path-documenti .caritas-area-stampa-list .views-row::before {
    border-radius: 22px 0 0 22px !important;
  }
}
