/* ---------- COLOR PALETTE ---------- */
:root {
  --brand-green: #008F4A;
  --brand-green-hover: #006b37;
  --dark-bg: #1f1f1f;
}

/* ---------- HERO ---------- */
.hero {
  background:
    url("../../img/publicsite/hero.png") center/cover no-repeat,
    linear-gradient(180deg,#f5f5f5 0%,#ffffff 60%);
  padding: 6rem 0;
}
.hero-title { color:#1c1c1c; }
.hero-sub   { color:#4a4a4a; }

/* ---------- HERO DYNAMIC TEXT ---------- */
.hero-dynamic{
  display:block;
  line-height:1.4;      /* = 1.4 × font-size */
  min-height:2.8em;     /* spazio per due righe: 1.4 × 2 */
  overflow:hidden;      /* impedisce rigonfiamenti accidentali */
}

/* Mobile: se al max va a 3 righe, riserva di più */
@media(max-width:576px){
  .hero-dynamic{ min-height:4.2em; }   /* 1.4 × 3 righe */
}


/* ---------- BUTTONS ---------- */
.btn-brand {
  background:var(--brand-green);
  color:#fff;
  border:none;
}
.btn-brand:hover { background:var(--brand-green-hover); }

.btn-outline-brand {
  border:2px solid var(--brand-green);
  color:var(--brand-green);
  background:transparent;
}
.btn-outline-brand:hover {
  background:var(--brand-green);
  color:#fff;
}

/* ---------- HUB HIGHLIGHT ---------- */
.hub-highlight { background:var(--dark-bg); color:#fff; }
.hub-card      { background:#fff; color:#000; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,.1); }
.hub-card:hover{ transform:translateY(-3px); transition:transform .2s; }
.hub-thumb     { width:56px; height:56px; object-fit:cover; border-radius:6px; }

/* ---------- SERVICES ---------- */
.service-card  { background:#fff; border:1px solid #e2e2e2; border-radius:8px; }
.service-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.1); }
.service-icon  { width:48px; height:48px; }
.service-link  { color:var(--brand-green); font-weight:600; }
.service-link:hover{ text-decoration:underline; }

/* ---------- CONTACT TEASER ---------- */
.contact-teaser { background:#ffffff; }

/* ---------- ANIMATIONS ---------- */
.fade-in { animation: fadeIn .6s ease; }
@keyframes fadeIn { from{opacity:0;} to{opacity:1;} }

/* ---------- RESPONSIVE ---------- */
@media(max-width:768px){
  .hub-card, .service-card{ margin-bottom:1.5rem; }
}
