/* ============================================================
   InfoComuni — Sistema colori macro-area (JobCon-inspired)
   v1.0 — 2026-05-27
   Usato da: /news.html (card grid) + /opportunita/bando.html (hero)
   ============================================================ */

:root {
  /* Palette categoria */
  --cat-sociale-bg:        #fde8ec;
  --cat-sociale-fg:        #c12848;
  --cat-sociale-border:    #e8546b;
  --cat-sociale-btn:       #e8546b;
  --cat-sociale-btn-hover: #c12848;

  --cat-incentivi-bg:        #def8e9;
  --cat-incentivi-fg:        #0f7a47;
  --cat-incentivi-border:    #16a571;
  --cat-incentivi-btn:       #16a571;
  --cat-incentivi-btn-hover: #0f7a47;

  --cat-digitale-bg:        #ece7fc;
  --cat-digitale-fg:        #4b3aaf;
  --cat-digitale-border:    #6c5ce7;
  --cat-digitale-btn:       #6c5ce7;
  --cat-digitale-btn-hover: #4b3aaf;

  --cat-regionali-bg:        #dde6fe;
  --cat-regionali-fg:        #1b3aa2;
  --cat-regionali-border:    #2563eb;
  --cat-regionali-btn:       #2563eb;
  --cat-regionali-btn-hover: #1b3aa2;

  --cat-agricoltura-bg:        #eaf3d6;
  --cat-agricoltura-fg:        #4f6f1d;
  --cat-agricoltura-border:    #84a93f;
  --cat-agricoltura-btn:       #84a93f;
  --cat-agricoltura-btn-hover: #4f6f1d;

  --cat-cultura-bg:        #d4f3f1;
  --cat-cultura-fg:        #086f6b;
  --cat-cultura-border:    #14a39e;
  --cat-cultura-btn:       #14a39e;
  --cat-cultura-btn-hover: #086f6b;

  --cat-formazione-bg:        #fef1d7;
  --cat-formazione-fg:        #a25f06;
  --cat-formazione-border:    #f59e0b;
  --cat-formazione-btn:       #f59e0b;
  --cat-formazione-btn-hover: #a25f06;

  --cat-ambiente-bg:        #d6f5e6;
  --cat-ambiente-fg:        #066d4a;
  --cat-ambiente-border:    #10b981;
  --cat-ambiente-btn:       #10b981;
  --cat-ambiente-btn-hover: #066d4a;

  --cat-giovani-bg:        #fde2f1;
  --cat-giovani-fg:        #a5256d;
  --cat-giovani-border:    #ec4899;
  --cat-giovani-btn:       #ec4899;
  --cat-giovani-btn-hover: #a5256d;

  --cat-pa-bg:        #e2e8f1;
  --cat-pa-fg:        #3b4763;
  --cat-pa-border:    #64748b;
  --cat-pa-btn:       #64748b;
  --cat-pa-btn-hover: #3b4763;

  --cat-sport-bg:        #e8defc;
  --cat-sport-fg:        #4b1e9f;
  --cat-sport-border:    #7c3aed;
  --cat-sport-btn:       #7c3aed;
  --cat-sport-btn-hover: #4b1e9f;

  --cat-fondi-eu-bg:        #dee4fc;
  --cat-fondi-eu-fg:        #2a2a92;
  --cat-fondi-eu-border:    #4f46e5;
  --cat-fondi-eu-btn:       #4f46e5;
  --cat-fondi-eu-btn-hover: #2a2a92;

  --cat-default-bg:        #e9edf2;
  --cat-default-fg:        #475063;
  --cat-default-border:    #94a3b8;
  --cat-default-btn:       #475063;
  --cat-default-btn-hover: #2d3344;
}

/* === Classi categoria — usate su card, badge, bottoni, hero === */
[data-cat="sociale"],
[data-cat="welfare"],
[data-cat="ets_aps"] {
  --ic-cat-bg: var(--cat-sociale-bg);
  --ic-cat-fg: var(--cat-sociale-fg);
  --ic-cat-border: var(--cat-sociale-border);
  --ic-cat-btn: var(--cat-sociale-btn);
  --ic-cat-btn-hover: var(--cat-sociale-btn-hover);
  --ic-cat-label: "Sociale e terzo settore";
  --ic-cat-icon: "♥";
}
[data-cat="incentivi"],
[data-cat="impresa"],
[data-cat="incentivi_agevolazioni"] {
  --ic-cat-bg: var(--cat-incentivi-bg);
  --ic-cat-fg: var(--cat-incentivi-fg);
  --ic-cat-border: var(--cat-incentivi-border);
  --ic-cat-btn: var(--cat-incentivi-btn);
  --ic-cat-btn-hover: var(--cat-incentivi-btn-hover);
  --ic-cat-label: "Incentivi e agevolazioni";
  --ic-cat-icon: "↗";
}
[data-cat="digitale"],
[data-cat="innovazione"] {
  --ic-cat-bg: var(--cat-digitale-bg);
  --ic-cat-fg: var(--cat-digitale-fg);
  --ic-cat-border: var(--cat-digitale-border);
  --ic-cat-btn: var(--cat-digitale-btn);
  --ic-cat-btn-hover: var(--cat-digitale-btn-hover);
  --ic-cat-label: "Digitale e innovazione";
  --ic-cat-icon: "</>";
}
[data-cat="regionali"],
[data-cat="bandi_regionali"],
[data-cat="partecipazione"] {
  --ic-cat-bg: var(--cat-regionali-bg);
  --ic-cat-fg: var(--cat-regionali-fg);
  --ic-cat-border: var(--cat-regionali-border);
  --ic-cat-btn: var(--cat-regionali-btn);
  --ic-cat-btn-hover: var(--cat-regionali-btn-hover);
  --ic-cat-label: "Bandi regionali";
  --ic-cat-icon: "▣";
}
[data-cat="agricoltura"] {
  --ic-cat-bg: var(--cat-agricoltura-bg);
  --ic-cat-fg: var(--cat-agricoltura-fg);
  --ic-cat-border: var(--cat-agricoltura-border);
  --ic-cat-btn: var(--cat-agricoltura-btn);
  --ic-cat-btn-hover: var(--cat-agricoltura-btn-hover);
  --ic-cat-label: "Agricoltura e agroalimentare";
  --ic-cat-icon: "🌾";
}
[data-cat="cultura"],
[data-cat="turismo"] {
  --ic-cat-bg: var(--cat-cultura-bg);
  --ic-cat-fg: var(--cat-cultura-fg);
  --ic-cat-border: var(--cat-cultura-border);
  --ic-cat-btn: var(--cat-cultura-btn);
  --ic-cat-btn-hover: var(--cat-cultura-btn-hover);
  --ic-cat-label: "Turismo e cultura";
  --ic-cat-icon: "🎭";
}
[data-cat="formazione"],
[data-cat="lavoro"],
[data-cat="formazione_lavoro"] {
  --ic-cat-bg: var(--cat-formazione-bg);
  --ic-cat-fg: var(--cat-formazione-fg);
  --ic-cat-border: var(--cat-formazione-border);
  --ic-cat-btn: var(--cat-formazione-btn);
  --ic-cat-btn-hover: var(--cat-formazione-btn-hover);
  --ic-cat-label: "Formazione e lavoro";
  --ic-cat-icon: "🎓";
}
[data-cat="ambiente"],
[data-cat="green"],
[data-cat="energia"] {
  --ic-cat-bg: var(--cat-ambiente-bg);
  --ic-cat-fg: var(--cat-ambiente-fg);
  --ic-cat-border: var(--cat-ambiente-border);
  --ic-cat-btn: var(--cat-ambiente-btn);
  --ic-cat-btn-hover: var(--cat-ambiente-btn-hover);
  --ic-cat-label: "Green e sostenibilità";
  --ic-cat-icon: "🌱";
}
[data-cat="giovani"],
[data-cat="under_35"] {
  --ic-cat-bg: var(--cat-giovani-bg);
  --ic-cat-fg: var(--cat-giovani-fg);
  --ic-cat-border: var(--cat-giovani-border);
  --ic-cat-btn: var(--cat-giovani-btn);
  --ic-cat-btn-hover: var(--cat-giovani-btn-hover);
  --ic-cat-label: "Giovani";
  --ic-cat-icon: "★";
}
[data-cat="pa"],
[data-cat="pa_partner"],
[data-cat="concorsi"] {
  --ic-cat-bg: var(--cat-pa-bg);
  --ic-cat-fg: var(--cat-pa-fg);
  --ic-cat-border: var(--cat-pa-border);
  --ic-cat-btn: var(--cat-pa-btn);
  --ic-cat-btn-hover: var(--cat-pa-btn-hover);
  --ic-cat-label: "Concorsi pubblici";
  --ic-cat-icon: "🏛";
}
[data-cat="sport"] {
  --ic-cat-bg: var(--cat-sport-bg);
  --ic-cat-fg: var(--cat-sport-fg);
  --ic-cat-border: var(--cat-sport-border);
  --ic-cat-btn: var(--cat-sport-btn);
  --ic-cat-btn-hover: var(--cat-sport-btn-hover);
  --ic-cat-label: "Sport e salute";
  --ic-cat-icon: "🏆";
}
[data-cat="fondi_eu"],
[data-cat="fondazioni"],
[data-cat="horizon"] {
  --ic-cat-bg: var(--cat-fondi-eu-bg);
  --ic-cat-fg: var(--cat-fondi-eu-fg);
  --ic-cat-border: var(--cat-fondi-eu-border);
  --ic-cat-btn: var(--cat-fondi-eu-btn);
  --ic-cat-btn-hover: var(--cat-fondi-eu-btn-hover);
  --ic-cat-label: "Fondi europei e fondazioni";
  --ic-cat-icon: "★";
}

/* Default fallback */
[data-cat]:not([data-cat="sociale"]):not([data-cat="welfare"]):not([data-cat="ets_aps"]):not([data-cat="incentivi"]):not([data-cat="impresa"]):not([data-cat="incentivi_agevolazioni"]):not([data-cat="digitale"]):not([data-cat="innovazione"]):not([data-cat="regionali"]):not([data-cat="bandi_regionali"]):not([data-cat="partecipazione"]):not([data-cat="agricoltura"]):not([data-cat="cultura"]):not([data-cat="turismo"]):not([data-cat="formazione"]):not([data-cat="lavoro"]):not([data-cat="formazione_lavoro"]):not([data-cat="ambiente"]):not([data-cat="green"]):not([data-cat="energia"]):not([data-cat="giovani"]):not([data-cat="under_35"]):not([data-cat="pa"]):not([data-cat="pa_partner"]):not([data-cat="concorsi"]):not([data-cat="sport"]):not([data-cat="fondi_eu"]):not([data-cat="fondazioni"]):not([data-cat="horizon"]) {
  --ic-cat-bg: var(--cat-default-bg);
  --ic-cat-fg: var(--cat-default-fg);
  --ic-cat-border: var(--cat-default-border);
  --ic-cat-btn: var(--cat-default-btn);
  --ic-cat-btn-hover: var(--cat-default-btn-hover);
  --ic-cat-label: "Altro";
  --ic-cat-icon: "•";
}

/* === Card opportunità JobCon-style === */
.jc-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e5e7eb;
  border-top: 4px solid var(--ic-cat-border);
  padding: 22px 22px 18px;
  display: flex; flex-direction: column;
  gap: 14px;
  transition: transform .15s ease, box-shadow .15s ease;
  position: relative;
  text-decoration: none;
  color: inherit;
}
.jc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(11,35,64,0.10);
}

.jc-card__head {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap;
}
.jc-card__cat {
  background: var(--ic-cat-bg);
  color: var(--ic-cat-fg);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12.5px;
  font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px;
}
.jc-card__cat::before { content: var(--ic-cat-icon); font-weight: 800; }
.jc-card__stato {
  background: #def8e9;
  color: #0f7a47;
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 12.5px;
  font-weight: 700;
}
.jc-card__stato[data-status="scadenza"] { background: #fde8ec; color: #c12848; }
.jc-card__stato[data-status="chiuso"]   { background: #e2e8f1; color: #475063; }
.jc-card__stato[data-status="apertura"] { background: #fef1d7; color: #a25f06; }

.jc-card__date {
  margin-left: auto;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 500;
}

.jc-card__title {
  font-size: 17.5px;
  font-weight: 800;
  color: #0b2340;
  line-height: 1.3;
  margin: 0;
}
.jc-card__abstract {
  color: #475063;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  /* clamp 4 lines */
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.jc-card__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
  font-size: 13px;
  padding-top: 6px;
}
.jc-card__meta dt {
  color: #94a3b8;
  font-weight: 500;
  margin-right: 4px;
  display: inline;
}
.jc-card__meta dd { display: inline; margin: 0; color: #0b2340; font-weight: 600; }
.jc-card__meta dd.is-currency { color: var(--ic-cat-fg); }
.jc-card__meta dd.is-deadline-soon { color: #c12848; }

.jc-card__foot {
  display: flex; align-items: center; gap: 12px;
  border-top: 1px solid #f1f3f5;
  padding-top: 14px;
  margin-top: auto;
}
.jc-card__source {
  display: inline-flex; align-items: center; gap: 6px;
  color: #475063;
  font-size: 13px;
}
.jc-card__source::before {
  content: "";
  width: 8px; height: 8px; border-radius: 50%;
  background: #16a571;
  display: inline-block;
}
.jc-card__cert {
  background: #def8e9;
  color: #0f7a47;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 4px;
  margin-left: 4px;
}
.jc-card__cta {
  margin-left: auto;
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--ic-cat-btn);
  color: #fff !important;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 13.5px;
  transition: background-color .15s ease;
  border: 0;
  cursor: pointer;
}
.jc-card__cta:hover { background: var(--ic-cat-btn-hover); }
.jc-card__cta::after { content: "→"; font-weight: 800; }
